/* resets the browser's default settings */
* {
    box-sizing: border-box;
    padding: 0;
    /* outline: 1px solid red !important; */
}

.container {
    display: flex;
    flex-direction: row;
}

.left-column {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
}

.right-column {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}


/* Regular */
@font-face {
    font-family: 'Victor Mono';
    font-style: normal;
    font-weight: 400;
    src: url('/fonts/vm/WOFF2/VictorMono-Regular.woff2') format('woff2');
}

/* Italic */
@font-face {
    font-family: 'Victor Mono';
    font-style: italic;
    font-weight: 400;
    src: url('/fonts/vm/WOFF2/VictorMono-Italic.woff2') format('woff2');
}

/* Bold */
@font-face {
    font-family: 'Victor Mono';
    font-style: normal;
    font-weight: 700;
    src: url('/fonts/vm/WOFF2/VictorMono-Bold.woff2') format('woff2');
}

/* Regular */
@font-face {
    font-family: 'VT323';
    font-style: normal;
    font-weight: bold;
    font-size: 15px;
    src: url('/fonts/VT323/VT323-Regular.ttf');
}

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

body {
    background-color: var(--body-background);
    display: flex;
    flex-direction: column;
    font-family: 'Victor Mono', monospace;
    margin: auto;
    margin-bottom: 50px;
    max-width: 1000px;
    min-height: 500px;
    min-width: 300px;
}

header {
    margin-left: 50px;
    margin-right: auto;
}

.text-orange-shadow {
    -webkit-text-stroke: 2px var(--color-font-orange1);
    text-shadow:
    1px 1px 0 var(--title-orange1),
    2px 2px 0 var(--title-orange2),
    3px 3px 0 var(--title-orange3),
    4px 4px 0 var(--title-orange4);
}

header h1 {
    color: white;
    font-size: 50px;
    margin: auto;
    padding-left: 10px;
}

nav {
    flex-shrink: 0;
    margin-left: 50px;
    overflow: auto;
    width: auto;
}

nav ul {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    list-style-type: none;
    margin: 0;
    padding-left: 10px;
}

nav li a {
    display: block;
    margin: auto;
}

nav ul li a {
    display: inline-block;
    font-size: 30px;
    font-weight: bold;
    padding: 5px 20px 5px 0px;
    text-decoration: none;
}

nav ul li a {
    color: var(--neon-green);
    transition: text-shadow 0.5s ease-out;
}

nav ul li a:hover {
    text-decoration: underline;
}

section {
    display: flex;
    flex-grow: 1;
    width: 100%;
}

article {
    color: var(--neon-blue);
    font-size: 20px;
    margin: 0px 0px 10px 0px;
    padding: 0px 20px 5px 20px;
    width: 100%;
}

article p {
    margin-bottom: 1em;
}

article h1 {
    color: var(--neon-red);
    font-size: 25px;
    text-decoration: none;
}

article h2 {
    color: var(--neon-yellow);
    font-size: 20px;
}

article h3 {
    color: var(--neon-blue);
    font-size: 20px;
}

article a {
    border-radius: 2px;
    color: var(--neon-pink);
    font-size: 16px;
    font-weight: bold;
    padding-left: 5px;
    padding-right: 5px;
    text-decoration: underline;
}

article a:hover {
    color: var(--neon-green);
    background-color: var(--neon-pink);
    font-size: 16px;
    font-weight: bold;
    padding-left: 5px;
    padding-right: 5px;
}

article ol, article ul {
    color: var(--neon-blue);
    padding-left: 40px;
    margin-left: 0;
}

footer {
    margin: 5px 0px 0px 0px;
    min-height: 50px;
}

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

::-webkit-scrollbar-thumb {
    background: var(--color-body-bg);
}


@media (max-width: 768px) {
    header h1 {
        color: white;
        font-size: 50px;
        -webkit-text-stroke: 2px var(--color-font-orange1);
        text-shadow:
        1px 1px 0 var(--color-font-orange1), /* dark */
        2px 2px 0 var(--color-font-orange2), /* darker */
        3px 3px 0 var(--color-font-orange3), /* darkest */
        4px 4px 0 var(--color-font-orange4); /* dark max */
    }

    header {
        margin-left: 0px;
    }

    nav {
        flex-direction: column;
        margin: 0px;
        width: 100%;
    }

    nav ul li a {
        font-size: 20px;
    }

    .container {
        flex-direction: column;
    }

    nav ul {
        flex-direction: row;
        flex-wrap: wrap;
    }
}

/* Default: Light mode */
:root {
    --html-background: black;
    --body-background: black;

    --neon-blue: #17deed;
    --neon-green: #66ff00;
    --neon-orange: #ff6900;
    --neon-pink: #ff00ff;
    --neon-red: #ff3a06;
    --neon-yellow: #fcb900;

    --title-orange1: #FF8C00;
    --title-orange2: #E07B00;
    --title-orange3: #C26A00;
    --title-orange4: #A35900;
}

/* debug
* { border: 1px solid red; }
*/
