/***************************************
 * FONTS
***************************************/

@font-face { 
    font-family: "gothic"; src: url("../fonts/gg.otf");
}

.gothic {
    font-family: "gothic" !important;
    font-size: 8vw;
    font-style: normal;
    /*-webkit-font-smoothing: antialiased;
    -webkit-text-stroke-width: 0.2px;
    -moz-osx-font-smoothing: grayscale;*/
}




/************************************
 * COMMON
************************************/

:root {
    --menu-scaler: 1.0;
}


@media (min-aspect-ratio : 65/100) and (orientation : portrait) {
    :root {
        --menu-scaler: 0.7;
    }
}


html, body {
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	overflow: hidden !important;
	width: 100vw;
    height: 100%;
    max-height: 100%;
    min-width: 100%;
	margin: 0;
	padding: 0;
    background-color: white;
	background-size: 100% 100%;
}


body > img {
	opacity: 0;
	width: 1px;
	height: 2px;
}


html.error, 
html.error body {
	overflow: visible !important;
	width: 100%;
	height: auto;
	min-height: 100%;
	max-height: none;
}


button {
	background: transparent;
	border: 0;
	outline: transparent;
	padding: 0;
}


.absolute {
	display: block;
	position: absolute;
}


.icon,
.paddedHeight {
	display: block;
	height: auto;
}


.icon::after,
.paddedHeight::after {
	display: block;
	content: "";
}


.button {
	cursor: pointer;
	z-index: 100;
}


.noEvents {
	pointer-events: none;
}


.absolute-fill {
    position: absolute;
    height: 100%;
    width: 100%;
	/*top: 0;
	left: 0;
	right: 0;*/
}


.hidden {
	display: none !important;
}


* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;

    touch-action: none;
}


/***************************************
 * UI
***************************************/

#uiContainer, #legalsLeft, #legalsRight, #beigeBackground,
#topBar, #topBarBackground, #topLogo, #countdown,
#howPlayingScreen, #howPlayingBackground, #howPlayingPiazza, #howPlaying,
#whereHeadingScreen, #whereHeading, #coastButton, #capitalButton, #countrysideButton, #piazzaButton,
#instructionsScreen, #instructionsBackground, #instructions,
#promptScreen, #promptBackground, #lookPrompt,
#sidebar, #sidebarBackground, #foodScore, #glassScore, #baffoScore,
#endScreen, #endScreenBackground, #wellPlayed, #itemsFound, #finalScore, #submitScore, #tryAgain
{
    z-index: 5;
    position: absolute;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    pointer-events: none;
    transition: all 0.3s ease-in-out;
}


#uiContainer, #howPlayingScreen, #whereHeadingScreen, #instructionsScreen, #promptScreen, #endScreen {
    height: 100%;
    width: 100%;
}

#beigeBackground {
    width: 100%;
    height: 100%;
    background-color: #f8eecc;
}


#legalsLeft {
    z-index: 3000;
    width: 100vw;
    height: 3vh;
    bottom: 1vh;
    left: 51%;
    transform: translateX(-50%);
    background-image: url('../images/legals_left.png');
    background-size: contain;
    background-position-x: left;
}

#legalsRight {
    z-index: 3000;
    width: 100vw;
    height: 3vh;
    bottom: 1vh;
    left: 49%;
    transform: translateX(-50%);
    background-image: url('../images/legals_right.png');
    background-size: contain;
    background-position-x: right;
}


#topBar {
    z-index: 1000;
    width: 100vw;
    height: 10vw;
    top: 0;
    left: 0;
}

#topBarBackground {
    z-index: 3000;
    width: 100vw;
    height: 14vh;
    top: 0;
    background-color: #93272c;
}

#topLogo {
    z-index: 3000;
    width: 20vh;
    height: 20vh;
    top: 4vh;
    left: 5%;
    background-image: url('../images/top_logo.png');
    background-size: contain;
}

#countdown {
    z-index: 10000;
    left: 50%;
    top: 50%;
    width: 50%;
    height: 33%;
    font-size: 400%;
    transform: translate(-50%, -50%);
    color: #bb8303;
    text-align: center;

    /*z-index: 10000;
    left: 7vw;
    top: 12vh;
    width: 12vh;
    height: 10vh;
    font-size: 9vh;
    color: #bb8303;
    text-align: center;*/
}



#howPlayingPiazza {
    z-index: 3000;
    width: 100vw;
    height: 85.34vw;
    background-image: url('../images/piazza_bg.png');
    background-size: contain;
}

#howPlaying {
    z-index: 3000;
    width: 90vw;
    height: 64vw;
    top: 94vw;
    left: 50%;
    transform: translateX(-50%);
    background-image: url('../images/how_playing.png');
    background-size: contain;
}



#whereHeading {
    z-index: 3000;
    width: 61vh;
    height: 75vh;
    top: 57%;
    left: 50%;
    transform: translate(-50%,-50%);
    background-image: url('../images/where_heading.png');
    background-size: contain;
    transition: none;
}

#coastButton, #capitalButton, #countrysideButton, #piazzaButton {
    z-index: 3000;
    width: 40%;
    height: 34%;
    top: 31%;
    left: 8%;
    pointer-events: all;
}

#capitalButton {
    top: 31%;
    left: 52%;
}

#countrysideButton {
    top: 67%;
    left: 8%;
}

#piazzaButton {
    top: 67%;
    left: 52%;
}







#instructionsBackground {
    z-index: 3000;
    width: 100%;
    height: 100%;
    top: 57%;
    transform: translateY(-50%);
    background-image: url('../images/country_dark.png');
    background-size: contain;
    background-position-y: top;
    opacity: 0;
}

#instructions {
    z-index: 3000;
    width: 120vh;
    height: 80vh;
    top: 57%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url('../images/countryside_instructions.jpg');
    background-size: contain;
    pointer-events: all;
}



#promptBackground {
    width: 100%;
    height: 100%;
    background-color: black;
    opacity: 0.5;
}

#lookPrompt {
    width: 120vh;
    height: 63vh;
    top: 58%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url('../images/prompt_desk.png');
    background-size: contain;
    transition: none;
}




#sidebar {
    width: 20vw;
    height: 60vw;
    top: 50%;
    right: 0;
    transform: translateY(-50%) scale(0.5);
    transform-origin: right;
}

#sidebarBackground {
    z-index: 3000;
    width: 20vw;
    height: 60vw;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-image: url('../images/country_sidebar.jpg');
    background-size: contain;
    background-position-x: right;
}

#foodScore, #glassScore, #baffoScore {
    z-index: 10000;
    right: 1vw;
    top: 20vw;
    width: 11vw;
    height: 8vw;
    color: white;
    text-align: right;
    font-size: 5vw;
}

#glassScore {
    top: 37vw;
}

#baffoScore {
    top: 54vw;
}




#endScreenBackground {
    width: 65vw;
    height: 43vw;
    top: 56%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url('../images/score_coast_desk.jpg');
    background-size: contain;
}


#wellPlayed {
    width: 60%;
    height: 11%;
    top: 14%;
    left: 50%;
    transform: translateX(-50%);
    background-image: url('../images/well_played.png');
    background-size: contain;
}

#itemsFound {
    width: 60%;
    height: 39%;
    top: 46%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url('../images/items_found.png');
    background-size: contain;
}

#finalScore {
    z-index: 10000;
    left: 50%;
    top: 21%;
    width: 16vw;
    height: 11vw;
    color: #b58500;
    text-align: center;
    font-size: 7vw;
    transform: translateX(-50%);
}

#submitScore {
    width: 50%;
    height: 9%;
    bottom: 19%;
    left: 50%;
    transform: translateX(-50%);
    background-image: url('../images/submit_score.png');
    background-size: contain;
    pointer-events: all;
}

#tryAgain {
    z-index: 3100;
    width: 73%;
    height: 80%;
    top: 47.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url('../images/try_again_desk.jpg');
    background-size: contain;
    pointer-events: all;
}











#loadFooter {
    z-index: 11;
    position: absolute;
    background-repeat: no-repeat;
    background-position: center center;
    width: 13vw;
    height: 13vw;
    top: 4vh;
    left: 3vw;
    background-image: url('../images/top_logo.png');
    background-size: contain;
}






#loadHeader {
    z-index: 10;
    position: absolute;
    pointer-events: none;
    width: 100vmax;
    height: 15vmin;
    top: 0;
    background-color: #93272c;
    background-size: contain;
}




.htmlVideo {
    position: absolute;
    z-index: 1000;
    /*width: 100vw;
    height: 56.1vw;*/
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 1s ease-in-out;
    opacity: 1;
}





.recorder-container {
    position: absolute !important;
    width: 18vw !important;
    height: 20vw !important;
    bottom: 7vw !important;
    left: 9% !important;
    transform: none !important;
    opacity: 0 !important;
}

#actionButton {
    background-color: #eb1f20 !important;
    color: black !important;
}





#deviceOrientation {
	/*background-color: #f6f6f6;*/
	z-index: 1000 !important;
    display: none;
    background-image: url('../images/rotate_background.jpg');
    background-size: cover;
}


#desktopError {
    background-color: #eb1f20;
	z-index: 5000 !important;
    display: none;
    /*background-image: url('../images/background.jpg');*/
    background-size: cover;
}

#desktopErrorText {
    position: relative;
    left: -5vw;
    width: 125%;
    font-family: 'Varela-Round', sans-serif;
    font-size: 18pt;
    color: #ffffff;
}

#desktopHeader {
    z-index: -1;
    position: absolute;
    width: 40vw;
    height: 100%;
    left: -4%;
    bottom: -2%;
    /* transform: translateX(-50%);*/
    background-repeat: no-repeat;
    background-position: center center;
    background: url('../images/background.jpg') center center no-repeat;
    background-size: contain;
}


@media ( min-width: 1030px ) { /* desktop */
	#deviceOrientation {
		display: none !important;
    }

    #desktopError {
        display: block;
    }  
}


@media (orientation: landscape ) and ( max-width: 1024px ) { /* ipad max is 1024 */
	#deviceOrientation {
		display: block;
    }
}



#promptRotateDevice {
	z-index: 11;
    position: absolute;
    top: 13vw;
    width: 75vw;
    height: 55vh;
    transform: translate(15%);
	background: url('../images/prompt_turn_device.png') center center no-repeat;
	background-size: contain;
}




.fadeOut { animation: fadeOut 0.3s linear forwards; }
@keyframes fadeOut {
  0% {opacity: 1;}
  100% {opacity: 0;}
}


.fadeIn { animation: fadeIn 0.3s linear forwards; }
@keyframes fadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}