/*=====================================================
        VIVCON CONTACT PAGE
======================================================*/

/*----------------------------------------------------*/
/* Hero banner */

.contact-hero{

    position:relative;

    min-height:450px;

    display:flex;

    align-items:center;

    background:url(../images/banner/banner1.png) center/cover no-repeat;

    overflow:hidden;

}

.contact-hero-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(180deg, rgba(10,20,45,.55), rgba(10,20,45,.75));

}

.contact-hero-inner{

    position:relative;

    z-index:2;

    text-align:center;

}

.contact-hero-inner h1{

    color:#fff;

    font-size:52px;

    font-weight:800;

    margin-bottom:18px;

}

.contact-breadcrumb{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    font-size:15px;

}

.contact-breadcrumb a{

    color:rgba(255,255,255,.75);

    text-decoration:none;

    transition:color .25s ease;

}

.contact-breadcrumb a:hover{

    color:#fff;

}

.contact-breadcrumb i{

    font-size:11px;

    color:rgba(255,255,255,.6);

}

.contact-breadcrumb span{

    color:#fff;

    font-weight:600;

}

/*----------------------------------------------------*/
/* Quick contact methods (WhatsApp / Call / Email) */

.quick-contact-methods{

    padding:60px 0 60px;

    background:#F2F0EF;

}

.quick-contact-item{

    padding:20px;

}

.quick-contact-icon{

    width:76px;

    height:76px;

    border-radius:50%;

    background:#f1f4fa;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:0 auto 20px;

    font-size:30px;

    color:#0A2A66;

    transition:background .3s ease, color .3s ease, transform .3s ease;

}

.quick-contact-item:hover .quick-contact-icon{

    background:#0A2A66;

    color:#fff;

    transform:translateY(-4px);

}

.quick-contact-item h5{

    font-weight:700;

    color:#0c1343;

    margin-bottom:6px;

}

.quick-contact-item p{

    margin:0;

}

.quick-contact-item p a{

    color:#6d7585;

    text-decoration:none;

    transition:color .25s ease;

}

.quick-contact-item p a:hover{

    color:#2F67FF;

}

/*----------------------------------------------------*/
/* Or divider */

.or-divider{

    display:flex;

    align-items:center;

    gap:24px;

    padding:10px 0 60px;

}

.or-line{

    flex:1;

    height:1px;

    background:#d7dbe3;

}

.or-text{

    font-weight:700;

    color:#0c1343;

    font-size:15px;

}

/*----------------------------------------------------*/
/* Map + Send Message + Contact box */

.contact-map-section{

    padding-bottom:90px;

    background:#F2F0EF;

}

.contact-map-combo{

    display:flex;

    align-items:center;

    max-width:1250px;

    margin:0 auto;

}

.contact-map-wrap{

    position:relative;

    flex:1 1 74%;

    aspect-ratio:1 / 1;

    border-radius:14px;

    overflow:hidden;

    box-shadow:0 20px 45px rgba(10,42,102,.1);

}

.contact-map-wrap iframe{

    width:100%;

    height:100%;

    border:0;

    display:block;

}

.map-open-link{

    position:absolute;

    left:20px;

    bottom:20px;

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 18px;

    background:#ffffff;

    color:#0c1343;

    font-size:13px;

    font-weight:600;

    border-radius:30px;

    text-decoration:none;

    box-shadow:0 10px 25px rgba(0,0,0,.15);

    transition:background .3s, color .3s;

}

.map-open-link i{

    color:#a3081f;

}

.map-open-link:hover{

    background:#0c1343;

    color:#ffffff;

}

.map-open-link:hover i{

    color:#ffffff;

}

.send-message-box{

    position:relative;

    flex:0 0 42%;

    max-width:470px;

    margin-left:-1px;

    background:#F2F0EF;

    border:1px solid #e2e6ee;

    border-radius:14px;

    padding:30px;

    box-shadow:0 10px 30px rgba(10,42,102,.08);

}

.send-message-box h3{

    font-weight:800;

    font-size:19px;

    color:#0c1343;

    margin-bottom:4px;

}

.send-message-box > p{

    color:#6d7585;

    font-size:13px;

    line-height:1.4;

    margin-bottom:12px;

}

.send-message-form input,
.send-message-form textarea{

    width:100%;

    border:none;

    border-bottom:1px solid #dfe3ea;

    padding:7px 4px;

    margin-bottom:8px;

    font-size:13px;

    color:#0c1343;

    background:transparent;

    transition:border-color .25s ease;

    resize:none;

}

.send-message-form input:focus,
.send-message-form textarea:focus{

    outline:none;

    border-color:#2F67FF;

}

.send-message-form input::placeholder,
.send-message-form textarea::placeholder{

    color:#9aa1ad;

}

.cf-status{

    font-size:14px;

    margin-bottom:0;

    min-height:0;

    display:none;

}

.cf-status.show{

    display:block;

    margin-bottom:12px;

}

.cf-status.success{

    color:#1a7f37;

}

.cf-status.error{

    color:#c0392b;

}

#cf-submit-btn{

    border:none;

    font-family:inherit;

    background:#ffffff;

    color:#0c1343;

    padding:18px 46px;

    font-size:17px;

    border-radius:8px;

    box-shadow:0 10px 30px rgba(12,19,67,.15);

}

#cf-submit-btn .pq-button-text,
#cf-submit-btn i{

    color:#0c1343;

}

#cf-submit-btn:hover{

    background:#0c1343;

}

#cf-submit-btn:hover .pq-button-text,
#cf-submit-btn:hover i{

    color:#ffffff;

}

/*----------------------------------------------------*/
/* Follow Us row (inside the Send a Message box) */

.contact-box-social{

    margin-top:8px;

    padding-top:10px;

    border-top:1px solid #edf0f5;

}

.follow-us-label{

    display:block;

    font-size:13px;

    font-weight:700;

    letter-spacing:1.5px;

    text-transform:uppercase;

    color:#8b93a3;

    margin-bottom:14px;

}

.follow-us-icons{

    display:flex;

    align-items:center;

    gap:12px;

}

.follow-us-icons a{

    width:38px;

    height:38px;

    border-radius:50%;

    background:#f1f4fa;

    color:#0A2A66;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:15px;

    transition:background .25s ease, color .25s ease, transform .25s ease;

}

.follow-us-icons a:hover{

    background:#0A2A66;

    color:#fff;

    transform:translateY(-3px);

}

/*----------------------------------------------------*/
/* Office address boxes */

.office-address-section{

    padding:20px 0 210px;

    background:#F2F0EF;

}

.office-box{

    background:#f8f9fb;

    border-radius:14px;

    padding:34px 30px;

    height:100%;

    text-align:center;

}

.office-box h4{

    font-weight:800;

    color:#0A2A66;

    margin-bottom:18px;

    padding-bottom:14px;

    border-bottom:1px solid #e2e6ee;

}

.office-box p{

    color:#57606f;

    line-height:1.8;

    margin-bottom:14px;

}

.office-box p:last-child{

    margin-bottom:0;

}

.office-box p a{

    color:#57606f;

    text-decoration:none;

}

.office-box p a:hover{

    color:#2F67FF;

}

/*----------------------------------------------------*/

@media(max-width:991px){

    .contact-map-combo{

        flex-direction:column;

        align-items:stretch;

    }

    .contact-map-wrap{

        aspect-ratio:auto;

        height:320px;

        flex:none;

    }

    .send-message-box{

        flex:none;

        max-width:100%;

        margin-left:0;

        margin-top:24px;

    }
}

@media(max-width:767px){

    .contact-hero-inner h1{

        font-size:36px;

    }

    .send-message-box{

        padding:26px;

    }
}
