body {
    margin: 0;
    min-height: 100vh;
    background-image: url("/img/themes/theme9.png");
    background-color: var(--body-bg);
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    background-attachment: fixed;
    color: var(--body-color);
    font-family: Verdana, sans-serif;
    /* font-size: 1.1rem; */
}

body.night {
    --nt-green: #4ad818;
    --nt-purple: #250431;
    --body-bg: black;
    --body-color: white;
    --main-bg: rgba(18, 18, 18, 0.9);
    --silver: silver;
    --yellow: yellow;
    --lime: lime;
    --green: green;
    --aqua: aqua;
}

body.day {
    --nt-green: #006400;
    --nt-purple: #250431;
    --body-bg: white;
    --body-color: black;
    --main-bg: rgba(237, 237, 237, 1);
    --silver: #444444;
    --yellow: #6d6d00;
    --lime: #007000;
    --green: #005000;
    --aqua: #005aff;
}

body,
main,
details > *,
main > * {
    margin-left: auto;
    margin-right: auto;
}

@font-face {
    font-family: PressStart;
    src: url("/fonts/PrStart.ttf");
}

main {
    overflow: scroll;
    scrollbar-width: none;
    /* Firefox */
    -ms-overflow-style: none;
    /* Internet Explorer 10+ */
    background-color: var(--main-bg);
    padding: 16px 2.5vw;
}

main::-webkit-scrollbar {
    /* WebKit */
    width: 0;
    height: 0;
}

#logo {
    padding-top: 2vh;
    padding-bottom: 1vh;
    font-family: PressStart, monospace;
    color: rgb(240, 240, 240);
    line-height: 1.6;
    animation: glow 4s ease-in-out infinite alternate;
}

#logo.no-animation {
    animation: none;
    transition: none;
    color: var(--lime);
}

hr {
    color: var(--body-color)
}

#banner {
    width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

@keyframes glow {
    from {
        text-shadow: 0 0 10px #217902,
        0 0 20px #217902,
        0 0 30px #217902,
        0 0 40px #217902,
        0 0 50px #217902,
        0 0 60px #217902;
    }

    to {
        text-shadow: 0 0 20px var(--nt-green),
        0 0 30px var(--nt-green),
        0 0 40px var(--nt-green),
        0 0 50px var(--nt-green),
        0 0 60px var(--nt-green),
        0 0 70px var(--nt-green);
    }
}

.center,
h2,
h3,
summary {
    text-align: center;
    list-style-position: inside;
}

p:nth-child(1) {
    margin-top: 0;
}

footer {
    background-color: var(--nt-purple);
    color: white;
    padding: 5px;
    text-align: center;
    font-size: 0.9rem;
}

footer p {
    margin: 0;
}

footer a {
    font-family: PressStart, monospace;
    background-color: var(--nt-purple);
    color: #4ad818;
    text-decoration: underline;
    display: inline-block;
    border: 0px;
    padding: 4px;
}

footer a:hover {
    background-color: #4ad818;
    color: var(--nt-purple);
}

h1 {
    margin-top: 0;
    text-align: center;
}

button {
    font-family: PressStart, monospace;
    border: 0px;
    padding: 4px;
    background-color: var(--nt-purple);
    color: #4ad818;
}

button:hover {
    background-color: #4ad818;
    color: var(--nt-purple);
}

ol {
    text-align: left;
    list-style-position: inside;
    margin-left: auto;
    margin-right: auto;
}

.left {
    float: left;
    margin-right: 0.5rem;
}

.right {
    float: right;
    margin-left: 0.5rem;
}

/* sticky theme buttons */
.sticky {
    position: fixed;
    top: 0;
    right: 3vw;
    justify-content: center;
}

@media only screen and (max-width: 1500px) {
    .sticky {
        right: 1vw;
    }
}

.sticky button {
    width: 100%;
    float: left;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 15px;
    padding-right: 15px;
}

/* NAVIGATION */

.toggle,
[id^="drop"] {
    display: none;
}

nav {
    font-family: PressStart, monospace;
    font-size: 1.4rem;
    background-color: var(--nt-purple);
}

/* Since we'll have the "ul li" "float:left"
 * we need to add a clear after the container. */

nav:after {
    content: "";
    display: table;
    clear: both;
}

/* Removing padding, margin and "list-style" from the "ul",
 * and adding "position:relative" */
nav ul {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
    display: flex;
    justify-content: center;
}

/* Positioning the navigation items inline */
nav ul li {
    margin: 0px;
    display: inline-block;
}

nav a {
    width: auto;
    display: block;
    padding: 0.7rem 0.7rem;
    text-decoration: none;
}

/* Hide Dropdowns by Default
 * and giving it a position of absolute */
nav ul ul {
    display: none;
    position: absolute;
    background-color: var(--nt-purple);
}

nav ul ul li a {
    width: 100%;
}

/* Display Dropdowns on Hover */
nav ul li:hover > ul {
    display: inherit;
}

/* First Tier Dropdown */
nav ul ul li {
    width: auto;
    display: list-item;
    display: flex;
    flex-wrap: wrap;
    position: relative;
}

/* Second, Third and more Tiers	
 * We move the 2nd and 3rd etc tier dropdowns to the left
 * by the amount of the width of the first tier.
*/
nav ul ul ul li {
    position: relative;
    top: -60px;
    /* has to be the same number as the "width" of "nav ul ul li" */
    left: 170px;
}

@media all and (max-width: 768px) {
    nav {
        margin: 0;
    }

    nav ul {
        width: 100%;
    }

    /* Hide the navigation menu by default */
    /* Also hide the  */
    .toggle + a,
    .menu {
        display: none;
    }

    /* Styling the toggle label */
    .toggle {
        display: block;
        background-color: var(--nt-purple);
        text-align: center;
        padding: 0.7rem 0.7rem;
        text-decoration: none;
        border: none;
    }

    .toggle:hover {
        background-color: var(--nt-green);
        color: var(--nt-purple);
    }

    /* Display Dropdown when clicked on Parent Label */
    [id^="drop"]:checked + ul {
        display: block;
    }

    /* Change menu item's width to 100% */
    nav ul li {
        display: block;
        width: 100%;
    }

    nav a,
    nav a:link,
    nav a:visited {
        color: #fff;
    }

    nav ul li ul li .toggle,
    nav ul ul a,
    nav ul ul ul a {
        padding: 0.7rem 0.7rem;
        color: #fff;
    }

    .menu li a {
        text-align: center;
    }

    nav ul li ul li .toggle,
    nav ul ul a {
        background-color: #212121;
    }

    /* Hide Dropdowns by Default */
    nav ul ul {
        float: none;
        position: static;
        color: #ffffff;
        /* has to be the same number as the "line-height" of "nav a" */
    }

    /* Hide menus on hover */
    nav ul ul li:hover > ul,
    nav ul li:hover > ul {
        display: none;
    }

    /* First Tier Dropdown */
    nav ul ul li {
        display: block;
        width: 100%;
        text-align: center;
    }

    nav ul ul ul li {
        position: static;
    }
}

@media all and (max-width: 330px) {
    nav ul li {
        display: block;
        width: 94%;
    }
}

nav a,
nav a:link,
nav a:visited {
    color: #4ad818;
}

main a:link {
    color: var(--nt-green);
    text-decoration: underline;
}

main a:visited {
    color: var(--nt-green);
    text-decoration: underline;
}

main a:hover {
    color: var(--nt-green);
    text-decoration: underline;
}

main a:active {
    color: var(--nt-green);
    text-decoration: underline;
}

/* NAV TEST */

nav a:hover {
    background-color: #4ad818;
    color: var(--nt-purple);
}

nav a:active {
    background-color: #338f12;
}

table,
th,
td {
    border: 1px solid var(--body-color);
    padding: 4px;
    overflow: auto;
    -ms-overflow-style: none; /* Internet Explorer 10+ */
    scrollbar-width: none; /* Firefox, Safari 18.2+, Chromium 121+ */
}

table a {
    text-decoration: none !important;
}

table a:hover {
    text-decoration: underline !important;
}

#hometable {
    display: block;
}

#hometable th, #hometable td {
    border: transparent;
}

#credits, #credits th, #credits td {
    border: transparent;
}

table {
    border: transparent;
    display: block;
    border-collapse: collapse;
    max-width: -moz-fit-content;
    max-width: fit-content;
    margin: 0 auto;
    overflow-x: auto;
}

.toggle,
.menu li > a {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    cursor: default;
}

@media only screen and (max-width: 768px) {
    #logo {
        font-size: 1.5rem;
        padding-top: 0vh;
        padding-bottom: 0vh;
        line-height: 2;
    }
}

@media only screen and (min-width: 769px) {
}

@media only screen and (min-width: 992px) {
    body {
        width: 100vw;
        font-size: 1rem;
    }

    #banner {
        width: 75%;
    }
}

@media only screen and (min-width: 1200px) {
    body {
        width: 65vw;
        font-size: 1.1rem;
    }
}

@media only screen and (max-width: 1199px) {
    .sticky {
        display: none;
    }
}

#toc_container {
    border: 2px solid rgb(128, 128, 128);
    margin-top: 10px;
    margin-bottom: 5px;
    margin-right: 30px;
}

#toc_container a {
    text-decoration: none !important;
}

#toc_container a:hover {
    text-decoration: underline !important;
}

.toc_title {
    padding-top: 10px;
    font-weight: 700;
    text-align: center;
}

.toc_list {
    padding: 0px 15px;
}

#toc_container li,
#toc_container ul,
#toc_container ul li {
    list-style: outside none none !important;
}

#hometable h3 {
    font-family: PressStart, monospace;
    font-size: 1.2rem;
}

/* Add a background color to the top navigation */
.topnav {
    display: flex;
    justify-content: space-between;
    overflow: auto;
    font-family: PressStart, monospace;
    background-color: var(--nt-purple);
    font-size: 1rem;
    padding: 0;
    margin-left: auto;
    margin-right: auto;
    -ms-overflow-style: scroll; /* Internet Explorer 10+ */
    scrollbar-width: scroll; /* Firefox, Safari 18.2+, Chromium 121+ */
}

/* Change the color of links on hover */
.topnav a:hover {
    background-color: #4ad818;
    color: var(--nt-purple);
}

/* Add a color to the active/current link */
.topnav a.active {
    background-color: #4ad818;
    color: var(--nt-purple);
}

.hov_off,
a:hover .hov_on {
    display: none;
}

.hov_on,
a:hover .hov_off {
    display: block;
}
