/* 2️⃣ Master 260px Traditional Vertical Dropdown Menu Overhaul & Transition Animation Destroyer */
li:hover > .nav-dropdown,
li.opens-for-hover > .nav-dropdown,
li.active > .nav-dropdown,
li.current-dropdown > .nav-dropdown,
html body.nav-dropdown-has-arrow .header-bottom-nav > li.categorylist:hover > .nav-dropdown,
html body.nav-dropdown-has-arrow .header-bottom-nav > li.categorylist.opens-for-hover > .nav-dropdown,
html body.nav-dropdown-has-arrow .header-bottom-nav > li.has-dropdown:hover > .nav-dropdown,
html body.nav-dropdown-has-arrow .header-bottom-nav > li.has-dropdown.opens-for-hover > .nav-dropdown,
html body #wrapper #header .header-bottom-nav > li.categorylist:hover > .nav-dropdown,
html body #wrapper #header .header-bottom-nav > li.categorylist.opens-for-hover > .nav-dropdown,
html body #wrapper #header .header-bottom-nav > li.has-dropdown:hover > .nav-dropdown,
html body #wrapper #header .header-bottom-nav > li.has-dropdown.opens-for-hover > .nav-dropdown,
html body #wrapper #header li.categorylist:hover > .nav-dropdown,
html body #wrapper #header li.categorylist.opens-for-hover > .nav-dropdown,
html body .nav-dropdown ul.sub-menu,
html body .nav-dropdown .nav-column,
html body .nav-dropdown li ul {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
}

/* ==========================================================================
   2️⃣ CANONICAL 480PX SINGLE-COLUMN DROPDOWN ENGINE (DEF-09)
   ========================================================================== */

/* Reset Category List Parent Item Width */
html body #wrapper #header .categorylist,
html body .header-bottom-nav > li.categorylist,
li.categorylist {
    width: auto !important;
    min-width: 0 !important;
}

/* Master 480px Canonical Dropdown Container */
html body #wrapper #header .categorylist > .nav-dropdown,
html body #wrapper #header .nav-dropdown,
html body #wrapper #header .nav-dropdown-bold,
html body .header-nav ul.nav-dropdown,
html body .header-nav ul.nav-dropdown-bold,
html body .header-nav .nav-dropdown-full,
html body li.has-dropdown > .nav-dropdown,
html body ul.sub-menu.nav-dropdown,
html body #masthead .nav-dropdown,
html body .header-bottom .nav-dropdown,
html body #wide-nav .nav-dropdown,
#wrapper #header #masthead .nav-dropdown,
#wrapper #header #header-bottom .nav-dropdown,
#wrapper #header .nav-dropdown-bold,
#header .nav-dropdown,
#header .nav-dropdown-bold,
#header .sub-menu {
    display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    flex-flow: none !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-content: stretch !important;
    height: auto !important;
    max-height: none !important;
    width: 480px !important;
    min-width: 480px !important;
    max-width: 520px !important;
    padding: 10px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
    box-shadow: 3px 3px 18px rgba(0, 0, 0, 0.18) !important;
    border: 1px solid #002780 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    z-index: 99999999 !important;
    grid-template-columns: none !important;
    overflow: visible !important;
    float: none !important;
}

/* Dropdown Column & Item Single-Column 100% Expansion */
html body #wrapper #header .nav-dropdown > li,
html body #wrapper #header .nav-dropdown-bold > li,
html body #wrapper #header .nav-dropdown-col,
html body #wrapper #header .nav-dropdown > li.nav-dropdown-col,
html body #wrapper #header .nav-dropdown-bold > li.nav-dropdown-col,
#wrapper #header #masthead .nav-dropdown > li,
#wrapper #header #header-bottom .nav-dropdown > li,
#wrapper #header .nav-dropdown-bold > li,
#header .nav-dropdown > li,
#header .nav-dropdown-bold > li,
#header .nav-dropdown-col,
.nav-dropdown > li,
.nav-dropdown-bold > li,
.nav-dropdown-col {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
    height: auto !important;
    position: relative !important;
    float: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #f1f5f9 !important;
    background: #ffffff !important;
}

/* Dropdown Link Formatting */
#wrapper #header #masthead .nav-dropdown li > a,
#wrapper #header #header-bottom .nav-dropdown li > a,
#header .nav-dropdown li > a,
html body #wrapper #header .nav-dropdown li > a,
.nav-dropdown li > a {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 9px 20px 9px 15px !important;
    color: #333333 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    text-transform: none !important;
    text-decoration: none !important;
    white-space: normal !important;
    word-break: break-word !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    position: relative !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}

#wrapper #header #masthead .nav-dropdown li > a:hover,
#header .nav-dropdown li > a:hover,
html body #wrapper #header .nav-dropdown li > a:hover,
.nav-dropdown li > a:hover {
    background-color: #002780 !important;
    color: #ffffff !important;
    padding-left: 20px !important;
}

/* Master Dropdown Display Conditions (Hover, Active, Opens-For-Hover) */
html body .header-nav li:hover > .nav-dropdown,
html body .header-nav li:hover > ul.sub-menu,
html body .header-nav li.opens-for-hover > .nav-dropdown,
html body li.has-dropdown:hover > .nav-dropdown,
html body li.has-dropdown.opens-for-hover > .nav-dropdown,
html body li.has-dropdown.active > .nav-dropdown,
html body li.categorylist:hover > .nav-dropdown,
html body li.categorylist.opens-for-hover > .nav-dropdown,
html body li.categorylist.active > .nav-dropdown,
html body #masthead li:hover > .nav-dropdown,
html body .header-bottom li:hover > .nav-dropdown,
html body #wide-nav li:hover > .nav-dropdown,
.header-bottom-nav li:hover > .nav-dropdown,
.header-bottom-nav li.opens-for-hover > .nav-dropdown,
.header-bottom-nav li:hover > ul.sub-menu,
.header-nav li:hover > .nav-dropdown,
.header-nav li:hover > ul.sub-menu,
li.menu-item-has-children:hover > .nav-dropdown,
li.menu-item-has-children.opens-for-hover > .nav-dropdown,
li.menu-item-has-children:hover > ul.sub-menu,
li.categorylist:hover > .nav-dropdown,
li.categorylist.opens-for-hover > .nav-dropdown,
li.categorylist:hover > ul.sub-menu,
li.has-dropdown:hover > .nav-dropdown,
li.has-dropdown.opens-for-hover > .nav-dropdown,
li.has-dropdown.active > .nav-dropdown,
li.has-dropdown:hover > ul.sub-menu,
li.has-dropdown.opens-for-hover > ul.sub-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Multi-Level Flyout Sub-Menus Positioned 100% to the Right of 480px Container */
#wrapper #header #masthead .nav-dropdown li > .sub-menu,
#wrapper #header #header-bottom .nav-dropdown li > .sub-menu,
#wrapper #header .nav-dropdown li > .nav-column,
#wrapper #header .nav-dropdown li > ul,
#wrapper #header .nav-dropdown li.nav-dropdown-col > .sub-menu,
#wrapper #header .nav-dropdown li.nav-dropdown-col > .nav-column,
#wrapper #header .nav-dropdown .nav-column,
#wrapper #header .nav-dropdown-bold .nav-column,
#wrapper #header .sub-menu li > .sub-menu,
#header .nav-dropdown li > .sub-menu,
#header .sub-menu li > .sub-menu,
html body #wrapper #header .nav-dropdown-col > .sub-menu,
html body #wrapper #header .nav-dropdown-col > .nav-column,
.nav-dropdown li > .sub-menu,
.nav-dropdown li > .nav-column,
.nav-dropdown li > ul {
    position: absolute !important;
    left: 100% !important;
    top: 0 !important;
    margin-left: 6px !important;
    margin-top: 0 !important;
    padding: 10px 0 !important;
    background: #ffffff !important;
    min-width: 320px !important;
    width: max-content !important;
    max-width: 480px !important;
    box-shadow: 3px 3px 18px rgba(0, 0, 0, 0.18) !important;
    border: 1px solid #002780 !important;
    border-radius: 4px !important;
    z-index: 99999999 !important;
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
}

/* Flyout Display Conditions on Hover */
#wrapper #header #masthead .nav-dropdown li:hover > .sub-menu,
#wrapper #header #header-bottom .nav-dropdown li:hover > .sub-menu,
#wrapper #header .nav-dropdown li:hover > .nav-column,
#wrapper #header .nav-dropdown li:hover > ul,
#wrapper #header .nav-dropdown li.nav-dropdown-col:hover > .sub-menu,
#wrapper #header .nav-dropdown li.nav-dropdown-col:hover > .nav-column,
#wrapper #header .sub-menu li:hover > .sub-menu,
#header .nav-dropdown li:hover > .sub-menu,
#header .sub-menu li:hover > .sub-menu,
html body #wrapper #header .nav-dropdown-col:hover > .sub-menu,
html body #wrapper #header .nav-dropdown-col:hover > .nav-column,
.nav-dropdown li:hover > .sub-menu,
.nav-dropdown li:hover > .nav-column,
.nav-dropdown li:hover > ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* 5️⃣ Navigation Portal Dynamic Classes */
li.is-portal-active > .nav-dropdown.is-portal-dropdown,
html body li.is-portal-active > .nav-dropdown.is-portal-dropdown {
    display: flex !important;
    flex-direction: column !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    position: absolute !important;
    z-index: 999999999 !important;
    background-color: #ffffff !important;
    border: 2px solid #002780 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2) !important;
    padding: 4px 0 6px 0 !important;
    border-radius: 4px !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

html body .is-portal-dropdown .is-portal-item {
    display: block !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: auto !important;
    border-bottom: 1px solid #f1f5f9 !important;
}
html body .is-portal-dropdown .is-portal-item:last-child {
    border-bottom: none !important;
}

html body .is-portal-dropdown .is-portal-link {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    line-height: 1.3 !important;
    text-decoration: none !important;
    pointer-events: auto !important;
    white-space: nowrap !important;
}
html body .is-portal-dropdown .is-portal-link-level-1 {
    padding: 7px 14px !important;
    font-weight: 600 !important;
    font-size: 12.5px !important;
}
html body .is-portal-dropdown .is-portal-link-level-2 {
    padding: 6px 12px !important;
    font-weight: 500 !important;
    font-size: 12px !important;
}
html body .is-portal-dropdown .is-portal-link-level-3 {
    padding: 6px 12px !important;
    font-weight: 400 !important;
    font-size: 11.5px !important;
}

html body .is-portal-dropdown .is-portal-sub-ul {
    display: none !important;
    position: absolute !important;
    left: 100% !important;
    top: -2px !important;
    height: auto !important;
    max-height: none !important;
    min-height: 100% !important;
    overflow: visible !important;
    background-color: #ffffff !important;
    border: 2px solid #002780 !important;
    box-shadow: 10px 10px 30px rgba(0,0,0,0.18) !important;
    border-radius: 0 6px 6px 6px !important;
    padding: 4px 0 6px 0 !important;
    pointer-events: auto !important;
    box-sizing: border-box !important;
}

html body .is-portal-dropdown .is-active-parent > .is-portal-sub-ul {
    display: block !important;
}
