* {
	margin: 0;
	padding: 0;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
	-webkit-touch-callout: none;
	-webkit-user-select: none;
}

.draggable {
	cursor: move;
	position: absolute;
	z-index: 10;
	height: auto;
}

.draggable img {
	width: 100%;
	height: auto;
	display: block;
}

.show {
	opacity: 1;
}
.hide {
	opacity: 0;
}

.test {
	background-color: rgba(225, 225, 225, 0.3);
	border: 1px dashed rgba(0, 0, 0, 0.2);
}

body, html {

}

#stage {
	position: absolute;
    /* overflow: hidden; */
    min-height: 100vh;
    width: 100%;
    display: block;
    margin: 0;
}

#background {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-size: 100% 100%;
	background-position: top left;
	background-repeat: no-repeat;
	position: absolute;
	z-index: 0;
}

#background .static {
	position: absolute;
	width: 100%;
	height: auto;
	bottom: 0;
	z-index: 11;
}

#logo {
	pointer-events: none;
    position: relative;
    width: 100%;
    height: auto;
    display: block;

	background-repeat: no-repeat;

	background-size: 100% auto;
	height: 170vw;
	background-image: url(../img/top-sec-mbl.png);
}

#foreground {
    width: 100%;
    height: 42vw;
    position: absolute;
    top: 125vw;
}

#foreground .static {
	position: absolute;
	width: 100%;
	height: auto;
	top: 0;
}

#slides {
    position: absolute;
	top: 0;
	width: 100%;
}

#slides img {
    display: inline-block;
    float: left;
	pointer-events: none;
}

#foreground #static {
    left: 0;
    position: absolute;
    top: 0;
	pointer-events: none;
}

#crossfade,
#volume,
#play,
#guide-play{
    position: absolute;
	z-index: 100;;
}

#cross-vol {
	top: 0;
    width: 32.5%;
    left: 34%;
}

#vol {
	left: 0;
	top: 0;
	width: 100%;
}

#crossfade {
	height: 15vw;
    left: 6vw;
    top: 0;
    width: 88%;
    background-image: url(../img/controls-fade-mbl.svg);
    background-size: 100% auto;
	background-repeat: no-repeat;
}

#crossfade::after {
	content: "";
    border-bottom: 1px solid #774e4b;
    width: 100%;
    height: 1px;
    top: 20%;
    left: 0;
    position: absolute;
}

#volume {
	height: 26.8%;
    left: 86.5%;
    top: 58.1%;
    width: 6%;
}

#play, #launch {
    top: 55%;
    height: 12vw;
    left: 66%;
    transform: translateX(-50%);
    width: 28.5%;
}

#guide-play, #guided-launch {
    top: 55%;
    height: 12vw;
    left: 34%;
    transform: translateX(-50%);
    width: 28.5%;
}

#launch img,
#guided-launch img {
	width: 100%;
	height: auto
}

#play {
	background-image: url("../img/play.svg");
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: top center;
}

#guide-play {
	background-image: url("../img/play-guide.svg");
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: top center;
}


#launch,
#guided-launch {
	position: absolute;
	cursor: pointer;
	z-index: 1000;
}

#exp {
    position: absolute;
    top: 40%;
    width: 19.75vw;
    height: auto;
    left: 50%;
    transform: translateX(-50%);
}

#visualizer {
			top: 0;
			left: 0;
			position: absolute;
}

#canvas {
	position: absolute;
	z-index: 1;
	background: transparent;
	width: 100%;
	left: 0%;
	top: 2.5%;
}

#data {
	color: #fff;
}

#temp {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: auto;
	z-index: 1000;
	opacity: 0;
	pointer-events: none;
}

#loading,
#instructions {
	background-size: 100% 100%;
	background-position: top left;
	background-repeat: no-repeat;
	position: absolute;
	z-index: 1000;
	width:100%;
	height: 100%;
	left:0;
	top:0;
	-webkit-animation-duration: .5s;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-fill-mode: forwards;
	-webkit-animation-timing-function: ease-out;
	animation-duration: .5s;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
	opacity: 1;
}



#help img,
#close img {
	width: 100%;
	height: auto;
	display: block;

}

#loading img, #instructions .wrapper {
    width: 100%;
    height: auto;
    display: block;
    position: absolute;
    top: 60px;
    left: 50%;
	 transform: translateX(-50%);

}

#loading img {
	 top: 50%;
    left: 50%;
	 transform: translate(-50%, -50%);
}



#instructions .wrapper {

	background-image: url(../img/init-text.svg);
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: center;
	max-width: 700px;
	top: 80px;
}

#instructions .wrapper:after {
  content: "";
  display: block;
  padding-bottom: 100%;
}

#init-text {
    width: 100%;
    position: absolute;
}

#get-started {
    position: absolute;
    width: 32%;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    max-width: 120px
}

#loading.channelA.channelB.channelG {
	display:none;
}

#help,
#close {
	background-size: 100% 100%;
    background-position: top left;
    background-repeat: no-repeat;
    position: absolute;
    z-index: 1000;
	width: 9%;
	max-width: 40px;
    height: auto;
    top: 4vw;
    right:4vw;


}

#footer {
	display: block;
	position: relative;
    padding: 5vw 2vw;
}

p {

    color: #774e4b;
    z-index: 10;
    text-align: center;
    font-family: 'avenir', gotham, helvetica, arial, sans-serif;
    font-size: 12px;
	font-weight: bold;
}
p a {
	color: #774e4b;
}


.bubble {

    padding-bottom: 15%;
	position: absolute;
	width: 15%;
}

.bubble {
	background-size: cover;
	background-repeat: no-repeat;
}


@media (min-width: 768px) {

	#logo {
		height: 135vw;
		background-image: url(../img/top-sec-tab.png);
	}

	#foreground {
		width: 100%;
		height: 42vw;
		position: absolute;
		top: 103.5vw;
	}

	#crossfade {
		height: 7vw;
		left: 14vw;
		width: 74%;
		background-image: url(../img/controls-fade-tab.svg);;
	}

	#cross-vol {
		top: 0;
		width: 18.5%;
		left: 40%;
	}

	#play, #launch {
		top: 33%;
		height: 7vw;
		left: 58%;
		transform: translateX(-50%);
		width: 13.9%;
    	
	}
	
	#guide-play, #guided-launch {
    	top: 33%;
		height: 7vw;
		left: 42%;
		transform: translateX(-50%);
		width: 13.9%;
	}
	
	#exp {
		top: 23.5%;
		width: 9vw;
	}


}


@media (min-width: 1024px) {

	#logo {
		height: 75vw;
		background-image: url(../img/top-sec-web.png);
	}

	#foreground {
		width: 100%;
		height: 7vw;
		position: absolute;
		top: 63vw;
	}

	#crossfade {
		height: 5vw;
    	left: 37.5vw;
    	width: 46.2%;
		background-image: url(../img/controls-fade-web.svg);
	}

	#cross-vol {
		top: 0;
		width: 18.5%;
		left: 40%;
	}

	#play, #launch {
    	top: 0;
		height: 7vw;
		left: 26.25vw;
		transform: none;
		width: 8.6%;
	}
	
	#guide-play, #guided-launch {
		top: 0;
		height: 7vw;
		left: 16.25vw;
		transform: none;
		width: 8.6%;
		
	}
	
	#exp {
		top: -30%;
		width: 5.5vw;
		left: 25.6%;
	}


}

@media (min-aspect-ratio: 16/12) and (min-width: 1024px) {
  #logo {
		height: 62.5vw;
		background-image: url("../img/top-sec-lands.png");
	}

	#foreground {
		width: 100%;
		height: 7vw;
		position: absolute;
		top: 56vw;
	}

	#crossfade {
		height: 5vw;
    	left: 37.5vw;
    	width: 46.2%;
		background-image: url(../img/controls-fade-web.svg);
	}

	#cross-vol {
		top: 0;
		width: 18.5%;
		left: 40%;
	}

	#play, #launch {
    	top: 0;
		height: 7vw;
		left: 26.25vw;
		transform: none;
		width: 8.6%;
	}
	
	#guide-play, #guided-launch {
		top: 0;
		height: 7vw;
		left: 16.25vw;
		transform: none;
		width: 8.6%;
		
	}

}



/* KEYFRAMES */

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.fade-in {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn; }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }
@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.fade-out {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut; }

@-webkit-keyframes animateBubble {
    0% {
        margin-top: 100%;
    }
    100% {
        margin-top: -100%;
    }
}

@-moz-keyframes animateBubble {
    0% {
        margin-top: 100%;
    }
    100% {
        margin-top: -100%;
    }
}

@keyframes animateBubble {
    0% {
        bottom: 0vh;
    }
    100% {
        bottom: 300vh;
    }
}

@-webkit-keyframes sideWays {
    0% {
        margin-left:0px;
    }
    100% {
        margin-left:50px;
    }
}

@-moz-keyframes sideWays {
    0% {
        margin-left:0px;
    }
    100% {
        margin-left:50px;
    }
}

@keyframes sideWays {
    0% {
        margin-left:0px;
    }
    100% {
        margin-left:50px;
    }
}

@-webkit-keyframes rotateAnim {
    0% {
        transform:rotate(0deg);
    }
    100% {
        transform:rotate(45deg);
    }
}

@-moz-keyframes rotateAnim {
    0% {
        transform:rotate(0deg);
    }
    100% {
        transform:rotate(45deg);
    }
}

@keyframes rotateAnim {
    0% {
        transform:rotate(0deg);
    }
    100% {
        transform:rotate(45deg);
    }
}

/* ANIMATIONS */

.x1 {
    -webkit-animation: animateBubble 25s linear 1, sideWays 2s ease-in-out infinite alternate;
	-moz-animation: animateBubble 25s linear 1, sideWays 2s ease-in-out infinite alternate;
	animation: animateBubble 25s linear 1, sideWays 2s ease-in-out infinite alternate;

	left: -5%;
	bottom: 0;

	-webkit-transform: scale(0.6);
	-moz-transform: scale(0.6);
	transform: scale(0.6);
}

.x2 {
    -webkit-animation: animateBubble 20s linear 1, sideWays 4s ease-in-out infinite alternate, rotateAnim 3s ease-in-out infinite alternate;
	-moz-animation: animateBubble 20s linear 1, sideWays 4s ease-in-out infinite alternate, rotateAnim 3s ease-in-out infinite alternate;
	animation: animateBubble 20s linear 1, sideWays 4s ease-in-out infinite alternate, rotateAnim 3s ease-in-out infinite alternate;

	left: 5%;
	bottom: 0;

	-webkit-transform: scale(0.4);
	-moz-transform: scale(0.4);
	transform: scale(0.4);
}

.x3 {
    -webkit-animation: animateBubble 28s linear 1, sideWays 2s ease-in-out infinite alternate;
	-moz-animation: animateBubble 28s linear 1, sideWays 2s ease-in-out infinite alternate;
	animation: animateBubble 28s linear 1, sideWays 2s ease-in-out infinite alternate;

	left: 10%;
	bottom: 0;

	-webkit-transform: scale(0.7);
	-moz-transform: scale(0.7);
	transform: scale(0.7);
}

.x4 {
    -webkit-animation: animateBubble 22s linear 1, sideWays 3s ease-in-out infinite alternate;
	-moz-animation: animateBubble 22s linear 1, sideWays 3s ease-in-out infinite alternate;
	animation: animateBubble 22s linear 1, sideWays 3s ease-in-out infinite alternate;

	left: 20%;
	bottom: 0;

	-webkit-transform: scale(0.3);
	-moz-transform: scale(0.3);
	transform: scale(0.3);
}

.x5 {
    -webkit-animation: animateBubble 29s linear 1, sideWays 4s ease-in-out infinite alternate;
	-moz-animation: animateBubble 29s linear 1, sideWays 4s ease-in-out infinite alternate;
	animation: animateBubble 29s linear 1, sideWays 4s ease-in-out infinite alternate;

	left: 30%;
	bottom: 0;

	-webkit-transform: scale(0.5);
	-moz-transform: scale(0.5);
	transform: scale(0.5);
}

.x6 {
    -webkit-animation: animateBubble 21s linear 1, sideWays 2s ease-in-out infinite alternate, rotateAnim 3s ease-in-out infinite alternate;
	-moz-animation: animateBubble 21s linear 1, sideWays 2s ease-in-out infinite alternate, rotateAnim 3s ease-in-out infinite alternate;
	animation: animateBubble 21s linear 1, sideWays 2s ease-in-out infinite alternate, rotateAnim 3s ease-in-out infinite alternate;

	left: 50%;
	bottom: 0;

	-webkit-transform: scale(0.8);
	-moz-transform: scale(0.8);
	transform: scale(0.8);
}

.x7 {
    -webkit-animation: animateBubble 20s linear 1, sideWays 2s ease-in-out infinite alternate;
	-moz-animation: animateBubble 20s linear 1, sideWays 2s ease-in-out infinite alternate;
	animation: animateBubble 20s linear 1, sideWays 2s ease-in-out infinite alternate;

	left: 65%;
	bottom: 0;

	-webkit-transform: scale(0.4);
	-moz-transform: scale(0.4);
	transform: scale(0.4);
}

.x8 {
    -webkit-animation: animateBubble 22s linear 1, sideWays 3s ease-in-out infinite alternate;
	-moz-animation: animateBubble 22s linear 1, sideWays 3s ease-in-out infinite alternate;
	animation: animateBubble 22s linear 1, sideWays 3s ease-in-out infinite alternate;

	left: 80%;
	bottom: 0;

	-webkit-transform: scale(0.3);
	-moz-transform: scale(0.3);
	transform: scale(0.3);
}

.x9 {
    -webkit-animation: animateBubble 29s linear 1, sideWays 4s ease-in-out infinite alternate, rotateAnim 3s ease-in-out infinite alternate;
	-moz-animation: animateBubble 29s linear 1, sideWays 4s ease-in-out infinite alternate, rotateAnim 3s ease-in-out infinite alternate;
	animation: animateBubble 29s linear 1, sideWays 4s ease-in-out infinite alternate, rotateAnim 3s ease-in-out infinite alternate;

	left: 90%;
	bottom: 0;

	-webkit-transform: scale(0.6);
	-moz-transform: scale(0.6);
	transform: scale(0.6);
}

.x10 {
    -webkit-animation: animateBubble 26s linear 1, sideWays 2s ease-in-out infinite alternate;
	-moz-animation: animateBubble 26s linear 1, sideWays 2s ease-in-out infinite alternate;
	animation: animateBubble 26s linear 1, sideWays 2s ease-in-out infinite alternate;

	left: 80%;
	bottom: 0;

	-webkit-transform: scale(0.3);
	-moz-transform: scale(0.3);
	transform: scale(0.3);
}

