@import url('https://fonts.googleapis.com/css?family=Asap:400,500,600');
html {
	touch-action: none;
}
body {
	background-color: #ddf6ec;
	background-image: url("../images/bg.gif");
	background-size: cover;
	overflow: hidden;
	font-family: 'Asap', sans-serif;
	font-weight: 500;
	margin: 0;
	color: #fff;
}
a {
	color: #fff;
}
button,
nav a {
	background: #333;
	color: #fff;
	font-weight: 400;
	text-decoration: none;
	opacity: 0.95;
	border: 2px solid #fff;
	-webkit-transition: ease-in 300ms;
	-moz-transition: ease-in 300ms;
	transition: ease-in 300ms;
}
button {
	display: inline-block;
	font-family: 'Asap', sans-serif;
	font-size: 1rem;
	text-align: center;
	cursor: pointer;
	margin: 0 -2px;
	padding: 1rem 2rem;
    -webkit-appearance: none;
	-moz-appearance: none;
}

button:hover,
button:focus,
button:active,
nav .active,
nav a:hover,
nav a:active,
nav a:focus {
	background: #fff;
	color: #333;
}

button:focus,
nav a:focus {
    outline-offset: -2px;
}

h1 {
	font-size: 2.0rem;
	font-weight: 600;
	margin: 0;
}
h2 {
	font-weight: 600;
	margin-top: 0;
}
header {
	width: 100%;
	position: fixed;
	top: 0;
	height: 80px;
	z-index: 9999;
	background: #333;
	border-bottom: 2px solid #fff;
	text-align: center;
	opacity: 0.95;
	animation: topSlideIn 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
header > div {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	width: 50%;
	margin: 0 auto;
}
header > div > div:first-child,
header > div > div:last-child {
	width: 11%;
}
header > div > div > div {
	height: 80px;
	flex-wrap: wrap;
	align-items: center;
}
header h2 {
	font-size: 1.0rem;
	font-weight: 400;
	margin: 0;
}
.wrapper {
	margin-top: 120px;
}
.viewport {
	-webkit-perspective: 800px;
	-moz-perspective: 800px;
	perspective: 800px;
}
.cube {
	position: relative;
	margin: 0 auto 100px;
	height: 400px;
	width: 400px;
	-webkit-transition: -webkit-transform 100ms linear;
	-webkit-transform-style: preserve-3d;
	-webkit-transform: rotateY(0deg) translateY(0px);
	-moz-transition: -moz-transform 100ms linear;
	-moz-transform-style: preserve-3d;
	-moz-transform: rotateY(0deg) translateY(0px);
	transition: transform 100ms linear;
	transform-style: preserve-3d;
	transform: rotateY(0deg) translateY(0px);
	opacity: 0;
}
.cube * {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.cube h2 {
	padding-top: 0;
	margin-top: 0;
}
.cube ul {
	text-align: left;
}
.cube img {
	width: 100%;
	height: auto;
}
.cube img.tall {
	width: auto;
	height: 66%;
}
.cube > div {
	position: absolute;
	height: 360px;
	width: 360px;
	padding: 20px;
	background-color: rgba(50, 50, 50, 0.85);
	font-size: 1rem;
	text-align: center;
	line-height: 1.6rem;
	border: 1px solid #555;
	border-radius: 3px;
}
.cube > div:first-child  {
	-webkit-transform: rotateX(90deg) translateZ(200px);
	-moz-transform: rotateX(90deg) translateZ(200px);
	transform: rotateX(90deg) translateZ(200px);
}
.cube > div:nth-child(2) {
	-webkit-transform: translateZ(200px);
	-moz-transform: translateZ(200px);
	transform: translateZ(200px);
}
.cube > div:nth-child(3) {
	-webkit-transform: rotateY(90deg) translateZ(200px);
	-moz-transform: rotateY(90deg) translateZ(200px);
	transform: rotateY(90deg) translateZ(200px);
	text-align: center;
}
.cube > div:nth-child(4) {
	-webkit-transform: rotateY(180deg) translateZ(200px);
	-moz-transform: rotateY(180deg) translateZ(200px);
	transform: rotateY(180deg) translateZ(200px);
}
.cube > div:nth-child(5) {
	-webkit-transform: rotateY(-90deg) translateZ(200px);
	-moz-transform: rotateY(-90deg) translateZ(200px);
	transform: rotateY(-90deg) translateZ(200px);
}
.cube > div:nth-child(6) {
	-webkit-transform: rotateX(-90deg) rotate(180deg) translateZ(200px);
	-moz-transform: rotateX(-90deg) rotate(180deg) translateZ(200px);
	transform: rotateX(-90deg) rotate(180deg) translateZ(200px);
}
iframe {
	opacity: 0.5;
	border: none;
}
iframe:hover {
	opacity: 1;
}
nav {
	width: 100%;
	position: absolute;
	bottom: 10px;
	z-index: 9999;
	text-align: center;
}
.portrait_mode nav {
	animation: portraitSlideIn 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
.landscape_mode nav {
	top: 82px;
	bottom: auto;
	text-align: left;
	animation: landscapeSlideIn 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}
nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
nav li {
	display: inline-block;
}
nav li:first-child {
	margin-bottom: -4px;
}
nav li:first-child a {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	padding: 10px 26px;
}
nav br+li button {
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}
nav li:last-child button {
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}
.landscape_mode nav li {
	display: block;
	width: 18%;
	margin: 0 0 -2px !important;
}
.landscape_mode nav li:first-child {
	width: 10%;
}
.landscape_mode nav br {
	display: none;
}
nav a,
nav button {
	display: table-cell;
	vertical-align: middle;
	padding: 10px 20px;
}
.landscape_mode nav a,
.landscape_mode nav button {
	display: block;
	width: 100%;
	font-size: 0.8rem;
	border-left-width: 0;
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
	margin: 0;
}
.landscape_mode nav button {
	padding: 0 20px;
}
.landscape_mode nav br+li button {
	border-top-right-radius: 4px;
}
.landscape_mode nav a {
	width: auto;
	text-align: center;
	border-top-width: 0;
	border-top-right-radius: 0 !important;
}
nav span {
	display: block;
	font-size: 2rem;
	font-weight: 600;
}
.landscape_mode nav span {
	display: inline;
	margin-right: 8px;
}
.mobile-text {
	display: none;
}
.landscape_mode .mobile-text,
.portrait_mode .mobile-text {
	display: inline;
}
@keyframes portraitSlideIn {
	from {
		transform: translate3d(0, 120rem, 500rem);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}
@keyframes landscapeSlideIn {
	from {
		transform: translate3d(-90rem, 0, 500rem);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}
@keyframes topSlideIn {
	from {
		transform: translate3d(0, -80rem, 500rem);
	}
	to {
		transform: translate3d(0, 0, 0);
	}
}
@media (max-width: 1200px) {
	header > div {
		width: 100%;
	}
}
@media (max-width: 640px) {
	h1 {
		font-size: 1.2rem;
	}
	header h2 {
		font-size: 0.9rem;
	}
}
