html, body {
    height: 100%;
    overflow: hidden;
    padding: 0;
    margin: 0;

    font-family: "Concert One", sans-serif;
}

#main {
    height: 100%;
    position: relative;
    overflow: hidden;
}
.full-height {
    height: 100%;
}

#scene-01-bg {

}
#scene-01-sky{
    z-index: 500;
}
#scene-01-clouds-01{
    z-index: 540;
    bottom: 10%;
}
#scene-01-clouds-02{
    z-index: 545;
    bottom: 30%;
}
#scene-01-rainbow{
    z-index: 550;
}

#scene-02-ground{
    position: absolute;
    z-index: 1002;
    width: 100%;
    bottom: 0;
    left: 0;
    height: 100%;
    opacity: 0;
}

#scene-01-ground{
    position: absolute;
    z-index: 1001;
    width: 100%;
    bottom: 0;
    left: 0;
    height: 100%;
}

#earth-floor-01,#earth-floor-02 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

#hedge-left,#hedge-left-night {
    position: absolute;
    bottom: 10%;
    left: 0;
    width: 22%;
}

.kevin {
    position: absolute;
    bottom: 8%;
    left: 120%;
    width: 12%;
}
.kevin.night {
    filter: saturate(0.3) brightness(0.3);
}

.kevin-part {
    position: absolute;
    z-index: 2005;
    bottom: 10%;
    left: 78%;
    width: 13%;
    opacity: 0;
}

#hedge-left-02,#hedge-left-night-02 {
    position: absolute;
    bottom: 2%;
    left: 0;
    width: 15%;
}

#hedge-right,#hedge-right-night {
    position: absolute;
    bottom: 12%;
    right: 0;
    width: 20%;
}

#hedge-right-02,#hedge-right-night-02 {
    position: absolute;
    bottom: 10%;
    right: -1%;
    width: 10%;
}

#sleepy-bear-01,#sleepy-bear-02 {
    position: absolute;
    z-index: 2010;
    bottom: 5%;
    right: 25%;
    width: 13%;
}

#sleepy-bear-01 img, #sleepy-bear-01 img {
    width: 100%;
}

#eyes-01, #eyes-02, #eyes-03, #eyes-04 {
    z-index: 2015;
    position: absolute;
    opacity: 0;
    width: 3%;
}

#eyes-01{
    left: 2%;
    bottom: 13%;
}

#eyes-02 {
    left: 7%;
    bottom: 15%;
}

#eyes-03 {
    right: 6%;
    bottom: 25%;
    transform: scaleX(-1);
}

#eyes-04 {
    right: 12%;
    bottom: 15%;
}

#scene-04-ground{
    position: absolute;
    z-index: 1002;
    width: 100%;
    bottom: -70%;
    left: 0;
    height: 100%;
}

#moon-floor-01 {
    position: absolute;
    bottom: 0;
    width: 100%;
}

#balloon-01 {
    z-index: 2000;
    bottom: 6%;
    width: 25%;
}

#balloon-01 img {
    width: 100%;
}

#balloon-01-shadow {
    z-index: 1999;
    bottom: 5%;
    width: 25%;
}

#balloon-01-shadow img {
    width: 100%;
}

#balloon-02 {
    position: absolute;
    z-index: 2001;
    bottom: 150%;
    left: -20%;
    width: 5%;
}

#balloon-02 img {
    width: 100%;
}

#rocketman-01 {
    position: absolute;
    z-index: 2005;
    bottom: -70%;
    width: 10%;
}

#rocketman-01 img {
    width: 100%;
}

#scene-02-sky{
    opacity: 0;
    z-index: 501;
}
#scene-03-sky{
    opacity: 0;
    z-index: 503;
}

#overlay{
    z-index: 3000;
    display: none;
}


#sun-01 {
    position: absolute;
    top: -100px;
    right: 0px;
    height: 200px;
}

#hello {
    top: 10%;
    z-index: 1200;
    text-align: center;
}

#about {
    z-index: 800;
    width: 50%;
    opacity: 0;
    bottom: -60%;
}

#roadmap {
    position: absolute;
    z-index: 810;
    width: 50%;
    bottom: 20%;
    left: -50%;
}

#roadmap div {
    position: relative;
    left: -50%;
}

#team {
    position: relative;
    z-index: 960;
    width: 50%;
    bottom: -120%;
}

#team div {

}

#scene-03-stars-xxx {
    z-index: 620;
    opacity: 0;
}

#scene-03-stars {
    position: absolute;
    left: -50%;
    bottom: -50%;
    z-index: 620;
    opacity: 0;
    width: 200%;
    height: 200%;
    background-image: url('/img/moon/stars-01.png');
    background-repeat: repeat;
    background-size: contain;
}

#scene-04-earth {
    position: absolute;
    z-index: 615;
    bottom: -50%;
    left: 10%;
    width: 10%;
}

#scene-04-earth img{
    width: 100%;
}

#scene-03-comet {
    width: 2%;
    z-index: 630;
    position: absolute;
    right: 90%;
    bottom: 90%;
}

#scene-03-explosion {
    width: 2%;
    z-index: 631;
    position: absolute;
    right: 20%;
    bottom: -10%;
    transform-origin: bottom;
}

#alien-wrapper {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 25%;
}

#scene-04-alien-area {
    width: 20%;
    z-index: 1050;
    position: absolute;
    left: 12%;
    bottom: 15%;
    overflow: hidden;
    height: 140%;
}

#alien-01 {
    position: absolute;
    width: 50%;
    bottom: -120%;
    left: 10%;
}

#stone-01 {
    position: absolute;
    width: 100%;
    bottom: -0.3%;
    left: 0;
}

#flag-01 {
    position: absolute;
    width: 15%;
    bottom: 10%;
    right: 20%;
}

#scene-04-stone img.content{
    width: 100%;
}

#faq {
    text-align: center;
}

#final-note {
    text-align: center;
    z-index: 960;
    opacity: 0;
    bottom: 35%;
    width: 50%;
}

#final-note .content img {
    width: 30%;
    border-radius: 10%;
    border: 0.5vh solid white;
}

#fade {
    z-index: 950;
    background-color: #0f1019;
    height: 100%;
    width: 100%;
    opacity: 0;
}

#scroll-target {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 20000;
    height: 100%;
    width: 100%;
}

#controls {
    position: absolute;
    z-index: 21000;
    bottom: 2%;
    left: 5%;
}

#play-button {
    position: relative;
    left: -50%;

    border: 0.5vh solid #FFFFFF;
    border-radius: 2vh;
    background-color: #191733;

    font-family: "Chewy", sans-serif;
    color: #FFFFFF;
    font-size: 3vh;
    padding: 0.5vh 2vh;
}

#play-button-x {
    border: none;
    background: none;
    opacity: 60%;
}

#play-button-x:hover {
    opacity: 100%;
}

#play-button-x .pause {
    display: none;
}

#play-button:hover {
    background-color: #5048a2;
}

#play-button span.letter {
    /*margin-left: -0.1vw;*/
    display: inline-block;
}


#play-button span.space {
    margin-left: 0.5vw;
}

h1, h2, h3 {
    font-family: "Chewy", sans-serif;
}

h1 {
    font-size: 5vh;
}
h2 {
    font-size: 3vh;
    line-height: 4vh;
}
h3 {
    font-size: 2.5vh;
    line-height: 3.5vh;
}

h2 span, h3 span {
    color: #fbf174;
}

hr {
    margin: 25vh auto 25vh auto;
    width: 90%;
    height: 4px;
    border: 0;
    border-bottom: 4px dashed #FFFFFF;
    background: rgba(255,255,255,0.3);
}

button.primary {
    border: 0.5vh solid #FFFFFF;
    border-radius: 2vh;
    background-color: #191733;

    font-family: "Chewy", sans-serif;
    color: #FFFFFF;
    font-size: 3vh;
    padding: 0.5vh 2vh;
}

button.primary:hover {
    background-color: #5048a2;
    box-shadow: 0 0 5px rgb(255, 255, 255),0 0 5px 5px rgb(244, 245, 176),0 0 10px 10px rgb(246, 207, 160),0 0 15px 20px rgb(245, 168, 168);
}

button.primary span.letter {
    display: inline-block;
}

.red {
    color: #FFADAD;
}

.orange {
    color: #FFD6A5;
}

.yellow {
    color: #FDFFB6;
}

.green {
    color: #CAFFBF;
}

.light-blue {
    color: #9BF6FF;
}

.blue {
    color: #A0C4FF;
}

.purple {
    color: #BDB2FF;
}

.pink {
    color: #FFC6FF;
}

.sky {
    background-color: #82e5ff;
}
.content {
    color: white;
    line-height: 3vh;
    font-size: 2vh;

    text-shadow: 1px 1px 2px rgba(25, 23, 51, 0.5);
}

.content h1 {
    line-height: 5vh;
    color: white;
    ext-shadow: 1px 1px 2px rgba(25, 23, 51, 0.5);
}
.content h1 span{
    color: #fbf174;
}

.content-panel-01 {
    border: 5px solid black;
    padding: 15px;
    background-color: white;
    border-radius: 10px;
}

.content-left {
    position: absolute;
    left: 10%;
}

.content-left div.content,img.content {
    left: 0;
    text-align: left;
}

.h-center {
    position: absolute;
    left: 50%;
}

.h-center div.content,img.content {
    position: relative;
    left: -50%;
}

.full-screen {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}

.team-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    grid-gap: 2vw;
    grid-auto-rows: minmax(100px, auto);
}

.one {
    width: 100%;
}

.team-pfp {
    width: 75%;
}

.team-pfp img {
    width: 100%;
    border-radius: 1vh;
}

/* Navigation */

.topnav {
    z-index: 25000;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    text-align: center;
    min-height: 8vh;
}

.topnav #logo {
    float: left;
    height: 40px;
    padding: 14px 16px;
}

.topnav-content {
    display: flex;
    margin-left: auto;
    margin-right: auto;
    height: 100%;
}

.topnav-main-links {
    width: auto;
    flex: 1;
    text-shadow: 1px 1px 2px rgba(25, 23, 51, 0.5);
}

.topnav a {
    font-family: "Chewy", sans-serif;
    float: left;
    display: block;
    color: #FFFFFF;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    font-size: 3vh;
    line-height: 3vh;
}

.topnav a:hover {
    color: #fbf174;
}

.topnav a.active {
    color: #fbf174;
    text-decoration: underline;
}

.topnav a.icon {
    display: inline-block;
    float: none;
    padding: 16px 16px 2px 20px;
}

#topnav-external-links {
    display: inline-block;
    padding-right: 20px;
}

.topnav-external-link {
    padding: 14px 2px;
    display: inline-block;
}

.topnav.responsive .topnav-content {
    border-bottom: 6px solid white;
}

.topnav.responsive .topnav-main-links {
    display: grid;
    grid-template-columns: 1fr;
}

.topnav.responsive #topnav-external-links{
    display: none;
}

.topnav #nav-burger {
    display: none;
}
.topnav #nav-burger .close {
    display: none;
}

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

    #hello {
        width: 80%;
    }
    #balloon-01 {
        width: 40%;
    }

    #about, #roadmap, #team {
        width: 85%;
    }
    #hello .content, #about .content, #roadmap .content, #team .content {
        width: 100%;
        text-align: center;
    }

    #team .content .team-grid {
        text-align: left;
    }

    #final-note {
        bottom: 20%;
        width: 70%;
    }

    #final-note .content img {
        width: 100%;
    }

    .content-left {
        width: 85%;
    }

    /*.topnav a:not(:first-child) {display: none;}*/
    .topnav a {display: none;}

    .topnav #nav-burger {
        display: inline-block;
    }

    #controls {
        left: 5%;
    }

    #play-button {
        left: 0;
    }
}

@media only screen and (max-width: 600px) {
    .topnav.responsive {position: absolute;}

    .topnav.responsive a {
        float: none;
        display: inline-block;
        text-align: center;
    }
    .topnav.responsive #logo {
        float: none;
    }
}