.contact-form {
    margin: 20px auto;
    width:100%
}

@media only screen and (min-width: 768px) {
    .contact-form {
        margin:30px auto
    }
}

@media only screen and (min-width: 1220px) {
    .contact-form {
        margin:40px auto
    }
}

.contact-form:first-child {
    margin-top:0
}

.contact-form__item {
    margin-top:15px
}

@media only screen and (min-width: 768px) {
    .contact-form__item {
        margin-top:20px
    }
}

@media only screen and (min-width: 1220px) {
    .contact-form__item {
        margin-top:30px
    }
}

.contact-form__item:first-child {
    margin-top:0
}

.contact-form__item--error .contact-form__input, .contact-form__item--error .contact-form__textarea {
    border-color:#D64541
}

.contact-form__label {
    display: block;
    font-size: 18px;
    font-weight: 600;
    color:#6C7A89
}

@media only screen and (min-width: 768px) {
    .contact-form__label {
        font-size:20px
    }
}

@media only screen and (min-width: 1220px) {
    .contact-form__label {
        font-size:22px
    }
}

.contact-form__input, .contact-form__textarea {
    width: 100%;
    margin-top: 8px;
    border: 2px solid #ddd;
    border-radius: 2px;
    padding: 10px 12px;
    background: #fff;
    font-size: 18px;
    line-height: 1.4;
    color: #2A2F36;
    -webkit-transition: all .15s ease-in-out;
    -moz-transition: all .15s ease-in-out;
    -ms-transition: all .15s ease-in-out;
    -o-transition: all .15s ease-in-out;
    transition:all .15s ease-in-out
}

@media only screen and (min-width: 768px) {
    .contact-form__input, .contact-form__textarea {
        padding: 15px 18px;
        font-size:20px
    }
}

@media only screen and (min-width: 1220px) {
    .contact-form__input, .contact-form__textarea {
        font-size:22px
    }
}

.contact-form__input:focus, .contact-form__textarea:focus {
    outline: 0;
    border-color:#3498db
}

.button {
    display: inline-block;
    padding: 9px 10px 10px;
    font-size: 13px;
    line-height: 1;
    border: 2px solid #3498db;
    background: #3498db;
    color: #fff;
    font-weight: 600;
    letter-spacing: 0;
    cursor:pointer
}

@media only screen and (min-width: 768px) {
    .button {
        padding: 11px 20px 12px;
        font-size:15px
    }
}

.button:hover {
    background: #346edb;
    border-color: #346edb;
    color:#fff
}

.button svg {
    margin-right:5px
}

.button svg:last-child {
    margin-right: 0;
    margin-left:5px
}

@media only screen and (min-width: 768px) {
    .button svg {
        margin-right:8px
    }

    .button svg:last-child {
        margin-right: 0;
        margin-left:8px
    }
}

.button--large {
    padding: 15px 20px 16px;
    font-size:13px
}

@media only screen and (min-width: 768px) {
    .button--large {
        padding: 19px 40px 20px;
        font-size:17px
    }
}

.button--light {
    background: 0 0;
    border-color: #2A2F36;
    color:#2A2F36
}

.button--light:hover {
    background: #3498db;
    border-color: #3498db;
    color:#fff
}
