@import url('https://fonts.googleapis.com/css2?family=Bree+Serif&display=swap');

:root {
    --color-mediumbrown: #AF876B;
    --color-lightbrown: #CCB19F;
    --color-lightgray: #D0D0D0;
}

body {
    margin: 0;
    background-color: black;
}

a {
    color: inherit;
    text-decoration: inherit;
}

input, select, textarea {
    border: 0;
    outline: 0;
    font-family: inherit;
    font-size: inherit;
    color: var(--color-lightgray);
    background-color: transparent;
    border-color: var(--color-mediumbrown);
    border-width: 1px;
}

main {
    font-family: 'Bree Serif';
    letter-spacing: 0.02em;
    display: flex;
}

article {
    font-size: 1.25em;
    color: var(--color-mediumbrown);
}

article > * {
    margin: 0;
    font-size: 1em;
    font-weight: normal;
    color: var(--color-mediumbrown);
}

article > h1 {
    margin-bottom: 1em;
    color: var(--color-lightgray);
}

article > h2 {
    padding-bottom: 1em;
    border-bottom: 1px solid var(--color-mediumbrown);
}

article > h3 {
    font-size: 0.75em;
    margin-bottom: 0.25em;
}

article > p {
    margin-bottom: 1em;
}

article > p > a {
    color: var(--color-lightbrown);
}

article.journal {
    margin-top: 1em;
    margin-bottom: 3em;
}

article.journal > p {
    margin-top: 1em;
    color: var(--color-lightgray);
}

#navtoggle {
    display: none;
}

#navtoggle:checked ~ section.sidebar {
    z-index: 10;
    background-color: var(--color-mediumbrown);
}

#navtoggle:checked ~ section.sidebar > label {
    transform: rotate(90deg);
}

section.sidebar {
    position: fixed;
    display: grid;
    grid-template-columns: 100px auto;
    grid-template-rows: 1fr 1fr;
    height: calc(100vh - 100px);
    padding: 50px 0;
}

section.sidebar > a, section.sidebar > label {
    justify-self: flex-end;
    width: 60%;
}

section.sidebar > label {
    justify-self: flex-end;
    width: 50%;
}
section.sidebar > label {
    align-self: end;
    cursor: pointer;
    color: white;
}

section.sidebar > nav {
    justify-self: center;
    grid-column: 2;
    grid-row: 1 / span 2;
}

section.sidebar > nav > ul {
    margin: 0;
    width: 60%;
}

section.sidebar > nav > ul > li {
    list-style-type: none;
    margin-bottom: 1.25em;
    font-size: 1.25em;
    text-decoration: none;
}

section.list, section.detail {
    position: absolute;
    margin: 50px 200px;
}

section.detail {
    padding-bottom: 50px;
}

section.list {
    display: grid;
    grid-template-columns: repeat(10, 75px);
    gap: 50px;
    color: white;
}

section.list > a:hover > svg {
    fill: white;
}

svg.number {
    fill: var(--color-mediumbrown);
}

tspan.super {
    font-size: 0.75em;
    text-decoration: underline;
}

section.detail svg.number {
    width: 75px;
    fill: white;
}

section.detail > * {
    width: 80%;
}

section.detail > form {
    color: var(--color-mediumbrown);
    margin: 4em 0;
}
section.detail > form > label {
    display: block;
}

section.detail > form input, section.detail > form select, section.detail > form textarea {
    border-bottom-style: solid;
    padding-bottom: 0.5em;
    margin: 1em 0 1.5em 0;
    width: 100%;
}

section.detail > form textarea {
    resize: none;
    height: 6em;
}

section.detail > form p {
    color: var(--color-lightgray);
}

section.detail > form > input[type="submit"] {
    color: var(--color-mediumbrown);
    border-style: solid;
    margin-top: 1.5em;
    padding: 0.75em;
    width: 8em;
}

section.detail > a {
    display: block;
    width: 142px;
    color: var(--color-mediumbrown);
    border: 1px solid var(--color-mediumbrown);
    padding: 0.75em;
    margin-top: 2em;
}

@media only screen and (max-width: 480px) {

    article {
        font-size: 1em;
    }

    section.sidebar {
        grid-template-columns: 20% auto;
    }

    section.sidebar > label {
        margin-bottom: 25px;
    }

    section.list, section.detail {
        margin: 50px 10% 50px 30%;
    }

    section.list {
        grid-template-columns: repeat(3, 60px);
        gap: 30px;
    }

    section.detail > * {
        width: 100%;
    }
}