@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,400;0,700;1,400;1,700&family=Roboto:ital,wght@0,400;0,700;1,400;1,700&display=swap');

@import url('https://fonts.googleapis.com/css2?family=Oxanium:wght@200;300;400;500;600;700;800&display=swap');


/* palette
magenta: rgb(173, 0, 133)
magenta-dark: rgb(158, 0, 121);
cyan-dark: rgb(0, 97, 89);
cyan: rgb(0, 133, 122);
blue: rgb(0, 0, 158);
blue-dark: rgb(0, 0, 122)
green:rgb(0, 102, 63);
rgb(36, 58, 102)
*/
html, body {
	margin: 0px;
	padding: 0px;
	background-color: #000;
	color: #222;
	font-family: 'Roboto', sans-serif;
}
body {
	display: grid;
	grid-template-columns: 800px;
	width: 800px;
	height: 100vh;
	margin: auto;
	align-items: center;
	justify-items: center;
	font-size: 14px;
	background-color: #000;
}

#DEBUG {
	font-family: monospace;
	color: #69c;
}
* {
	box-sizing: border-box;
	user-select: none;
}

/*
----------------------------------------------------------- Coordinate Control
*/

.controlBox {
	position: absolute;
	width: 104px;
	height: 130px;
	bottom: 15px;
	left: 242px;
	/*background-color: rgba(255,0,0,0.5);*/
}
#Y-CONTROLBOX {
	left: 355px;
}
.increase-button {
	position: absolute;
	left: 52px;
	top: 8px;
	width: 31px;
	height: 25px;
	pointer: cursor;
}
.decrease-button {
	position: absolute;
	left: 52px;
	bottom: 8px;
	width: 31px;
	height: 25px;
	transform: rotate( 180deg );
	pointer: cursor;
}
.controlbox-display {
	position: absolute;
	left: 6px;
	top: 41px;
	width: 92px;
	height: 47px;
	/*background-color: rgba( 255,255,255,0.5 );*/
	display: grid;
	grid-template-columns: 1fr 3fr;
	align-items: center;
	justify-items: center;
	font-family: monospace;
	color: #F66;
	font-size: 28px;
	padding: 5px;
}
#READOUT-Y {
	color: #66F;
}
.controlbox-display :nth-child(2) {
	justify-self: right;
}
#CONTROLBOX-GO {
	position: absolute;
	left: 480px;
	top: 45px;
	width: 68px;
	height: 68px;
	background-image: url(images/bonuslevels/go-button.png);
	display: grid;
	align-items: center;
	justify-items: center;
	font-size: 30px;
	font-family: monospace;
	color: #126653;
}
.increase-button,
.decrease-button,
#CONTROLBOX-GO {
	cursor: pointer;
	filter: brightness( 0.7 );
}
.increase-button:hover,
.decrease-button:hover,
#CONTROLBOX-GO:hover {
	cursor: pointer;
	filter: brightness( 1.0 );
}


/*
-----------------------------------------------------------	Options Panel
*/

#option-container {
	position: absolute;
	width: auto !important;
	height: auto !important;
	right: -1px;
	top: -1px;
	padding: 3px;
	padding-left: 10px;
	border-radius: 6px 0px 0px 0px;
	overflow: visible;
}
.option-button {
	position: relative;
	display: inline-block;
	background-repeat: no-repeat;
	background-position: top right;
    width:26px;
    height:26px;
    background-size:cover;
    opacity:.8;
}
.option-button > div {
	position: absolute;
	right: 0px;
	top: 30px;
	color: white;
	width: 100px;
	text-align: center;
	background-color: #132228;
	border: 1px solid white;
	background-color: #230228;
	font-size: 15px;
	padding:5px;
	display: none;
	cursor: pointer;
}
.option-button:hover {
	border: 1px solid red;
}
.option-button:hover > div {
	display: block;
}
#music-button {
	background-image: url(ui/option-music-off.png);
	background-image: url(ui/icons/music-off.svg);
}
#music-button.enabled {
	background-image: url(ui/option-music-on.png);
	background-image: url(ui/icons/music.svg);
}
#quit-button {
	display: none;
	background-image: url(ui/option-cancel.png);
	background-image: url(ui/icons/quit.svg);
}
#quit-button.enabled {
	display: inline-block;
}
#help-button {
	display: none;
	background-image: url(ui/option-help.png);
	background-image: url(ui/icons/help.svg);
}
#help-button.enabled {
	display: inline-block;
}

.point-prompt {
    position:relative;
    text-transform: uppercase;
    font-size:18px;
    display:flex;
    align-content: center;
    align-items: center;
    margin: 0 auto 0 10px;
    background:#222;
    padding:15px 10px;
    border-radius:10px;
    
}

.point-prompt:after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    border-style: solid;
    border-color:  #222 transparent;
    border-width: 0px 16px 16px 16px;
    left: calc(50% - 16px);
    top: 0px;
    margin-top: -16px;
}

.point-prompt>span {
    margin:0 .2em;
    font-size:22px;
    font-weight:bold;
    text-transform:none;
}

.x-coordinate {
	color: #F33;
}
.y-coordinate {
	color: #4d71f9;
    
}
.point-prompt>span.point {
    margin:0 .1em 0 .2em; }

.point {
    font-family: "Roboto Condensed", sans-serif;
    font-size:34px;
    color:white;
    letter-spacing: .05em;
}

#APP, #BrainPOPsnapArea {
	width: 800px;
	height: 600px;
	position: relative;
	background-color: #222;
	color: white;
	overflow: hidden;
	background: rgb(2,0,36);
	background: linear-gradient(-45deg, rgba(1,0,18,1) 0%, rgba(4,4,60,1) 50%, rgba(52,0,72,1) 100%);
	user-select: none;
	/*border: 1px solid #444;*/
}
#APP:-webkit-full-screen,
#APP:-ms-fullscreen,
#APP:fullscreen {
  width: 100vw;
  height: 100vh;
}

#APP * {
	-webkit-user-select: none; /* Safari */
	-ms-user-select: none; /* IE 10 and IE 11 */
	user-select: none;
}
.app-state {
	overflow: hidden;
	position: absolute;
	width: 800px;
	height: 600px;
}

.tab-highlighted {
	outline: 3px solid yellow;
	outline-offset: 7px;
}

#ACHIEVEMENTS-CONTAINER {
	position: absolute;
	left: 0px;
	top: 0px;
}

.achievement-display {
	animation: achievement-display-animation 4s linear;
	background-color: black;
	color: white;
	border: 3px solid #369;
	border-radius: 0px 0px 20px 20px;
	border-top: none;
	box-shadow: 0px 10px 10px #000;
	position: absolute;
	width: 500px;
	height: 60px;
	left: 150px;
	top: 0px;
	display: flex;
	align-items: center;
	justify-content: left;
	font-size: 18px;
	padding: 10px 20px;
}
.achievement-display > img {
	padding-right: 1em;
}
.achievement-title {
	font-size: 18px;
	font-weight: 500;
	color: #2CF;
    font-family: 'Oxanium',sans-serif;
}
.achievement-description {
	font-size: 16px;
	color: #ccc;
	font-weight: normal;
    
    font-family: 'Roboto';
}
.achievement-progress {
	font-size: 14px;
	color: #ccc;
	white-space: nowrap;
}
@keyframes achievement-display-animation {
	0% {
		transform: translate( 0px, -100px );
	}
	5% {
		transform: translate( 0px, 0px );
	}
	95% {
		transform: translate( 0px, 0px );
	}
	100% {
		transform: translate( 0px, -100px );
	}
}

#ACHIEVEMENTS-BROWSER {
	position: absolute;
	left: 50px;
	top: 30px;
    bottom:0;
	width: 700px;
	border: 3px solid rgba(215,255,255,.2);
    border-width: 4px 4px 0 4px;
	border-radius: 20px 20px 0px 0px;
	box-shadow: 0px 10px 10px #000;
	padding: 20px;
	padding-bottom: 40px;
	overflow-y: scroll;
	background-color: rgba(0,0,0,.8);
    box-shadow:
        inset 1em 1em 1em rgba(0,205,255,.1),
        0 0 1em rgba(0,205,255,.5)
        ;
}
#ACHIEVEMENTS-BROWSER h1 {
    font-family:'Oxanium', sans-serif;
    font-weight:300;
    text-align: center;
    font-size:34px;
    margin:0;
    letter-spacing: .05em;
    
}
#ACHIEVEMENTS-BROWSER h2 {
    
    font-family:'Oxanium', sans-serif;;
    font-size:16px; font-weight: 500;
    text-transform:uppercase;
    letter-spacing: 0.1em;
    text-align: left;
    color:#ccc;
    border-bottom: 1px dotted rgba(0,205,255,.5);
}
.checkmark {
    color:rgb(0,202,103);
    font-weight:bold;
}
.error-icon  {
    color:rgb(232,0,110);
    font-weight:bold;
}
#ACHIEVEMENTS-BROWSER .checkmark {
    font-size:26px;
}

#ACHIEVEMENTS-DISMISS {
	position: absolute;
	width: 40px;
	height: 40px;
	right: 0;
	top: 10px;
	border-radius: 20px;
/*	border: 3px solid white;*/
	color: rgb(0, 223, 252);
	font-weight: bold;
	display: grid;
	align-items: center;
	justify-items: center;
	z-index: 1;
	transform: scale( 0.9, 0.9 );
}
#ACHIEVEMENTS-DISMISS .material-icons {
    font-weight: bold;
	font-size: 36px !important;
}
#ACHIEVEMENTS-DISMISS:hover,
#ACHIEVEMENTS-DISMISS.tab-highlighted {
	filter: brightness( 100% );
	transform: scale( 1.0, 1.0 );
}

.achievement-listing {
	display: grid;
	grid-template-columns: 1fr 10fr 1fr 10fr;
	grid-column-gap: 1em;
	grid-row-gap: 1em;
	padding-left: 1em;
	padding-right: 1em;
	align-items: center;
	justify-content: center;
}

/* custom scrollbar */
::-webkit-scrollbar {
  width: 20px;
}

::-webkit-scrollbar-track {
  background-color: transparent;
}

::-webkit-scrollbar-thumb {
  background-color: #d6dee1;
  border-radius: 20px;
  border: 6px solid transparent;
  background-clip: content-box;
}

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



/*
-----------------------------------------------------------	Loader
*/
#Loader #loading-screen {
	display: grid;
	align-items: center;
	justify-items: center;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0px;
	top: 0px;
	transition: all 0.5s ease;
}
#Loader #loading-panel {
	padding: 2em;
	border-radius: 10px;
	background-color: #ccc;
	color: #222;
	width: 80%;
	transition: all 0.5s ease;
}
#Loader #loading-panel progress {
	width: 100%;
}
#Loader #loading-panel h1 {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
}
#Loader progress[value] {
	width: 300px;
	height: 20px;
	-webkit-appearance: none;
	appearance: none;
	transition: all 1s ease;
}
#Loader progress[value]::-webkit-progress-bar {
	background-color: #300;
	border-radius: 5px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5) inset;
}
#Loader progress[value]::-webkit-progress-value {
	background-image:
	-webkit-linear-gradient(-45deg, 
					   transparent 33%, rgba(0, 0, 0, .3) 33%, 
					   rgba(0,0, 0, .3) 66%, transparent 66%),
	-webkit-linear-gradient(top, 
					   rgba(255, 255, 255, .25), 
					   rgba(0, 0, 0, .25)),
	-webkit-linear-gradient(left, green, yellow, red);

	border-radius: 2px; 
	background-size: 35px 20px, 100% 100%, 100% 100%;
	box-shadow: 0 2px 5px rgba(255, 255, 255, 0.25) inset;
}
#Loader .loading-gauge-container {
	display: grid;
	grid-template-columns: 10fr 1fr;
	align-items: center;
	justify-items: stretch;
	grid-column-gap: 20px;
}
#Loader .loading-gauge-container .button {
	border: 2px solid black;
	color: white;
	background-color: #090;
	border-radius: 5px;
	text-align: center;
	height: 2em;
	display: grid;
	align-items: center;
	justify-items: center;
}


/*
-----------------------------------------------------------	Main Menu
*/


	#MAIN-MENU {
		width: 800px;
		height: 600px;
		background-image: url( images/mainmenu/mainmenu-backdrop.png );
	}
	#TITLE-PLACARD {
		width: 306px;
		height: 217px;
		position: absolute;
		right: 30px;
		top: 30px;
		/*
		This is replaced at runtime with a localized URL.
		background-image: url( ${'TITLE-PLACARD-URL'.localized()} );
		*/
	}
	
	/*
		Saucer container handles placing, scaling, and
		rotating the saucer into place.  Each saucer should
		have its own left/top/transform to place the
		entire rig.
	*/
	.saucer-container {
		position: absolute;
	}
	/*
		Saucer entry handles the "arrival" of the saucer.
	*/
	.saucer-entry {
	}
	/*
		Saucer floater handles the "floating" aspect of the
		saucer.
	*/
	.saucer-floater {
	}
	/*
		Saucer handles drawing the actual saucer.
	*/
	.saucer {
		background-image: url( images/mainmenu/saucer-1.png );
		width: 560px;
		height: 827px;
		animation: saucer-animation 1s linear infinite,
		float-animation 5.0s ease-in-out infinite alternate;
		animation-delay: -1s;
	}
	@keyframes saucer-animation {
		0% {
			background-image: url( images/mainmenu/saucer-1.png );
		}
		33% {
			background-image: url( images/mainmenu/saucer-2.png );
		}
		66% {
			background-image: url( images/mainmenu/saucer-3.png );
		}
	}
	
.falling-gopher {
	position: absolute;
	left: 250px;
	top: 250px;
	animation: falling-gopher-animation 5s linear infinite;
	animation-fill-mode: both;
}
.falling-gopher.right {
	transform: scale( -1, 1 )
	translate( -50px, 0px);
	animation-delay: 2.5s;
}
@keyframes falling-gopher-animation {
	
	0% {
		top: 200px;
		filter: brightness( 100% );
		opacity: 0.0;
	}
	10% {
		opacity: 1.0;
		filter: brightness( 100% );
	}
	90% {
		filter: brightness( 100% );
		opacity: 1.0;
	}
	100% {
		filter: brightness( 0% );
		top: 600px;
		opacity: 0.0;
	}
	
}

#very-far-saucer {
	position: absolute;
	left: 300px;
	top: 100px;
	transform: scale( 0.2, 0.2 ) rotate( 15deg );
}
#far-saucer {
	position: absolute;
	left: 150px;
	top: 50px;
	transform: scale( 0.3, 0.3 ) rotate( 0deg );
}
#far-saucer .saucer-floater {
	animation-delay: -2.5s;
}
#side-saucer {
	position: absolute;
	left: -250px;
	top: -25px;
	transform: scale( 0.5, 0.5 ) rotate( 10deg );
}
#far-saucer .saucer-floater {
	animation-delay: -2.5s;
}
#big-saucer {
	position: absolute;
	left: 75px;
	top: -120px;
	transform: rotate( 5deg );
}

#main-carrot {
	position: absolute;
	left: -30px;
	top: 80px;
}
#main-carrot #body {
	background-image: url(images/mainmenu/carrot-body.png);
	position: absolute;
	width: 246px;
	height: 456px;
	left: 120px;
}
#main-carrot #sandbags {
	background-image: url(images/mainmenu/sandbags.png);
	position: absolute;
	width: 511px;
	height: 115px;
	top: 400px;
}
#main-carrot #left-arm {
	background-image: url(images/mainmenu/carrot-arm-left.png);
	position: absolute;
	width: 172px;
	height: 178px;
	top: 190px;
	left: 20px;
}
#main-carrot #right-arm {
	background-image: url(images/mainmenu/carrot-arm-right.png);
	position: absolute;
	width: 158px;
	height: 145px;
	top: 210px;
	left: 347px;
}
#main-carrot .eyes {
	position: absolute;
	width: 122px;
	height: 133px;
	top: 170px;
	left: 215px;
}
.eyes img {
	position: absolute;
	top: 0px;
	left: 0px;
	display: none;
}
.eyes img:nth-child(1) {
	display: block;
}
.primary-button {
	width: 200;
	height: 75;
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: url(images/mainmenu/button-primary.png);
	position: absolute;
	right: 40px;
	top: 250px;
	font-size: 25px;
	font-weight: bold;
}
.primary-button:hover {
	filter: brightness( 130% );
}
.primary-button:active {
	transform: translate( 0px, 4px );
}
#continue-button {
	top: 250px;
}
#new-button {
	top: 325px;
}

.secondary-button {
	width: 142;
	height: 59;
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: url(images/mainmenu/button-secondary.png);
	position: absolute;
	right: 40px;
	top: 250px;
	font-size: 20px;
}
.secondary-button:hover {
	filter: brightness( 130% );
}
.secondary-button:active {
	transform: translate( 0px, 4px );
}
#practice-button {
	top: 410px;
}
#credits-button {
	top: 470px;
}
.primary-button.tab-focus-exists,
.secondary-button.tab-focus-exists {
	filter: brightness( 50% );
}
.primary-button.tab-highlighted,
.secondary-button.tab-highlighted {
	filter: brightness( 100% );
	outline-offset: 0px;
}

/*
-----------------------------------------------------------	Level Select
*/

#LevelSelect, #FindRects {
	background-image: url( images/levelselect/level-select-off.png );
}

.monitor-container {
	filter: brightness( 0.5 );
	position: absolute;
}
.monitor-container:hover,
.monitor-container.tab-highlighted,
.monitor-container.next-level {
	filter: brightness( 1.0 );
	outline: none;
}

.monitor-container > div {
	pointer-events: none;
}

.monitor-container button {
	border: none;
	background-color: transparent;
	cursor: pointer;
	width: 90px;
	height: 90px;
	font-size: 14px;
	color: #0C0;
	transition: all 0.15s;
}

.monitor-container.tab-highlighted button,
.monitor-container:hover button {
	font-size: 18px;
	color: #9F9;
}

.monitor-container.next-level button {
	color: white;
}

.monitor-container.tab-highlighted button {
	outline: 5px solid yellow;
	outline-offset: 7px;
}
#level-select-title {
	position: absolute;
	top: 30px;
	left: 280px;
	width: 250px;
	height: 35px;
	color: white;
	font-size: 18px;
    line-height: 35px;
	align-items: center;
	display: flex;
	justify-content: center;
    font-family: 'Oxanium', sans-serif;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    text-shadow:1px 1px 10px rgba(0,0,0,.8);
}

.challenge-level-option {
	filter: brightness( 80% );
}

.challenge-container.tab-highlighted,
.challenge-level-option:hover {
	filter: brightness( 110% );
}

#achievements-button {
	filter: contrast(120%) brightness( 90% );
	cursor: pointer;
	position: absolute;
	left: 312px;
	bottom: 53px;
}
#achievements-button:hover,
#achievements-button.tab-highlighted {
    -webkit-filter: drop-shadow(0 0 7px rgba(255, 255, 255, 0.5));
     filter: contrast(120%) saturate(150%) brightness( 110% ) drop-shadow(0 0 7px rgba(255, 255, 255, 0.5));
}
#challenges-button {
	filter: brightness( 50% );
	cursor: pointer;
	position: absolute;
	right: 171px;
	bottom: 20px;
}
#challenges-button:hover,
#challenges-button.tab-highlighted {
	filter: brightness( 110% );
}
#back-button {
	filter: brightness( 50% );
	cursor: pointer;
	position: absolute;
	left: 157px;
	bottom: 20px;
}
#back-button:hover,
#back-button.tab-highlighted {
	filter: brightness( 110% );
}
#level-stars {
    display:flex;
}
#level-stars>span{
    margin:0 5px;
    display:block;
    position:relative;
    font-size:40px
}

.star {
	color: rgb(255,225,0);
/*text-shadow:1px 1px 1px rgb(255,225,0);*/
}
/*
.star:before {
    color:rgb(255,215,0);
    position:absolute;
    top:5%;
    left:5%;
    display:block;
    content:'★';
    font-size:90%;
}
*/
.nostar {
	opacity: 0.5;
}
.checking {
	position: absolute;
	animation: check-animation 1s ease infinite alternate;
}
@keyframes check-animation {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1.0;
	}
}

.challenge-level-button-text {
	background-color: transparent;
	border: none;
	color: #0FF;
	font-size: 14px;
}


					#challenge-options button {
						transition: none !important;
						width: 150px;
					}
					#challenge-back {
						background-image: url(images/levelselect/challenge-level-back.png);
						width: 101px;
						height: 62px;
						position: absolute;
						left: 10px;
						bottom: 60px;
						color: cyan;
						filter: brightness( 50% );
					}
					#challenge-back:hover,
					#challenge-back.tab-highlighted {
						color: white;
						filter: brightness( 110% );
					}
					#challenge-back > div {
						text-align: center;
						width: 100px;
						height: 60px;
						display: flex;
						align-items: center;
						justify-content: center;
						transform: rotate( -7deg ) translate( 3px, 0px );
					}


/*
-----------------------------------------------------------	Arena
*/

#ARENA {
	position: relative;
	background-color: #2e3841;
	background-color: #000;
	width: 800px;
	height: 600px;
	margin: auto;
	color: #ccc;
	display: grid;
	grid-template-rows: 70px 440px 90px;
}
#BOTTOM-BAR {
	display: grid;
	padding: 10px;
	grid-template-columns: 1fr 50px;
	grid-column-gap: 10px;
	align-items: stretch;
	justify-items: stretch;
	border-top: 2px solid black;
}
#TOP-BAR {
	display: flex;
	justify-content: center;
	align-items: center;
	align-content: center;
	padding: 10px 120px 10px 80px;
	zgrid-template-columns: 2fr 12fr 2fr;
	zgrid-column-gap: 10px;
	border-bottom: 2px solid black;
}
#TOP-BAR > * {
	margin: 10px;
}
.PANEL {
	background-color: #1d242a;
	background-color: #222;
	border-radius: 10px;
	display: grid;
	align-items: center;
	justify-items: center;
	text-align: center;
}

#SPEED-CONTROL {
	position: absolute;
	right: 0px;
	top: 29px;
	display: flex;
    flex-direction: row;
	border-radius: 6px;
	padding: 0px;
	align-items: stretch;
	height: 36px;
	width: 110px;
	justify-content: space-between;
	pointer-events: all;
    overflow: hidden;
}
#SPEED-CONTROL>* {
    background:#333;
}
#SPEED-VALUE {
	color: #aaa;
	font-weight: bold;
    margin:auto 2px;
    display:flex;
    flex-grow: 1;
    justify-content: center;
    height:100%;
    align-items: center;
}
#SPEED-CONTROL button {
    
	border: 2px solid #333;
    border:none;
    height:100%;
/*	background-color: black;*/
	padding: 4px;
	margin:auto 0px;
/*	transform: scale( -1, 1 );*/
    color:#aaa;
    display: flex;
    flex-direction: row;
    position:relative;
    padding-right:12px;
    align-items: center;
    
}
#SPEED-CONTROL button span:nth-child(2){
    font-size:16px;position:absolute; right:0; top:4px;
}
#SPEED-CONTROL button:hover {
	background-color: #040;
}


/*	The title box for showing the name of the current arena. */
#ARENA-TITLE {
	font-weight: bold;
	font-size: 15px;
}

.PANEL.BANK {
	text-align: center;
	font-weight: bold;
	font-size: 20px;
}

.WAVE-PROMPT {
	display: grid;
	height: 100%;
	grid-template-columns: 1fr 3fr 46px 1fr 2fr;
	grid-column-gap: 10px;
	align-items: stretch;
	justify-items: stretch;
	padding: 0px;
}
.WAVE-PROMPT .wave-status {	/* "Next Wave" */
	background-color: rgb(0, 0, 158);
	padding: 0px 12px 0 20px;
	display: grid;
	align-items: center;
	justify-items: center;
	text-align: center;
	border-radius: 10px 0 0 10px;
    text-transform: uppercase;
    font-size:.9em;
    font-weight:bold;
    position:relative;
}
.WAVE-PROMPT .wave-status:after {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    border-style: solid;
    border-color: transparent rgb(0, 0, 158);
    border-width: 24px 0 24px 24px;
    top: 50%;
    right: -24px;
    margin-top: -24px;
}
.WAVE-PROMPT .gopher-info { /* "Beach Gophers, weak vs...." */
	text-align: right;
	display: grid;
	align-items: center;
}

.WAVE-PROMPT .gopher-name {
    font-family: 'Oxanium', sans-serif;
    font-weight:700;
    letter-spacing: .05em;
    text-transform: uppercase; font-size:15px;
    color:#f5f5f5;
}
.PHANTOM-GOPHER-BACKDROP {
	background-image: url(images/phantom-gopher-portrait.png);
	background-repeat: no-repeat;
	background-position: center left;
}

.WAVE-PROMPT .TIME-TO-NEXT-WAVE {
	color: white;
	font-weight: bold;
	font-size: 30px;
	display: grid;
	align-items: center;
	justify-items: center;
}

button.btn {
    text-transform: uppercase;
    font-weight:bold;
	border-radius: 8px;
	border: 2px solid black;
	align-self: stretch !important;
    letter-spacing: .05em;
    font-size:16px;
    background:#333;
    color:white;
    padding:.5em;
        cursor:pointer;
}
button.warning {
    border-color:rgb(58, 0, 58);
    background-color: rgb(148, 0, 61);
    box-shadow:inset .1rem .2rem 1rem rgb(255, 0, 151),
              inset -.1rem -.2rem 1rem rgb(058, 0, 021);
}
button.warning:hover {
    border-color:rgb(58, 0, 58);
    background-color: rgb(168, 0, 61);
    box-shadow:inset .1rem .2rem 1rem rgb(255, 50, 181),
              inset -.1rem -.2rem 1rem rgb(058, 0, 021);
}
button.primary {
    border-color:rgb(58, 0, 58);
    background-color: rgb(148, 0, 111);
    box-shadow:inset .1rem .2rem 1rem rgb(255, 0, 151),
              inset -.1rem -.2rem 1rem rgb(058, 0, 021);
}
button.primary:hover {  
	background-color: rgb(158, 0, 121);
    box-shadow:inset .2rem .2rem 1rem rgb(255, 100, 151),
              inset -.1rem -.1rem .5rem rgb(058, 0, 021);
}

button.secondary {
     border-color:rgb(0, 28, 28);
    background-color: rgb(0, 97, 89);
    box-shadow:inset .1rem .2rem 1rem rgb(0, 203, 202),
              inset -.1rem -.2rem 1rem rgb(0, 10, 21);
}

button.secondary:hover {
    border-color:rgb(0, 28, 28);
    background-color: rgb(0, 107, 99);
    box-shadow:inset .1rem .2rem 1rem rgb(100, 253, 252),
              inset -.1rem -.2rem 1rem rgb(0, 10, 21);
    
}



.WAVE-PROMPT .here-they-come {
    font-style: italic;
    font-family: 'Oxanium', sans-serif;
    font-size:1.2em;
    margin:auto 4px;
    line-height: 1;
	align-self: center;
}


.PATH-PROMPT {
	display: flex;
	height: 100%;
	align-items: center;
	justify-items: center;
    justify-content: center;
	background-color: black;
	font-size: 30px;
}



/*
-----------------------------------------------------------	Tower Selector
*/

#TOWER-SELECTOR {
	display: flex;
	justify-content: space-evenly;
	align-items: stretch;
	align-content: stretch;
	height: 100%;
}

#UPGRADE-PROMPT {
	position: absolute;
	right: 0px;
	bottom: 90px;
	background-color: #369;
	border: 2px solid black;
	height: 20px;
	border-radius: 4px 0px 0px 0px;
	color: white;
	display: grid;
	align-items: center;
	justify-items: center;
	padding: 3px 10px;
	box-sizing: content-box;
	border-style: solid none none solid;
	pointer-events: all;
}
#UPGRADE-PROMPT b {
	text-decoration: underline;
}

.TOWER-OPTION {
	background-color: #123;
	border-radius: 10px;
	padding: 5px;
	position: relative;
	font-size: 13px;
	line-height: 1.0;
	border: 2px solid black;
}
.TOWER-OPTION:hover {
	border: 2px solid white;
}
.TOWER-OPTION * {
	pointer-events: none;
}

.TOWER-OPTION .KEY-PROMPT {
	background-color: #369;
	position: absolute;
	border: 2px solid black;
	top: -14px;
	left: calc( 50% - 10px );
	width: 20px;
	height: 20px;
	border-radius: 4px;
	color: white;
	display: grid;
	align-items: center;
	justify-items: center;
	text-decoration: underline;
}

.TOWER-OPTION:not(.compact) {
	width: 100px;
}
.TOWER-OPTION:not(.compact) .TOWER-IMAGE {
	position: absolute;
	left:0px;
	bottom: 0px;
}
.TOWER-OPTION:not(.compact) .OPTION-TITLE {
	position: absolute;
	top: 0px;
	right: 0px;
	width: 80%;
	padding: 8px;
	font-weight: bold;
	text-align: right;	
}
.TOWER-OPTION:not(.compact) .OPTION-COST {
	position: absolute;
	right: 0px;
	bottom: 0px;
	font-size: 20px;
	color: #ccc;
	padding: 8px;
}

.TOWER-OPTION.compact {
	width: 70px;
}
.TOWER-OPTION.compact .TOWER-IMAGE {
	position: absolute;
	right: 4px;
	top: 0px;
	height: 100%;
	text-align: center;
}
.TOWER-OPTION.compact img {
	max-height: 50px;
}
.TOWER-OPTION.compact .OPTION-TITLE {
	display: none;
}
.TOWER-OPTION.compact .OPTION-COST {
	position: absolute;
	bottom: 2px;
	left: 2px;
	border-radius: 10px;
	padding: 5px;
	background-color: black;
	text-align: center;
	font-size: 20px;
	color: #ccc;
}

.TOWER-OPTION.cooling > * {
	opacity: 0.4;
}
.TOWER-OPTION.cooling .TOWER-COOLDOWN {
	display: block;
	opacity: 1.0;
}

.TOWER-OPTION.ready .TOWER-COOLDOWN {
	display: none;
}

.TOWER-COOLDOWN {
	position: relative;
	width: 100%;
	margin-top: 45px;
}
.TOWER-COOLDOWN progress {
	width:100%;
}
.TOWER-COOLDOWN progress[value=0]  {
    opacity: 0;
}

/*	Used in tutorials to point at the tower to select. */
.select-tower-type-arrow {
	color: #990;
	font-size: 36px;
	animation: shimmy-animation 0.5s ease-in-out infinite alternate;
}


/*
-----------------------------------------------------------	Tower Placer
*/

.TOWER-PLACER {
	display: flex;
    flex-flow:row;
	align-items: center;
	justify-items: center;
	background-color: #111;
	border-radius: 10px;
    height:calc(100% - 2px);
    position:relative;
    box-shadow:0 0 1px 2px #aaa;
}

/*
.TOWER-PLACER:after {
    font-family:'Material Icons';
    content:'north';
    position:absolute;
    top:0;
    font-size:50px;
    color:black;
    display:block;
    left:calc(480px - 55px);
    width:50px;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
}
*/

.TOWER-PLACER:before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    border-style: solid;
    border-color: #aaa transparent ;
    border-width: 0px 10px 10px 10px;
    left: calc(50% + 20px);
    top: 0px;
    margin-top: -10px;
}

.tower-placer-image {
    height:100%;
    width:80px;
    padding:0;
    margin-right:10px;
    display:flex;
    justify-content: center;
    align-items: center;
    background-color:#123;
    border-radius:10px 0px 0px 10px;
}

.tower-placer-description {
    display:flex;
    flex-flow:row;
    flex-grow:1;
    align-items: center;
    height:100%;
    
}
.tower-placer-description strong {
    font-family: 'Oxanium', sans-serif;
    color:white;
    font-size:16px;
}
.cancel-button-container {
    margin-right:0;
    margin-left:auto;
/*	padding: 2px;*/
/*    height:100%;*/
    text-align: center;}

.TOWER-PLACER .cancel-button-container .arrow {
	display:none;
}

.TOWER-PLACER button.cancel-button {
	width: 100%;
    height:100%;
	border: 1px solid black;
	background-color: rgb(190,0,60);
	color: white;
    border-radius:0 10px 10px 0;
    text-transform: uppercase;
    font-weight:bold;
	cursor:pointer;
	transition:all ease .5s;
    box-shadow:inset 0 0 10px rgb(50,0,10);
}

.TOWER-PLACER button:hover {
/*	border: 1px solid white;*/
	background-color: rgb(220,0,80);
	color: white;
}
.tower-placer-description>p{
    max-width:380px;
    margin:auto 0 ;
}
.TOWER-PLACER button:active {
	background-color: rgb(90,0,10);
	color: white;
}

.drill-description-container {
    display:flex;
    flex-flow:row;
    align-content: center;
    align-items: center;
    flex-grow: 1;
}
.drill-description {
    margin:auto;
    width:210px;
    margin-left:5px;
    margin-right: 44px;
}
.drill-at-container {
    display:flex;
    flex-direction: column;    
    margin:auto 0;
}
.drill-at {
    text-transform:uppercase;
    font-weight:bold;
    margin:0 auto;
    
}
.drill-point {
    margin:0 auto;
}

.DRILL-AT-LOCATION {
	font-size: 200%;
	font-weight: bold;
	display: block;
}

.DRILL-FEEDBACK, .LETTUCE-FEEDBACK, .PATH-FEEDBACK {
	position: absolute;
	border: 2px solid black;
	box-shadow: 0px 5px 0px rgba(0,0,0,0.25);
	background-color: #222;
	color: white;
	width: 100px;
	z-height: 40px;
	padding: 10px;
	display: flex;
    flex-direction: row;
	align-items: center;
    align-content: center;
	justify-items: center;
    justify-content: center;
	border-radius: 10px;
	text-align: center;
	transition: all 1.0s ease;
	opacity: 0;
	font-size: 16px;
	pointer-events: none;
}
.DRILL-FEEDBACK>div {
    display:flex;
    flex-flow:row;
    align-content: center;
    align-items: center;
    justify-content: center;
}
.DRILL-FEEDBACK>div>span {
    margin:auto 2px;
}
.DRILL-FEEDBACK.ERROR, .LETTUCE-FEEDBACK, .PATH-FEEDBACK.ERROR {
	background-color: #300;
}

.DRILL-FEEDBACK.PERFECT, .PATH-FEEDBACK.PERFECT {
	background-color: #030;
}

/*
-----------------------------------------------------------	Tower Detail
*/

.TOWER-DETAIL-CONTAINER {
	display: grid;
	width: 800px;
	height: 600px;
	align-items: center;
	justify-items: center;
	position: absolute;
	left: 0px;
	top: 0px;
}

.TOWER-DETAIL {
	border: 2px solid rgba(0,250,250,.5);
	background-color: #002556;
	padding: 20px;
	border-radius: 20px;
	display: grid;
	grid-template-columns: 1fr;
	grid-row-gap: 20px;
	width: 480px;
	color: white;
	position: relative;
	box-shadow: 0px 0px 10px #00A5B6, inset .1em .1em .5em #055;
}

.TOWER-DETAIL-INFO {
	display: grid;
	grid-template-columns: 1fr 5fr;
	grid-column-gap: 20px;
	align-items: stretch;
	justify-items: center;
	font-size: 18px;
}

.TOWER-DETAIL-PORTRAIT {
/*	display: grid;*/
    display:flex;
	align-items: center;
	justify-items: center;
	justify-items: center;
	background-color: rgba(10,10,10,.7);
	/*border: 3px solid #369; */
	border-radius: 20px;
	padding: 20px;
    box-shadow:  inset 0em 0em .5em rgba(0,0,0,.9);
}
.TOWER-DETAIL-PORTRAIT img {
    transform:scale(1.02);
}
.TOWER-ACTIONS {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-column-gap: 10px;
	text-align: center;
}
.TOWER-ACTIONS > div {
/*	color: #888;*/
}

.TOWER-DETAIL-TOWER-NAME {
    font-family: 'Oxanium', sans-serif;
	letter-spacing: 0.05em;
    font-weight: 500;
	font-size: 26px;
    margin:0;
}
.TOWER-DETAIL p {
	margin-top: 10px;
}

.TOWER-DETAIL-BUTTON {
	color: white !important;
	border-radius: 5px;
	display: grid;
	align-items: center;
	justify-items: center;
	font-size: 18px;
	padding: 10px;
	text-align: center;
	transition: all 0.1s ease;
	outline-offset: -4px;	/*	Outline vanishes in Safari if this isn't here.
								Not sure why.  */
}

.TOWER-DETAIL-BUTTON:hover {
	transform: scale( 1.1, 1.1 );
	border-color: white;
}

.TOWER-DETAIL-BUTTON b {
	font-weight: normal;
	text-decoration: underline;
}

.TOWER-DETAIL-UPGRADE-DISABLED,
.TOWER-DETAIL-SELL-DISABLED {
	color: white;
	border-radius: 5px;
	display: grid;
	align-items: center;
	justify-items: center;
	font-size: 18px;
	padding: 10px;
	border: 2px solid rgba(255,255,255,.5);
    background:rgba(0,0,0,.5);
    opacity:.5;
    cursor:auto;
}

.TOWER-DETAIL-BUTTON.UPGRADE-ACTION {
	background-color: #030;
	border: 2px solid #090;
    cursor:pointer;
}

.TOWER-DETAIL-BUTTON.SELL-ACTION {
	background-color: #303;
	border: 2px solid #909;
    cursor:pointer;
}

.TOWER-DETAIL-BUTTON.CANCEL-ACTION {
	background-color: #300;
	border: 2px solid #900;
    cursor:pointer;
}


/*
-----------------------------------------------------------	Wheatgrass Axis
*/

.LETTERBOX {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 800px;
	height: 600px;
	margin: auto;
	color: #ccc;
	display: grid;
	grid-template-rows: 70px 440px 90px;
}
.LETTERBOX :nth-child(1) { background-color: #000; }
.LETTERBOX :nth-child(3) { background-color: #000; }

.WHEATGRASS-CONFIGURATOR {
	padding: 10px;
	position: absolute;
	bottom: 0px;
	height: 90px;
	width: 800px;
	left: 0px;
	display: grid;
	grid-template-columns: 1fr 5fr 2fr 2fr;
	grid-column-gap: 20px;
	align-items: center;
	justify-items: center;
	justify-content: center;
	background-color: black;
	border-radius: 10px;
}

.WHEATGRASS-BUTTONS {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 20px;
	align-items: stretch;
	justify-items: stretch;
}

.WHEATGRASS-CONFIGURATOR p {
	margin: 0px;
}

.WHEATGRASS-CONFIGURATOR button {
	border: 1px solid white;
	background-color: #009;
	color: white;
	align-self: stretch;
	justify-self: stretch;
	border-radius: 3px;
	font-size: 20px;
	font-weight: bold;
	display: grid;
	align-items: center;
	justify-items: center;
	min-width: 200px;
	
}

.WHEATGRASS-CONFIGURATOR button:hover {
	border: 1px solid black;
	background-color: #66F;
	color: black;
}

.WHEATGRASS-CONFIGURATOR button:nth-child(4) {
	border: 1px solid white;
	background-color: #900;
	color: white;
	border-radius: 3px;
	
}

.WHEATGRASS-CONFIGURATOR button:hover:nth-child(4) {
	border: 1px solid black;
	background-color: #F66;
	color: black;
}


.CORNSILO-CONFIGURATOR {
	position: absolute;
	left: 0px;
	bottom: 0px;
	height: 90px;
	display: grid;
	padding: 10px;
	/*	Portrait, description, x-coord, y-coord, commit	*/
	grid-template-columns: 64px 2fr 1fr 1fr 1fr;
	grid-column-gap: 10px;
	align-items: stretch;
	justify-items: stretch;
	background-color: #222;
	border-radius: 10px;
}

.CORNSILO-CONFIGURATOR .CORNSILO-COORDINATE {
	display: grid;
	grid-template-rows: 1fr 1fr;
	grid-column-gap: 10px;
	align-items: stretch;
	justify-items: stretch;
}

.CORNSILO-CONFIGURATOR .CORNSILO-VALUE {
	text-align: center;
	font-weight: bold;
	font-size: 24px;
}

#CORNSILO-VALUE-X {
	color: #F33;
}

#CORNSILO-VALUE-Y {
	color: #4d71f9;
}

.CORNSILO-CONFIGURATOR button {
	background-color: black;
	border: 2px solid black;
	border-radius: 10px;
	color: white;
	font-size: 18px;
}

#CORNSILO-MINUS-X, #CORNSILO-PLUS-X {
	border-color: #F33;
}

#CORNSILO-MINUS-Y, #CORNSILO-PLUS-Y {
	border-color: #4d71f9;
}

#CORNSILO-CONFIRM {
	border-color: #999;
}

.CORNSILO-CONFIGURATOR button:hover {
	transform: scale( 1.15, 1.15 );
}
.CORNSILO-CONFIGURATOR button:active {
	transform: scale( 0.9, 0.9 );
}

.CORNSILO-CONFIGURATOR .CORNSILO-BUTTONS {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-column-gap: 10px;
	align-items: stretch;
	justify-items: stretch;
}

.QUADRANT-OVERLAY {
	position: absolute;
	left: 0px;
	top: 70px;
	width: 800px;
	height: 440px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	align-items: stretch;
	justify-items: stretch;
}
.QUADRANT-OVERLAY .QUADRANT {
	display: grid;
	align-items: center;
	justify-items: center;
}
#QUADRANT-1 {
	grid-area: 1 / 2 / 2 / 3;
}
#QUADRANT-2 {
	grid-area: 1 / 1 / 2 / 2;
}
#QUADRANT-3 {
	grid-area: 2 / 1 / 3 / 2;
}
#QUADRANT-4 {
	grid-area: 2 / 2 / 3 / 3;
}
.QUADRANT-OVERLAY .QUADRANT.HIGHLIGHTED {
	background-color: rgba( 255,255,255, 0.25 );
}
#quadrant-container {
	color: #cc6194;
	font-weight: bold;
	font-size: 20px;
    line-height:16px;
}

/*	The color of text highlighting "the origin" in iceberg
	description.
*/
.iceberg-origin-container {
	color: #7ed3e0;
	font-weight: bold;
	font-size: 20px;
    line-height: 16px;
}

/*

*/


.ALERT-DIALOG-CONTAINER {
	display: grid;
	width: 800px;
	height: 600px;
	align-items: center;
	justify-items: center;
	position: absolute;
	left: 0px;
	top: 0px;
}

.ALERT-DIALOG {
	border: 2px solid #00A5B6;
	background-color: #003566;
    box-shadow:0 0 10px #00A5B6;
	padding: 30px;
	border-radius: 20px;
	display: grid;
	grid-template-columns: 1fr;
	grid-row-gap: 20px;
	width: 360px;
	color: white;
	position: relative;
}

.ALERT-DIALOG-TITLE {
    font-family: 'Oxanium', sans-serif;
	font-size: 30px;
	text-align: center;
	border-bottom: 1px dotted #00A5B6;
	font-weight: 600;
/*    font-style: italic;*/
    text-transform: uppercase;
    letter-spacing: .05em;
}

.ALERT-DIALOG-BODY {
	font-size: 20px;
    line-height:30px;
    letter-spacing: .05em;
}

/*
.ALERT-DIALOG button {
	background-color: #003344;
	color: white;
	height: 40px;
	border-radius: 10px;
	border: 2px solid black;
	font-size: 18px;
	font-weight: bold;
}
.ALERT-DIALOG button:hover {
	background-color: #007374;
	border-color: #cfc;
	transform: scale( 1.05 );
}
.ALERT-DIALOG button:active {
	transform: scale( 0.95 );
}

.ALERT-DIALOG button:nth-child(2) {
	background-color: #690053;
}

.ALERT-DIALOG button:hover:nth-child(2) {
	background-color: #A90073;
	border-color: #fcc;
}
*/

.ALERT-DIALOG-CHOICES {
	display: grid;
	grid-template-columns: 1fr;
	grid-column-gap: 10px;
}

/*
-----------------------------------------------------------	Victory Placard
*/



.victory-subslide {
	position: absolute;
	left: 0px;
	top: 325px;
	width: 800px;
	height: 225px;
	padding: 0px 50px;
	display: grid;
	align-items: center;
	justify-items: center;
	background-color: rgba( 0, 0, 0, 0.75 );
	color: white;
	font-size: 24px;
	opacity: 0;
	transition: all 1s ease;
	text-align: center;
}
.victory-click-prompt {
	position: absolute;
	text-align: center;
	bottom: 4px;
	left: 200px;
	width: 400px;
	color: #CCC;
	background-color: rgba( 0, 0, 0, 0.8 );
	border-radius: 5px;
	padding: 5px;
	pointer-events: none;
	font-size: 16px;
}

/*level-passed*/
					#level-passed-dialog, 
                    #level-failed-dialog {
						position: absolute;
/*						background-color: rgb(0, 0, 122);*/                 display:flex;
                       bottom:0;
						left: 0px;
                        top:0;
						right:0;
                        padding:30px;
/*						border-radius: 25px;*/
/*						border: 4px solid black;*/
						align-items: center;
						justify-content:flex-start;
                        flex-flow: column;
                        background:rgba(05,25,55,.5);
                        backdrop-filter: blur(2px);
                        
					}
#level-failed-dialog {
/*    background:rgba(45,05,15,.5);*/
}
#level-passed-dialog:after,
#level-failed-dialog:after {
    position:absolute;
    left:0;
    bottom:0;
    top:0;
    right:0;
/*    z-index: 1;*/
    content:'';
    display:block;
    pointer-events: none;
    box-shadow:inset 0 0 50px 5px rgba(0,0,10,.8);
    
}
					#level-passed-dialog-title,
                    #level-failed-dialog-title  {
                        margin:0 auto;
						text-align: center;
/*						border-bottom: 1px dotted white;*/
                        font-family: 'Oxanium' ,sans-serif;
						font-size: 36px;
						font-weight: bold;
/*                        z-index:1;*/
					}
					#level-passed-dialog-body,
                    #level-failed-dialog-body {
						font-size: 18px;
						text-align: center;
						margin-top: 5px;
/*                        z-index:1;*/
					}
/*
					#level-passed-dialog-button {
						color: white;
						font-size: 18px;
						font-weight: bold;
						background-color: #060;
						border: 2px solid black;
						border-radius: 4px;
						align-self: stretch !important;
						padding: 10px;
                        z-index:1;
					}
*/
.level-passed-image, 
.level-failed-image {
    position:absolute;
    height:95%;
    bottom:-110px;
/*    z-index:0;*/
    
}

.bonus-level-passed-dialog .level-passed-image {
    bottom:30px;
    height:58%;
}
.level-passed-image  img, 
.level-failed-image img {
    height:100%;
        width:auto;
}
					#level-stars {
						text-align: center;
						font-size: 36px;
                        margin-top:5px;
/*                        z-index: 1;*/
					}
.level-passed-choices, .level-failed-choices {
    z-index:1;
    display:flex;
    margin:10px auto;  
}
.level-failed-choices {
    margin-top:20px;
}
.level-passed-choices .btn, .level-failed-choices .btn {
    padding:10px;
    margin:auto;
    padding:12px 50px;
        border-color:rgb(0, 133, 122);
}
/*
-----------------------------------------------------------	Bonus Levels
*/

.bonus-level-arena {
	position: absolute;
	left: 0px;
	top: 0px;
}

#COORDINATE-ENTRY-CONSOLE-CONTAINER {
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 800px;
}

#CornSiloTargetSelector #COORDINATE-ENTRY-CONSOLE-CONTAINER {
	transform: scale( 0.8, 0.8 ) translate( 0px, 40px );
}

#COORDINATE-ENTRY-CONSOLE {
	height: 160px;
	width: 800px;
	background-image: url( images/bonuslevels/dashboard.png );
	animation: console-slidein 1s ease-out;
}
@keyframes console-slidein {
	0% {
		transform: translateY( 250px );
	}
	100% {
		transform: translateY( 0px );
	}
}

#COORDINATE-ENTRY-DISH {
	position: absolute;
	width: 67px;
	height: 55px;
	left: 7px;
	top: -3px;
	transform-origin: 60px 44px;
	background-image: url( images/bonuslevels/dish.png );
	animation: dish-animation 5s ease-in-out infinite alternate;
}
@keyframes dish-animation {
	0% {
		transform: rotate( 10deg );
	}
	100% {
		transform: rotate( -10deg );
	}
}


/*	Tutorial */

.tutorial-prompt {
	display: flex;
	align-items: center;
    text-align: justify;
    max-width:280px;
    min-width:200px;
	margin:0 15px 0 0;
/*	background-color: #111;*/
	border-radius: 10px ;
	padding: 10px;
	font-size: 14px;
/*    border:1px solid #89a;  */
    box-shadow:0 0 8px 1px rgba(140,220,240,1);
    
    box-shadow:inset 0 0 8px 0px rgba(140,220,240,.5);
}



#GOPHER-SPEECH-BALLOON {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 800px;
	height: 600px;
	pointer-events: none;
}

.speech-balloon {
	position: absolute;
	background-image: url( images/speech-balloon.png );
	width: 256px;
	height: 174px;
	left: 380px;
	top: 120px;
	padding: 15px 25px 60px 25px;
	color: black;
	display: grid;
	align-items: center;
	justify-items: center;
	font-size: 18px;
	transform-origin: bottom left;
	animation: speech-bubble-entrance 0.2s ease-in-out;
	pointer-events: all;
}
.speech-balloon.flipped {
	background-image: url( images/speech-balloon-flipped.png );
	transform-origin: bottom right;
}
@keyframes speech-bubble-entrance {
	0% {
		transform: scale( 0.1, 0.1 );
		opacity: 0;
	}
	10% {
		opacity: 1.0;
	}
	90% {
		transform: scale( 1.1, 1.1 );
	}
	100% {
		transform: scale( 1, 1 );
	}
}
/*
button.speech-acknowledge-button {
	margin-top: 10px;
	border: 2px solid black;
	color: white;
	background-color: #369;
	border-radius: 5px;
	text-align: center;
	height: 2em;
}
button.speech-acknowledge-button.tab-highlighted {
	outline: 3px solid #369;
	outline-offset: 7px;
}
*/
.speech-acknowledge {
	width: 100%;
	font-size: 12px;
	color: #036;
	font-style: italic;
	margin-top: 8px;
}
#FPS {
	position: absolute;
	left: 0px;
	bottom: 0px;
	z-index: 1000000;
	padding: 3px;
	font-family: monospace;
	color: #555;
}

/*
	UTILITY CLASSES
*/

.fade-in {
	animation: fade-in-animation 0.5s ease-in-out;
}
@keyframes fade-in-animation {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1.0;
	}
}
.slide-in-from-bottom {
    animation: slide-in-from-bottom-animation 0.5s ease-out;
}
@keyframes slide-in-from-bottom-animation {
	0% {
		opacity: 0;
		transform: translate( 0px, 200px );
	}
	100% {
		opacity: 1.0;
		transform: translate( 0px, 0px );
	}
}
.slide-in-from-left {
	animation: slide-in-from-left-animation 0.5s ease-out;
}
@keyframes slide-in-from-left-animation {
	0% {
		opacity: 0;
		transform: translate( -100px, 0px );
	}
	100% {
		opacity: 1.0;
		transform: translate( 0px, 0px );
	}
}
.slide-in-from-right {
	animation: slide-in-from-right-animation 0.5s ease-out;
}
@keyframes slide-in-from-right-animation {
	0% {
		opacity: 0;
		transform: translate( 100px, 0px );
	}
	100% {
		opacity: 1.0;
		transform: translate( 0px, 0px );
	}
}

.float {
	animation: float-animation 5s ease-in-out infinite alternate;
}
.rock {
	animation: rock-animation 2.5s ease-in-out infinite alternate;
}
.shimmy {
	animation: shimmy-animation 0.5s ease-in-out infinite alternate;
}
@keyframes float-animation {
	0% {
		transform: translate( 0px, -20px );
	}
	100% {
		transform: translate( 0px, 20px );
	}
}
@keyframes rock-animation {
	0% {
		transform: rotate( 10deg );
	}
	100% {
		transform: rotate( -10deg );
	}
}
@keyframes shimmy-animation {
	0% {
		transform: translate( -10px, 0px );
	}
	100% {
		transform: translate( 10px, 0px );
	}
}


