/* navbar overrides, prevent clipped navbar items */
.main-menu .menu-item > a {
    padding: 1rem 1.15rem !important;
}

/* Mobile navbar, beware */
@media screen and (min-width: 980px) and (max-width: 1023px) {
    /* stuff displayed when mobile */
    .mobile-nav-button {
        display: flex !important;
    }

    .logo {
        flex: 1 !important;
        order: 2 !important;
    }

    .dynamic-dropdown-wrapper.main-menu-wrapper {
        order: unset !important;
        flex: unset !important
    }
    
    
    /* stuff hidden when mobile */
    .menu.main-menu.dynamic-dropdown.hidden,
    .user-settings,
    .icon-group-item.menu-item.search-item,
    .icon-group-item.menu-item.broadcasts-item {
        display: none !important;
    }

    /* mobile navbar hamburger menu layout */
    .top-nav .search-form.mobile {
        display: block !important;
    }
    .top-nav ul.menu.main-menu.slide {
        left: 0 !important;
    }

    .top-nav ul.menu:not(.icon-group):not(.mobile) {
        flex: 1 !important;
    }

    .top-nav ul.menu.main-menu {
        border-radius: 2px !important;
    }

    .top-nav ul.menu.main-menu {
        display: block !important;
        left: -20rem !important;
        position: absolute !important;
        top: 65px !important;
        z-index: 2 !important;
        margin: 0 !important;
        width: 20rem !important;
        transition: left .3s !important;
        background-color: #ffffff !important;
        height: calc(100vh - 64px) !important;
        box-shadow: 0 9px 15px rgba(132, 131, 161, 0.5) !important;
    }

    .top-nav ul.menu {
        padding: 0 !important;
    }

    .top-nav ul.menu.main-menu .menu-item:after, 
    .top-nav ul.menu.main-menu .dropdown-list > li:after {
        content: "" !important;
        position: absolute !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 2px !important
    }

    .top-nav ul.menu.main-menu .menu-item, 
    .top-nav ul.menu.main-menu .dropdown-list > li {
        display: block !important;
        position: relative !important;
        height: auto !important;
    }

    .top-nav .nav-search form {
        padding: 1rem 1rem 1.5rem !important;
    }

    .top-nav .search-form.mobile label {
        font-size: .75rem !important;
        text-transform: uppercase !important;
    }

    .top-nav .search-form.mobile .select2 {
        margin-bottom: 5px !important;
        width: 13rem !important;
        height: auto !important;
    }

    .top-nav .search-form.mobile input {
        display: inline-block !important;
        width: 13rem !important;
        height: auto !important;
        font-size: 14px !important;
    }

    .main-menu .menu-item > a {
        padding: 1rem 1rem !important;
    }

    .top-nav ul.menu.main-menu .menu-item button:not(.search-button),
    .top-nav ul.menu.main-menu .dropdown-list > li button:not(.search-button),
    .top-nav ul.menu.main-menu .menu-item > a,
    .top-nav ul.menu.main-menu .dropdown-list > li > a {
        padding: 1rem 1rem !important;
        width: 100% !important;
        text-align: left !important;
        color: #303030 !important;
        background: transparent !important;
    }

    .top-nav ul.menu .menu-item button:not(.search-button), 
    .top-nav ul.menu .menu-item > a {
        margin: 0 !important;
    }

    .top-nav ul.menu.main-menu .dropdown, 
    .top-nav ul.menu.main-menu .dynamic-dropdown {
        position: static !important;
        margin: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .top-nav ul.menu.main-menu .dropdown {
        margin: 0 !important;
        width: 100% !important;
    }

    .main-menu .menu-dropdown .dropdown-down {
        max-height: 12rem !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    .top-nav ul.menu.main-menu .dropdown-list li {
        padding: 0 1rem !important;
    }

    /* User dropdown menu */
    .top-nav .icon-group .user-menu.slide {
        right: 0 !important;
    }

    .top-nav .icon-group .user-menu {
        top: 65px !important;
        right: -20rem !important;
        left: auto !important;
        width: 20rem !important;
        height: calc(100vh - 64px) !important;
        box-shadow: 0 9px 15px rgba(132, 131, 161, 0.5) !important;
    }

    .top-nav .icon-group .user-menu .dynamic-dropdown-list {
        padding: 0 !important;
    }

    .top-nav .desktop-only {
        display: none !important;
    }

    .top-nav .user-settings.mobile {
        display: block !important;
    }

    .top-nav .icon-group .user-menu .user-settings .role-button {
        display: flex !important;
        justify-content: center !important;
        position: relative !important;
        height: 4rem !important;
        overflow: hidden !important;
        border-width: 0 0 1px 0 !important;
        border-style: solid !important;
        border-color: #fbfbfb !important;
        outline: none !important;
        font-size: 10px !important;
        color: #303030 !important;
        background: rgba(230, 225, 197, 0.1) !important;
        transition: border-color ease-in-out 0.1s 0.2s !important;
    }

    .top-nav .icon-group .user-menu .user-settings .role-button {
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: .9rem 1.5rem !important;
    }

    .top-nav ul.menu .menu-item button:not(.search-button), 
    .top-nav ul.menu .menu-item > a {
        margin: 0 !important;
    }

    .top-nav .user-settings .role {
        font-size: unset !important;
        background: unset !important;
    }

    .top-nav .user-settings button:after {
        display: none !important;
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        right: 1.5rem !important;
        transform: translateY(-50%) !important;
        width: 13px !important;
        height: 9px !important;
        background-image: url(/assets/nav/icon-identity-expand-0eb3d00e60a78e41efc8ae9cd23c986a26f4e66ddf30a35ce2f73bfbf8055279.svg) !important;
        background-repeat: no-repeat !important;
        background-size: cover !important;
    }

    .top-nav .mobile-only {
        display: list-item !important;
    }

    .top-nav .icon-group .user-menu .user-settings .role {
        padding: 0 !important;
    }

    .top-nav ul.menu .menu-item .dropdown {
        box-shadow: unset !important;
    }

    .top-nav .user-settings .role .role-type {
        padding: 5px 5px 2px !important;
        border-radius: 2px !important;
        background-color: transparent !important;
        font-size: 11px !important;
        color: #2f9ec6 !important;
        text-transform: uppercase !important;
    }

    .top-nav .user-settings .act-as-container {
        display: block !important;
    }

    .top-nav .user-settings .act-as-container div.act-as-type {
        border-top: 1px solid #dcdcdc !important;
        border-bottom: 0 !important;
    }

    .top-nav .user-settings .act-as-container div.act-as-type .act-as-button {
        padding: .7rem 0 0 1.5rem !important;
        width: 100% !important;
        height: 3rem !important;
    }

    .top-nav .user-settings .act-as-container div.act-as-type.open .act-as-button {
        border-bottom: 1px solid #dcdcdc !important;
        transition: none !important;
    }

    .top-nav .user-settings .act-as-container div.act-as-type .act-as-button {
        border-bottom: 1px solid #fbfbfb !important;
        background: rgba(230, 225, 197, 0.05) !important;
        transition: border-color ease-in-out 0.1s 0.2s !important;
    }

    .top-nav .user-settings .act-as-container div.act-as-type .act-as-button span:nth-of-type(2) {
        top: 24px !important;
        font-size: .75rem !important;
    }

    .top-nav .dynamic-dropdown .dropdown {
        max-height: none !important;
    }

    .top-nav .user-settings .act-as-container div.act-as-type:last-child {
        border-bottom: 1px solid #dcdcdc !important;
    }

    .top-nav .user-settings .act-as-container div.act-as-type .dropdown {
        position: static !important;
        top: 3rem !important;
        width: 20rem !important;
        box-shadow: unset !important;
    }

    .top-nav .dynamic-dropdown:not(.main-menu) .dynamic-dropdown-list li {
        padding: 0 !important;
        position: relative !important;
    }

    .top-nav .user-settings .act-as-container div.act-as-type a.action-item {
        position: relative !important;
    }

    .top-nav .dynamic-dropdown:not(.main-menu) .dynamic-dropdown-list a.action-item {
        background-color: transparent !important;
        font-size: .75rem !important;
        text-transform: uppercase !important;
        color: #303030 !important;
    }

    .top-nav .user-settings .dropdown-wrapper.open button:after {
        transform: rotate(180deg) !important;
        top: 40% !important;
        right: 1.55rem !important;
    }

    .top-nav .user-settings .act-as-container div.act-as-type a.action-item:before {
        display: none !important;
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        right: 1.55rem !important;
        transform: translateY(-50%) !important;
        width: 13px !important;
        height: 13px !important;
        background-image: url(/assets/nav/icon-grid-307d7c0ea5c3b6e667b5a5badb81b059b8add2c9fb188993f189eb1b5bc26d23.svg) !important;
        background-repeat: no-repeat !important;
        background-size: cover !important;
    }

    .top-nav .user-settings .act-as-container div.act-as-type a.action-item {
        position: relative !important;
    }

    .top-nav ul.menu .menu-item .dropdown-list li {
        font-size: .75rem !important;
    }

    .top-nav .dynamic-dropdown:not(.main-menu) .dynamic-dropdown-list li {
        padding: 0 !important;
    }

    .top-nav .icon-group .user-menu li {
        position: relative !important;
        padding: 1rem 1rem !important;
    }

    .top-nav .icon-group .user-menu .session li.locale-link:before {
        background-image: url(/assets/nav/icon-language-b67d450a426afbaf2aa2eecacaa9f2ab0b345580b6b1564634fa381b4bc8d9b6.svg) !important;
    }

    .top-nav .dynamic-dropdown:not(.main-menu) .dynamic-dropdown-list .dropdown-list {
        margin: 0 !important;
        padding: 0 !important;
    }

    .top-nav .icon-group .user-menu .session li:before {
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        right: 1.55rem !important;
        transform: translateY(-50%) !important;
        width: 13px !important;
        height: 13px !important;
        background-repeat: no-repeat !important;
        background-size: cover !important;
        cursor: pointer !important;
        pointer-events: none !important;
    }

    .top-nav .dynamic-dropdown:not(.main-menu) .dynamic-dropdown-list a {
        width: 100% !important;
        padding: 1rem 1.5rem 1rem !important;
    }

    .top-nav .icon-group .user-menu .session li.locale-link:after {
        left: auto !important;
        width: 100% !important;
    }

    .top-nav .icon-group .user-menu .session li.locale-link:after {
        background-color: #dcdcdc !important;
    }

    .top-nav .icon-group .user-menu li:after {
        content: "" !important;
        position: absolute !important;
        bottom: 0 !important;
        height: 1px !important;
    }

    .top-nav .icon-group .user-menu .session li.logout-link:before {
        right: 1.55rem !important;
        background-image: url(/assets/nav/icon-identity-unset-45b2baea27a067c518dfc32cfdf3c534a0afaa69ee890bdf6679b356a892fb7c.svg) !important;
        width: 13px !important;
        height: 13px !important;
        background-size: cover !important;
    }

    .top-nav .icon-group .user-menu .session li:before {
        content: "" !important;
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        background-repeat: no-repeat !important;
        cursor: pointer !important;
        pointer-events: none !important;
    }

    .top-nav .dynamic-dropdown:not(.main-menu) .dynamic-dropdown-list a.action-item:hover {
        background-color: transparent !important;
    }

    .top-nav ul.menu .menu-item .dropdown-list a:hover {
        color: #2f9ec6 !important;
        background: rgba(47, 158, 198, 0.1) !important;
    }

    .top-nav .icon-group .user-menu .session li.logout-link a:hover {
        color: #cc3e4a !important;
    }

}

@media screen and (min-width: 1160px) {
    .logo a {
        margin-left: 0 !important;
    }

    .dynamic-dropdown-wrapper.main-menu-wrapper {
        flex: 1 1 auto !important;
    }

    .menu.main-menu.dynamic-dropdown {
        padding: 0 !important;
    }

    .main-menu .menu-item > a {
        padding: 1rem 0.8rem !important;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1160px) {
    .logo a {
        margin-left: 0px !important;
    }

    .logo img {
        max-width: unset !important;
    }

    .top-nav div:nth-child(4) {
        max-width: 230px !important;
    }

    .main-menu {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .menu.main-menu.dynamic-dropdown {
        padding: 0 !important;
    }

    .main-menu .menu-item > a {
        padding: 1rem 0.7rem !important;
    }

    .icon-group {
        padding-left: .2rem !important;
        padding-right: .2rem !important;
    }

    .dropdown-wrapper .button {
        padding: 1rem 5px !important;
    }
}

@media screen and (min-width: 1030px) and (max-width: 1080px) {
    .main-menu .menu-item > a {
        padding: 1rem 0.35rem !important;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1030px) {
    .main-menu .menu-item > a {
        padding: 1rem 0.1rem !important;
    }
}

@media screen and (min-width: 1024px) and (max-width: 1040px) {
    .menu.main-menu.dynamic-dropdown {
        justify-content: space-between !important;
    }
}

@media screen and (max-width: 979px) {
    .main-menu .menu-dropdown .dropdown-down {
        max-height: 12rem;
    	overflow-y: auto;
        overflow-x: hidden;
    }

    .main-menu .menu-item > a {
        padding: 1rem 1rem !important;
    }
}