html {
  -webkit-font-smoothing: antialiased;
}

*, *::before, *::after {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

body {
  background: #014e6f;
  overflow-x:hidden;
  overflow-y:auto;
  color:#231f20;
  line-height: inherit !important;
  width:100%;
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

body.scroll {
  overflow-y:hidden;
  margin-right:10px;
}

body.white {
  background: rgb(255,255,255);
}

body.sub {
  background: rgb(255,255,255) !important;
}

img {
  max-width:100%;
  width:auto;
	height:auto;
}

.hide-lg {
  display:none;
}

a {
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  color:#231f20;
}

a:hover {
  text-decoration:none;
  color:#231f20;
}

.video {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	background: #000;
	z-index: 5;
}

#myVideo {
  position: absolute;
  right: 0;
  left:0;
  bottom: 0;
  min-width: 100%;
  min-height: 100%;
  display:block;
}

	.home-overlay-mobile{
		display: none;
	}


.video-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.6);
    background: rgba(0, 0, 0, 0.6) url(/assets/img/Mark.png) no-repeat fixed 50% 50%;
    background-blend-mode: multiply;
}

.sub-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 80vh;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.7);
}

small {
  line-height:20px;
}

header {
  display: flex;
  align-items: center;
  padding:25px 20px;
  width: 100%;
  z-index:100;
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

footer {
  background-color: #01293c;
  padding: 20px 0;
}

nav {
  display:flex;
  flex-direction:column;
  width:100%;
  padding:25px 50px;
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  z-index:100;
}

nav ul {
  list-style:none;
  font: 400 14px/1.8 "Open Sans", sans-serif;
  font-size:.7vw;
  z-index:10;
}

nav ul li a {
  color: #fff;
  font-size: 2.0833333333vw;
}

nav ul li a:hover {
  color: #c0981e;
}

nav ul li a.active {
  color: #858585;
  cursor:text;
}

nav ul.secondary li a {
  font-size:1.5em;
}

main {
  width:auto;
  height:auto;
  display:flex;
  align-items:center;
  height:80vh;
  margin:0 100px;
  opacity:0;
  /*background: url(../img/Mark.png) no-repeat fixed 50% 50%;
  background: #222125 url(../img/hero-bg.jpg) no-repeat 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
  background:
  radial-gradient(black 15%, transparent 16%) 0 0,
  radial-gradient(black 15%, transparent 16%) 8px 8px,
  radial-gradient(rgba(255,255,255,.1) 15%, transparent 20%) 0 1px,
  radial-gradient(rgba(255,255,255,.1) 15%, transparent 20%) 8px 9px;
  background-color:#282828;
  background-size:16px 16px;*/
}


#webPage {
  background: #222125 url(../img/web-bg.jpg) no-repeat 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
  width: 100vw;
  margin: 0;
  margin-top: -50px;
}

#solutionsPage {
  background: #222125 url(../img/hero-solutions.jpg) no-repeat 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
  width: 100vw;
  margin: 0;
  margin-top: -50px;
}

#capitalPage {
  background: #222125 url(../img/hero-capital.jpg) no-repeat 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
  width: 100vw;
  margin: 0;
  margin-top: -50px;
}

#companyPage {
  background: #222125 url(../img/hero-company.jpg) no-repeat 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
  width: 100vw;
  margin: 0;
  margin-top: -50px;
}

#messagingPage {
  background: #222125 url(../img/hero-messaging.jpg) no-repeat 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
  width: 100vw;
  margin: 0;
  margin-top: -50px;
}


#demoPage {
  background: #003f5b;
  width: 100vw;
  margin: 0;
  margin-top: -50px;
}

/*----------CUSTOM CLASSES--------------_*/
.logo--main {
  position:absolute;
  width:200px;
  height:auto;
  top:-40px;
  left:25px;
  opacity:0;
  z-index:2;
}

.logo--bottom {
  width:200px;
  z-index:1;
}

.hero-content {
  position:relative;
  z-index:2;
}

hr {
  width:100%;
}

hr.light {
  border-top:1px solid rgba(255,255,255,.3) !important;
}

h1 {
  font-family: 'Ibarra Real Nova', serif;
  font-size:3vw;
}

h2 {
  font-family: 'Ibarra Real Nova', serif;
  font-size:1.5em;
}

h3 {
  font:"Open Sans", sans-serif;
  font-size:1.5em;
  font-weight:200;
  color:#9c9c9c;
}

p {
  line-height:2em;
  font-weight: 400;
}

h1 {
  font-weight:100 !important;
}

.row-reverse {
  flex-direction:row;
}

.btn {
  border-radius: 50px;
  width: 200px;
  font: "Open Sans", sans-serif;
  text-transform: uppercase;
  font-size: 13px;
  margin-top:10px;
  padding:10px 0;
}

.btn-primary {
  background-color:#c0981e !important;
  border:none !important;
  box-shadow: rgba(0, 0, 0, 0.5) 0px 16px 48px 0px;
}

.btn-primary:hover {
  background-color:#a18223 !important;
  box-shadow: 0px 0px 24px -13px rgba(0,0,0,0.75);
}

.btn-secondary {
  box-shadow: rgba(0, 0, 0, 0.5) 0px 16px 48px 0px;
  background-color:#0096be !important;
  border:none !important;
}

.btn-secondary:hover {
  background-color:#0287ab !important;
  box-shadow: 0px 0px 24px -13px rgba(0,0,0,0.75);
}

.btn-feature {
  width:100%;
  height:100%;
  background-color: rgba(0, 0, 0, 0.3);
  border-top: 1px solid white;
}

.btn-feature:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

.btn-feature .container {
    margin:0 auto;
    margin-top:15px;
    opacity:0;
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
}

.btn-feature:hover .container {
  margin-top:0px;
  opacity:1;
}

a.btn-footer {
  color:white;
  font-size:14px;
  line-height: 30px;
}

a.btn-footer:hover {
  color: #c0981e;
}

.box--gray {
  /*margin:50px;*/
  border:1px solid #58595B;
  height: auto;
  position: absolute;
  width: auto;
  left: 50px;
  top: 100px;
  right: 50px;
  bottom: 50px;
}

a.box--work {
  border: 1px solid lightgray;
  background:white;
  margin-top:40px;
  min-height:300px;
  min-width:100%;
  flex-direction:column;
  padding:25px;
  cursor:pointer;
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

a.box--work:hover {
  background-color:#f4fdff;
  padding-top:0px;
}

a.box--work::after {
  content:"Learn More »";
  opacity:0;
  margin-top:15px;
  color:#014e6f !important;
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

a.box--work:hover::after {
  opacity:1;
  margin-top:0px;
}

.icon--work {
  width:50px;
}

.social-icon {
  width:30px;
}

.bg--white {
  background-color:white;
}

.color--white {
  color:white !important;
}

.color--red {
  color:#F05348 !important;
}

.color--gold {
  color:#c0981e !important;
}



#clientSection {
  height:auto;
  padding:50px;
  border-top: 1px solid lightgray;
  border-bottom: 1px solid lightgray;
}

#templateSection, #workSection, #featuredSection, #workSection, #platformInfoSection{
  margin:200px auto;

}

.template--img {
  padding-bottom:300px;
  padding-top:50px;
  height:auto;
}

#featureTemplate, #workSection {
  margin:0 auto;
  background: #fff url(../img/hero-bg-2.jpg) no-repeat fixed 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
}

#feature02 {
  height:50vh;
  width:100%;
  background: #222125 url(../img/featured/featured-2.jpg) no-repeat 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
}

#feature03 {
  height:50vh;
  width:100%;
  background: #222125 url(../img/featured/featured-3.jpg) no-repeat 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
}

#calltoactionSection {
  background-color: #003f5b;
  height:100%;
}

.center-line-container {
  position: absolute;
  bottom: -100px;
  left: 50%;
  z-index: 2;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  height: 200px;
  width: 1px;
  overflow: hidden;
}

.center-line {
  position: relative;
  height: 100%;
  width: 100%;
  background-color: #00b2e2;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.left-pane {
  position: fixed;
  right: 0;
  left:0;
  top: 0;
  width:0;
  height:100vh;
  overflow: hidden;
    z-index: 2;
}

.right-pane {
  position: fixed;
  right: 0;
  left:0;
  top: 0;
  width:0;
  height: 100vh;
  overflow: hidden;
  overflow: -moz-scrollbars-none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  padding: 30px;
  z-index:2;
}

.left-pane-bg {
  background-color: #18191c;
  top: 0;
  left: 0;
  right:0;
  width: 0%;
  position: fixed;
  height: 100vh;
  z-index: 1;
  -webkit-transition: .33s;
  -moz-transition: .33s;
  -o-transition: .33s;
  transition: .33s;
}

.right-pane-bg {
  background-color:white;
  position: fixed;
  right: 0;
  left:50%;
  top: 0;
  height: 100vh;
  width:0%;
  overflow: auto;
  overflow: -moz-scrollbars-none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  z-index:1;
  /*transform-origin: center left;
  transition: transform .75s cubic-bezier(.48,0,.12,1) .3s;*/
  -webkit-transition: .55s cubic-bezier(.48,0,.12,1) .3s;
  -moz-transition: .55s cubic-bezier(.48,0,.12,1) .3s;
  -o-transition: .55s cubic-bezier(.48,0,.12,1) .3s;
  transition: .55s cubic-bezier(.48,0,.12,1) .3s;
}

.right-pane-bg.open, .left-pane-bg.open {
  width:50%;
  z-index:10;
}

.right-pane.open {
  overflow:auto !important;
  width:50%;
  left:50%;
}

.left-pane.open {
  width:100%;
}

.right-pane.open, .left-pane.open {
  z-index:11;
}

.container.case-study {
  /*padding: 6em 10.5% 0 7em;*/
  padding:6em 6em 0 6em;
  opacity:0;
  position:absolute;
  left:-100px;
  /*transition: opacity .5s, transform .5s cubic-bezier(.48,0,.12,1);
  transform:translate3d(-20px,0,0) !important;*/
  visibility:hidden;
  transition: .75s cubic-bezier(.48,0,.12,1) .5s;
}

.nav-container {
  height: 100%;
  position: absolute;
  top:0;
  left:-100px;
  width:50%;
  visibility:hidden;
  display: flex;
  align-items:center;
  opacity:0;
  transition: .11s;
}

.container.case-study.open, .nav-container.open {
  opacity:1;
  visibility:visible;
  left:0px;
}

.container.case-study a {
  color:#000;
}

.hamburger {
  width:50%;
  z-index:100;
  display:flex;
  justify-content:flex-end;
  position:fixed;
  top:43px;
  right:0px;
}

/*-----Hamburger----------*/


.sidebar-toggle {

  width: 80px;
  height: 35px;

  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);

  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  cursor: pointer;
}


.sidebar-toggle span{
  display: block;
  position: absolute;
  height: 1px;
  width: 40%;
  background: #00b2e2;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}


.sidebar-toggle span:nth-child(1) {
  top: 0px;
	left:14px;
	width:20%;
}

.sidebar-toggle span:nth-child(2), .sidebar-toggle span:nth-child(3) {
  top: 8px;
	left:14px;
}

.sidebar-toggle span:nth-child(4) {
  top: 16px;
	left:14px;
  width:20%;
  margin-left:15px;
}

.sidebar-toggle:hover span:nth-child(1) {

	width:40%;

}

.sidebar-toggle:hover span:nth-child(4) {

	width:40%;
  margin-left:0px;
}


.sidebar-toggle.open span:nth-child(1) {

  top: 8px;
  width: 0%;
  left: 50%;
}

.sidebar-toggle.open span:nth-child(2) {
  background: #c0981e;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

.sidebar-toggle.open span:nth-child(3) {
  background: #c0981e;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.sidebar-toggle.open span:nth-child(4) {

  top: 8px;
  width: 0%;
  left: 50%;
}

/*---------FORMS----------*/

textarea {
  height:44px;
  width:100%;
  padding: 8px 10px;
  margin: 8px 0;
  border: 1px solid #ccc;
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
}

input[type=text], select {
  width: 100%;
  padding: 8px 20px;
  background-color:#f8f8f8;
  display: inline-block;
  border: 1px solid #dddfe0;
  box-sizing: border-box;
  -webkit-appearance: none;
  -webkit-border-radius: 3px;
  border-radius:3px;
}

input[type=text]:focus {
  background-color:white;
  border:1px solid #0097DC;
  -webkit-box-shadow: 0px 0px 6px 1px #0097DC;
  -moz-box-shadow: 0px 0px 6px 1px #0097DC;
  box-shadow: 0px 0px 6px 1px #0097DC;
}

select {
  background-image: url(../img/arrow-down.svg);
  background-repeat:no-repeat;
  background-size:20px;
  background-position: right center;
}

.field {
  margin-bottom:20px !important;
}


/*----MEDIA QUERIES-------*/

@media (max-width:1200px) {

  main, .sub-overlay {
    height:100vh;
  }

  #templateSection, #workSection, #featuredSection, #platformInfoSection{
    margin:100px auto;
  }

  #featureTemplate {
    margin-top:300px;
  }

}

@media (min-width: 1650px) {
.container {
    max-width: 1440px !important;
}
}


@media (min-width: 2550px){
.container {
    max-width: 2440px !important;
}
}

@media (max-width:991px) {
  .row-reverse {
    flex-direction:column-reverse !important;
  }

}

@media (max-width:812px) {
  main {
    margin:0 auto;
    height:100vh;
    margin-top:-50px;
    background: #014e6f;
  }

  #homePage, #webPage, #solutionsPage, #capitalPage, #companyPage, #messagingPage, #demoPage {
    background: #014e6f;
    margin:0 auto;
    margin-top:-50px;
    min-height: 100vh;
    height: 100%;
    padding-top: 120px;
    padding-bottom: 100px;
    opacity: 1 !important;
  }

#messagingPage {
  background: #222125 url(../img/hero-messaging-mobile.jpg) no-repeat 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
}

#companyPage {
  background: #222125 url(../img/hero-company-mobile.jpg) no-repeat 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
}

#solutionsPage {
  background: #222125 url(../img/hero-solutions-mobile.jpg) no-repeat 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
}

#capitalPage {
  background: #222125 url(../img/hero-capital-mobile.jpg) no-repeat 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
}

#webPage {
  background: #222125 url(../img/hero-websites-mobile.jpg) no-repeat 50% 50%;
  background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  -webkit-background-size: cover;
}

  .sub-overlay {
    display:none;
  }

  .bottom-links {
    text-align:center;
  }

  #myVideo {
    display:none;
  }

	.home-overlay-mobile{
		display: inline;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 1;
		background: url('/assets/img/homecars2.jpg');
		background-size: 100% 100%;
	}

  .video-overlay {
    display:none;
  }

  .template--img {
    padding-bottom:50px;
  }

  .btn {
    width:25%;
  }


  p {
    line-height:1.5em;
  }

  h1 {
    font-size:1.8em;
  }

  h3 {
    font-size:16px;
  }

  .center-line-container {
    display:none;
  }

  a.box--work::after {
    opacity: 1;
    margin-top: 0px;
}

/*#feature01, #feature02, #feature03 {
  background: #222125;
  height:auto;
}*/

#clientSection {
  padding:25px 0;
}

.btn-feature {
  /*padding:10px 0;*/
  border-top: none;
  border-bottom: 10px solid white;
}

.btn-feature .container {
  /*opacity:1;
  display:none;*/
}

.hide-lg {
  display:block;
}

.hide-sm {
  display:none;
}

.container.case-study, .right-pane-bg, .right-pane.open {
  display:none;
}

.nav-container.open, .left-pane-bg.open {
  width:100%;
}

nav ul li a {
  font-size:24px;
}

nav ul.secondary li a {
    font-size: 14px;
}

.nav-container {
  position:relative;
  overflow-y:auto;
  padding-top:25%;
}
}

.alignRightDesktop{
	text-align: right;
}

@media (max-width:767px) {

.alignRightDesktop{
	text-align: center;
}

  .btn {
    width:100%;
  }

	footer {
		text-align: center;
	  	padding: 20px 0px;
	}
	
	footer div{
		padding: 5px 0px;
	}

}

