/* Preserve the existing city bar while making its controls work independently. */
.community-menu::after {
    content: "";
    display: table;
    clear: both;
}

.community-menu #main-menu-hamburger,
.community-menu #menu-main-menu > li > .cw-community-toggle {
    -webkit-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    text-shadow: none;
    font: inherit;
    line-height: inherit;
    background: transparent;
    color: #fff;
    cursor: pointer;
}

.community-menu #main-menu-hamburger {
    padding: 0;
    margin: 0;
    min-width: 44px;
    min-height: 44px;
}

.community-menu #main-menu-hamburger img {
    display: block;
    width: 40px;
    height: auto;
    margin: 0 auto;
}

.community-menu #menu-main-menu > li > .cw-community-toggle {
    display: block;
    padding: 3px 10px;
    margin: 0;
    text-align: center;
}

.community-menu #menu-main-menu > li > .cw-community-toggle.current,
.community-menu #menu-main-menu > li > .cw-community-toggle:hover,
.community-menu #menu-main-menu > li > .cw-community-toggle[aria-expanded="true"]:not(:disabled) {
    background: #043060;
    color: #fff;
}

.community-menu button:focus-visible,
.community-menu a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -3px;
}

.community-menu #main-menu-hamburger[hidden],
.community-menu #menu-main-menu[hidden],
.community-menu .sub-menu[hidden] {
    display: none !important;
}

.community-menu #menu-main-menu > li.cw-nav-group-open > .sub-menu,
.community-menu:not(.cw-nav-enhanced) #menu-main-menu > li:hover > .sub-menu,
.community-menu:not(.cw-nav-enhanced) #menu-main-menu > li:focus-within > .sub-menu {
    display: block;
}

/* Native main-header navigation already has mouse hover; retain keyboard access. */
.main-menu[role="navigation"] .menu .menu-item:focus-within > .sub-menu {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

@media screen and (max-width: 770px) {
    .community-menu.cw-nav-enhanced #menu-main-menu:not([hidden]),
    .community-menu:not(.cw-nav-enhanced) #menu-main-menu {
        display: block;
        clear: both;
    }

    .community-menu:not(.cw-nav-enhanced) #main-menu-hamburger {
        display: none;
    }

    .community-menu #menu-main-menu > li > .cw-community-toggle {
        width: 100%;
        text-align: left;
    }

    .community-menu #menu-main-menu > li > .cw-community-toggle:disabled:not(.current) {
        background: transparent;
    }

    .community-menu #menu-main-menu > li > .cw-community-toggle:disabled {
        opacity: 1;
        color: #fff;
        -webkit-text-fill-color: #fff;
        cursor: default;
    }
}

@media screen and (min-width: 771px) {
    .community-menu #menu-main-menu > li > .sub-menu {
        top: 100%;
    }
}

/* Only city-navigation pages need dropdowns beyond their desktop content box. */
@media screen and (min-width: 771px) {
    .stack-page-content.cw-city-nav-stack,
    .stack-page-content.cw-city-nav-stack .main > .inner.cw-city-nav-content {
        overflow: visible;
        display: flow-root;
    }
}
