/* English only. The desktop and Spanish menus retain their existing styles. */
.cis-mobile-navigation,
.cis-menu-close-label {
    display: none;
}

@media (max-width: 991.98px) {
    .cis-text-navigation .cis-desktop-navigation {
        display: none !important;
    }

    .cis-text-navigation .cis-mobile-navigation,
    .cis-text-navigation .cis-mobile-navigation ul {
        display: block;
        list-style: none;
        margin: 0;
        padding: 0;
        background: #fff;
        text-align: left;
    }

    .cis-text-navigation .cis-mobile-navigation a,
    .cis-text-navigation .cis-mobile-navigation h2 {
        display: block;
        margin: 0;
        padding: 10px 0;
        min-height: 44px;
        font-family: inherit;
        font-size: 21px;
        font-weight: 400;
        line-height: 1.2;
        color: #808080;
        background: #fff;
        text-align: left;
        overflow-wrap: anywhere;
    }

    .cis-text-navigation .cis-mobile-navigation h2 {
        padding: 0;
        min-height: 0;
        font-weight: 700;
    }

    .cis-text-navigation .cis-mobile-section-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        width: 100%;
        min-height: 44px;
        margin: 0;
        padding: 10px 0;
        border: 0;
        border-radius: 0;
        font: inherit;
        color: inherit;
        background: #fff;
        text-align: left;
        cursor: pointer;
    }

    .cis-text-navigation .cis-mobile-section-toggle:focus:not(:focus-visible) {
        outline: none;
    }

    .cis-text-navigation .cis-mobile-section-chevron {
        flex: 0 0 8px;
        height: 8px;
        margin-right: 4px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(225deg);
    }

    .cis-text-navigation .cis-mobile-section-toggle[aria-expanded="false"] .cis-mobile-section-chevron {
        transform: rotate(45deg);
    }

    .cis-text-navigation .cis-mobile-navigation ul[hidden] {
        display: none;
    }

    .cis-text-navigation .cis-mobile-navigation > li > a {
        color: #1f2937;
    }

    .cis-text-navigation .cis-mobile-navigation > li + li {
        border-top: 1px solid #ececec;
    }

    .cis-text-navigation .cis-mobile-navigation .cis-mobile-section {
        padding: 5px 0;
    }

    .cis-text-navigation .cis-mobile-navigation ul a {
        padding-left: 18px;
        color: #1f2937;
        font-size: 20px;
    }

    .cis-text-navigation .cis-mobile-navigation a:hover,
    .cis-text-navigation .cis-mobile-navigation a[aria-current="page"] {
        text-decoration: underline;
    }

    .cis-text-navigation a:focus-visible,
    .cis-text-navigation button:focus-visible {
        outline: 2px solid #0073ae;
        outline-offset: -2px;
    }

    html.cis-mobile-menu-open,
    html.cis-mobile-menu-open body {
        overflow: hidden;
    }

    nav.navbar.cis-text-navigation.cis-mobile-menu-open {
        position: fixed !important;
        inset: 0 !important;
        z-index: 10001 !important;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        max-height: none;
        margin: 0 !important;
        padding: env(safe-area-inset-top, 0px) 20px env(safe-area-inset-bottom, 0px);
        border: 0;
        background: #fff !important;
        overflow: hidden;
    }

    .cis-text-navigation.cis-mobile-menu-open #navbarContent {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-rows: 80px minmax(0, 1fr);
        align-items: center;
        gap: 0 12px;
        width: 100%;
        max-width: 720px;
        height: 100%;
    }

    .cis-text-navigation.cis-mobile-menu-open .navbar-brand {
        display: block !important;
        max-width: 245px;
        margin: 0;
        padding: 0;
    }

    .cis-text-navigation.cis-mobile-menu-open .logo-width {
        max-width: 100%;
        max-height: 60px;
        width: auto;
        height: auto;
    }

    .cis-text-navigation.cis-mobile-menu-open .navbar-toggler {
        min-width: 44px;
        min-height: 44px;
        padding: 8px 0 8px 8px;
        border: 0;
        color: #808080;
        font-size: 18px;
    }

    .cis-text-navigation.cis-mobile-menu-open .navbar-toggler-icon {
        display: none;
    }

    .cis-text-navigation.cis-mobile-menu-open .cis-menu-close-label {
        display: inline;
    }

    .cis-text-navigation.cis-mobile-menu-open .navbar-collapse {
        grid-column: 1 / -1;
        align-self: stretch;
        height: auto !important;
        max-height: none;
        padding: 0 0 16px;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: #fff;
    }
}

/* The Requirements label and chevron share one submenu toggle. */
@media (min-width: 992px) {
    .cis-desktop-navigation .cis-requirements-item { display: flex; align-items: stretch; position: relative; }
    .cis-desktop-navigation .cis-requirements-item > .nav-link { padding-right: 6px; }
    .cis-requirements-desktop-toggle { display: flex; align-items: center; justify-content: center; gap: 0; width: auto; padding: 0 12px; border: 0; border-radius: 0; background: transparent; color: #808080; font: inherit; cursor: pointer; }
    .cis-requirements-item.active .cis-requirements-desktop-toggle { color: #fff; background: #fc9012; }
    .cis-desktop-navigation .cis-requirements-item > .dropdown-menu { min-width: 210px; padding: 8px 0; margin-top: 0; border: 1px solid #dae2e6; box-shadow: 0 8px 20px rgba(17,32,43,.12); }
    .cis-requirements-item > .dropdown-menu > .dropdown-item { display: block; padding: 12px 20px; color: #274963; font-size: 16px; white-space: nowrap; }
    .cis-requirements-item > .dropdown-menu > .dropdown-item:hover,
    .cis-requirements-item > .dropdown-menu > .dropdown-item:focus { background: #e0f4fd; }
    .cis-requirements-desktop-toggle:focus-visible { outline: 2px solid #0073ae; outline-offset: -2px; }
}
@media (max-width: 991.98px) {
    .cis-mobile-requirements-row { display: flex; align-items: center; }
    .cis-text-navigation .cis-mobile-requirements-row > a { flex: 1; min-width: 0; color: #1f2937; }
    .cis-text-navigation .cis-mobile-requirements-row > .cis-mobile-requirements-toggle { flex: 1; width: 100%; justify-content: space-between; padding: 10px 0; color: #1f2937; font-family: inherit; font-size: 21px; font-weight: 400; line-height: 1.2; }
}
