#outer {
    flex-grow: 1;
    display: flex;
    flex-direction: row;
}

nav#sidebar {
    flex-basis: calc(196px + 1em);
    background-color: var(--color-bg1);
    flex-grow: 0;
    flex-shrink: 0;

    div {
        background-color: var(--color-bg2);
        line-height: 1.5em;
    }

    h2 {
        margin-top: 1em;
        padding: 0 1em;
    }

    a {
        color: var(--color);
        text-decoration: none;
    }

    a.failed {
        color: #777777;
        cursor: not-allowed;
    }

    ul {
        margin: 0;
    }
}

main {
    flex-grow: 1;
    margin: 0 2.5em;
}

nav#sector {
    display: flex;
    flex-direction: row;
    gap: 1em;

    >a {
        position: relative;
        text-decoration: none;
        flex-grow: 1;
        flex-basis: 0;
        background-color: var(--color-bg1);
        color: var(--color);
        text-align: center;
        margin-left: 1lh;
        font-weight: bold;
        font-size: 1.5em;
        height: 1lh;
    }

    >a::before {
        position: absolute;
        left: -1lh;
        content: "";
        display: block;
        height: 1lh;
        aspect-ratio: 1/1;
        background-color: var(--color-bg1);
        clip-path: polygon(100% 0, 100% 100%, 0 100%);
        transform: scale(1.005);
    }
}

hr#sectorbar {
    border: none;
    height: 1em;
    background-color: var(--color-bg1);
    border-bottom: 1px solid var(--color);
    margin: 0 0 0.5em 0;
}

#contents {
    background-color: var(--color-bg2);
}

#main-split {
    display: flex;
    flex-direction: row;
    gap: 0.5em;

    >div {
        flex-grow: 1;
        flex-basis: 0;
        height: fit-content;
        display: flex;
        flex-direction: column;
        gap: 0.5em;

        >div {
            border: 1px solid var(--color);
            background-color: var(--color-bg2);
        }

        p {
            text-align: justify;
            padding: 0 0.25em;
            margin: 0;
        }

        i {
            display: inline-block;
            padding: 0 0.25em;
            margin: 0;
        }

        ul {
            margin: 0.5em 0;
        }

        li {
            color: var(--color);
        }

        a {
            color: var(--color);
            text-decoration: none;
        }

        a.failed {
            color: #777777;
            cursor: not-allowed;
        }
    }

    #other>div {
        padding-bottom: 0.25em;
    }

    #news>h2 {
        margin-bottom: 0.25em;
    }

    #welcome>p {
        margin: 0.25em 0;
    }

    #login>form {
        display: flex;
        flex-direction: column;
        margin: 0 0.25em;
        gap: 0.25em;

        label {
            margin-bottom: -0.5em;
        }
    }
}

@media (max-width: 750px) {
    #main-split {
        flex-direction: column;
    }

    #outer {
        flex-direction: column-reverse;
    }

    #sidebar {
        margin-top: 2em;
    }
}