:root {
--color-primary: #00f9fe;
--color-secondary: #00f9fe;
--bg-nav:  #0f1317;
--color-nav: #fff;
--bg-body: #3f68df;
--color-body: #fff; 
--bg-body-login: #3f68df;
--bg-footer: #292d32;
--color-footer: #fff;
--color-footer-hover: #fff;
}


/* 
////
//// Easing general purpose
////
--------------------------------------------------------------*/
.easeOut { -webkit-transition-property: all; -webkit-transition-duration: 350ms; -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1); -moz-transition-property: all; -moz-transition-duration: 350ms; -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1); transition-property: all; transition-duration: 350ms; transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1); }
/* 
////
//// Default Font
////
--------------------------------------------------------------*/
html, body { height: 100%; min-height: 100%; }
body { font-family: "Jost", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; font-weight: 400; }
strong { font-weight: 600; }
.genC1 { color: var(--color-primary)!important; }
.genC2 { color: var(--color-secondary)!important; }
.genPad1 { padding-top: 7.6rem; padding-bottom: 7.6rem;}
#fullWrp { margin: 0 auto; min-height: 100%; background: var(--bg-body); position: relative; overflow: hidden;  }
.genTitle01 { font-size: 16px; line-height: 1.2em;  font-weight: 600; color: var(--color-primary); letter-spacing: 0.025em; padding-bottom: 1em;  }
svg path,svg shape,svg linearGradient { shape-rendering: geometricPrecision; }
/* logo 
-----------------------------*/
#mainLogo { float: left; }
#mainLogo a { display: block; background: url(../images/main_logo_2x.png) no-repeat left center; background-size: contain!important; width: 144.5px; height: 60px; white-space: nowrap; text-indent: -8000px; margin-left: 0px; }
.num { font-family: "Jost", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; font-weight:  700!important;  }
.FntFuCd { font-family: "Jost", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; font-weight:  400!important;  }
.FntFuCdBd { font-family: "Jost", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; font-weight: 400!important;  }
@media all and (max-width: 1024px) {
#mainLogo a { width: 144.5px; }
}
@media all and (max-width: 480px) {
#mainLogo a { max-width: 24.9rem; height: 6.8rem;}
.nav-hamburger + #mainLogo {  margin-left: 39px!important;   }
}
/* Main Header
--------------------------------------------------------------*/

#mainHdr { z-index: 12; background: var(--bg-nav); font-family: "Jost", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans;  }
.introHeader {position: absolute; left: 0; top: 0;  width: 100%; background: none!important; }
#mainHdr  .ctr { padding: 0 20px; margin: 0 auto; position: relative; display: flex; justify-content: space-between; align-items: center;   }
#mainHdr { padding: 15px  0;  }
#mainHdr .hdrTxt { text-align: center; color: #ffffff;  line-height: 59px; text-transform: none; font-size: 22px; position: absolute;  left: 0;  top: 5px; width: 100%; font-weight: 400; }
.nav-hamburger  { display: none!important; }	
#mainLogo { margin: 0; display: block; float: left; position: relative;  z-index:  10; ;  }
#mainLoginNav { display: block; margin: 0 ; float: right;  margin-right: 0; margin-left: 0;  }
#mainLoginNav .site-nav { display: flex; justify-items: flex-start; padding: 18px 0 18px 0;   }
#mainLoginNav .site-nav li { display: inline; white-space: nowrap;  font-size: 18px;  line-height: 44px; padding: 0px 26px 0 16px; font-weight: 700;  letter-spacing: 0;  }
#mainLoginNav .site-nav li:last-child { padding-right: 0; }
#mainLoginNav .site-nav li a { color: #fff; position:relative; display:-moz-inline-stack; display:inline-block; zoom:1; *display:inline;  letter-spacing: 0; text-transform: capitalize;  }
#mainLoginNav .site-nav li .btn { margin-right: 0; }

@media all and (min-width: 1240px) {
#mainHdr  .ctr { padding: 0 3rem; }
}
@media all and (max-width: 1024px) {
#mainHdr { padding: 8px 0;  }
#mainLoginNav .site-nav {  padding: 10px 0 10px 0;   }
}
@media all and (max-width: 999px) {
#mainHdr .hdrTxt {  font-size: 18px; position: static; max-width: 40em; margin: 0 auto; padding-left: 16px;   }
}
@media (max-width: 852px) {
#mainHdr .hdrTxt { display: none; }
}
@media (max-width: 572px) {
#mainLoginNav .site-nav { padding-top: 13px; }
#mainLoginNav .site-nav li { font-size: 14px; padding: 0px 18px  0 0; line-height: 31px; }
}

/* Main Header Desktop
--------------------------------------------------------------*/
@media all and (min-width: 1300px) {
#mainNav { display: block;  float: none; margin: 0 auto; max-width: 900px; text-align: center;   }
#mainNav .site-nav { display: flex; justify-content: space-around; margin: auto; max-width: 900px; height: 68px; font-weight: 600; align-items: center;   font-family: "Jost", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; text-transform: uppercase; letter-spacing: 0.05em;  }
#mainNav .site-nav a { font-size: 15px; color: var(--color-nav); position: relative; margin: 0 8px;   }
#mainNav .site-nav li:first-child a { margin-left: 0; }
#mainNav .site-nav li:last-child a { margin-right: 0; }
#mainNav .site-nav a.cur { color: var(--color-primary); cursor: default; }
#mainNav .site-nav a:before { content: ' '; left: 50%; width: 0; position:absolute; bottom: -2px; height: 1px; background: var(--color-nav); display: block;  -webkit-transition-property: all; -webkit-transition-duration: 350ms; -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1); -moz-transition-property: all; -moz-transition-duration: 350ms; -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1); transition-property: all; transition-duration: 350ms; transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);  }
.desktop #mainNav .site-nav li  a:hover:before { left: 0; width: 100%; bottom: -2px; }
#mainNav .site-nav a.cur:before { display: none; }
#mainNav .site-nav .hasDrop:after { display: block; content: ' '; display: block; position: absolute; left: -3em; top: 1.2em; right: -3em; height: 51px;  }
#mainNav .site-nav .hasDrop:hover:after { display: block;  }
#mainNav .site-nav .drop { position: absolute;  left: 0; top: 90px; left: -6rem; right: -6rem; background: #1e1e1e; box-shadow: inset 0 10px 10px -10px rgba(0,0,0,0.20); max-height: 0; overflow: hidden;  will-change: max-height; -webkit-transition-property: all; -webkit-transition-duration: 350ms; -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1); -moz-transition-property: all; -moz-transition-duration: 350ms; -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1); transition-property: all; transition-duration: 350ms; transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);  }
.scrolling #mainNav .site-nav .drop { top: 76px; }
#mainNav .site-nav li:hover .drop { max-height:110px; }
#mainNav .site-nav .drop .dropCtr {  padding: 2rem;    }
#mainNav .site-nav .drop  ul { display: flex;  justify-content: space-around;  margin: auto; max-width: 240px; align-items: center; height: 68px; }
}
@media all and (min-width: 1499px) {
#mainNav .site-nav a { font-size: 17px; margin: 0 10px;   }
}
/* Main Header Mobile
--------------------------------------------------------------*/
@media all and (max-width: 1299px) {
#mainHdr .ctr  { margin: 0 2rem; }
#mainHdr +  #browseCont { padding-top: 68px;  }
/*burger icon + animation*/
.nav-hamburger { background: transparent none repeat scroll 0 0; border: 0 none; cursor: pointer; display: block!important; height: 35px; margin-bottom: auto; margin-top: auto; outline: medium none; padding: 0; position: relative; transition: all 0.3s ease-in-out 0s; width: 30px; }
.nav-hamburger + #mainLogo {  margin-left: 58px; }
.nav-hamburger::before, .nav-hamburger::after, .nav-hamburger span { background-color: var(--color-nav); transition: all 0.3s ease-in-out 0s; }
.nav-hamburger::before, .nav-hamburger::after, .nav-hamburger span { background-color: var(--color-nav); }
.nav-hamburger::before, .nav-hamburger::after { content: ""; height: 2px; left: 0; position: absolute; top: 50%; transform-origin: 50% 50% 0; width: 100%; }
.nav-hamburger span { height: 2px; left: 0; overflow: hidden; position: absolute; text-indent: 200%; top: 50%; width: 100%; cursor: pointer; }
.nav-hamburger::before { transform: translate3d(0px, -10px, 0px); }
.nav-hamburger::after { transform: translate3d(0px,  10px, 0px); }
.menuOpen .nav-hamburger span { background-color: var(--color-nav); opacity: 0; }
.menuOpen .nav-hamburger::before { background-color: var(--color-nav); transform: rotate3d(0, 0, 1, 45deg); }
.menuOpen .nav-hamburger::after { background-color: var(--color-nav); transform: rotate3d(0, 0, 1, -45deg); }
.nav-hamburger { position: absolute; left: 20px; top: 21px; z-index: 1001; cursor: pointer;  }
#mainLogo a { width: 144.5px;  height: 68px; top: 0; max-width: calc(100vw - 225px); } 
#mainNav .site-nav  { display: block; top: 0; bottom: -100vh ; left: 0; right: 0; overflow-y: auto; position: absolute; padding: 0;  box-shadow: 0 -30px 0 0 var(--bg-nav);   font-family: "Jost", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans;  }
#mainNav .site-nav  ul, #site-menu .site-nav   li { margin: 0; padding: 0; }
#mainNav .site-nav  li { padding: 0; display: block; text-align: left;   }
#mainNav .site-nav  li:first-child { margin-top: 68px; }
#mainNav .site-nav  li a {  background: var(--bg-nav); display: block; padding: 19px 20px 19px 20px; color: var(--color-nav); font-size: 16px; line-height: 16px; -webkit-transition:0ms ease-out all; transition: 0ms ease-out all; text-align: center;  border-bottom: solid 1px rgba(255,255,255,0.07); text-align:left;  font-weight: 400;  letter-spacing: 0.145em; text-transform: uppercase;  }
#mainNav .site-nav  li:first-child  a  { border-top: solid 1px rgba(255,255,255,0.07); }
#mainNav .site-nav  li a.cur, #mainNav .site-nav  li a.cur:active   { outline: none; color: var(--color-nav);  background: rgba(255,255,255,0.05); }
#mainNav .site-nav  li a:active  { background: rgba(255,255,255,0.1); }
#mainNav .site-nav li a.btn { font-size: 13px; line-height: 1.1em;  padding: 7px 18px;  margin: 19px  20px;  border: 0; height: auto; text-align:  center;     font-family: "Archivo Narrow", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; letter-spacing:  0;    }
#mainNav .site-nav li a.upgradeGold  { color: #000; font-weight: 600;  }
#mainNav .site-nav li a.upgradeGold:after { background: #e7c558!important; }

/* open menu 
-----------------------------*/
#mainNav { background:var(--bg-nav); color: #000; display: block!important; max-width: 280px; top: 0;  box-shadow: -1000vh 900vh  0 1000vh var(--bg-nav), -1000vh  900vh 20px 1000vh  rgba(0,0,0, 0.4); position: absolute; left: 0; width: 100%;  -webkit-transition: 300ms ease-out all; transition: 300ms ease-out all; z-index: 900;    -webkit-transform: translateX(-500px); transform: translateX(-500px); transform: translate3d(-500px, 0, 0);  -webkit-transform: translate3d(-500px, 0, 0); pointer-events: none; -webkit-perspective: 1000; -webkit-backface-visibility: hidden; -webkit-transform-style: preserve-3d;   will-change: transform; }
.menuOpen #mainNav  { -webkit-transform: translateX(0); transform: translateX(0); transform: translate3d(-2rem, 0, 0);  -webkit-transform: translate3d(-2rem, 0, 0); pointer-events: auto;  }
/* second stage
-----------------------------*/
#mainNav .site-nav li a.hasDrop  {position: relative; }
#mainNav .site-nav li a.hasDrop:before { content: ' '; display: block; position: absolute; right: 20px; top: 50%; width: 1.2em; height: 1.2em; background: url('../images/caret-right.svg') no-repeat center center; background-size: contain; margin-top: -0.6em; transform: rotate(90deg);    }
#mainNav .site-nav li.dropOpen a.hasDrop { color: #ffba00; background: rgba(255,255,255,0.05); }
#mainNav .site-nav li.dropOpen a.hasDrop:before { transform: rotate(-90deg); }
#mainNav .site-nav li .drop { display: none; will-change: height; }
#mainNav .site-nav li .drop a {  padding-left: 40px; border-top: 0; }
#mainNav .site-nav li .drop li:first-child { margin-top: 0; }
}
@media all and (max-width: 1024px) {
#mainHdr .ctr {  padding: 0 0; }
.nav-hamburger { top: 16px;  left: 0; }
}

/* 
////
//// Mainpage
////
--------------------------------------------------------------*/
/* Main Intro
--------------------------------------------------------------*/
#mainIntro { display: flex; justify-content: center; align-items: center; background: #1e0000 url("../images/main_intro_bg_xl.jpg") no-repeat center center; background-size: cover;  height: 35.55vw ; min-height: 740px; color: #fff; text-align: center;   position: relative;     }
#mainIntro .FrmCtr { z-index: 2; padding-top: 6rem; padding-bottom: 0; position: relative; z-index: 2; max-width: 1343px; }
#mainIntro  .mainLogo { dispaly: block; margin: 0 auto; background: url("../images/main_logo_2x.png") no-repeat center center; background-size: contain; width: 205px; text-indent: -8000px; padding: 0;   }
#mainIntro  .mainLogo:after { content: ' '; display: block; padding-top: 98.27%; }
#mainIntro  .ln1 {  font-size: 108px; line-height: 1em; padding: 0em 0 0em 0; display: block; font-weight: 900; max-width: 10em; }
#mainIntro  .ln2 {  font-size: 48px;  line-height: 0.9em; padding:0.85em  0 ;  text-shadow: 0 1px 0 #000; display: block; max-width: 37em; }
#mainIntro  .ln2 .un { position: relative; display: inline-block;  }
#mainIntro  .ln2 .un:after { content: ' '; border-top: solid 2px #fff; position: absolute; bottom: -0.1em; width: 100%; left: 0;  }
#mainIntro  .ln3 { font-size:  20px; line-height: 1.95em; padding:  0.8em 0 0.8em 0; font-weight: 500; display: block; max-width: 34em; text-transform: none; }
#mainIntro .btnWrp { padding:  16px 0;}
#mainIntro .info { font-size: 14px; line-height: 1.2em;  position: relative; display: inline-block;  color: #000;  text-shadow: 0 1px 0 #000;  }
#mainIntro .info:after { content: ' '; display: inline-block;  bottom: -2px; left: 0; right: 0; height: 2px; background: rgba(255,255,255,0.4); position: absolute; -webkit-transition-property: all; -webkit-transition-duration: 350ms; -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1); -moz-transition-property: all; -moz-transition-duration: 350ms; -moz-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1); transition-property: all; transition-duration: 350ms; transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);   }
#mainIntro .info:hover:after { background: rgba(255,255,255,0.9); }
@media all and (max-width: 1384px) {
#mainIntro {  min-height: auto; height: auto;  padding-top: 70px; padding-bottom: 0px; }
#mainIntro .FrmCtr {  padding-top: 12.4rem; padding-bottom: 12.4rem; }
#mainIntro  .mainLogo { width: 19.59vw;}
#mainIntro  .ln1 {  font-size: 73px; } 
#mainIntro  .ln2 {  font-size: 4.15vw; }
#mainIntro  .ln3 {  font-size: 19px;  line-height: 1.65em; max-width: 35em;  }
}
@media all and (max-width: 767px) {
#mainIntro  .ln1 { font-size: 50px; } 
#mainIntro .ln3 { font-size: 19px; max-width: 21em; }
}
@media all and (max-width: 572px) {
#mainIntro { min-height: 87vw; padding-top: 7.6rem; }
#mainIntro .FrmCtr {  padding-top: 8.4rem; padding-bottom: 8.4rem; }
#mainIntro  .mainLogo { width: 26.59vw; /*1.13*/}
#mainIntro  .ln1 {  font-size: 9vw;} 
#mainIntro  .ln2 {  font-size: 4.78vw;   }
#mainIntro  .ln3 {  font-size: 3.25vw; padding-bottom: 0.6em; max-width: 21em; }
}

/* Main Footer
--------------------------------------------------------------*/
#mainFtr  { background: var(--bg-footer); color: var(--color-footer); position: relative; z-index: 2; box-shadow: 0 4000px 0 4000px var(--bg-footer); font-weight: 400; text-transform: uppercase; }
#ftrNav { display: block; font-size: 13px; margin-bottom: 3.8rem; }
#ftrNav li { display: inline;  } 
#ftrNav li a { color: var(--color-footer); margin: 0 0.72em; }
#ftrNav li a:hover { color: var(--color-footer-hover); text-decoration: underline;   }
#mainFtr .logo { width: 265px; margin-bottom: 3.4rem;   }
#mainFtr .copy { font-size: 13px; line-height: 1.75em; padding-bottom: 0; }
@media all and (max-width: 869px) {
#ftrNav { margin:0 auto 1.4em auto; max-width: 35em; }
#ftrNav li a { margin: 0 0.5em; } 
#ftrNav li span { display: none; }
#mainFtr .logo { width: 164px; }
}
@media all and (max-width: 572px) {
#ftrNav { font-size: 1.5rem; }
#ftrNav li { line-height: 1.4em; }
#mainFtr .copy { font-size: 1.5rem; }
}
/* 
////
//// Login
////
--------------------------------------------------------------*/
#loginCont  { background: var(--bg-body-login); display: flex; justify-content: center; align-items: center; padding: 6rem 0; min-height: calc(100vh - 448px); }
#loginCont  .loginForm { background: #0e0e0c; padding: 16px; color: #fff;max-width: 356px; margin: 0 auto;  box-shadow: 0px 0px 10px rgba(0,0,0,0.3);  -moz-box-shadow:  0px 0px 10px rgba(0,0,0,0.3);   -webkit-box-shadow:0px 0px 10px rgba(0,0,0,0.3); -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }
#loginCont  .title { font-size: 20px; text-align: center; padding:4px 0 20px 0;  font-weight: bold;  }
#loginCont p { position: relative; }
#loginCont p label { font-size: 16px; line-height: 1.5em; }
#loginCont p input { background: none #fbfbfb!important; color: #000!important; font-size: 16px!important;  height: 2.54em!important; }
#loginCont .msg { padding-left: 0; font-size: 14px; line-height: 1.2em; width: 100%; display: block; padding: 0 0 10px 0; text-align: center;  letter-spacing: -0.02em; ;}
#loginCont .keep label { padding-left: 0; font-size: 13px; text-align: left; line-height: 1.2em; width: auto; display: block; padding: 0.5em 0; }
#loginCont .keep label input { float: left; width: 1em!important; height: 1em!important; display: block; margin-right: 0.4em; vertical-align: top; position: relative; top: -0.1em;  }
#loginCont p label.error, #loginCont p small.error  { float: left; font-size: 11px; padding: 2px 0 0 0;  color: #edff00;  }
#loginCont .creat { padding-left: 0; font-size: 14px; line-height: 1.2em; width: 100%; display: block; padding: 0.5em 0; text-align: center;  }
#loginCont .creat a { color: rgba(255,255,255,0.75) }
#loginCont .creat a:hover { color: #fff; }
#loginCont p.tos { text-align: center; font-size: 11px; line-height: 1.2em; width: 100%; display: block; padding: 0; color: rgba(255,255,255,0.75) }
@media all and (max-width: 1024px) {
#loginCont { min-height: calc(100vh - 368px); }
}
@media all and (max-width: 1024px) {
#loginCont { min-height: calc(100vh - 368px); }
}
@media (max-width: 479px) {
#loginCont { min-height: calc(100vh - 48.8rem); }
#loginCont  .title { font-size: 18px; text-align: center; padding:3px 0 19px 0;   }
}

/* 
////
//// Privacy & tos
////
--------------------------------------------------------------*/
#innerCont  { background: var(--bg-body-login); color: var(--color-body); display: flex; justify-content: center; align-items: center; padding: 6rem 0; min-height: calc(100vh - 448px); }
@media all and (max-width: 1024px) {
#innerCont { min-height: calc(100vh - 368px); }
}
@media all and (max-width: 1024px) {
#innerCont { min-height: calc(100vh - 368px); }
}
@media (max-width: 479px) {
#innerCont { min-height: calc(100vh - 48.8rem); }
}
/* Tos Phone Header
--------------------------------------------------------------*/
.tosHdr #mainLogo { /*flex-grow: 1;*/ }
.tosHdr #mainLogo a {  /*max-width: 24.6rem;*/ }
#mainLoginNav .tosNav li { font-size: 12px!important; line-height: 30px;  font-family:"Jost", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; font-weight: 700;  }
#mainLoginNav .tosNav li svg { width: 1.6em; height:  30px; vertical-align:  top; }
@media all and (max-width: 1200px) {
#mainLoginNav .tosNav  { flex-direction: column; text-align: right;  padding-left: 15px;  }
#mainLoginNav .tosNav li { font-size: 11px!important; padding: 0; line-height: 20px;  letter-spacing: -0.025em; }
#mainLoginNav .tosNav li svg  { height: 20px; }
}
@media (max-width: 479px) {
#mainLoginNav .tosNav li { font-size: 9px!important; line-height: 16px; }
#mainLoginNav .tosNav li svg  { height: 16px; }
}
@media (max-width: 394px) {
#mainLoginNav .tosNav li { font-size:  2.3vw!important; line-height: 1.77em;  }
#mainLoginNav .tosNav li svg { height: 1.77em; }
}

    
    

