/* montserrat-regular - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/montserrat-v26-latin_latin-ext-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* montserrat-700 - latin_latin-ext */
@font-face {
    font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/montserrat-v26-latin_latin-ext-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
:root {
    --header-height: 97px;
}
body { font-family: 'Montserrat', sans-serif; --ngn-body-color: rgba(var(--ngn-blue-900-rgb), .7); }

.btn { --ngn-btn-border-width: 0; --ngn-btn-font-size: 1rem; --ngn-btn-font-weight: 700; --ngn-btn-padding-x: 1.25rem; --ngn-btn-padding-y: .65rem; }
.btn-primary {}
.btn-secondary {}
.btn-white { --ngn-btn-bg: #fff; --ngn-btn-hover-bg: var(--ngn-primary); --ngn-btn-hover-color: #000; }

.btn-sm { --ngn-btn-border-width: 0; --ngn-btn-font-size: .825rem; --ngn-btn-padding-x: 1rem; --ngn-btn-padding-y: .4rem; }

.header-primary {}
.header-primary.fixed-top {  }
.header-primary .navbar { isolation: isolate; --ngn-navbar-padding-y: 1rem; --ngn-navbar-brand-padding-y: 0;
    --ngn-navbar-toggler-border-color: #000;
    --ngn-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.header-primary .navbar-toggler { filter: invert(1) grayscale(100%) brightness(200%); }
.header-primary .navbar:before { content: ''; position: absolute; z-index: -1; left: -.325rem; top: .65rem; right: -.325rem; bottom: .65rem; border-radius: .375rem;
    background-color: rgba(var(--ngn-secondary-rgb), .85); backdrop-filter: saturate(170%) blur(7px); -webkit-backdrop-filter: saturate(170%) blur(7px);
    opacity: 0; transition: opacity .3s ease-in-out;
}
.header-primary.scrolled .navbar:before { opacity: 1; }
.header-primary .navbar-brand img { display: block; }
.header-primary .navbar-nav { --ngn-nav-link-padding-x: 0; --ngn-nav-link-padding-y: .25rem; --ngn-nav-link-font-weight: 700; --ngn-nav-link-color: #fff; --ngn-nav-link-hover-color: var(--ngn-primary); }

/*.header-spacer { height: calc(var(--header-height)/2); }*/

body { background-color: #f2f2f2; }
.wrapper { background-color: #fff; max-width: 1600px; width: 100%; margin: 0 auto; }

.overlay { position: absolute; z-index: -1; left: 0; width: 100%; height: auto; overflow: hidden; }
.overlay, .overlay * { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; user-drag: none; -webkit-user-drag: none; }
.overlay img { width: calc(100% + 1px); height: clamp(1rem, 4.7vw, 90px); }
.overlay.top { top: -1px; }
.overlay.bottom { bottom: -1px; }

.isolate { isolation: isolate; }

.py-overlay { padding-top: clamp(1rem, 4.7vw, 90px); padding-bottom: clamp(1rem, 4.7vw, 90px); }
.pb-overlay {}

.hero { background: url(../images/bg-hero.png) 0 0 no-repeat scroll var(--ngn-blue-700); color: #fff; padding-top: calc(var(--header-height) + 2rem); }
.hero .main-title { color: #fff; }
.hero .text { color: rgba(var(--ngn-white-rgb), .65); }
.hero .overlay img { height: 12vw; }
.hero.pb-overlay { padding-bottom: 8vw; }

.main-title { margin: 0 0 1rem 0; font-size: 2rem; font-weight: 700; color: var(--ngn-blue-900); }
.sub-title { margin: 0 0 1rem 0; font-size: 1.325rem; font-weight: 700; color: var(--ngn-primary); }

.steps {  }
.step-item { position: relative; isolation: isolate; text-align: center; display: flex; flex-direction: column; align-items: center; }
.step-item:before { content: ''; position: absolute; z-index: -1; top: calc(3.75rem / 2); left: 50%; width: 100%; height: 0; border-top: 3px dashed #D5D7DD; }
.step-item:last-of-type:before { content: inherit; }
.step-number { display: flex; justify-content: center; align-items: center; width: 3.75rem; aspect-ratio: 1 / 1; margin-bottom: 2.5rem; border-radius: 100%; font-size: 1.5rem; font-weight: 700; color: #fff; background-color: var(--theme-color, var(--ngn-blue-900)); }
.step-title { margin-bottom: .5rem; color: var(--ngn-blue-900); }
.step-text {}

.services { background: linear-gradient(225deg, #313C59 0%, #161C2D 100%); }

.block-item { display: flex; }
.block-image { flex: 0 0 60px; }
.block-inner { padding-left: .5rem; }
.block-title { margin: 5px 0 2rem 0; }
.block-text { color: rgba(var(--ngn-white-rgb), .65);}

.aboutus .block-item  { align-items: center; }
.aboutus .block-image { flex: 0 0 100px; }
/*.aboutus .block-inner { width: 100%; }*/
.aboutus .block-inner { padding-left: 0; }
.aboutus .block-title { margin: 0 0; text-align: center; }
.aboutus .block-title span { display: block; color: var(--ngn-blue-900) }


.partners,
.partners * { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; user-drag: none; -webkit-user-drag: none; }
.partners .swiper-slide { width: auto; }
.partners .swiper {}
.partners .swiper-wrapper { align-items: center; }

.contact.py-xxl-6 { padding-bottom: calc(110px + 2rem)!important; }
.contact .overlay.top img { max-height: 3.75rem; }
.contact .overlay.bottom { z-index: 2; }
.contact .overlay.bottom img { max-height: 110px; }
.contact-box { padding: 2rem; box-shadow: 0 5rem 8rem 0 rgba(var(--ngn-blue-900-rgb), .3); border-radius: 2rem; background-color: #fff; }
.map-embed { height: 100%; }
.map-embed iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.contact-box { position: relative; overflow: hidden; }
.contact-box:before { content: ''; position: absolute; z-index: 0; top: 0; bottom: 0; left: 75%; width: 25%; background-color: var(--ngn-secondary); }
.contact-box .btn-submit { width: 100%; text-transform: uppercase; --ngn-btn-font-size: 14px; --ngn-btn-bg: #0982FE; --ngn-btn-hover-bg: var(--ngn-primary); --ngn-btn-color: #fff; --ngn-btn-hover-color: #000; }

.form-floating { font-size: 16px; }
.form-control { font-size: 16px; border-width: 0; border-bottom-width: 1px; border-radius: 0; border-color: #737B7D; }
.form-control:focus { box-shadow: none; }
.form-floating>.form-control, .form-floating>.form-control-plaintext, .form-floating>.form-select { height: calc((16px*3.5) + 2px) }
.form-floating>.form-control { padding: 16px 12px; }
.form-floating>label { padding: 16px 12px; line-height: 24px; }
.form-floating>.form-control-plaintext:focus, .form-floating>.form-control-plaintext:not(:placeholder-shown), .form-floating>.form-control:focus, .form-floating>.form-control:not(:placeholder-shown) {
    padding-top: 26px; padding-bottom: 10px;
}
.form-floating>.form-control-plaintext~label, .form-floating>.form-control:focus~label, .form-floating>.form-control:not(:placeholder-shown)~label, .form-floating>.form-select~label {
    transform: scale(.85) translateY(-10px) translateX(0);
}
.upload-area {  }
.upload-inner { position: relative; padding: 1.75rem 1rem; background-color: #fff; border: 1px dashed #8E8E8E; color: #8E8E8E; }
.upload-inner:hover { color: var(--ngn-blue-900); border-color: var(--ngn-blue-900); }
.upload-label { display: flex; align-items: center; justify-content: center; font-size: 14px; }
.upload-label svg { width: 24px; margin-right: .75rem; }
.upload-file { cursor: pointer; position: absolute; z-index: 2; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; }
.upload-file-name { text-align: center; font-size: 14px; font-weight: 700; margin-top: 10px; }
.upload-helper { margin-top: 10px; color: #8E8E8E; font-size: 13px; }

.form-check-label { color: #383C3E; font-size: 14px; }

.info-box { display: flex; justify-content: center; gap: 2rem; }
.info-item { position: relative; display: flex; align-items: center; font-size: 13px; color: #000; }
.info-item svg { width: 28px; margin-right: .5rem; }
.info-title{ font-weight: 700; }
.info-inner { white-space: nowrap;}
.info-link { color: #DD5471; text-decoration: none; }
.info-link:hover { color: var(--ngn-blue-900); text-decoration: underline; }

/*.footer-primary { margin-top: -50px; z-index: 5; }*/
.footer-primary { position: relative; background-color: var(--ngn-blue-700); padding: 1px 0 0 0; color: rgba(var(--ngn-white-rgb), .7); font-size: .85rem; }
.footer-title { margin: 0 0 1.5rem 0; font-size: .85rem; font-weight: 700; }
.nav-footer { --ngn-nav-link-padding-x: 0; --ngn-nav-link-padding-y: 5px; --ngn-nav-link-font-size: .85rem; --ngn-nav-link-color: rgba(var(--ngn-white-rgb), .7); --ngn-nav-link-hover-color: var(--ngn-primary) }
.nav-footer .nav-link { display: inline-block; }

.col-social { display: flex; justify-content: flex-end; align-items: flex-end; }
.footer-bottom { font-size: 13px; border-top: 1px solid rgba(var(--ngn-blue-900-rgb), .5) }

.social-box { display: flex; align-items: flex-start; gap: .75rem; }
.social-box .nav-link { --ngn-nav-link-padding-x: 5px; --ngn-nav-link-padding-y: 5px; --ngn-nav-link-hover-color: var(--ngn-primary); }
.social-box .nav-link svg { width: 24px; }

.anchor {  }

@media (min-width: 576px) {
    html { font-size: 15px; }
}
@media (min-width: 768px) {
    html { font-size: 16px; }
}
@media (min-width: 992px) {
    html { font-size: 18px; }
    body {  --ngn-body-line-height: 1.2; letter-spacing: -.2px }
    /*.header-primary .navbar { --ngn-navbar-nav-link-padding-x: 2.75rem; }*/
    .navbar-expand-lg .navbar-nav { align-items: center; }
}
@media (min-width: 1200px) {
    html { font-size: 20px; /*16*/ }
    .header-primary .navbar-nav { --ngn-nav-link-font-size: .825rem; }
    .header-primary .navbar-nav .nav-item + .nav-item { margin-left: clamp(1px, 2.3vw, 44px) }
}
@media (min-width: 1500px) {
    html { font-size: 24px; }
    .py-xxl-6 { padding-top: 4.25rem!important; padding-bottom: 4.25rem!important; }
    .hero.py-xxl-6 { padding-top: clamp(1rem, 8.9vw, 170px)!important; padding-bottom: clamp(1rem, 8.9vw, 170px)!important; }
}

@media (min-width: 768px) and (max-width: 991.98px) {

}
@media (min-width: 390px) and (max-width: 575.98px) {

}
@media (min-width: 576px) and (max-width: 767.98px) {

}
@media (min-width: 768px) and (max-width: 991.98px) {

}
@media (min-width: 992px) and  (max-width: 1199.98px) {
    .header-primary .navbar-brand img { width: 260px; }
}

@media (max-width: 389.98px) {

}
@media (max-width: 575.98px) {
    html { font-size: 15px; }
    .header-primary .navbar-brand img { width: 230px; }

    .step-number { margin-bottom: 1rem; }
    .step-item:before { content: inherit; }

    .footer-primary { text-align: center; }
}
@media (max-width: 767.98px) {

    .overlay.top { top: -4px; }
    .overlay.bottom { bottom: -4px; }

    .contact-box:before { content: inherit; }
    .map-embed { aspect-ratio: 1 / 1; }
    .footer-bottom { font-size: 11px; }
}
@media (max-width: 991.98px) {
    .header-primary { position: fixed; width: 100%; left: 0; }
    .wrapper { margin-top: 0!important; }

    .block-image { flex: 0 0 30px; }
    .block-title { margin: 2px 0 1rem 0; }

    .aboutus .block-image { flex: 0 0 75px; }

    .contact-box { padding: 1rem; }

    .header-primary .navbar-nav { align-items: flex-end; --ngn-nav-link-padding-y: .325rem; margin-top: 1rem; }
    .header-primary .navbar:before { opacity: 1!important; }

    .footer-primary { font-size: 14px; }
    .nav-footer { --ngn-nav-link-font-size: 14px; }

    .social-box .nav-link svg { width: 18px; }

}
@media (max-width: 1199.98px) {

}
@media (max-width: 1479.98px) {

}