:root {
    --color-body-background: #f0eee6;

    --color-text-link: #cd322f;

    --color-nav-hover: #eae0c0;
    --color-nav-selected: #d1cbb8;
}

body {
    font-family: Verdana, Geneva, sans-serif;
    font-size: 1.05rem;
    line-height: 1.6;

    background-color: var(--color-body-background);

    width: 90%;
    margin: 0 auto 1.5em auto;

    display: flex;
    flex-flow: wrap;
}

header {
    width: 100vw;
}

header span {
    color: var(--color-nav-selected);
}

nav {
    width: 15%;
    margin-top: 18px;
}

main {
    width: 60%;
    margin: 0 0 0 4em;
}

main h3 {
    margin-top: 1.66em;
}

main p {
    text-align: justify;
}

#navigation-position-info::before {
    content: "on the left";
}

ul {
    padding-left: 1.4em;
}

li + li {
    margin-top: 0.25em;
}

/* Nested list shenanigans i */
li li:first-of-type {
    margin-top: 0.25em;
}

/* Nested list shenanigans ii */
li li:last-of-type {
    margin-bottom: 0.5em;
}

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

a:hover {
    text-decoration: underline;
}

fieldset {
    padding: 0;
    padding-top: 0.33em;
    border-right: none;
}

.radios input {
    display: none;
}

.radios label {
    width: 97%;
    display: inline-block;
    padding: 0.33em;
}

.radios label:hover {
    cursor: pointer;
    background-color: var(--color-nav-hover);
}

.radios input:checked + label {
    background-color: var(--color-nav-selected);
}

.text-and-photo {
    display: flex;
    margin-top: -1rem;
}

img {
    align-self: start;
    margin: 0 2em;
    max-width: 300px;
}

@media screen and (max-width: 1100px) {
    body {
        width: 92%;
        font-size: 1rem;
    }

    header h1 {
        width: 100%;
        font-size: 1.2rem;
    }

    nav {
        width: 100vw;
    }

    fieldset {
        border-left: none;
    }

    main {
        width: 100%;
        margin: 0 auto;
    }

    #navigation-position-info::before {
        content: "at the top";
    }
}

@media screen and (min-width: 1100px) and (max-width: 1500px), screen and (max-width: 900px) {
    .text-and-photo {
        display: block;
    }

    img {
        display: block;
        margin: 1em auto 1em auto;
        max-width: 300px;
    }
}
