nav {
    display: flex;
    padding: 0;
}

nav>* {
    align-self: center;
}

nav>span {
    margin-left: auto;
    color: #2356a7;
}

nav>span {
    cursor: pointer;
}

nav>span>small:not(:first-child)::before {
    content: "|";
    margin: 0 0.5em;
}

header nav {
    padding: 0 0 0.75em 0;
    gap: 1em;
}

nav#tabs {
    background-color: #2356a7;
    color: #fff;
    user-select: none;
}

nav#tabs .tab {
    position: relative;
    border-right: 1px solid #6589c2;
    width: 17.5em;
}

nav#tabs .tab-title {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    /* justify-content: center; */
    font-weight: bold;
    padding: 1em;
}

nav#tabs .tab.filtered:not(.open) {
    color: #fff;
    background-color: #003b87;
}

nav#tabs .tab.open {
    color: #2356a7;
    background-color: #fff;
}

nav#tabs .tab .tab-options {
    position: absolute;
    left: -1px;
    background-color: #fff;
    color: #2356a7;
    border: 1px solid #6589c2;
    border-top: 0;
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
    box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.5);
}

nav#tabs .tab .tab-options li {
    padding: 1em 0;
    display: flex;
    justify-content: space-between;
    cursor: pointer;
    margin: 0 1em;
}

nav#tabs .tab svg {
    width: 1.4em;
    height: 1.4em;
    flex-shrink: 0;
    /* Prevents SVG from shrinking */
}

nav#tabs .tab .tab-options li {
    border-top: 1px solid #6589c2;
}

nav#tabs .tab .tab-options li.selected {
    color: #2356a7;
}

nav#tabs .tab-title {
    font-size: 1em;
}

nav#tabs .tab-options li {
    font-size: 0.9em;
}

nav#tabs .tab-options svg {
    margin-right: 0.375em;
}

.tab.mobile-search input {
    width: calc(100% - 3.5em);
    border-radius: 0.5em;
    height: 2.5em;
    font-size: 1em;
    border: 1px solid #fff4;
    background-color: #0000;
    padding: 0 0.5em;
    color: #fff;
}

.tab.mobile-search input:focus {
    background-color: #fff;
    color: #000;
}

.tab.mobile-search input::placeholder {
    color: #fff8;
}

.tab.mobile-search input:focus::placeholder {
    color: #8888;
}

.tab.mobile-search svg {
    align-self: center;
}

.search-input {
    display: flex;
    align-items: stretch;
    gap: 0.5em;
    padding: 0.25em 0.5em;
    background-color: #ddd;
    border-radius: 0.25em;
}

.search-input input {
    border: none;
    background-color: transparent;
    flex-grow: 1;
    font-size: 1rem;
    font-family: "Noto Sans", sans-serif;
}

.mobile-search-div {
    width: calc(100% - 3.5em);
    border: 2px solid #fff4;
    border-radius: 0.5em;
    padding: 0.5em;
    font-weight: normal;
    color: #fff8;
}

/* Layout specific media queries */
@media only screen and (max-width: 1279px) {
    body.overlay nav#tabs {
        display: none;
    }

    nav#tabs {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 9999;
    }

    nav#tabs .tab-title {
        font-size: 1.25em;
    }

    small#search-toggle {
        display: none;
    }

    nav#tabs {
        flex-direction: column;

        .tab {
            width: 100% !important;
            border-right: 0;
        }
    }

    nav#tabs:not(.showfilters) .tab:not(.mobile-toggle) {
        display: none;
    }

    nav#tabs.showfilters {
        position: fixed;
        top: 0;
        left: 0;
        margin-left: 0;
        width: 100%;
        height: 100vh;
        background-color: #2356a7;
        z-index: 9999;
        overflow-y: auto;
    }

    nav#tabs .tab .tab-options {
        position: relative;
        left: 0;
        box-shadow: none;
        border: none;
        border-top: 1px solid #6589c2;
    }

    nav#tabs .tab.open {
        position: relative;
        z-index: 1;
    }
}

@media only screen and (min-width: 1280px) {
    .tab.mobile-search, .tab.language {
        display: none;
    }

    nav#tabs .tab:nth-child(2) {
        margin-left: 0.5em;
        border-left: 1px solid #6589c2;
    }

    nav#tabs .tab:last-child {
        margin-right: 0.5em;
    }

    nav#tabs .mobile-toggle {
        display: none;
    }
}

@media only screen and (max-width: 767px) {
    nav#tabs .tab-title {
        font-size: clamp(1em, 3.5vw, 1.5em);
    }

    nav#tabs .tab-options li {
        font-size: clamp(0.9em, 3vw, 1.25em);
    }
}