/* 
////
//// 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: "futura-pt", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; font-weight: 400; background: #fff;  }
strong { font-weight: 600; }
.genC1 { color: #1e9374!important; }
.genPad1 { padding-top: 7.6rem; padding-bottom: 7.6rem;}
#fullWrp { margin: 0 auto; min-height: 100%; background: #fff; position: relative;  }
.genTitle1 { display: block; font-size: 3.6rem; line-height: 1.1em;  font-weight: 600; color: #fff; letter-spacing: 0; padding: 0;  }
.genTitle2 { display: block; font-size: 3.6rem; line-height: 1.1em;  font-weight: 600; color: #fff; letter-spacing: 0; padding: 0;  }
svg path,svg shape,svg linearGradient { shape-rendering: geometricPrecision; }
/* logo 
-----------------------------*/
#mainLogo { float: left; }
#mainLogo a { display: block; background: url(../images/main_logo.svg) no-repeat left center; background-size: contain!important; width: 300px; height: 64px; white-space: nowrap; text-indent: -8000px; margin-left: -4px; }

@media all and (max-width: 480px) {
#mainLogo a { max-width: 33.1rem; height: 6.7rem;}
}
/* Main Header
--------------------------------------------------------------*/
#mainHdr {   background: #fff;  }
#mainHdr .ctr { margin: 22px  0; position: relative; -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);  display: flex;
 justify-content: space-between;  }


/* Main Header Desktop
--------------------------------------------------------------*/
@media all and (min-width: 800px) {
#mainNav { display: block;  width: 100%; margin: auto 0 auto auto; max-width: 560px; text-align: center;   }
#mainNav .site-nav { display: flex; justify-content:  flex-end; margin: auto;  align-items: center; height: 64px;   }
#mainNav .site-nav a { font-size: 18px; color: #000; position: relative; font-weight: 600; margin-left: 38px;   }
#mainNav .site-nav a.cur { color: #000; cursor: default; }
#mainNav .site-nav a:before { content: ' '; left: 50%; width: 0; position:absolute; bottom: -2px; height: 1px; background: #000; 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; }
}
@media all and (min-width: 960px) {
#mainNav .site-nav a { margin-left: 58px;   }
}
/* Main Header Mobile
--------------------------------------------------------------*/
@media all and (max-width: 799px) {
#mainHdr .ctr  { margin: 10px 0; }
/*burger icon + animation*/
.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; }
.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: #000; opacity: 0; }
.menuOpen .nav-hamburger::before { background-color: #000; transform: rotate3d(0, 0, 1, 45deg); }
.menuOpen .nav-hamburger::after { background-color: #000; transform: rotate3d(0, 0, 1, -45deg); }
.nav-hamburger { position: absolute; left: 0; top: 14px; z-index: 1001; cursor: pointer;  }
#mainLogo { margin: 0 0 0 57px;   } 
#mainLogo a { width: 187px;  height: 68px; top: 0;  } 
#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 #0095d9;  }
#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: #fff; display: block; padding: 19px 20px 19px 20px; color: #000; font-size: 18px; line-height: 17px;   -webkit-transition:0ms ease-out all; transition: 0ms ease-out all; text-align: center;  border-bottom: solid 1px rgba(0,0,0,0.15); text-align:left; font-weight: 600; }
#mainNav .site-nav  li:first-child  a  { border-top: solid 1px rgba(0,0,0,0.2); }
#mainNav .site-nav  li a.cur, #mainNav .site-nav  li a.cur:active   { outline: none; color: #fff;  background:#fff; }
#mainNav .site-nav  li a:active  { background:#fff; }
/* open menu 
-----------------------------*/
#mainNav { background:#fff; color: #000; display: block!important; max-width: 280px; top: 0;  box-shadow: -1000vh 900vh  0 1000vh #fff, -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;  }
}
@media all and (max-width: 575px) {
#mainHdr .ctr { margin: 0; }
}
/* 
////
//// Mainpage
////
--------------------------------------------------------------*/

#mainCont .innerCont { background: #fff; border-radius: 15px; overflow:  hidden; }
#mainCont .innerCont  .r2 { background: #575757; }
#mainTwoCol .innerCont  { display: flex; justify-content: flex-start; align-items: stretch;  }
#mainTwoCol .innerCont  .contLft { flex-grow: 1; max-width: 749px; min-width: 530px; background: #393939; }  
#mainTwoCol .innerCont  .contLft .row { padding: 4.5rem 4.7rem; }
#mainTwoCol .innerCont  .contLft .row p.txt { color: #c2c2c2; font-size: 2.4rem; padding: 0.1em 0 0.5em 0; line-height: 1.2em; } 
#mainTwoCol .innerCont  .contRgt {  flex-shrink: 1; flex-grow: 1;  background: #e6e6e6 url("../images/main_cont_rgt_bg.jpg") no-repeat center top; background-size: cover; min-width: 360px;  } 
@media all and (max-width: 860px) { 
#mainTwoCol .innerCont  .contLft { min-width: 100%;}
#mainTwoCol .innerCont  .contRgt  { display: none; }
}
/* Footer
--------------------------------------------------------------*/
#mainFtr  { padding: 8rem 0; }
#mainFtr  p { color: #8b8b8b; font-size: 1.9rem; font-weight: 600;  letter-spacing:  -0.025em; padding: 0;  }
@media all and (max-width: 575px) { 
#mainFtr  p { font-size: 2.4rem; }
}
/* 
////
//// Contact
////
--------------------------------------------------------------*/
#signUpForm .formWrp { max-width: 540px;  padding-top: 1rem;  padding-bottom: 2rem; }
#signUpForm p   { font-size: 20px;  }
#signUpForm p.txt { color: #fff; font-size: 2.4rem; padding: 0.1em 0 0 0; line-height: 1.25em; } 
#signUpForm label  {  font-size: 1em; display: block; font-weight: 600;  color: #fff; text-align: right; width: 5.25em; min-width: 5.25em; padding-right: 1em; float: left; line-height: 48px;   }
#signUpForm p span { display: block;  margin-left: 6.25em;  }
#signUpForm p span input, #signUpForm p span textarea { width: 100%!important; }
#signUpForm .captchaWrp  { font-size:  20px;  padding-left: 6.25em; clear: both; overflow-x: hidden;   }
#signUpForm .captchaWrp  .btn { margin-top: 13px; }
#signUpForm .conf { color: #fff; padding-top: 20px;}
@media all and (max-width: 540px) { 
#signUpForm p  { font-size: 18px; }
#signUpForm label  {  text-align:  left; width: auto; float: none; padding: 0;  line-height: 1.6em;   }
#signUpForm p span  { margin: 0;   }
#signUpForm .captchaWrp  { padding-lefT: 0; }
#signUpForm .captchaWrp  .btn {  font-size: 20px; }
}
/* 
////
//// Faq
////
--------------------------------------------------------------*/
#mainSingleCol  .row { padding: 4.5rem 4.7rem; border-top: #ffffff; background: #363636;  }
#mainSingleCol  .row:nth-child(odd) { background: #575757; }
#mainSingleCol  .innerCont .topRow  { background: #1e9374; border-top: 0;   }
#mainSingleCol  .innerCont .row p { color: #fff; font-size: 2.4rem; padding: 0.1em 0 0.5em 0; line-height: 1.25em; } 
#mainSingleCol  .innerCont .row p:last-child { padding-bottom: 0;}
#mainSingleCol  .innerCont .row p a { color: #fff; text-decoration: underline;}
#mainSingleCol  .innerCont .row p a:hover { text-decoration: none;}

