@font-face {font-family:"Qanelassoft";src:url("../fonts/qanelassoft-semibold.woff") format("woff");font-weight:normal;font-style:normal;}
@font-face {font-family:"Qanelassoft";src:url("../fonts/qanelassoft-semibolditalic.woff") format("woff");font-weight:normal;font-style:italic;}
@font-face {font-family:"Qanelassoft";src:url("../fonts/qanelassoft-blackitalic.woff") format("woff");font-weight:normal;font-style:black,italic;}


html, body {
  width: 100%;
  height: 100%;
  background-color: #000;
  color: #fff;
  margin: 0px;
  padding: 0;
  overflow: hidden;
  font-family: Qanelassoft,sans-serif;
}

body {
    position: fixed;
    width: 100%;
    height: 100vh;
    -webkit-user-select: none;
    user-select: none;
    background-color: #000;
}

canvas {
  position: absolute;
  top: 0;
}

#everything {
  overflow: hidden;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  max-width: 100%;
  max-height: 100%;
  position:relative;
  z-index:2;
  touch-action: manipulation;
  text-align: center;
}

#loadingText {
  padding-top: 50vh;
  display: inline-block;
}

#loadingOverlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
  z-index: 999999;
  background-color: #000;
  background-image: url(../images/endGameSchoolBackground.png);
  background-repeat: no-repeat;
  background-size: contain;  
}

#loadingImage {
  position: absolute;
  width: 100%;
  height: 100%;
  margin: auto;
  background-image: url(../images/loadingEyes.png);
  background-repeat: no-repeat;
  background-size: 100px auto;  
  background-position: center 40%;
}

#conversation {
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  left: 0;
  text-align: center;
  padding-top: 40px;
}

.conversationBubble {
  display: inline-block;
  background-color: rgba(255,255,255,0.9);
  border-radius: 8px;
  width: 90%;
  height: auto;
  margin-top: 20px;
  padding: 10px;
  color: #5b127f;
}

.conversationBubble.iconRight {text-align: left;}
.conversationBubble.iconRight #conversationIcon {float: right;}

.conversationBubble.iconLeft {text-align: right;}
.conversationBubble.iconLeft #conversationIcon {float: left;}

.conversationBubble.iconLeftBottom {
  text-align: right;
  position: absolute;
  bottom: 100px;
  left: 2.5%;
}
.conversationBubble.iconLeftBottomHigh {
  text-align: right;
  position: absolute;
  bottom: 155px;
  left: 2.5%;
}
.conversationBubble.iconLeftBottom #conversationIcon {float: left;}
.conversationBubble.iconLeftBottomHigh #conversationIcon {float: left;}

.conversationBubble.bigImage {
  height: 50%;
  text-align: center;
}
/*.conversationBubble.iconLeftBottomHigh #conversationIcon {float: none;}*/
.conversationBubble.bigImage #conversationIcon img {
  height: 80%;
  width: 80%;
}


#legoLogo {position:absolute;z-index:99999;width: 100%;height:80px;text-align:center}
#legoLogo img {display: inline-block;width:30%;height:auto;margin-top:5px;}
#cornerTL {position: absolute;top:0;left:0;}
#cornerTR {position: absolute;top:0;right:0;}
#cornerBL {position: absolute;bottom:-5px;left:0;}
#cornerBR {position: absolute;bottom:-5px;right:0;}

#legalLine {
  font-family: arial;
  position:absolute;
  z-index: 9999;
  bottom: 5px;
  text-align: center;
  width: 100%;
  font-size: 12px;
  color: #efefef;
}


@keyframes scaleSmall {
  0% {
      transform: scale(1.0);
      -webkit-transform: scale(1.0);
  }
  100% {
      transform: scale(1.1);
      -webkit-transform: scale(1.1);
  }
}

@keyframes scaleSmall_Gloom {
  0% {
      transform: scale(0.75);
      -webkit-transform: scale(0.5);
  }
  100% {
      transform: scale(0.6);
      -webkit-transform: scale(0.4);
  }  
}

@keyframes rotateOneEighty {
  0% {
      transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
  }
  100% {
      transform: rotate(180deg);
      -webkit-transform: rotate(180deg);
  }
}

@keyframes rotateThreeSixty {
  0% {
      transform: rotate(0deg);
      -webkit-transform: rotate(0deg);
  }
  100% {
      transform: rotate(360deg);
      -webkit-transform: rotate(360deg);
  }
}

@keyframes scaleFlip {
  0% {
      transform: scaleX(1);
      -webkit-transform: scaleX(1);
  }
  100% {
      transform: scaleX(-1);
      -webkit-transform: scaleX(-1);
  }
}

@keyframes fadeIn {
  0% {
      opacity: 0;
  }
  100% {
      opacity: 1;
  }
}



#crossHairsContainer {
  width: 40vw;
  height: 40vw;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: none;
}

#crossHairsContainer.fullWidth {
  width: 100% !important;
}

#crossHairScaler {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

#crossHairs {
  width: 100%;
  height: 100%;  
  background-repeat: no-repeat;
  background-size: cover;
}

.crossHairsGloom {
  background-image: url('../images/crosshair_gloomSearch.png');
  animation: scaleSmall_Gloom 0.75s ease-in-out infinite alternate;
  -webkit-animation: scaleSmall_Gloom  0.75s ease-in-out infinite alternate;  
}

.crossHairsGloom2 {
  background-image: url('../images/gloom_explode.png');
}

.crossHairsRadar {
  background-image: url('../images/crosshair_gloomRadar1.png');
  transform: scale(2);
  -webkit-transform: scale(2);  
}

.crossHairsRadarWiper {
  background-image: url('../images/crosshair_gloomRadarWiper.png');
  background-size: contain;
  animation: rotateThreeSixty 1.5s infinite linear;
  -webkit-animation: rotateThreeSixty 1.5s infinite linear;
  animation-direction: reverse;
  -webkit-animation-direction: reverse;
  display: block;
}

.crossHairsScanning {
  background-image: url('../images/crosshair_gridplace.png');
  animation: scaleSmall 0.75s ease-in-out infinite alternate;
  -webkit-animation: scaleSmall 0.75s ease-in-out infinite alternate;
}

#crossHairsInner1 {
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  left: 0;  
  background-repeat: no-repeat;
  display: none;
}

#crossHairsInner2,#crossHairsInner3 {
  width: 100%;
  height: 100%;
  position: absolute;
  top:0;
  left: 0;  
  background-repeat: no-repeat;
  background-size: contain;  
  display: none;
}

#crossHairsInner1 img, #crossHairsInner1 img, #crossHairsInner1 img {
  display: none;
}

.crossHairsHunting {
  background-image: url('../images/crosshair_ghostHunt1.png');
  animation: rotateOneEighty 3.75s ease-in-out infinite alternate;
  -webkit-animation: rotateOneEighty 3.75s ease-in-out infinite alternate;
}

.crossHairsHunting2 {
  background-image: url('../images/crosshair_ghostHunt2.png');
  animation: rotateOneEighty 2.5s ease-in-out infinite alternate;
  -webkit-animation: rotateOneEighty 2.5s ease-in-out infinite alternate;
}

.crossHairsHunting3 {
  background-image: url('../images/crosshair_ghostHunt3.png');
  animation: rotateThreeSixty 4.75s ease-in-out infinite alternate;
  -webkit-animation: rotateThreeSixty 4.75s ease-in-out infinite alternate;
}

.crossHairsHunting4 {
  background-image: url('../images/crosshair_ghostHuntSpark1.png');
  animation: scaleFlip .05s linear infinite alternate, fadeIn 0.07s infinite alternate;
  -webkit-animation: scaleFlip .05s linear infinite alternate, fadeIn 0.07s infinite alternate;
}


.crossHairsBattling1 img, .crossHairsBattling2 img, .crossHairsBattling3 img {
  display: block !important;
}

.crossHairsBattling1 {
  background-image: url('../images/crosshair_ghostBattleZap.png');
  background-position: center;
  background-size: 0px;
}

.crossHairsBattling {
  background-image: url('../images/crosshair_ghostBattle1.png');
  animation: none;
  -webkit-animation: none;
  transform: scale(2);
  -webkit-transform: scale(2);
/*  animation: rotateOneEighty 3.75s ease-in-out infinite alternate;
  -webkit-animation: rotateOneEighty 3.75s ease-in-out infinite alternate;  */
}

.crossHairsBattling2 {
  opacity: 0.25;
  filter:  hue-rotate(0deg); /*70deg for red*/
/*  animation: rotateOneEighty 2.5s ease-in-out infinite alternate;
  -webkit-animation: rotateOneEighty 2.5s ease-in-out infinite alternate;*/
  transform: scale(3);
  -webkit-transform: scale(3);  
}

.crossHairsBattling3 {
  background-image: url('../images/crosshair_ghostBattleAngleLines.png');
  filter:  hue-rotate(0deg); /*70deg for red*/
  transform: scale(2.4);
  -webkit-transform: scale(2.4);
  /*opacity: 0.2;  */
}

/* PROGRESS BAR */
/* Loading */
#progressBarContainer.loader {
    margin: 50%;
    margin-left: 90px;
    z-index: 999999;
    margin-top: 55vh;
}

/* Ghost health */
#progressBarContainer {
  width: 180px;
  height: 25px;
  position: absolute;
  left: 0%;
  top: 0%;
  display: none;
}

.progress-bar {
    position: absolute;  
    background-color: #1a1a1a;
    padding: 2px;
    width: 180px;
    height: 25px;
    margin: 0px 0;         
    border-radius: 5px;
    box-shadow: 0 1px 5px #000 inset, 0 1px 0 #444;
    text-align: left;
}

.progress-bar span {
    display: inline-block;
    height: 100%;
    border-radius: 3px;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
    /*transition: width .4s ease-in-out;    */
}

#progressBarLabel {
    font-size: 12px;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 200px;
    height: 10px;
    margin-top: 6px;
    margin-left: 15px;  
}

.blue span {
    background-color: #34c2e3;   
}

.orange span {
      background-color: #fecf23;
      background-image: linear-gradient(top, #fecf23, #fd9215);  
}   

.green span {
      background-color: #a5df41;
      background-image: linear-gradient(top, #a5df41, #4ca916);  
}

.greenFlash span {
    background-color: #AD310B;
    -webkit-transition: background-color 100ms linear;
    -ms-transition: background-color 100ms linear;
    transition: background-color 100ms linear;
}

.glow span {
    box-shadow: 0 5px 5px rgba(255, 255, 255, .3) inset, 0 -5px 5px rgba(255, 255, 255, .3) inset;              
}

#gloomScoreHolder {
  position: absolute;
  text-align: center;
  width: 100%;
  height: 80px;
  left: 50%;
  bottom: 0px;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: none;
}

.gloomIconHolder {
  width: 20%;
  display: inline-block;
}
.gloomIconHolder img {
  padding-left: 5px;
}
.gloomIconHolder span {
  position: relative;
  top: -30px;
  font-size: 32px;
}


#splatOnMe {
  height: 100%;
  width: 100%;
}
.greenSplatHolder {
  position: absolute;
  top: 30%;
  left: 30%;
  width: 250px;
  height: 250px;
}
.greenSplat {
  width: 250px;
  height: 250px;
  background-image: url(../images/splatGreen.png);
  background-repeat: no-repeat;
  background-size: contain;
  display: none;
}

.animateSplat {
  display: block !important;
  transform: scale(0.1);
  -webkit-transform: scale(0.1);
  opacity: 0.2;

  animation: splatItScale 1.75s ease-in-out;
  -webkit-animation: splatItScale  1.75s ease-in-out;
  animation-fill-mode: forwards;
}

@keyframes splatItScale {
  0% {
      transform: scale(0.1);
      -webkit-transform: scale(0.1);
      opacity: 0.2;
  }
  10% {
      transform: scale(1);
      -webkit-transform: scale(1);
      opacity: 0.8;
  }
  20% {
      transform: scale(1);
      -webkit-transform: scale(1);
      opacity: 0.8;
  }
  80% {
      transform: scale(1.1);
      -webkit-transform: scale(1.1);
      opacity: 0.7;
  }        
  100% {
      transform: scale(1.1);
      -webkit-transform: scale(1.1);
      opacity: 0;
  }
}

#videoHolder, #videoHolder_Menu {
  position:absolute;
  z-index:9999;
  top:0;
  width:100%;
  height:100%;
  background-color: rgba(0,0,0,0.7);
}

#videoHolder_Menu {
  background-color: transparent;
}

#videoPlayer, #videoPlayer_Menu {
  width:100%;
  height:100%;
  pointer-events: all;
}

#videoPlayer_Menu {
  height: 95%;
}


#gotWiFi_MainText_MainGame {
  position: absolute;
  bottom: 0;
  z-index: 999;  
  margin-top: 20px;
  border-top: 5px solid #444;
  border-bottom: 5px solid #444;
  height: 88px;
  width: 100%;
  text-align: left;
  background-color: #222;
  display: none;
}

#gotWiFi_MainText_MainGame img {
  float: left;
  margin-right: 15px;  
}

#endgamePlayFullGameText {
  margin-top: 10px;
  font-size: 3vw;
  /*text-align: center;*/
}

#endgameDownloadAppText {
  font-size: 7vw;
  color: #91ff67;
  /*text-align: center;*/
}

#menuHolder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  background-image: url(../images/endGameSchoolBackground.png), url(../images/backgroundGrain.png), url(../images/backgroundGrainPink.png);
  background-position: center top, center bottom, center top;
  background-repeat: no-repeat;
  background-size: cover, contain;
  z-index: 9999;
  display: none;
}

#menuTitle {
  color: #fff;
  font-size: 23px;
  text-align: center;
  margin-top: 28%;
}

#menuHolder #videoHolder {
  background-color: transparent;
}

#menuHolder #videoPlayer {
  margin-top: 20%;
  height: 60%;
}

#menuHolder #gotWiFi_MainText_MainGame {
  display: block;
  bottom: 20%;
}

#menuHolder .bottomTab {
  font-size: 11px;
  text-align: center;
}

#menuCloseButton {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 50px;
  height: 50px;
  right: 10px;
  z-index: 9999;
  background-image: url(../images/button_menu_close.png);
  background-repeat: none;
  background-position: center;
  background-size: contain;
  width: 50px;
  height: 50px;
  pointer-events: all;    
}

#menuShowButton {
  position: absolute;
  top: 2px;
  right: 10px;
  z-index: 9999;
  background-image: url(../images/button_menu.png);
  background-repeat: none;
  background-position: center;
  background-size: contain;
  width: 50px;
  height: 50px;
  pointer-events: all;
  display: none;
}


#tabHolder {
  position: fixed;
  bottom: -10px;
  height: 100px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding-left: 0%;
  padding-right: 0%;
}

.bottomTab {
  width: 33%;        
  height: 100%;
}

#orientationOverlay {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
  z-index: 999999999;
  background-color: #000;
  background-image: url(../images/endGameSchoolBackground.png);
  background-repeat: no-repeat;
  background-size: contain;
  display: none;
}

#btnContinueGame {
  text-align: center;
  width: 100%;
  font-size: 18px;
  margin-top: 26px;
  height: 50px;
  overflow: visible;
  background-image: url(../images/playMoreButton.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  padding-top: 22px;
  color: #fff;
  position: absolute;
  top: 51%;
  left: 0px;
  display: none;
}

#btnContinueGameText {
  width: 150px;
  height: 30px;
  margin: auto;
}

@media screen and  (max-width: 980px) and (orientation:landscape){
  #orientationOverlay {
    display: block;
  }
}

#noMotionSensors {
  position: absolute;
  background-color: #000;
  top: 0;
  left: 0;
  text-align: center;
  padding: 15px;
  padding-top: 20vh;
  display: none;
  z-index: 9;
  height: 100%;
}

#noMotionTitle {
  font-size: 26px;
  margin-bottom: 20px;
}

#noMotionStep1, #noMotionStep2, #noMotionStep3, #noMotionStep4 {
  font-size: 18px;        
  float:left;
  text-align: left;
  height: 50px;
  line-height: 50px;
  margin-bottom: 10px;
}

#noMotionStep3 {
  height: 70px;
  line-height: 1.5;
}

#motionRow img {
  height: 50px;
  width: auto;
  float: right;
}

#motionRowLong img {
  width: 80%;
  height:auto;
  float:both;
}

#blueText {
  color: #1bc2c0;
}


#sliderOuter {
  display: none;
}

.slidecontainer {
  position: absolute;
  bottom: 110px;
  width: 90%;
  z-index: 9999;
  pointer-events: all;
  margin-left: 5%;
}

/* The slider itself */
.slider {
  -webkit-appearance: none;
  width: 70%;
  height: 15px;
  border-radius: 5px;   
  background: #d3d3d3;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
  float: left;
  margin-left: 10px;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 75px;
  height: 50px;
  border-radius: 25px; 
  background: #8aafdd;
  cursor: pointer;
  border: none;
  opacity: 1;
}

.slider::-moz-range-thumb {
  width: 40px;
  height: 25px;
  border-radius: 12px;
  background: #8aafdd;
  cursor: pointer;
  border: none;
  opacity: 1;
}

#videoSkipButton {
  position: absolute;
  top: 10px;
  right: 10px;
  height: 70px;
  width: 70px;
  background-image: url(../images/skipwhite.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: all;
}