/*
 * Header-only stylesheet extracted from style-azalea.css.
 * Includes only the rules required to render the site header
 * (.nk-header) on pages that do NOT use the main layout (e.g. PrimeServices),
 * while keeping shared selectors (.btn*, .container, .container-xxl)
 * scoped to the header so the rest of the page styling remains untouched.
 */

/* ------------------------------------------------------------------
 * Themify icon font (used for has-sub dropdown arrows)
 * ------------------------------------------------------------------ */
@font-face {
    font-family: 'themify';
    src: url("../fonts/themify.eot");
    src: url("../fonts/themify.eot?#iefix") format("embedded-opentype"),
         url("../fonts/themify.woff") format("woff"),
         url("../fonts/themify.ttf") format("truetype"),
         url("../fonts/themify.svg?#themify") format("svg");
    font-weight: normal;
    font-style: normal;
}

/* ------------------------------------------------------------------
 * Container helpers (scoped to the header so they don't affect
 * institutional.css containers on the rest of the page)
 * ------------------------------------------------------------------ */
.nk-header .container,
.nk-header .container-xxl {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box;
}

@media (min-width: 576px) {
    .nk-header .container { max-width: 540px; }
}
@media (min-width: 768px) {
    .nk-header .container { max-width: 720px; }
}
@media (min-width: 992px) {
    .nk-header .container { max-width: 960px; }
}
@media (min-width: 1200px) {
    .nk-header .container { max-width: 1140px; }
    .nk-header .container-xxl { max-width: 1140px; }
}
@media (min-width: 1600px) {
    .nk-header .container { max-width: 1140px; }
    .nk-header .container-xxl { max-width: 1490px; }
}

/* ------------------------------------------------------------------
 * Header structure
 * ------------------------------------------------------------------ */
.nk-header { display: block; }
.nk-header a { text-decoration: none; }
.nk-header ul { list-style: none; margin: 0; padding: 0; }

.header-main { transition: all .4s; }
.is-transparent .header-main,
.has-fixed .header-main { width: 100%; z-index: 49; }
.is-transparent .header-main { position: absolute !important; }
.has-fixed .header-main { position: fixed !important; box-shadow: 0 0 20px 0 rgba(45, 63, 95, 0.08); }
.has-fixed:not(.is-dark) .header-main { background: #fff; }
.has-fixed.is-dark .header-main { background: #0a1227; }
.has-fixed.is-shrink .header-main { padding: 8px 0; }

.header-container:not(.container) { width: 100%; padding: 0 15px; }
.header-wrap { position: relative; width: 100%; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }

.header-logo { flex-shrink: 0; }
.header-logo-ls { display: flex; align-items: center; }

.header-navbar { position: fixed; left: -280px; top: 0; width: 260px; height: 100vh; }
.header-navbar.menu-mobile { transition: all 0.4s; }
.header-navbar::before,
.header-navbar-overlay { position: absolute; height: 100%; width: 100%; content: ''; top: 0; }
.header-navbar::before { background: #fff; left: 50%; transform: translateX(-50%); transition: all .4s; }
.is-dark .header-navbar::before { background: #0a1227; }
.header-navbar-overlay { background: rgba(10, 18, 39, 0.5); left: 100%; width: 0; z-index: -1; opacity: 0; visibility: hidden; transition: opacity .3s; transition-delay: .2s; }
.header-navbar.menu-shown { left: 0 !important; z-index: 10; }
.header-navbar.menu-shown .header-navbar-overlay { width: 100vw; opacity: 1; visibility: visible; }

.header-menu { justify-content: flex-end; padding: 30px 25px; max-height: 100vh; overflow: hidden; overflow-y: auto; height: 100%; }
.header-nav-toggle { height: 44px; }

@media (min-width: 375px) {
    .header-navbar:not(.header-navbar-classic) { left: -310px; width: 290px; }
}
@media (min-width: 576px) {
    .header-navbar:not(.header-navbar-classic) { left: -360px; width: 340px; }
}

/* ------------------------------------------------------------------
 * Logo
 * ------------------------------------------------------------------ */
.logo-dark,
.is-transparent:not(.has-fixed) .logo-light,
.is-dark .logo-light { display: block; }

.logo-light,
.is-transparent:not(.has-fixed) .logo-dark,
.is-dark .logo-dark { display: none; }

.nk-header .logo img { height: 60px; width: auto; transition: all .4s; }

/* ------------------------------------------------------------------
 * Menu
 * ------------------------------------------------------------------ */
.menu { padding: 12px 0; }
.menu-btns { margin-bottom: 26px; margin-left: -10px; margin-right: -10px; margin-top: -10px; display: flex; flex-wrap: wrap; }
.menu-btns > li { padding: 10px; }

.menu-item { position: relative; border-bottom: 1px solid rgba(219, 228, 247, 0.75); }
.is-dark .menu-item { border-color: rgba(219, 228, 247, 0.1); }
.menu-item:last-child { border-bottom: 0; }
.menu-item > ul,
.menu-item .menu-sub { display: none; }
.menu-item a { font-family: "Roboto", sans-serif; font-size: 15px; line-height: 18px; color: #305082; padding: 12px 0; display: block; position: relative; }
.menu-item a .badge { margin-left: 5px; position: relative; top: -1px; }
.menu-item a .badge-dot { top: 0; }
.menu-item a .active,
.menu-item a:hover { color: #6ae5c4; }
.is-dark .menu-item a .active,
.is-dark .menu-item a:hover { color: #6ae5c4; }
.is-dark .menu-item a { color: #fff; }
.menu-item > a.active { color: #6ae5c4; }

.menu-sub { padding-left: 12px; }
.menu-sub .menu-item:first-child { border-top: 1px solid rgba(219, 228, 247, 0.75); }
.is-dark .menu-sub .menu-item:first-child { border-color: rgba(219, 228, 247, 0.1); }
.menu-sub .menu-sub { margin-top: 0; margin-bottom: 15px; }
.menu-sub .menu-sub .menu-item { border-bottom: none; }
.menu-sub .menu-sub .menu-item:first-child { border-top: none; }
.menu-sub .menu-sub .menu-item a { padding-top: 6px; padding-bottom: 6px; }
.menu-sub a { font-family: "Roboto", sans-serif; font-size: 14px; color: #305082; }
.menu-mega a { font-family: "Roboto", sans-serif; font-size: 14px; color: #305082; }

.has-sub > a { position: relative; }
.has-sub > a:after { position: absolute; right: 0; top: 50%; transform: translateY(-50%); content: '\e64b'; font-family: 'themify'; font-size: 8px; font-weight: 700; transition: transform .4s; }
.has-sub.open-nav > a:after { transform: translateY(-50%) rotate(-180deg); }

/* ------------------------------------------------------------------
 * Mobile navbar toggle / hamburger
 * ------------------------------------------------------------------ */
.navbar-toggle { width: 44px; height: 44px; text-align: center; display: inline-block; border-radius: 50%; padding: 5px; display: inline-flex; align-items: center; justify-content: center; transition: all 0.3s; }
.navbar-toggle.navbar-active { color: #6ae5c4; position: relative; z-index: 49; }
.navbar-toggle:hover,
.navbar-toggle.navbar-active { background: rgba(240, 247, 252, 0.2); }
.is-transparent:not(.has-fixed) .navbar-toggle { color: #fff; }
.is-transparent:not(.has-fixed) .navbar-toggle:hover,
.is-transparent:not(.has-fixed) .navbar-toggle.navbar-active { background: rgba(240, 247, 252, 0.2); }

.toggle-line { position: relative; width: 32px; height: 32px; display: block; color: #305082; }
.toggle-line:hover { color: #305082; }
.is-transparent:not(.has-fixed):not(.is-light) .toggle-line { color: #fff; }
.is-dark.has-fixed .toggle-line { color: #fff; }
.toggle-line::after,
.toggle-line::before,
.toggle-line > span { content: ""; position: absolute; background: currentColor; transition: all 0.2s; width: 24px; height: 2px; left: 4px; border-radius: 3px; }
.toggle-line::before { top: 8px; }
.toggle-line::after { bottom: 8px; }
.toggle-line > span { top: 50%; margin-top: -1px; width: 20px; }
.navbar-active .toggle-line { color: #fff; }
.navbar-active .toggle-line::before,
.navbar-active .toggle-line::after { width: 28px; left: 2px; }
.navbar-active .toggle-line::before { transform: rotate(45deg); top: 15px; }
.navbar-active .toggle-line::after { transform: rotate(-45deg); bottom: 15px; }
.navbar-active .toggle-line > span { opacity: 0; visibility: hidden; }

/* ------------------------------------------------------------------
 * Header buttons (scoped to .nk-header so institutional buttons
 * elsewhere on the page are NOT affected)
 * ------------------------------------------------------------------ */
.nk-header .btn { position: relative; font-size: 12px; line-height: 24px; font-weight: 500; padding: 8px 15px; text-align: center; text-transform: uppercase; color: #fff; min-width: 120px; max-width: 100%; border: 2px solid #6ae5c4; box-sizing: border-box; transition: all 0.5s; border-radius: 5px; z-index: 2; display: inline-flex; align-items: center; justify-content: center; white-space: nowrap; cursor: pointer; background-color: transparent; }
.nk-header .btn:hover { color: #fff !important; outline: none !important; box-shadow: none !important; }
.nk-header .btn span { position: relative; z-index: 999999; display: block; }
.nk-header .btn-md { font-size: 12px; line-height: 24px; padding: 10px 26px; }
.nk-header .btn-auto { min-width: 44px !important; }
.nk-header .btn-round { border-radius: 40px; }
.nk-header .btn-round.btn-md { border-radius: 44px; }
.nk-header .btn-primary { background-color: #6ae5c4; border-color: #6ae5c4; }
.nk-header .btn-primary:hover,
.nk-header .btn-primary:focus { background-color: #f8aa38; border-color: #f8aa38; }
.nk-header .btn-outline:not(:hover) { color: #305082; background-color: transparent !important; }
.nk-header .btn-outline:hover { color: #fff !important; }
.nk-header .btn-outline.btn-primary:hover { background-color: #6ae5c4; border-color: #6ae5c4; color: #fff !important; }

@media (min-width: 576px) {
    .nk-header .btn { font-size: 13px; line-height: 25px; padding: 12px 30px; letter-spacing: 0.1em; min-width: 120px; }
}

/* Header-menu button color rules from style-azalea */
.language-switcher .toggle-tigger,
.nk-header .header-menu .btn-outline:not(:hover) { color: #305082; }

/* ------------------------------------------------------------------
 * Desktop (>=992px) layout
 * ------------------------------------------------------------------ */
@media (min-width: 992px) {
    .header-navbar:not(.header-navbar-classic) { height: auto; width: auto; left: 0; }
    .header-main { padding: 10px 0; }
    .header-nav-toggle { display: none; }
    .header-container:not(.container) { padding: 0 25px; }
    .header-banner { min-height: 98px; }
    .nk-header .logo img { height: 70px; }

    .header-menu { display: flex !important; width: auto; align-items: center; position: static; background: transparent; padding: 0; margin: 0; border-radius: 0; overflow: visible; }
    .header-navbar { padding: 0 0 0 15px; margin-top: 0; position: relative; }
    .header-navbar:before { display: none; }
    .has-fixed .header-navbar { margin-top: 0; }

    .menu { display: flex; align-items: center; padding: 0; }
    .menu-item { border-bottom: none; }
    .menu-item > a { font-weight: 400; padding: 20px 10px; }
    .menu-drop .menu-item > a { font-weight: 300; }
    .menu-item:hover { z-index: 9999; }

    .menu-sub { position: absolute; min-width: 215px; max-width: 215px; background: #fff; padding: 15px 10px; top: 100%; left: 0; display: block !important; z-index: 99; opacity: 0; visibility: hidden; transition: all .4s; border-radius: 4px; transform: translateX(0) translateY(-8px); box-shadow: 0 3px 12px 0 rgba(45, 63, 95, 0.08); }
    .menu-sub a { width: 100%; display: block; padding: 10px 10px; }
    .menu-sub .menu-item:first-child { border-top: none; }
    .menu-sub .menu-item:hover > a { color: #6ae5c4; }
    .menu-item:hover > .menu-sub { opacity: 1; visibility: visible; transform: translateX(0) translateY(0); }
    .menu-sub .menu-sub { left: calc(100% - 25px); top: 15px; margin: 0; }
    .menu-sub .menu-sub .menu-item a { padding-top: 8px; padding-bottom: 8px; }
    .is-dark .menu-sub { background-color: #0b1326; }

    .menu-mega { position: absolute; left: 50%; background: #fff; padding: 15px 10px; top: 100%; display: block !important; z-index: 99; opacity: 0; visibility: hidden; transition: all .4s; border-radius: 4px; box-shadow: 0 3px 12px 0 rgba(45, 63, 95, 0.08); transform: translateX(-50%) translateY(-8px); }
    .menu-item:hover > .menu-mega { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
    .menu-mega .menu-item a { padding-top: 8px; padding-bottom: 8px; }
    .menu-mega-innr { display: flex; }
    .menu-mega-innr > div,
    .menu-mega-innr ul { flex-grow: 1; }
    .menu-mega-2clmn .menu-mega-innr > div,
    .menu-mega-2clmn .menu-mega-innr ul { width: 50%; }
    .menu-mega-3clmn .menu-mega-innr > div,
    .menu-mega-3clmn .menu-mega-innr ul { width: auto; }
    .menu-mega-2clmn { min-width: 370px; max-width: 370px; }
    .menu-mega-3clmn { min-width: 520px; max-width: 520px; }
    .is-dark .menu-mega { background-color: #0b1326; }

    .menu-btns { display: flex; margin-bottom: -10px; margin-left: 10px; }
    .has-sub > a { padding-right: 24px !important; position: relative; }
    .has-sub > a:after { right: 8px; }
    .menu-sub .has-sub > a { padding-right: 35px; }
    .menu-sub .has-sub > a:after { transform: translateY(-50%) rotate(-90deg); right: 15px; }

    .is-transparent:not(.has-fixed):not(.is-light) .menu > .menu-item > a { color: #fff; }
    .is-transparent:not(.has-fixed):not(.is-light) .menu > .menu-item:hover > a { color: #6ae5c4; }

    /* Header-menu button color states */
    .is-transparent .header-menu .btn-outline:not(:hover),
    .is-transparent:not(.has-fixed):not(.is-light) .header-menu .btn-outline:not(:hover),
    .is-dark .header-menu .btn-outline:not(:hover) { color: #fff; }
    .has-fixed:not(.is-dark) .header-menu .btn-outline:not(:hover),
    .is-light .header-menu .btn-outline:not(:hover) { color: #305082; }
    .is-transparent:not(.has-fixed):not(.is-light) .header-menu .btn-outline:not(:hover):not(.no-change) { border-color: rgba(255, 255, 255, 0.4); }
    .is-transparent:not(.has-fixed):not(.is-light) .header-menu .btn:not(:hover):not(.no-change):not(.btn-outline) { border-color: #fff; background: #fff; color: #305082; }
    .is-transparent:not(.has-fixed):not(.is-light) .header-menu .btn-outline:not([class*="btn-grad"]):not(.no-change):hover { color: #6ae5c4 !important; border-color: #fff; background-color: #fff; }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .nk-header .logo img { height: 70px; }
}

@media (min-width: 1200px) {
    .menu > .menu-item > a { padding: 20px 15px; }
    .menu-item.has-sub > a { padding-right: 23px !important; }
    .menu-item.has-sub > a:after { right: 8px; }
    .menu-sub a { padding: 10px 15px; }
    .nk-header .logo img { height: 80px; }
}

@media (max-width: 991px) {
    .header-menu .btn { line-height: 24px; padding: 6px 14px; min-width: 100px; }
}

/* ------------------------------------------------------------------
 * Page-header utility (transparent / sticky positioning)
 * ------------------------------------------------------------------ */
.page-header { position: relative; z-index: 50; }
.page-header.is-sticky { position: relative; }
