* {
    box-sizing: border-box;
}

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

body {
    font-family: 'Inconsolata', monospace;
}

a {
    text-decoration: none;
}

a:link,
a:visited {
    color: #045b88;
}

a:hover {
    text-decoration: underline;
}

main {
    position: relative;
    flex: 1;
    height: 100vh;
    overflow: auto;
    background: black;
    color: #ddd;
    padding-left: 15px;
    padding-right: 15px;
}

.container {
    padding-left: 15px;
    padding-right: 15px;
}

.wrapper {
    display: flex;
}

.panel {
    position: relative;
    left: 0px;
    flex: 1;
    max-width: 300px;
    height: 100vh;
    overflow: auto;
    background: #fafafa;
}

.exampleList {
    padding: 0
}

.exampleList li {
    list-style: none;
    padding: 0.3em 0;
}

.exampleList li.selected a {
    color: #ff0000;
}

.expand {
    display: none;
    float: right;
    width: 36px;
    height: 36px;
    margin-top: -0.25em;
    background-image: url(../../public/menu.svg);
    background-size: cover;
}

@media only screen and (max-width: 768px) {

    /* More padding on mobile for easier touch screen use */
    .exampleLink {
        padding: 0.5em 0;
    }

    .wrapper {
        flex-direction: column;
    }

    .panel {
        max-width: 100%;
        height: auto;
    }

    .panel[data-expanded=false] .panelContents {
        display: none;
    }

    .panel[data-expanded=true] .panelContents {
        display: block;
    }

    .expand {
        display: inline-block;
    }
}

.homePage {
    background: white;
    color: #222;
}

.canvasContainer {
    text-align: center;
    position: relative;
    margin-top: 10px;
}

.canvasContainer>canvas {
    width: 100%;
    aspect-ratio: 1;
    max-width: 600px;
}

nav.sourceFileNav ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    margin-top: 15px;
}

nav.sourceFileNav li {
    display: inline-block;
    margin: 0;
    padding: 0;
}

nav.sourceFileNav li a {
    display: block;
    margin: 0;
    padding: 10px;
    color: white;
    background-color: #403e3e;
}

nav.sourceFileNav li a[data-active=true] {
    background-color: #282823;
}

.sourceFileContainer {
    overflow: hidden;
    height: 0;
}

.sourceFileContainer[data-active=true] {
    height: auto;
}

.sourceFileContainer :global(.CodeMirror) {
    margin-top: 0;
}