
#main-nav {
    display: flex;
    margin: 2vmax;
    align-items: center;
    justify-content: space-between;
}

#main-nav > ul, .dropdown > ul {
    display: flex;
    border-radius: 8px;
    list-style: none;
    border: 2px solid var(--container);
}

#main-nav :is(a, label) {
    padding: 2vmax;
    display: block;
    cursor: pointer;
    color: var(--fg);
    text-decoration: none;
    transition: background 0.2s;
    text-align: center;
}

/* border fixes for first and last navbar items */
#main-nav > ul > li:first-child > :is(a, label) {
    border-radius: 8px 0 0 8px;
}

#main-nav > ul > li:last-child > :is(a, label) {
    border-radius: 0 8px 8px 0;
}

#main-nav li :is(label, a):hover {
    background: var(--team-color);
    color: var(--fg);
}

.logo img {
    width: 18ch;
    vertical-align: middle;
}

.dropdown {
    position: relative;
}

.dropdown input[type=radio] {
    display: none;
}

.dropdown ul {
    position: absolute;
    vertical-align: top;
    width: 100%;
    margin-top: 1vmax;
    background: var(--bg);
    z-index: 2;
    flex-direction: column;
    display: flex;
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s;
}

input[type=radio]:checked + ul {
    opacity: 1;
    pointer-events: all;
}

/* More border fixes for dropdowns */
.dropdown > ul > li:first-child > :is(label, a) {
    border-radius: 8px 8px 0 0;
}

.dropdown > ul > li:last-child > :is(label, a) {
    border-radius: 0 0 8px 8px;
}

#footer {
    margin-top: 2vmax;
    padding: 2vmax;
    background: var(--container);
}

#footer address {
    width: 100%;
}

#footer ul {
    list-style: none;
    justify-content: space-between;
    font-style: normal;
    display: flex;
    gap: 2ch;
}

/* Mobile styles */
@media (max-width: 1000px) {
    #footer,
    #footer ul {
        gap: 2ch;
        text-align: center;
        flex-direction: column;
    }

    #main-nav, #main-nav ul {
        flex-direction: column;
    }

    #main-nav, #main-nav > ul {
        width: 90%;
    }

    #main-nav ul :is(label, a) {
        padding: 1vmax;
    }

    .logo img {
        width: 100%;
    }

    #main-nav {
        margin: 2vmax auto;
    }

    /* opposite border fixes for mobile layout */
    #main-nav > ul > li:first-child > :is(label, a) {
        border-radius: 8px 8px 0 0;
    }

    #main-nav > ul > li:last-child > :is(label, a) {
        border-radius: 0 0 8px 8px;
    }
}
