* {
    padding: 0;
    margin: 0;
}

html {
    scroll-behavior: smooth;
    overflow-x: hidden;
    width: 100vw;
}

body {
    width: 100vw;
    max-width: 100px;
    overflow-x: hidden;
    background: #f0f9ff;
}

/*--------------*/
/* HEADER STYLE */
/*--------------*/

.header {
    position: absolute;
    left: 0;
    transition: left 1s;
}
h1 {
    font-size: 2em;
    position: absolute;
    left: 0;
    top: 5vh;
    width: 100vw;
    text-align: center;
    color: black;
    font-family: 'Major Mono Display', monospace;
    transition: transform 1s;
}
.headerLine {
    position: absolute;
    width: 12vw;
    height: 1vw;
    background: #8df;
    left: 44vw;
    top: 7.5vh;
    transition: transform 1s;
}
@media screen and (max-width: 800px) {
    h1 {
        font-size: 6vw;
    }
    .headerLine {
        width: 24vw;
        height: 2vw;
        left: 38vw;
        top: 7.5vh;
    }
}

/*--------------*/
/* BUTTON STYLE */
/*--------------*/

.button {
    position: absolute;
    top: 0;
    padding: 1vh;
    cursor: pointer;
    background: #d8edf7;
    margin: 2vw;
    text-align: center;
    font-family: 'Major Mono Display', monospace;
    width: 8em;
    transition: left 1s;
    font-weight: normal;
}
.bR {
    left: calc(95vw - 8em);
}
.bL {
    left: 0;
}
.button:hover {
    font-weight: bolder;
}
@media screen and (max-width: 800px) {
    .button {
        position: absolute;
        top: 12vh;
        width: calc(44vw - 4vh);
    }
    .button:hover {
        font-weight: normal;
    }
}


/*----------------*/
/* PAGE CONTINERS */
/*----------------*/


.mainContainer {
    position: fixed;
    height: 100vh;
    width: 100vw;
    overflow-x: hidden;
}
.project {
    z-index: -1;
    padding-top: 20vh;
    position: absolute;
    width: 92vw;
    height: 120vh;
    left: 4vw;
    box-sizing: border-box;
    transition: left 1s;
    overflow: visible;
}
@media screen and (max-width: 800px) {
    .project {
        padding-top: 24vh;
    }
}

.about {
    z-index: -1;
    padding-top: 20vh;
    position: absolute;
    width: 92vw;
    height: 105vh;
    left: 104vw;
    box-sizing: border-box;
    transition: left 1s;
    overflow: hidden;
}
@media screen and (max-width: 800px) {
    .about {
        padding-top: 24vh;
    }
}

.projectList {
    z-index: -1;
    padding-top: 20vh;
    margin-bottom: 5vh;
    position: absolute;
    width: 92vw;
    height: 100vh;
    left: -104vw;
    box-sizing: border-box;
    transition: left 1s;
}
@media screen and (max-width: 800px) {
    .projectList {
        padding-top: 24vh;
    }
}


/*---------------*/
/* PROJECT STYLE */
/*---------------*/


h2 {
    position: relative;
    text-align: center;
    font-size: 2em;
    margin-bottom: 2vh;
    font-family: 'Major Mono Display', monospace;
    padding-left: calc(50vw - 60vh);
    padding-right: calc(50vw - 60vh);
}
h3 {
    display: inline-block;
    width: 100%;
    font-size: 1.5em;
    margin-bottom: 1.5vh;
    margin-top: 0.5vh;
    font-family: 'Major Mono Display', monospace;
    padding-left: calc(50vw - 60vh);
    padding-right: calc(50vw - 60vh);
}
p {
    margin-bottom: 2vh;
    font-family: 'Anonymous Pro', monospace;
    font-size: 0.9em;
    font-weight: 300;
    padding-left: calc(50vw - 60vh);
    padding-right: calc(50vw - 60vh);
    float: left;
}
a {
    color: black;
    text-decoration: none;
    background: #d8edf7;
}
.footer {
    position: relative;
    width: 100%;
    float: left;
    font-family: 'Anonymous Pro', monospace;
    font-size: 0.8em;
    text-align: center;
    color: #777;
    padding-bottom: 4.5vh;
    margin-top: 2.5vh;
}
.image {
    position: relative;
    width: 80vw;
    height: 0;
    padding-top: 45%;
    background-size: cover;
    background-position: center;
    margin-bottom: 2vh;
    margin-left: 6vw;
    transition: all 1s;
}
.imageSmall {
    padding-left: calc(50vw - 60vh);
    padding-right: calc(50vw - 60vh);
    position: relative;
    box-sizing: border-box;
    width: 100%;
    margin-left: 0;
    transition: all 1s;
    background: #f00;
}
.imageSmall .sImage {
    margin: 0;
    padding: 0;
    position: relative;
    float: left;
    height: 0;
    padding-top: 40%;
    width: 50%;
    background-size: cover;
    background-position: center;
    margin-bottom: 2vh;
}
iframe {
    position: relative;
    width: 80vw;
    height: 45vw;
    background-size: cover;
    background-position: center;
    margin-bottom: 2vh;
    margin-left: 6vw;
    transition: all 1s;
}


@media screen and (max-width: 800px) {
    h2 {
        font-size: 1.4em;
    }
    h3 {
        font-size: 1.2em;
    }
    p {
        font-size: 0.8em;
    }
    .footer {
        padding-bottom: 20vh;
    }
}



/*-------------*/
/* ABOUT STYLE */
/*-------------*/

.meImage {
    margin-top: 0.5vh;
    width: 25vh;
    height: 25vh;
    max-width: 50vw;
    max-height: 50vw;
    float: left;
    margin-right: 2vh;
    margin-bottom: 2vh;
}

.about p {
    padding-top: 5vh;
    margin-left: 30vw;
    transition: all 1s;
    text-align: left;
    width: 100%;
    box-sizing: border-box;
}

.about h3 {
    margin-left: 0;
    padding: 0;
    text-align: center;
}

.about p.center {
    margin-left: 0;
    padding: 0;
    padding-top: 1vh;
    text-align: center;
    font-size: 1em;
}

.about p.center.small {
    margin-left: 0;
    padding: 0;
    text-align: center;
    font-size: 0.9em;
    padding-top: 0.5vh;
    margin-bottom: 0;
}

hr {
    border: none;
    height: 1px;
    background: black;
    width: 10vw;
    margin-left: 41vw;
}

/*----------------*/
/* PROJECTS STYLE */
/*----------------*/

.smallProject {
    position: relative;
    width: 30%;
    float: left;
    height: 20vw;
    margin: 1.6666%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}
.smallProject .fade {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.7);
    opacity: 0;
    transition: opacity 0.5s;
    cursor: pointer;
}
.smallProject .title {
    position: absolute;
    width: 100%;
    bottom: 5%;
    text-align: center;
    font-family: 'Major Mono Display', monospace;
    font-size: 1.3em;
}
.smallProject:hover .fade {
    opacity: 1;
}

.projectList .spacer {
    position: relative;
    width: 100%;
    float: left;
    height: 10vh;
/*    background: red;*/
}
@media screen and (max-width: 800px) {
    .smallProject:hover .fade {
        opacity: 0;
    }
}