 /*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

html,
button,
input,
select,
textarea {
    color: #222;
}

html {
    font-size: 10px;
    line-height: 1.4;
    overflow-x: hidden;
}

::-moz-selection {
    background: #c3d867;
    color: #000;
    text-shadow: none;
}

::selection {
    background: #c3d867;
    color: #000;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
img,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */

/**************/
/* Navigation */
/**************/
#nav {display:none;width:100%;height:100%;position:fixed;z-index:99999999;padding-left:164px;background-color:rgba(255,255,255,0.95)}
.navOn {display:block !important;}
#nav ul li a {transition:all 0.2s ease;font-size:2.4em;color:rgb(48, 53, 59);text-decoration:none;font-weight:700;font-family:'Open Sans', Helvetica, Arial, sans-serif;}
#nav ul li a:hover {background-color:#c3d867;color:#FFF;padding:0 8px;}
#nav ul {padding-top:48px;}
#nav ul li span {padding-bottom:-8px;opacity:0.62;margin-top:4px;display:block;font-size:1.1em;color:rgb(48, 53, 59);text-transform:uppercase;font-weight:300;font-family:'Open Sans', Helvetica, Arial, sans-serif;}
a.navOn:after {
    content: '';
    display: block;
    position: fixed;
    top: 144px;
    left: 24px;
    width: 138px;
    height: 134px;
    background-image: url(../img/sprite_logo.png);
    background-position: 0px 0px;
    background-repeat: no-repeat;
    transition: all 1.2s ease;
}
a#logo-link {
  display:block;
  width:48px;
  border-radius:100%;
  height:48px;
  position:fixed;
  z-index:999999999999999999999;
  left:80px;
  top:64px;
  background-color:rgba(0,0,0,0.62);
}
a#logo-link svg {
  margin-left:8px;
  margin-top:8px;
}
a#logo-link:hover {
  background-color:#000;
}


h1, h2, h3, h4, h5, h6 {
    font-family:'Open Sans', helvetica, sans-serif;
    font-weight:300;
}
h1 {
    font-size:3.6em;
}

.textcenter {
  text-align:center;
}

.hero-message {
  width:100%;
  padding-top:16%;
  color:#1f2124;
  text-shadow:0 1px 0 #FFF;
}
.hero-message-bump {
  padding-top:5% !important;
}

.hero-fade {
  transition:all ease 0.62s;
  opacity:0;
  padding-top:5%;
}
body.ready .hero-fade {
  opacity:1;
}

.hero-title {
  text-shadow:none;
  color:#FFF;
  width:auto;
  padding-top:10% !important;
  border-bottom:5px solid #c3d867;
}

html.noscroll {
    position: fixed; 
    overflow-y: scroll;
    width: 100%;
    height: 100vh;
}

#container {
    width:100%;
    height:100%;
    position:relative;
    display:block;
    float:left;
}

.cta-1 {position:absolute;bottom:6%;left:50%;margin-left:-90px;z-index:9999999;}

.cta-button {
  display:block;
  width:180px;
  height:60px;
  background-color:rgba(48,53,59,1);
  text-transform:uppercase;
  font-size:2em;
  color:#FFF;
  font-family:'Open Sans', Arial, sans-serif;
  font-weight:300;
  line-height:44px;
  text-align:center;
  text-decoration:none;
  transition: all 0.2s ease;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-bottom:0 solid rgba(255,255,255,0.1);
  text-shadow:0 -1px 0 rgba(48,53,59,1);
}
.cta-button:hover {
  -webkit-animation:btnHover 0.2s;
  -moz-animation:btnHover 0.2s;
  -o-animation:btnHover 0.2s;
  animation:btnHover 0.2s;
  border-bottom:8px solid rgba(48,53,59,1);
  background-color:rgba(27,29,31,1);
}
.no-border {
  display:none;
}
.no-border:after {
  display:none !important;
}

@-webkit-keyframes btnHover {
  0%   { opacity: 0.8; }
  100% { opacity: 1; }
}
@-moz-keyframes btnHover {
  0%   { opacity: 0.8; }
  100% { opacity: 1; }
}
@-o-keyframes btnHover {
  0%   { opacity: 0.8; }
  100% { opacity: 1; }
}
@keyframes btnHover {
  0%   { opacity: 0.8; }
  100% { opacity: 1; }
}
/* ---------------------------- */
/* Section Blocks */
/* ---------------------------- */

.block1, .block2, .block3, .block4, .block5, .block6, .block7, .block8 {
    height:100%;
    min-height:480px;
    width:100%;
    display:block;
    float:left;
    position:absolute;
    top:0;
    left:0;
}


.block2 {top:100%;z-index:9999999;}
.block3 {top:200%;}
.block4 {top:300%;}
.block5 {top:400%;}
.block6 {top:500%;}
.block7 {top:600%;height:30%;min-height:0;}

#block1:before {
    content:'';
    display:block;
    position:absolute;
    top:50%;
    left:50%;
    width:138px;
    height:134px;
    background-image:url(../img/sprite_logo.png);
    background-repeat:no-repeat;
    margin-left:-66px;
    margin-top:-104px;
    transition:all 1.2s ease;
    z-index:999999999;
}

#block1:after {
    content:'';
    display:block;
    position:absolute;
    top:50%;
    left:50%;
    width:320px;
    height:66px;
    background-image:url(../img/sprite_logo.png);
    background-position:-92px 6px;
    background-repeat:no-repeat;
    background-size:128%;
    margin-left:-153.5px;
    margin-top:40px;
    transition:all 1.2s ease;
    z-index:999999999;
}

/*
#block1:after {
    content:'';
    display:block;
    position:absolute;
    top:50%;
    left:50%;
    width:574px;
    height:134px;
    background-image:url(../img/sprite_logo.png);
    background-position:-169px 0;
    background-repeat:no-repeat;
    margin-left:-287px;
    transition:all 1.2s ease;
  }

*/



/* ---------------------------- */
/* Section Content */
/* ---------------------------- */

/* Home */

.green-button {
  background:#c3d867;
  color:#1f2124;
  text-shadow:none;
}
.green-button:hover {
  border-bottom:5px solid #c3d867;
  background-color:#a5bb44;
  color:#FFF;
}
.bg_layer {
  width:100%;
  height:100%;
  position:absolute;
  background-size:100% 100%;  
  display:block;
}

.block1_bg1 {
  bottom:0;
  background-image:url(../img/bg_1.png);
  z-index:100;
}

.block1_bg2 {
  bottom:0;
  background-image:url(../img/bg_2.png);
  z-index:99;
}
.block1_bg3 {
  bottom:0;
  background-image:url(../img/bg_3.png);
  z-index:98;
}
.block1_bg4 {
  bottom:0;
  background-image:url(../img/bg_4.png);
  z-index:97;
}
.block1_bg5 {
  background-image:url(../img/bg_5.png);
  background-repeat:repeat-x;
  background-size:1000px 935px !important;
  background-position:bottom center;
  bottom:0;
  z-index:98;
}
.block1_bg6 {
  bottom:0;
  background-image:url(../img/bg_6.png);
  z-index:95;
}


/* Base */

.slide-container {
  width:100%;
  height:100%;
  position:absolute;
}
.slide-left {
  left:0;
  width:50%;
  height:100%;
  position:absolute;
  background-color:transparent;
}

.slide-right {
  right:0;
  width:50%;
  height:100%;
  position:absolute;
  background-color:transparent;
}

.swap-slides .slide-left {
  left:inherit;
  right:0;
}
.swap-slides .slide-right {
  left:0;
  right:inherit;
}
.swap-slides .slide-right h2 {
  text-align:left;
  left:initial !important;
  right:12%;
}
.swap-slides .svg-block {
  left:6%;
}

/* Consult & Strategize Section */

.slide-left .lightbulb-animation, .slide-left .svg-block {
  width:480px;
  height:480px;
  right:6%;
  top:12%;
  display:block;
  position:absolute;
}

.slide-right h2 {
  width:640px;
  font-family:'Open Sans', sans-serif, arial, helvetica;
  color:#FFF;
  top:12%;
  font-size:3em;
  display:block;
  position:absolute;
}

.lightbulb-animation .layer1 {
  background:url(../img/base.png);
  width:100%;
  height:100%;
  display:block;
  position:absolute;
  background-size:100%;
  z-index:10;
}

.lightbulb-animation .layer2 {
  background:url(../img/circle.png);
  width:100%;
  height:100%;
  display:block;
  position:absolute;
  background-size:100%;
  z-index:9;
}

.lightbulb-animation .layer3 {
  background:url(../img/lightbulb.png);
  width:100%;
  height:100%;
  display:block;
  position:absolute;
  background-size:100%;
  z-index:11;
}

/* Other Sections */
.slide-left .svg-block {

}
@-moz-keyframes spin { 100% { -moz-transform: rotate(360deg); } }
@-webkit-keyframes spin { 100% { -webkit-transform: rotate(360deg); } }
@keyframes spin { 100% { -webkit-transform: rotate(360deg); transform:rotate(360deg); } }

.vid-block {
  margin-left:3.3%;margin-top:14.1%;
}

/* Contact Form */

form.contact-form {
  display:block;
  float:left;
  width:480px;
  float:right;
  margin-right:6%;
  margin-top:11%;
}
.controls input, .controls textarea, .controls select, .contact-form legend {
  width:100%;
  font-size:2.4em;
  font-family:'Open Sans';
  padding:12px 24px;
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
  box-sizing: border-box;         /* Opera/IE 8+ */
  opacity:0.95;
  display:block;
}
.controls input:focus, .controls textarea:focus, .controls select:focus, .contact-form legend:focus {
  opacity:1;
}
.controls select {
  padding-left:21px;
}
.controls textarea {
  min-height:120px;
}
.help-block, label {
  display:none;
}
.contact-form legend {
  background-color: rgb(48, 53, 59);
  color:#FFF;
  font-size:1.4em;
  padding:12px 24px;
  line-height:32px;
  opacity:1;
}
.btn {
  background-color: rgb(48, 53, 59);
  color:#FFF;
  font-size:1.4em;
  padding:12px 48px;
  line-height:32px;
  border:none;
  text-transform:uppercase;
  float:right;
  margin-top:5px;
  opacity:1;
  border:bottom:1px #000 solid;
  -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
  -moz-box-sizing: border-box;    /* Firefox, other Gecko */
  box-sizing: border-box;         /* Opera/IE 8+ */
}
.btn:hover {
  -webkit-animation:btnHover 0.2s;
  -moz-animation:btnHover 0.2s;
  -o-animation:btnHover 0.2s;
  animation:btnHover 0.2s;
  background-color:rgba(27,29,31,1);
}

/* Footer */
#logo {
   background-image:url(../img/sprite_logo.png);
   width:100%;
   margin-top:-16px;
   height:150px;
   top:0;
   position:absolute;
   background-repeat:no-repeat;
   background-position:center top;
}
#logo p {
  text-align:center;
  font-size:1.4em;
  width:100%;
  margin-top:-24px;
}
/* ---------------------------- */
/* Gradients */
/* ---------------------------- */

.gradient-light {
    background: rgb(255,255,255); /* Old browsers */
    background: -moz-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 0%, rgba(238,238,238,1) 100%); /* FF3.6+ */
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(255,255,255,1)), color-stop(100%,rgba(238,238,238,1))); /* Chrome,Safari4+ */
    background: -webkit-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 0%,rgba(238,238,238,1) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 0%,rgba(238,238,238,1) 100%); /* Opera 12+ */
    background: -ms-radial-gradient(center, ellipse cover, rgba(255,255,255,1) 0%,rgba(238,238,238,1) 100%); /* IE10+ */
    background: radial-gradient(ellipse at center, rgba(255,255,255,1) 0%,rgba(238,238,238,1) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eeeeee',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

.gradient-dark {
    background:#1f2124;
  }

.gradient-green {
    background: rgb(195,216,103); /* Old browsers */
    background: -moz-radial-gradient(center, ellipse cover, rgba(195,216,103,1) 0%, rgba(172,211,0,1) 100%); /* FF3.6+ */
    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,rgba(195,216,103,1)), color-stop(100%,rgba(172,211,0,1))); /* Chrome,Safari4+ */
    background: -webkit-radial-gradient(center, ellipse cover, rgba(195,216,103,1) 0%,rgba(172,211,0,1) 100%); /* Chrome10+,Safari5.1+ */
    background: -o-radial-gradient(center, ellipse cover, rgba(195,216,103,1) 0%,rgba(172,211,0,1) 100%); /* Opera 12+ */
    background: -ms-radial-gradient(center, ellipse cover, rgba(195,216,103,1) 0%,rgba(172,211,0,1) 100%); /* IE10+ */
    background: radial-gradient(ellipse at center, rgba(195,216,103,1) 0%,rgba(172,211,0,1) 100%); /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#c3d867', endColorstr='#acd300',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

/* ---------------------------- */
/* Loading Screen */
/* ---------------------------- */

.loaded {
    opacity: 0 !important;
    height: 0 !important;
    top: 17px !important;
    transition: all 1.2s ease;
}

.loaded span {
    margin-top:-104px !important;
}

.finished {
    display:none !important;
    transition: all 1.2s ease;
}

.fadeback {
    opacity:1;
}
.fadeback:before {
    background-color: rgba(255,255,255,1) !important;
}

.loading {
    position: fixed;
    z-index: 999;
    height: 2em;
    width: 2em;
    overflow: show;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 1;
    transition: all 1.2s ease;
    z-index:999999999999;
    text-align:center;
    color:#30353B !important;
    text-indent:-20px;
    text-transform:uppercase;
    line-height:140px;
    padding-left:36px;
}

.loading:before {
  content: '';
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index:9999999999999;
  height: 100%;
  background-color: rgba(255,255,255,1);
}

.loading span {
    content:'';
    display:block;
    position:fixed;
    top:50%;
    left:50%;
    width:138px;
    height:134px;
    z-index:9999999999999;
    background-image:url(../img/sprite_logo.png);
    background-repeat:no-repeat;
    margin-left:-66px;
    margin-top:-97px;
    transition:all 1.2s ease;
}

.loading:not(:required) {
  font: 0/0 ;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.loading:not(:required):after {
  content: '';
  display: block;
  font-size: 10px;
  width: 1em;
  height: 1em;
  margin-top:-6em;
  -webkit-animation: spinner 1500ms infinite linear;
  -moz-animation: spinner 1500ms infinite linear;
  -ms-animation: spinner 1500ms infinite linear;
  -o-animation: spinner 1500ms infinite linear;
  animation: spinner 1500ms infinite linear;
  border-radius: 0.5em;
  -webkit-box-shadow: #30363b 1.5em 0 0 0, #30363b 1.1em 1.1em 0 0, #30363b 0 1.5em 0 0, #30363b -1.1em 1.1em 0 0, rgba(0, 0, 0, 0.5) -1.5em 0 0 0, rgba(0, 0, 0, 0.5) -1.1em -1.1em 0 0, #30363b 0 -1.5em 0 0, #30363b 1.1em -1.1em 0 0;
  box-shadow: #DDD 1.5em 0 0 0, #DDD 1.1em 1.1em 0 0, #DDD 0 1.5em 0 0, #DDD -1.1em 1.1em 0 0, #DDD -1.5em 0 0 0, #DDD -1.1em -1.1em 0 0, #DDD 0 -1.5em 0 0, #DDD 1.1em -1.1em 0 0;
}

/* Animation */
@-webkit-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-o-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}







/* ==========================================================================
   Media Queries
   ========================================================================== */

// Small screens
@media only screen {
  

 } /* Define mobile styles */

@media only screen and (max-width: 40em) {
  a.navOn:after {
    display:none !important;
  }
  a#logo-link {z-index:99999999 !important;display:none;}
  .visible-nav {display:block !important;}
  .block2 {z-index:99999998 !important;}
  .block1 {z-index:99999997 !important;}

  .bg_layer {
    background-size:cover;
    background-position:center bottom;
    top:0 !important;
  }
  .block1_bg6 {top:180px !important;}
  .block1_bg4 {top:120px !important;}
  .block1_bg3 {top:-20px !important;}
  #nav {
    padding-left:0;
    bottom:0 !important;
  }
  #nav ul {
    padding-top:1%;
    padding-right:80px;
    text-align:right;
  }
  .hero-message {
    width:94%;
    padding-left:3%;
  }
  .svg-video video {
    width:188px !important;
    height:106px !important;
  }
  .swap-slides .slide-left {
  left:inherit;
  right:0;
}
.swap-slides .slide-right {
  left:0;
  right:inherit;
}
.swap-slides .slide-right h2 {
  width:88%;
    text-align:center;
    left:6% !important;
    margin-top:6%;
}
.swap-slides .svg-block {
  left:6%;
}
  .vid-block {
    width:94%;margin-left:6px;margin-top:13.8%;
  }
  a#logo-link {
    top:4%;
    right:2%;
    left:inherit;
    background-color:#000 !important;
  }
  a#logo-link svg {
    margin-left:8px;
  }
  a#logo-link:hover:after {
    display:none;
  }
  a#logo-link:hover {
    background-color:transparent;
  }
  form.contact-form {
    width:88%;
    margin-left:5%;
  }
  .controls input, .controls textarea, .controls select, .contact-form legend {
   width:100%;
   display:block;
   border:none;
   border:1px solid #DDD;
   padding:4px 9px;
  }
  .contact-form legend {
    display:none !important;
  }
  form.contact-form {margin-top:6%;}
  .mobile {
    top:inherit !important;
    bottom:0;
    background-color:rgb(195,216,103);
  }
  .mobile h2 {
    text-align:left !important;
  }
  .controls textarea {
    min-height:90px;
  }
  .controls select {
    text-indent:12px;
    background-color:#FAFAFA;
    color:#000;
  }

  .btn {padding:6px 24px;}
  .contact-form legend {padding:6px 24px;}
  .lightbulb-animation .layer2 {
    -webkit-animation:spin 6s linear infinite;
    -moz-animation:spin 6s linear infinite;
    animation:spin 6s linear infinite;
  }
  h1 {
    font-size:1.8em;
  }
  h2, .slide-right h2 {
    font-size:1.5em;
  }
  .hero-message {
    padding-top:6%;
  }
  .hero-message br {
    display:none;
  }
  #block1:before {
    margin-top:-67px;
  }
  #block1:after {
    display:none;
  }
  .loading span {
    margin-top:-67px;
  }
  .slide-right h2 {
    width:88%;
    text-align:center;
    left:6% !important;
    margin-top:9%;
  }
  .slide-left .lightbulb-animation, .slide-left .svg-block {
    width:200px;
    height:200px;
    margin:10px auto 0;
    left:0 !important;
    display:block;
    position:absolute;
    right:0;top:0;bottom:0;
  }
  .slide-left {
    left:0;
    width:100%;
    height:50%;
    position:absolute;
    background-color:transparent;
  }
.slide-right {
    right:0;
    width:100%;
    height:50%;
    top:180px;
    position:absolute;
   background-color:transparent;
  }
  .layer1, .layer2, .layer3 {
    right:0 !important;
  }
  .cta-button {
    font-size:1.4em;
    width:140px;
    height:40px;
    line-height:28px;
  }
  .cta-1 {
    margin-left:-70px;
    bottom:5%;
  }
  .svg-block {
    right:0 !important;
  }
  #logo {height:72px;background-size:100%;bottom:inherit;top:0;margin-top:32px;}
  a.no-border {
    display:none !important;
  }
  .btn, .controls input, .controls textarea, .controls select, .contact-form legend {font-size:1.2em;}
  #block6 .slide-left {z-index:99999998;}
  #block7 #logo{background:none !important;}

} /* max-width 640px, mobile-only styles, use when QAing mobile issues */

// Medium screens
@media only screen and (min-width: 40.063em) {
  h1 {
    font-size:1.8em;
  }
  h2, .slide-right h2 {
    font-size:1.5em;
  }
} /* min-width 641px, medium screens */

@media only screen and (min-width: 40.063em) and (max-width: 64em) {
  h1 {
    font-size:2.4em;
  }
  h2, .slide-right h2 {
    font-size:2em;
  }
  .slide-right h2 {
    width:80%;
    top:8%;
  }
  .slide-left .lightbulb-animation, .slide-left .svg-block {
    width:320px;
    height:320px;
    top:4%;
    right:6%;
    display:block;
    position:absolute;
  }
  form.contact-form {
    width:320px;
  }
  .controls input, .controls textarea, .controls select, .contact-form legend {
   width:100%;
   font-size:1.4em;
  }
  .controls textarea {
    min-height:120px;
  }
  .vid-block {
    width:93.8%;margin-left:10px;margin-top:13.8%;
  }
  .btn {padding:6px 24px;}
  .contact-form legend {padding:6px 24px;}
  .bg_layer {background-size:cover;background-position:center top;background-color:transparent;}
  a#logo-link svg {
    display:none;
  }
  a#logo-link {
    background-color:transparent;
  }
  a#logo-link:hover {
    background-color:transparent;
  }
  a#logo-link:after {
    content: '';
    display: block;
    position: fixed;
    top:10px;
    left:20px;
    width: 36px;
    height: 36px;
    background-image: url(../img/sprite_logo.png);
    background-position: 0px -239px;
    background-repeat: no-repeat;
    transition: all 1.2s ease;
  }
  nav {display:block !important;height:54px !important;top:0 !important;}
  nav ul {width:438px;position:relative;margin:0 auto;display:block;text-align:center;}
  #nav ul li a {padding:6px 8px;font-weight:300 !important;}
  #nav ul li a:hover {padding:2px 8px;}
  nav ul li {float:left;display:block;margin-right:0;line-height:54px;font-size:0.7em;}
  nav ul li span {display:none !important;}
  a#logo-link {pointer-events:none !important;}
  #nav ul {padding-top:0;}
  #nav {padding-left:0;}
  .controls input, .controls textarea, .controls select, .contact-form legend {
    font-size:1.8em;
    padding:6px 12px;
  }
  
 } /* min-width 641px and max-width 1024px, use when QAing tablet-only issues */

// Large screens
@media only screen and (min-width: 64.063em) {
 } /* min-width 1025px, large screens */

@media only screen and (min-width: 64.063em) and (max-width: 90em) {

  h1 {
    font-size:2.8em;
  }
  h2, .slide-right h2 {
    font-size:2.2em;
  }
  .hero-message {
    padding-top:4%;
  }
.slide-right h2 {
    width:460px;
    top:16%;
  }
  .slide-right {
  }
  .slide-left .lightbulb-animation, .slide-left .svg-block {
    width:320px;
    height:320px;
    top:10%;
    right:12%;
    display:block;
    position:absolute;
  }
  .vid-block {
    width:93.8%;margin-left:10px;margin-top:14.1%;
  }
  .bg_layer {background-size:cover;background-position:center bottom;}
  a#logo-link svg {
    display:none;
  }
  a#logo-link {
    background-color:transparent;
  }
  a#logo-link:hover {
    background-color:transparent;
  }
  a#logo-link:after {
    content: '';
    display: block;
    position: fixed;
    top:10px;
    left:20px;
    width: 36px;
    height: 36px;
    background-image: url(../img/sprite_logo.png);
    background-position: 0px -239px;
    background-repeat: no-repeat;
    transition: all 1.2s ease;
  }
  nav {display:block !important;height:54px !important;top:0 !important;}
  nav ul {width:438px;position:relative;margin:0 auto;display:block;text-align:center;}
  #nav ul li a {padding:8px;font-weight:300;font-weight:300;}
  #nav ul li a:hover {padding:2px 8px;}
  nav ul li {float:left;display:block;margin-right:0;line-height:54px;font-size:0.7em;}
  nav ul li span {display:none !important;}
  a#logo-link {pointer-events:none !important;}
  #nav ul {padding-top:0;}
  #nav {padding-left:0;}
  .hero-message {padding-top:10%;}
  .controls input, .controls textarea, .controls select, .contact-form legend {
    font-size:1.8em;
    padding:6px 12px;
  }

} /* min-width 1025px and max-width 1440px, use when QAing large screen-only issues */

// XLarge screens
@media only screen and (min-width: 90.063em) { 
} /* min-width 1441px, xlarge screens */

@media only screen and (min-width: 90.063em) and (max-width: 180em) {
  .slide-right h2 {
    top:20%;
  }
  .slide-left .lightbulb-animation, .slide-left .svg-block {top:12%;}
  a#logo-link svg {
    display:none;
  }
  a#logo-link {
    background-color:transparent;
  }
  a#logo-link:hover {
    background-color:transparent;
  }
  a#logo-link:after {
    content: '';
    display: block;
    position: fixed;
    top:10px;
    left:20px;
    width: 36px;
    height: 36px;
    background-image: url(../img/sprite_logo.png);
    background-position: 0px -239px;
    background-repeat: no-repeat;
    transition: all 1.2s ease;
  }
  nav {display:block !important;height:54px !important;top:0 !important;}
  nav ul {width:588px;position:relative;margin:0 auto;display:block;text-align:center;}
  #nav ul li a {padding:12px 16px;font-weight:300;}
  #nav ul li a:hover {padding:4px 16px;}
  nav ul li {float:left;display:block;margin-right:0;line-height:54px;font-size:0.8em;}
  nav ul li span {display:none !important;}
  a#logo-link {pointer-events:none !important;}
  #nav ul {padding-top:0;}
  #nav {padding-left:0;}
  .hero-message {padding-top:8%;}

 } /* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues */

// XXLarge screens
@media only screen and (min-width: 120.063em) {
  .slide-right h2 {
    top:20%;
  }
  .slide-left .lightbulb-animation, .slide-left .svg-block {top:12%;}

 } /* min-width 1921px, xxlarge screens */
}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {

}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}