@font-face
{
  font-family: Playbold;
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/PlayBold.ttf') format('truetype');
}

@font-face
{
  font-family: AzeretMonoBold;
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/AzeretMono-Bold.ttf') format('truetype');
}

@font-face
{
  font-family: OpenSansCondLight;
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/OpenSans-CondLight.ttf') format('truetype');
}

@font-face
{
  font-family: Sarpanch;
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/Sarpanch-Regular.ttf') format('truetype');
}


@font-face
{
  font-family: OpenSansCondBold;
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/OpenSans-CondBold.ttf') format('truetype');
}

@font-face
{
  font-family: OpenSansRegular;
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/OpenSans-Regular.ttf') format('truetype');
}

@font-face
{
  font-family: SairaSemiCondBold;
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/SairaSemiCondensed-Bold.ttf') format('truetype');
}

@font-face
{
  font-family: OpenSansExtraBold;
  font-style: normal;
  font-weight: 800;
  src: url('../fonts/OpenSans-ExtraBold.ttf') format('truetype');
}

@font-face
{
  font-family: Asap-VariableFont_wdth;
  font-style: bold;
  font-weight: 600;
  src: url('../fonts/Asap-VariableFont_wdth,wght.ttf') format('truetype');
}
@font-face
{
  font-family: RammettoOne-Regular;
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/RammettoOne-Regular.ttf') format('truetype');
}

@keyframes fade_out
{
  0% {opacity:1;}
  100% {opacity:0;}
}

body
{
  overflow-x: hidden;
  overflow-y: hidden;
  touch-action: none;
  user-select:none;
  background-color:#000;
  position: fixed;
  overscroll-behavior-y:contain;
  overscroll-behavior-x:contain;
  width:100%;
}

html,body{
	-webkit-overflow-scrolling : touch !important;
	height: 100% !important;
}

input {
  appearance: none;
  -webkit-appearance: none;
  touch-action: manipulation;
  box-sizing: border-box;
}

/* for custom buttons - fake and in and out move */
.btn {
  -webkit-transition: all .1s ease-out; /* Safari and Chrome */
  -moz-transition: all .1s ease-out; /* Firefox */
  -ms-transition: all .1s ease-out; /* IE 9 */
  -o-transition: all .1s ease-out; /* Opera */
  transition: all .1s ease-out;
  touch-action: manipulation;
}

.btn:active{
  -webkit-transform:scale(.95); /* Safari and Chrome */
  -moz-transform:scale(.95); /* Firefox */
  -ms-transform:scale(.95); /* IE 9 */
  -o-transform:scale(.95); /* Opera */
   transform:scale(.95);
}

a, a:visited, a:hover, a:active {
  color: inherit;
  text-decoration:none;
  touch-action: manipulation;
}

#three_canvas
{
  z-index: 0;
  position: absolute;
  top:0;
  bottom:0;
  left:0;
  margin:auto;
  touch-action: none;
}
/* IMPORTANT: This disables all events, right click, click etc on images in our UI */
/* If we ever need to do that, we should catch the event with another div */ 
img {
  pointer-events: none;
}

/* Vignette classes */
.vig_masks
{
  position: absolute;
  top: 0;
  left: -50vh;
  right: -50vh;
  margin: auto;
  width: 100%;
  min-width: 80vh;
  height: 100%;
}

.vig_fade
{
  animation-name: fade_out;
  animation-duration: .9s;
  animation-fill-mode: both;
  animation-delay: 5.5s;
}

.vig_edge_l
{
  position: absolute;
  top: 0;
  left: 0;
  background-image: linear-gradient(90deg, black, transparent);
  height: 100%;
  width: 18vh;
}

.vig_edge_r
{
  position: absolute;
  top: 0;
  right: 0;
  background-image: linear-gradient(270deg, black, transparent);
  height: 100%;
  width: 18vh;
}

.vig_edge_t
{
  position: absolute;
  top: 0;
  left: 0;
  background-image: linear-gradient(180deg, black, transparent);
  height: 18vh;
  width: 100%;
}

.vig_edge_b
{
  position: absolute;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(0deg, black,transparent);
  height: 18vh;
  width: 100%;
}

/* Also prevent text select of everything in uihost */
.no_select
{
  -webkit-user-select: none;  /* Chrome all / Safari all */
  -moz-user-select: none;     /* Firefox all */
  -ms-user-select: none;      /* IE 10+ */
  user-select: none;          /* Likely future */  

  -webkit-user-drag: none;
  touch-action: manipulation;
}

#fps_tab
{
  position: fixed;
  width:150px;
  z-index: 5;
  background-color: #444444;
  color:#FFFFFF;
  min-height:40px;
  top:40px;
  left:200px;
  font-size:0.8em;
}

.ctr
{
  position: absolute;
  margin: auto;
  left:0;
  right: 0;
}

.ctrv
{
  position: absolute;
  margin: auto;
  top:0;
  bottom: 0;
}

.ctra
{
  position: absolute;
  margin: auto;
  left:0;
  right: 0;
  top:0;
  bottom: 0;
}

.tooltip
{
  padding: 0.5vh;
  font:1.5vh OpenSansRegular, sans-serif;
  color: black;
  background: whitesmoke;
  border-radius: 0.5vh;
  z-index: 5;
}

#uihost
{
  position: fixed;
  width : 384px;
  height: 640px;
  overflow: hidden;
  z-index: 1;
  top:0;
  bottom:0;
  margin:auto;
}

.testPanel
{
  position: fixed;
  z-index: 30;
  width: 30vh;
  top:0;
  right: 0;
  height: 100vh;
  transition: right .45s cubic-bezier(.19,1.46,1,1.17);
  background-color: #2C2C2C;
  font: 2.5vh SairaSemiCondBold, sans-serif;
  color: white;
}

.testPanelTitle
{
  font-size: 4vh;
  margin-top: 1vh;
  margin-bottom: 1vh;
}

.testPanelText
{
  margin-bottom: 0vh;
  margin-top: 2vh;
}

.testPanelDropDownText
{
  font-size: 2.6vh;
  margin-top: 0vh;
  margin-bottom: 0vh;
}

.testButton
{
  width:20vh;
  font: 2vh SairaSemiCondBold, sans-serif;
  margin-top : 1vh;
  margin-left: 1vh;
  margin-right: 1vh;
}

.testSpinValues
{
  width:90%;
  font: 2.5vh OpenSansRegular, sans-serif;
}

.testCheckbox
{
  width: 2.2vh;
  height: 2.2vh;
  background-color: white;
  -webkit-appearance: checkbox
}

.testDropdown
{
  font: 2vh SairaSemiCondBold, sans-serif;
  width: 5vh;
  height: 4vh;
  margin-bottom: 0.5vh;
  margin-left: 2.2vh;
  margin-right: 2.2vh;
}

.smallDropdown
{
  font: 2vh SairaSemiCondBold, sans-serif;
  width: 15vh;
  align : center;
  height: 3vh;
  margin-bottom: 0.1vh;
  margin-top: 0.1vh;
  margin-left: 2.2vh;
  margin-right: 2.2vh;
}

.slideRight
{
  right:-30vh;
}

.caption_label
{
  position: fixed;
  color : #FFFFFF;
  font-weight: bold;
}

#loadingUI
{
  display:none;
  position:absolute;
  top:0px;
  width: 100vw;
  height: 100vh;
  left: 0px;
  color:white;
  text-align:center;
  text-shadow: 2px 2px 3px black;
  background: url("images/bg-scene.webp");
  background-position: center;
  background-repeat: no-repeat;
  z-index: 10;
}

#loadingPlayBtn
{
  border-width: 0.4vh;
  border-style: outset;
  border-color: #ddd;
  background-color: #111111;
  width: 24vh;
  height: 9vh;
  border-radius: 2vh;
  text-align: center;
  font: 3.5vh SairaSemiCondBold, sans-serif;
  position: absolute;
  margin: auto;
  top: 68vh;
  left: 0;
  right: 0;
}

.loadingLogo
{
  max-height:35vh;
  top:0;
}

.loadingLegal
{
  max-height:38vh;
  bottom:-10.25vh;
}

#loadingFonts
{
  color: black;
  bottom: 0px;
  position: absolute;
}

#loadingPreFont1
{
  font: 0.5vh OpenSansCondBold, sans-serif;
}

#loadingPreFont2
{
  font: 0.5vh OpenSansRegular, sans-serif;
}

#loadingPreFont3
{
  font: 0.5vh SairaSemiCondBold, sans-serif;
}

#loadingPreFont4
{
  font: 0.5vh AzeretMonoBold, sans-serif;
}

#loadingPreFont5
{
  font: 0.5vh Asap-VariableFont_wdth, sans-serif;
}

#loadingPreFont6
{
  font: 0.5vh Playbold, sans-serif;
}
#loadingPreFont7
{
  font: 0.5vh RammettoOne-Regular, sans-serif;
}


#loadingProgressText
{
  position: absolute;
  left: 0;
  right: 0;
  top: 67vh;
  font: 4.2vh SairaSemiCondBold, sans-serif;
}

#loadingProgressBar
{
  background: #333;
  width: 27vh;
  height: 1.2vh;
  border-radius: 0.6vh;
  top: 73vh;
  left: 0;
  right: 0;
  position: absolute;
  margin: auto;
}

#loadingProgressFilled
{
  background: white;
  height: 100%;
  width: 20%;
  border-radius: inherit;
}

#hud_curtain
{
  width: 672px;
  height: 729px;
  background-color: black;
  z-index: 15;
  position: absolute;
  top:0;
  bottom: 0;
  margin: auto;
  color:white;
  text-align:center;
  text-shadow: 2px 2px 3px black;
  background: url("images/bg-scene.webp");
  background-position-x: center;
  background-repeat: no-repeat;
}

#curtainSpinner
{
  position:absolute;
  left:0;
  right:0;
  margin:auto;
}

#curtainSpinner
{
  height:7vh;
  top:60vh;
}

#curtainDeviceRotateImg
{
  height:100%;
  left:0;
  right:0;
  top:0;
  bottom:0;
  margin:auto;
  background: url("images/no_landscape_warning.png");
  background-size: contain;
  background-position-x: center;
}

#curtainImg_bg
{
  background: black;
  width: 100%;
  height: 100%;
  top: 0;
  position: fixed;
  z-index: 20;
}

/* DraftKings Roulette UI elements */
.textval_changing
{
  transform: scale(1.25);
}

.whiteGradient
{
  background: linear-gradient(to bottom, #FFFFFF 45%, #a69b95 50%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ui_msg
{
  pointer-events: none;
  z-index: 9;
  color: white;
  position: absolute;
  top: 45%;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  font: 4.5vh OpenSansExtraBold, sans-serif;
  -webkit-text-stroke: 0.07ex black;
  background-color: rgba(255,255,100,0.8);
  border-radius: 0.5ex;
  border-width: 0.14ex;
  border-color: rgba(255,255,190,0.8);
  border-style: outset;
  width: fit-content;
  height: 2.4ex;
  padding-left: 0.4ex;
  padding-right: 0.4ex;
}

#hud_msg
{
  top: 45%;
}

#hud_msg_bot
{
  top: 75%;
}



#hud_spin_counter
{
  pointer-events: none;
  z-index: 9;
  color: white;
  position: absolute;
  top: 75vh;
  width: 15vh;
  left: 27vh;
  right: 0;
  margin: auto;
  text-align: center;
  font: 6.5vh SairaSemiCondBold, sans-serif;
  text-shadow: 0px 3px 0 #222,
  0px 0 5px rgba(255,255,120,0.6),
  0px 0px 15px rgba(255,255,70,0.8),
  0px 0px 15px #000,
  0px 0px 15px #000;
}

#STR_BIGWIN
{
  font-size: 6vh;
  top: 40vh;
}

.hidden_msg
{
  animation: shrinkOut 0.6s;
}

@keyframes growIn
{
  from {
    transform: scale(0);
  }
  to {
    transform: scale(1);
  }
}

@keyframes shrinkOut
{
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0);
  }
}

.intro_parent
{
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 5;
}

#intro_save_toggle
{
  position: absolute;
  width: 100%;
  height: 100%;
  top:0;
  left:0;
  z-index: 6;
}

.intro_panel
{
  position: absolute;
  height:100vh;
  z-index: 4;
  padding: 0;
  top: 0;
  
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  color:white;
  font: 2.9vh OpenSansCondBold, sans-serif;
  background: url("images/intro.webp");
  background-color: black;
  background-position: center;
  background-repeat: repeat-x;
  max-width: 270vh;
  transition:0.65s;
}

#hud_curtain,
#loadingUI,
.intro_panel
{
  background-size: 179vh;
}

.intro_input
{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left : 0;
  right: 0;
  margin : auto;
}

.intro_shrink
{
  transform: scale(0.025);
  top: -93vh;
  left: 48vh;
}

#intro_play_btn
{
  border-width: 0.4vh;
  border-style: outset;
  border-color: lightgoldenrodyellow;
  background-image: linear-gradient(#666666, #111111, #000000);
  width: 24vh;
  height: 9vh;
  border-radius: 2vh;
  text-align: center;
  font: 3.5vh SairaSemiCondBold, sans-serif;
  position: relative;
  margin-top: 2vh;
  margin-bottom: 5vh;
  left: 11vh;
}

.intro_noshowagain
{
  position: absolute;
  bottom: 4.5vh;
  width: 24vh;
  height: 4vh;
  border-radius: 0.5vh;
  z-index: 5;
  left:0;
  right:0;
  margin: auto;
}

#hud_conf_panel
{
  position: absolute;
  width: 44vh;
  height: 25.3vh;
  z-index: 4;
  top: 24vh;
  left: 0;
  right: 0;
  margin: auto;
  background-color: #003;
  border: deepskyblue;
  border-width: 1vh;
  border-radius: 1vh;
  border-style: double;
  font: 2.2vh OpenSansCondBold, sans-serif;
}

.conf_btn
{
  position: absolute;
  top: 16.5vh;
  width: 16vh;
  height: 6vh;
  background-color: #111;
  border-radius: 0.5vh;
  border: aliceblue;
  border-style: inset;
  border-width: 0.3vh;
  font-size: 2.6vh;
  font-weight: 600;
  z-index: 5;
}

.conf_noshowagain
{
  position: absolute;
  top: 11.5vh;
  width: 24vh;
  height: 4vh;
  border-radius: 0.5vh;
  z-index: 5;
  left:12vh;
  font-size: 90%;
}

.conf_checkmark {
  position: absolute;
  background-color: #000;
  z-index: 5;
}

.conf_txt
{
  position: absolute;
  top: 2vh;
  left: 0;
  right: 0;
  margin: auto;
  width: 75%;
  font-size: 3vh;
  color: white;
}

#btn_INTRO_CHECK,
#btn_conf_CHECK
{
  top: 4vh;
  width: 2.2vh;
  height: 2.2vh;
  margin:0;
  z-index: 5;
  background-color: white;
  -webkit-appearance: checkbox
}

.checkbox_txt
{
  color:#ccc;
}

#btn_conf_OK
{
  left: 0;
  right: 0;
  margin: auto;
}

#btn_conf_CANCEL
{
  right: 4vh;
}

.sq_btn
{
  position: absolute;
  width: 6.4vh;
  height: 6.4vh;
  padding:0px;
  z-index: 2;
  border-radius: 1.5vh;
  border-width: 0.2vh;
  border-style: outset;
  border-color: #ddd;
  background-color: #111111;
}

.popup_title
{
  position: relative;
  font: 2.4vh OpenSansCondBold, sans-serif;
  top: 1vh;
  color: #ff9;
  text-align: center;
  height: 7vh;
  width:100%;
}

.btn_txt
{
  text-align: center;
}

.window
{
  z-index: 11;
  height: 100%;
  width: 100%;
  background-color: white;
  color: black;
  top: 0;
  position: absolute;
  left: 0;
  overflow-x: auto;
  overflow-y: auto;
  font: 2.2vh OpenSansRegular, sans-serif;
}

.window p, h1, h2, h3, h4, li
{
  width: 98%;
  padding-left:1%;
}

.window li
{
  padding-bottom: 1vh;
}

.window_title,  .panel_title, .title_area
{
  padding-top: 1.5vh;
  padding-bottom: 1.5vh;
  font: 3vh OpenSansCondBold, sans-serif;
  font-weight: 600;
}

.window_title, .panel_title
{
  width: 100%;
  text-align: center;
  color: white;
  background: black;
}

.panel_title
{
  position: absolute;
}

.window_title
{
  position:fixed;
}

.window_header
{
  font: 2.8vh OpenSansCondBold, sans-serif;
}

.window_subheader
{
  font: 2.8vh OpenSansRegular, sans-serif;
}

.table_header
{
  background-color: #303030;
  color: white;
}

.table_row
{
  background-color: #ededed;
}

.table_width
{
  max-width: 50vh;
}

.x_button
{
  position: absolute;
  top: 0;
  right: 1vh;
  width: 5vh;
  height: 5vh;
  margin: 0.5vh;
  border-radius: 1vh;
  border-width: 0.2vh;
  border-style: outset;
  border-color: #ddd;
  background-color: #111111;
}

.x_icon
{
  position: absolute;
  margin: 0.3vh;
  top:0;
  left:0;
  width: 4vh;
  height: 4vh;
  background-size: 58vh;
  font-family: 'SairaSemiCondBold';
  font-size: 4vh;
  line-height: 4vh;
  color:cyan;
}

.blocker
{
  z-index: 10;
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0, 0, 0, 0.67);
}

.big_win_title
{
  top: 19vh;
  right: 35.5vh;
  font-size: 10vh;
}

#errorPage
{
  position:absolute;
  width:100%;
  height:100%;
  left:0;
  top:0;
  padding-top: 10vh;
  font: 3vh SairaSemiCondBold, sans-serif;
  background-color: #444;
  z-index:20;
}

#errorMessage
{
  font-size:2.5vh;
  width:80%;
  margin-top: 3vh;
  padding: 2vh;
  display: block;
  background: #eff;
  border-radius: 1vh;
  margin: auto;
  max-height: 30vh;
  overflow: hidden;
  position: relative;
  top: 2vh;
  text-align: center;
}

#errorIcon
{
  top:10vh;
  height: 20vh;
  width: 20vh;
  margin: auto;
  background: url("images/BT_small.webp");
  background-size: cover;
}

#errorButton
{
  width : 70%;
  padding:3vh;
  font-size: 4vh;
  white-space: nowrap;
  color:white;
  border-radius: 2vh;
  text-align: center;
  position: relative;
  overflow: hidden;
  border-width: 0.4vh;
  border-style: outset;
  border-color: #ddd;
  background-color: #111111;
  margin: auto;
  top:10vh;
}

/* Start of state overrides */
/* Add default values above*/
button
{
  color:white;
}

button:focus
{
  /* future highlight of focus element if desired */
  /* box-shadow: inset 0 0 100px 100px rgba(255, 255, 255, 0.1); */
  outline:none;
}

button:disabled
{
  box-shadow: inset 0 0 100px 100px rgba(0, 0, 0, 0.3);
  color:gray;
}


/* rules for landscape */
@media
only screen and (min-aspect-ratio: 5/3)
{
  .loadingLogo
  {
    max-height:43vh;
    top:-5vh;
  }
  
  .loadingLegal
  {
    max-height:55vh;
    bottom:-14vh;
  }

  .vig_edge_l,
  .vig_edge_r
  {
    width: 58vh;
  }

}

