/*=====================================================
        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{

    position:relative;

    z-index:3;

    margin-top:0;

    padding:70px 0;

    background:#F2F0EF;

}

.quick-contact-methods .container{

    max-width:1100px;

}

.quick-contact-methods .row{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:24px;

    margin:0;

}

.quick-contact-methods .row > div{

    padding:0;

    width:auto;

    max-width:none;

    flex:none;

}

.quick-contact-item{

    background:#ffffff;

    border-radius:10px;

    padding:30px 26px;

    text-align:center;

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

    border:1px solid rgba(12,19,67,.05);

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

}

.quick-contact-item:hover{

    transform:translateY(-6px);

    box-shadow:0 20px 40px rgba(12,19,67,.16);

}

.quick-contact-icon{

    width:46px;

    height:46px;

    border-radius:50%;

    background:rgba(201,168,106,.12);

    display:flex;

    align-items:center;

    justify-content:center;

    margin:0 auto 16px;

    font-size:19px;

    color:#8a6a34;

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

}

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

    background:#0c1343;

    color:#c9a868;

    transform:rotate(-8deg) scale(1.08);

}

.quick-contact-item h5{

    font-weight:700;

    color:#6b6f76;

    font-size:12px;

    text-transform:uppercase;

    letter-spacing:1px;

    margin-bottom:8px;

}

.quick-contact-item p{

    margin:0;

}

.quick-contact-item p a{

    color:#0c1343;

    font-size:16px;

    font-weight:700;

    text-decoration:none;

    transition:color .25s ease;

}

.quick-contact-item p a:hover{

    color:#8a6a34;

}

/*----------------------------------------------------*/
/* 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:70px 0;

    background:#F2F0EF;

}

.contact-map-combo{

    display:grid;

    grid-template-columns:1fr 1.1fr;

    gap:40px;

    align-items:stretch;

    max-width:1100px;

    margin:0 auto;

}

.contact-map-wrap{

    position:relative;

    border-radius:10px;

    overflow:hidden;

    min-height:420px;

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

}

.contact-map-wrap iframe{

    width:100%;

    height:100%;

    border:0;

    display:block;

}

.vc-india-map-wrap{

    position:relative;

    width:100%;

    height:100%;

    min-height:420px;

    background:#ffffff;

    display:flex;

    align-items:center;

    justify-content:center;
}

.vc-india-map-box{

    position:relative;

    width:80%;

    max-width:420px;

    aspect-ratio:1/1;
}

.vc-india-map-img{

    width:100%;

    height:100%;

    display:block;
}

.vc-india-pin{

    position:absolute;

    transform:translate(-50%,-100%);

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:8px;
}

.vc-india-pin-dot{

    position:relative;

    width:14px;

    height:14px;

    border-radius:50%;

    background:#c9a868;

    box-shadow:0 0 0 3px #ffffff, 0 4px 10px rgba(12,19,67,.35);
}

.vc-india-pin-dot::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:50%;

    background:#c9a868;

    animation:vcIndiaPinPulse 2s infinite;
}

.vc-india-pin-label{

    background:#c9a868;

    color:#0c1343;

    font-size:11px;

    font-weight:800;

    letter-spacing:.3px;

    padding:5px 12px;

    border-radius:20px;

    white-space:nowrap;

    box-shadow:0 6px 14px rgba(12,19,67,.2);
}

@keyframes vcIndiaPinPulse{

    0%{

        box-shadow:0 0 0 0 rgba(201,168,104,.6);
    }

    70%{

        box-shadow:0 0 0 14px rgba(201,168,104,0);
    }

    100%{

        box-shadow:0 0 0 0 rgba(201,168,104,0);
    }
}

.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;

    background:#ffffff;

    border:1px solid rgba(12,19,67,.06);

    border-radius:10px;

    padding:40px;

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

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

}

.send-message-box:hover{

    box-shadow:0 20px 45px rgba(12,19,67,.1);

}

.send-message-box h3{

    font-weight:800;

    font-size:22px;

    color:#0c1343;

    margin-bottom:10px;

}

.send-message-box h3 span{

    color:#8a6a34;

}

.send-message-box > p{

    color:#6b6f76;

    font-size:13.5px;

    line-height:1.6;

    margin-bottom:26px;

}

.send-message-form .form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:16px;

    margin-bottom:16px;

}

.send-message-form .form-field{

    display:flex;

    flex-direction:column;

    gap:6px;
}

.send-message-form .form-field.full{

    grid-column:1 / -1;
}

.send-message-form label{

    font-size:12px;

    color:#0c1343;

    font-weight:700;

    letter-spacing:.3px;
}

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

    width:100%;

    border:1px solid rgba(12,19,67,.15);

    border-radius:5px;

    padding:11px 13px;

    font-size:13.5px;

    font-family:inherit;

    color:#0c1343;

    background:#f9f8f7;

    transition:border-color .25s ease, background .25s ease;

    resize:vertical;

}

.send-message-form textarea{

    min-height:100px;
}

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

    outline:none;

    border-color:#c9a868;

    background:#ffffff;

}

.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:#c9a868;

    color:#0c1343;

    padding:16px 40px;

    font-size:15px;

    border-radius:6px;

    margin-top:6px;

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

    box-shadow:0 10px 25px rgba(201,168,104,.25);

}

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

    color:#0c1343;

    transition:color .3s ease;

}

#cf-submit-btn:hover{

    background:#0c1343;

    transform:translateY(-2px);

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

}

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

    color:#ffffff;

}

/*----------------------------------------------------*/
/* Standalone Social Follow section */

.vc-social-follow{

    padding:70px 0;

    background:#F2F0EF;

}

.vc-social-follow-inner{

    max-width:1100px;

    margin:0 auto;

    display:flex;

    align-items:center;

    gap:18px;

}

.vc-social-follow-label{

    color:#0c1343;

    font-weight:700;

    font-size:13px;

    letter-spacing:.5px;

    text-transform:uppercase;
}

.vc-social-follow-row{

    display:flex;

    gap:10px;
}

.vc-social-follow-row a{

    width:34px;

    height:34px;

    border-radius:50%;

    background:#ffffff;

    border:1px solid rgba(12,19,67,.12);

    color:#0c1343;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:13px;

    text-decoration:none;

    box-shadow:0 4px 14px rgba(12,19,67,.05);

    transition:background .3s ease, color .3s ease, transform .3s ease, border-color .3s ease;
}

.vc-social-follow-row a:hover{

    background:#0c1343;

    color:#c9a868;

    border-color:#0c1343;

    transform:translateY(-4px);
}

@media(max-width:576px){

    .vc-social-follow-inner{

        flex-direction:column;

        align-items:flex-start;

        gap:14px;
    }
}

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

.office-address-section{

    padding:70px 0 210px;

    background:#F2F0EF;

}

.office-address-section .container{

    max-width:1100px;

}

.office-box{

    background:#ffffff;

    border:1px solid rgba(12,19,67,.07);

    border-left:3px solid #c9a868;

    border-radius:8px;

    padding:32px;

    height:100%;

    text-align:left;

    box-shadow:0 2px 8px rgba(12,19,67,.05);

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

}

.office-box:hover{

    transform:translateY(-5px);

    box-shadow:0 20px 40px rgba(12,19,67,.1);

}

.office-box h4{

    font-weight:800;

    font-size:13px;

    text-transform:uppercase;

    letter-spacing:1.5px;

    color:#8a6a34;

    margin-bottom:16px;

    padding-bottom:0;

    border-bottom:none;

}

.office-box .office-company{

    color:#0c1343;

    font-weight:700;

    font-size:15px;

    margin-bottom:8px;

}

.office-box p{

    color:#5c5f68;

    line-height:1.8;

    margin-bottom:14px;

}

.office-box p:last-child{

    margin-bottom:0;

}

.office-box p a{

    color:#5c5f68;

    text-decoration:none;

}

.office-box p a:hover{

    color:#8a6a34;

}

.office-box.muted{

    background:#f7f6f4;

    border-left-color:rgba(201,168,106,.35);

    display:flex;

    align-items:center;

    box-shadow:none;

    text-align:left;

}

.office-box.muted p{

    color:#a0a2ac;

    font-style:italic;

    margin:0;

}

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

@media(max-width:991px){

    .contact-map-combo{

        grid-template-columns:1fr;

    }

    .contact-map-wrap{

        min-height:320px;

    }

    .send-message-box{

        margin-top:0;

    }
}

@media(max-width:767px){

    .contact-hero-inner h1{

        font-size:36px;

    }

    .send-message-box{

        padding:26px;

    }

    .send-message-form .form-row{

        grid-template-columns:1fr;

    }

    .office-box.muted{

        margin-top:20px;

    }
}

/*=====================================================
        WHERE WE ARE — dealer/distribution network map
======================================================*/

.vc-where-we-are{

    padding:70px 0;

    background:#ffffff;

    text-align:center;
}

.vc-www-heading h2{

    font-family:var(--title-fonts);

    font-size:36px;

    font-weight:800;

    color:#0c1343;

    margin-top:10px;
}

.vc-www-heading h2 span{

    color:#8a6a34;
}

.vc-www-sub{

    color:#4a5068;

    font-size:15px;

    max-width:600px;

    margin:16px auto 0;

    line-height:1.7;
}

.vc-www-map-wrap{

    position:relative;

    margin:54px auto 0;

    width:480px;

    max-width:100%;

    aspect-ratio:1/1;
}

.vc-www-map-img{

    width:100%;

    height:100%;

    display:block;
}

.vc-www-pin-dot{

    position:absolute;

    width:9px;

    height:9px;

    border-radius:50%;

    background:#F2F0EF;

    border:1.5px solid #0c1343;

    transform:translate(-50%,-50%);
}

.vc-www-pin-dot::after{

    content:"";

    position:absolute;

    inset:-4px;

    border-radius:50%;

    background:rgba(201,168,104,.4);

    animation:vcWwwPinPulse 2s infinite;
}

.vc-www-pin-label{

    position:absolute;

    transform:translate(-50%,-50%);

    background:#c9a868;

    color:#0c1343;

    font-size:11px;

    font-weight:800;

    letter-spacing:.3px;

    padding:5px 12px;

    border-radius:100px;

    white-space:nowrap;

    border:1.5px solid #ffffff;

    box-shadow:0 6px 14px rgba(12,19,67,.2);
}

@keyframes vcWwwPinPulse{

    0%{

        box-shadow:0 0 0 0 rgba(201,168,104,.6);
    }

    70%{

        box-shadow:0 0 0 12px rgba(201,168,104,0);
    }

    100%{

        box-shadow:0 0 0 0 rgba(201,168,104,0);
    }
}

@media(max-width:576px){

    .vc-www-map-wrap{

        width:320px;
    }

    .vc-www-heading h2{

        font-size:26px;
    }
}
