@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Playfair+Display:400,700|Roboto:100,300,400,500,700|Roboto+Condensed:300,400");
/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *  `em` units.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active, a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Addresses styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9/10.
 * 2. Improves image quality when scaled in IE 7.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *  Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 * 4. Improves appearance and consistency in all browsers.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *  and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *  `input` and others.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *  Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 *  Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 * 3. Corrects text not wrapping in Firefox 3.
 * 4. Corrects alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

.nav-active nav ul li {
  animation-name: navFade;
  -webkit-animation-name: navFade;
  animation-duration: .25s;
  -webkit-animation-duration: 25s;
  animation-timing-function: ease-in-out;
  -webkit-animation-timing-function: ease-in-out; }

.btn-future .icon-arrow,
.btn-technology .icon-arrow,
.btn-sample .icon-arrow {
  animation: futureButton 2s infinite;
  -moz-animation: futureButton 2s infinite;
  -webkit-animation: futureButton 2s infinite;
  -o-animation: futureButton 2s infinite; }

.nav-active nav ul li:nth-child(1) {
  animation-delay: 0.25s;
  -webkit-animation-delay: 0.25s; }

.nav-active nav ul li:nth-child(2) {
  animation-delay: 0.5s;
  -webkit-animation-delay: 0.5s; }

.nav-active nav ul li:nth-child(3) {
  animation-delay: 0.75s;
  -webkit-animation-delay: 0.75s; }

.nav-active nav ul li:nth-child(4) {
  animation-delay: 1s;
  -webkit-animation-delay: 1s; }

@keyframes futureButton {
  0% {
    transform: translateY(0px); }
  50% {
    transform: translateY(10px); }
  100% {
    transform: translateY(0px); } }

@keyframes rotateBkgd {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes sk-bouncedelay {
  0%, 80%, 100% {
    transform: scale(0); }
  40% {
    transform: scale(1); } }

@font-face {
  font-family: 'Geogrotesque Regular';
  src: url("../fonts/geogrotesque/GeogrotesqueReg.eot");
  src: url("../fonts/geogrotesque/GeogrotesqueReg.woff2") format("woff2"), url("../fonts/geogrotesque/GeogrotesqueReg.woff") format("woff"), url("../fonts/geogrotesque/GeogrotesqueReg.ttf") format("truetype"), url("../fonts/geogrotesque/GeogrotesqueReg.otf") format("opentype"); }

.btn {
  border: none;
  border-radius: 0;
  outline: none; }
  .btn:focus, .btn:active, .btn:active:focus, .btn.active {
    box-shadow: none;
    outline: none; }

input:-webkit-autofill,
input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px white inset;
  -webkit-text-fill-color: #333; }

.wrapper-outer .contact-wrapper {
  font-weight: 300;
  color: white;
  width: 100vw;
  height: 100%;
  padding: 0 10vw;
  background-color: #252525;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  transform: translateX(100vw);
  transition: 300ms transform; }
  .wrapper-outer .contact-wrapper .nav-close {
    width: 22px;
    height: 22px;
    position: fixed;
    top: 30px;
    left: 30px;
    display: block;
    transition: 300ms transform;
    cursor: pointer;
    z-index: 100; }
    .wrapper-outer .contact-wrapper .nav-close > * {
      transition: all 300ms linear; }
    .wrapper-outer .contact-wrapper .nav-close > span {
      position: absolute; }
    .wrapper-outer .contact-wrapper .nav-close > span:first-child {
      width: 2px;
      height: 20px;
      background-color: white;
      display: inline-block;
      position: absolute;
      transform: rotate(-45deg);
      top: 2px;
      left: 10px; }
    .wrapper-outer .contact-wrapper .nav-close > span:last-child {
      position: absolute;
      transform: rotate(45deg);
      top: 4px;
      left: 17px; }
      .wrapper-outer .contact-wrapper .nav-close > span:last-child span:first-child {
        width: 2px;
        height: 16px;
        background-color: white;
        display: inline-block;
        position: absolute; }
      .wrapper-outer .contact-wrapper .nav-close > span:last-child span:last-child {
        width: 2px;
        height: 2px;
        background-color: white;
        display: inline-block;
        position: absolute;
        bottom: -20px; }
  .wrapper-outer .contact-wrapper .logo {
    width: 80px;
    height: auto;
    position: absolute;
    right: 30px;
    top: 34px; }
  .wrapper-outer .contact-wrapper .form-intro {
    transform: translateY(-130px);
    transition: all 300ms; }
    .wrapper-outer .contact-wrapper .form-intro h1 {
      font-size: 1.3rem;
      line-height: 1.4;
      color: white;
      margin: 0 0 15px; }
    .wrapper-outer .contact-wrapper .form-intro p {
      font-weight: 100;
      color: rgba(255, 255, 255, 0.5);
      margin: 0 0 60px 10px;
      overflow: hidden; }
    .wrapper-outer .contact-wrapper .form-intro.is-hidden {
      height: 0;
      transition: all 300ms linear; }
  .wrapper-outer .contact-wrapper .contact-form {
    height: auto;
    margin-top: 190px;
    position: relative;
    transition: opacity 300ms linear; }
    .wrapper-outer .contact-wrapper .contact-form .grecaptcha-badge,
    .wrapper-outer .contact-wrapper .contact-form #hiddenRecaptcha-error {
      visibility: hidden; }
    .wrapper-outer .contact-wrapper .contact-form.is-valid {
      opacity: 0;
      pointer-events: none; }
    .wrapper-outer .contact-wrapper .contact-form form.form-stacked {
      position: absolute;
      width: 100%;
      height: 60vh;
      top: 0;
      transform: translateY(0);
      transition: all 300ms linear;
      /* Inline Fields */
      /* Checkboxes */ }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked.active {
        height: calc(60vh + 100px);
        transform: translateY(-100px); }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-group:not(.captcha) {
        margin: 0  0 50px;
        width: 100%;
        max-width: 700px;
        opacity: 0;
        position: absolute;
        transform: translateY(120px);
        transition: all 300ms ease-in-out;
        pointer-events: none; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-group:not(.captcha):nth-of-type(5) label {
          display: block;
          margin-bottom: 16px; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-group:not(.captcha).is-active {
          opacity: 1;
          transform: translateY(0);
          pointer-events: all; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-group:not(.captcha).is-complete {
          opacity: 0;
          transform: translateY(-120px); }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .grecaptcha-badge {
        right: calc(-10vw - 186px) !important;
        bottom: 0 !important;
        box-shadow: none !important; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .grecaptcha-badge:hover {
          right: -10vw !important; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions {
        position: fixed;
        bottom: 60px; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn {
          font-family: "Playfair Display", serif;
          font-size: .85rem;
          font-weight: 100;
          font-style: italic;
          -webkit-font-smoothing: antialiased;
          text-rendering: optimizeLegibility;
          -moz-osx-font-smoothing: grayscale;
          background-color: transparent;
          box-shadow: none !important;
          outline: none !important;
          padding: 6px;
          margin-top: 8px;
          position: absolute;
          left: 65px;
          transition: all 300ms ease-in-out;
          opacity: 0;
          pointer-events: none; }
          .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn:after {
            content: none; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions.is-valid .btn {
          pointer-events: all;
          opacity: 1;
          transition: all 300ms ease-in-out; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn-form {
          width: 50px;
          height: 50px;
          border: 1px solid #555;
          border-radius: 50%;
          margin-right: 20px;
          padding-top: 14px;
          display: inline-block;
          position: relative;
          cursor: pointer;
          transition: all 300ms ease-in-out;
          opacity: 1;
          pointer-events: all;
          transition: all 300ms ease-in-out; }
          .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn-form:hover {
            border-color: white; }
            .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn-form:hover span {
              background-color: white; }
          .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn-form span {
            width: 1px;
            height: 8px;
            background-color: #555;
            position: absolute;
            transition: all 300ms ease-in-out; }
            .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn-form span:first-of-type {
              height: 20px;
              left: 50%; }
            .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn-form span:nth-of-type(2) {
              left: calc(50% - 3px);
              transform: rotate(45deg); }
            .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn-form span:last-of-type {
              left: calc(50% + 3px);
              transform: rotate(-45deg); }
          .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn-form:first-of-type {
            transform: rotate(-90deg); }
          .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn-form:last-of-type {
            transform: rotate(90deg); }
          .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn-form.error {
            border-color: #f83769; }
            .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn-form.error span {
              background-color: #f83769; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .control-label,
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-control {
        font-size: 1.2rem;
        font-weight: 100;
        line-height: 1.2;
        color: #7e7e7e;
        width: auto;
        margin-bottom: 8px;
        display: inline-block;
        background: none;
        border: none;
        box-shadow: none !important;
        border-radius: 0;
        position: relative; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .control-label {
        margin-right: 8px; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .checkbox-group .control-label {
        margin-bottom: 20px;
        display: block; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .checkbox-group .checkbox {
        display: inline-block;
        margin: 0 10px 10px 0; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .checkbox-group .checkbox label {
          font-size: .72rem;
          font-weight: 300;
          color: rgba(255, 255, 255, 0.5);
          text-transform: uppercase;
          padding: 6px 10px;
          border: 1px solid rgba(255, 255, 255, 0.5); }
          .wrapper-outer .contact-wrapper .contact-form form.form-stacked .checkbox-group .checkbox label.error {
            display: none !important; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .checkbox-group .checkbox input {
          position: absolute;
          left: -9999px; }
          .wrapper-outer .contact-wrapper .contact-form form.form-stacked .checkbox-group .checkbox input:checked + label {
            color: white;
            border-color: white; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-control {
        color: white;
        padding: 0 0 10px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.8);
        position: relative;
        overflow: visible; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-control:focus, .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-control:valid {
          border-color: rgba(255, 255, 255, 0.3); }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-control::-webkit-input-placeholder {
        /* Chrome/Opera/Safari */
        color: white;
        -webkit-transition: all 300ms ease-in-out;
        transition: all 300ms ease-in-out; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-control::-moz-placeholder {
        /* Firefox 19+ */
        color: white;
        -moz-transition: all 300ms ease-in-out;
        transition: all 300ms ease-in-out; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-control:-ms-input-placeholder {
        /* IE 10+ */
        color: white;
        -ms-transition: all 300ms ease-in-out;
        transition: all 300ms ease-in-out; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-control:-moz-placeholder {
        /* Firefox 18- */
        color: white;
        -moz-transition: all 300ms ease-in-out;
        transition: all 300ms ease-in-out; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-control:focus::-webkit-input-placeholder,
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-control:valid::-webkit-input-placeholder {
        color: rgba(255, 255, 255, 0.4);
        opacity: 0;
        visibility: visible !important; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked textarea.form-control {
        resize: none;
        padding: 0;
        margin-left: 0;
        width: inherit; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked input.error {
        border-bottom: 1px solid #f83769 !important; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked label.error {
        font-weight: 300;
        color: rgba(126, 126, 126, 0.7);
        width: 100%;
        margin: 10px 0 0;
        position: relative; }
  .wrapper-outer .contact-wrapper .form-message {
    position: absolute;
    top: 34%;
    opacity: 0;
    pointer-events: none;
    transform: translateY(150px);
    transition: all 300ms ease-in-out; }
    .wrapper-outer .contact-wrapper .form-message.active {
      opacity: 1;
      transform: translateY(0); }
    .wrapper-outer .contact-wrapper .form-message h1 {
      font-size: 1.5rem;
      line-height: 1.4;
      color: rgba(255, 255, 255, 0.5);
      margin: 0 0 15px; }
      .wrapper-outer .contact-wrapper .form-message h1 .first-name {
        color: white; }
    .wrapper-outer .contact-wrapper .form-message p {
      font-size: 1.16rem;
      color: rgba(255, 255, 255, 0.5);
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale; }
  .wrapper-outer .contact-wrapper .loader {
    margin: 0 auto;
    width: 70px;
    text-align: center;
    opacity: 0;
    position: relative;
    transition: opacity 0.3s ease-in-out;
    top: 45%; }
    .wrapper-outer .contact-wrapper .loader.active {
      opacity: 1;
      transition: opacity 0.3s ease-in-out; }
    .wrapper-outer .contact-wrapper .loader > div {
      width: 10px;
      height: 10px;
      background-color: white;
      border-radius: 100%;
      display: inline-block;
      animation: sk-bouncedelay 1.4s infinite ease-in-out both; }
    .wrapper-outer .contact-wrapper .loader .bounce1 {
      animation-delay: -0.32s; }
    .wrapper-outer .contact-wrapper .loader .bounce2 {
      animation-delay: -0.16s; }

@media (min-width: 650px) {
  .wrapper-outer .contact-wrapper {
    width: 60vw;
    padding: 0 5vw;
    left: 40vw;
    z-index: 99;
    transform: translateX(60vw);
    transition: 300ms transform; }
    .wrapper-outer .contact-wrapper .logo {
      width: 170px;
      height: auto;
      right: 30px;
      top: 60px; }
    .wrapper-outer .contact-wrapper .form-intro {
      transform: translateY(-100px); }
      .wrapper-outer .contact-wrapper .form-intro h1 {
        font-size: 1.5rem;
        line-height: 1.4;
        color: white;
        margin: 0 0 15px; }
      .wrapper-outer .contact-wrapper .form-intro p {
        font-weight: 100;
        color: rgba(255, 255, 255, 0.5);
        margin: 0 0 60px 10px;
        overflow: hidden; }
    .wrapper-outer .contact-wrapper .contact-form {
      margin-top: 33vh; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked {
        height: 35vh;
        /* Checkboxes */ }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked.active {
          height: 45vh; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions {
          bottom: 0; }
          .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-actions .btn:after {
            content: ""; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .grecaptcha-badge {
          right: calc(-5vw - 186px) !important; }
          .wrapper-outer .contact-wrapper .contact-form form.form-stacked .grecaptcha-badge:hover {
            right: -5vw !important; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .control-label,
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .form-control {
          font-size: 1.6rem;
          line-height: 1.2;
          margin-bottom: 12px; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .checkbox-group .control-label {
          margin-bottom: 20px; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .checkbox-group .checkbox {
          display: inline-block;
          margin: 0 15px 15px 0; }
          .wrapper-outer .contact-wrapper .contact-form form.form-stacked .checkbox-group .checkbox label {
            font-size: .8rem;
            font-weight: 300;
            padding: 10px 20px; }
    .wrapper-outer .contact-wrapper .nav-close {
      display: none; } }

@media (min-width: 1200px) {
  .wrapper-outer .contact-wrapper {
    width: 65vw;
    padding: 0 10vw;
    left: 35vw;
    transform: translateX(65vw); }
    .wrapper-outer .contact-wrapper .logo {
      right: 60px;
      top: 60px; }
    .wrapper-outer .contact-wrapper .contact-form {
      margin-top: 33vh; }
      .wrapper-outer .contact-wrapper .contact-form form.form-stacked .grecaptcha-badge {
        right: calc(-10vw - 186px) !important; }
        .wrapper-outer .contact-wrapper .contact-form form.form-stacked .grecaptcha-badge:hover {
          right: -10vw !important; }
    .wrapper-outer .contact-wrapper .form-intro h1 {
      font-size: 1.7rem;
      line-height: 1.4; }
    .wrapper-outer .contact-wrapper .form-intro p {
      font-weight: 100;
      margin: 0 0 60px 10px; } }

.promo .wrapper-outer section .logo-white {
  width: 130px;
  height: auto;
  position: absolute;
  right: 15px;
  top: 34px;
  z-index: 10; }
  .promo .wrapper-outer section .logo-white img {
    width: 100%;
    height: auto; }

.promo .wrapper-outer section header {
  width: 100%;
  height: 220px;
  background-color: #252525;
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  overflow: hidden; }
  .promo .wrapper-outer section header h1 {
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.3;
    color: white;
    width: 100%;
    margin: 140px 0 0 20px;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale; }
  .promo .wrapper-outer section header h3 {
    font-family: "Roboto Condensed", sans-serif;
    font-size: .9rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #aea48e;
    position: absolute;
    top: 34px;
    left: 60px;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale; }

.promo .wrapper-outer section .wrapper-content {
  padding: 260px 20px 60px;
  position: relative; }

@media (min-width: 650px) {
  .promo .wrapper-outer section header {
    height: 260px; }
    .promo .wrapper-outer section header .logo-white {
      width: 170px;
      right: 60px;
      top: 60px; }
    .promo .wrapper-outer section header h1 {
      font-size: 2.2rem;
      margin: 180px 0 0 60px; }
    .promo .wrapper-outer section header h3 {
      top: 64px;
      left: 80px; }
  .promo .wrapper-outer section .wrapper-content {
    max-width: 1260px;
    margin-left: auto;
    margin-right: auto;
    padding: 320px 60px 80px; }
    .promo .wrapper-outer section .wrapper-content:after {
      content: " ";
      display: block;
      clear: both; } }

@media (min-width: 1400px) {
  .promo .wrapper-outer section header h1 {
    width: 1140px;
    margin: 180px auto 0; }
  .promo .wrapper-outer section header h3 {
    top: 84px;
    left: 100px; } }

.promo #Growbots header .bkgd {
  position: absolute;
  width: 130vw;
  height: 130vw;
  border-radius: 50%;
  overflow: hidden;
  top: -200px;
  left: calc(50% - 65vw);
  transition: opacity 300ms ease-in-out;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0); }
  .promo #Growbots header .bkgd .top {
    animation: rotateBkgd 750s linear infinite;
    transform: rotate(10deg); }
  .promo #Growbots header .bkgd .bottom {
    animation: rotateBkgd 1200s linear infinite; }
  .promo #Growbots header .bkgd .top,
  .promo #Growbots header .bkgd .bottom {
    position: absolute;
    left: -10vw;
    right: -10vw;
    top: -10vw;
    bottom: -10vw;
    width: 150vw;
    height: 150vw;
    background: url(../img/bkgd-growbots.svg) no-repeat center center;
    background-size: 100%;
    opacity: .5; }

@media (min-width: 650px) {
  .promo #Growbots header .bkgd {
    width: 70vw;
    height: 70vw;
    top: -10vw;
    left: calc(50% - 35vw); }
    .promo #Growbots header .bkgd .top,
    .promo #Growbots header .bkgd .bottom {
      left: -10vw;
      right: -10vw;
      top: -10vw;
      bottom: -10vw;
      width: 90vw;
      height: 90vw;
      opacity: .5; } }

.promo #Growbots .wrapper-content .wrapper-text {
  color: #252525; }
  .promo #Growbots .wrapper-content .wrapper-text p {
    font-size: .85rem;
    line-height: 1.8; }
  .promo #Growbots .wrapper-content .wrapper-text h2 {
    font-size: .85rem;
    margin-bottom: 4px; }

.promo #Growbots .wrapper-content .wrapper-form {
  padding-top: 60px; }
  .promo #Growbots .wrapper-content .wrapper-form .form-icon {
    width: 40px;
    height: auto;
    margin-top: 16px;
    float: left; }
  .promo #Growbots .wrapper-content .wrapper-form p {
    font-size: .8rem; }
  .promo #Growbots .wrapper-content .wrapper-form .alert-success {
    color: white;
    margin: 30px 0 0;
    background: #c3bcac;
    border: none;
    border-radius: 0; }
  .promo #Growbots .wrapper-content .wrapper-form .form-group {
    position: relative;
    margin: 34px 0 0; }
    .promo #Growbots .wrapper-content .wrapper-form .form-group input {
      font-family: "Roboto", sans-serif;
      font-size: .85rem;
      color: transparent;
      height: 44px;
      background-color: #F1F1F1;
      border: none;
      border-radius: 0;
      outline: none;
      box-shadow: none;
      transition: color 400ms; }
      .promo #Growbots .wrapper-content .wrapper-form .form-group input:focus, .promo #Growbots .wrapper-content .wrapper-form .form-group input:valid {
        color: #252525;
        box-shadow: none; }
      .promo #Growbots .wrapper-content .wrapper-form .form-group input::-webkit-input-placeholder {
        color: transparent; }
      .promo #Growbots .wrapper-content .wrapper-form .form-group input::-moz-placeholder {
        color: transparent; }
      .promo #Growbots .wrapper-content .wrapper-form .form-group input::-ms-input-placeholder {
        color: transparent; }
    .promo #Growbots .wrapper-content .wrapper-form .form-group label {
      font-size: .85rem;
      font-weight: 300;
      color: #727272;
      position: absolute;
      top: 13px;
      left: 15px;
      pointer-events: none;
      transition: all 400ms; }
    .promo #Growbots .wrapper-content .wrapper-form .form-group .text-muted {
      font-size: .75rem;
      color: #aea48e;
      position: absolute;
      top: -18px;
      right: 0;
      transition: opacity 400ms;
      display: none; }
    .promo #Growbots .wrapper-content .wrapper-form .form-group .form-control:focus ~ label {
      font-size: .75rem;
      top: -18px;
      left: 0;
      color: #aea48e; }
    .promo #Growbots .wrapper-content .wrapper-form .form-group .form-control:valid ~ label {
      top: -18px;
      left: 0;
      opacity: 0; }
    .promo #Growbots .wrapper-content .wrapper-form .form-group .form-control:valid ~ .text-muted {
      opacity: 0; }
  .promo #Growbots .wrapper-content .wrapper-form .form-actions {
    margin: 30px 0 0; }
    .promo #Growbots .wrapper-content .wrapper-form .form-actions:after {
      content: "";
      display: table;
      clear: both; }
    .promo #Growbots .wrapper-content .wrapper-form .form-actions .btn {
      font-family: "Playfair Display", serif;
      font-size: .705rem;
      font-weight: 400;
      font-size: 0.705rem;
      letter-spacing: .15rem;
      text-transform: uppercase;
      height: 46px;
      width: 100%;
      background-color: #888888;
      transition: background-color 300ms; }

@media (min-width: 650px) {
  .promo #Growbots .wrapper-content .wrapper-text {
    width: 49.1525423729%;
    float: left;
    margin-right: 1.6949152542%; }
  .promo #Growbots .wrapper-content .wrapper-form {
    padding-top: 0;
    width: 40.6779661017%;
    float: right;
    margin-right: 0; } }

@media (min-width: 1020px) {
  .promo #Growbots .wrapper-content .wrapper-text {
    width: 57.6271186441%;
    float: left;
    margin-right: 1.6949152542%; }
  .promo #Growbots .wrapper-content .wrapper-form {
    width: 32.2033898305%;
    float: right;
    margin-right: 0; } }

@media (min-width: 1200px) {
  .promo #Growbots .wrapper-content .wrapper-form .form-actions .btn:hover {
    background-color: #555555; } }

@media (min-width: 1400px) {
  .promo #Growbots .wrapper-content .wrapper-form .form-actions .btn {
    width: 170px; } }

.page-template-work .wrapper-outer {
  /* Work Samples *****************************************/ }
  .page-template-work .wrapper-outer .full-screen {
    height: auto; }
  .page-template-work .wrapper-outer .btn-nav span {
    background-color: #000 !important; }
  .page-template-work .wrapper-outer .nav-work {
    display: none; }
    .page-template-work .wrapper-outer .nav-work .marker {
      display: none; }
    .page-template-work .wrapper-outer .nav-work ul li {
      font-family: "Playfair Display", serif;
      letter-spacing: .05em;
      text-align: center;
      color: white;
      margin: 5px 0;
      padding: 10px 5px 10px 0;
      opacity: .4;
      cursor: pointer;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale; }
      .page-template-work .wrapper-outer .nav-work ul li.active {
        opacity: 1; }
  .page-template-work .wrapper-outer .content-wrapper {
    height: 100%;
    margin: 0 auto;
    padding: 0 50px; }
    .page-template-work .wrapper-outer .content-wrapper .logo {
      width: 60px;
      height: auto;
      position: absolute;
      right: 15px;
      top: 34px;
      z-index: 10; }
      .page-template-work .wrapper-outer .content-wrapper .logo img {
        width: 100%;
        height: auto; }
  .page-template-work .wrapper-outer .intro {
    z-index: 2; }
    .page-template-work .wrapper-outer .intro .content-text {
      margin-bottom: 40px; }
      .page-template-work .wrapper-outer .intro .content-text h1 {
        font-family: "Playfair Display", serif;
        font-size: 2.1rem;
        line-height: 1.3;
        width: 70%;
        margin-bottom: 30px; }
        .page-template-work .wrapper-outer .intro .content-text h1 strong {
          font-weight: 300;
          color: #aea48e; }
      .page-template-work .wrapper-outer .intro .content-text p {
        font-size: .8rem;
        line-height: 1.6; }
      .page-template-work .wrapper-outer .intro .content-text > div {
        background-color: white;
        position: relative;
        z-index: 2;
        padding: 24px 0; }
    .page-template-work .wrapper-outer .intro .content-quote {
      position: relative; }
      .page-template-work .wrapper-outer .intro .content-quote .quote {
        font-family: "Playfair Display", serif;
        font-style: italic;
        font-size: .88rem;
        line-height: 1.5;
        text-align: center;
        color: #4443a4;
        padding: 40px 0;
        width: 100%;
        background-color: white;
        position: relative;
        transition: opacity 600ms ease-in-out;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
        -moz-osx-font-smoothing: grayscale; }
        .page-template-work .wrapper-outer .intro .content-quote .quote.active {
          opacity: 1; }
        .page-template-work .wrapper-outer .intro .content-quote .quote + .quote {
          margin-top: 60px; }
        .page-template-work .wrapper-outer .intro .content-quote .quote:nth-child(2) p:nth-child(1),
        .page-template-work .wrapper-outer .intro .content-quote .quote:nth-child(2) p:nth-child(2) {
          display: none; }
        .page-template-work .wrapper-outer .intro .content-quote .quote:before {
          content: "“";
          font-size: 5.4rem;
          font-style: normal;
          line-height: .85;
          width: 40px;
          height: 40px;
          position: absolute;
          top: -20px;
          left: calc(50% - 20px);
          z-index: 10; }
        .page-template-work .wrapper-outer .intro .content-quote .quote h1 {
          font-family: "Roboto", sans-serif;
          font-weight: 400;
          font-size: .85rem;
          font-style: normal;
          margin-top: 50px;
          position: relative;
          /* Small Rule Above Title */ }
          .page-template-work .wrapper-outer .intro .content-quote .quote h1:before {
            content: "";
            display: block;
            width: 22px;
            height: 1px;
            margin: 0 auto;
            background-color: #4443a4;
            position: relative;
            top: -25px; }
        .page-template-work .wrapper-outer .intro .content-quote .quote p + p {
          margin-top: 20px; }
    .page-template-work .wrapper-outer .intro .btn-wrapper {
      width: 300px;
      height: 120px;
      padding: 40px 0;
      position: absolute;
      background-color: white;
      bottom: 0; }
      .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample {
        font-family: "Playfair Display", serif;
        font-size: .8rem;
        padding-left: 25px;
        position: relative;
        cursor: pointer; }
        .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample p:first-of-type {
          font-size: .95rem;
          color: #aea48e; }
        .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow {
          position: absolute;
          top: 10px;
          top: 12px;
          left: 5px; }
          .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow span {
            background-color: rgba(255, 255, 255, 0.6);
            position: absolute; }
            .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow span.post {
              width: 1px;
              height: 20px; }
            .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow span.arrow {
              width: 1px;
              height: 7px;
              background-color: rgba(255, 255, 255, 0.85);
              position: absolute;
              top: 13px; }
              .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow span.arrow.left {
                transform: rotate(-45deg);
                left: -3px; }
              .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow span.arrow.right {
                transform: rotate(45deg);
                left: 3px; }
          .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow span {
            background-color: #aea48e !important; }
  .page-template-work .wrapper-outer .bkgd-rules {
    display: none; }
  .page-template-work .wrapper-outer .samples {
    position: relative;
    margin-top: 80px; }
  .page-template-work .wrapper-outer .sample {
    position: relative;
    min-height: 100vh;
    padding-bottom: 100px;
    transition: opacity, 300ms linear; }
    .page-template-work .wrapper-outer .sample:after {
      content: "";
      display: table;
      clear: both; }
    .page-template-work .wrapper-outer .sample:last-of-type {
      padding-bottom: 0; }
    .page-template-work .wrapper-outer .sample .title-block {
      width: 100vw;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 10; }
      .page-template-work .wrapper-outer .sample .title-block.is-fixed {
        position: fixed;
        top: 0px; }
      .page-template-work .wrapper-outer .sample .title-block .title-text {
        font-size: .8rem;
        max-height: 800px;
        padding: 20px 50px 0;
        position: relative;
        background-color: rgba(255, 255, 255, 0.95);
        transition: all 500ms ease-in-out; }
        .page-template-work .wrapper-outer .sample .title-block .title-text h1.number {
          font-size: 2.4rem;
          line-height: .8;
          color: #aea48e;
          margin-bottom: 10px; }
        .page-template-work .wrapper-outer .sample .title-block .title-text h1.title {
          font-size: 1.5rem;
          margin-bottom: 20px; }
          .page-template-work .wrapper-outer .sample .title-block .title-text h1.title br {
            display: none; }
        .page-template-work .wrapper-outer .sample .title-block .title-text p {
          padding-bottom: 10px; }
      .page-template-work .wrapper-outer .sample .title-block .details {
        padding: 15px 0 5px 50px;
        font-size: .75rem;
        background-color: rgba(255, 255, 255, 0.95);
        transition: all 300ms linear; }
        .page-template-work .wrapper-outer .sample .title-block .details.is-visible h3:after {
          content: "–"; }
        .page-template-work .wrapper-outer .sample .title-block .details.is-visible ol {
          max-height: 500px;
          transition: max-height 300ms ease-in-out; }
        .page-template-work .wrapper-outer .sample .title-block .details.is-hidden {
          opacity: 0;
          pointer-events: none; }
        .page-template-work .wrapper-outer .sample .title-block .details h3 {
          font-size: .75rem;
          font-weight: 300;
          text-transform: uppercase;
          margin-bottom: 10px;
          display: inline-block;
          position: relative;
          cursor: pointer; }
          .page-template-work .wrapper-outer .sample .title-block .details h3:after {
            content: "+";
            width: 10px;
            height: 10px;
            display: inline-block;
            position: absolute;
            right: -20px; }
        .page-template-work .wrapper-outer .sample .title-block .details ol {
          font-size: .7rem;
          overflow: hidden;
          width: calc(100vw - 80px);
          max-height: 0;
          transition: max-height 300ms ease-in-out; }
          .page-template-work .wrapper-outer .sample .title-block .details ol li {
            text-transform: uppercase;
            margin-bottom: 6px;
            padding-left: 4px; }
            .page-template-work .wrapper-outer .sample .title-block .details ol li strong {
              font-weight: 400; }
    .page-template-work .wrapper-outer .sample .sample-wrapper {
      margin: 0 auto;
      padding: 220px 50px 0; }
    .page-template-work .wrapper-outer .sample .content-row {
      width: 100%;
      clear: both;
      position: relative; }
      .page-template-work .wrapper-outer .sample .content-row:after {
        content: "";
        display: table;
        clear: both; }
    .page-template-work .wrapper-outer .sample .work-text:after {
      content: "";
      display: table;
      clear: both; }
    .page-template-work .wrapper-outer .sample .work-text span {
      color: #636363;
      padding: 2px 5px;
      background-color: #ECECEC; }
    .page-template-work .wrapper-outer .sample .work-text p {
      font-size: .8rem;
      background-color: white;
      padding: 20px 0; }
    .page-template-work .wrapper-outer .sample .work-text ol {
      font-size: .8rem;
      margin: -40px 0 0;
      padding: 20px 40px 10px 20px;
      background-color: white; }
      .page-template-work .wrapper-outer .sample .work-text ol li {
        margin-bottom: 2px; }
  .page-template-work .wrapper-outer .outcome-row {
    padding: 50px 0;
    background-color: rgba(130, 113, 90, 0.7); }
    .page-template-work .wrapper-outer .outcome-row:after {
      content: "";
      display: table;
      clear: both; }
    .page-template-work .wrapper-outer .outcome-row p {
      padding: 0 50px;
      font-size: .8rem;
      color: white; }
  .page-template-work .wrapper-outer .img-container {
    position: absolute; }
    .page-template-work .wrapper-outer .img-container img {
      width: 100%;
      height: auto; }
  @media (min-width: 650px) {
    .page-template-work .wrapper-outer .nav-work {
      height: 258px;
      width: 50px;
      background-color: #252525;
      position: fixed;
      left: 0;
      top: calc(50% - 120px);
      overflow: hidden;
      z-index: 98;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      .page-template-work .wrapper-outer .nav-work .marker {
        width: 1px;
        height: 40px;
        background-color: rgba(255, 255, 255, 0.3);
        display: block;
        position: absolute;
        left: 23px;
        top: -40px; }
    .page-template-work .wrapper-outer .content-wrapper {
      padding: 0 70px; }
      .page-template-work .wrapper-outer .content-wrapper:after {
        content: "";
        display: table;
        clear: both; }
      .page-template-work .wrapper-outer .content-wrapper .logo {
        width: 80px;
        height: auto;
        right: 60px;
        top: 60px; }
    .page-template-work .wrapper-outer .intro .content-text {
      margin-bottom: 0;
      height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: center;
      width: 47.0588235294%;
      float: left;
      margin-right: 5.8823529412%; }
      .page-template-work .wrapper-outer .intro .content-text h1 {
        font-size: 2.6rem;
        line-height: 1.4;
        width: auto; }
      .page-template-work .wrapper-outer .intro .content-text p {
        font-size: .8rem; }
    .page-template-work .wrapper-outer .intro .content-quote {
      height: 100vh;
      padding: 80px 0 40px;
      display: flex;
      flex-direction: column;
      justify-content: center;
      width: 47.0588235294%;
      float: right;
      margin-right: 0; }
      .page-template-work .wrapper-outer .intro .content-quote .quote {
        position: absolute;
        opacity: 0; }
        .page-template-work .wrapper-outer .intro .content-quote .quote + .quote {
          margin-top: 0; }
    .page-template-work .wrapper-outer .sample .title-block .title-text {
      padding: 50px 70px 0; }
    .page-template-work .wrapper-outer .sample .title-block .details {
      padding: 25px 0 5px 70px; }
    .page-template-work .wrapper-outer .sample .sample-wrapper {
      padding: 220px 70px 0; }
    .page-template-work .wrapper-outer .outcome-row .outcome-text p {
      padding: 0 60px; } }
  @media (min-width: 1200px) {
    .page-template-work .wrapper-outer .full-screen {
      height: 100vh; }
    .page-template-work .wrapper-outer .nav-work {
      height: 302px;
      width: 60px;
      left: 0;
      top: calc(50% - 175px); }
      .page-template-work .wrapper-outer .nav-work .marker {
        width: 1px;
        height: 40px;
        background-color: rgba(255, 255, 255, 0.3);
        display: block;
        position: absolute;
        left: 28px;
        top: 10px; }
    .page-template-work .wrapper-outer .content-wrapper,
    .page-template-work .wrapper-outer .sample-wrapper {
      padding: 0 80px; }
    .page-template-work .wrapper-outer .intro {
      z-index: 2; }
      .page-template-work .wrapper-outer .intro .content-text {
        height: 95%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 32.2033898305%;
        float: left;
        margin-right: 1.6949152542%; }
      .page-template-work .wrapper-outer .intro .content-quote {
        height: 95%;
        padding: 40px 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 49.1525423729%;
        float: right;
        margin-right: 0; }
        .page-template-work .wrapper-outer .intro .content-quote .quote {
          font-size: 1rem;
          line-height: 1.7;
          padding: 140px 0 80px; }
          .page-template-work .wrapper-outer .intro .content-quote .quote:before {
            top: 50px; }
          .page-template-work .wrapper-outer .intro .content-quote .quote:nth-child(2) p:nth-child(1),
          .page-template-work .wrapper-outer .intro .content-quote .quote:nth-child(2) p:nth-child(2) {
            display: block; }
          .page-template-work .wrapper-outer .intro .content-quote .quote p + p {
            margin-top: 20px; }
          .page-template-work .wrapper-outer .intro .content-quote .quote h1 {
            font-size: 1rem; }
      .page-template-work .wrapper-outer .intro .btn-wrapper {
        width: 300px;
        height: 120px;
        padding: 40px 0;
        position: absolute;
        background-color: white;
        bottom: 0; }
        .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample {
          font-family: "Playfair Display", serif;
          font-size: .8rem;
          padding-left: 25px;
          position: relative;
          cursor: pointer; }
          .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample p:first-of-type {
            font-size: .95rem;
            color: #aea48e; }
          .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow {
            position: absolute;
            top: 10px;
            top: 12px;
            left: 5px; }
            .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow span {
              background-color: rgba(255, 255, 255, 0.6);
              position: absolute; }
              .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow span.post {
                width: 1px;
                height: 20px; }
              .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow span.arrow {
                width: 1px;
                height: 7px;
                background-color: rgba(255, 255, 255, 0.85);
                position: absolute;
                top: 13px; }
                .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow span.arrow.left {
                  transform: rotate(-45deg);
                  left: -3px; }
                .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow span.arrow.right {
                  transform: rotate(45deg);
                  left: 3px; }
            .page-template-work .wrapper-outer .intro .btn-wrapper .btn-sample .icon-arrow span {
              background-color: #aea48e !important; }
    .page-template-work .wrapper-outer .bkgd-rules {
      display: block;
      max-width: 1400px;
      width: 100%;
      height: 100%;
      margin: 0 auto;
      padding: 0 100px;
      position: fixed;
      left: 0;
      right: 0;
      z-index: 0; }
      .page-template-work .wrapper-outer .bkgd-rules .rule {
        width: 1px;
        height: 100%;
        background-color: #e6e6e6;
        position: absolute;
        top: 0; }
      .page-template-work .wrapper-outer .bkgd-rules .rule-1 {
        left: 20%; }
      .page-template-work .wrapper-outer .bkgd-rules .rule-2 {
        left: 40%; }
      .page-template-work .wrapper-outer .bkgd-rules .rule-3 {
        left: 60%; }
      .page-template-work .wrapper-outer .bkgd-rules .rule-4 {
        left: 80%; }
    .page-template-work .wrapper-outer .samples {
      margin-top: 70vh; }
    .page-template-work .wrapper-outer .sample {
      padding-top: 60px; }
      .page-template-work .wrapper-outer .sample .title-block {
        width: 40%; }
        .page-template-work .wrapper-outer .sample .title-block .title-text {
          padding: 70px 60px 40px 100px; }
          .page-template-work .wrapper-outer .sample .title-block .title-text h1.number {
            font-size: 2.8rem;
            line-height: .6;
            margin-bottom: 26px; }
          .page-template-work .wrapper-outer .sample .title-block .title-text h1.title {
            font-size: 1.8rem;
            margin-bottom: 40px; }
            .page-template-work .wrapper-outer .sample .title-block .title-text h1.title br {
              display: block; }
          .page-template-work .wrapper-outer .sample .title-block .title-text + .work-text {
            margin-top: 0; }
        .page-template-work .wrapper-outer .sample .title-block .details {
          padding: 0 0 5px 100px; }
          .page-template-work .wrapper-outer .sample .title-block .details ol {
            width: auto; }
      .page-template-work .wrapper-outer .sample .sample-wrapper {
        padding: 8px 60px 0; }
      .page-template-work .wrapper-outer .sample .work-text ol {
        padding: 20px 40px 40px 20px; }
    .page-template-work .wrapper-outer .outcome-row p {
      padding: 0; } }
  @media (min-width: 1400px) {
    .page-template-work .wrapper-outer .content-wrapper,
    .page-template-work .wrapper-outer .sample-wrapper {
      padding: 0;
      max-width: 1200px;
      margin-left: auto;
      margin-right: auto; }
      .page-template-work .wrapper-outer .content-wrapper:after,
      .page-template-work .wrapper-outer .sample-wrapper:after {
        content: " ";
        display: block;
        clear: both; }
    .page-template-work .wrapper-outer .sample .title-block {
      width: calc(((100vw - 1400px)/2) + (.39 * 1400px)); } }
  @media (min-width: 1600px) {
    .page-template-work .wrapper-outer .content-wrapper,
    .page-template-work .wrapper-outer .sample-wrapper {
      padding: 0;
      max-width: 1400px;
      margin-left: auto;
      margin-right: auto; }
      .page-template-work .wrapper-outer .content-wrapper:after,
      .page-template-work .wrapper-outer .sample-wrapper:after {
        content: " ";
        display: block;
        clear: both; } }
  .page-template-work .wrapper-outer .willow .iphone-pump {
    right: 0;
    top: 20px;
    width: calc(100vw - 100px);
    height: 300px;
    position: relative;
    z-index: 2; }
    .page-template-work .wrapper-outer .willow .iphone-pump img {
      position: absolute; }
    .page-template-work .wrapper-outer .willow .iphone-pump .iphone {
      height: 220px;
      left: 0; }
    .page-template-work .wrapper-outer .willow .iphone-pump .pump {
      right: -50px;
      height: 280px;
      top: 10px; }
  .page-template-work .wrapper-outer .willow .mother {
    display: none; }
  .page-template-work .wrapper-outer .willow .outcome-row {
    margin-top: 20px; }
    .page-template-work .wrapper-outer .willow .outcome-row .screen-2 {
      width: 50%;
      height: auto;
      margin-right: 30px;
      float: left; }
  .page-template-work .wrapper-outer .mediscripts.sample .sample-wrapper {
    padding-top: 240px; }
  .page-template-work .wrapper-outer .mediscripts .phone-wrapper {
    width: 40vw;
    height: 50%;
    overflow: hidden;
    position: absolute;
    right: 20px;
    top: 440px;
    margin-left: 1px;
    z-index: 2; }
    .page-template-work .wrapper-outer .mediscripts .phone-wrapper img {
      width: 100%;
      height: auto;
      position: absolute; }
  .page-template-work .wrapper-outer .mediscripts .ipad {
    width: 100%;
    max-width: 460px;
    position: relative;
    left: -70px;
    top: 60px; }
    .page-template-work .wrapper-outer .mediscripts .ipad img {
      width: 100%;
      height: auto; }
    .page-template-work .wrapper-outer .mediscripts .ipad + .content-row {
      margin-top: 80px; }
  .page-template-work .wrapper-outer .mediscripts .phone-row .three-iphones {
    width: 100%;
    position: relative; }
  .page-template-work .wrapper-outer .mediscripts .outcome-row {
    margin-top: 20px; }
    .page-template-work .wrapper-outer .mediscripts .outcome-row .screen-2 {
      width: 50%;
      height: auto;
      margin-right: 30px;
      float: left; }
  .page-template-work .wrapper-outer .astarte.sample .sample-wrapper {
    padding-top: 10px; }
  .page-template-work .wrapper-outer .astarte .eye {
    width: 100vw;
    height: 300px;
    margin: 220px 0 0 -50px;
    position: relative;
    z-index: 2; }
    .page-template-work .wrapper-outer .astarte .eye img {
      position: absolute;
      width: 100%;
      height: auto;
      top: 0; }
    .page-template-work .wrapper-outer .astarte .eye .work-text-1 {
      position: absolute;
      left: 0;
      top: 280px;
      width: 100vw;
      background: black; }
      .page-template-work .wrapper-outer .astarte .eye .work-text-1 p {
        color: white;
        background: none;
        position: relative;
        margin: 0 30px; }
  .page-template-work .wrapper-outer .astarte .work-text-2 {
    margin-top: 160px; }
  .page-template-work .wrapper-outer .astarte .chart {
    display: none; }
  .page-template-work .wrapper-outer .astarte .ipad {
    position: relative;
    width: calc(100% - 100px);
    margin: 10px 0 30px 50px; }
  .page-template-work .wrapper-outer .astarte .outcome-row {
    margin-top: 20px; }
    .page-template-work .wrapper-outer .astarte .outcome-row .outcome-text p {
      margin-left: 10px; }
  .page-template-work .wrapper-outer .vizi .ipad {
    width: 100%;
    height: auto;
    position: relative;
    margin: 10px 0; }
  .page-template-work .wrapper-outer .vizi .work-text-3 .screen-1 {
    display: none; }
  .page-template-work .wrapper-outer .vizi .outcome-row .screen-2 {
    display: none; }
  @media (min-width: 650px) {
    .page-template-work .wrapper-outer .willow .iphone-pump {
      width: 300px;
      margin: 0 auto; }
    .page-template-work .wrapper-outer .mediscripts.sample .sample-wrapper {
      padding-top: 220px; }
    .page-template-work .wrapper-outer .mediscripts .ipad {
      width: 350px; }
    .page-template-work .wrapper-outer .mediscripts .phone-wrapper {
      width: 230px;
      height: 280px;
      top: 360px;
      left: 300px; }
    .page-template-work .wrapper-outer .mediscripts .phone-row {
      width: 50%;
      float: right; }
      .page-template-work .wrapper-outer .mediscripts .phone-row .three-iphones {
        margin: 0 0 20px 50px;
        float: right; }
      .page-template-work .wrapper-outer .mediscripts .phone-row + .content-row {
        clear: none; }
    .page-template-work .wrapper-outer .mediscripts .work-text-3 {
      width: 32.2033898305%;
      float: left;
      margin-right: 1.6949152542%;
      margin-top: -20px; }
    .page-template-work .wrapper-outer .astarte .eye {
      height: 300px;
      margin: 240px 0 0 -70px;
      overflow: hidden; }
      .page-template-work .wrapper-outer .astarte .eye img {
        width: 60%;
        top: -35px; }
      .page-template-work .wrapper-outer .astarte .eye .work-text-1 {
        width: 40%;
        height: 300px;
        position: absolute;
        top: 0;
        left: 60%;
        display: flex;
        flex-direction: column;
        justify-content: center; }
    .page-template-work .wrapper-outer .astarte .work-text-2 {
      margin-top: 20px;
      width: 57.6271186441%;
      float: left;
      margin-right: 1.6949152542%; }
    .page-template-work .wrapper-outer .astarte .work-text-3 {
      margin-top: 20px;
      width: 57.6271186441%;
      float: left;
      margin-right: 1.6949152542%; }
      .page-template-work .wrapper-outer .astarte .work-text-3:after {
        content: "";
        display: table;
        clear: both; }
    .page-template-work .wrapper-outer .astarte .ipad {
      position: absolute;
      width: 27%;
      top: 600px;
      right: 50px; }
    .page-template-work .wrapper-outer .astarte .outcome-row {
      clear: both;
      margin-top: 20px; }
    .page-template-work .wrapper-outer .vizi .ipad {
      width: 80%;
      margin: 20px auto; }
    .page-template-work .wrapper-outer .vizi .outcome-row {
      margin-top: 20px; } }
  @media (min-width: 1020px) {
    .page-template-work .wrapper-outer .willow .work-text-1 {
      width: 49.1525423729%;
      float: left;
      margin-right: 1.6949152542%; }
    .page-template-work .wrapper-outer .willow .work-text-2 {
      width: 49.1525423729%;
      float: left;
      margin-right: 1.6949152542%; }
    .page-template-work .wrapper-outer .willow .iphone-pump {
      margin: 0;
      float: right; }
      .page-template-work .wrapper-outer .willow .iphone-pump + .content-row {
        clear: none; }
    .page-template-work .wrapper-outer .mediscripts .ipad {
      width: 500px; }
    .page-template-work .wrapper-outer .mediscripts .phone-wrapper {
      width: 230px;
      height: 280px;
      top: 360px;
      left: 380px; }
    .page-template-work .wrapper-outer .mediscripts .phone-row {
      top: -160px; }
      .page-template-work .wrapper-outer .mediscripts .phone-row .three-iphones {
        margin: 0 0 20px 50px;
        float: right; }
      .page-template-work .wrapper-outer .mediscripts .phone-row + .content-row {
        height: 140px; }
    .page-template-work .wrapper-outer .mediscripts .work-text-2 {
      width: 32.2033898305%;
      float: left;
      margin-right: 1.6949152542%; }
    .page-template-work .wrapper-outer .astarte .eye img {
      top: -90px; }
    .page-template-work .wrapper-outer .astarte .ipad {
      width: 22%; }
    .page-template-work .wrapper-outer .vizi .ipad {
      width: 60%; } }
  @media (min-width: 1200px) {
    .page-template-work .wrapper-outer .willow .iphone-pump {
      position: absolute;
      width: 520px;
      height: 400px;
      top: 280px;
      right: 15%; }
      .page-template-work .wrapper-outer .willow .iphone-pump .iphone {
        height: 300px;
        left: 0; }
      .page-template-work .wrapper-outer .willow .iphone-pump .pump {
        right: 10px;
        height: 400px; }
      .page-template-work .wrapper-outer .willow .iphone-pump + .content-row {
        clear: all; }
    .page-template-work .wrapper-outer .willow .mother {
      width: 33.33%;
      height: auto;
      display: block;
      position: absolute;
      top: 200px;
      left: 80px; }
    .page-template-work .wrapper-outer .willow .work-text-1 {
      width: 49.1525423729%;
      float: left;
      margin-left: 42.3728813559%;
      margin-right: -100%;
      margin-top: 30px; }
    .page-template-work .wrapper-outer .willow .work-text-2 {
      width: 40.6779661017%;
      float: left;
      margin-left: 50.8474576271%;
      margin-right: -100%;
      margin-top: 620px; }
    .page-template-work .wrapper-outer .willow .work-text-3 {
      width: 40.6779661017%;
      float: left;
      margin-left: 50.8474576271%;
      margin-right: -100%; }
    .page-template-work .wrapper-outer .willow .outcome-row .outcome-text {
      width: 40.6779661017%;
      float: left;
      margin-left: 42.3728813559%;
      margin-right: -100%; }
    .page-template-work .wrapper-outer .mediscripts.sample .sample-wrapper {
      padding-top: 0; }
    .page-template-work .wrapper-outer .mediscripts .phone-wrapper {
      width: 320px;
      height: 475px;
      left: calc(40%);
      top: 0;
      right: auto;
      margin-left: 1px;
      z-index: 2; }
      .page-template-work .wrapper-outer .mediscripts .phone-wrapper img {
        height: 100%;
        width: auto;
        position: absolute;
        left: -80px; }
    .page-template-work .wrapper-outer .mediscripts .ipad {
      width: 40%;
      position: absolute;
      left: 0;
      top: 400px; }
    .page-template-work .wrapper-outer .mediscripts .phone-row {
      margin-top: 40px;
      top: auto;
      float: left; }
      .page-template-work .wrapper-outer .mediscripts .phone-row .three-iphones {
        width: 80%; }
    .page-template-work .wrapper-outer .mediscripts .work-text-1 {
      width: 29.6875%;
      float: left;
      margin-left: 62.5%;
      margin-right: -100%; }
    .page-template-work .wrapper-outer .mediscripts .work-text-2 {
      width: 32.2033898305%;
      float: left;
      margin-left: 42.3728813559%;
      margin-right: -100%;
      margin-top: 280px; }
    .page-template-work .wrapper-outer .mediscripts .work-text-3 {
      width: 40.6779661017%;
      float: right;
      margin-right: 0; }
    .page-template-work .wrapper-outer .mediscripts .outcome-row {
      max-height: 300px; }
      .page-template-work .wrapper-outer .mediscripts .outcome-row .outcome-text {
        margin-top: 20px;
        margin-bottom: 20px;
        width: 40.6779661017%;
        float: left;
        margin-right: 1.6949152542%; }
    .page-template-work .wrapper-outer .astarte .eye {
      width: 60%;
      height: 40vw;
      max-height: 500px;
      margin: 0;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1;
      overflow: hidden; }
      .page-template-work .wrapper-outer .astarte .eye img {
        position: absolute;
        width: 100%;
        height: auto;
        bottom: 0;
        left: 0; }
      .page-template-work .wrapper-outer .astarte .eye .work-text-1 {
        height: auto;
        display: block;
        position: absolute;
        top: auto;
        left: -40px;
        bottom: 30px;
        width: 50%;
        background: none; }
        .page-template-work .wrapper-outer .astarte .eye .work-text-1 p {
          color: white;
          background: none;
          position: relative;
          margin-left: 80px; }
    .page-template-work .wrapper-outer .astarte .chart {
      display: block;
      width: 350px;
      height: auto;
      margin-top: 430px;
      border: 1px solid #D3D3D3;
      position: absolute;
      right: calc(60% - 1px); }
    .page-template-work .wrapper-outer .astarte .ipad {
      width: 320px;
      left: 120px;
      right: auto;
      top: 800px;
      margin: 0; }
    .page-template-work .wrapper-outer .astarte .work-text-2 {
      width: 32.2033898305%;
      float: left;
      margin-left: 59.3220338983%;
      margin-right: -100%;
      margin-top: 480px; }
    .page-template-work .wrapper-outer .astarte .work-text-3 {
      width: 40.6779661017%;
      float: left;
      margin-left: 42.3728813559%;
      margin-right: -100%; }
    .page-template-work .wrapper-outer .astarte .outcome-row {
      margin-top: 20px; }
      .page-template-work .wrapper-outer .astarte .outcome-row .outcome-text {
        width: 49.1525423729%;
        float: left;
        margin-left: 42.3728813559%;
        margin-right: -100%; }
        .page-template-work .wrapper-outer .astarte .outcome-row .outcome-text p {
          margin-left: 10px; }
    .page-template-work .wrapper-outer .vizi .work-text-1 {
      width: 32.2033898305%;
      float: right;
      margin-right: 0;
      margin-top: 0; }
    .page-template-work .wrapper-outer .vizi .ipad {
      width: 500px;
      height: auto;
      position: absolute;
      top: 220px;
      right: 20px; }
    .page-template-work .wrapper-outer .vizi .work-text-2 {
      width: 32.2033898305%;
      float: left;
      margin-left: 8.4745762712%;
      margin-right: -100%;
      margin-top: 240px; }
    .page-template-work .wrapper-outer .vizi .work-text-3 {
      margin-top: 40px;
      margin-bottom: 0;
      display: block;
      width: 49.1525423729%;
      float: left;
      margin-left: 25.4237288136%;
      margin-right: -100%; }
      .page-template-work .wrapper-outer .vizi .work-text-3 .screen-1 {
        width: 500px;
        height: auto;
        margin-right: 30px;
        float: left; }
    .page-template-work .wrapper-outer .vizi .outcome-row .screen-2 {
      width: 50%;
      height: auto;
      margin-right: 50px;
      display: block;
      float: left; }
    .page-template-work .wrapper-outer .vizi .outcome-row .outcome-text {
      width: 74.5762711864%;
      float: left;
      margin-left: 8.4745762712%;
      margin-right: -100%; } }
  @media (min-width: 1400px) {
    .page-template-work .wrapper-outer .willow .iphone-pump {
      top: 290px;
      right: 10%; }
    .page-template-work .wrapper-outer .willow .mother {
      width: 420px; }
    .page-template-work .wrapper-outer .willow .outcome-row .outcome-text {
      width: 40.6779661017%;
      float: left;
      margin-left: 33.8983050847%;
      margin-right: -100%; }
    .page-template-work .wrapper-outer .mediscripts .phone-wrapper {
      width: 320px;
      height: 475px;
      left: calc(((100vw - 1400px)/2) + (.3945 * 1400px)); }
    .page-template-work .wrapper-outer .mediscripts .outcome-row {
      max-height: 300px; }
      .page-template-work .wrapper-outer .mediscripts .outcome-row .outcome-text {
        width: 40.6779661017%;
        float: left;
        margin-left: 25.4237288136%;
        margin-right: -100%; }
    .page-template-work .wrapper-outer .astarte .eye {
      width: calc(((100vw - 1400px)/2) + (.5945 * 1400px)); }
    .page-template-work .wrapper-outer .astarte .chart {
      right: calc(((100vw - 1400px)/2) + (.5945 * 1399px)); }
    .page-template-work .wrapper-outer .vizi .ipad {
      width: 600px;
      right: 60px; }
    .page-template-work .wrapper-outer .vizi .work-text-3 {
      margin-top: 80px; } }
html,
body {
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  font-weight: 300;
  color: #252525; }
  html .wrapper-outer p,
  html .wrapper-outer h1,
  html .wrapper-outer h2,
  html .wrapper-outer h3,
  html .wrapper-outer h4,
  html .wrapper-outer h5,
  html .wrapper-outer h6,
  body .wrapper-outer p,
  body .wrapper-outer h1,
  body .wrapper-outer h2,
  body .wrapper-outer h3,
  body .wrapper-outer h4,
  body .wrapper-outer h5,
  body .wrapper-outer h6 {
    margin: 0;
    padding: 0; }
  html .wrapper-outer fieldset,
  body .wrapper-outer fieldset {
    border: none;
    padding: 0;
    margin: 0; }
  html ol,
  body ol {
    list-style-type: decimal-leading-zero; }

/* skrollr UTILS ****************************************/
#offset {
  font-size: 0.7em;
  text-align: center;
  color: #fff;
  min-width: 30px;
  padding: 6px;
  background-color: rgba(0, 0, 0, 0.4);
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 1000;
  display: none; }

/* Tooltips */
.tooltipsy {
  font-size: 12px;
  color: #fff;
  padding: 6px 10px;
  margin-bottom: 10px;
  background-color: rgba(0, 0, 0, 0.6); }
  .tooltipsy:after {
    content: "";
    width: 12px;
    height: 12px;
    border-top: 6px solid rgba(0, 0, 0, 0.6);
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    position: absolute;
    bottom: -2px;
    left: calc(50% - 5px); }

/* c5 */
.home {
  overflow-y: hidden; }

.wrapper-outer {
  position: relative;
  overflow: hidden; }
  .wrapper-outer .wrapper-scroll {
    position: absolute;
    z-index: -1; }
    .wrapper-outer .wrapper-scroll .scroll-1 {
      width: 100vw;
      height: 100vh; }
    .wrapper-outer .wrapper-scroll .scroll-2 {
      width: 100vw;
      height: 100vh; }
    .wrapper-outer .wrapper-scroll .scroll-3 {
      width: 100vw;
      height: 100vh; }
  .wrapper-outer svg {
    font-family: "Geogrotesque Regular", "Helvetica"; }
  .wrapper-outer h1 {
    font-family: "Playfair Display", serif;
    font-size: 2.4rem;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale; }
  .wrapper-outer ul {
    list-style-type: none;
    margin: 0;
    padding: 0; }
  .wrapper-outer.nav-active {
    transition: all 300ms linear; }
    .wrapper-outer.nav-active .btn-nav > span:first-child {
      transform: rotate(-45deg);
      background-color: #252525;
      top: 2px;
      left: 10px; }
    .wrapper-outer.nav-active .btn-nav > span:last-child {
      transform: rotate(45deg);
      top: 4px;
      left: 17px; }
      .wrapper-outer.nav-active .btn-nav > span:last-child span:first-child {
        background-color: #252525; }
      .wrapper-outer.nav-active .btn-nav > span:last-child span:last-child {
        background-color: #252525;
        bottom: -20px; }
    .wrapper-outer.nav-active .btn-nav:hover > span:first-child {
      transform: rotate(-45deg); }
    .wrapper-outer.nav-active .btn-nav:hover > span:last-child {
      transform: rotate(45deg); }
    .wrapper-outer.nav-active .nav-wrapper {
      transform: translateX(0); }
  .wrapper-outer.contact-active .contact-wrapper {
    transform: translateX(0); }
  .wrapper-outer .btn-nav {
    width: 22px;
    height: 22px;
    position: fixed;
    top: 30px;
    left: 15px;
    display: block;
    transition: 300ms transform;
    cursor: pointer;
    z-index: 100; }
    .wrapper-outer .btn-nav > * {
      transition: all 300ms linear; }
    .wrapper-outer .btn-nav > span {
      position: absolute; }
    .wrapper-outer .btn-nav > span:first-child {
      width: 2px;
      height: 20px;
      transform: rotate(90deg);
      background-color: white;
      display: inline-block;
      position: absolute;
      top: -2px;
      left: 10px; }
    .wrapper-outer .btn-nav > span:last-child {
      transform: rotate(90deg);
      position: absolute;
      top: 13px;
      left: 21px; }
      .wrapper-outer .btn-nav > span:last-child span:first-child {
        width: 2px;
        height: 16px;
        background-color: white;
        display: inline-block;
        position: absolute; }
      .wrapper-outer .btn-nav > span:last-child span:last-child {
        width: 2px;
        height: 2px;
        background-color: white;
        display: inline-block;
        position: absolute;
        bottom: -20px; }
    .wrapper-outer .btn-nav.is-white span:first-child,
    .wrapper-outer .btn-nav.is-white span > span:first-child,
    .wrapper-outer .btn-nav.is-white span span:last-child {
      background-color: white !important; }
    .wrapper-outer .btn-nav.is-black span:first-child,
    .wrapper-outer .btn-nav.is-black span > span:first-child,
    .wrapper-outer .btn-nav.is-black span span:last-child {
      background-color: black; }
  .wrapper-outer .nav-wrapper {
    width: 100vw;
    height: 100vh;
    background-color: white;
    transform: translateX(-100vw);
    transition: 300ms transform;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99; }
    .wrapper-outer .nav-wrapper .logo {
      width: 130px;
      height: auto;
      position: absolute;
      right: 15px;
      top: 34px; }
    .wrapper-outer .nav-wrapper ul {
      width: 100%;
      height: 100%;
      padding: 0 30px 80px;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      .wrapper-outer .nav-wrapper ul li {
        margin: 12px 0;
        padding-top: 20px;
        cursor: pointer;
        position: relative; }
        .wrapper-outer .nav-wrapper ul li * {
          transition: all 300ms ease-in-out; }
        .wrapper-outer .nav-wrapper ul li a {
          text-decoration: none !important;
          display: inline-block; }
        .wrapper-outer .nav-wrapper ul li .nav-lead {
          font-size: 12px;
          font-weight: 300;
          color: #aea48e;
          margin: 0;
          position: absolute;
          top: 0;
          left: 0; }
        .wrapper-outer .nav-wrapper ul li .nav-button {
          font-family: "Playfair Display", serif;
          font-size: 32px;
          color: #252525;
          line-height: 0;
          margin: 0;
          padding: 12px 0; }
    .wrapper-outer .nav-wrapper .nav-info {
      padding: 4px 0 4px 10px;
      margin-left: 10px;
      position: absolute;
      bottom: 40px; }
      .wrapper-outer .nav-wrapper .nav-info .address,
      .wrapper-outer .nav-wrapper .nav-info .hs-link {
        font-size: 0.73rem;
        font-weight: 300;
        padding: 4px 0 0 10px;
        border-left: 1px solid rgba(196, 148, 116, 0.5); }
      .wrapper-outer .nav-wrapper .nav-info .hs-link {
        padding-top: 12px; }
        .wrapper-outer .nav-wrapper .nav-info .hs-link a {
          font-weight: 500;
          color: #252525; }
      .wrapper-outer .nav-wrapper .nav-info .contact {
        font-size: 0.73rem;
        font-weight: 500;
        padding: 10px 0 0 10px;
        margin: 0; }
        .wrapper-outer .nav-wrapper .nav-info .contact span {
          margin-right: 10px; }
        .wrapper-outer .nav-wrapper .nav-info .contact a {
          color: #252525; }
  .wrapper-outer .page-title {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 0.7rem;
    font-weight: 300;
    text-align: left;
    text-transform: uppercase;
    letter-spacing: 0.2rem;
    color: rgba(0, 0, 0, 0.85);
    width: 80px;
    display: inline-block;
    transform: rotate(-90deg);
    position: fixed;
    bottom: 82px;
    right: -10px;
    z-index: 10;
    display: none; }
    .wrapper-outer .page-title:before {
      content: "+";
      font-family: "Helvetica", sans-serif;
      font-size: 20px;
      font-weight: 300;
      line-height: 0;
      display: block;
      position: absolute;
      left: -30px;
      top: 7px;
      opacity: 0.6; }
    .wrapper-outer .page-title:after {
      content: "";
      display: block;
      border-bottom: 1px solid rgba(96, 92, 168, 0.27);
      position: absolute;
      width: calc(100% + 55px);
      top: 8px;
      left: -50px; }
  .wrapper-outer .full-screen {
    width: 100vw;
    height: 100vh;
    background-size: cover;
    position: relative; }
  .wrapper-outer .split-screen {
    width: 100%;
    height: auto;
    padding: 90px 50px 0;
    float: left; }
    .wrapper-outer .split-screen p {
      font-size: 0.75rem;
      line-height: 2; }
    .wrapper-outer .split-screen.split-img {
      background-color: #252525; }
  .wrapper-outer .is-hidden {
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 300ms linear; }
  .wrapper-outer .tagline {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 0.75rem;
    letter-spacing: 0.02rem;
    text-transform: uppercase;
    color: #aea48e;
    display: inline-block;
    position: absolute;
    top: 28vh;
    z-index: 8;
    transition: all 300ms ease-in-out; }
  .wrapper-outer .main-text {
    max-width: 540px;
    padding-bottom: 80px; }
    .wrapper-outer .main-text h1 {
      font-size: 1.5rem;
      line-height: 1.4;
      margin-bottom: 50px;
      max-width: 500px; }
      .wrapper-outer .main-text h1 strong {
        font-weight: 400;
        color: #565bb0;
        text-decoration: none !important;
        position: relative;
        display: inline-block; }
    .wrapper-outer .main-text p {
      font-size: 0.8rem;
      line-height: 2; }
    .wrapper-outer .main-text a {
      color: #565bb0;
      text-decoration: none !important;
      position: relative;
      display: inline-block; }
      .wrapper-outer .main-text a:after {
        content: "";
        width: 100%;
        height: 1px;
        border-bottom: 1px dotted #565bb0;
        position: absolute;
        left: 0;
        bottom: -2px;
        display: inline-block; }
  @media (min-width: 0px) and (max-width: 320px) {
    .wrapper-outer .nav-wrapper ul {
      padding: 0 30px 60px; }
      .wrapper-outer .nav-wrapper ul li {
        margin: 6px 0; }
        .wrapper-outer .nav-wrapper ul li a .nav-lead {
          font-size: 11px; }
        .wrapper-outer .nav-wrapper ul li .nav-button {
          font-size: 24px;
          padding: 6px 0 12px; }
    .wrapper-outer .nav-wrapper .nav-info {
      bottom: 20px; }
      .wrapper-outer .nav-wrapper .nav-info .address,
      .wrapper-outer .nav-wrapper .nav-info .hs-link {
        font-size: 0.7rem; }
      .wrapper-outer .nav-wrapper .nav-info .address {
        padding: 2px 0 0 10px; }
      .wrapper-outer .nav-wrapper .nav-info .hs-link {
        padding-top: 10px; } }
  @media (min-width: 650px) {
    .wrapper-outer h1 {
      font-size: 3rem; }
    .wrapper-outer.nav-active .nav-wrapper {
      transform: translateX(0); }
    .wrapper-outer.nav-active .contact-wrapper {
      transform: translateX(0); }
    .wrapper-outer .btn-nav {
      top: 60px;
      left: 30px; }
    .wrapper-outer .nav-wrapper {
      width: 40vw;
      transform: translateX(-40vw); }
      .wrapper-outer .nav-wrapper .logo {
        display: none; }
      .wrapper-outer .nav-wrapper ul {
        padding: 0 30px 100px; }
        .wrapper-outer .nav-wrapper ul li {
          margin: 15px 0;
          padding-top: 20px; }
          .wrapper-outer .nav-wrapper ul li a:after {
            content: "";
            margin-top: 10px;
            display: block;
            border-bottom: 1px solid #252525;
            transform: scaleX(0);
            transition: all 300ms ease-in-out; }
          .wrapper-outer .nav-wrapper ul li:hover a .nav-lead {
            color: #252525;
            transform: translateX(20px); }
          .wrapper-outer .nav-wrapper ul li:hover a:after {
            transform: scaleX(1); }
          .wrapper-outer .nav-wrapper ul li .nav-lead {
            font-size: 12px;
            transform: translateX(0); }
          .wrapper-outer .nav-wrapper ul li .nav-button {
            font-size: 38px;
            padding: 18px 0; }
          .wrapper-outer .nav-wrapper ul li.btn-contact {
            display: none; }
      .wrapper-outer .nav-wrapper .nav-info {
        bottom: 60px; }
    .wrapper-outer .page-title {
      display: block;
      right: 0; }
    .wrapper-outer .split-screen {
      padding: 0 60px 0 80px;
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      .wrapper-outer .split-screen.split-img {
        height: 40%; }
      .wrapper-outer .split-screen.split-text {
        height: 60%; } }
  @media (min-width: 1020px) {
    .wrapper-outer h1 {
      font-size: 2.5rem; }
    .wrapper-outer .btn-nav {
      top: 60px; }
    .wrapper-outer .nav-wrapper ul {
      padding: 0 30px 80px; }
    .wrapper-outer .nav-wrapper .nav-info {
      margin-left: 20px; }
    .wrapper-outer .split-screen.split-img {
      width: 50%;
      float: left;
      height: 100%; }
    .wrapper-outer .split-screen.split-text {
      height: 100%;
      width: 50%;
      float: right; } }
  @media (min-width: 1200px) {
    .wrapper-outer .wrapper-scroll .scroll-1 {
      height: 900px; }
    .wrapper-outer .wrapper-scroll .scroll-2 {
      height: 800px; }
    .wrapper-outer .wrapper-scroll .scroll-3 {
      height: 800px; }
    .wrapper-outer .nav-wrapper {
      width: 35vw; }
      .wrapper-outer .nav-wrapper ul {
        padding: 0 60px 100px; }
        .wrapper-outer .nav-wrapper ul li a .nav-lead {
          font-size: 13px;
          font-weight: 300; }
        .wrapper-outer .nav-wrapper ul li a .nav-button {
          font-family: "Playfair Display", serif;
          font-size: 48px; }
      .wrapper-outer .nav-wrapper .nav-info {
        margin-left: 60px; }
        .wrapper-outer .nav-wrapper .nav-info .address {
          font-size: 0.75rem;
          padding: 4px 0 0 10px; }
        .wrapper-outer .nav-wrapper .nav-info .contact {
          font-size: 0.75rem;
          padding: 10px 0 0 10px;
          margin: 0; }
    .wrapper-outer h1 {
      font-size: 3rem; }
    .wrapper-outer .page-title {
      position: fixed;
      right: 40px; }
    .wrapper-outer .full-screen {
      position: fixed; }
    .wrapper-outer .tagline {
      position: fixed; } }
  @media (min-width: 1400px) {
    .wrapper-outer .btn-nav {
      top: 80px;
      left: 60px; }
      .wrapper-outer .btn-nav:hover > span:first-child {
        transform: rotate(90deg) translateX(-2px); }
      .wrapper-outer .btn-nav:hover > span:last-child {
        transform: rotate(90deg) translateX(2px); } }
.wrapper-outer section .logo {
  position: absolute; }

.page-template-home .wrapper-outer {
  background-color: #252525;
  height: auto; }
  @media (min-width: 1200px) {
    .page-template-home .wrapper-outer {
      height: calc(100vh + 1700px); } }
.page-template-home-video .wrapper-outer {
  background-color: #000a19;
  height: auto; }
  @media (min-width: 1200px) {
    .page-template-home-video .wrapper-outer {
      height: calc(100vh + 1700px); } }
#Home {
  background: #252525 url(../img/bkgd-home-sm.jpg) no-repeat center center;
  background-size: cover;
  text-align: center;
  z-index: 3; }
  #Home .dust {
    display: none; }
  #Home .logo {
    width: 130px;
    height: auto;
    top: 34px;
    right: 15px; }
  #Home .page-title {
    color: rgba(255, 255, 255, 0.5);
    transition: all 300ms ease-in-out;
    position: absolute; }
  #Home .info-block {
    text-align: center;
    color: white;
    width: 260px;
    position: absolute;
    bottom: 20vh;
    left: calc(50% - 130px); }
    #Home .info-block > p {
      font-size: 0.85rem;
      font-weight: 100;
      line-height: 1.8;
      margin-bottom: 30px;
      transition: opacity 300ms linear; }
    #Home .info-block .btn {
      font-family: "Playfair Display", serif;
      font-size: 0.705rem;
      font-weight: 400;
      text-transform: uppercase;
      letter-spacing: 0.15rem;
      color: white;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      padding: 14px 20px;
      background: rgba(255, 255, 255, 0.15);
      border: 1px solid rgba(255, 255, 255, 0.5);
      border-radius: 0;
      display: inline-block;
      position: relative;
      z-index: 1;
      overflow: hidden;
      min-width: 150px; }
      @media (min-width: 650px) {
        #Home .info-block .btn {
          padding: 14px 50px; }
          #Home .info-block .btn:after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 270%;
            height: 420%;
            background: #827b6d;
            opacity: 0.85;
            z-index: -1;
            transform-origin: bottom center;
            transform: translateX(calc(-105%)) rotate(12deg);
            transition: transform 280ms ease-out; } }
@media (min-width: 1200px) and (min-width: 1200px) {
  #Home .info-block .btn:hover {
    border: 1px solid #827b6d; }
    #Home .info-block .btn:hover:after {
      transform: translateX(-15%) rotate(12deg); } }
      #Home .info-block .btn p {
        font-family: "Playfair Display", serif;
        font-size: 0.705rem;
        font-weight: 100;
        margin: 0; }
        #Home .info-block .btn p:last-of-type {
          display: none; }
  #Home .info-panel {
    width: 100vw;
    height: 100vh;
    padding: 30px 30px 0;
    background-color: white;
    background-image: url(../img/bkgd-home-info-sm.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    align-items: center;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 100;
    transform: translateX(100vw);
    transition: all 300ms ease-in-out;
    overflow: hidden; }
    #Home .info-panel .logo {
      width: 60px;
      height: auto;
      position: absolute;
      right: 30px;
      top: 34px;
      display: none; }
    #Home .info-panel .btn-close {
      width: 22px;
      height: 22px;
      position: fixed;
      top: 12px;
      right: 12px;
      display: block;
      transition: 300ms transform;
      cursor: pointer;
      z-index: 100; }
      #Home .info-panel .btn-close > * {
        transition: all 300ms linear; }
      #Home .info-panel .btn-close > span {
        position: absolute; }
      #Home .info-panel .btn-close > span:first-child {
        width: 2px;
        height: 20px;
        transform: rotate(-45deg);
        background-color: black;
        display: inline-block;
        position: absolute;
        top: 2px;
        left: 10px; }
      #Home .info-panel .btn-close > span:last-child {
        transform: rotate(45deg);
        position: absolute;
        top: 4px;
        left: 17px; }
        #Home .info-panel .btn-close > span:last-child span:first-child {
          width: 2px;
          height: 16px;
          background-color: black;
          display: inline-block;
          position: absolute; }
        #Home .info-panel .btn-close > span:last-child span:last-child {
          width: 2px;
          height: 2px;
          background-color: black;
          display: inline-block;
          position: absolute;
          bottom: -20px; }
    #Home .info-panel .panel-content {
      text-align: left; }
      #Home .info-panel .panel-content h1 {
        margin-bottom: 20px; }
    #Home .info-panel .dust {
      display: none; }
    #Home .info-panel .btn {
      font-family: "Playfair Display", serif;
      font-size: 0.705rem;
      font-weight: 400;
      text-transform: uppercase;
      letter-spacing: 0.15rem;
      color: white;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      padding: 14px 20px;
      background: rgba(255, 255, 255, 0.15);
      border: 1px solid rgba(255, 255, 255, 0.5);
      border-radius: 0;
      display: inline-block;
      position: relative;
      z-index: 1;
      overflow: hidden;
      color: black;
      border: 1px solid black;
      min-width: 150px;
      position: relative;
      margin: 0 auto;
      bottom: 50px; }
      @media (min-width: 650px) {
        #Home .info-panel .btn {
          padding: 14px 50px; }
          #Home .info-panel .btn:after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 270%;
            height: 420%;
            background: #827b6d;
            opacity: 0.85;
            z-index: -1;
            transform-origin: bottom center;
            transform: translateX(calc(-105%)) rotate(12deg);
            transition: transform 280ms ease-out; } }
@media (min-width: 1200px) and (min-width: 1200px) {
  #Home .info-panel .btn:hover {
    border: 1px solid #827b6d; }
    #Home .info-panel .btn:hover:after {
      transform: translateX(-15%) rotate(12deg); } }
      #Home .info-panel .btn p {
        font-family: "Playfair Display", serif;
        font-size: 0.705rem;
        font-weight: 100;
        margin: 0; }
  #Home .btn-future {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 0.8rem;
    font-weight: 100;
    text-align: left;
    text-transform: uppercase;
    padding: 4px;
    color: white;
    height: 40px;
    position: absolute;
    left: 26px;
    bottom: 25px;
    z-index: 3;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    cursor: pointer; }
    #Home .btn-future .icon-arrow {
      position: absolute;
      top: 10px;
      left: 154px; }
      #Home .btn-future .icon-arrow span {
        background-color: rgba(255, 255, 255, 0.6);
        position: absolute; }
        #Home .btn-future .icon-arrow span.post {
          width: 1px;
          height: 20px; }
        #Home .btn-future .icon-arrow span.arrow {
          width: 1px;
          height: 7px;
          background-color: rgba(255, 255, 255, 0.85);
          position: absolute;
          top: 13px; }
          #Home .btn-future .icon-arrow span.arrow.left {
            transform: rotate(-45deg);
            left: -3px; }
          #Home .btn-future .icon-arrow span.arrow.right {
            transform: rotate(45deg);
            left: 3px; }
  #Home .page-content {
    height: 100vh;
    width: 100vw;
    position: relative;
    z-index: 2; }
    #Home .page-content .tagline {
      text-align: center;
      width: 130px;
      top: 20vh;
      left: 50%;
      margin-left: -62px; }
    #Home .page-content h1 {
      color: #aea48e;
      line-height: 1.2;
      width: 100%;
      display: inline-block;
      position: relative;
      top: 27vh; }
      #Home .page-content h1.hsi-name {
        color: white; }
  #Home.info-active .info-panel {
    transform: translateX(0);
    background-position: center center; }
  #Home.info-active .page-title {
    color: rgba(0, 0, 0, 0.85); }
  @media (max-height: 480px) {
    #Home .info-block {
      display: none; } }
  @media (min-width: 650px) {
    #Home .dust {
      position: absolute;
      z-index: 3;
      display: block; }
      #Home .dust.dust-1 {
        top: 53vh;
        right: 6vw; }
      #Home .dust.dust-2 {
        top: 10vh;
        left: 12vw; }
      #Home .dust.dust-3 {
        top: 12vh;
        left: 10vw; }
      #Home .dust.dust-4 {
        bottom: 6vh;
        left: 5px; }
      #Home .dust.dust-5 {
        bottom: 190px;
        left: 212px; }
    #Home .logo {
      width: 170px;
      top: 60px;
      right: 30px; }
    #Home .info-block {
      text-align: left;
      color: white;
      width: 260px;
      position: absolute;
      bottom: 18vh;
      left: 30px; }
    #Home .info-panel {
      width: 100vw;
      height: 100vh;
      padding: 0 6% 20px;
      background-color: white;
      background-image: url(../img/bkgd-home-info-sm.jpg);
      right: 0;
      top: 0;
      z-index: 3;
      display: flex;
      flex-direction: column;
      justify-content: center; }
      #Home .info-panel .logo {
        width: 60px;
        height: auto;
        position: absolute;
        right: 60px;
        top: 70px;
        display: block; }
      #Home .info-panel .btn-close {
        display: none; }
      #Home .info-panel .dust {
        display: block; }
      #Home .info-panel .dust-2 {
        transform: scaleX(-1);
        position: absolute;
        bottom: 30vh;
        right: 12vw; }
      #Home .info-panel .dust-3 {
        transform: scaleX(-1);
        position: absolute;
        bottom: 27vh;
        right: 11vw; }
      #Home .info-panel .btn {
        left: 30px;
        bottom: 184px;
        margin: 0;
        position: absolute; }
        #Home .info-panel .btn p {
          font-family: "Playfair Display", serif;
          font-size: 0.705rem;
          font-weight: 100;
          margin: 0; }
    #Home .btn-future {
      left: 56px;
      bottom: 50px;
      z-index: 98; }
    #Home .page-content .tagline {
      top: 28vh;
      left: 50%;
      transition: all 300ms ease-in-out; }
    #Home .page-content h1 {
      line-height: 1.6;
      width: 100%;
      display: inline-block;
      position: absolute;
      left: 0;
      right: 0;
      top: auto;
      white-space: nowrap;
      transform: translateX(0);
      transition: all 300ms ease-in-out; }
      #Home .page-content h1.hsi-intro {
        top: calc(40vh - 35px); }
      #Home .page-content h1.hsi-name {
        top: calc(40vh + 35px);
        position: absolute; }
        #Home .page-content h1.hsi-name .hs-text {
          position: absolute;
          left: calc(50% - 273px);
          transition: all 300ms ease-in-out; }
        #Home .page-content h1.hsi-name .i-text {
          position: absolute;
          left: calc(50% + 56px);
          top: 0;
          transition: all 300ms ease-in-out; } }
  @media (min-width: 1020px) {
    #Home {
      background: #252525 url(../img/bkgd-home.jpg) no-repeat center center;
      background-size: cover; }
      #Home .dust.dust-1 {
        top: 53vh;
        right: 22vw; }
      #Home .dust.dust-2 {
        top: 10vh;
        left: 12vw; }
      #Home .dust.dust-3 {
        top: 12vh;
        left: 10vw; }
      #Home .dust.dust-4 {
        bottom: 6vh;
        left: 20px; }
      #Home .dust.dust-5 {
        bottom: 150px;
        left: 245px; }
      #Home .logo {
        width: 170px;
        top: 60px;
        right: 60px; }
      #Home .info-panel {
        width: 50vw;
        background-image: url(../img/bkgd-home-info.jpg);
        background-position: -50vw center;
        transform: translateX(50vw); }
        #Home .info-panel .btn {
          display: none; }
      #Home .page-content .tagline.info-active.info-active {
        left: 124px; }
      #Home .page-content h1.hsi-name {
        top: calc(40vh + 35px);
        color: white;
        position: absolute; }
        #Home .page-content h1.hsi-name .hs-text {
          position: absolute;
          left: 50%;
          margin-left: -230px;
          transition: left 300ms ease-in-out, margin 200ms ease-in; }
        #Home .page-content h1.hsi-name .i-text {
          position: absolute;
          left: calc(50% + 45px);
          top: 0;
          transition: all 300ms ease-in-out; }
      #Home .info-block .btn {
        min-width: 200px; }
      #Home.info-active .info-panel {
        transform: translateX(0);
        background-position: left center; }
      #Home.info-active .page-content h1 {
        left: 60px;
        width: 0; }
        #Home.info-active .page-content h1 .hs-text {
          left: 0;
          margin-left: 0;
          transition: left 300ms ease-in-out, margin 200ms ease-out; }
        #Home.info-active .page-content h1 .i-text {
          position: absolute;
          left: 0;
          top: 75px;
          transition: all 300ms ease-in-out; }
      #Home.info-active .page-content .info-block > p {
        opacity: 0;
        pointer-events: none; }
      #Home.info-active .page-content .info-block .btn p:first-of-type {
        display: none; }
      #Home.info-active .page-content .info-block .btn p:last-of-type {
        display: block; }
      #Home .btn-future {
        left: 56px;
        z-index: 100; } }
  @media (min-width: 1200px) {
    #Home .dust.dust-1 {
      top: 53vh;
      right: 22vw; }
    #Home .dust.dust-2 {
      top: 10vh;
      left: 12vw; }
    #Home .dust.dust-3 {
      top: 12vh;
      left: 10vw; }
    #Home .dust.dust-4 {
      bottom: 6vh;
      left: 5px; }
    #Home .dust.dust-5 {
      bottom: 14.3vh;
      left: 245px; }
    #Home .info-block {
      bottom: 14vh; }
    #Home .page-content h1.hsi-name {
      top: calc(40vh + 35px);
      color: white;
      position: absolute; }
      #Home .page-content h1.hsi-name .hs-text {
        position: absolute;
        left: calc(50%);
        margin-left: -273px;
        transition: left 300ms ease-in-out, margin 200ms ease-in; }
      #Home .page-content h1.hsi-name .i-text {
        position: absolute;
        left: calc(50% + 56px);
        top: 0;
        transition: all 300ms ease-in-out; }
    #Home.info-active .page-content h1 {
      left: 60px;
      width: 0; }
      #Home.info-active .page-content h1 .hs-text {
        left: 0;
        margin-left: 0;
        transition: left 300ms ease-in-out, margin 200ms ease-out; }
      #Home.info-active .page-content h1 .i-text {
        position: absolute;
        left: 0;
        top: 75px; } }
#HomeVideo {
  text-align: center;
  z-index: 3;
  background: #000a19 url(../img/bkgd-video-sm.jpg) no-repeat center center;
  background-size: cover; }
  #HomeVideo .video-container {
    display: none; }
  #HomeVideo .logo {
    width: 130px;
    height: auto;
    top: 34px;
    right: 15px;
    z-index: 2; }
  #HomeVideo .page-title {
    color: rgba(255, 255, 255, 0.5);
    transition: all 300ms ease-in-out;
    position: absolute; }
    #HomeVideo .page-title:after {
      border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
  #HomeVideo .info-block {
    text-align: center;
    color: #051e46;
    width: 260px;
    position: absolute;
    bottom: 20vh;
    left: calc(50% - 130px); }
    #HomeVideo .info-block > p {
      font-size: 0.85rem;
      font-weight: 400;
      line-height: 1.8;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      margin-bottom: 30px;
      transition: opacity 300ms linear; }
    #HomeVideo .info-block .btn {
      font-family: "Playfair Display", serif;
      font-size: 0.705rem;
      font-weight: 400;
      text-transform: uppercase;
      letter-spacing: 0.15rem;
      color: white;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      padding: 14px 20px;
      background: rgba(255, 255, 255, 0.15);
      border: 1px solid rgba(255, 255, 255, 0.5);
      border-radius: 0;
      display: inline-block;
      position: relative;
      z-index: 1;
      overflow: hidden;
      color: #051e46;
      min-width: 150px; }
      @media (min-width: 650px) {
        #HomeVideo .info-block .btn {
          padding: 14px 50px; }
          #HomeVideo .info-block .btn:after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 270%;
            height: 420%;
            background: #827b6d;
            opacity: 0.85;
            z-index: -1;
            transform-origin: bottom center;
            transform: translateX(calc(-105%)) rotate(12deg);
            transition: transform 280ms ease-out; } }
@media (min-width: 1200px) and (min-width: 1200px) {
  #HomeVideo .info-block .btn:hover {
    border: 1px solid #827b6d; }
    #HomeVideo .info-block .btn:hover:after {
      transform: translateX(-15%) rotate(12deg); } }
      #HomeVideo .info-block .btn p {
        font-family: "Playfair Display", serif;
        font-size: 0.705rem;
        font-weight: 100;
        margin: 0; }
        #HomeVideo .info-block .btn p:last-of-type {
          display: none; }
  #HomeVideo .info-panel {
    width: 100vw;
    height: 100vh;
    padding: 30px 30px 0;
    background-color: rgba(255, 255, 255, 0.9);
    align-items: center;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 100;
    transform: translateX(100vw);
    transition: all 300ms ease-in-out;
    overflow: hidden; }
    #HomeVideo .info-panel .logo {
      width: 60px;
      height: auto;
      position: absolute;
      right: 30px;
      top: 34px;
      display: none; }
    #HomeVideo .info-panel .btn-close {
      width: 22px;
      height: 22px;
      position: fixed;
      top: 12px;
      right: 12px;
      display: block;
      transition: 300ms transform;
      cursor: pointer;
      z-index: 100; }
      #HomeVideo .info-panel .btn-close > * {
        transition: all 300ms linear; }
      #HomeVideo .info-panel .btn-close > span {
        position: absolute; }
      #HomeVideo .info-panel .btn-close > span:first-child {
        width: 2px;
        height: 20px;
        transform: rotate(-45deg);
        background-color: black;
        display: inline-block;
        position: absolute;
        top: 2px;
        left: 10px; }
      #HomeVideo .info-panel .btn-close > span:last-child {
        transform: rotate(45deg);
        position: absolute;
        top: 4px;
        left: 17px; }
        #HomeVideo .info-panel .btn-close > span:last-child span:first-child {
          width: 2px;
          height: 16px;
          background-color: black;
          display: inline-block;
          position: absolute; }
        #HomeVideo .info-panel .btn-close > span:last-child span:last-child {
          width: 2px;
          height: 2px;
          background-color: black;
          display: inline-block;
          position: absolute;
          bottom: -20px; }
    #HomeVideo .info-panel .panel-content {
      text-align: left; }
      #HomeVideo .info-panel .panel-content h1 {
        margin-bottom: 20px; }
    #HomeVideo .info-panel .btn {
      font-family: "Playfair Display", serif;
      font-size: 0.705rem;
      font-weight: 400;
      text-transform: uppercase;
      letter-spacing: 0.15rem;
      color: white;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      padding: 14px 20px;
      background: rgba(255, 255, 255, 0.15);
      border: 1px solid rgba(255, 255, 255, 0.5);
      border-radius: 0;
      display: inline-block;
      position: relative;
      z-index: 1;
      overflow: hidden;
      color: black;
      border: 1px solid black;
      min-width: 150px;
      position: relative;
      margin: 0 auto;
      bottom: 50px; }
      @media (min-width: 650px) {
        #HomeVideo .info-panel .btn {
          padding: 14px 50px; }
          #HomeVideo .info-panel .btn:after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 270%;
            height: 420%;
            background: #827b6d;
            opacity: 0.85;
            z-index: -1;
            transform-origin: bottom center;
            transform: translateX(calc(-105%)) rotate(12deg);
            transition: transform 280ms ease-out; } }
@media (min-width: 1200px) and (min-width: 1200px) {
  #HomeVideo .info-panel .btn:hover {
    border: 1px solid #827b6d; }
    #HomeVideo .info-panel .btn:hover:after {
      transform: translateX(-15%) rotate(12deg); } }
      #HomeVideo .info-panel .btn p {
        font-family: "Playfair Display", serif;
        font-size: 0.705rem;
        font-weight: 100;
        margin: 0; }
  #HomeVideo .btn-future {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 0.8rem;
    font-weight: 400;
    text-align: left;
    text-transform: uppercase;
    padding: 4px;
    color: white;
    height: 40px;
    width: 170px;
    position: absolute;
    left: calc(50% - 80px);
    bottom: 50px;
    z-index: 3;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    cursor: pointer; }
    #HomeVideo .btn-future .icon-arrow {
      position: absolute;
      top: 10px;
      left: 154px; }
      #HomeVideo .btn-future .icon-arrow span {
        background-color: rgba(255, 255, 255, 0.6);
        position: absolute; }
        #HomeVideo .btn-future .icon-arrow span.post {
          width: 1px;
          height: 20px; }
        #HomeVideo .btn-future .icon-arrow span.arrow {
          width: 1px;
          height: 7px;
          background-color: rgba(255, 255, 255, 0.85);
          position: absolute;
          top: 13px; }
          #HomeVideo .btn-future .icon-arrow span.arrow.left {
            transform: rotate(-45deg);
            left: -3px; }
          #HomeVideo .btn-future .icon-arrow span.arrow.right {
            transform: rotate(45deg);
            left: 3px; }
  #HomeVideo .page-content {
    height: 100vh;
    width: 100vw;
    position: relative;
    z-index: 2; }
    #HomeVideo .page-content .tagline {
      font-weight: 400;
      text-align: center;
      width: 130px;
      top: 18vh;
      left: 50%;
      margin-left: -62px;
      color: #051e46; }
    #HomeVideo .page-content h1 {
      line-height: 1.2;
      width: 100%;
      display: inline-block;
      position: relative;
      top: 24vh; }
      #HomeVideo .page-content h1.hsi-intro {
        color: white;
        text-shadow: 0 0 20px rgba(0, 10, 25, 0.3); }
      #HomeVideo .page-content h1.hsi-name {
        color: #051e46;
        text-shadow: 0 0 22px rgba(255, 255, 255, 0.8); }
  #HomeVideo.info-active .info-panel {
    transform: translateX(0);
    background-position: center center; }
  #HomeVideo.info-active .page-title {
    color: rgba(0, 0, 0, 0.85); }
  @media (max-height: 480px) {
    #HomeVideo .info-block {
      display: none; } }
  @media (min-width: 650px) {
    #HomeVideo {
      background: #000a19 url(../img/bkgd-video-md.jpg) no-repeat center center;
      background-size: cover; }
      #HomeVideo .logo {
        width: 170px;
        top: 60px;
        right: 30px; }
      #HomeVideo .info-block {
        text-align: left;
        color: white;
        width: 260px;
        position: absolute;
        bottom: 18vh;
        left: 30px; }
      #HomeVideo .info-panel {
        width: 100vw;
        height: 100vh;
        padding: 0 6% 20px;
        right: 0;
        top: 0;
        z-index: 3;
        display: flex;
        flex-direction: column;
        justify-content: center; }
        #HomeVideo .info-panel .logo {
          width: 60px;
          height: auto;
          position: absolute;
          right: 60px;
          top: 70px;
          display: block; }
        #HomeVideo .info-panel .btn-close {
          display: none; }
        #HomeVideo .info-panel .btn {
          left: 30px;
          bottom: 184px;
          margin: 0;
          position: absolute; }
          #HomeVideo .info-panel .btn p {
            font-family: "Playfair Display", serif;
            font-size: 0.705rem;
            font-weight: 100;
            margin: 0; }
      #HomeVideo .btn-future {
        left: 56px;
        bottom: 50px;
        z-index: 98; }
      #HomeVideo .page-content .tagline {
        top: 28vh;
        left: 50%;
        transition: all 300ms ease-in-out; }
      #HomeVideo .page-content h1 {
        line-height: 1.6;
        width: 100%;
        display: inline-block;
        position: absolute;
        left: 0;
        right: 0;
        top: auto;
        white-space: nowrap;
        transform: translateX(0);
        transition: all 300ms ease-in-out; }
        #HomeVideo .page-content h1.hsi-intro {
          top: calc(40vh - 35px); }
        #HomeVideo .page-content h1.hsi-name {
          top: calc(40vh + 35px);
          position: absolute; }
          #HomeVideo .page-content h1.hsi-name .hs-text {
            position: absolute;
            left: calc(50% - 273px);
            transition: all 300ms ease-in-out; }
          #HomeVideo .page-content h1.hsi-name .i-text {
            position: absolute;
            left: calc(50% + 56px);
            top: 0;
            transition: all 300ms ease-in-out; } }
  @media (min-width: 1020px) {
    #HomeVideo .logo {
      width: 170px;
      top: 60px;
      right: 60px; }
    #HomeVideo .info-panel {
      width: 50vw;
      transform: translateX(50vw); }
      #HomeVideo .info-panel .btn {
        display: none; }
    #HomeVideo .page-content .tagline.info-active {
      color: white;
      left: 124px; }
    #HomeVideo .page-content h1.hsi-name .hs-text {
      left: 50%;
      margin-left: -230px;
      transition: left 300ms ease-in-out, margin 200ms ease-in; }
    #HomeVideo .page-content h1.hsi-name .i-text {
      left: calc(50% + 45px);
      top: 0;
      transition: all 300ms ease-in-out; }
    #HomeVideo.info-active .info-panel {
      transform: translateX(0); }
    #HomeVideo.info-active .page-content h1 {
      left: 60px;
      width: 0; }
      #HomeVideo.info-active .page-content h1.hsi-name {
        text-shadow: 0 0 25px rgba(255, 255, 255, 0.3); }
      #HomeVideo.info-active .page-content h1 .hs-text {
        left: 0;
        margin-left: 0;
        transition: left 300ms ease-in-out, margin 200ms ease-out; }
      #HomeVideo.info-active .page-content h1 .i-text {
        left: 0;
        top: 75px;
        transition: all 300ms ease-in-out; }
    #HomeVideo.info-active .page-content .info-block > p {
      opacity: 0;
      pointer-events: none; }
    #HomeVideo.info-active .page-content .info-block .btn p:first-of-type {
      display: none; }
    #HomeVideo.info-active .page-content .info-block .btn p:last-of-type {
      display: block; }
    #HomeVideo .btn-future {
      z-index: 100; } }
  @media (min-width: 1200px) {
    #HomeVideo {
      background: none; }
      #HomeVideo .video-container {
        width: 100%;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 0; }
        #HomeVideo .video-container .home-mask {
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          z-index: 2;
          background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPHJhZGlhbEdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgY3g9IjUwJSIgY3k9IjUwJSIgcj0iNzUlIj4KICAgIDxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiMwMTBjMTkiIHN0b3Atb3BhY2l0eT0iMC4xNSIvPgogICAgPHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjMDEwYzE5IiBzdG9wLW9wYWNpdHk9IjEiLz4KICA8L3JhZGlhbEdyYWRpZW50PgogIDxyZWN0IHg9Ii01MCIgeT0iLTUwIiB3aWR0aD0iMTAxIiBoZWlnaHQ9IjEwMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
          background: radial-gradient(ellipse at center, rgba(200, 200, 200, 0.5) 0%, #051e32 100%);
          filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#26010c19', endColorstr='#010c19',GradientType=1 ); }
        #HomeVideo .video-container .fs-vid {
          position: absolute;
          top: 50%;
          left: 50%;
          min-width: 100%;
          min-height: 100%;
          width: auto;
          height: auto;
          transform: translateX(-50%) translateY(-50%);
          filter: grayscale(40%);
          background: url(../img/bkgd-video.jpg) no-repeat;
          background-size: cover; }
      #HomeVideo .info-block {
        bottom: 14vh; }
        #HomeVideo .info-block .btn {
          color: white;
          background: none; }
      #HomeVideo .btn-future:hover {
        font-weight: 400; }
      #HomeVideo .page-content h1.hsi-name {
        top: calc(40vh + 35px); }
        #HomeVideo .page-content h1.hsi-name .hs-text {
          left: calc(50%);
          margin-left: -273px;
          transition: left 300ms ease-in-out, margin 200ms ease-in; }
        #HomeVideo .page-content h1.hsi-name .i-text {
          left: calc(50% + 56px);
          top: 0;
          transition: all 300ms ease-in-out; }
      #HomeVideo.info-active .page-content h1 {
        left: 60px;
        width: 0; }
        #HomeVideo.info-active .page-content h1 .hs-text {
          left: 0;
          margin-left: 0;
          transition: left 300ms ease-in-out, margin 200ms ease-out; }
        #HomeVideo.info-active .page-content h1 .i-text {
          position: absolute;
          left: 0;
          top: 75px; } }
#Mission {
  z-index: 2; }
  #Mission .split-screen.split-img {
    display: none; }
    #Mission .split-screen.split-img .tagline {
      display: none; }
  #Mission .split-screen.split-text {
    background-color: white; }
    #Mission .split-screen.split-text .logo {
      width: 60px;
      height: auto;
      position: absolute;
      right: 15px;
      top: 34px; }
    #Mission .split-screen.split-text h1 {
      padding: 0;
      margin-bottom: 30px; }
    #Mission .split-screen.split-text p {
      padding-left: 0; }
    #Mission .split-screen.split-text .spore-1 {
      display: none; }
  #Mission .btn-technology {
    display: none; }
  #Mission .esher-orb {
    display: none; }
  #Mission .spore.spore-4 {
    display: none; }
  @media (min-width: 650px) {
    #Mission .split-screen.split-img {
      display: block;
      background: url(../img/bkgd-mission-hrzl.jpg) no-repeat center bottom;
      background-size: cover; }
      #Mission .split-screen.split-img .tagline {
        display: block;
        top: 64px; }
      #Mission .split-screen.split-img .spore {
        z-index: 10;
        position: absolute; }
        #Mission .split-screen.split-img .spore.spore-2 {
          width: 39px;
          height: 40px;
          top: calc(60% - 20px);
          left: 40%; }
        #Mission .split-screen.split-img .spore.spore-3 {
          width: 9px;
          height: 8px;
          top: calc(58% - 4px);
          left: 36%; }
    #Mission .split-screen.split-text .logo {
      width: 60px;
      height: auto;
      right: 60px;
      top: 70px; }
    #Mission .split-screen.split-text h1 {
      padding-right: 120px;
      padding-left: 0;
      margin-bottom: 50px; }
    #Mission .split-screen.split-text p {
      padding-left: 50px; }
    #Mission .btn-technology {
      font-family: "Roboto Condensed", sans-serif;
      font-size: 0.8rem;
      font-weight: 400;
      text-align: left;
      text-transform: uppercase;
      padding: 4px;
      color: white;
      height: 40px;
      width: 170px;
      position: absolute;
      left: 56px;
      bottom: 50px;
      z-index: 98;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      cursor: pointer;
      display: block; }
      #Mission .btn-technology .icon-arrow {
        position: absolute;
        top: 10px;
        left: 154px; }
        #Mission .btn-technology .icon-arrow span {
          background-color: rgba(255, 255, 255, 0.6);
          position: absolute; }
          #Mission .btn-technology .icon-arrow span.post {
            width: 1px;
            height: 20px; }
          #Mission .btn-technology .icon-arrow span.arrow {
            width: 1px;
            height: 7px;
            background-color: rgba(255, 255, 255, 0.85);
            position: absolute;
            top: 13px; }
            #Mission .btn-technology .icon-arrow span.arrow.left {
              transform: rotate(-45deg);
              left: -3px; }
            #Mission .btn-technology .icon-arrow span.arrow.right {
              transform: rotate(45deg);
              left: 3px; }
    #Mission .main-text {
      padding-bottom: 0;
      padding-top: 30px; }
    #Mission .esher-orb {
      display: block;
      width: 180px;
      position: absolute;
      top: calc(50vh);
      left: calc(80vw - 125px); }
    #Mission .spore.spore-4 {
      display: block;
      position: absolute;
      width: 32px;
      height: 34px;
      top: calc(50vh + 150px);
      left: calc(80vw - 90px); } }
  @media (min-width: 1020px) {
    #Mission .split-screen.split-img {
      background: url(../img/bkgd-mission-sm.jpg) no-repeat right center;
      background-size: cover; }
      #Mission .split-screen.split-img .tagline {
        top: 28vh; }
      #Mission .split-screen.split-img .spore {
        z-index: 10;
        position: absolute; }
        #Mission .split-screen.split-img .spore.spore-2 {
          width: 39px;
          height: 40px;
          top: 39%;
          left: 30%; }
        #Mission .split-screen.split-img .spore.spore-3 {
          width: 9px;
          height: 8px;
          top: 37%;
          left: 27%; }
    #Mission .split-screen.split-text {
      background-color: white; }
      #Mission .split-screen.split-text .logo {
        width: 60px;
        height: auto;
        position: absolute;
        right: 60px;
        top: 70px; }
      #Mission .split-screen.split-text h1 {
        padding-right: 80px;
        padding-left: 20px; }
      #Mission .split-screen.split-text p {
        padding-left: 70px; }
      #Mission .split-screen.split-text .spore-1 {
        width: 64px;
        height: 66px;
        display: block;
        position: absolute;
        top: 24%;
        left: 50%; }
    #Mission .esher-orb {
      top: calc(38vh);
      left: calc(50vw - 90px); }
    #Mission .spore.spore-4 {
      top: calc(38vh + 150px);
      left: calc(50vw - 60px); }
    #Mission .btn-technology {
      z-index: 100; } }
  @media (min-width: 1200px) {
    #Mission .split-screen.split-img .spore {
      z-index: 10;
      position: absolute; }
      #Mission .split-screen.split-img .spore.spore-2 {
        width: 39px;
        height: 40px;
        top: 39%;
        right: 10%; }
      #Mission .split-screen.split-img .spore.spore-3 {
        width: 9px;
        height: 8px;
        top: 37%;
        right: 12%; }
    #Mission .split-screen.split-text h1 {
      padding-right: 90px;
      padding-left: 40px; }
    #Mission .split-screen.split-text p {
      padding-left: 100px; }
    #Mission .split-screen.split-text .spore-1 {
      top: 24%;
      left: 10px; }
    #Mission .esher-orb {
      width: 250px;
      top: calc(38vh);
      left: calc(50vw - 125px); }
    #Mission .spore.spore-4 {
      top: calc(38vh + 215px);
      left: calc(50vw - 70px); } }
#Services {
  background-color: white;
  z-index: 1; }
  #Services.full-screen {
    height: auto; }
  #Services .btn-nav span {
    background-color: #000 !important; }
  #Services .page-title {
    color: #a0a0a0;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale; }
  #Services > .logo {
    width: 60px;
    height: auto;
    position: absolute;
    right: 15px;
    top: 34px;
    z-index: 10; }
    #Services > .logo.white {
      display: none; }
    #Services > .logo img {
      width: 100%;
      height: auto; }
  #Services .intro {
    width: 100vw;
    padding: 35px 50px 85px;
    position: relative; }
    #Services .intro > * {
      max-width: 400px; }
    #Services .intro .intro-title {
      color: #aea48e; }
      #Services .intro .intro-title h3 {
        font-family: "Roboto Condensed", sans-serif;
        font-size: 0.9rem;
        font-weight: 600;
        text-transform: uppercase;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
        -moz-osx-font-smoothing: grayscale; }
    #Services .intro .intro-text.main-text {
      padding: 30px 0; }
      #Services .intro .intro-text.main-text h1 {
        margin-bottom: 30px; }
    #Services .intro .capabilities {
      font-size: 0.75rem;
      position: relative; }
  #Services .btn-close {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 12px;
    left: 5px;
    left: 30px;
    top: calc(50vh - 15px);
    cursor: pointer;
    transform: translateX(-60px);
    transition: transform 400ms ease-in-out; }
    #Services .btn-close .icon-arrow {
      position: absolute;
      top: 10px;
      top: 15px;
      left: 4px;
      transform: rotate(-90deg); }
      #Services .btn-close .icon-arrow span {
        background-color: rgba(255, 255, 255, 0.6);
        position: absolute; }
        #Services .btn-close .icon-arrow span.post {
          width: 1px;
          height: 20px; }
        #Services .btn-close .icon-arrow span.arrow {
          width: 1px;
          height: 7px;
          background-color: rgba(255, 255, 255, 0.85);
          position: absolute;
          top: 13px; }
          #Services .btn-close .icon-arrow span.arrow.left {
            transform: rotate(-45deg);
            left: -3px; }
          #Services .btn-close .icon-arrow span.arrow.right {
            transform: rotate(45deg);
            left: 3px; }
      #Services .btn-close .icon-arrow span {
        background-color: #252525 !important; }
  #Services .info-panel {
    width: 100vw;
    min-height: 1100px;
    background: #252525;
    position: relative; }
    #Services .info-panel .bkgds {
      width: inherit;
      height: inherit;
      position: absolute;
      top: 0;
      left: -25vh;
      transition: all 300ms ease-in-out; }
    #Services .info-panel .bkgd {
      position: absolute;
      width: 80vh;
      height: 80vh;
      top: calc(10vh);
      left: -50%;
      transition: opacity 300ms ease-in-out; }
      #Services .info-panel .bkgd .top {
        animation: rotateBkgd 750s linear infinite; }
      #Services .info-panel .bkgd .bottom {
        animation: rotateBkgd 1200s linear infinite; }
      #Services .info-panel .bkgd.bkgd-0 {
        opacity: 0; }
        #Services .info-panel .bkgd.bkgd-0 .top,
        #Services .info-panel .bkgd.bkgd-0 .bottom {
          position: absolute;
          width: inherit;
          height: inherit;
          background: url(../img/bkgd-services-0.svg) no-repeat center center;
          background-size: 100%; }
      #Services .info-panel .bkgd.bkgd-1 {
        opacity: 0; }
        #Services .info-panel .bkgd.bkgd-1 .top,
        #Services .info-panel .bkgd.bkgd-1 .bottom {
          position: absolute;
          width: inherit;
          height: inherit;
          background: url(../img/bkgd-services-1.svg) no-repeat center center;
          background-size: 100%; }
      #Services .info-panel .bkgd.bkgd-2 {
        opacity: 0; }
        #Services .info-panel .bkgd.bkgd-2 .top,
        #Services .info-panel .bkgd.bkgd-2 .bottom {
          position: absolute;
          width: inherit;
          height: inherit;
          background: url(../img/bkgd-services-2.svg) no-repeat center center;
          background-size: 100%; }
      #Services .info-panel .bkgd.bkgd-3 {
        opacity: 0; }
        #Services .info-panel .bkgd.bkgd-3 .top,
        #Services .info-panel .bkgd.bkgd-3 .bottom {
          position: absolute;
          width: inherit;
          height: inherit;
          background: url(../img/bkgd-services-3.svg) no-repeat center center;
          background-size: 100%; }
      #Services .info-panel .bkgd.active {
        opacity: 1; }
    #Services .info-panel .btn-bar {
      text-align: center;
      width: 100%;
      margin: 0 auto;
      padding: 60px 50px 0; }
      #Services .info-panel .btn-bar .btn {
        font-family: "Playfair Display", serif;
        font-size: 0.705rem;
        font-weight: 400;
        text-transform: uppercase;
        letter-spacing: 0.15rem;
        color: white;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
        -moz-osx-font-smoothing: grayscale;
        padding: 14px 20px;
        background: rgba(255, 255, 255, 0.15);
        border: 1px solid rgba(255, 255, 255, 0.5);
        border-radius: 0;
        display: inline-block;
        position: relative;
        z-index: 1;
        overflow: hidden;
        font-family: "Roboto Condensed", sans-serif;
        font-weight: 700;
        letter-spacing: 0.06rem;
        width: 100%;
        margin: 0 auto 14px;
        padding: 16px 20px 14px; }
        @media (min-width: 650px) {
          #Services .info-panel .btn-bar .btn {
            padding: 14px 50px; }
            #Services .info-panel .btn-bar .btn:after {
              content: "";
              position: absolute;
              top: 0;
              left: 0;
              width: 270%;
              height: 420%;
              background: #827b6d;
              opacity: 0.85;
              z-index: -1;
              transform-origin: bottom center;
              transform: translateX(calc(-105%)) rotate(12deg);
              transition: transform 280ms ease-out; } }
@media (min-width: 1200px) and (min-width: 1200px) {
  #Services .info-panel .btn-bar .btn:hover {
    border: 1px solid #827b6d; }
    #Services .info-panel .btn-bar .btn:hover:after {
      transform: translateX(-15%) rotate(12deg); } }
        #Services .info-panel .btn-bar .btn:hover {
          color: white; }
        #Services .info-panel .btn-bar .btn.active {
          border-color: #827b6d;
          background-color: #827b6d; }
    #Services .info-panel .text-panels {
      font-size: 0.85rem;
      line-height: 1.7;
      color: white;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale;
      width: 100%;
      top: 30px;
      position: relative; }
      #Services .info-panel .text-panels .text-panel {
        padding: 0 50px;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        pointer-events: none;
        transition: 300ms ease-in-out; }
        #Services .info-panel .text-panels .text-panel ol {
          margin: 30px 0 0;
          width: calc(100% - 56px);
          padding-left: 26px;
          list-style-type: decimal-leading-zero;
          position: absolute;
          transform: translateY(0);
          transition: 200ms ease-in-out; }
          #Services .info-panel .text-panels .text-panel ol li {
            line-height: 1.6;
            margin-top: 4px; }
          #Services .info-panel .text-panels .text-panel ol.is-hidden {
            opacity: 0;
            transform: translateY(-20px); }
        #Services .info-panel .text-panels .text-panel .btn-list {
          width: 50px;
          height: 50px;
          border: 1px solid #555;
          border-radius: 50%;
          margin-right: 20px;
          padding-top: 14px;
          display: inline-block;
          position: relative;
          cursor: pointer;
          transition: all 300ms ease-in-out;
          opacity: 1;
          pointer-events: all;
          margin: 580px 0 0;
          transform: rotate(90deg);
          pointer-events: none; }
          #Services .info-panel .text-panels .text-panel .btn-list:hover {
            border-color: white; }
            #Services .info-panel .text-panels .text-panel .btn-list:hover span {
              background-color: white; }
          #Services .info-panel .text-panels .text-panel .btn-list span {
            width: 1px;
            height: 8px;
            background-color: #555;
            position: absolute;
            transition: all 300ms ease-in-out; }
            #Services .info-panel .text-panels .text-panel .btn-list span:first-of-type {
              height: 20px;
              left: 50%; }
            #Services .info-panel .text-panels .text-panel .btn-list span:nth-of-type(2) {
              left: calc(50% - 3px);
              transform: rotate(45deg); }
            #Services .info-panel .text-panels .text-panel .btn-list span:last-of-type {
              left: calc(50% + 3px);
              transform: rotate(-45deg); }
          #Services .info-panel .text-panels .text-panel .btn-list.back {
            transform: rotate(-90deg); }
        #Services .info-panel .text-panels .text-panel.active .btn-list {
          pointer-events: all; }
  #Services.section-1 .btn-bar .btn:nth-child(1):after {
    transform: translateX(-15%) rotate(12deg) !important; }
  #Services.section-1 .text-panel.panel-1 {
    opacity: 1;
    pointer-events: all; }
  #Services.section-2 .btn-bar .btn:nth-child(2):after {
    transform: translateX(-15%) rotate(12deg) !important; }
  #Services.section-2 .text-panel.panel-2 {
    opacity: 1;
    pointer-events: all; }
  #Services.section-3 .btn-bar .btn:nth-child(3):after {
    transform: translateX(-15%) rotate(12deg) !important; }
  #Services.section-3 .text-panel.panel-3 {
    opacity: 1;
    pointer-events: all; }
  @media (min-width: 650px) {
    #Services.full-screen {
      height: 100vh; }
    #Services .page-title {
      color: white;
      -webkit-font-smoothing: antialiased;
      text-rendering: optimizeLegibility;
      -moz-osx-font-smoothing: grayscale; }
      #Services .page-title:after {
        border-color: rgba(96, 92, 168, 0.5); }
    #Services > .logo {
      width: 60px;
      height: auto;
      right: 60px;
      top: 60px; }
      #Services > .logo.white {
        display: block; }
      #Services > .logo.black {
        display: none; }
      #Services > .logo img {
        width: 100%;
        height: auto; }
    #Services .intro {
      width: 30%;
      height: 100vh;
      margin-left: 60px;
      padding: 120px 0px 85px;
      position: relative; }
      #Services .intro > * {
        max-width: 400px; }
      #Services .intro .intro-text {
        padding-top: 5vh; }
      #Services .intro .capabilities {
        position: absolute;
        bottom: 80px; }
    #Services .btn-close {
      left: 20px;
      top: calc(50vh - 15px); }
    #Services .info-panel {
      min-height: 100%;
      position: absolute;
      top: 0;
      left: 60px;
      overflow: hidden;
      transform: translateX(calc(30vw + 30px));
      transition: all 300ms ease-in-out; }
      #Services .info-panel .btn-bar {
        width: 290px;
        margin: 19vh auto 0;
        padding: 0 30px;
        float: left; }
        #Services .info-panel .btn-bar .btn {
          padding: 14px 30px;
          margin: 0 auto 10px;
          width: 100%; }
      #Services .info-panel .bkgds {
        width: inherit;
        height: inherit;
        position: absolute;
        top: 0;
        left: -45vh;
        transition: all 300ms ease-in-out; }
        #Services .info-panel .bkgds .bkgd {
          left: 0; }
      #Services .info-panel .text-panels {
        width: 100%;
        position: absolute;
        left: 300px;
        top: calc(19vh - 4px); }
        #Services .info-panel .text-panels .text-panel {
          width: 360px;
          padding: 0; }
          #Services .info-panel .text-panels .text-panel ol {
            width: auto; }
          #Services .info-panel .text-panels .text-panel .btn-list {
            margin: 460px 0 0; }
    #Services.panel-active .btn-close {
      transform: translateX(0px); }
    #Services.panel-active .info-panel {
      transform: translateX(0); }
      #Services.panel-active .info-panel .bkgds {
        transform: translateX(-12vh); }
      #Services.panel-active .info-panel .text-panels .text-panel {
        padding: 0 30px; } }
  @media (min-width: 1020px) {
    #Services .intro {
      width: 30vw;
      height: 100vh;
      margin-left: 100px;
      padding-top: 85px;
      position: relative; }
      #Services .intro > * {
        max-width: 400px; }
    #Services .info-panel {
      left: 100px; }
      #Services .info-panel .bkgds {
        top: 0;
        left: -25vh; }
      #Services .info-panel .text-panels .text-panel {
        width: 550px; }
        #Services .info-panel .text-panels .text-panel .btn-list {
          margin: 420px 0 0; }
    #Services.panel-active .info-panel .bkgds {
      transform: translateX(-25vh); }
    #Services .btn-close {
      left: 30px;
      top: calc(50vh - 15px); } }
  @media (min-width: 1200px) {
    #Services .info-panel .bkgds {
      top: 0;
      left: -25vh; }
    #Services .btn-close {
      left: 30px;
      top: calc(50vh - 15px); } }
.error-404,
.error-403 {
  height: 100vh; }
  .error-404 .wrapper-outer .btn-nav span,
  .error-403 .wrapper-outer .btn-nav span {
    background-color: black !important; }
  .error-404 .wrapper-outer .bkgd-image,
  .error-403 .wrapper-outer .bkgd-image {
    width: 100vw;
    height: 100vh;
    background: url(../img/bkgd-404-sm.jpg) no-repeat center center;
    background-size: cover;
    filter: grayscale(1);
    opacity: 0.4;
    position: fixed; }
  .error-404 .wrapper-outer .error-msg,
  .error-403 .wrapper-outer .error-msg {
    text-align: center;
    width: 300px;
    height: 300px;
    border-radius: 150px;
    margin: calc(50vh - 170px) auto 0;
    padding: 45px 0 0;
    background-color: rgba(255, 255, 255, 0.7);
    position: relative; }
    .error-404 .wrapper-outer .error-msg h1,
    .error-403 .wrapper-outer .error-msg h1 {
      font-family: "Roboto", sans-serif;
      font-weight: 300; }
    .error-404 .wrapper-outer .error-msg p,
    .error-403 .wrapper-outer .error-msg p {
      font-size: 0.94rem;
      line-height: 1.5;
      width: 70%;
      margin: 14px auto 0; }
  @media (min-width: 1200px) {
    .error-404 .wrapper-outer .bkgd-image,
    .error-403 .wrapper-outer .bkgd-image {
      background: url(../img/bkgd-404.jpg) no-repeat center center;
      background-size: cover; } }
.splash {
  background-color: #565baf; }
  .splash #offset {
    display: none; }
  .splash .wrapper-outer {
    color: #222; }
    .splash .wrapper-outer .split-logo {
      padding: 80px 0 20px;
      position: relative;
      width: 100%;
      text-align: left;
      padding: 30px 0 15px 15px; }
      .splash .wrapper-outer .split-logo img {
        max-width: 230px; }
    .splash .wrapper-outer .split-text {
      font-size: 0.85rem;
      line-height: 1.8;
      width: 100%;
      padding: 30px 15px; }
      .splash .wrapper-outer .split-text h1 {
        font-size: 1.5rem;
        font-weight: 300;
        line-height: 1.4;
        color: rgba(255, 255, 255, 0.75);
        margin: 0 0 1.8rem;
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
        -moz-osx-font-smoothing: grayscale; }
      .splash .wrapper-outer .split-text h2 {
        font-size: 1.05rem;
        font-weight: 400;
        text-transform: uppercase;
        color: rgba(255, 255, 255, 0.6);
        -webkit-font-smoothing: antialiased;
        text-rendering: optimizeLegibility;
        -moz-osx-font-smoothing: grayscale; }
      .splash .wrapper-outer .split-text p {
        margin: 0 0 10px; }
        .splash .wrapper-outer .split-text p + h2 {
          margin-top: 2.5rem; }
    @media (min-width: 1200px) {
      .splash .wrapper-outer .split-logo {
        position: fixed;
        text-align: center;
        padding-top: calc(50vh - 50px);
        width: 41.6666666667%;
        float: left;
        padding-left: 0.8333333333%;
        padding-right: 0.8333333333%; }
        .splash .wrapper-outer .split-logo img {
          max-width: 260px;
          display: inline-block; }
      .splash .wrapper-outer .split-text {
        font-size: 0.85rem;
        line-height: 2;
        padding: 10vh 15% 10vh 0;
        width: 58.3333333333%;
        float: right;
        padding-left: 0.8333333333%;
        padding-right: 0.8333333333%; }
        .splash .wrapper-outer .split-text h1 {
          font-size: 1.7rem;
          line-height: 1.4;
          color: rgba(255, 255, 255, 0.75);
          margin: 0 0 3rem; }
        .splash .wrapper-outer .split-text h2 {
          font-size: 1.05rem;
          line-height: 1.5;
          margin: 0 0 0.2rem; }
        .splash .wrapper-outer .split-text p + h2 {
          margin-top: 2.5rem; } }
    @media (min-width: 1400px) {
      .splash .wrapper-outer .split-logo img {
        max-width: calc(100vw - 80px); } }
