/*
Theme Name:     Fin Terra Main Theme
Theme URI:      http://www.blufish.com/
Description:    Theme for Fin Terra
Author:         Blufish Studio - Jonathan Stalnaker
Author URI:     http://www.blufish.com/
Version:        0.1.0
*/
/* Sass Variables */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  -webkit-font-smoothing: antialiased;
  outline: none;
  text-decoration: none; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
  -webkit-font-smoothing: antialiased; }

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

body {
  line-height: 1;
  font-family: "futura-pt", sans-serif; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

a {
  text-decoration: none;
  cursor: pointer;
  outline: none; }
  a:hover,
  a:focus,
  a:active,
  a:visited {
    text-decoration: none;
    cursor: pointer;
    outline: none; }

.nopadding {
  padding: 0; }

.carousel-fade .carousel-inner .item {
  transition-property: opacity; }

.carousel-fade .carousel-inner .item,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  opacity: 0; }

.carousel-fade .carousel-inner .active,
.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
  opacity: 1; }

.carousel-fade .carousel-inner .next,
.carousel-fade .carousel-inner .prev,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  left: 0;
  transform: translate3d(0, 0, 0); }

.carousel-fade .carousel-control {
  z-index: 2; }

html,
body,
.carousel,
.carousel-inner,
.carousel-inner .item {
  height: 100%; }

.clear {
  clear: both; }

.carousel-fade .carousel-inner .item {
  transition-property: opacity; }

.carousel-fade .carousel-inner .item,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  opacity: 0; }

.carousel-fade .carousel-inner .active,
.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
  opacity: 1; }

.carousel-fade .carousel-inner .next,
.carousel-fade .carousel-inner .prev,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  left: 0;
  transform: translate3d(0, 0, 0); }

.carousel-fade .carousel-control {
  z-index: 2; }

/** END RESET **/
body {
  overflow-x: hidden; }

header {
  background: #231f20;
  padding: 30px 0;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  header a.logo {
    display: block;
    width: 100%;
    height: 90px;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    header a.logo img {
      width: auto;
      height: 90px;
      display: block;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  header .menu-main-menu-container {
    width: 100%; }
    header .menu-main-menu-container ul {
      display: inline;
      float: right;
      height: 90px;
      line-height: 90px;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
      header .menu-main-menu-container ul li {
        list-style: none;
        display: inline-block; }
        header .menu-main-menu-container ul li a {
          font: 1.3em "halogen", sans-serif;
          text-transform: uppercase;
          color: #fff;
          display: block;
          margin: 0 0 0 2em;
          transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
          header .menu-main-menu-container ul li a:hover,
          header .menu-main-menu-container ul li a:active,
          header .menu-main-menu-container ul li a:focus {
            color: #2d7d95;
            text-decoration: none;
            transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
        header .menu-main-menu-container ul li.current-menu-item a,
        header .menu-main-menu-container ul li.current-menu-item:hover,
        header .menu-main-menu-container ul li.current-menu-item:active,
        header .menu-main-menu-container ul li.current-menu-item:focus {
          color: #2d7d95;
          text-decoration: none;
          transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  header.stick,
  header.inner {
    padding: 15px;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    header.stick a.logo,
    header.inner a.logo {
      width: 100%;
      height: 40px;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
      header.stick a.logo img,
      header.inner a.logo img {
        width: auto;
        height: 40px;
        display: block;
        transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    header.stick .menu-main-menu-container ul,
    header.inner .menu-main-menu-container ul {
      height: 40px;
      line-height: 40px;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }

.buckets {
  margin-top: 2em;
  margin-bottom: 2em;
  height: 50vh; }
  .buckets .bucket {
    height: 50vh;
    border-right: 1px solid #217f96;
    position: relative;
    padding: 0;
    overflow: hidden; }
    .buckets .bucket .cover {
      display: table;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 50vh;
      background: #bcd8df;
      color: #217f96;
      cursor: pointer;
      transition: all 0.2s ease-in-out; }
      .buckets .bucket .cover .inner {
        display: table-cell;
        vertical-align: middle;
        text-align: center; }
        .buckets .bucket .cover .inner h3 {
          font-weight: bold;
          font: 1.8em "futura-pt", sans-serif;
          text-transform: uppercase; }
          .buckets .bucket .cover .inner h3 strong {
            font-weight: bold; }
        .buckets .bucket .cover .inner .icon {
          width: 80px;
          height: 80px;
          margin: 0 auto; }
    .buckets .bucket .content {
      display: table;
      height: 50vh;
      background: #217f96; }
      .buckets .bucket .content .inner {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
        padding: 15px; }
        .buckets .bucket .content .inner p {
          float: none;
          color: #fff; }
    .buckets .bucket:last-child {
      border-right: none; }
    .buckets .bucket:hover .cover {
      transition: all 0.2s ease-in-out;
      top: -100%; }

.works {
  margin-top: 2em;
  margin-bottom: 2em;
  height: 60vh; }
  .works .work {
    height: 60vh;
    border-right: 4px solid #fff;
    position: relative;
    padding: 0;
    overflow: hidden; }
    .works .work .cover {
      display: table;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 60vh;
      background: #217f96;
      background: rgba(33, 127, 150, 0.5);
      color: #fff;
      cursor: pointer;
      transition: all 0.2s ease-in-out;
      z-index: 2; }
      .works .work .cover .inner {
        display: table-cell;
        vertical-align: middle;
        text-align: center; }
        .works .work .cover .inner h3 {
          font-weight: bold;
          font: 1.8em "futura-pt", sans-serif;
          text-transform: uppercase; }
          .works .work .cover .inner h3 strong {
            font-weight: bold; }
        .works .work .cover .inner .fa {
          display: none; }
    .works .work .image {
      position: absolute;
      background: red;
      top: 0;
      left: 0;
      width: 100%;
      height: 60vh;
      z-index: 1;
      transition: all 0.2s ease-in-out; }
    .works .work .content {
      display: table;
      height: 60vh;
      background: #217f96; }
      .works .work .content .inner {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
        padding: 15px; }
        .works .work .content .inner p {
          color: #fff;
          float: none; }
        .works .work .content .inner span {
          display: block;
          color: #fff;
          margin-top: 2em; }
    .works .work:last-child {
      border-right: none; }
    .works .work:hover .cover, .works .work:hover .image {
      transition: all 0.2s ease-in-out;
      top: -100%; }

.content .banner {
  margin-top: 70px;
  height: 50vh;
  background-size: cover !important; }

.content.home .slider {
  position: relative;
  height: 100vh; }
  .content.home .slider .controls {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 50; }
    .content.home .slider .controls .slide-control {
      display: block;
      width: 50px;
      height: 70px;
      border-radius: 100%;
      position: absolute;
      top: 50%;
      margin-top: -35px;
      font-size: 2em;
      color: #fff;
      border-radius: 70px;
      text-align: center;
      line-height: 70px; }
      .content.home .slider .controls .slide-control.left {
        left: 1em;
        background: url(img/slide-blue-left.svg) center center no-repeat;
        background-size: contain;
        transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
        opacity: .6; }
        .content.home .slider .controls .slide-control.left:hover {
          opacity: .8;
          transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
      .content.home .slider .controls .slide-control.right {
        right: 1em;
        opacity: .6;
        transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
        background: url(img/slide-blue-right.svg) center center no-repeat;
        background-size: contain; }
        .content.home .slider .controls .slide-control.right:hover {
          opacity: .8;
          transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.home .slider #carousel {
    height: 100vh; }
    .content.home .slider #carousel .item {
      height: 100vh; }
      .content.home .slider #carousel .item .carousel-caption {
        background: #000;
        background: rgba(0, 0, 0, 0.6);
        width: 100%;
        left: 0;
        right: 0;
        bottom: 0;
        text-align: center;
        padding: 30px 0; }
        .content.home .slider #carousel .item .carousel-caption p {
          font: 2em "futura-pt", sans-serif;
          text-transform: uppercase; }
          .content.home .slider #carousel .item .carousel-caption p strong {
            font-weight: bold; }
          .content.home .slider #carousel .item .carousel-caption p span {
            color: #82a5b7;
            font-style: italic; }

.content.home .accordion-wrap {
  overflow: hidden; }
  .content.home .accordion-wrap .history {
    padding-top: 5em; }
    .content.home .accordion-wrap .history h2 {
      font: 2em "halogen", sans-serif;
      text-transform: uppercase;
      color: #fff;
      margin: 0 0 1em 0; }
    .content.home .accordion-wrap .history .blue {
      font: 2em "halogen", sans-serif;
      text-transform: uppercase;
      color: #2d7d95;
      margin: 0 0 2em 0;
      display: block;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
      background-image: url(img/slide-blue-right.png);
      background-position: right center;
      background-repeat: no-repeat;
      background-size: contain;
      opacity: 1;
      width: 100%;
      background-position: right center; }
      .content.home .accordion-wrap .history .blue:hover {
        opacity: .6;
        transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    .content.home .accordion-wrap .history p {
      font: 1.4em "futura-pt", sans-serif;
      color: #fff;
      line-height: 1.8em;
      margin: 0 0 2em 0; }
  .content.home .accordion-wrap .accordion {
    height: auto; }
    .content.home .accordion-wrap .accordion .item {
      width: 25%;
      float: left;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
      padding: 0 1%;
      height: 100%;
      display: block;
      cursor: pointer; }
      .content.home .accordion-wrap .accordion .item .table-wrap {
        display: table;
        width: 100%;
        height: 100%;
        table-layout: fixed; }
        .content.home .accordion-wrap .accordion .item .table-wrap .table-row {
          display: table-row; }
          .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner {
            display: table-cell;
            position: relative;
            background: #2d7d95;
            color: #fff;
            height: 100%;
            text-align: center;
            overflow: hidden;
            vertical-align: middle; }
            .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .content {
              width: 100%;
              padding: 0;
              transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
              max-height: 0; }
              .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .content p {
                max-height: 0;
                overflow: hidden; }
              .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .content p {
                font: 1.4em "futura-pt", sans-serif;
                color: #fff;
                line-height: 1.8em;
                margin: 0 0 2em 0; }
              .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .content h3 {
                font: 0.8em "halogen", sans-serif;
                text-transform: uppercase;
                color: #fff;
                margin: 0 0 1em 0; }
            .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .icon {
              margin: 0 auto;
              width: 50%;
              height: 50px;
              transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
              .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .icon.locate {
                background: url(img/icon-locate.svg) center center no-repeat;
                background-size: contain; }
              .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .icon.analyze {
                background: url(img/icon-analyze.svg) center center no-repeat;
                background-size: contain; }
              .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .icon.build {
                background: url(img/icon-build.svg) center center no-repeat;
                background-size: contain; }
            .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .switch {
              width: 50px;
              height: 50px;
              position: absolute;
              bottom: 15px;
              left: 50%;
              margin-left: -25px; }
              .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .switch.plus {
                background: url(img/accordion-plus.svg) center center no-repeat; }
              .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .switch.minus {
                background: url(img/accordion-minus.svg) center center no-repeat; }
      .content.home .accordion-wrap .accordion .item.active,
      .content.home .accordion-wrap .accordion .item.active:hover {
        width: 50%;
        transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
        box-sizing: border-box; }
        .content.home .accordion-wrap .accordion .item.active .table-wrap,
        .content.home .accordion-wrap .accordion .item.active:hover .table-wrap {
          display: table;
          width: 100%;
          height: 100%;
          table-layout: fixed; }
          .content.home .accordion-wrap .accordion .item.active .table-wrap .table-row,
          .content.home .accordion-wrap .accordion .item.active:hover .table-wrap .table-row {
            display: table-row; }
            .content.home .accordion-wrap .accordion .item.active .table-wrap .table-row .inner,
            .content.home .accordion-wrap .accordion .item.active:hover .table-wrap .table-row .inner {
              background: #82a5b7; }
              .content.home .accordion-wrap .accordion .item.active .table-wrap .table-row .inner .content,
              .content.home .accordion-wrap .accordion .item.active:hover .table-wrap .table-row .inner .content {
                opacity: 1;
                transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
                max-height: 100vh;
                padding: 2em; }
                .content.home .accordion-wrap .accordion .item.active .table-wrap .table-row .inner .content h3,
                .content.home .accordion-wrap .accordion .item.active:hover .table-wrap .table-row .inner .content h3 {
                  font-size: 1.5em; }
              .content.home .accordion-wrap .accordion .item.active .table-wrap .table-row .inner .icon,
              .content.home .accordion-wrap .accordion .item.active:hover .table-wrap .table-row .inner .icon {
                width: 70%;
                height: 100px;
                transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
      .content.home .accordion-wrap .accordion .item.show .table-wrap .table-row .inner .content h3, .content.home .accordion-wrap .accordion .item.show .table-wrap .table-row .inner .content p {
        max-height: 100vh;
        transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
        overflow: hidden;
        line-height: 1.4em; }
      .content.home .accordion-wrap .accordion .item:hover .table-wrap .table-row .inner .icon {
        width: 60%;
        height: 120px;
        transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }

.content.projects .row {
  display: flex;
  justify-content: flex-start; }

.content.projects .gallery .overlay {
  display: table;
  cursor: pointer;
  width: 100%;
  height: 50vh;
  position: absolute;
  top: 100%;
  background: rgba(45, 125, 149, 0.5);
  z-index: 2;
  transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.projects .gallery .overlay .description {
    height: 50vh;
    width: 100%;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    padding: 0 15px; }
    .content.projects .gallery .overlay .description h2 {
      font: 2.4em "futura-pt", sans-serif;
      font-weight: bold;
      color: #fff;
      text-transform: uppercase; }
    .content.projects .gallery .overlay .description h3 {
      font: 1.6em "futura-pt", sans-serif;
      font-weight: 100;
      letter-spacing: -1px;
      color: #fff;
      text-transform: uppercase; }
    .content.projects .gallery .overlay .description .plus {
      position: absolute;
      width: 100%;
      background: url(img/icon-plus.svg) center center no-repeat;
      bottom: 1em;
      height: 75px; }

.content.projects .gallery .project {
  position: relative;
  overflow: hidden;
  height: 50vh;
  float: left;
  flex-grow: 1; }
  .content.projects .gallery .project .carousel-inner .item .fa {
    display: none; }
  .content.projects .gallery .project:hover {
    cursor: pointer; }
    .content.projects .gallery .project:hover .overlay {
      top: 0;
      opacity: 1;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }

.content.strategy .arrowslider .box {
  height: 50vh;
  background: rgba(33, 127, 150, 0.4);
  text-align: center;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.strategy .arrowslider .box .icon {
    width: 25%;
    height: 25%;
    margin: 15% auto 2em auto; }
    .content.strategy .arrowslider .box .icon.locate {
      background: url(img/icon-locate.svg) center center no-repeat;
      background-size: contain; }
    .content.strategy .arrowslider .box .icon.analyze {
      background: url(img/icon-analyze.svg) center center no-repeat;
      background-size: contain; }
    .content.strategy .arrowslider .box .icon.build {
      background: url(img/icon-build.svg) center center no-repeat;
      background-size: contain; }
  .content.strategy .arrowslider .box h2 {
    color: #fff;
    font: 2em "halogen", sans-serif;
    text-transform: uppercase; }
  .content.strategy .arrowslider .box.locate {
    border-right: 2px #fff solid; }
  .content.strategy .arrowslider .box.analyze {
    border-left: 2px #fff solid;
    border-right: 2px #fff solid; }
  .content.strategy .arrowslider .box.build {
    border-left: 2px #fff solid; }
  .content.strategy .arrowslider .box.active,
  .content.strategy .arrowslider .box:hover {
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
    background: #217f96; }

.content.strategy .arrowrow {
  height: 50px;
  position: relative; }

.content.strategy .arrow {
  position: absolute;
  height: 50px;
  width: 33.33333333%;
  background: url(img/arrowslide.svg) center top no-repeat;
  transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.strategy .arrow.locate {
    left: 0%;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.strategy .arrow.analyze {
    left: 33.33333333%;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.strategy .arrow.build {
    left: 66.66666666%;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }

.content.strategy .arrowcontent {
  height: 0vh;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.strategy .arrowcontent .image {
    height: 50vh; }
  .content.strategy .arrowcontent .content {
    background: #2d7d95;
    padding: 0 8em;
    height: 40vh; }
    .content.strategy .arrowcontent .content .table-wrap {
      display: table;
      height: 40vh; }
      .content.strategy .arrowcontent .content .table-wrap .table {
        display: table-cell;
        vertical-align: middle; }
    .content.strategy .arrowcontent .content p {
      font: 1.6em "futura-pt", sans-serif;
      line-height: 2em;
      color: #fff; }
  .content.strategy .arrowcontent.active {
    height: 40vh;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }

.content.engage .skyline .accord .item {
  margin: 0 0 1em 0; }
  .content.engage .skyline .accord .item h2 {
    color: #fff;
    background-color: #2d7d95;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
    font: 1.6em "halogen", sans-serif;
    text-transform: uppercase;
    display: block;
    width: 100%;
    padding: 0.3em 1em;
    text-align: left;
    cursor: pointer;
    margin: 0 0 0.5em 0; }
    .content.engage .skyline .accord .item h2 span {
      font: .8em "futura-pt",sans-serif;
      text-transform: uppercase; }
  .content.engage .skyline .accord .item p {
    font: 1.4em "futura-pt",sans-serif;
    line-height: 1.4em;
    text-transform: none;
    color: #2d7d95;
    opacity: 0;
    height: auto;
    max-height: 0px;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.engage .skyline .accord .item:hover h2 {
    background-color: rgba(45, 125, 149, 0.7);
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.engage .skyline .accord .item.active p {
    height: auto;
    max-height: 2000px;
    opacity: 1;
    display: block;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }

.content.engage .rollover {
  height: 30vh;
  overflow: hidden;
  padding: 0; }
  .content.engage .rollover .image, .content.engage .rollover .rollovercontent {
    height: 30vh;
    width: 100%;
    margin: 0 0 0 0;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.engage .rollover .rollovercontent {
    background: #2d7d95;
    text-align: center;
    padding: 1.5em;
    padding-top: 3em;
    padding-bottom: 3em; }
    .content.engage .rollover .rollovercontent h1, .content.engage .rollover .rollovercontent h2 {
      text-transform: uppercase;
      color: #fff;
      font-size: 2em; }
    .content.engage .rollover .rollovercontent h3 {
      text-transform: uppercase;
      color: #fff;
      font-size: 1.6em;
      margin: 0 0 2em 0; }
    .content.engage .rollover .rollovercontent p {
      color: #fff;
      font-size: 1.4em;
      line-height: 1.4em; }
  .content.engage .rollover:hover .image {
    margin: -30vh 0 0 0;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }

.content.engage .maps {
  background: rgba(33, 127, 150, 0.2);
  max-height: 760px;
  margin-top: 1em; }
  .content.engage .maps h2 {
    text-align: center;
    margin: 1.4em 0 0 0;
    font: 1.7em "futura-pt", sans-serif;
    color: #2d7d95;
    text-transform: uppercase; }
  .content.engage .maps .wrapper {
    max-width: 1400px;
    margin: 0 auto; }
  .content.engage .maps aside {
    overflow: hidden;
    position: relative;
    height: 600px; }
    .content.engage .maps aside .mexico, .content.engage .maps aside .ca {
      padding: 6em 15px 2em 15px;
      height: 600px;
      color: #2d7d95;
      position: absolute;
      top: 0;
      left: -100%;
      width: 100%;
      opacity: 0;
      transition: all 0.2s ease-in-out; }
      .content.engage .maps aside .mexico h3, .content.engage .maps aside .ca h3 {
        font: 1.5em "halogen", sans-serif;
        text-transform: uppercase; }
      .content.engage .maps aside .mexico ul, .content.engage .maps aside .ca ul {
        margin-left: 2em; }
        .content.engage .maps aside .mexico ul li, .content.engage .maps aside .ca ul li {
          font-size: 1.2em;
          list-style: disc;
          margin: 0 0 1em 0; }
          .content.engage .maps aside .mexico ul li em, .content.engage .maps aside .ca ul li em {
            font-style: italic; }
      .content.engage .maps aside .mexico.active, .content.engage .maps aside .ca.active {
        left: 0;
        opacity: 1;
        transition: all 0.2s ease-in-out; }
  .content.engage .maps .map svg {
    max-height: 600px;
    width: auto; }

.content.page .white h1 {
  text-align: center;
  width: 100%; }

.content.page .white p, .content.page .white li {
  font: 1.2em "futura-pt", sans-serif;
  line-height: 1.2em;
  color: #000;
  margin: 0 0 1em 0;
  text-transform: none; }

.content.page .white ul {
  clear: both; }

.content.page .white li {
  list-style: disc;
  margin: 0 0 1em 1em; }

.pop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -1;
  background: #2d7d95;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0; }
  .pop .close {
    width: 75px;
    height: 75px;
    background: url(img/icon-close.svg) center center no-repeat;
    background-size: contain;
    position: absolute;
    top: 1em;
    right: 1.3em;
    z-index: 500;
    opacity: .6;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    .pop .close:hover {
      opacity: 1;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .pop.active {
    opacity: 1;
    z-index: 101; }
    .pop.active .carousel {
      z-index: 104; }
  .pop .slider {
    position: relative;
    z-index: 104; }
  .pop .carousel {
    height: 80vh;
    width: 80%;
    left: 10%;
    top: 10vh;
    position: relative;
    z-index: -1; }
    .pop .carousel .carousel-inner {
      height: 80vh;
      width: 100%;
      left: 0%; }
    .pop .carousel .item {
      background: #2d7d95;
      border-top: 2em solid #fff;
      border-right: 2em solid #fff;
      border-bottom: 5.5em solid #fff;
      border-left: 2em solid #fff;
      height: 80vh;
      width: 100%;
      left: 0%;
      box-sizing: border-box;
      padding: 3em;
      background-size: cover !important;
      overflow: auto; }
      .pop .carousel .item h2 {
        font: 3em "futura-pt", sans-serif;
        font-weight: bold;
        color: #fff;
        text-transform: uppercase;
        margin: 0; }
      .pop .carousel .item h3 {
        font: 2em "futura-pt", sans-serif;
        font-weight: 100;
        color: #fff;
        text-transform: uppercase;
        letter-spacing: -1px;
        margin: 0 0 1em 0; }
      .pop .carousel .item p {
        font: 2em "futura-pt", sans-serif;
        color: #fff; }
  .pop .inner {
    background: #2d7d95;
    border: 2em solid #fff;
    height: 60vh;
    width: 60%;
    left: 20%;
    top: 20vh;
    box-sizing: border-box;
    padding: 3em;
    background-size: cover !important;
    position: fixed;
    z-index: 1000;
    text-align: center; }
    .pop .inner .close {
      top: 0;
      right: 0; }
    .pop .inner h2 {
      font: 3em "futura-pt", sans-serif;
      font-weight: bold;
      color: #fff;
      text-transform: uppercase;
      margin: 0 0 1em 0; }
    .pop .inner p {
      font: 1.5em "futura-pt", sans-serif;
      color: #fff; }
  .pop .controls {
    position: absolute;
    bottom: 14px;
    left: 50%;
    margin-left: -90px;
    width: 180px;
    height: 58px;
    z-index: 1000; }
    .pop .controls p {
      text-align: center;
      font: 1em "halogen", sans-serif;
      color: #2d7d95;
      position: absolute;
      width: 100%;
      top: 50%;
      margin-top: -10px; }
    .pop .controls .slide-control.left {
      width: 31px;
      height: 58px;
      background: url(img/slide-blue-left.svg) center center no-repeat;
      background-size: contain;
      float: left;
      position: relative;
      z-index: 1000; }
    .pop .controls .slide-control.right {
      width: 31px;
      height: 58px;
      background: url(img/slide-blue-right.svg) center center no-repeat;
      background-size: contain;
      float: right;
      position: relative;
      z-index: 1000; }
  .pop .closewrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 103; }

.white {
  width: 100%;
  padding: 2em 0; }
  .white h1 {
    font: 2.5em "halogen", sans-serif;
    line-height: 2.5em;
    text-transform: uppercase;
    color: #2d7d95;
    float: right; }
    .white h1 strong {
      font-weight: bold; }
  .white p {
    font: 1em "halogen", sans-serif;
    line-height: 6.5em;
    text-transform: uppercase;
    color: #2d7d95;
    float: left; }
  .white.top {
    text-align: left;
    padding: 2em 0 4em 0; }
    .white.top h1 {
      text-align: left;
      float: none; }
    .white.top p {
      font: 1.4em "futura-pt", sans-serif;
      line-height: 1.4em;
      text-transform: none; }
  .white.lower {
    text-align: left; }
    .white.lower h1 {
      text-align: left;
      float: none; }
    .white.lower p {
      font: 1.4em "futura-pt", sans-serif;
      line-height: 1.4em;
      text-transform: none;
      margin: 0 0 1em 0; }
  .white .wpcf7-response-output.wpcf7-display-none.wpcf7-validation-errors,
  .white .wpcf7-response-output.wpcf7-display-none.wpcf7-mail-sent-ok {
    display: none !important; }
  .white span.wpcf7-not-valid-tip {
    color: #f00;
    font-size: 1em;
    display: block;
    margin: 0 0 1em 0; }
  .white form input[type="text"],
  .white form input[type="email"],
  .white form textarea, .white .wpcf7 input[type="text"],
  .white .wpcf7 input[type="email"],
  .white .wpcf7 textarea {
    width: 100%;
    display: block;
    background: rgba(33, 127, 150, 0.2);
    padding: 1em;
    border: 0;
    outline: none;
    margin: 0 0 1em 0;
    font-size: 1.1em;
    -webkit-appearance: none;
    resize: none; }
  .white form textarea, .white .wpcf7 textarea {
    height: 120px; }
  .white form ::-webkit-input-placeholder, .white .wpcf7 ::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: #2d7d95;
    text-transform: uppercase; }
  .white form ::-moz-placeholder, .white .wpcf7 ::-moz-placeholder {
    /* Firefox 19+ */
    color: #2d7d95;
    text-transform: uppercase; }
  .white form :-ms-input-placeholder, .white .wpcf7 :-ms-input-placeholder {
    /* IE 10+ */
    color: #2d7d95;
    text-transform: uppercase; }
  .white form :-moz-placeholder, .white .wpcf7 :-moz-placeholder {
    /* Firefox 18- */
    color: #2d7d95;
    text-transform: uppercase; }
  .white form input[type="submit"], .white .wpcf7 input[type="submit"] {
    font-size: 1.1em;
    width: 100px;
    height: 65px;
    outline: 0;
    border: 0;
    cursor: pointer;
    margin: 0 auto;
    display: block;
    overflow: hidden;
    background: #217f96;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
    color: #fff;
    text-transform: uppercase;
    border-radius: 0px; }
    .white form input[type="submit"]:hover, .white .wpcf7 input[type="submit"]:hover {
      background: rgba(33, 127, 150, 0.6); }
  .white.subfooter .icon {
    width: 75%;
    height: 90px;
    display: block;
    padding-left: 50px;
    padding-top: 30px;
    font: 1.2em "futura-pt", sans-serif;
    color: #2d7d95;
    line-height: 1.4em;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
    opacity: 1;
    margin: 0 auto; }
    .white.subfooter .icon.map {
      background: url(img/icon-map.svg) left center no-repeat;
      background-size: 40px;
      padding-top: 25px; }
    .white.subfooter .icon.mail {
      background: url(img/icon-mail.svg) left center no-repeat;
      background-size: 40px; }
    .white.subfooter .icon.phone {
      background: url(img/icon-phone.svg) left center no-repeat;
      background-size: 40px; }
    .white.subfooter .icon:hover {
      text-decoration: none;
      opacity: .6;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }

footer {
  background: #000;
  text-align: center;
  padding: 3em 0; }
  footer p, footer a {
    font: 1em "futura-pt", sans-serif;
    color: #fff; }
  footer a:hover {
    text-decoration: none;
    color: #2d7d95; }

.space {
  margin-top: 6em; }

@media (max-width: 1600px) {
  .pop .carousel .item p {
    font-size: 2em; } }

@media (max-width: 1500px) {
  .pop .carousel .item p {
    font-size: 1.8em; } }

@media (max-width: 1370px) {
  .pop .carousel .item p {
    font-size: 1.6em; }
  .content .banner {
    height: 50vh; }
  .content.strategy .arrowcontent .content {
    padding: 0em 4em; }
    .content.strategy .arrowcontent .content p {
      font: 1.4em "futura-pt", sans-serif;
      line-height: 1.8em !important; }
  .content.strategy .arrowcontent.active {
    height: 40vh;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); } }

@media (max-width: 1199px) {
  header {
    padding: 15px 0; }
    header a.logo {
      display: block;
      width: 100%;
      height: 90px;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
      header a.logo img {
        height: 70px; }
    header .menu-main-menu-container ul li a {
      font: 1.2em "halogen", sans-serif;
      margin: 0 0 0 1.5em; }
    header.stick,
    header.inner {
      padding: 15px;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
      header.stick a.logo,
      header.inner a.logo {
        width: 100%;
        height: 40px;
        transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
        header.stick a.logo img,
        header.inner a.logo img {
          width: auto;
          height: 40px;
          display: block;
          transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
      header.stick .menu-main-menu-container ul,
      header.inner .menu-main-menu-container ul {
        height: 40px;
        line-height: 40px;
        transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content .banner {
    height: 50vh; }
  .content.home .slider .controls .slide-control {
    width: 50px;
    height: 50px;
    margin-top: -25px; }
  .content.home .accordion-wrap .history {
    padding-top: 3em; }
    .content.home .accordion-wrap .history h2 {
      font: 1.8em "halogen", sans-serif;
      margin: 0 0 1em 0; }
    .content.home .accordion-wrap .history .blue {
      font: 1.8em "halogen", sans-serif;
      margin: 0 0 2em 0; }
    .content.home .accordion-wrap .history p {
      font: 1.2em "futura-pt", sans-serif;
      line-height: 1.8em;
      margin: 0 0 2em 0; }
  .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .content {
    width: 100%;
    padding: 2em; }
    .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .content p {
      font: 1.2em "futura-pt", sans-serif;
      line-height: 1.8em;
      margin: 0 0 2em 0; }
    .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .content h3 {
      font: 1.5em "halogen", sans-serif;
      text-transform: uppercase;
      margin: 0 0 1em 0; }
  .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .switch {
    width: 50px;
    height: 50px; }
    .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .switch.plus {
      background: url(img/accordion-plus.svg) center center no-repeat; }
    .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .switch.minus {
      background: url(img/accordion-minus.svg) center center no-repeat; }
  .content.home .accordion-wrap .accordion .item.active .table-wrap .table-row .inner .content,
  .content.home .accordion-wrap .accordion .item.active:hover .table-wrap .table-row .inner .content {
    opacity: 1;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
    max-height: 100vh; }
  .content.home .accordion-wrap .accordion .item.active .table-wrap .table-row .inner .icon,
  .content.home .accordion-wrap .accordion .item.active:hover .table-wrap .table-row .inner .icon {
    width: 50%;
    height: 100px;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.home .accordion-wrap .accordion .item:hover .table-wrap .table-row .inner .icon {
    width: 60%;
    height: 70px;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.projects .gallery .second {
    padding: 0 0 0 2vh; }
  .content.projects .gallery .project.one .overlay {
    padding: 0 4em; }
    .content.projects .gallery .project.one .overlay .description h2 {
      font: 2.2em "futura-pt", sans-serif;
      font-weight: bold; }
    .content.projects .gallery .project.one .overlay .description h3 {
      font: 1.6em "futura-pt", sans-serif;
      font-weight: 100;
      letter-spacing: -1px; }
    .content.projects .gallery .project.one .overlay .description .plus {
      bottom: 1em;
      height: 75px; }
  .content.projects .gallery .project.two .overlay .description {
    display: table-cell;
    vertical-align: middle;
    padding: 0 3em; }
    .content.projects .gallery .project.two .overlay .description h2 {
      font: 2em "futura-pt", sans-serif;
      font-weight: bold; }
    .content.projects .gallery .project.two .overlay .description h3 {
      font: 1.6em "futura-pt", sans-serif;
      font-weight: 100;
      letter-spacing: -1px; }
    .content.projects .gallery .project.two .overlay .description .plus {
      bottom: 1em;
      height: 75px; }
  .content.projects .gallery .project.three .overlay .description {
    display: table-cell;
    vertical-align: middle;
    padding: 0 3em; }
    .content.projects .gallery .project.three .overlay .description h2 {
      font: 2em "futura-pt", sans-serif;
      font-weight: bold; }
    .content.projects .gallery .project.three .overlay .description h3 {
      font: 1.6em "futura-pt", sans-serif;
      font-weight: 100;
      letter-spacing: -1px; }
    .content.projects .gallery .project.three .overlay .description .plus {
      bottom: 1em;
      height: 75px; }
  .content.strategy .arrowcontent .content {
    padding: 0em 4em; }
    .content.strategy .arrowcontent .content p {
      font: 1.4em "futura-pt", sans-serif;
      line-height: 1.8em; }
  .content.strategy .arrowcontent.active {
    height: 40vh;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.engage .rollover {
    height: 50vh;
    overflow: hidden;
    padding: 0; }
    .content.engage .rollover .image, .content.engage .rollover .rollovercontent {
      height: 50vh;
      width: 100%;
      margin: 0 0 0 0;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    .content.engage .rollover .rollovercontent {
      background: #2d7d95;
      text-align: center;
      padding: 1.5em;
      cursor: pointer; }
      .content.engage .rollover .rollovercontent h2 {
        text-transform: uppercase;
        color: #fff;
        font-size: 2em; }
      .content.engage .rollover .rollovercontent h3 {
        text-transform: uppercase;
        color: #fff;
        font-size: 1.6em;
        margin: 0 0 2em 0; }
      .content.engage .rollover .rollovercontent p {
        color: #fff;
        font-size: 1.4em; }
    .content.engage .rollover:hover .image {
      margin: -50vh 0 0 0;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .pop .close {
    width: 75px;
    height: 75px;
    top: 1em;
    right: 1.3em; }
  .pop .carousel {
    height: 80vh;
    width: 80%;
    left: 10%;
    top: 10vh;
    position: relative;
    z-index: -1; }
    .pop .carousel .carousel-inner {
      height: 80vh;
      width: 100%;
      left: 0%; }
    .pop .carousel .item {
      border-top: 1.6em solid #fff;
      border-right: 1.6em solid #fff;
      border-bottom: 4.5em solid #fff;
      border-left: 1.6em solid #fff;
      overflow-y: auto; }
      .pop .carousel .item h2 {
        font: 2.6em "futura-pt", sans-serif;
        font-weight: bold; }
      .pop .carousel .item h3 {
        font: 1.6em "futura-pt", sans-serif;
        font-weight: 100; }
      .pop .carousel .item p {
        font: 1.4em "futura-pt", sans-serif;
        color: #fff; }
  .pop .inner {
    border: 2em solid #fff;
    height: 60vh;
    width: 60%;
    left: 20%;
    top: 20vh;
    padding: 3em; }
    .pop .inner h2 {
      font: 2.6em "futura-pt", sans-serif;
      font-weight: bold; }
    .pop .inner p {
      font: 1.2em "futura-pt", sans-serif;
      color: #fff; }
  .pop .controls {
    position: absolute;
    bottom: 3px;
    left: 50%;
    height: 58px;
    z-index: 1000; }
    .pop .controls .slide-control.left {
      height: 45px; }
    .pop .controls .slide-control.right {
      height: 45px; }
  .white {
    padding: 2em 0; }
    .white h1 {
      font: 2.2em "halogen", sans-serif;
      line-height: 1.3em;
      text-align: left;
      padding-left: 15px;
      width: 50%; }
    .white p {
      line-height: 1.6em;
      text-transform: uppercase;
      width: 50%;
      text-align: right;
      padding-right: 15px; }
    .white.top {
      text-align: left;
      padding: 2em 0; }
      .white.top h1 {
        width: 100%;
        padding: 0;
        text-align: left;
        float: none; }
      .white.top p {
        width: 100%;
        padding: 0;
        text-align: left;
        font: 1.3em "futura-pt", sans-serif;
        line-height: 1.4em;
        margin: 0; }
    .white.lower {
      text-align: left; }
      .white.lower h1 {
        width: 100%;
        padding: 0;
        text-align: left;
        float: none; }
      .white.lower p {
        width: 100%;
        padding: 0;
        text-align: left;
        font: 1.3em "futura-pt", sans-serif;
        line-height: 1.4em;
        margin: 0 0 1em 0; }
    .white span.wpcf7-not-valid-tip {
      color: #f00;
      font-size: 1em;
      display: block;
      margin: 0 0 1em 0; }
    .white.subfooter .icon {
      width: 100%;
      height: 90px;
      display: block;
      padding-left: 50px;
      padding-top: 30px;
      font: 1.2em "futura-pt", sans-serif;
      color: #2d7d95;
      line-height: 1.4em;
      cursor: pointer; }
      .white.subfooter .icon.map {
        background: url(img/icon-map.svg) left center no-repeat;
        background-size: 40px;
        padding-top: 25px; }
      .white.subfooter .icon.mail {
        background: url(img/icon-mail.svg) left center no-repeat;
        background-size: 40px; }
      .white.subfooter .icon.phone {
        background: url(img/icon-phone.svg) left center no-repeat;
        background-size: 40px; }
      .white.subfooter .icon:hover {
        text-decoration: none; } }

@media (max-width: 991px) {
  .buckets {
    height: auto; }
    .buckets .bucket {
      height: 300px;
      border-bottom: 1px solid #217f96;
      border-right: none;
      position: relative;
      padding: 0;
      overflow: hidden; }
      .buckets .bucket .cover {
        height: 300px; }
        .buckets .bucket .cover .inner h3 {
          font: 1.8em "futura-pt", sans-serif; }
        .buckets .bucket .cover .inner .icon {
          width: 80px;
          height: 80px;
          margin: 0 auto; }
      .buckets .bucket .content {
        height: 300px; }
        .buckets .bucket .content .inner {
          text-align: center; }
          .buckets .bucket .content .inner p {
            text-align: center; }
      .buckets .bucket:last-child {
        border-right: none;
        border-bottom: none; }
      .buckets .bucket:nth-child(odd) {
        border-right: 1px solid #217f96; }
      .buckets .bucket:nth-child(3) {
        border-bottom: none; }
  .works {
    margin-top: 2em;
    margin-bottom: 2em;
    height: auto; }
    .works .work {
      height: 400px;
      border-right: none; }
      .works .work .cover {
        height: 400px; }
        .works .work .cover .inner h3 {
          font: 1.8em "futura-pt", sans-serif; }
          .works .work .cover .inner h3 strong {
            font-weight: bold; }
        .works .work .cover .inner .fa {
          display: block; }
      .works .work .image {
        height: 400px; }
      .works .work .content {
        height: 400px; }
        .works .work .content .inner {
          text-align: center; }
          .works .work .content .inner p {
            text-align: center;
            color: #fff;
            float: none;
            line-height: 1.2em; }
          .works .work .content .inner span {
            text-align: center;
            display: block;
            color: #fff;
            margin-top: 2em; }
      .works .work:last-child {
        border-right: none; }
      .works .work:hover .cover, .works .work:hover .image {
        transition: all 0.2s ease-in-out;
        top: -100%; }
  header {
    padding: 15px;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    header a.logo {
      width: 100%;
      height: 40px;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
      header a.logo img {
        width: auto;
        height: 40px;
        display: block;
        transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    header .menu-main-menu-container ul {
      height: 40px;
      line-height: 40px;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
      header .menu-main-menu-container ul li a {
        font: 1em "halogen", sans-serif;
        margin: 0 0 0 1.5em; }
  .content.home .slider .controls .slide-control {
    width: 70px;
    height: 70px;
    margin-top: -35px; }
  .content.home .slider #carousel .item .carousel-caption p {
    font: 1.5em "futura-pt", sans-serif;
    text-transform: uppercase; }
    .content.home .slider #carousel .item .carousel-caption p strong {
      font-weight: bold; }
  .content.home .accordion-wrap {
    padding-bottom: 3em; }
    .content.home .accordion-wrap .history {
      padding-top: 3em; }
      .content.home .accordion-wrap .history h2 {
        font: 1.8em "halogen", sans-serif;
        margin: 0 0 1em 0; }
      .content.home .accordion-wrap .history .blue {
        font: 1.8em "halogen", sans-serif;
        margin: 0 0 2em 0; }
      .content.home .accordion-wrap .history p {
        font: 1.2em "futura-pt", sans-serif;
        line-height: 1.8em;
        margin: 0 0 2em 0; }
    .content.home .accordion-wrap .accordion {
      display: none;
      height: 60vh !important; }
      .content.home .accordion-wrap .accordion .item {
        height: 60vh !important; }
        .content.home .accordion-wrap .accordion .item .innerwrap {
          height: 60vh !important; }
        .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .content {
          width: 100%;
          padding: 2em; }
          .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .content p {
            font: 1.2em "futura-pt", sans-serif;
            line-height: 1.8em;
            margin: 0 0 2em 0; }
          .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .content h3 {
            font: 1.5em "halogen", sans-serif;
            text-transform: uppercase;
            margin: 0 0 1em 0; }
        .content.home .accordion-wrap .accordion .item .table-wrap .table-row .inner .icon {
          width: 50%;
          height: 50px; }
        .content.home .accordion-wrap .accordion .item.active .table-wrap .table-row .inner .content {
          opacity: 1;
          transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
          max-height: 100vh; }
        .content.home .accordion-wrap .accordion .item.active .table-wrap .table-row .inner .icon {
          width: 50%;
          height: 100px;
          transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.projects {
    min-height: 100vh; }
    .content.projects .gallery {
      min-height: 100vh; }
      .content.projects .gallery .second {
        padding: 0; }
      .content.projects .gallery .project .carousel-inner .item .fa {
        display: block;
        font-size: 2em;
        color: #fff;
        position: absolute;
        top: 85%;
        left: 50%;
        margin-left: -14px; }
  .content.strategy .arrowslider .box {
    height: 30vh; }
    .content.strategy .arrowslider .box .icon {
      width: 25%;
      height: 25%;
      margin: 25% auto 2em auto; }
    .content.strategy .arrowslider .box h2 {
      font: 1em "halogen", sans-serif; }
  .content.strategy .arrowcontent .content {
    padding: 0em 4em; }
    .content.strategy .arrowcontent .content p {
      font: 1.4em "futura-pt", sans-serif;
      line-height: 2em; }
  .content.strategy .arrowcontent.active {
    height: 40vh;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.engage .rollover {
    height: 50vh;
    overflow: hidden;
    padding: 0; }
    .content.engage .rollover .image, .content.engage .rollover .rollovercontent {
      height: 50vh;
      width: 100%;
      margin: 0 0 0 0;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    .content.engage .rollover .rollovercontent {
      background: #2d7d95;
      text-align: center;
      padding: 1.5em;
      cursor: pointer; }
      .content.engage .rollover .rollovercontent h2 {
        text-transform: uppercase;
        color: #fff;
        font-size: 2em; }
      .content.engage .rollover .rollovercontent h3 {
        text-transform: uppercase;
        color: #fff;
        font-size: 1.6em;
        margin: 0 0 2em 0; }
      .content.engage .rollover .rollovercontent p {
        color: #fff;
        font-size: 1.4em; }
    .content.engage .rollover:hover .image {
      margin: -50vh 0 0 0;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.engage .maps {
    max-height: 580px; }
    .content.engage .maps aside {
      height: 580px; }
      .content.engage .maps aside .mexico,
      .content.engage .maps aside .ca {
        height: 525px;
        padding-top: 3em; }
  .pop .close {
    width: 75px;
    height: 75px;
    top: 1em;
    right: 1.3em; }
  .pop .carousel {
    height: 600px;
    width: 90%;
    left: 5%;
    top: 50%;
    margin-top: -300px;
    position: relative;
    z-index: -1; }
    .pop .carousel .carousel-inner {
      height: 600px;
      width: 100%;
      left: 0%; }
    .pop .carousel .item {
      border-top: 1em solid #fff;
      border-right: 1em solid #fff;
      border-bottom: 4.5em solid #fff;
      border-left: 1em solid #fff;
      padding: 3em;
      height: 600px;
      overflow-y: auto; }
      .pop .carousel .item h2 {
        font: 2em "futura-pt", sans-serif;
        font-weight: bold; }
      .pop .carousel .item h3 {
        font: 1.6em "futura-pt", sans-serif;
        font-weight: 100; }
      .pop .carousel .item p {
        font: 1.2em "futura-pt", sans-serif;
        color: #fff; }
  .pop .inner {
    border: 2em solid #fff;
    height: 60vh;
    width: 60%;
    left: 20%;
    top: 20vh;
    padding: 3em; }
    .pop .inner h2 {
      font: 2.6em "futura-pt", sans-serif;
      font-weight: bold; }
    .pop .inner p {
      font: 1.2em "futura-pt", sans-serif;
      color: #fff; }
  .pop .controls {
    position: absolute;
    bottom: 3px;
    left: 50%;
    height: 58px;
    z-index: 1000; }
    .pop .controls p {
      margin-top: -16px; }
    .pop .controls .slide-control.left {
      height: 45px; }
    .pop .controls .slide-control.right {
      height: 45px; }
  .white {
    padding: 2em 0; }
    .white h1 {
      font: 1.8em "halogen", sans-serif;
      line-height: 1.8em; }
    .white p {
      line-height: 1.6em;
      text-transform: uppercase;
      width: 50%;
      text-align: right;
      padding-right: 15px; }
    .white.top {
      text-align: left;
      padding: 2em 0; }
      .white.top h1 {
        width: 100%;
        padding: 0;
        text-align: left;
        float: none; }
      .white.top p {
        width: 100%;
        padding: 0;
        text-align: left;
        font: 1.3em "futura-pt", sans-serif;
        line-height: 1.4em;
        margin: 0; }
    .white.lower {
      text-align: left; }
      .white.lower h1 {
        width: 100%;
        padding: 0;
        text-align: left;
        float: none; }
      .white.lower p {
        width: 100%;
        padding: 0;
        text-align: left;
        font: 1.3em "futura-pt", sans-serif;
        line-height: 1.4em;
        margin: 0 0 1em 0; }
    .white span.wpcf7-not-valid-tip {
      color: #f00;
      font-size: 1em;
      display: block;
      margin: 0 0 1em 0; }
    .white.subfooter .icon {
      width: 100%;
      height: 70px;
      display: block;
      padding-left: 30px;
      padding-top: 25px;
      font: 1em "futura-pt", sans-serif;
      color: #2d7d95;
      line-height: 1.4em;
      cursor: pointer; }
      .white.subfooter .icon.map {
        background-size: 25px;
        padding-top: 15px; }
      .white.subfooter .icon.mail {
        background-size: 25px; }
      .white.subfooter .icon.phone {
        background-size: 25px; }
      .white.subfooter .icon:hover {
        text-decoration: none; }
  footer {
    background: #000;
    text-align: center;
    padding: 3em 0; }
    footer p, footer a {
      font: 1em "futura-pt", sans-serif;
      color: #fff; }
    footer a:hover {
      text-decoration: none;
      color: #2d7d95; } }

@media (max-width: 768px) {
  header {
    padding: 15px;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    header a.logo {
      width: 100%;
      height: 40px;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
      header a.logo img {
        width: auto;
        height: 40px;
        display: block;
        transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    header .menu-main-menu-container ul {
      height: auto !important;
      line-height: 40px;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
      display: block;
      width: 100%; }
      header .menu-main-menu-container ul li {
        display: block;
        width: 100%; }
        header .menu-main-menu-container ul li a {
          font: 1.2em "halogen", sans-serif;
          margin: 0;
          padding: 0 1em 1em 1em; }
    header .menu {
      position: fixed;
      top: 70px;
      left: 100%;
      height: auto;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99);
      background: #231f20; }
      header .menu.active {
        left: 0;
        transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    header .mobile-menu {
      -webkit-appearance: none;
      width: 35px;
      height: 35px;
      background: url(img/menu.svg) center center no-repeat;
      background-size: contain;
      color: #fff;
      border: 0;
      outline: none;
      float: right; }
  .content.home .slider {
    height: 60vh; }
    .content.home .slider .controls {
      height: 60vh; }
      .content.home .slider .controls .slide-control {
        width: 70px;
        height: 70px;
        margin-top: -35px; }
    .content.home .slider #carousel {
      height: 60vh; }
      .content.home .slider #carousel .item {
        height: 60vh; }
        .content.home .slider #carousel .item .carousel-caption {
          bottom: 0em; }
          .content.home .slider #carousel .item .carousel-caption p {
            font: 1em "futura-pt", sans-serif; }
            .content.home .slider #carousel .item .carousel-caption p strong {
              font-weight: bold; }
  .content.home .accordion-wrap {
    padding-bottom: 0; }
    .content.home .accordion-wrap .history {
      padding-top: 3em; }
      .content.home .accordion-wrap .history h2 {
        font: 1.8em "halogen", sans-serif;
        margin: 0 0 1em 0; }
      .content.home .accordion-wrap .history .blue {
        font: 1.5em "halogen", sans-serif;
        margin: 0 0 2em 0;
        background: url(img/slide-blue-right.svg) 100% center no-repeat; }
      .content.home .accordion-wrap .history p {
        font: 1.2em "futura-pt", sans-serif;
        line-height: 1.8em;
        margin: 0 0 2em 0; }
  .content.projects {
    min-height: 100vh;
    height: auto; }
    .content.projects .row {
      display: block; }
    .content.projects .gallery {
      min-height: 100vh;
      height: auto; }
      .content.projects .gallery .second {
        padding: 0; }
      .content.projects .gallery .project {
        display: block;
        width: 100%;
        height: 40vh;
        position: relative; }
        .content.projects .gallery .project .carousel-inner {
          height: 40vh; }
          .content.projects .gallery .project .carousel-inner .item {
            height: 40vh; }
            .content.projects .gallery .project .carousel-inner .item .fa {
              display: block;
              font-size: 2em;
              color: #fff;
              position: absolute;
              top: 85%;
              left: 50%;
              margin-left: -14px; }
        .content.projects .gallery .project .overlay {
          height: 40vh;
          padding: 0 1em; }
          .content.projects .gallery .project .overlay .description {
            display: table-cell;
            vertical-align: middle;
            padding: 0 1em;
            text-align: center;
            height: 40vh; }
            .content.projects .gallery .project .overlay .description h2 {
              font: 1.4em "futura-pt", sans-serif;
              font-weight: bold; }
            .content.projects .gallery .project .overlay .description h3 {
              font: 1.2em "futura-pt", sans-serif;
              font-weight: 100;
              letter-spacing: -1px; }
            .content.projects .gallery .project .overlay .description .plus {
              bottom: 1em;
              height: 50px;
              width: 50px;
              margin: 1em auto 0 auto;
              position: relative; }
        .content.projects .gallery .project:hover .overlay {
          top: 100%;
          opacity: 1;
          transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.strategy .arrowslider .box {
    height: 30vh; }
    .content.strategy .arrowslider .box .icon {
      width: 50%;
      height: 50%;
      margin: 25% auto 2em auto; }
    .content.strategy .arrowslider .box h2 {
      font: 0.8em "halogen", sans-serif; }
  .content.strategy .arrowcontent .content {
    padding: 15px 30px; }
    .content.strategy .arrowcontent .content p {
      font: 1.4em "futura-pt", sans-serif;
      line-height: 1.4em !important; }
  .content.strategy .arrowcontent.active {
    height: auto;
    transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    .content.strategy .arrowcontent.active .image {
      display: none; }
    .content.strategy .arrowcontent.active .content {
      height: auto; }
  .content.engage .rollover {
    height: auto;
    overflow: hidden;
    padding: 0; }
    .content.engage .rollover .image {
      height: 50vh;
      width: 100%;
      margin: 0 0 0 0;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
    .content.engage .rollover .rollovercontent {
      background: #2d7d95;
      text-align: center;
      padding: 1.5em;
      cursor: pointer;
      margin: 0 0 0 0;
      height: auto; }
      .content.engage .rollover .rollovercontent h2 {
        text-transform: uppercase;
        color: #fff;
        font-size: 2em; }
      .content.engage .rollover .rollovercontent h3 {
        text-transform: uppercase;
        color: #fff;
        font-size: 1.6em;
        margin: 0 0 2em 0; }
      .content.engage .rollover .rollovercontent p {
        color: #fff;
        font-size: 1.4em; }
    .content.engage .rollover:hover .image,
    .content.engage .rollover.active .image {
      margin: 0 0 0 0;
      transition: all 0.3s cubic-bezier(1, 0.02, 1, 0.99); }
  .content.engage .maps {
    display: none; }
  .pop .close {
    width: 45px;
    height: 45px;
    top: .5em;
    right: .6em; }
  .pop .carousel {
    height: 400px;
    width: 90%;
    left: 5%;
    top: 50%;
    margin-top: -200px;
    position: relative;
    z-index: -1; }
    .pop .carousel .carousel-inner {
      height: 400px;
      width: 100%;
      left: 0%; }
    .pop .carousel .item {
      border-top: 1em solid #fff;
      border-right: 1em solid #fff;
      border-bottom: 4.5em solid #fff;
      border-left: 1em solid #fff;
      padding: 2em 15px 15px 15px;
      height: 400px;
      overflow-y: auto; }
      .pop .carousel .item h2 {
        font: 1.4em "futura-pt", sans-serif;
        font-weight: bold; }
      .pop .carousel .item h3 {
        font: 1.2em "futura-pt", sans-serif;
        font-weight: 100; }
      .pop .carousel .item p {
        font: 1em "futura-pt", sans-serif;
        color: #fff; }
  .pop .inner {
    border: 2em solid #fff;
    height: 60vh;
    width: 60%;
    left: 20%;
    top: 20vh;
    padding: 3em; }
    .pop .inner h2 {
      font: 2.6em "futura-pt", sans-serif;
      font-weight: bold; }
    .pop .inner p {
      font: 1.2em "futura-pt", sans-serif;
      color: #fff; }
  .pop .controls {
    position: absolute;
    bottom: 3px;
    left: 50%;
    height: 58px;
    z-index: 1000; }
    .pop .controls p {
      margin-top: -16px; }
    .pop .controls .slide-control.left {
      height: 45px; }
    .pop .controls .slide-control.right {
      height: 45px; }
  .home .white h1 strong {
    display: block; }
  .white {
    padding: 2em 0; }
    .white h1 {
      font: 1.8em "halogen", sans-serif;
      line-height: 1.3em;
      width: 100%;
      text-align: center;
      padding-left: 0;
      margin-bottom: .5em; }
    .white p {
      line-height: 1.6em;
      text-transform: uppercase;
      width: 100%;
      text-align: center;
      padding-right: 0; }
    .white.top {
      text-align: left;
      padding: 2em 0; }
      .white.top h1 {
        width: 100%;
        padding: 0;
        text-align: left;
        float: none; }
      .white.top p {
        width: 100%;
        padding: 0;
        text-align: left;
        font: 1.3em "futura-pt", sans-serif;
        line-height: 1.4em;
        margin: 0; }
    .white.lower {
      text-align: left; }
      .white.lower h1 {
        width: 100%;
        padding: 0;
        text-align: left;
        float: none; }
      .white.lower p {
        width: 100%;
        padding: 0;
        text-align: left;
        font: 1.3em "futura-pt", sans-serif;
        line-height: 1.4em;
        margin: 0 0 1em 0; }
    .white span.wpcf7-not-valid-tip {
      color: #f00;
      font-size: 1em;
      display: block;
      margin: 0 0 1em 0; }
    .white.subfooter .icon {
      width: 100%;
      height: 70px;
      display: block;
      padding-left: 0px;
      padding-top: 30px;
      font: 1em "futura-pt", sans-serif;
      color: #2d7d95;
      line-height: 1.4em;
      cursor: pointer;
      text-align: center;
      height: auto;
      margin-bottom: 1em; }
      .white.subfooter .icon.map {
        background-size: 25px;
        padding-top: 30px;
        background-position: center top; }
      .white.subfooter .icon.mail {
        background-size: 25px;
        background-position: center top; }
      .white.subfooter .icon.phone {
        background-size: 25px;
        background-position: center top; }
      .white.subfooter .icon:hover {
        text-decoration: none; }
  .buckets {
    height: auto; }
    .buckets .bucket {
      height: auto;
      border-bottom: none;
      border-right: none;
      position: relative;
      padding: 0;
      overflow: hidden;
      margin: 0 0 1em 0; }
      .buckets .bucket .cover {
        height: auto;
        position: relative;
        padding: 15px;
        top: 0; }
        .buckets .bucket .cover .inner h3 {
          font: 1.8em "futura-pt", sans-serif; }
        .buckets .bucket .cover .inner .icon {
          width: 50px;
          height: 50px;
          margin: 0 auto; }
      .buckets .bucket .content {
        height: auto;
        background: #fff; }
        .buckets .bucket .content .inner {
          text-align: center; }
          .buckets .bucket .content .inner p {
            text-align: center;
            color: #2d7d95;
            line-height: 1.4em; }
      .buckets .bucket:last-child {
        border-right: none;
        border-bottom: none; }
      .buckets .bucket:nth-child(odd) {
        border-right: none; }
      .buckets .bucket:hover .cover {
        top: 0; }
  .works .work .cover .inner .fa {
    display: block; }
  footer {
    background: #000;
    text-align: center;
    padding: 3em 0; }
    footer p, footer a {
      font: 1em "futura-pt", sans-serif;
      color: #fff; }
    footer a:hover {
      text-decoration: none;
      color: #2d7d95; } }
