:root {
--color-primary: #17e783;
--color-secondary: #17e783;
--bg-nav:  #000;
--color-nav: #fff;
--bg-body: #000;
--color-body: #ffff;
--bg-body-login: #313131;
--bg-footer: #1b1b1b;
--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:  "neue-haas-unica", "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;  }
svg path,svg shape,svg linearGradient { shape-rendering: geometricPrecision; }
.FntTTB { font-family: "neue-haas-unica", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; font-weight: 700;  }
.FntAnt { font-family: "Antonio", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans!important; }

.genTitle1 { font-family: "neue-haas-unica", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; font-weight: 700; font-size: 150px; -webkit-text-stroke: 2px #fff; text-stroke: 2px #fff; color: rgba(0,0,0,0.0); text-transform: uppercase; letter-spacing:  -0.01em; }
.genTitle2 { font-family: "neue-haas-unica", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; font-weight: 700; font-size: 48px; text-shadow: 0 0 0.35em rgba(0,0,0,0.4); padding: 0.3em 0; }
.genTxt1 { font-size: 24px; line-height: 1.5em; }
@media all and (max-width: 1184px) {
.genTitle1 { font-size: 102px; }
.genTitle2 { font-size: 34.5px; }
.genTxt1 { font-size: 17.5px; }
}
@media all and (max-width: 767px) {
.genTitle1 { font-size: 12.29vw; }
.genTitle2 { font-size: 4.5vw; }
.genTxt1 { font-size: 3.2vw; }
}
/* logo 
-----------------------------*/
#mainLogo { float: left; }
#mainLogo a { display: block; background: url(../images/main_logo_2x.png) no-repeat left center; background-size: contain!important; width: 77px; height: 62px; white-space: nowrap; text-indent: -8000px; margin-left: 0; }
@media all and (max-width: 1024px) {
#mainLogo a  {  background-size: contain; }
}
@media all and (max-width: 480px) {
#mainLogo a { max-width: 25.1rem; height: 45px;}
}
/* Main Header
--------------------------------------------------------------*/

#mainHdr { z-index: 12; background: var(--bg-nav); }
.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;  }
.nav-hamburger  { display: none!important; }	
#mainLogo { margin: 0; display: block; float: left; position: relative;  z-index:  10;  }
#mainNav { display: block; margin: 0 ; float: right;  margin-right: 0; margin-left: auto;  }
#mainNav .site-nav { display: flex; justify-items: flex-start; padding: 18px 0 18px 0;   }
#mainNav .site-nav li { display: inline; white-space: nowrap; font-size: 13px; line-height: 47px; padding: 0px 22px; font-weight: 400; letter-spacing: 0; letter-spacing: 0.01em;  }
#mainNav .site-nav li:last-child { padding: 0; }
#mainNav .site-nav li a { color: #a8afbd; position:relative; display:-moz-inline-stack; display:inline-block; zoom:1; *display:inline;  text-transform: uppercase; font-family: "neue-haas-unica", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; font-weight: 700;  font-size: 1em!important; }

@media all and (min-width: 1240px) {
#mainHdr  .ctr { padding: 0 3rem; }
}
@media all and (max-width: 1024px) {
#mainHdr { padding: 8px 0;  }
#mainNav .site-nav {  padding: 10px 0 10px 0;   }
}
@media (max-width: 572px) {
#mainNav .site-nav li { font-size:11px; padding: 0px 12px 0 0; }
}
/* 
////
//// Mainpage
////
--------------------------------------------------------------*/
/* Main Intro
--------------------------------------------------------------*/
#mainCont { overflow-x: hidden; }
#mainIntro { display: flex; justify-content: center; align-items: center; background: #000 url("../images/main_intro_bg_xl.jpg") no-repeat center center; background-size: cover;  height: 41.11vw ; min-height: 740px; color: #fff; text-align: center;   position: relative;     }
#mainCont .mainIntroAltBg { background-image: url("../images/main_intro_bg_alt_xl.jpg"); }
#mainCont .mainIntroAltBg:before { content: ' '; display: block;  position: absolute; left: 0; top: 0; width: 100%; height: 100%;  background: rgba(0,0,0,0.4); }
/*#mainIntro:before { content: ' '; display: block; left: 0; top: 0; position: absolute; right: 0; bottom: 0;  background: rgba(0,0,0,0.7); box-shadow: inset 0 0 15vw 0 rgba(0,0,0,0.9); }*/
#mainIntro .FrmCtr2 { z-index: 2; padding-top: 6rem; padding-bottom: 6rem; position: relative; z-index: 2; }
#mainIntro  .ln1 {  font-size: 96px;  line-height: 1.2em; padding: 0;  text-shadow: 0 1px 0 #000; display: block; max-width: 11em; text-transform: uppercase; letter-spacing: -0.01em; }
#mainIntro  .ln2 {  font-size: 24px; line-height: 1.6em; padding: 1em 0 ;  text-shadow: 0 1px 0 #000; font-weight: 500; display: block; max-width: 28em; letter-spacing: -0.01em;  }
#mainIntro .btnWrp { padding:  16px 0;}
#mainIntro .info { font-size: 14px; line-height: 1.2em;  position: relative; display: inline-block;  color: #fff;  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: 1184px) {
#mainIntro {  min-height: auto; height: auto;  padding-top: 0px; padding-bottom: 0px; }
#mainIntro .FrmCtr2 {  padding-top: 8.4rem; padding-bottom: 8.4rem; }
#mainIntro  .ln1 { font-size: 69px; }
#mainIntro  .ln2 { font-size: 22px; }
}
@media all and (max-width: 767px) {
#mainIntro  .ln1 { font-size: 8.9vw; }
#mainIntro  .ln2 { font-size: 3vw; }
}
@media all and (max-width: 572px) {
#mainIntro {  min-height: 80vw;  }
}


/* Main Movies
--------------------------------------------------------------*/
#mainMovies2 { font-family: "neue-haas-unica", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; background:#111111 url("../images/main_movies_bg_alt.jpg") no-repeat center top; background-size: 100% auto;  color: #fff; text-align: center; position: relative; padding: 13rem 0 9rem 0; }
#mainMovies2 .popcorn { content: ' ';  width: 412px; top: 0;  left: 50%; position: absolute; }
#mainMovies2 .popcorn:after { content: ' '; padding-top: 51.94%; margin-top: -25.97%; left: -50%; position: absolute; background: url("../images/main_movies_popcorn.png") no-repeat center center; background-size: contain;  display: block; width: 100%;  }
#mainMovies2 p { padding-bottom: 0; }
.featured { display: flex; justify-content: space-between; flex-wrap: wrap; margin-bottom: -20px; }
.featured .itm { width: calc(50% - 10px); margin-bottom: 20px; position: relative; }
.featured .itm:after { content: ' '; display: block; padding-top: 73.60%; }
.featured .itm .tmb { background-size: cover!important; background-position: center center; position: absolute; left: 0; top: 0; right: 0; bottom: 0;  }
.featured .itm .tmb:after { content: ' '; display: block; position: absolute; left: 0; top: 0; right: 0; bottom: 0;  background: rgba(0,0,0, 0.05); -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);  box-shadow: inset 0 -134px 72px -72px rgba(0,0,0,0.95) ;  }
/*.featured .itm:hover .tmb:after { background: rgba(0,0,0, 0);}*/
.featured .title { position: absolute; left: 0; bottom: 0; right: 0;  z-index: 10; display: flex; justify-content: center; align-items: center; line-height: 1.1em; font-weight: 600; font-size: 24px; height: 3em;  text-shadow: 0 1px 0 #000;  padding: 20px; }
.featured .itm a { position: absolute; display: block;  left: 0; top: 0; bottom: 0; right: 0; z-index: 10;  cursor: pointer; }
#mainMovies2 .btm { padding: 3.8em 0; }
.wordCloud { max-width: 1405px; margin: 0 auto; }
@media all and (max-width: 1184px) {
#mainMovies2 .popcorn { width: 290px; }
}
@media all and (max-width: 960px) {
.featured {  margin-bottom: -10px; }
.featured .itm { width: calc(50% - 5px); margin-bottom: 10px; }
}

@media all and (max-width: 572px) {
#mainMovies2 { padding-top: 9rem; padding-bottom: 4.5rem;}
#mainMovies2 .popcorn { width: 50.69vw; }
.featured {  margin-bottom: -5px; }
.featured .itm { width: calc(50% - 2.5px); margin-bottom: 5px; }
.featured .title { font-size: 2.8vw;  padding: 0.5rem 1.5rem ; }
#mainMovies2 .genTxt1 p.limitless { max-width:  23em!important; }
#mainMovies2 .genTxt1 p { max-width:  28em!important; margin: 0 auto; }
#mainMovies2 .btm { padding: 2.6rem 0; }
}
/* Main Movie Boxes
--------------------------------------------------------------*/
#mainMovieBoxes2 { background: #0b0c10 url("../images/main_movies.jpg") repeat-x center center; background-size: auto 100%!important;  margin-bottom: -1px;   }
#mainMovieBoxes2:after { content: ' '; display: block; padding-top: 38.125%; }
@media all and (min-width: 1920px) {
#mainMovieBoxes2:after {  padding-top: 732px;  }
}
@media all and (max-width: 960px) {
#mainMovieBoxes2:after { padding-top:  61.07%; }
}
@media all and (max-width: 720px) {
#mainMovieBoxes2:after { padding-top: 76.25%; }
}

/* Main Movies Top
--------------------------------------------------------------*/
.twoColRow { display: flex; align-items: stretch; }
.twoColRow .col { width: 50%; background: linear-gradient(318.68deg, #0f495c, #0d3640 49.72%, #08141f)  no-repeat center center; background-size: cover; font-size: 10px; padding: 10em; color: #fff; }
.twoColRow .col .title { font-size: 7em; line-height: 1.1em; padding-bottom: 0.2em; display: block; font-weight: 700; letter-spacing: -0.05em; position: relative; z-index: 5; }
.twoColRow .col p { font-size: 2.6em; line-height: 1.7em; letter-spacing: -0.01em; font-weight: 500; max-width: 23em; padding: 0;  position: relative; z-index: 5; }

#mainMovies .tmb { background-image: url("../images/main_movies_col_bg_xl.jpg"); } 
#mainGames .tmb { background-image: url("../images/main_games_col_bg_xl.jpg"); } 
@media all and (max-width: 1600px) {
.twoColRow .col { font-size: 0.6vw;  }   
}
@media all and (max-width: 572px) {
.twoColRow .tmb { display: none;  } 
.twoColRow .col { width: 100%; color:  #fff; font-size: 1.1vw; position: relative; text-align: center;  }
.twoColRow .col:after { content: ' '; display: block; top: 0; left: 0; width: 100%; height: 100%;  position: absolute; background: rgba(0,0,0,0.4); z-index: 1; }
#mainMovies .col { background-image: url("../images/main_movies_col_bg_xl.jpg"); } 
#mainGames .col { background-image: url("../images/main_games_col_bg_xl.jpg"); } 
}
/* Main Movies Bottom
--------------------------------------------------------------*/
#mainMovieBoxes { background:  url("../images/main_movie_bx_bg.jpg") no-repeat center center; background-size: cover; padding-top: 25%; }
/* Main Games Bottom
--------------------------------------------------------------*/
#mainGameBoxes { background:  url("../images/main_game_bx_bg_xl.jpg") no-repeat left center; background-size: cover; padding-top: 24rem; }
@media all and (max-width: 1224px) {
#mainGameBoxes {padding-top: 17.14%; }
}
@media all and (max-width: 572px) {
#mainGameBoxes {padding-top: 20.07%; }
}
/* Main Vintage Top
--------------------------------------------------------------*/
#mainVintage .top  { background: url("../images/main_vintage_top_bg_xl.jpg") no-repeat center center; background-size: cover; text-align: center; color: #fff; padding: 8em 0;  }
#mainVintage .title { font-size: 7em; line-height: 1.1em; padding-bottom: 0.5em; display: block; font-weight: 700; letter-spacing: -0.05em;   }
#mainVintage p { font-size: 1.8em; padding: 0;  }
@media all and (max-width: 1024px) {
#mainVintage .top  { font-size: 0.97vw; }
#mainVintage p { line-height: 1.6em; max-width: 30em; margin: 0 auto; font-size: 2.6em; }
}
/* Main Vintage Btm
--------------------------------------------------------------*/
#mainVintage .btm { background: url("../images/main_vintage_btm_bg_xl.jpg") no-repeat center center; background-size: cover; padding-top: 20.67%; }
/* Main Get
--------------------------------------------------------------*/
#mainGet { background: #000; color: #fff; padding: 8em 0; text-align: center;  }
#mainGet .title { font-size: 4.6em; display: block; padding-bottom: 0.8em;   }
@media all and (max-width: 1024px) {
#mainGet { font-size: 0.97vw; }
}
/* Main Newsletter
--------------------------------------------------------------*/
#mainNewsletter { background:#0b0c10; color: #fff; }
#mainNewsletter .FrmCtr { max-width: 742px; }
#mainNewsletter p { padding-bottom: 1.3em;}
#mainNewsletter .emailInput { display: flex; position: relative; }
#mainNewsletter #k_id_email { height: 68px; border: 0; border-radius:  0; flex-grow: 1;  }
#mainNewsletter .btn { padding-top: 0; padding-bottom: 0; height: 68px; line-height: 68px; border-radius:  0; width: 243px; }
#mainNewsletter .btn:after { border-radius: 0; top: 0!important; right: 0!important; bottom: 0!important;left: 0!important;  }
#fc-response  {  position: absolute; bottom: -1.5em; font-size: 12px; color: #ff0000; left: 0;  }
@media all and (max-width: 572px) {
#mainNewsletter #k_id_email { height: 40px; max-width: calc(100% - 123px);   }
#mainNewsletter p { display: block; margin: -0.445em auto 0 auto; padding-top: 0; max-width: 24em; }
#mainNewsletter .btn { height: 40px; line-height: 40px; width: 123px; font-size: 14px!important;  padding-right: 0; padding-left: 0; }
}
/* Main Footer
--------------------------------------------------------------*/
#mainFtr  {  background: var(--bg-footer);  box-shadow: 0 4000px 0 4000px var(--bg-footer);  color: var(--color-footer); font-family: "neue-haas-unica", "Helvetica Neue",  Arial, "Nimbus Sans L", FreeSans; font-weight: 400; text-transform: normal; padding: 5.4rem 0; }
#ftrNav { display: block; font-size: 18px; margin-bottom: 1.8rem; max-width: 30em;  margin: 0 auto 2.6em auto; font-weight: 400; }
.affFtr #ftrNav { font-size: 15px; }
#ftrNav li { display: inline;   line-height: 1.8em; } 
#ftrNav li:before { content: '•'; }
#ftrNav li:first-child:before, #ftrNav li:nth-child(5):before { display: none; }
#ftrNav li a { color: var(--color-footer); margin: 0 0.72em; }
#ftrNav li a:hover {   text-decoration: underline;   }
#mainFtr .logo { width: 77px; margin-bottom: 3.4rem;   }
#mainFtr .copy { font-size: 16px; line-height: 1.75em; padding-bottom: 0; color: #aeaeae;  }
#fullWrp .affFtr .copy  { font-size: 15px; }
@media all and (max-width: 1023px) {
#ftrNav { font-size: 16px; }
.affFtr #ftrNav { font-size: 15px; }
#ftrNav li a { margin: 0 0.5em; } 
#ftrNav li span { display: none; }
}
@media all and (max-width: 572px) {
#mainFtr { padding: 0; }
#mainFtr .logo {  /*width:12.5vw;*/ }
#ftrNav { font-size: 1.6rem; }
.affFtr #ftrNav { font-size: 1.5rem; }
#mainFtr .copy { font-size: 1.6rem; }
#fullWrp .affFtr .copy  { font-size: 1.5rem; }
}
@media all and (max-width: 400px) {
#mainFtr .logo { width: 19.25vw; }
}
/* 
////
//// 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: #000; 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 {font-size: 12px; line-height: 1.2em; width: 100%; display: block; padding: 0 0 10px 0; text-align: center;  }
#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: #fa2700;  }
#loginCont .creat { padding-left: 0; font-size: 13px; 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); }
.affTosCont #innerCont { background: #fff; }
.affTosCont .userText a { color: #153ff0!important; }
@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; }
#mainNav .tosNav li { font-size: 12px!important; line-height: 30px; }
#mainNav .tosNav li a { font-family:  "neue-haas-unica", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans;  font-weight: 400; }
#mainNav .tosNav li svg { width: 1.6em; height:  30px; vertical-align:  top; }
@media all and (max-width: 1200px) {
#mainNav .tosNav  { flex-direction: column; text-align: right;  padding-left: 15px;  }
#mainNav .tosNav li { font-size: 13px!important; padding: 0; line-height: 20px;  letter-spacing: -0.025em; }
#mainNav .tosNav li svg  { height: 20px; }
}
@media (max-width: 479px) {
#mainNav .tosNav li { font-size: 11px!important; line-height: 16px; }
#mainNav .tosNav li svg  { height: 16px; }
}
@media (max-width: 394px) {
#mainNav .tosNav li { font-size:  2.65vw!important; line-height: 1.77em;  }
#mainNav .tosNav li svg { height: 1.77em; }
}