/* Scoped to Astra header navigation; theme controls open/close behavior. */
body.usb-spmi-dropdown-fix #masthead .main-header-menu .sub-menu,
body.usb-spmi-dropdown-fix #ast-mobile-popup .main-header-menu .sub-menu {
    box-sizing: border-box;
    background: #ffffff !important;
    color: #17324f !important;
    border: 1px solid #e3e9ef !important;
}
body.usb-spmi-dropdown-fix #masthead .main-header-menu .sub-menu > .menu-item > .menu-link,
body.usb-spmi-dropdown-fix #ast-mobile-popup .main-header-menu .sub-menu > .menu-item > .menu-link {
    box-sizing: border-box;
    color: #17324f !important;
    -webkit-text-fill-color: #17324f !important;
    background: #ffffff !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    line-height: 1.5 !important;
    padding: 12px 18px !important;
    opacity: 1 !important;
    font-size: 15px;
    text-decoration: none;
}
body.usb-spmi-dropdown-fix #masthead .main-header-menu .sub-menu > .menu-item:hover > .menu-link,
body.usb-spmi-dropdown-fix #masthead .main-header-menu .sub-menu > .menu-item > .menu-link:focus-visible,
body.usb-spmi-dropdown-fix #masthead .main-header-menu .sub-menu > .current-menu-item > .menu-link,
body.usb-spmi-dropdown-fix #ast-mobile-popup .main-header-menu .sub-menu > .menu-item:hover > .menu-link,
body.usb-spmi-dropdown-fix #ast-mobile-popup .main-header-menu .sub-menu > .menu-item > .menu-link:focus-visible,
body.usb-spmi-dropdown-fix #ast-mobile-popup .main-header-menu .sub-menu > .current-menu-item > .menu-link {
    background: #edf3fb !important;
    color: #102e57 !important;
    -webkit-text-fill-color: #102e57 !important;
}
body.usb-spmi-dropdown-fix #masthead .sub-menu .menu-link:focus-visible,
body.usb-spmi-dropdown-fix #ast-mobile-popup .sub-menu .menu-link:focus-visible {
    outline: 2px solid #234d82;
    outline-offset: -3px;
}
body.usb-spmi-dropdown-fix #masthead .main-header-menu .sub-menu > .menu-item > .ast-menu-toggle,
body.usb-spmi-dropdown-fix #ast-mobile-popup .main-header-menu .sub-menu > .menu-item > .ast-menu-toggle {
    color: #17324f !important;
    background: transparent !important;
}
body.usb-spmi-dropdown-fix #masthead .sub-menu .ast-icon svg,
body.usb-spmi-dropdown-fix #ast-mobile-popup .sub-menu .ast-icon svg {
    fill: currentColor !important;
}
body.usb-spmi-dropdown-fix.ast-desktop #masthead .main-header-menu .sub-menu {
    width: 280px !important;
    min-width: 0 !important;
    max-width: calc(100vw - 32px) !important;
    padding: 6px 0 !important;
    border-top: 3px solid #f0c62e !important;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 10px 28px rgba(16, 46, 87, .16);
    z-index: 1000;
}
/* Keyboard access follows the same submenu placement as Astra hover. */
body.usb-spmi-dropdown-fix.ast-desktop #masthead .main-header-menu .menu-item:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
}
body.usb-spmi-dropdown-fix.ast-desktop #masthead .main-header-menu > .menu-item:focus-within > .sub-menu {
    left: 0;
    right: auto;
}
body.usb-spmi-dropdown-fix.ast-desktop #masthead .main-header-menu .sub-menu > .menu-item:focus-within > .sub-menu {
    left: 100%;
    right: auto;
}
body.usb-spmi-dropdown-fix.ast-desktop #masthead .main-header-menu > .ast-left-align-sub-menu:focus-within > .sub-menu {
    left: auto;
    right: 0;
}
body.usb-spmi-dropdown-fix.ast-desktop #masthead .main-header-menu .ast-sub-menu-goes-outside:focus-within > .sub-menu,
body.usb-spmi-dropdown-fix.ast-desktop #masthead .main-header-menu .ast-left-align-sub-menu .sub-menu > .menu-item:focus-within > .sub-menu {
    left: -100%;
    right: auto;
}
body.usb-spmi-dropdown-fix.ast-header-break-point #masthead .main-header-menu .sub-menu,
body.usb-spmi-dropdown-fix.ast-header-break-point #ast-mobile-popup .main-header-menu .sub-menu {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border-radius: 0;
    box-shadow: none;
}

/* White backing for the original logo. Theme logo selection remains intact. */
body.usb-spmi-dropdown-fix #masthead .site-branding .site-logo-img {
    display: inline-block;
    box-sizing: border-box;
    max-width: 100%;
    padding: 6px 6px !important;
    line-height: 0;
    vertical-align: middle;
    background: #ffffff !important;
    border: 1px solid #e3e9ef;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(16, 46, 87, .12);
}
body.usb-spmi-dropdown-fix #masthead .site-branding .site-logo-img img {
    vertical-align: middle;
}
body.usb-spmi-dropdown-fix.ast-header-break-point #masthead .site-branding .site-logo-img {
    padding: 6px 9px !important;
    border-radius: 8px;
}

/* Keep room for desktop navigation on small laptop screens. */
@media (max-width: 1100px) {
    body.usb-spmi-dropdown-fix.ast-desktop #masthead .site-branding .site-logo-img img {
        width: 160px;
        height: auto;
    }
}
body.usb-spmi-dropdown-fix.ast-desktop #masthead .main-header-menu > .menu-item:last-child:hover > .sub-menu,
body.usb-spmi-dropdown-fix.ast-desktop #masthead .main-header-menu > .menu-item:last-child.focus > .sub-menu,
body.usb-spmi-dropdown-fix.ast-desktop #masthead .main-header-menu > .menu-item:last-child:focus-within > .sub-menu {
    left: auto;
    right: 0;
}

/* Document menus open their next level inward to stay inside the viewport. */
body.usb-spmi-dropdown-fix.ast-desktop #masthead .main-header-menu > .menu-item:nth-child(n+3) .sub-menu > .menu-item:is(:hover, .focus, :focus-within) > .sub-menu {
    left: auto;
    right: 100%;
}
