/* Desktop top-level menus open by disclosure click or keyboard focus, never by hover alone. */
.navigation .menu > li > .sub-menu,
.navigation .menu > li > .mega-menu {
    pointer-events: none;
}

.navigation .menu > li:hover:not(.is-open):not(:focus-within) > .sub-menu,
.navigation .menu > li:hover:not(.is-open):not(:focus-within) > .mega-menu {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.navigation .menu > li.is-escape-closed > .sub-menu,
.navigation .menu > li.is-escape-closed > .mega-menu {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.navigation .menu > li.menu-item-has-children:hover:not(.is-open):not(:focus-within) > a:before {
    visibility: hidden !important;
    opacity: 0 !important;
}

.navigation .menu > li.is-open > .sub-menu,
.navigation .menu > li.is-open > .mega-menu,
.navigation .menu > li:focus-within:has(:focus-visible) > .sub-menu,
.navigation .menu > li:focus-within:has(:focus-visible) > .mega-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.navigation .menu > li.menu-item-has-children > .sub-toggle {
    position: relative;
    z-index: 2;
    display: inline-block;
    width: 24px;
    height: 50px;
    margin-left: -18px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--header-text-color, #253d4e);
}

.navigation .menu > li.menu-item-has-children > .sub-toggle:before {
    display: none;
}

.navigation .menu > li.menu-item-has-children > .sub-toggle:after {
    position: static;
    display: block;
    width: 7px;
    height: 7px;
    margin: -4px auto 0;
    border: 0;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    background: transparent;
    content: "";
    transform: rotate(45deg);
}

.navigation .menu > li.menu-item-has-children > .sub-toggle:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -4px;
}
