:root {
--background-body: #fff;
--color-primary: #4e76a4;
--color-secondary: #4e76a4;
--color-footer: #000000;
--color-footer-hover: #000000;
--background-footer: #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; background: var(--background-body);  letter-spacing:  -0.01em;  }
strong { font-weight: 700; }
.genC1 { color: var(--color-primary); }
.genC2 { color: var(--color-secondary); }
#fullWrp { margin: 0 auto; min-height: 100%;  background: var(--background-body); position: relative;  }
.genPad1 { padding-top: 6rem; padding-bottom: 6rem;}
@media all and (max-width: 576px) {
.genPad1 { padding-top: 4.5rem; padding-bottom: 4.5rem;}
}

/* logo 
-----------------------------*/
#mainLogo { float: left; }
#mainLogo a { display: block; background: url(../images/main_logo_2x.png) no-repeat left center; background-size: contain!important; width: 129px; height: 68px; white-space: nowrap; text-indent: -8000px;   }
@media all and (max-width: 767px) {
#mainLogo  { max-width: calc(100% - 185px); width: 129px; }
#mainLogo  a { width: 100%; }
}
@media all and (max-width: 576px) {
.nav-hamburger + #mainLogo { margin-left: 54px!important; }
#mainLogo a { height: 46px; width: calc(100% - 13px);  }
}
/* Main Header
--------------------------------------------------------------*/
#mainHdr { z-index: 2; background: linear-gradient(-90deg, #17d2ff 0%, #3577ff 100%); padding: 20px  0; }
#fullWrp .mainIntroHeader { position: absolute; left: 0; top: 20px; width: 100%; background: none; }
#mainHdr .nav-hamburger { display: none; }
#mainHdr  .ctr { padding: 0 2rem; margin: 0 auto; position: relative; display: flex; justify-content: space-between; align-items: center; }
#mainLogo { margin: 0; display: block; float: left; position: relative;  z-index:  10; position: relative; }
#mainHdr .mainHdrOpt li { position: relative; }
#mainNav .site-nav  li a { color: #323232; }
#mainNav .site-nav  li a span.bonus {  position: absolute; top: -1.6em; line-height: 1.45em; background: #f15641; padding: 0 0.55em; color: #fff;  left: 50%; transform: translate(-50%, 0%); font-size: 12.5px; }
#mainSignNav {  display: flex; justify-content: flex-end; height: 53px; align-items: center; white-space: nowrap; font-size: 18px; }
#mainSignNav a { line-height: 1.1em;display: inline-block; padding: 0.7em 0; color: #fff; font-weight: 700!important; }
#mainSignNav a.btn { padding: 0.75em 1.3em!important; font-size: 1em!important; line-height: 1.1em!important; font-weight:  700!important;}
#mainSignNav a.btn:first-child { text-shadow: 0 0 0.95em rgba(47,135,255,0.75), 1px 1px 0 rgba(0,0,0,0.2); }
#mainSignNav a:last-child  { margin-left: 15px; }
#mainLogo .planType { position: absolute; top: 0; line-height: 1.45em; background: #1c6ac7; padding: 0 0.55em;color: #fff; font-size: 12.5px; left: 104%; text-indent: 0; text-transform: uppercase; }
@media all and (max-width: 1480px) {
#mainHdr .mainHdrOpt, #mainSignNav a.btn {  font-size: 14.5px; }
#mainHdr .mainHdrOpt li span.bonus  {  font-size: 11.5px; }
#mainSignNav a:last-child  { margin-left: 15px; }
}
@media all and (max-width: 1360px) {
#mainHdr .mainHdrOpt, #mainSignNav {  font-size: 18px; }
#mainHdr .mainHdrOpt li span.bonus  {  font-size: 10.5px; }
}
@media all and (max-width: 767px) {
#fullWrp .mainIntroHeader { top: 10px;}
#mainHdr {padding: 15px  0; }

#mainSignNav {  font-size: 13.5px; }
}
@media all and (max-width: 576px) {
#mainHdr {padding: 5px  0; }
#mainSignNav {  font-size: 12.5px; }
#mainLogo .planType { display: none;}
#mainSignNav a:last-child { margin-left: 10px; }
}
/* Main  Menu
--------------------------------------------------------------*/
@media all and (min-width: 1271px) {
#mainHdr #mainNav { display: flex; justify-content: space-between; align-items: center; font-weight: 700; text-transform: uppercase; font-size: 16px; line-height: 1.2em; max-width: 1080px;  width: 100%;  padding: 0 30px;  }
#mainHdr #mainNav .site-nav { width: 100%; }
#mainHdr .mainHdrOpt {  width: 100%;   display: flex;  justify-content: space-between; align-items: center;  }
#mainHdr .mainHdrMem  { max-width: 540px;  margin: 0 auto; }
#mainNav .site-nav .dropDown { position: absolute; top: 5px; left: 0; z-index: 1000; display: none; float: left; min-width: 168px; padding-top: 28px; cursor:  pointer; }
#mainNav .site-nav .dropDown ul { padding: 3px   0; margin: 0.125rem 0 0; font-size: 16px; color: #212529; text-align: left; list-style: none; background-color: #fff; background-clip: padding-box; border: 1px solid rgba(0,0,0,.15); border-radius: 0.25rem; }
#mainNav .site-nav .dropDown li a { padding: 3px  6px; font-weight: normal; font-size: 12.8px; line-height: 1.9em; display: block; white-space: nowrap;   }
#mainNav .site-nav .dropDown li a:hover { background: #eee; }
#mainNav .site-nav .dropDown ul a:before { content: ' '; display:  inline-block; height: 1.9em; width: 1.9em; margin-right: 0.4em; background-size: contain!important; background-position: center center; background-repeat: no-repeat; vertical-align: top ; }
#mainNav .site-nav  li.dropElm > a:after { content: ' '; border: solid #1b6ac7; border-width: 0 3px 3px 0; display: inline-block; padding: 3px; vertical-align: top; position: relative;  -webkit-transform: rotate(45deg); transform: rotate(45deg); margin-left: 8px; position: relative; top: 0.2em; }
#mainNav .site-nav  li.dropElm:hover .dropDown { display: block; }
#mainNav .site-nav  li.hideLg { display: none!important; }
}
@media all and (max-width: 1270px) {
/*burger icon + animation*/
#mainHdr .nav-hamburger { background: transparent none repeat scroll 0 0; border: 0 none; cursor: pointer; display: block; 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; position: absolute; left: 2rem; top: 9px;  }
.nav-hamburger::before, .nav-hamburger::after, .nav-hamburger span { background-color: #000; transition: all 0.3s ease-in-out 0s; }
.nav-hamburger::before, .nav-hamburger::after, .nav-hamburger span { background-color: #000; }
.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: #fff; opacity: 0; }
.menuOpen .nav-hamburger::before { background-color: #fff; transform: rotate3d(0, 0, 1, 45deg); }
.menuOpen .nav-hamburger::after { background-color: #fff; transform: rotate3d(0, 0, 1, -45deg); }
.nav-hamburger { position: absolute; left: 0; top: 14px; z-index: 1001; cursor: pointer;  }
.nav-hamburger + #mainLogo { margin: 0 0 0 61px;   } 
#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 #1b6ac7;  }
#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: #1b6ac7; display: block; padding: 16px 20px 16px 20px!important; color: #fff; font-size: 15px; 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.15); text-align:left; font-weight: 400;  letter-spacing: 0.145em; text-transform: uppercase;  }
#mainNav .site-nav  li a span.bonus { position: static; display: inline; vertical-align:  top; margin-left: 0.4em;   }
#mainNav .site-nav  li:first-child  a  { border-top: solid 1px rgba(255,255,255,0.2); }
#mainNav .site-nav  li a.cur, #mainNav .site-nav  li a.cur:active   { outline: none; color: #fff;  background:#297ee3; }
#mainNav .site-nav  li a:active  { background:#297ee3; }
#mainNav .site-nav  li li a { border-top: 0!important; padding-left: 32px!important;}
#mainNav .site-nav  li.dropElm> a:after { content: ' '; border: solid #fff; border-width: 0 2px 2px 0; display: block; padding: 2px; width: 0.25em; height: 0.25em;  vertical-align: middle; position: relative;  -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; right: 20px; top: 17px; }
#mainNav .site-nav  li li:first-child { margin: 0;}
#mainNav .site-nav  li .dropDown { display: none; }
#mainNav .site-nav  li.dropOpen > a:after {  -webkit-transform: rotate(-135deg); transform: rotate(-135deg); top: 22px;}
#mainNav .site-nav  li.dropOpen .dropDown { display: block; }
/* open menu 
-----------------------------*/
#mainNav { background:#000; color: #fff; display: block!important; max-width: 300px; top: 0;  box-shadow: -1000vh 900vh  0 1000vh #1b6ac7, -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(0, 0, 0);  -webkit-transform: translate3d(0, 0, 0); pointer-events: auto;  }
}
/* Main Intro
--------------------------------------------------------------*/
/* Main Intro
--------------------------------------------------------------*/
#mainIntroId { background:  url("../images/main_intro_bg_xl.jpg") no-repeat center bottom!important; background-size:  contain!important; margin-bottom: 25rem; }
#mainIntroBg { background: url("../images/main_intro_bg_rgt.png") no-repeat right bottom; background-size: auto 100%;  margin: 0 auto; }
#mainIntroBg .FrmCtr  {  min-height: 858px;  display: flex; justify-content: space-between;  align-items: center;  max-width: 1680px; padding-top: 100px; }
#mainIntroBg .FrmCtr .sideIntro { width: 100%; max-width: 660px; padding-top: 0; font-size: 10px; color: #000; }
#mainIntroBg .FrmCtr .sideIntro .ln1 { font-size: 2.2em; line-height: 1.1em; font-weight: 600; margin: 0; padding-bottom: 1.6em; font-family: "Jost", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans;  letter-spacing: 0.26em; }
#mainIntroBg .FrmCtr .sideIntro .ln2 { font-size: 6em; line-height: 1.23em; font-weight: 700; margin: 0; max-width: 10em; padding-bottom: 0.15em; text-transform: none;  letter-spacing: 0.01em; }
#mainIntroBg .FrmCtr .sideIntro .ln3 { font-size: 3em; line-height: 1.5em;  padding: 0.6em 0 1.2em 0;   max-width: 20em; letter-spacing: 0.01em; color: #2a2a33; }
#mainIntroBg .FrmCtr .sideIntro .ln4 { font-size: 1.6em; line-height: 1.6em;  padding: 0.4em 0 2.6em 0;  max-width: 31em; letter-spacing: -0.02em; }
#mainIntroBg .FrmCtr .sideIntro .btn { font-size: 2.4em!important; }
#mainIntroBg .FrmCtr .sideTmb { width: 70%; max-width: 920px; background: url("../images/main_intro_tmb.jpg") no-repeat center center; background-size: cover; border-radius: 1.8rem;  }
#mainIntroBg .FrmCtr .sideTmb:after { content: ' '; display: block;  padding-top: 75% }
#mainIntroId .sep { padding-top:15.15%; background: url("../images/main_intro_sep.svg") no-repeat center center;  background-size: 100% auto; }

@media all and (min-width: 1270px) {
#mainIntroBg .FrmCtr, .mainIntroBg .FrmCtr3, #mainHdr .ctr { padding-left: 8rem; padding-right: 8rem;} 
}
@media all and (max-width: 1270px) {
body .mainIntroBg { background-size: calc(89vw - 301px) auto!important; }
#mainIntroBg .FrmCtr .sideIntro {   font-size: 10px; }
#mainIntroBg .FrmCtr  {  min-height: 569px; }
}
@media all and (max-width: 1100px) {
#mainIntroBg .FrmCtr .sideIntro  { font-size: 8.25px; }
#mainIntroBg .FrmCtr .sideTmb { width: 84%; }
}
@media all and (max-width: 992px) {
body .mainIntroBg { background-size: 80% auto!important; }
#mainIntroBg { background-position:  calc(100% + 500px) bottom!important; }
#mainIntroId { background: rgba(255,255,255,0.45);}
#mainIntroBg .FrmCtr  { flex-direction: column; justify-content: center;  }
#mainIntroBg .FrmCtr .sideIntro { text-align: center; padding-top: 6rem; font-size: 9.2px;  }
#mainIntroBg .FrmCtr .sideIntro .ln1, #mainIntroBg .FrmCtr .sideIntro .ln2, #mainIntroBg .FrmCtr .sideIntro .ln3, #mainIntroBg .FrmCtr .sideIntro .ln4  { margin: 0 auto;  }
#mainIntroBg .FrmCtr .sideTmb { width: 90%;  max-width: 629px; margin-top: 6rem; }
}
@media all and (max-width: 576px) {
#mainIntroId { margin-bottom: 12.5rem; }
#mainIntroBg { background-position: calc(100% + 71vw) bottom !important; }
#mainIntroBg .FrmCtr  {  min-height: 430px; } 
#mainIntroBg .FrmCtr .sideIntro  { text-align: center; width: 100%; max-width: 100%; margin: 0 auto; padding-top: 23px;  font-size: 1.736vw;   }
#mainIntroBg .FrmCtr .sideIntro .ln2 { font-size: 5.5em; }
}
@media all and (max-width: 448px) { 
#mainIntroBg .FrmCtr  {  min-height: 95vw }
}

/* Main Footer
--------------------------------------------------------------*/
.mainFtr { padding: 30px 15px; text-align: center;  box-shadow:  0 4000px 0 4000px  var(--background-footer); background: var(--background-footer); ; font-size: 14px; color: var(--color-footer);  font-weight: 400; }
.ftrNav { list-style:none; margin:  0 0  0.5em 0;  padding: 0;  }
.ftrNav li  { display: inline-block; } 
.ftrNav li a { text-decoration: none;  color: var(--color-footer); }
.ftrNav li a:hover { text-decoration: underline; color: var(--color-footer-hover); }
.ftrCopy { padding: 0; margin: 0; }
@media all and (max-width: 1160px ) { 
.ftrNav  { max-width: 30em; margin-left: auto; margin-right: auto; line-height :1.4em;   }
.ftrNav  span { display: none; }
}
@media all and (max-width: 480px ) { 
.ftrNav, .ftrCopy  { font-size: 3vw; line-height: 1.5em; }
}


/* 
////
//// Login 
////
--------------------------------------------------------------*/
/* Form
--------------------------------------------------------------*/
#loginWrp { background: #efefef; display: flex; justify-content: flex-start; align-content: stretch; }
#loginFormBg { flex-grow: 1 ; display: flex; justify-content:  center; align-items: stretch; padding: 6rem 2rem;  }
#loginForm {  padding: 4rem; max-width: 370px; background: #fff; color: #414141; border-radius: 5px;  }
#loginForm p { padding-bottom: 15px; }
#loginForm  .formTitle { font-size: 24px; line-height: 1.3em; font-weight: 500; padding-bottom: 0.15em;   } 
#loginForm  .formSubtitle  { color: #6b6b6b; font-size: 14px; font-weight: 400; line-height: 1.43em; margin-bottom: 20px; }
#loginForm .inputIco { position: relative; display: block;  }
#loginForm .inputIco input { padding-right:40.63px;}
#loginForm .passwordToggle { position: absolute; right: 0; top: 24px; height: 40.63px; width: 40.63px; display: flex; justify-content:  center; align-items: center; }
#loginForm .passwordToggle svg { width: 44%; height: 100%; }
#loginForm .passwordToggle svg path { fill: #919191; }
#loginForm .passwordToggle svg .st1 { display: none; }
#loginForm input[type=text] + .passwordToggle svg .st0 { display: none; }
#loginForm input[type=text] + .passwordToggle svg .st1 { display: block; }
#loginForm label .cards { float: right; white-space: nowrap; }
#loginForm label img { display: inline;  vertical-align:  top; height: 21.4px!important; width: auto!important;  margin-left: 2px;  }
#loginForm .cvvInfo { background-color: #4d64fd; color: #fff; display: block; position: absolute; right: 10px; top: 12px; width: 1.2em; height: 1.2em; line-height: 1.2em; font-size: 14px; font-weight: 500; text-align: center; z-index: 40;  border-radius: 3px; }
#loginForm .cvvInfo:hover { background-color: #277add; }
#loginForm .passwordStrength { font-size: 11px; line-height: 1.2em; color:#919191; clear: both;  } 
#loginForm .passwordStrength svg { width: 1.2em; height: 1.2em; margin-right: 0.4em; position: relative; top: 0.2em;  }
#loginForm .tos { font-size: 12px; padding: 15px 0 0px 0; clear: both;   }
#loginForm .tos input[type="checkbox"] { position: relative;  display: inline-block; vertical-align:  top; width: 1.05em!important; height: 1.05em!important; font-size: 1.05em!important;  top: 0.225em    }
#loginForm .tos a {color: #090946; }
#loginForm .tos a:hover { text-decoration: underline; }
#loginForm .creat {  padding-top: 15px; text-align: center; font-size: 13px; padding-bottom: 0;  }
#loginForm .creat a { color: #090946; }
@media all and (max-width:1240px){

}
@media all and (max-width:980px){
#loginWrp { background: #fff; }
#loginFormBg { align-items: center; padding: 6rem 2rem; flex-direction: column; }
}
@media all and (max-width:576px){
#loginForm .formTitle { font-size: 20px; adding-bottom: 0.2em; }
#loginForm .buttonSoc { height: 36px; line-height: 36px;  }
#loginForm .buttonSoc span { display: none; }
#loginForm .buttonSoc svg { margin: 0 auto;  }
}
@media all and (max-width:472px){
#loginForm {  padding: 2rem; } 
}
@media all and (max-width:364px){
#loginForm .formSubtitle  {font-size: 13px; }
#loginForm .passwordStrength { font-size: 10.5px; }
#loginForm .tos { font-size: 11px;}
}