/*
Kyler Olsen
Oct 2025
*/

main {
    padding-left: 20vw;
    padding-right: 20vw;
}

h1, h2, h3, h4 {
    font-family:
        'Lucida Sans',
        'Lucida Sans Regular',
        'Lucida Grande',
        'Lucida Sans Unicode',
        Geneva,
        Verdana,
        sans-serif;
    /* margin: 16px 64px; */
    margin-top: 16px;
    margin-bottom: 16px;
}

h1 {
    text-align: center;
}

em.sls-title {
	display: block;
	text-align: center;
}

a {
    color: #375899;
}

a.headerlink {
    color: #dddddd;
    text-decoration: none;
}

a.headerlink:hover {
    color: #375899;
    text-decoration: underline;
}

a#dark {
    text-decoration: underline;
}

/* p {
    font-size: 18px;
    margin-top: 16px;
    margin-bottom: 16px;
}

ul, ol {
    display: block;
    font-size: 18px;
    margin-top: 16px;
    margin-bottom: 16px;
} */

code {
    font-family: 'Consolas', 'Courier New', Courier, monospace;
    background-color: #dddddd;
    padding-left: 4px;
    padding-right: 4px;
    border-radius: 3px;
    break-inside: avoid;
}

pre > code {
    background-color: unset;
    padding: unset;
    border-radius: unset;
}

pre {
    border-color: black;
    border-width: 1px;
    border-style: solid;
    border-radius: 3px;
    padding: 4px;
    background-color: #eeeeee;
    overflow-x: auto;
}

blockquote {
    border-color: black;
    border-left-color: #001847;
    border-width: 1px;
    border-left-width: 8px;
    border-style: solid;
    border-radius: 3px;
    padding-left: 8px;
    background-color: #9cbdff;
}

header {
    text-align: center;
    padding: 0;
    padding-left: 20vw;
    padding-right: 20vw;
}

header > div {
    display: grid;
    grid-template-areas:
        't l n'
        'h h h';
    grid-template-columns: 1fr 2fr 1fr;
    grid-template-rows: 1fr;
    justify-content: space-between;
}

header > div > .title {
    text-align: left;
    grid-area: t;
}

header > div > .logo > a {
    display: inline-block;
    text-decoration: none;
    padding: 5px 20px;
}

header > div > .logo {
    margin: 0;
    grid-area: l;
}

header > div > .logo > a > span {
    display: inline-block;
    width: 4px;
}

header > div > .nav {
    text-align: right;
    grid-area: n;
}

header > div > hr {
    grid-area: h;
    width: 100%;
}

footer {
    text-align: center;
    padding: 8px;
    padding-left: 20vw;
    padding-right: 20vw;
}

body[mode="dark"] {
    background-color: #121212;
    color: #dedede;
}

body[mode="dark"] a {
    color: #6486c9;
}

body[mode="dark"] a.headerlink {
    color: #363636;
}

body[mode="dark"] a.headerlink:hover {
    color: #6486c9;
}

body[mode="dark"] code {
    background-color: #363636;
}

body[mode="dark"] pre > code {
    background-color: unset;
    padding: unset;
    border-radius: unset;
}

body[mode="dark"] pre {
    border-color: #dedede;
    background-color: #363636;
}

body[mode="dark"] blockquote {
    border-color: #dedede;
    border-left-color: #6486c9;
    background-color: #001847;
}

body[mode="dark"] div.logo > a {
    background-color: #dedede;
    border-radius: 10px;
}

@media screen and (max-width: 1000px) {

    body {
        font-size: 18px;
    }

    header {
        padding-left: 5vw;
        padding-right: 5vw;
    }

    main {
        padding-left: 5vw;
        padding-right: 5vw;
    }

    footer {
        padding-left: 5vw;
        padding-right: 5vw;
    }

    ol, ul {
        padding-left: 24px;
    }

    blockquote {
        margin-left: 24px;
        margin-right: 24px;
    }

    header > div {
        grid-template-areas: 'l' 't' 'n' 'h';
        grid-template-columns: 1fr;
        grid-template-rows: 2fr 1fr 1fr;
        justify-content: center;
    }

    header > div > .title, header > div > .nav {
        text-align: center;
        margin-top: 4px;
        margin-bottom: 4px;
    }
}

@media print {
    header, footer, a.headerlink {
        display: none !important;
    }

    main {
        padding: 0 !important;
    }

    body a {
        color: black !important;
    }

    pre {
        /* overflow-x: visible; */
        word-wrap: normal;
    }

    /* pre, blockquote {
        break-inside: avoid-page;
    }

    h1, h2, h3, h4 {
        break-after: avoid-page;
    } */

    body[mode="dark"] {
        background-color: white;
        color: black;
    }

    body[mode="dark"] a {
        color: black;
    }

    body[mode="dark"] code {
        background-color: #eeeeee;
    }

    body[mode="dark"] pre {
        border-color: black;
        background-color: white;
    }

    body[mode="dark"] blockquote {
        border-color: black;
        border-left-color: #888888;
        background-color: white;
    }
}
