/* APM Mobile Hamburger Nav
   Desktop is intentionally left alone. These rules only apply on mobile/tablet widths. */

.apm-mobile-menu-toggle,
.apm-submenu-toggle {
    display: none;
}

@media (max-width: 782px) {
    body.apm-mobile-nav-ready .apm-mobile-nav {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 999 !important;
        background: #07476d !important;
        clear: both !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav * {
        box-sizing: border-box !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-menu-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
        width: 100% !important;
        min-height: 48px !important;
        padding: 13px 18px !important;
        margin: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: #07476d !important;
        color: #fff !important;
        font-size: 17px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
        letter-spacing: .02em !important;
        cursor: pointer !important;
        box-shadow: none !important;
        text-align: left !important;
        appearance: none !important;
        -webkit-appearance: none !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-menu-toggle:focus-visible {
        outline: 3px solid #ffb31a !important;
        outline-offset: -3px !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-menu-icon {
        display: inline-flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 5px !important;
        width: 28px !important;
        height: 24px !important;
        flex: 0 0 auto !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-menu-icon span {
        display: block !important;
        width: 28px !important;
        height: 3px !important;
        border-radius: 3px !important;
        background: #fff !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-menu-label {
        flex: 1 1 auto !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav > ul,
    body.apm-mobile-nav-ready .apm-mobile-nav .apm-nav-list,
    body.apm-mobile-nav-ready .apm-mobile-nav ul.menu {
        display: none !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        background: #07476d !important;
        overflow: visible !important;
        white-space: normal !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav.apm-mobile-open > ul,
    body.apm-mobile-nav-ready .apm-mobile-nav.apm-mobile-open .apm-nav-list,
    body.apm-mobile-nav-ready .apm-mobile-nav.apm-mobile-open ul.menu {
        display: flex !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav li {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        float: none !important;
        white-space: normal !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav > ul > li,
    body.apm-mobile-nav-ready .apm-mobile-nav .apm-nav-list > li,
    body.apm-mobile-nav-ready .apm-mobile-nav ul.menu > li {
        border-top: 1px solid rgba(255,255,255,.18) !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav li > a {
        display: block !important;
        width: 100% !important;
        min-height: 46px !important;
        padding: 13px 48px 13px 18px !important;
        margin: 0 !important;
        background: transparent !important;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        white-space: normal !important;
        box-shadow: none !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav li > a:focus-visible {
        outline: 3px solid #ffb31a !important;
        outline-offset: -3px !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav li > a:hover,
    body.apm-mobile-nav-ready .apm-mobile-nav li.apm-submenu-open > a {
        background: #0b5b88 !important;
        color: #fff !important;
    }

    body.apm-mobile-nav-ready .apm-submenu-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        width: 46px !important;
        height: 46px !important;
        min-height: 46px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-left: 1px solid rgba(255,255,255,.18) !important;
        border-radius: 0 !important;
        background: rgba(0,0,0,.12) !important;
        color: #fff !important;
        font-size: 24px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
        cursor: pointer !important;
        box-shadow: none !important;
        appearance: none !important;
        -webkit-appearance: none !important;
        z-index: 2 !important;
    }

    body.apm-mobile-nav-ready .apm-submenu-toggle:focus-visible {
        outline: 3px solid #ffb31a !important;
        outline-offset: -3px !important;
    }

    body.apm-mobile-nav-ready .apm-submenu-toggle::before {
        content: '+' !important;
        display: block !important;
    }

    body.apm-mobile-nav-ready li.apm-submenu-open > .apm-submenu-toggle::before {
        content: '–' !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav li > ul,
    body.apm-mobile-nav-ready .apm-mobile-nav li > .sub-menu,
    body.apm-mobile-nav-ready .apm-mobile-nav li > .children,
    body.apm-mobile-nav-ready .apm-mobile-nav li > .apm-dropdown,
    body.apm-mobile-nav-ready .apm-mobile-nav li > .apm-nav-dropdown,
    body.apm-mobile-nav-ready .apm-mobile-nav li > .apm-mega,
    body.apm-mobile-nav-ready .apm-mobile-nav li > .apm-mega-menu,
    body.apm-mobile-nav-ready .apm-mobile-nav li > .apm-layered-nav,
    body.apm-mobile-nav-ready .apm-mobile-nav li > .apm-style-menu {
        display: none !important;
        position: static !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        background: #053858 !important;
        border: 0 !important;
        box-shadow: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        overflow: visible !important;
        white-space: normal !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav li.apm-submenu-open > ul,
    body.apm-mobile-nav-ready .apm-mobile-nav li.apm-submenu-open > .sub-menu,
    body.apm-mobile-nav-ready .apm-mobile-nav li.apm-submenu-open > .children,
    body.apm-mobile-nav-ready .apm-mobile-nav li.apm-submenu-open > .apm-dropdown,
    body.apm-mobile-nav-ready .apm-mobile-nav li.apm-submenu-open > .apm-nav-dropdown,
    body.apm-mobile-nav-ready .apm-mobile-nav li.apm-submenu-open > .apm-mega,
    body.apm-mobile-nav-ready .apm-mobile-nav li.apm-submenu-open > .apm-mega-menu,
    body.apm-mobile-nav-ready .apm-mobile-nav li.apm-submenu-open > .apm-layered-nav,
    body.apm-mobile-nav-ready .apm-mobile-nav li.apm-submenu-open > .apm-style-menu {
        display: block !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav li li {
        border-top: 1px solid rgba(255,255,255,.12) !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav li li > a {
        min-height: 42px !important;
        padding: 11px 18px 11px 32px !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        text-transform: none !important;
        background: transparent !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav li li > a:hover {
        background: #0b5b88 !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav .apm-generated-style-menu {
        display: none !important;
    }

    body.apm-mobile-nav-ready .apm-mobile-nav li.apm-submenu-open > .apm-generated-style-menu {
        display: block !important;
    }
}
