:root {
    font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
    line-height: 1.5;
    font-weight: 400;

    color-scheme: light dark;
    color: #242424;
    background-color: #ffffff;

    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
}

* {
    box-sizing: border-box;
}

body {
    overflow-x: hidden;
}

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

.top {
    display: flex;
    align-items: start;
    justify-content: left;
    position: relative;
    z-index: 10;
    height: 100px;
    background-color: #002b46;
    color: #fff;
    padding-left: 1rem;
}

.top > h1> a {
    text-decoration: none;
    color: white;
}

/*This is our main wrapping element, it's made 100vh high to ensure it is always the correct size and then moved into place and padded with negative margin and padding*/
.container {
    display: flex;
    overflow: hidden;
    height: 100vh;
    margin-top: -100px;
    padding-top: 100px;
    position: relative;
    width: 100%;
    backface-visibility: hidden;
    will-change: overflow;
}
/*All the scrollable sections should overflow and be whatever height they need to be. As they are flex-items (due to being inside a flex container) they could be made to stretch full height at all times if needed.
WebKit inertia scrolling is being added here for any present/future devices that are able to make use of it.
*/
.toc,
.content,
.tracker {
    overflow: auto;
    height: auto;
    padding: .5rem;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
}
/*Entirely optional – just wanted to remove the scrollbar on WebKit browsers as I find them ugly*/
.toc::-webkit-scrollbar,
.content::-webkit-scrollbar,
.tracker::-webkit-scrollbar {
    display: none;
}
/*  Left and Right are set sizes while the Middle is set to flex one so it occupies all remaining space. This could be set as a width too if prefereable, perhaps using calc.*/
.toc {
    width: 13.5rem;
    background-color: #002b46;
    color: #fff;
    padding-left: 1rem;
    padding-right: 0.8rem;
}

.toc > ul {
    list-style-type: none;
    padding-left: 20px;
}

.toc > ul > li {
    padding: 0 0 0.5rem 0;
}

.toc > ul > li > a {
    text-decoration: none;
    font-size: 1.1rem;
    /*font-weight: bold;*/
    color: white;
}

.toc > ul > li > a:hover {
    font-size: 1.2rem;
}

.toc > ul > li > a.selected {
    font-size: 1.2rem;
    font-weight: bold;
}

a {
    text-decoration: none;
    color: red;
}

.content {
    flex: 1;
    padding-right: 1rem;
    padding-left: 1rem;
}

.content img {
    width: 100%;
}

.tracker {
    width: 12.5rem;
    display: flex;
    flex-direction: column;
}

.tracker > ul {
    list-style-type: none;
}

.tracker > ul > li > a {
    color: #242424;
    text-decoration: none;
}

.active {
    font-weight: bold;
}

.tracker > ul > li > a:visited {
    color: #242424;
}

.tracker > ul > li > a:hover {
    color: #242424;
    text-decoration: underline;
}

.heading {
    font-size: 1.3rem;
    font-weight: 800;
    padding: 2rem 1rem 0.5rem 0;
}

.footer {
    height: 6rem;
}
