/*==========================================================
CONTACT FORM
Release 2.4.1
==========================================================*/

.contact-section{

    padding:80px 0 60px;

    background:#ffffff;

}

.contact-wrapper{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:50px;

    align-items:start;

}

.contact-form-panel,
.contact-info-panel{

    background:#ffffff;

    border:1px solid #e5edf7;

    border-radius:20px;

    padding:40px;

    box-shadow:0 12px 35px rgba(17,39,74,.06);

}

.contact-form-panel h2{

    margin:15px 0 20px;

    color:#0d213d;

    font-size:2.4rem;

}

.contact-form-panel p{

    margin-bottom:35px;

    color:#5f7186;

    line-height:1.8;

}

.engineering-form{

    display:flex;

    flex-direction:column;

    gap:20px;

}

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

}

.engineering-form input,
.engineering-form select,
.engineering-form textarea{

    width:100%;

    padding:15px 18px;

    border:1px solid #dbe6f2;

    border-radius:10px;

    font-size:1rem;

    font-family:inherit;

    background:#fff;

    transition:.25s;

    box-sizing:border-box;

}

.engineering-form input:focus,
.engineering-form select:focus,
.engineering-form textarea:focus{

    outline:none;

    border-color:#1d7dd8;

}

.engineering-form textarea{

    resize:vertical;

    min-height:160px;

}

.contact-info-panel h3{

    margin:15px 0 30px;

    color:#0d213d;

}

.info-item{

    margin-bottom:30px;

}

.info-item strong{

    display:block;

    margin-bottom:8px;

    color:#0d213d;

}

.info-item p{

    margin:0;

    line-height:1.8;

    color:#5f7186;

}

.honeypot{

    display:none;

}

@media(max-width:992px){

    .contact-wrapper{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .form-row{

        grid-template-columns:1fr;

    }

    .contact-form-panel,
    .contact-info-panel{

        padding:30px;

    }

    .contact-form-panel h2{

        font-size:2rem;

    }

}
/*==========================================================
OFFICE LOCATION
Release 2.4.3
==========================================================*/

.office-location-section{

    padding:80px 0 110px;

    background:#f8fbff;

}

.office-location-grid{

    margin-top:60px;

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:40px;

    align-items:start;

}

.office-map{

    overflow:hidden;

    border-radius:20px;

    box-shadow:0 18px 45px rgba(17,39,74,.08);

    min-height:480px;

}

.office-map iframe{

    width:100%;

    height:100%;

    min-height:480px;

    border:0;

}

.office-location-info{

    background:#ffffff;

    border:1px solid #e5edf7;

    border-radius:20px;

    padding:35px;

    box-shadow:0 12px 35px rgba(17,39,74,.06);

}

.office-location-info h3{

    margin:15px 0 20px;

    color:#0d213d;

    font-size:1.6rem;

}

.office-location-info > p{

    margin-bottom:30px;

    color:#5f7186;

    line-height:1.9;

}

.office-details{

    display:flex;

    flex-direction:column;

    gap:24px;

}

.office-detail strong{

    display:block;

    margin-bottom:8px;

    color:#0d213d;

}

.office-detail p{

    margin:0;

    color:#5f7186;

    line-height:1.8;

}

.office-actions{

    display:flex;

    gap:16px;

    flex-wrap:wrap;

    margin-top:35px;

}

.office-actions .btn,

.office-actions .btn-outline{

    flex:1;

    text-align:center;

}

@media(max-width:992px){

    .office-location-grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:768px){

    .office-location-section{

        padding:70px 0 90px;

    }

    .office-location-info{

        padding:30px;

    }

    .office-actions{

        flex-direction:column;

    }

    .office-actions .btn,

    .office-actions .btn-outline{

        width:100%;

    }

}
/*==========================================================
FORM STATUS MESSAGE
==========================================================*/

.form-message{

    margin:25px 0 35px;

    padding:18px 22px;

    border-radius:10px;

    font-size:.98rem;

    line-height:1.7;

}

.form-message.success{

    background:#edf9f0;

    border:1px solid #7fd39a;

    color:#1d5b2d;

}

.form-message.error{

    background:#fff2f2;

    border:1px solid #f0a0a0;

    color:#9b1c1c;

}