:root{
    --background: rgba(250, 250, 100, 0.1
    );
    --text: #333;
    --theme: rgba(245, 0, 0, 1);
}


a{
    color: var(--theme);
    text-decoration: none;
    font-weight: 600;
    overflow-wrap: break-word;
    word-wrap: break-word;
    -ms-word-break: break-all;
    /* Instead use this non-standard one: */
    word-break: break-word;
}

a:hover{
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1.5px;
}

/* extra styling for external links */

.external-link{
    position: relative;
    background: url(/arrow.svg) no-repeat;
    background-origin: padding-box;
    padding-right: 1em;
    background-size: 0.5em;
    background-position-y: 0.2rem;
    background-position-x: calc(100% + -0.4em);
    margin-right: -0.4rem;
}


/* style for the array of contents */

.toc{
    font-weight: 600;
    margin-top: -1.5em;
    margin-bottom: 2rem;
    font-size: 16px;
}

.toc a{
    font-weight: 600;
}

.date{
    font-weight: 200;
    margin-top: -1.5em;
    margin-bottom: 2.5rem;
    font-size: 16px;
}


body{
    text-align: center;
    font-family: sans-serif;
    line-height: 1.5em;
    font-size: 18px;
    color: var(--text);
    background: var(--background);
    margin: 0px;
    font-weight: normal;
    text-rendering: optimizeLegibility !important;
    font-feature-settings: "kern";
}

main{
    display: inline-block;
    text-align: left;
    padding: 10vw 0rem 10vw 0rem;
}

.left{
    display: inline-block;
    padding: 0rem 3rem;
    width: 12rem;
}

.content{
    max-width: 38rem;
    width: calc(100vw - 25rem);
    display: inline-block;
    padding: 0rem 3rem;
    border-left: solid 0.5px #333;
    vertical-align: top;
    min-height: calc(100vh - 20vw);
    position: relative;
}

article{
    width: 100%
}

footer{
    bottom: 0px;
    font-size: 14px;
    font-weight: 200;
    /* comment out the transform and position to make the footer a regular line */
    transform: translateX(-5.2rem) rotate3d(0, 0, 1, -90deg);
    position: absolute;
    transform-origin: top left;
    width: fit-content;
    font-style: italic;
    opacity: 0.8;
    margin-top: 4rem;
}

p{
    margin: 0rem 0rem 1.5em 0rem;
}


article p:last-child{
    margin-bottom: 0.5em;
}

li{
    margin: 0em 0em 0.7em 0em;
}

li p:last-child{
    margin-bottom: 0em;
}

pre{
    overflow: auto;
    padding: 1rem;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.4);
    position: relative;
    width: 100%;
}

.options{
    font-size: 18px;
}

nav > a{
    display: block;
    padding: 0.2rem 0px;
    font-weight: 300;
}

nav > a:hover{
    font-weight: 800;
    text-decoration: none;
}

nav{
    text-align: right;
    width: fit-content;
    margin-top: 0.5rem;
    width: 100%;
}

.home{
    font-size: 1.75em;
    margin-bottom: 1rem;
    color: var(--text);
}

.home a{
    font-weight: 800;
}

.home a:hover{
    text-decoration: none;
}

.note{
    margin: 0.5rem 0rem;
}

i{
    font-weight: 200;
}

h1{
    font-size: 2.6rem;
    margin-top: 0em;
    line-height: 1.25em;
}

h2{
    font-size: 1.8rem;
    margin: 1.6em 0em 0.8em 0em;
    scroll-margin-top: 2rem;
    line-height: 1.3em;
}

h3{
    font-size: 1.3rem;
    margin: 1.6em 0em 1em 0em;
    scroll-margin-top: 2rem;
    line-height: 1.4em;
}

h4{
    margin: 2em 0em 1em 0em;
    line-height: 1.5em;
    font-size: 1rem;
}

img{
    width: 100%;
}

article > img{
    width: 100%;
    margin-bottom: 1.5rem;
}

.l-float{
    width: 12rem;
    float: left;
    margin: 0rem 1.5rem 1.4rem 0px;
}

.r-float{
    width: 12rem;
    float: right;
    margin: 0rem 0px 1.4rem 1.5rem;
}

hr{
    display: block;
    width: 100%;
    margin: 2.5rem 0rem;
    border: none;
    border-top: solid 0.25px var(--text);
}



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

    body{
        font-size: 16px;
    }

    .left{
        width: 100%;
        padding: 0rem 1.5rem 2rem 1.5rem;
        box-sizing: border-box;
    }

    main{
        padding-bottom: 0vw;
    }

    nav{
        text-align: left;
    }

    nav > a{
        display: inline-block;
        padding-right: 1rem;
    }

    nav > a:hover{
        letter-spacing: -0.5px;
    }

    p{
        margin-bottom: 1.2rem;
    }

    .content{
        width: 100vw;
        box-sizing: border-box;
        padding: 1.5rem;
        border-left: solid 0px #333;
        min-height: 0rem;
        display: block;
    }

    footer{
        margin-left: 0rem;
        margin-top: 3rem;
        padding-left: 0em;
        transform: none;
        position: relative;
    }

}
