/* style root */

:root {
    --body-bg-image: url('https://sadhost.neocities.org/images/tiles/stars3.gif');
    --accent-color: #FF9A00;
    --accent-light: #FFFFAA;
    --accent-bright: #9a9aff;
    --accent-graphic: #cd6666;
    --accent-graphic-two: #ff9a66;
    --link: #9a9aff;
    --link-visited: #cd6666;
    --background-color: black;
    --font-color: #F8FBDC;
}

/* fonts */

@font-face {
    font-family: 'Trek TNG Monitors';
    src: url('font/Trek_TNG_Monitors.woff') format('woff'),
        url('font/Trek_TNG_Monitors.woff2') format('woff-variations'),
        url('font/Trek_TNG_Monitors.ttf') format('truetype'),
        font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Beijing';
    src: url('font/Beijing.woff') format('woff'),
        url('font/Beijing.ttf') format('truetype'),
        font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Context Ultra Condensed';
    src: url('font/Context_Ultra_Condensed.woff') format('woff'),
        url('font/Context_Ultra_Condensed.ttf') format('truetype'),
        font-weight: normal;
    font-style: normal;
    font-stretch: condensed;
}

@font-face {
    font-family: 'DS9 Credits';
    src: url('font/DS9_Credits.woff') format('woff'),
        url('font/DS9_Credits.ttf') format('truetype'),
        font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: Atkinson Hyperledible;
    src: url(font/AtkinsonHyperlegible-Regular.woff);
    font-weight: normal;
}

@font-face {
    font-family: Atkinson Hyperledible;
    src: url(font/AtkinsonHyperlegible-Bold.woff);
    font-weight: bold;
}

@font-face {
    font-family: Atkinson Hyperledible;
    src: url(font/AtkinsonHyperlegible-Italic.woff);
    font-style: italic;
}

@font-face {
    font-family: Atkinson Hyperledible;
    src: url(font/AtkinsonHyperlegible-BoldItalic.woff);
    font-weight: bold;
    font-style: italic;
}

/* style manual */

body {
    color: black;
    background-color: black;
    background: black var(--body-bg-image) repeat 0 0;
}

main {
    font-family: 'Atkinson Hyperlegible', sans-serif;
}

main a:link {
    color: var(--link);
}

main a:visited {
    color: var(--link-visited);
}

#container a:focus,
#container a:hover {
    background-color: var(--accent-light);
    color: var(--background-color);
}

#header {
    background-color: var(--accent-color);
    border: 5px solid var(--background-color);
}

#header ul {
    display: flex;
    padding: 0;
    margin: 0;
    list-style-type: none;
    justify-content: space-evenly;
    font-family: 'Trek TNG Monitors', sans-serif;
    font-size: 36px;
    padding-bottom: 10px;
}

#header li {
    padding-top: 10px;
}

#header li a {
    color: var(--background);
    font-weight: 800;
    text-decoration: none;
}

#header li a:hover {
    color: var(--accent-color);
    background-color: var(--background-color);
}


main h1,
main h2,
main h3 {
    color: var(--accent-color);
}

main h1 {
    font-size: 30px;
    font-family: 'Context Ultra Condensed', monospace;
    font-weight: 100;
}

main h2 {
    font-size: 20px;
    font-family: 'Beijing', monospace;
}

main h3 {
    font-size: 15px;
    font-family: 'Beijing', monospace;
}

main {
    color: var(--font-color);
}

main p:first-of-type::first-letter {
    font-size: 24px;
    float: left;
    font-weight: bold;
}

main p:first-of-type::first-line {
    font-weight: bold;
    padding: 0 6em;
    letter-spacing: -0.025em;
}

#nextprev {
    padding-bottom: 15px;
}

#attribution,
#postDate {
    color: var(--accent-color);
}

.post {
    background-color: var(--background-color);
    padding: 20px;
    margin-bottom: 20px;
    border: 5px solid var(--accent-graphic-two);
}

aside p,
aside,
aside h3,
aside a {
    color: var(--accent-bright);
    font-family: 'Beijing', 'Atkinson Hyperledgible', sans-serif;
    text-decoration: none;
}

.box {
    background-color: var(--accent-light);
    border: 5px solid var(--accent-graphic);
    padding: 10px;
    color: var(--background-color);
}

.box a {
    color: var(--background-color);
}

.box ul {
    padding-left: 10px;
}

aside h1,
aside h2 {
    font-family: 'Context Ultra Condensed', monospace;
    font-weight: 100;
    font-size: 30px;
}

.box h3 {
    color: var(--accent-graphic);
    font-family: 'Beijing', monospace;
}

#rightSidebar {
    margin-left: 10px;
}

#leftSidebar {
    margin-right: 10px;
}

#leftSidebar p,
#leftSidebar ul,
#rightSidebar h3 {
    font-size: smaller;
}

#footer {
    color: var(--accent-bright);
    font-family: 'Atkinson Hyperlegible', monospace;
    font-size: 15px;
    text-align: center;
}

#footer a {
    color: var(--accent-bright);
}

/*spacing*/

aside,
main {
    margin: 10px;
    padding: 5px;
}

aside {
    height: fit-content;
}

/* whole web page*/

#container {
    padding-top: 55px;
}

body {
    min-height: 98vh;
    display: flex;
    flex-direction: column;
}

footer {
    /* solution from https://www.reddit.com/r/Frontend/comments/k1zj0z/how_to_make_footer_stay_at_bottom_of_page_without/ */
    margin-top: auto;
}

#header {
    /* solution from https://css-tricks.com/forums/topic/place-footer-at-the-absolute-bottom/ */
    text-align: center;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    line-height: 20px;
    padding: 10px 0;
    margin: auto;
    z-index: 3;
}


/* flex stuff */

body {
    max-width: 100vw;
}

@media (min-width:1100px),
screen and (orientation: landscape) {
    #flex {
        display: flex;
    }

    #container {
        width: 75vw;
        margin: 0 auto;
    }

    main {
        order: 2;
        width: 300%;
    }

    .leftAside {
        order: 1;
        width: 110%;
    }

    #rightSidebar {
        order: 3;
        width: 110%;
    }

    aside {
        position: sticky;
        top: 50px;
    }

    #header {
        width: 75vw;
    }
}

@media (900px < width < 1100px) {
    #flex {
        display: flex;
    }

    #container {
        width: 90vw;
        margin: 0 auto;
    }

    main {
        order: 2;
        width: 300%;
    }

    .leftAside {
        order: 1;
        width: 110%;
    }

    #rightSidebar {
        order: 3;
        width: 110%;
    }

    aside {
        position: sticky;
        top: 50px;
    }

    #header {
        width: 90vw;
    }
}

@media (650px < width < 900px) {
    #flex {
        display: flex;
    }

    #container {
        width: 99vw;
        margin: 0 auto;
    }

    main {
        order: 2;
        width: 300%;
    }

    .leftAside {
        order: 1;
        width: 110%;
    }

    #rightSidebar {
        order: 3;
        width: 110%;
    }

    aside {
        position: sticky;
        top: 50px;
    }

    #header {
        width: 99vw;
    }
}

@media (width < 700px),
screen and (orientation: portrait) {
    .flex-grid {
        display: grid;
    }

    #container {
        max-width: 100vw;
    }

    #flex {
        display: grid;
    }

    main {
        order: 2;
        max-width: 95vw;
    }

    .leftAside {
        order: 1;
        max-width: 95vw;
        position: static;
    }

    #rightSidebar {
        order: 3;
        max-width: 95vw;
    }
}


    /*POST LIST STYLE*/
    #postlistdiv ul {
        padding: 0;
        list-style-type: none;
    }

    #recentpostlistdiv ul {
        padding: 0;
        list-style-type: none;
    }

    .moreposts {
        font-size: 0.8em;
        margin-top: 0.2em;
    }

    /*NEXT AND PREVIOUS LINKS STYLE*/
    #nextprev {
        text-align: center;
        margin-top: 1.4em;
    }

    /*DISQUS STYLE*/
    #disqus_thread {
        margin-top: 1.6em;
    }
