:root {
    --colorscheme-gray: #4A4A4A;
    --colorscheme-white: #F5F5F5;
    --colorscheme-cyan: #009688;
    --colorscheme-red: #FF5722;
    --colorscheme-light-gray: #C0C0C0;
    --colorscheme-dark-gray: #1E1E1E;
    --colorscheme-not-so-dark-gray: #2D2D2D;

    --menu-width: 300px;
    --menu-border-width: 2.5px;
    --menu-margin: .25%;
    --menu-padding: 10px;

    --content-padding: 2%;
    --content-width-abs: calc(100% - (var(--menu-width) + 2*var(--menu-border-width) + 2*var(--menu-margin) + 2*var(--menu-padding)));
}

html, body {
    padding: 0px;
    margin: 0px;
}

h1, h2, p, li {
    margin: 5px;
    font-family: "Space Grotesk", sans-serif;
}

hr {
    height: 2px;
    border: none;
    background-color: var(--colorscheme-cyan);
}

ul {
    list-style-type: none;
}

ul li {
    padding-left: 24px;
    background-image: url(ul.svg);
    background-position: 0 2px;
    background-size: 16px 16px;
    background-repeat: no-repeat;
    color: var(--colorscheme-white);
}

body {
    height: 100%;
    background-color: var(--colorscheme-not-so-dark-gray);
    overflow-x: hidden;
}

a {
    color: var(--colorscheme-red);
    font-weight: bold;
}

.code {
    white-space: pre-wrap;
    padding: 10px;
    font-family: "JetBrains Mono", sans-serif;
    font-weight: bold;
    overflow-x: scroll;
}

#menu {
    background-color: var(--colorscheme-dark-gray);
    position: fixed;
    transform: translate();
    top: 0;
    left: var(--content-width-abs); 
    margin: var(--menu-margin);
    padding: var(--menu-padding);
    min-width: var(--menu-width);
    max-width: var(--menu-width);
    height: calc(100% - (2*var(--menu-border-width) + 3*var(--menu-margin) + 2*var(--menu-padding)));
    border: var(--colorscheme-white) var(--menu-border-width) solid;
    border-radius: 10px;
    scroll-snap-type: x mandatory;
}

#menu > h2 {
    color: var(--colorscheme-red);
}

#menu.light > h2 {
    text-shadow: 1px 1px 2px var(--colorscheme-gray);
}

.articleList {
    padding-left: 10px;
    max-width: 100%;
    max-height: 60%;
    overflow-x: hidden;
}

.articleList > li > a {
    color: var(--colorscheme-white);
}

.articleList > li::marker {
    color: var(--colorscheme-white);
}

.control {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}

.articleList.light > li > a {
    color: var(--colorscheme-dark-gray);
}

#content {
    color: var(--colorscheme-white);
    padding: var(--content-padding);
    width: calc(var(--content-width-abs) - 2*var(--content-padding));
}

#content > h1 {
    font-size: 50px;
    color: var(--colorscheme-red);
}

#content > h2 {
    font-size: 30px;
    color: var(--colorscheme-red);
}

#content > .code {
    border: 2px solid var(--colorscheme-cyan);
    border-radius: 10px;
    background-color: var(--colorscheme-gray);
}

#content > p {
    font-size: 18px;
}

.toggleBtn {
    background-color: transparent;
    border: 0px;
}

body.light {
    background-color: var(--colorscheme-white);
}

#menu.light {
    background-color: var(--colorscheme-light-gray);
    border-color: var(--colorscheme-gray);
}

#content.light {
    color: var(--colorscheme-dark-gray);
}

#content.light > h1 {
    text-shadow: 1px 1px 2px var(--colorscheme-gray);
}

#content.light > h2 {
    text-shadow: 1px 1px 2px var(--colorscheme-gray);
}

#content > ul {
    padding-left: 0px;
    font-style: normal;
    font-size: 18px;
}

#content.light > ul > li {
    color: var(--colorscheme-dark-gray);
}

#content.light > .code {
    background-color: var(--colorscheme-light-gray);
}
