html {
    padding: 0;
    height: 100%;
}

body {
    margin: 0;

    height: 100%;
    width: 100%;

    font-family: "M PLUS Rounded 1c", sans-serif;
    color: #E2E1E7;
    background-color: #212A2F;
    background-image: url("../img/ff14.jpg");
    background-position: left;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: 100vw auto;
}

canvas {
    display: block;
}

#header {
    margin: 0;

    padding-left: calc(100vw - 100%); /* 0 if no scrollbar, scrollbar width if scrollbar*/
    padding-right: 0;

    height: 50px;
    width: calc(100vw - 2 * (100vw - 100%)); /* 100vw if no scrollbar, 100vw - 2x scrollbar width if scrollbar (+ padding)*/

    position: relative;
    z-index: 2;

    background-color: #232323;
    box-shadow: inset 0 -2px 5px 3px rgba(0,0,0,0.20);
}

#footer {
    margin: 0;
    padding: 0;

    padding-left: calc(100vw - 100%); /* 0 if no scrollbar, scrollbar width if scrollbar*/

    height: 75px;
    width: calc(100vw - 2 * (100vw - 100%)); /* 100vw if no scrollbar, 100vw - 2x scrollbar width if scrollbar (+ padding)*/

    position: relative;
    z-index: 2;

    background-color: #232323;
    box-shadow: inset 0 0 7px 5px rgba(0,0,0,0.35);

    overflow: hidden;
}

#main-page {

    /*margin-right: calc((100% - min(1200px, 100%) - (100vw - 100%)) / 2); /* Magic*/
    margin-left: calc((100% - min(1200px, 100%) + (100vw - 100%)) / 2);

    padding: 0;

    min-height: calc(100vh - 125px);
    max-width: 1200px;

    background-color: rgba(0, 0, 0, 0.78);
    box-shadow: 0 0 15px 5px rgba(0,0,0,1);

    overflow-x: hidden;
}

.main-page-content {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow: hidden;
}

.content {
    margin: 0 auto;
    padding: 0;
    width: 100%;
    max-width: 1200px;
    overflow: hidden;
}

.text-wrap {
    margin-left: 16px;
    margin-right: 16px;
    padding: 0;
    white-space: pre-wrap;
    word-break: keep-all;
}

.code-wrap {
    width: max-content;
    margin: 0;
    padding: 5px;
    font-family: 'Source Code Pro', monospace;
    font-size: 16px;
    color: #E2E1E7;
    background-color: #212A2F;
}

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

#c {
    background-color: transparent;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    display: block;
}

#raycast_canvas {
    background-color: black;
    width: 640px;
    height: 360px;
    margin: 25px auto 0;
    display: block;
}


a:link {
    color: #9E7BC6;
    background-color: transparent;
    text-decoration: none;
}

a:visited {
    color: #71588E;
    background-color: transparent;
    text-decoration: none;
}

a:hover {
    color: #CB9EFF;
    background-color: transparent;
    text-decoration: underline;
}

a:active {
    color: #71588E;
    background-color: transparent;
    text-decoration: underline;
}

.topnav {
    background-color: transparent;
    overflow: hidden;
}

.topnav a {
    float: left;
    display: block;
    color: #E2E1E7;
    text-align: center;
    padding: 10px 16px;
    text-decoration: none;
    font-size: 1.4em;
}

.topnav .icon {
    display: none;
}

.dropdown {
    float: left;
    overflow: hidden;
}

.dropdown .dropbtn {
    font-size: 1.4em;
    border: none;
    outline: none;
    color: #E2E1E7;
    padding: 10px 16px;
    background-color: transparent;
    font-family: inherit;
    margin: 0;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #232323;
    min-width: 160px;
    box-shadow: 0 0 0 0 rgba(0,0,0,0);
    z-index: 1;
}

.dropdown-content a {
    float: none;
    color: #E2E1E7;
    padding: 10px 16px;
    text-decoration: none;
    display: block;
    text-align: left;
}

.topnav a:hover, .dropdown:hover .dropbtn {
    background-color: #E2E1E7;
    color: #3D2F4C;
}

.dropdown-content a:hover {
    background-color: #E2E1E7;
    color: #3D2F4C;
}

.dropdown:hover .dropdown-content {
    display: block;
}

@media screen and (max-width: 600px) {
    .topnav a:not(:first-child), .dropdown .dropbtn {
        display: none;
    }

    .topnav a.icon {
        float: right;
        display: block;
    }
}

@media screen and (max-width: 600px) {
    .topnav.responsive {
        position: relative;
    }
    .topnav.responsive a.icon {
        position: absolute;
        right: 0;
        top: 0;
        background-color: #E2E1E7;
        color: #232323;
    }
      .topnav.responsive a {
        float: none;
        display: block;
        text-align: left;
        background-color: #232323;
        color: #E2E1E7;
    }
    .topnav.responsive .dropdown {
        float: none;
    }
    .topnav.responsive .dropdown-content {
        position: relative;
    }
    .topnav.responsive .dropdown .dropbtn {
        display: block;
        width: 100%;
        text-align: left;
        background-color: #232323;
        color: #E2E1E7;
    }
}

