@charset "utf-8";

html {
	font-size: 1vw;
}

html, body {
	overflow: hidden;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background-color: #000000;
}

.hidden {
    display: none;
}

/* ---------- Canvas for Bayblon JS ---------- */

#renderCanvas {
	position: absolute;
	width: 100%;
	height: 100%;
	touch-action: none;
	-ms-touch-action: none;
		
	cursor: move;
}

/* ---------- Preloader for Bayblon JS ---------- */

#loader {
	overflow: hidden;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

#backgroundImage {
    height: 100%;
    width: 100%;
    background: url("preloader/screengrab.jpg") no-repeat center center fixed;
    background-size: cover;
	-webkit-animation-name: blurry; /* Safari 4.0 - 8.0 */
    -webkit-animation-duration: 3s; /* Safari 4.0 - 8.0 */
    animation-name: blurry;
    animation-duration: 3s;
}

@-webkit-keyframes blurry {
	from {filter: blur(10em);}
	to {filter: blur(0em);}
}

@keyframes blurry {
	from {filter: blur(10em);}
    to {filter: blur(0em);}
}

#loadingDetails {
    position: absolute;
	top: 40%;
    left: 24.5%;
    height: 10em;
	width: 50%;	   
}

#loadingGraphicContainer {
	position: absolute;
	top: -10.3em;
    left: -20em;
	width: 110%;
}

#loadingGraphic {
	width: 100%;
    height: auto;
}

#loadingGraphicVertical {
	display: none !important;
}

#loadingDetailsBackground {
	position: absolute;
	top: 0em;
    left: 0em;
    width: 100%;
    height: 100%;
    border-radius: 3em;
    background: linear-gradient(rgba(255,255,255,0.1), rgba(0,0,0,0.1));
}

#loadingLogoContainer {
	position: absolute;
	top: 1.2em;
    left: 1em;
	width: 11%;
    height: 11%;
}

#loadingLogo {
	width: 100%;
    height: auto;
}

#loadingTitle {
    position: absolute;	
    color: #fdac05;
    font-family: Arial;
	font-weight: normal;
	top: 0.2em;
    left: 2em;
	font-size: 3.57vw;
	cursor: default;
	-moz-user-select: -moz-none;
  	-khtml-user-select: none;
  	-webkit-user-select: none;	
    -ms-user-select: none;
    user-select: none;
}

#loadingPercentage {
    position: absolute;
	color: #FFFFFF;
	top: 4.5em;
	left: 7.4em;    
	width: 40em;
	height: 0.75em;
}

#textPercentageContainer {
	position: absolute;
	top: 0.5em;
	right: 0em;	
	font-size: 2vw;
	-moz-user-select: -moz-none;
  	-khtml-user-select: none;
  	-webkit-user-select: none;	
    -ms-user-select: none;
    user-select: none;
}

#textPercentage {
	text-align: right;
	color: #FFFFFF;
	font-family: Arial;
    font-weight: bold;
	cursor: default;
	-moz-user-select: -moz-none;
  	-khtml-user-select: none;
  	-webkit-user-select: none;	
    -ms-user-select: none;
    user-select: none;   
}

#progressContainer {
    position: absolute;
	background-color: #000000;
    width: 100%;
    height: 100%;
}

#loadingProgress {
    position: absolute;
	width: 100%;
	height: 100%;    
}

progress {
	position: absolute;
	width: 100%;
    height: 100%;	
    color: #fdac05;
	border: 0;
}

progress::-moz-progress-bar {
	background-color: #fdac05 !important;
}

progress::-webkit-progress-bar {
	background-color: #000000; 
	width: 100%;
}

progress::-webkit-progress-value {
	background-color: #fdac05 !important;
}

@media only screen and (orientation: portrait) {
	#loadingDetails {
		position: absolute;
		top: 30%;
		left: 15.5%;
		width: 68em;
		height: 36em;     
	}
	
	#loadingGraphicContainer {
		position: absolute;
		top: -7.5em;
		left: 40em;
		width: 15%;
		/*transform: rotate(90deg) scaleX(-1);*/
	}
	
	#loadingGraphic {
		display: none !important;		
	}

	#loadingGraphicVertical {
		display: inline !important;
		width: 100%;
    	height: auto;
	}	
	
	#loadingLogoContainer {
		position: absolute;
		top: 20em;
		left: 26.5em;
		width: 20%;
		height: 20%;
	}

	#loadingTitle {
		position: absolute;
		top: 0.5em;
		left: 0.5em;
		color: #fdac05;
		font-family: Arial;
		font-weight: normal;
		font-size: 5.5vw;
		-moz-user-select: -moz-none;
  		-khtml-user-select: none;
  		-webkit-user-select: none;	
   	 	-ms-user-select: none;
    	user-select: none;
	}
	
	#loadingPercentage {
		position: absolute;
		top: 10em;
		left: 3em;
		color: #FFFFFF;
		width: 62em;
		height: 1em;
	}
	
	#textPercentageContainer {
		position: absolute;
		top: 0.5em;
		right: 6.5em;	
		font-size: 4vw;
		-moz-user-select: -moz-none;
  		-khtml-user-select: none;
  		-webkit-user-select: none;	
    	-ms-user-select: none;
    	user-select: none;
	}
}

/* ---------- Title + Controls for Bayblon JS ---------- */

#controls {
    position: absolute;
    top: 2em;
    left: 2em;
	width:100%;
	pointer-events: none;
}

#header {
	display: block;
}

#siteTitle {
	display: inline-block;
	color: #ffffff;
	font-family: Arial;
	font-weight: normal;
	padding-bottom: 0.1em;
	padding-left: 0.2em;
	font-size: 5em;
	text-shadow:1px 1px 3px #555555;
	cursor: default;
	-moz-user-select: -moz-none;
  	-khtml-user-select: none;
  	-webkit-user-select: none;	
    -ms-user-select: none;
    user-select: none;
}

#contact {
	display: inline-block;
	position: absolute;
	right: 1.5em;
	color: #ffffff;
	font-family: Arial;
	font-weight: bold;
	padding-bottom: 0.1em;
	padding-left: 0.2em;
	font-size: 4em;
	text-shadow:1px 1px 3px #555555;
	cursor: pointer;
	-moz-user-select: -moz-none;
  	-khtml-user-select: none;
  	-webkit-user-select: none;	
    -ms-user-select: none;
    user-select: none;
	pointer-events: auto;
}

#contact a:link, a:visited {
	text-decoration: none;
	color: #ffffff;
	opacity: 0.85;
    transform: scale(0.9);
	pointer-events: auto;
}

#contact a:hover, a:active {
	text-decoration: none;
	color: #ffffff;
	opacity: 1.0;
    transform: scale(1.0);
	pointer-events: auto;	
}

#buttonContainer {
	display: block;
	width: 7em;
	height: 7em;
	padding-right: 1.75em;
	padding-bottom: 1.75em;
}

.uiButton {
	width: 100%;
    height: 100%;
    border-width: 0px;	
    opacity: 0.85;
    transform: scale(0.9);
	cursor: pointer;
	pointer-events: auto;
}

.uiButton:hover {
    opacity: 1.0;
    transform: scale(1.0);
	pointer-events: auto;	
}

#lightButton {
    background: url("gui/art/icons/light-icon.png") no-repeat center center;
    background-size: 100%;
}

#waterButton {
    background: url("gui/art/icons/water-icon.png") no-repeat center center;
    background-size: 100%;
}

#platformButton {
    background: url("gui/art/icons/platform-icon.png") no-repeat center center;
    background-size: 100%;
}

#talkingButton {
    background: url("gui/art/icons/talking-icon.png") no-repeat center center;
    background-size: 100%;
}

@media only screen and (min-width: 600px) {
	#siteTitle {
		font-size: 30px;
	}
	#contact {
		font-size: 20px;
	}
	#buttonContainer {
		max-width: 40px;
		max-height: 40px;
		padding-right: 6px;
		padding-bottom: 6px;	
	}
	#controls {
		position: absolute;
		top: 10px;
		left: 10px;
	}
}

@media only screen and (orientation: portrait) {
	#buttonContainer {
		display: block;
	}
}

@media only screen and (orientation: landscape) {	
	#buttonContainer {
		display: inline-block;
	}	
}

#handHintContainer {
	position: absolute;
	bottom: 35%;
    width: 100%;
	height: auto;
	opacity: 0.85;
	pointer-events: none;
}

#handHint {
	display: block;
    margin: auto;
	max-width: 80em;
	height: auto;
}

@media only screen and (max-width: 300px){
	#handHint {		
		width: 200px;
		height: auto;
	}
}

/* ---------- Sections Menu ---------- */

#menuContainer {
    width: 100%;
	height: auto;
}

#menu {
    position: absolute;
	overflow: hidden;
	border-width: 0px;
	bottom: -50%;
	width: 100%;
    height: 55%;
	transition: height 0.3s, bottom 0.3s;
	background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,1));   
}

#menuSectionContainer {
	position: absolute;
	text-align: center;
    width: 100%;
    height: auto;
	bottom: 1em;
}

#menuSection {
	display: inline-block;
	width: 20em;
	height: 20em;
}

@media only screen and (orientation: portrait){
	#menuSection {
		width: 27em;
		height: 27em;
		padding: 0 5em 0 5em;
	}
}

@media only screen and (max-height: 500px) and (orientation: landscape) {
	#menuSection {
		max-width: 15em;
		height: 15em;
	}
}

.menuSectionButton {
	width: 100%;
    height: 100%;
    border-width: 0px;	
    opacity: 0.65;
    transform: scale(0.9);
	cursor: pointer;
}

.menuSectionButton:hover {
    opacity: 1.0;
    transform: scale(1.0);	
}

#graphicSectionButton {
    background: url("gui/art/sections/Section-Graphic.png") no-repeat center center;
    background-size: 100%;
}

#interactiveSectionButton {
    background: url("gui/art/sections/Section-Interactive.png") no-repeat center center;
    background-size: 100%;
}

#drawingSectionButton {
    background: url("gui/art/sections/Section-Drawing.png") no-repeat center center;
    background-size: 100%;
}

#sculptureSectionButton {
    background: url("gui/art/sections/Section-Sculpture.png") no-repeat center center;
    background-size: 100%;
}

#menuArrowContainer {
	position: absolute;
	bottom: 15px;
    width: 100%;
	height: auto;
}

#menuArrow {
	display: block;
    margin: auto;
	width: 15em;
	height: auto;
}

#menuArrowText {
	display: block;
	margin: auto;
	color: #fdac05;
	font-family: Arial;
	font-weight: bold;
	padding: 0 0.2em 0 0.2em;
	font-size: 15px;
	text-align: center;
	text-shadow:1px 1px 3px #000000;
	text-align: center;
	border-style: solid;
	border-color: #fdac05;
	width: 60%;
	-moz-user-select: -moz-none;
  	-khtml-user-select: none;
  	-webkit-user-select: none;	
    -ms-user-select: none;
    user-select: none;
}

@media only screen and (min-width: 300px){
	#menuArrow {
		max-width: 50px;
		height: auto;
	}
}

/* ---------- Gallery Menu ---------- */

#galleryContainer {
    position: absolute;
	bottom: 0;
	width: 100%;
}

#gallery {
    overflow-y: hidden;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
	position: relative;
}

#scrollContainer {
	overflow-x: auto;
}

#imagesContainer {
	overflow: visible;	
	white-space: nowrap;
}

#imagesContainer img {
	display: inline-block;
	position: relative;		
    object-fit: cover;
	height: 40em;
	width: 40em;
	padding-right: 3px;
	background-color: rgba(255, 255, 255, 0.1);
}

#imgDiv{
	display: inline-block;
	position: relative;
}

#imgDiv img#more {
	position: absolute;
	top: 10%;
	right: 10%;	
	width: 15%;
	height: 15%;
	z-index: 1000;
	background-color: rgba(0, 0, 0, 0);
}

@media only screen and (min-height: 600px) and (orientation: portrait) {
	#imagesContainer img {
		height: 45em;
		width: 45em;
	}
}

@media only screen and (orientation: landscape) {
	#imagesContainer img {
		height: 15em;
		width: 15em;
	}
}

#menuBackContainer{
	position: absolute;
	top: -40px;
    width: 100%;
	height: 35px;
}

#menuBackText {
	display: block;
	margin:auto;
	color: #fdac05;
	font-family: Arial;
	font-weight: bold;
	padding: 0 0.2em 0 0.2em;
	font-size: 20px;
	text-shadow:1px 1px 3px #000000;
	line-height: 28px;
	text-align: center;
	border-style: solid;
	border-color: #fdac05;
	width: 60%;
	-moz-user-select: -moz-none;
  	-khtml-user-select: none;
  	-webkit-user-select: none;	
    -ms-user-select: none;
    user-select: none;
}

::-webkit-scrollbar {
    height: 10px;
    background-color: #333333;
}

::-webkit-scrollbar-thumb {
    background-color: #fdac05;
}

::-webkit-scrollbar-thumb:hover {
    background-color: #DDDDDD;
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 10px rgba(0,0,0,0.3);
    background-color: #333333;
}

/* ---------- Light Box Menu ---------- */

#lightBoxContainer {
	position: absolute;	
	width: 100%;
	height: 100%;
	overflow-y: scroll;
}

#lightBoxPrevious {
	position: fixed;
	top: 50%;
	left: 20px;
	width: 30px;
	height: auto;
	opacity: 0.8;
}

#lightBoxNext {
	position: fixed;
	top: 50%;
	right: 40px;
	width: 30px;
	height: auto;
	opacity: 0.8;
}

#arrows {	
	color: #fdac05;
	font-family: Arial;
	font-weight: bold;
	
	padding: 0 0.2em 0 0.2em;
	font-size: 25px;
	text-shadow:1px 1px 3px #000000;
	line-height: 28px;
	
	text-align: center;
	border-style: solid;
	border-color: #fdac05;
	width: 20px;
	-moz-user-select: -moz-none;
  	-khtml-user-select: none;
  	-webkit-user-select: none;	
    -ms-user-select: none;
    user-select: none;
}

#lightBoxImageContainer {
	display: block;
	margin: auto;
	width: 80%;
	height: auto;
	padding-top: 3em;
	padding-bottom: 10em;
}

#lightBoxImageContainer img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#lightBoxImageContainer #vid {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

#lightBoxCloseContainer {
	position: absolute;
	bottom: 35px;
    width: 100%;
	height: auto;
}

#lightBoxCloseText {
	display: block;
	margin:auto;
	color: #fdac05;
	font-family: Arial;
	font-weight: bold;
	padding: 0 0.2em 0 0.2em;
	font-size: 15px;
	text-align: center;
	text-shadow:1px 1px 3px #000000;
	border-style: solid;
	border-color: #fdac05;
	width: 60%;
	-moz-user-select: -moz-none;
  	-khtml-user-select: none;
  	-webkit-user-select: none;	
    -ms-user-select: none;
    user-select: none;
}

#lightBoxTitle {
	display: block;
	padding-top: 2em;
	padding-left: 10%;
	width: 80%;
	color: #ffffff;
	font-family: Arial;
	font-weight: bold;
	font-size: 24px;
	text-align: left;
	cursor: default;
	-moz-user-select: -moz-none;
  	-khtml-user-select: none;
  	-webkit-user-select: none;	
    -ms-user-select: none;
    user-select: none;
}

#lightBoxText {
	display: block;
	padding-left: 10%;
	width: 80%;
	color: #ffffff;
	font-family: Arial;
	font-weight: bold;
	font-size: 14px;
	text-align: left;
	cursor: default;
	-moz-user-select: -moz-none;
  	-khtml-user-select: none;
  	-webkit-user-select: none;	
    -ms-user-select: none;
    user-select: none;
}

@media only screen and (min-width: 300px){
	#lightBoxClose {
		max-width: 50px;
		height: auto;
	}
}

/* ---------- WebGL Not Supported ---------- */

#notSupported {
	overflow: hidden;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;	
}

#notSupportedDetails {
	position: absolute;
	bottom: 0%;
    left: 0%;    
	width: 100%;
	height: auto;	
}

#cardboardLeftContainer {
	position: absolute;
    left: 5em;
	max-width: 50em;
	height: auto;
	-webkit-animation-name: move; /* Safari 4.0 - 8.0 */
    -webkit-animation-duration: 3s; /* Safari 4.0 - 8.0 */
    animation-name: moveLeft;
    animation-duration: 5s;
}

#cardboardLeft {
	width: 100%;
    height: auto;	
}

#cardboardRightContainer {
	position: absolute;
    left: 43em;
	max-width: 50em;
	height: auto;
	-webkit-animation-name: move; /* Safari 4.0 - 8.0 */
    -webkit-animation-duration: 3s; /* Safari 4.0 - 8.0 */
    animation-name: moveRight;
    animation-duration: 5s;
}

@-webkit-keyframes moveLeft {
	0% {bottom: -100em;}
	25% {bottom: -4em;}
	75% {bottom: -4em;}
	100% {bottom: -100em;}	
}

@-webkit-keyframes moveRight {
	0% {bottom: -100em;}
	25% {bottom: -1em;}
	75% {bottom: -1em;}
	100% {bottom: -100em;}	
}

#cardboardRight {
	width: 100%;
    height: auto;
}

@media only screen and (min-width: 500px) {
	#cardboardLeftContainer {
		position: fixed;
   	 	left: 20px;
		max-width: 50em;
		height: auto;
	}
	#cardboardRightContainer {
		position: fixed;
   	 	left: 250px;
		max-width: 50em;
		height: auto;
	}
}

@media only screen and (max-height: 400px) {	
	#cardboardLeftContainer {
		position: absolute;
		left: 5em;
		max-width: 30em;
		height: auto;
	}
	
	#cardboardRightContainer {
		position: absolute;
    	left: 30em;
		max-width: 30em;
		height: auto;
	}
}

.crossfade > figure {
	height: 100%;
	width: 100%;
	color: transparent;
	opacity: 0;
	position: absolute;
	left: -40px;
	top: -1em;
	animation: imageAnimation 30s linear infinite 0s;
	backface-visibility: hidden;
	background-size: cover;
	background-position: center center;
	z-index: 0;
}

.crossfade > figure:nth-child(1) { 
	background-image: url("preloader/screengrab.jpg"); 
}

.crossfade > figure:nth-child(2) {
	animation-delay: 6s;
	background-image: url("preloader/screengrab-2.jpg");
}
 
.crossfade > figure:nth-child(3) {
	animation-delay: 12s;
	background-image: url("preloader/screengrab-3.jpg");
}

.crossfade > figure:nth-child(4) {
	animation-delay: 18s;
	background-image: url("preloader/screengrab-4.jpg");
}

.crossfade > figure:nth-child(5) {
	animation-delay: 24s;
	background-image: url("preloader/screengrab-5.jpg");
}

@keyframes imageAnimation {  
	0% { 
		animation-timing-function: ease-in;
		opacity: 0;
	}	
	8% {
		animation-timing-function: ease-out;
		opacity: 1;
	}
	17% {
		opacity: 1
	}
	25% {
		opacity: 0
	}
	100% {
		opacity: 0
	}
}
