.contact-form {
    position: relative;
    z-index: 2;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url('../../img/layout/contacto/bg-mobile-first.jpg');
    padding: 9rem 0 3rem;
}
.contact-form .col-12-12 {
    max-width: 71.6rem;
}
.contact-form header {
    margin-bottom: 4.7rem;
}
.contact-form h1,
.contact-form p {
    color: var(--main-white);
}
.contact-form h1 {
    font-size: 2.7em;
    line-height: 1.14em;
    font-weight: 900;
    margin-bottom: 2rem;
}
.contact-form p {
    font-size: 1.3em;
    line-height: 1.3em;
    letter-spacing: 0.03em;
}

@media only screen
and (min-width : 961px) {
    .contact-form {
        background-image: url('../../img/layout/contacto/bg-desktop.jpg');
        padding: 18rem 0 15rem;
    }
    .contact-form header {
        margin-bottom: 3.4rem;
    }
    .contact-form h1,
    .contact-form p {
        color: var(--main-gray);
    }
    .contact-form h1 {
        font-size: 4.6em;
        line-height: 1.17em;
        margin-bottom: 5rem;
    }
    .contact-form p {
        font-size: 2em;
        line-height: 1.3em;
    }
}
@media only screen
and (min-width : 961px)
and (max-width : 1440px) {
}
@media only screen
and (min-width : 0)
and (max-width : 960px) {
}

.contact-form form {
    position: relative;
}
.contact-form label {
    position: relative;
    display: block;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea{
    background: #FFFFFF;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    display: inline-block;
    width: 100%;
    resize: none;
    font-weight: 400;
    margin-bottom: 1.6rem;
}
.contact-form ::-webkit-input-placeholder { color: #898989!important; opacity: 1; -webkit-transition: opacity 0.3s linear; transition: opacity 0.3s linear; }
.contact-form ::-moz-placeholder { color: #898989!important; opacity: 1; -moz-transition: opacity 0.3s linear; transition: opacity 0.3s linear; }
.contact-form :-ms-input-placeholder { color:  #898989!important; opacity: 1; transition: opacity 0.3s linear; -ms-transition: opacity 0.3s linear; }
.contact-form :-moz-placeholder { color:  #898989!important; opacity: 1; -moz-transition: opacity 0.3s linear; transition: opacity 0.3s linear; }

.contact-form :focus::-webkit-input-placeholder { opacity: 0; }
.contact-form :focus::-moz-placeholder { opacity: 0; }
.contact-form :focus:-ms-input-placeholder { opacity: 0; }
.contact-form :focus:-moz-placeholder { opacity: 0; }

.contact-form .wpcf7-not-valid-tip {
    position: absolute;
    z-index: 1;
}
.contact-form .submit-container {
    position: relative;
    text-align: right;
}
.contact-form input[type="submit"] {
    background: var(--bttn-green);
    position: relative;
    display: inline-block;
    border-radius: 2rem;
    text-align: center;
    color: var(--main-white);
    font-weight: 700;
    font-size: 1.4em;
    line-height: 1.14em;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    padding: 0.8rem 2rem;
}


.contact-form .wpcf7 form.invalid .wpcf7-response-output,
.contact-form .wpcf7 form.unaccepted .wpcf7-response-output,
.contact-form .wpcf7 form.payment-required .wpcf7-response-output {
    position: absolute;
    bottom: -6rem;
    width: 96%;
    padding: 1rem;
}


@media only screen
and (min-width : 768px ) {
    .contact-form input[type="text"],
    .contact-form input[type="email"],
    .contact-form textarea {
        border-radius: 3rem;
        font-size: 1.6em;
        line-height: 1.375em;
        margin-bottom: 2.2rem;
    }
    .contact-form input[type="text"],
    .contact-form input[type="email"] {
        height: 4.5rem;
        padding: 0 2rem;
    }
    .contact-form textarea {
        height: 19.8rem;
        padding: 2rem;
    }
    .contact-form .wpcf7-not-valid-tip {
        top: 1rem;
        right: 3rem;
    }
    .contact-form input[type="submit"] {
        width: 100%;
        max-width: 36rem;
    }
    .contact-form .wpcf7-spinner {
        position: absolute;
        top: 0.3rem;
        right: -6rem;
    }
    
}
@media only screen
and (max-width : 767px) {
    .contact-form input[type="text"],
    .contact-form input[type="email"],
    .contact-form textarea {
        border-radius: 1.5rem;
        font-size: 1.35em;
        line-height: 1.38em;
    }
    .contact-form input[type="text"],
    .contact-form input[type="email"] {
        height: 4rem;
        padding: 0 1.1rem;
    }
    .contact-form textarea {
        height: 19.8rem;
        padding: 1.7rem;
    }
    .contact-form input[type="submit"] {
        width: 100%;
        text-align: center;
    }
    .contact-form .wpcf7-spinner {
        position: absolute;
        top: 4rem;
        left: 50%;
        transform: translateX(-50%);
    }
    .contact-form .wpcf7-not-valid-tip {
        right: 1rem;
        top: 0.5rem;
    }
}
/* #endregion */


.end-image {
    position: relative;
    z-index: 1;
}
.end-image figure {
    font-size: 0;
}
.wpcf7-response-output {
    font-size: 1.6rem;
    padding: 2rem;
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #008276;
}

.submit-container + .wpcf7-response-output {
    position: static!important;
}