/* 
////
//// 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: "Montserrat", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; font-weight: 400; }
.FntMont { font-family: "Montserrat", "Helvetica Neue", Arial, "Nimbus Sans L", FreeSans; font-weight: 400; }
.FntCrim { font-family: "Crimson Text", Cambria, "Hoefler Text", "Liberation Serif", Times, "Times New Roman", serif; font-weight: 400; }
.svgIcon { width: 1.4em; height: 1em; vertical-align: text-top; display: -moz-inline-stack; display: inline-block; zoom: 1; *display:inline;
text-align: center; margin-right: 0.4em }
.ico[data-ico-bs]:before { font-family: CustomBusinessSet; content: attr(data-ico-bs); font-weight: 100; }
.ico[data-ico-es]:before { font-family: CustomEssentialSet; content: attr(data-ico-es); font-weight: 100; }
.ico:before { color: #81d742; font-size: 48px; width: 48px; height: 48px; line-height: 48px; }
.Crd { color : #cc0000; }
.Cgrn { color : #87e642; }
.c1, .C1 { color: #81d742; }
.dash:after { content: ' '; clear: both; width: 1.8em; display: block; margin: .5em 0 .5em; border-top: 4px solid #81d742; margin-left: auto; margin-right: auto; }
/* 
////
//// MAIN
////
--------------------------------------------------------------*/
#mainBg { min-height: 100%;  background: #181A1E;  }
#mainBg #contBgWrp { min-height: 100%; position: relative; }
@media all and (max-width: 640px) {
#mainBg { min-height: auto; }
}
/* Main Header
--------------------------------------------------------------*/
#mainHdr { position: absolute; left: 0; top: 0; width: 100%; z-index: 100; }
#mainHdr .bg { border-bottom: solid 1px rgba(255,255,255,.1); padding: 1.6rem 0; }
/* logo 
-----------------------------*/
#mainLogo { float: left; }
#mainLogo a { display: block; white-space: nowrap; color: #fff; font-size: 3.6rem; line-height: 3.8rem; font-family: "Work Sans", "Helvetica Neue", Arial, "Nimbus Sans L", "FreeSans;"; float: left; font-weight: 600; letter-spacing: -0.03em; }
#mainLogo a img { display: inline; vertical-align: top; position: relative; top: 0.3rem; width: 3.8rem; }
#mainLogo a span { font-weight: normal; display: block; font-size: 1.18rem; letter-spacing: 0.49em; font-family: "Open Sans", "Helvetica Neue", Arial, "Nimbus Sans L", "FreeSans;"; text-transform: uppercase; }
#mainLogin { float: right; }
/* Main Intro
--------------------------------------------------------------*/
#mainIntro { position: relative; background: url(../images/main-hero.jpg) no-repeat center center; background-size: cover!important; background-attachment: fixed; }
#mainIntro:before { content: ' '; position: absolute; left: 0; top: 0; right: 0; bottom: 0; background-color: #181A1E; opacity: 0.6; }
#mainIntro .introTxt { position: relative; z-index: 100; text-align: center; color: #fff; padding: 288px 0 92px; }
#mainIntro .txt1 { font-size: 54px; font-weight: 800; padding: 0; }
#mainIntro .txt2 { font-size: 26.1px; padding: 0; }
@media all and ( max-width: 1020px) {
#mainIntro .introTxt { padding-top: 28vw; }
#mainIntro .txt1  { font-size: 5.3vw; }
#mainIntro .txt2 { font-size: 2.6vw;}
}
@media all and ( max-width: 480px) {
#mainIntro .introTxt { padding-top: 28vw;  padding-bottom: 28vw;}
#mainIntro .txt1  { font-size: 6rem; }
#mainIntro .txt2 { font-size: 18px;}
}
/* Main Business
--------------------------------------------------------------*/
#mainBusiness .wrp { margin-bottom: -1px; overflow: hidden; color: #fff; display: -ms-flexbox; display: -webkit-flex; display: flex; table-layout: fixed; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; }
#mainBusiness .col { width: 25%; float: left; text-align: center; padding: 72px 20px; position: relative; }
#mainBusiness .col:after { content: ' '; position: absolute; left: 0; top: 0; bottom: 0; right: 0; display: block; background-color: #181A1E; opacity: 0.6; }
#mainBusiness .col1 { background: url(../images/main-top-01.jpg) no-repeat center center; background-size: cover; }
#mainBusiness .col2 { background: url(../images/main-top-02.jpg) no-repeat center center; background-size: cover; }
#mainBusiness .col3 { background: url(../images/main-top-03.jpg) no-repeat center center; background-size: cover; }
#mainBusiness .col4 { background: url(../images/main-top-04.jpg) no-repeat center center; background-size: cover; }
#mainBusiness .col .ico { margin: 0 auto 3em auto; display: block; position: relative; z-index: 20; }
#mainBusiness .col .title { font-size: 14.4px; font-weight: 600; letter-spacing: 0.2em; margin: 0 auto; display: block; position: relative; z-index: 20; }
#mainBusiness .col .dash:after { width: 3.8em; border-width: 2px !important; margin: 1em auto; }
#mainBusiness .col p { font-size: 18px; margin: 0 40px; display: block; position: relative; z-index: 20;  padding: 0; }
@media all and ( max-width: 1420px) {
#mainBusiness .col p  { margin: 0 10px; }
}
@media all and ( max-width: 980px) {
#mainBusiness .wrp  { flex-wrap: wrap; }
#mainBusiness .col { width: 50%; min-width: 50%;  }
}
@media all and ( max-width: 580px) {
	#mainBusiness .col { width: 100%; min-width: 100%;  }
}
/* Main Rows
--------------------------------------------------------------*/
#mainRows { background: #fff; padding: 14.4rem 0; }
#mainRows .mainRow { display: -ms-flexbox; display: -webkit-flex; display: flex; table-layout: fixed; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; }
#mainRows .mainRow:nth-child(even) { flex-direction: row-reverse; }
#mainRows .mainRow .tmb { width: 50%; min-width: 50%; padding-top: 33.35%; height: 0; }
#mainRows .mainRow .cont { width: 50%; min-width: 50%; padding: 0 60px; display: flex; align-items: center; justify-content: center; }
#mainRows .mainRow .tmb1 { background: url(../images/main-mid-01.jpg) no-repeat center center; background-size: cover; }
#mainRows .mainRow .tmb2 { background: url(../images/main-mid-02.jpg) no-repeat center center; background-size: cover; }
#mainRows .mainRow .tmb3 { background: url(../images/main-mid-03.jpg) no-repeat center center; background-size: cover; }
#mainRows .mainRow .smTitle { font-size: 14px; display: block; color: #333; padding-bottom: 0.6em; }
#mainRows .mainRow .title { font-size: 32.4px; display: block; margin: 0; padding: 0; }
#mainRows .mainRow .dash:after { margin-left: 0; margin-right: 0; width: 2.8em; }
#mainRows .mainRow p { color: #333; font-size: 19.8px; font-family: "Crimson Text", Cambria, "Hoefler Text", "Liberation Serif", Times, "Times New Roman", serif; line-height: 1.8em; }
#mainRows .mainRow p:last-child { padding-bottom: 0; }
@media all and ( max-width: 880px) {
#mainRows .mainRow { display: block!important; }
#mainRows .mainRow .tmb { width: 100%; padding-top: 66.7%; height: 0; }
#mainRows .mainRow .cont { display: block!important; width: 100%; padding:  4rem 0 4rem 0;  }
#mainRows { padding: 3rem 0 0 0; }
}
/* Main Ideas
--------------------------------------------------------------*/
#mainIdeas  { text-align: center; color: #fff; text-align: center; padding: 14.4rem 0; background: url(../images/main-ideas-bg.jpg) no-repeat  center center; background-size: cover; background-attachment: fixed; }
#mainIdeas   .ideasTop  { padding: 0 0 85px 0 ;}
#mainIdeas   .ideasTop .title { font-size: 36px; font-weight: 800;  margin: 0; padding: 0; } 
#mainIdeas .row {   color: #fff; display: -ms-flexbox; display: -webkit-flex; display: flex; table-layout: fixed; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch; border-bottom: 1px solid rgba(255,255,255,.1) ; }
#mainIdeas .row:last-child { border-bottom: 0; } 
#mainIdeas  p { font-size: 18px; margin: 0 40px; display: block; position: relative; z-index: 20;   font-family: "Crimson Text", Cambria, "Hoefler Text", "Liberation Serif", Times, "Times New Roman", serif; line-height: 1.8em;  padding: 0; }
#mainIdeas .col { width: 33.33%; border-left: 1px solid rgba(255,255,255,.1); padding: 7.2rem 0; }
#mainIdeas .col:first-child { border-left: 0; }
#mainIdeas .col .ico { margin: 0 auto 3em auto; display: block; position: relative; z-index: 20; }
#mainIdeas .col .ico:before { color: #fff; }
#mainIdeas .col .title { font-size: 14.4px; font-weight: 600; letter-spacing: 0.2em; margin: 0 auto; display: block; position: relative; z-index: 20; }
#mainIdeas .col .dash:after { width: 3.8em; border-width: 2px !important; margin: 1em auto; }
@media all and ( max-width: 880px) {
#mainIdeas .ideasTop {  padding: 0 0 6.5rem 0;}
#mainIdeas .row { border: 0; display: block!important;  }
#mainIdeas .col  { width: 100%; border-left: 0;  border-bottom: 1px solid rgba(255,255,255,.1);   }
#mainIdeas .row:last-child .col:last-child { border-bottom: 0; padding-bottom: 0;}
}
/* Main Syn
--------------------------------------------------------------*/
#mainSyner { padding: 14.4rem 0;  background: #fff ; }
#mainSyner  .synerTop { padding-right: 33.33333333%; background:url(../images/main-promo_contact.jpg) no-repeat center right; background-size: 31.33%; }
#mainSyner  .synerTop .title {  font-size: 45px; font-weight: 800;  margin: 0; padding: 0; }
#mainSyner  .synerTop .dash:after { margin-left:0 ;margin-right: 0; }
#mainSyner  .synerTop p { font-size: 22.5px; line-height: 1.8em; font-family: "Crimson Text", Cambria, "Hoefler Text", "Liberation Serif", Times, "Times New Roman", serif; color: #333; }
#mainSyner .synerBtm { display: -ms-flexbox; display: -webkit-flex; display: flex; table-layout: fixed; -webkit-align-items: stretch; -ms-flex-align: stretch; align-items: stretch;   }
#mainSyner .synerBtm .col {  width: 33.33%; }
#mainSyner .synerBtm .col .tmb { width: 33.33%; padding-right: 40px; margin-right: -20px; float: left; }
#mainSyner .synerBtm .col .smTitle { font-size: 12.6px; letter-spacing: .2em;  color: #333; display:block; margin-bottom: .6em;  }
#mainSyner .synerBtm .col  .title { font-weight: 800;  font-size: 24.3px;     margin-bottom: .2em; }
#mainSyner .synerBtm .col  p {    font-size: 18px; line-height: 1.8em; font-family: "Crimson Text", Cambria, "Hoefler Text", "Liberation Serif", Times, "Times New Roman", serif; color: #333; padding: 0; }
@media all and ( max-width: 880px) {
#mainSyner { padding: 3rem 0; }
#mainSyner  .synerTop .title {  font-size: 36px }
#mainSyner  .synerTop p { font-size: 18px;  }
#mainSyner .synerBtm  { display: block!important; }
#mainSyner .synerBtm .col { width: 100%;   clear: left;  padding-bottom: 3rem;     display: flex; }
#mainSyner .synerBtm .col .tmb  { max-width: 160px; }
#mainSyner .synerBtm .col .desc { display: flex; align-items: center; justify-content: center;  }
#mainSyner .synerBtm .col .desc div { width: 100%;}
}
@media all and ( max-width: 720px) {
#mainSyner  .synerTop  { padding-right: 0;  padding-bottom: 47%; margin-bottom: 3rem; background-size: 100%  auto; background-position: center bottom; }
}
@media all and ( max-width: 480px) {
#mainSyner .synerBtm .col { display: block!important; }
#mainSyner .synerBtm .col .tmb  { width: 100%; max-width: none; margin: 0 0 3rem 0; padding: 0;  float: none; } 
#mainSyner .synerBtm .col .tmb img { margin: 0 auto; width: 70%; }
}
/* Main Footer 
--------------------------------------------------------------*/
#mainFtr { background: #181A1E; padding: 3rem 0; left: 0; font-size: 14px; line-height: 2em; color: #fff; }
#mainFtr p { padding-bottom: 0;  float: left;  white-space:nowrap; }
#mainFtr ul { float:right; white-space:nowrap; }
#mainFtr li { display: inline; }
#mainFtr li a { color: #fff; }
#mainFtr li a:hover { color: #f10049; }
@media all and ( max-width: 580px) {
#mainFtr p, #mainFtr ul { float: none; text-align: center;  line-height: 1.4em; }
}
@media all and (max-width:364px) {
#mainFtr { font-size: 12px; }
}
