@font-face {
  font-family: "Graphik-Semibold";
  src: url("Graphik-Semibold.woff") format("woff"),
       url("Graphik-Semibold.ttf") format("truetype"),
       url("Graphik-Semibold.eot") format("opentype");
}
@font-face {
  font-family: "Graphik-Regular";
  src: url("Graphik-Regular.woff") format("woff"),
       url("Graphik-Regular.ttf") format("truetype"),
       url("Graphik-Regular.eot") format("opentype");
}
@font-face {
  font-family: "Graphik-Medium";
  src: url("Graphik-Medium.woff") format("woff"),
       url("Graphik-Medium.ttf") format("truetype"),
       url("Graphik-Medium.eot") format("opentype");
}
@font-face {
    font-family: 'Editor';
    src: url('Editor-Bold.eot');
    src: url('Editor-Bold.eot?#iefix') format('embedded-opentype'),
        url('Editor-Bold.woff2') format('woff2'),
        url('Editor-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
  font-family: 'LED';
  src: url('led.woff2') format('woff2'),
       url('led.woff') format('woff'),
       url("led.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
body, html {
  background-color: transparent !important;
}
body {
	font-family: "Graphik-Regular", sans-serif;
	color: #000000;
	overflow: hidden;
}
#main {
	text-align: center;
	position: relative;
	height: 100vh;
}
a, 
.blue, 
.secondary-button, 
h1, 
h2, 
h3 {
	color: #000AD2;
}
.black {
	color: #000000;
}
.white {
	color: #FFFFFF;
}
.bold {
	font-family: "Graphik-Medium";
}
h1 {
	font-family: "Graphik-Semibold", sans-serif;
	font-size: 56px;
	line-height: 60px;
	letter-spacing: 8px;
}
h2 {
	font-family: "Graphik-Medium", sans-serif;
	font-size: 48px;
	line-height: 56px;
}
h3 {
	font-family: "Graphik-Semibold", sans-serif;
	font-size: 24px;
	line-height: 24px;
}
h4 {
	font-family: "Graphik-Medium", sans-serif;
	font-size: 32px;
	line-height: 40px;
}
h5 {
	font-family: "Graphik-Medium", sans-serif;
	font-size: 12px;
	line-height: 16px;
	letter-spacing: 1.5px;
}
h2, h3, h4 {
	margin-bottom: 30px;
}
p {
	font-size: 16px;
	line-height: 24px;
	margin-bottom: 30px;
	padding: 0 30px;
}
p.med {
	font-family: "Graphik-Medium", sans-serif;
}
.game-logo {
	margin-top: 10px;
	font-size: 13vw;
	line-height: 14vw;
	letter-spacing: 2.5vw;
	padding-left: 2.5vw;
}
.with-grant {
	font-family: "Editor", serif;
	font-size: 20px;
	line-height: 18px;
	margin-top: 15px;
}
.how-txt {
	padding: 0 70px;
	margin-bottom: 15px;
}
.rsSlide:last-child .how-txt {
	margin-bottom: 30px;
}
.tiny {
	font-size: 12px;
	line-height: 18px;
}

.spaced {
	letter-spacing: 6px;
}
.primary-button {
	font-family: "Graphik-Medium", sans-serif;
	display: block;
}
.primary-button span {
	display: inline-block;
	background-color: #000AD2;
	padding: 10px 30px;
	color: #FFFFFF;
	width: 200px;
}
.primary-button span:hover {
	background-color: 
}
.secondary-button {
	font-family: "Graphik-Medium", sans-serif;
}
.blocker {
	display: block;
}
.logo {
    width: 70vw;
    height: auto;
    margin: 25px 0;
    max-width: 350px;
}
.grant-icon {
	width: 65px;
	height: auto;
}
#landing .play-button > span {
	width: 260px;
}
#exit-button span {
  width: 260px;
  line-height: 20px;
}
#exit-button a {
	color: white !important;
}
@media (orientation: landscape) {
	body::after {
		content: "Please rotate your device. This experience is optimal in portrait mode.";
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		font-size: 16px;
		line-height: 24px;
		padding: 50px;
		text-align: center;
		background-color: #FFFFFF;
		z-index: 999999;
	}
}












#landing, 
#how-to-play, 
#game, 
#results {
	position: fixed;
	top: 0;
	left: 100vw;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	background-color: #FFFFFF;
	-webkit-transition: left 0.6s, opacity 0.6s;
	-moz-transition: left 0.6s, opacity 0.6s;
	transition: left 0.6s, opacity 0.6s;
}
#game {
  background-color: transparent !important;
}
#landing {
	left: 0;
	background-color: #DBDFEC;
}










#how-to-play {
	background-color: #FFFFFF;
	padding-top: 60px;
}
#how-to-play #close-button {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 20px;
	height: 20px;
}
.how-to-img {
	max-width: 270px;
	height: auto;
	margin-bottom: 30px;
}
body.show-how-to-play #how-to-play {
	left: 0;
}
body.show-how-to-play #landing {
	left: -50vw;
}








#game {
	left: 0;
}
body.demo #game {
	background: url(../images/ar-grant.jpg) no-repeat fixed center center transparent;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
}
body.demo.game2 #game {
	background-image: url(../images/ar-game.jpg);
}
body.game2 .countdown {
	display: none;
}
body.demo.game3 #game {
	background-image: url(../images/ar-grant.jpg);
}
body.demo.game4 #game {
	background-image: url(../images/ar-room.jpg);
}
body.show-game #landing, 
body.show-game #how-to-play {
	opacity: 0;
	pointer-events: none;
}



/** PRELOAD */
body.demo::before {
  content: "";
  background-image: url(../images/ar-room.jpg), url(../images/ar-grant.jpg), url(../images/ar-game.jpg);
  pointer-events: none;
  opacity: 0;
}




#jumbotron {
	position: relative;
	height: 100vh;
}
#jumbotron .upperthird {
	position: relative;
	height: 50px;
	text-align: center;
	background: transparent;
	display: none;
}
body.game2 #jumbotron .upperthird {
	display: flex;
}
#jumbotron .countdown {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 55px;
	margin-top: -28px;
	display: none;
}
body.countdown #jumbotron .countdown {
	display: block;
}
#jumbotron .countdown #countdown {
	font-family: "Graphik-Semibold", sans-serif;
	font-size: 56px;
	line-height: 60px;
	width: 100%;
	color: #FFFFFF;
}
#jumbotron .col-4 {
	padding-top: 10px;
	margin-top: 15px;
	padding: 10px 0 0;
}
#jumbotron p {
	margin-bottom: 0;
	padding: 0;
}
#jumbotron .col-4::before {
	content: '';
	position: absolute;
	top: 5px;
	left: 5%;
	width: 90%;
	text-align: center;
	background-color: rgba(255, 255, 255, 0.5);
	height: 50px;
	border-radius: 50px;
}
#jumbotron .col-4 > p {
	position: relative;
	text-align: center;
}
#jumbotron.low .col-4.clock::before {
	background-color: #FF4632 !important;
}
#jumbotron.low .clock > p {
	color: #FFFFFF;
}
#clock {
	opacity: 1;
	position: absolute !important;
	top: 10px;
	left: 0;
	width: 100%;
}
.clock > p {
	font-family: "LED";
	width: 100%;
	font-size: 40px;
	line-height: 40px;
	opacity: 0.25;
}
#jumbotron .tiny {
	display: block;
	letter-spacing: 1px;
	width: 100%;
	margin-bottom: -2px;
}
#jumbotron .score {
	font-family: "Graphik-Medium", sans-serif;
	font-size: 18px;
	line-height: 18px;
	width: 100%;
}
.fire {
	width: 20px;
	display: inline-block;
	overflow: hidden;
	height: 33px;
	padding: 0;
	margin: 3px 5px 0;
}
.fire > img {
	position: absolute;
	top: 0;
	left: 0;
	width: 60px;
	height: auto;
}
#jumbotron.fire-1 .fire.fire-1 > img, 
#jumbotron.fire-2 .fire.fire-2 > img {
	left: -20px;
}
#jumbotron.fire-3 .fire.fire-1 > img, 
#jumbotron.fire-3 .fire.fire-2 > img, 
#jumbotron.fire-3 .fire.fire-3 > img {
	left: -40px;
}










#results {
	background-color: transparent;
	pointer-events: none;
	left: 0;
	opacity: 0;
}
#results .logo {
    margin: 15px 0;
    position: fixed;
    top: 0;
    left: 50%;
    pointer-events: none;
    z-index: 500;
    transform: translateX(-50%) translate3d(0,0,0);
    z-index: 200;
    display: block;
    transition: opacity 1s;
    width: 50vw;
}
#results.scrolled .logo {
	opacity: 0;
}
#results .contents {
	background-color: #FFFFFF;
	padding: 0 0 30px;
	margin-top: 100vh;
	-webkit-transition: margin 1s ease-out 1s;
	-moz-transition: margin 1s ease-out 1s;
	-o-transition: margin 1s ease-out 1s;
	transition: margin 1s ease-out 1s;
}
body.show-results {
	overflow: hidden;
}
#results .contents {
	margin-top: 105vh;
}
body.show-results #main {
	pointer-events: auto;
}
body.show-results #results {
	opacity: 1;
	pointer-events: auto;
}
body.show-results #jumbotron {
	opacity: 0;
}
#replay-button {
	margin-bottom: 50px;
}
#replay-button > img {
	margin: -2px 5px 0 0;
	display: inline-block;
}
.scrollup {
  margin-bottom: 10px;
  width: 41px;
  height: auto;
  margin-top: -15px;
  width: 35px;
  height: auto;
}
.socials {
	margin: -15px 0 60px 0;
}
.score-result {
	margin-bottom: 15px;
}
.source-txt {
	position: absolute;
	bottom: 100px;
	left: 15px;
	text-shadow: 0 0 3px rgba(0, 0, 0, 0.6);
	opacity: 0;
	pointer-events: none;
	transition: opacity 1s;
	padding: 0;
}
body.show-results .source-txt {
	opacity: 1;
}


.royalSlider {
	width: 100% !important;
	height: 515px !important;
	position: relative;
	direction: ltr;
}
.royalSlider > * {
	float: left;
}
.rsWebkit3d .rsSlide,
.rsWebkit3d .rsContainer,
.rsWebkit3d img,
.rsWebkit3d .rsOverflow {
	-webkit-backface-visibility: hidden;
}
.rsFade.rsWebkit3d .rsSlide,
.rsFade.rsWebkit3d img,
.rsFade.rsWebkit3d .rsContainer {
  -webkit-transform: none;
}
.rsOverflow {
	width: 100% !important;
	height: 100%;
	position: relative;
	overflow: hidden;
	float: left;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
.rsContainer {
	position: relative;
	width: 100%;
	height: 100%;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
.rsNav {
	opacity: 1;
	-webkit-transition:opacity 0.3s linear;
	-moz-transition:opacity 0.3s linear;
	-o-transition:opacity 0.3s linear;
	transition:opacity 0.3s linear;
}
.rsSlide {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	height: 100%;
	width: 100%;
}
.royalSlider.rsAutoHeight,
.rsAutoHeight .rsSlide {
	height: auto;
}
.rsContent {
	width: 100%;
	height: 100%;
	position: relative;
}
.rsNav {
	-moz-user-select: -moz-none;
	-webkit-user-select: none;
	user-select: none;
}
.rsNavItem {
	-webkit-tap-highlight-color:rgba(0,0,0,0.25);
}
img.rsImg {
	max-width: none;
}
.rsBullets {
	display: block;
	width: 100%;
	height: 30px;
	margin-top: 15px;
	background-color: transparent;
}
.rsBullet {
	display: inline-block;
	margin: 10px;
	width: 10px;
	height: 10px;
	background-color: rgba(0, 0, 0, 0.2);
	border-radius: 50%;
}
.rsBullet.rsNavSelected {
	background-color: #000AD2;
}
.rsSlide img {
	transition: opacity 1s linear 0s, transform 1s ease-in-out 0s;
	transform: scale(0) translateY(-25px);
	opacity: 0;
}
.rsSlide .ti2 {
	transition-delay: 0.4s;
}
.rsSlide .ti3 {
	transition-delay: 0.8s;
}
.rsActiveSlide img {
	opacity: 1;
	transform: scale(1) translateY(0px);
}




[data-bargraphs] {
  width: 150px;
  height: 500px;
  position: absolute;
  bottom: 155px;
  left: 50%;
  transform: translateX(-50%);
  perspective: 900px;
  pointer-events: none;
  display: inline-block;
  opacity: 0;
}

body.show-results [data-bargraphs] {
  opacity: 1.0;
}
.bar-face-left {
	border-right: 0.5px solid white;
}
.bar-face-back {
	border-left: 0.5px solid white;
}



/* VIDEO */
body.showing-video-intro > *:not(video, #intro-game-logo, #intro-branded, #forcedClick) {
  opacity: 0 !important;
}
body.showing-video-intro {
  overflow: hidden !important;
}
body.showing-video-intro #landing {
	opacity: 0 !important;
}
body #video-intro {
  pointer-events: none;
  position: fixed;
  width: 100%;
  height: 100%;
  object-fit: cover;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 1s;
  z-index: 9999999;
}
body.showing-video-intro #video-intro {
  opacity: 1;
}

/* INTRO BRANDED */
body #intro-branded {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: opacity 0.2s linear 0s;
	z-index: 99999999;
	opacity: 0;
	pointer-events: none;
}
body.showing-video-logo #intro-branded {
	opacity: 1;
}
#intro-branded .ncaa-logo, 
#intro-branded .qqq-logo {
	position: absolute;
	left: 50%;
	padding: 25px 0;
}
#intro-branded .ncaa-logo {
	bottom: 0;
	width: 64px;
	height: auto;
	margin-left: -32px;
}
#intro-branded .qqq-logo {
    top: 50%;
    width: 100%;
    max-width: 600px;
    height: auto;
    transform: translate(-50%, 140%);
    padding: 0 30px;
}







/* VIDEO LOGO */
#intro-game-logo {
	position: fixed;
	top: 50%;
	left: 0;
	width: 100%;
	margin-top: -110px;
	z-index: 99999999;
	visibility: hidden;
	text-align: center;
	pointer-events: none;
}
body.game-logo-in #intro-game-logo {
  visibility: visible;
}
#intro-game-logo span, 
#intro-game-logo span {
	opacity: 0;
	transition: opacity 0s linear 0s;
}
#intro-game-logo .logo1 {
	transition-delay: 2s;
}
#intro-game-logo .logo2 {
	transition-delay: 2.1s;
}
#intro-game-logo .logo3 {
	transition-delay: 2.2s;
}
#intro-game-logo .logo4 {
	transition-delay: 2.4s;
}
#intro-game-logo .logo5 {
	transition-delay: 2.5s;
}
body.power-saver #intro-game-logo .logo1 {
	transition-delay: 1s;
}
body.power-saver #intro-game-logo .logo2 {
	transition-delay: 1.1s;
}
body.power-saver #intro-game-logo .logo3 {
	transition-delay: 1.2s;
}
body.power-saver #intro-game-logo .logo4 {
	transition-delay: 1.4s;
}
body.power-saver #intro-game-logo .logo5 {
	transition-delay: 1.5s;
}



body.game-logo-in #intro-game-logo .logo1, body.game-logo-in #intro-game-logo .logo2, body.game-logo-in #intro-game-logo .logo3, body.game-logo-in #intro-game-logo .logo4, body.game-logo-in #intro-game-logo .logo5 {
	opacity: 1;
}
body.game-logo-out #intro-game-logo .logo1, body.game-logo-out #intro-game-logo .logo2, body.game-logo-out #intro-game-logo .logo3, body.game-logo-out #intro-game-logo .logo4, body.game-logo-out #intro-game-logo .logo5 {
	opacity: 0;
}





#forcedClick {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999999999;
}
#forcedClick::before {
	content: 'Start';
	position: absolute;
	bottom: 25%;
	bottom: 50%;
	width: 170px;
	height: 44px;
	text-align: center;
	font-family: "Graphik-Medium", sans-serif;
	background-color: #000AD2;
	padding: 10px 30px;
	color: #FFFFFF;
	left: 50%;
	margin-left: -85px;
	margin-bottom: -22px;
}






@media (max-width: 359px) {
	h2, h3, h4 {
	  margin-bottom: 20px;
	}
	p {
		margin-bottom: 20px;
		padding: 0 15px;
	}
	.grant-icon {
		width: 75px;
		margin-top: -5px;
	}
	.with-grant {
		margin-top: 10px;
	}
	.how-txt {
		padding: 0 10px;
		margin-bottom: 10px;
		font-size: 14px;
		line-height: 22px;
	}
	.how-to-img {
		max-width: 240px;
		margin-bottom: 15px;
	}
	.rsSlide:last-child .how-txt {
    margin-bottom: 10px;
	}
	.royalSlider {
    height: 450px !important;
	}
	#how-to-play {
		padding-top: 50px;
	}
	.tiny-icon {
		margin-top: -5px;
	}
	[data-bargraphs] {
		bottom: 100px;
		transform: scale(0.6) translateX(-88%);
	}
	.source-txt {
		bottom: 135px;
	}
}
@media (min-width: 360px) and (max-width: 374px) {
	.grant-icon {
		margin-top: 40px;
		width: 90px;
	}
	#intro-branded .qqq-logo {
		padding: 0 50px;
	}
	[data-bargraphs] {
		bottom: 150px;
		transform: scale(0.75) translateX(-65%);
	}
	.how-txt {
		padding: 0 30px;
	}
	.rsSlide:last-child .how-txt {
    margin-bottom: 15px;
	}
	#how-to-play {
		padding-top: 100px;
	}
	.source-txt {
		bottom: 125px;
	}
}
@media (min-width: 375px) and (max-width: 410px) {
	.grant-icon {
		width: 90px;
		margin-top: 0px;
	}
	#intro-branded .qqq-logo {
		padding: 0 50px;
	}
	[data-bargraphs] {
		bottom: 240px;
		transform: scale(0.75) translateX(-68%);
	}
	.how-txt {
		padding: 0 30px;
	}
	.rsSlide:last-child .how-txt {
		margin-bottom: 15px;
	}
	[data-bargraphs] {
		bottom: 140px;
		transform: scale(0.75) translateX(-68%);
	}
	.source-txt {
		bottom: 125px;
	}
}
@media (min-width: 375px) and (max-width: 410px) and (min-height: 668px) {
	.grant-icon {
		width: 90px;
		margin-top: 50px;
	}
	#intro-branded .qqq-logo {
		padding: 0 50px;
	}
	[data-bargraphs] {
		bottom: 170px;
		transform: scale(0.75) translateX(-68%);
	}
	#how-to-play {
		padding-top: 130px;
	}
	.source-txt {
		bottom: 125px;
	}
}
@media (min-width: 411px) and (max-width: 413px) {
	.grant-icon {
		margin-top: 20px;
		width: 90px;
	}
	#how-to-play {
		padding-top: 90px;
	}
	.how-txt {
		padding: 0 20px;
	}
	.rsSlide:last-child .how-txt {
		margin-bottom: 15px;
	}
	[data-bargraphs] {
		bottom: 160px;
		transform: scale(0.75) translateX(-68%);
	}
	.source-txt {
		bottom: 125px;
	}
}
@media (min-width: 411px) and (max-width: 413px) and (min-height: 732px) {
	.grant-icon {
		margin-top: 50px;
		width: 90px;
	}
	#how-to-play {
		padding-top: 150px;
	}
	.how-txt {
		padding: 0 20px;
	}
	.rsSlide:last-child .how-txt {
		margin-bottom: 15px;
	}
	[data-bargraphs] {
		bottom: 160px;
		transform: scale(0.75) translateX(-68%);
	}
	.source-txt {
		bottom: 125px;
	}
}
@media (min-width: 414px) and (max-width: 767px) {
	.grant-icon {
		margin-top: 30px;
		width: 90px;
		height: auto;
	}
	#how-to-play {
		padding-top: 90px;
	}
	.how-txt {
		padding: 0 20px;
	}
	.rsSlide:last-child .how-txt {
		margin-bottom: 15px;
	}
	[data-bargraphs] {
		bottom: 153px;
		transform: scale(0.8) translateX(-63%);
	}
	.source-txt {
		bottom: 125px;
	}
}
@media (min-width: 414px) and (max-width: 767px) and (min-height: 737px) {
	.grant-icon {
		margin-top: 100px;
		width: 90px;
		height: auto;
	}
	#how-to-play {
		padding-top: 150px;
	}
	.how-txt {
		padding: 0 20px;
	}
	.rsSlide:last-child .how-txt {
		margin-bottom: 15px;
	}
	[data-bargraphs] {
		bottom: 160px;
		transform: scale(0.75) translateX(-68%);
	}
	.source-txt {
		bottom: 125px;
	}
}
@media (min-width: 768px) {
	.grant-icon {
		width: 120px;
		margin-top: 100px;
	}
	.game-logo {
	    margin-top: 15px;
	    font-size: 10vw;
	    line-height: 11vw;
	    letter-spacing: 1.9vw;
	    padding-left: 2vw;
	}
	#intro-branded .qqq-logo {
		padding: 0 50px;
	}
	.royalSlider {
		top: 50%;
		margin-top: -277px;
	}
	p {
		padding: 0 15%;
	}
	.how-txt {
		padding: 0 15%;
	}
	[data-bargraphs] {
		bottom: 230px;
		transform: scale(1) translateX(-34%);
	}
	.source-txt {
		bottom: 125px;
	}
}

@media (orientation: portrait) and (max-width: 414px) and (max-height: 737px) {
  .grant-icon {
		margin-top: 30px;
	}
	.logo {
  	margin-bottom: 10px;
	}
}

@media (orientation: portrait) and (max-width: 375px) and (max-height: 668px) {
  .grant-icon {
		margin-top: 0px;
	}
	.logo {
  	margin-bottom: 10px;
	}
}

@media (orientation: landscape) and (min-width: 768px) {
	#intro-branded .qqq-logo {
  	top: 20%;
	}
	#intro-branded .ncaa-logo {
  	bottom: auto;
    top: 76%;
	}
}


