.contact-v2{

    overflow:hidden;

}

/*
|--------------------------------------------------------------------------
| CONTAINER
|--------------------------------------------------------------------------
*/

.contact-v2-container{

    max-width:1320px;

    margin:0 auto;

    padding:0 32px;

}

/*
|--------------------------------------------------------------------------
| MINI TAG
|--------------------------------------------------------------------------
*/

.contact-mini-tag{

    display:flex;

    align-items:center;

    gap:14px;

    color:var(--orange);

    font-size:13px;

    font-weight:700;

    letter-spacing:0;

    margin-bottom:30px;

    text-transform:uppercase;

}

.contact-mini-tag span{

    width:34px;

    height:2px;

    background:var(--orange);

}

/*
|--------------------------------------------------------------------------
| HERO
|--------------------------------------------------------------------------
*/

.contact-v2-hero{

    padding:160px 0 120px;

}

.contact-v2-hero-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:start;

}

.contact-v2-hero-content h1{

    font-size:96px;

    line-height:.92;

    letter-spacing:0;

    margin-bottom:32px;

}

.contact-v2-hero-content p{

    max-width:540px;

    font-size:22px;

    line-height:1.9;

    color:var(--text-light);

}

/*
|--------------------------------------------------------------------------
| INFO CARDS
|--------------------------------------------------------------------------
*/

.contact-v2-info{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:28px;

}

.contact-info-card{

    position:relative;

    display:block;

    overflow:hidden;

    background:#fff;

    color:inherit;

    border-radius:36px;

    padding:42px;

    border:
        1px solid rgba(0,0,0,.06);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

}

.contact-info-card::before{

    content:'';

    position:absolute;

    top:0;

    left:-120%;

    width:70%;

    height:100%;

    background:
        linear-gradient(
            120deg,
            transparent,
            rgba(255,255,255,.7),
            transparent
        );

    transform:skewX(-24deg);

    transition:left .8s ease;

}

.contact-info-card:hover,
.contact-info-card:focus-visible{

    transform:
        translateY(-8px);

    border-color:
        rgba(237,127,26,.18);

    box-shadow:
        0 24px 60px rgba(0,0,0,.08);

    outline:0;

}

.contact-info-card:hover::before,
.contact-info-card:focus-visible::before{

    left:140%;

}

.contact-info-icon{

    width:62px;

    height:62px;

    border-radius:20px;

    background:
        rgba(237,127,26,.12);

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:30px;

}

.contact-info-icon i{

    font-size:22px;

    color:var(--orange);

}

.contact-info-card h3{

    font-size:32px;

    margin-bottom:12px;

}

.contact-info-value{

    display:block;

    font-size:18px;

    color:var(--text-light);

    transition:color .25s ease;

}

.contact-info-card:hover .contact-info-value,
.contact-info-card:focus-visible .contact-info-value{

    color:var(--orange);

}

/*
|--------------------------------------------------------------------------
| FORM
|--------------------------------------------------------------------------
*/

.contact-v2-form-section{

    padding-bottom:140px;

}

.contact-form-box{

    background:#fff;

    border-radius:42px;

    padding:70px;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    border:
        1px solid rgba(0,0,0,.06);

    box-shadow:
        0 20px 60px rgba(0,0,0,.04);

}

.contact-form-left h2{

    font-size:72px;

    line-height:.92;

    letter-spacing:0;

    margin-bottom:34px;

}

.contact-form-left p{

    font-size:20px;

    line-height:1.9;

    color:var(--text-light);

    max-width:520px;

}

.contact-fallback{

    padding:34px;

    border:1px solid rgba(2,0,17,.08);

    border-radius:24px;

    background:#fff;

}

.contact-fallback h3{

    margin:0 0 12px;

    font-size:24px;

    line-height:1.2;

}

.contact-fallback p{

    margin:0 0 24px;

}

.contact-fallback__actions{

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:14px;

}

/*
|--------------------------------------------------------------------------
| CONTACT FORM 7
|--------------------------------------------------------------------------
*/

.wpcf7 form{

    display:flex;

    flex-direction:column;

    gap:0;

}

.wpcf7 form p{

    margin:0;

}

.wpcf7-form-control-wrap{

    display:block;

    margin:0 0 18px;

}

.wpcf7 input,

.wpcf7 textarea{

    width:100%;

    border:1px solid rgba(2,0,17,.08);

    background:#fffaf5;

    border-radius:20px;

    padding:0 24px;

    font-size:17px;

    font-family:inherit;

    color:#1f1f24;

    box-shadow:inset 0 1px 0 rgba(255,255,255,.8);

    transition:border-color .2s ease, background-color .2s ease, box-shadow .2s ease;

}

.wpcf7 input{

    height:64px;

}

.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder{

    color:#747784;

    opacity:1;

}

.wpcf7 input:focus,
.wpcf7 textarea:focus{

    border-color:rgba(248,125,18,.55);

    background:#fff;

    outline:0;

    box-shadow:0 0 0 4px rgba(248,125,18,.12);

}

.wpcf7 textarea{

    min-height:190px;

    resize:none;

    padding-top:22px;

    line-height:1.55;

}

.wpcf7 .wpcf7-not-valid{

    border-color:#e54835 !important;

    background:#fff6f3;

    box-shadow:0 0 0 4px rgba(229,72,53,.1);

}

.wpcf7 .wpcf7-not-valid-tip,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output{

    display:none !important;

    margin:0 !important;

    padding:0 !important;

    height:0 !important;

    min-height:0 !important;

    border:0 !important;

    overflow:hidden !important;

}

.wpcf7 form.sent .wpcf7-response-output{

    margin:18px 0 0;

    padding:16px 18px;

    border:1px solid rgba(45,160,95,.25);

    border-radius:16px;

    background:#f2fff7;

    color:#226b42;

    font-weight:700;

}

.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit,
.contact-form-box input[type="submit"]{

    border:none;

    height:64px;

    background:
        linear-gradient(
            120deg,
            transparent 0%,
            transparent 34%,
            rgba(255,255,255,.45) 50%,
            transparent 66%,
            transparent 100%
        ) -160% 0 / 70% 100% no-repeat,
        var(--button-gradient);

    color:#fff;

    font-size:16px;

    font-weight:700;

    border-radius:999px;

    padding:0 34px;

    cursor:pointer;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        background-position .75s ease;

    box-shadow:var(--button-shadow);

}

.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:focus-visible,
.wpcf7 .wpcf7-submit:hover,
.wpcf7 .wpcf7-submit:focus-visible,
.contact-form-box input[type="submit"]:hover,
.contact-form-box input[type="submit"]:focus-visible{

    transform:
        translateY(-4px);

    background-position:
        180% 0,
        0 0;

    color:#fff;

    outline:0;

    box-shadow:var(--button-shadow-hover);

}

.wpcf7-spinner{

    display:none;

}

/*
|--------------------------------------------------------------------------
| RESPONSIVE
|--------------------------------------------------------------------------
*/

@media(max-width:1200px){

    .contact-v2-hero-grid{

        grid-template-columns:1fr;

    }

    .contact-form-box{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .contact-v2-container{

        padding:0 20px;

    }

    .contact-v2-hero{

        padding:120px 0 100px;

    }

    .contact-v2-hero-content h1{

        font-size:58px;

        letter-spacing:0;

    }

    .contact-v2-hero-content p{

        font-size:18px;

    }

    .contact-v2-info{

        grid-template-columns:1fr;

    }

    .contact-form-box{

        padding:34px;

        gap:50px;

    }

    .contact-form-left h2{

        font-size:48px;

    }

}
