:root {
    --bg: #f2f2f2;
    --text: #000000;
    --cover: #f0e0fe;
    --borders: #000000;
    --afocus: #ffb9a2;
}

[data-theme="dark"] {
    --bg: #363535;
    --text: #f2f2f2;
    --cover: #553d6e;
    --borders: #f2f2f2;
    --afocus: #d27253;
}

html {
    background-color: var(--bg);
}

body {
    margin: 0 25rem 0 25rem;
    font-size: 1.2em;
    font-family: georgia, serif;
    line-height: 1.4em;
    max-width: 100vw - 40rem;
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 100vh;

    color: var(--text);
}

.pp {
    display: block;
    height: 12rem;
    width: fit-content;
    margin: 3rem 0 0 0;
    border-radius: 50%;
    padding: 0.3rem 0.3rem;
    border: 2px outset var(--borders);
    background: #ffe8e1;
}

.pp img {
    border-radius: 50%;
    max-height: 100%;
    max-width: 100%;
    display: inline;
}

main {
    flex: 1;
}

nav {
    display: block;
    width: fit-content;
    margin: 3rem 0 0 0;
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: flex;
}
  
li {
    padding-right: 1em;
}
  
li:hover, li:focus-within {
    color: #dc673f;
}

.text {
    display: block;
    width: 65%;

    border-left: 2px solid var(--borders);
    padding: 0 0 0 1rem;
}

.text h1, h2, h3 {
    font-size: 2rem;
    line-height: 2.5rem;
    margin: 2rem 0 2rem 0;
}

.text p {
    font-size: 1.3rem;
    line-height: 1.8rem;
    margin: 1.5rem 0 0 0;
}

p> a {
    background-image: linear-gradient(#dc673f, #dc673f);
    background-repeat: no-repeat;
    background-position:bottom;
    background-size: 100% 14%;
    transition: background-size 100ms ease-in-out;
}
p> a:hover, a:focus {
    background-size: 100% 100%;
    background-image: linear-gradient(var(--afocus), var(--afocus));
    transition: background-size 100ms ease-in-out;
    cursor: pointer;
}
  
under.orange {
    color: #dc673f;
    background: none;
}

cover.color {
    background: var(--cover);
}

footer {
    font-size: 1.0rem;
    position:relative;
    bottom: 0;
    height: 2rem;
    margin: 3rem 0 2rem 0;
}

html { scrollbar-width: none; }
::-webkit-scrollbar { display: none; }

@media (max-width: 1800px) {
    body {
        margin: 0 20rem 0 20rem;
        max-width: 100vw - 40rem;
    }

    .text {
        width: 70%;
    }
}

@media (max-width: 1500px) {
    body {
        margin: 0 14rem 0 14rem;
        max-width: 100vw - 28rem;
    }

    .text {
        width: 80%;
    }
}

@media (max-width: 1200px) {
    body {
        margin: 0 8rem 0 8rem;
        max-width: 100vw - 16rem;
    }

    .text {
        width: 90%;
    }
}

@media (max-width: 800px) {
    body {
        font-size: 1.2em;
        margin: 0 2rem 0 2rem;
        max-width: 100vw - 4rem;
    }

    .pp {
        justify-self: center;
    }

    nav {
        justify-self: center;
    }

    footer {
        text-align: center;
    }

    .text {
        justify-self: center;
        text-align: center;
        width: 100%;

        border: none;
        padding: 0;
    }

    .text h1, h2, h3 {
        font-size: 1.7rem;
        line-height: 2.5rem;
        margin: 2rem 0 2rem 0;
    }

    .text p {
        font-size: 1.2rem;
        line-height: 1.8rem;
        margin: 1.5rem 0 0 0;
    }
}

@media (max-width: 800px) {
    #quote-author {
        max-width: 100%;
        justify-self: center;
    }
}