section#share{
    background: #e5b730;
    padding: 45px 45px 55px;
    margin-top: -30px;
    margin-bottom: 30px;
}

.block{
    background: #f8edcc;
    padding: 20px;
}

section label{
    display: block;
    margin: 0 0 10px;
    font-size: 19px;
    line-height: 24px;
    letter-spacing: 1px;
    text-transform: none;
    font-family: 'ProximaNovaCn-Bold';
}

section input[type='text']{
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
    margin-bottom: 20px;
    border: none !important;
    line-height: 40px;
}

section textarea{
    min-height: 333px;
    margin-bottom: 20px;
    border: none;
    box-sizing: border-box;
    padding: 10px;
    resize: vertical;
}
section h3{
    letter-spacing: 1px;
}
.btn,
.btn:active,
.btn:visited,
.btn:focus{
    font-family: 'ProximaNovaCn-Bold';
    height: auto;
    padding: 10px;
    line-height: 20px;
    font-size: 20px;
    color: #58585a;
    letter-spacing: 1px;
}
.btn:hover{
    background: #58585a;
    color: #fff;
}

.categories{
    margin:0 0 20px;
}

.categories .col{
    float: left;
    margin-right: 20px;
}

.gallery{
    overflow: hidden;
    visibility: hidden;
    height: 0;
    margin: 20px 0 10px;
    font-size: 0;
}
.gallery.show{
    visibility: visible;
    height: auto;
    }
.gallery .images{
    margin: 0 -10px;
}
.gallery .img{
    float: left;
    position: relative;
    width: calc(33.3% - 20px);
    margin: 0 10px 20px;
    padding-bottom: 24%;
    overflow: hidden;
}
.gallery .img input{
    display: none;
}
.gallery img{
    position: absolute;
    left: 50%;
    top: 50%;
    height: 100%;
    width: auto;
    max-width: unset;
    -webkit-transform: translate(-50%, -50%);
       -moz-transform: translate(-50%, -50%);
         -o-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

input[name='doc']{
    display: none;
}

.filename{
    display: none;
    font-family: 'ProximaNovaCn-Bold';
    font-style: italic;
    margin: 10px 0;
    font-size: 19px;
}
.filename.show{
    display: block;
}

#submit{
    margin: 15px 0;
}

section input[type='text'].invalid,
.invalid{
    border-width: 1px !important;
    border-style: solid !important;
}

.block.loading,
.block.done,
.block.error{
    height: 300px;
    overflow: hidden;
}

button[type='submit']{
    display: none;
}


.check{
    position: relative;
    float: left;
    width: 17px;
    height: 17px;
    background: #fff;
    margin-top: 2px;
    margin-right: 10px;
    cursor: pointer;
}
.check.checked:after{
    content: '';
    display: block;
    position: absolute;
    width: 4px;
    height: 9px;
    top: 40%;
    left: 53%;
    border-bottom: 3px solid #58585a;
    border-right: 3px solid #58585a;
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
       -moz-transform: translate(-50%, -50%) rotate(45deg);
         -o-transform: translate(-50%, -50%) rotate(45deg);
            transform: translate(-50%, -50%) rotate(45deg);
}
.category label{
    float: left;
    width: calc(100% - 27px);
    font-family: 'ProximaNovaCn-Bold';
    font-size: 19px;
    line-height: 24px;
    text-transform: uppercase;
}


/* Responsive ----------------------------------------------------------*/

@media(max-width: 920px){
    section#share{
        padding: 30px 35px 45px;
    }
    h2 {
        margin: 0 0 20px;
    }
}


@media(max-width: 800px){
    section textarea {
        min-height: 270px;
    }
}


@media(max-width: 750px){
    .gallery{
        margin: 20px -5px;
    }
    .gallery .img{
        width: calc(33.3% - 10px);
        margin: 0 5px;
    }
}


@media(max-width: 650px){
    section#share {
        padding: 25px 30px 35px;
    }
}


@media(max-width: 600px){
    section textarea {
        min-height: 250px;
    }
}


@media(max-width: 500px){
    .container{
        margin: 0;
    }
    section#share {
        padding: 25px 20px 20px;
        margin-bottom: 0px;
    }
    section label,
    .category label,
    .block h3,
    .block p{
        font-size: 17px;
    }
    .category label{
        margin: 0 0 5px;
    }
    .gallery .img{
        width: calc(50% - 10px);
        margin-bottom: 10px;
        padding-bottom: 50%;
    }
    .btn,
    .btn:active,
    .btn:visited,
    .btn:focus{
        font-size: 17px;
    }
}

@media(max-width: 450px){
    .block h3,
    .block p{
        font-size: 18px;
        line-height: 22px;
    }
}

@media(max-width: 400px){
    .block{
        padding: 10px 20px;
    }
    section textarea {
        min-height: 200px;
    }
    .btn,
    .btn:active,
    .btn:visited,
    .btn:focus{
        width: 100%;
        font-size: 16px;
    }
}