@charset "UTF-8";
@font-face {
  font-family: 'Bebas Neue';
  src: url("../fonts/BebasNeue Bold.eot");
  src: local("☺"), url("../fonts/BebasNeue Bold.woff") format("woff"), url("../fonts/BebasNeue Bold.ttf") format("truetype"), url("../fonts/BebasNeue Bold.svg") format("svg");
  font-weight: 700;
  font-style: normal; }
@font-face {
  font-family: 'Bebas Neue';
  src: url("../fonts/BebasNeue Book.eot");
  src: local("☺"), url("../fonts/BebasNeue Book.woff") format("woff"), url("../fonts/BebasNeue Book.ttf") format("truetype"), url("../fonts/BebasNeue Book.svg") format("svg");
  font-weight: 500;
  font-style: normal; }
@font-face {
  font-family: 'Bebas Neue';
  src: url("../fonts/BebasNeue Light.eot");
  src: local("☺"), url("../fonts/BebasNeue Light.woff") format("woff"), url("../fonts/BebasNeue Light.ttf") format("truetype"), url("../fonts/BebasNeue Light.svg") format("svg");
  font-weight: 300;
  font-style: normal; }
@font-face {
  font-family: 'Bebas Neue';
  src: url("../fonts/BebasNeue Regular.eot");
  src: local("☺"), url("../fonts/BebasNeue Regular.woff") format("woff"), url("../fonts/BebasNeue Regular.ttf") format("truetype"), url("../fonts/BebasNeue Regular.svg") format("svg");
  font-weight: 400;
  font-style: normal; }
@font-face {
  font-family: 'Bebas Neue';
  src: url("../fonts/BebasNeue Thin.eot");
  src: local("☺"), url("../fonts/BebasNeue Thin.woff") format("woff"), url("../fonts/BebasNeue Thin.ttf") format("truetype"), url("../fonts/BebasNeue Thin.svg") format("svg");
  font-weight: 200;
  font-style: normal; }
@keyframes hammerRotate {
  from {
    transform: rotate(-90deg); }
  to {
    transform: rotate(60deg); } }
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -150%, 0); }
  to {
    opacity: 1;
    transform: none; } }
@keyframes bobble {
  0% {
    transform: translate3d(0px, 0px, 0px);
    animation-timing-function: ease-in; }
  50% {
    transform: translate3d(0px, 10px, 0px);
    animation-timing-function: ease-out; }
  100% {
    transform: translate3d(0px, 0px, 0px); } }
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
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; }

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

body {
  line-height: 1; }

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; }

*, *:before, *:after {
  -webkit-print-color-adjust: exact;
  box-sizing: border-box; }

*:focus {
  outline: none !important; }

.image-container img {
  max-height: 70vh !important;
}
.highcharts-input-group {
    display: none !important;
}

img, svg {
  max-width: 100%;
  height: auto;
  vertical-align: top; }
  img.alignright, svg.alignright {
    float: right;
    margin-left: 20px; }
    @media only screen and (max-width: 56.25em) {
      img.alignright, svg.alignright {
        max-width: 300px; } }
    @media only screen and (max-width: 37.5em) {
      img.alignright, svg.alignright {
        max-width: 200px; } }
    @media only screen and (max-width: 25em) {
      img.alignright, svg.alignright {
        max-width: 100px; } }
  img.alignleft, svg.alignleft {
    float: left;
    margin-right: 20px; }
    @media only screen and (max-width: 56.25em) {
      img.alignleft, svg.alignleft {
        max-width: 300px; } }
    @media only screen and (max-width: 37.5em) {
      img.alignleft, svg.alignleft {
        max-width: 200px; } }
    @media only screen and (max-width: 25em) {
      img.alignleft, svg.alignleft {
        max-width: 100px; } }
  img.aligncenter, svg.aligncenter {
    display: block;
    margin: 0 auto; }
  img.alignnone, svg.alignnone {
    display: block;
    margin: 0 auto; }

strong {
  font-weight: 700; }

em {
  font-style: italic; }

a {
  font-size: 1em;
  color: inherit;
  text-decoration: inherit;
  line-height: inherit;
  font-weight: inherit;
  text-transform: inherit; }
  a:hover, a:active, a:visited {
    color: inherit;
    text-decoration: inherit; }

input, button, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  margin: 0;
  padding: 0;
  outline: none;
  background: none;
  border-radius: 0;
  font-size: 16px;
  font-family: "Proxima Nova", "proxima-nova", sans-serif; }

.clearfix:after {
  content: " ";
  visibility: hidden;
  display: block;
  height: 0;
  clear: both; }

html {
  -webkit-font-smoothing: antialiased;
  position: relative; }
  html body {
    overflow-x: hidden;
    position: relative;
    font-family: "Proxima Nova", "proxima-nova", sans-serif;
    font-size: 16px; }
    html body.animate-body {
      overflow-y: scroll; }

.container {
  margin: 0 auto;
  padding: 0 20px;
  position: relative; }

.main-body {
  position: relative;
  overflow: hidden;
  z-index: 2; }
  .main-body .core-content {
    position: relative;
    background-color: #fff; }
    .main-body .core-content:after {
      content: " ";
      visibility: hidden;
      display: block;
      height: 0;
      clear: both; }
  .animate-body .main-body {
    overflow: initial;
    height: 100%; }
    .animate-body .main-body .core-content {
      position: fixed;
      width: 100%;
      right: 0;
      z-index: -1; }

.lightbox {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  display: block;
  width: 100%;
  min-height: 100vh;
  z-index: 1 !important;
  background-color: rgba(0, 0, 0, 0.8);
  transition: all 150ms linear !important;
  transform: scale(1.2);
  opacity: 0; }
  .flexbox .lightbox {
    display: flex;
    justify-content: center;
    align-items: center; }
  .show-lightbox .lightbox {
    transform: scale(1);
    opacity: 1; }
  .show-lightbox-animate .lightbox {
    position: fixed !important;
    z-index: 9999 !important;
    min-height: 100vh; }
  .show-lightbox.show-lightbox-animate .lightbox {
    position: relative !important; }
  .lightbox .container {
    max-width: 1300px;
    width: 100%;
    text-align: center;
    padding: 60px 50px; }
  .lightbox .image-container {
    position: relative;
    width: 100%; }
  .lightbox img {
    transition: all 250ms linear; }
    .lightbox img + img {
      position: absolute;
      top: 0;
      left: 0; }
    .lightbox img.move-out {
      opacity: 0;
      transform: translate3d(-100%, 0, 0);
      transition: all 250ms linear; }
    .lightbox img.move-in {
      opacity: 0;
      transform: translate3d(100%, 0, 0); }
  .lightbox[data-direction="left"] img.move-out {
    transform: translate3d(100%, 0, 0); }
  .lightbox[data-direction="left"] img.move-in {
    transform: translate3d(-100%, 0, 0); }
  .lightbox .button-close {
    position: absolute;
    top: 10px;
    right: 15px;
    display: block;
    width: 30px;
    height: 40px;
    z-index: 15;
    cursor: pointer; }
    .lightbox .button-close span {
      position: absolute;
      left: -10%;
      display: block;
      width: 120%;
      height: 2px;
      background-color: #fff;
      transform-origin: 50% 50%; }
      .lightbox .button-close span:nth-child(1) {
        top: 19px;
        transform: rotate(45deg); }
      .lightbox .button-close span:nth-child(2) {
        bottom: 19px;
        transform: rotate(-45deg); }
  .lightbox .nav-button {
    position: absolute;
    top: 50%;
    margin-top: -18.5px;
    z-index: 5;
    display: block;
    width: 37px;
    height: 37px;
    cursor: pointer; }
    .lightbox .nav-button svg {
      fill: #fff;
      width: 100%;
      height: 100%;
      max-height: 100%; }
    .lightbox .nav-button[data-direction="left"] {
      left: -15px;
      transform: rotate(180deg); }
      @media only screen and (max-width: 85em) {
        .lightbox .nav-button[data-direction="left"] {
          left: 5px; } }
    .lightbox .nav-button[data-direction="right"] {
      right: -15px; }
      @media only screen and (max-width: 85em) {
        .lightbox .nav-button[data-direction="right"] {
          right: 5px; } }
  .lightbox .caption {
    display: block;
    color: #fff;
    line-height: 1.4;
    text-align: center;
    margin-top: 15px; }

header.main-header {
  position: fixed;
  top: 0;
  z-index: 10;
  width: 100%;
  transform: translateZ(0); }
  header.main-header .top-bar {
    position: relative;
    z-index: 1;
    background-color: #163d7e;
    transition: all 100ms linear; }
    .scroll-down header.main-header .top-bar, .force-nav-shadow header.main-header .top-bar {
      box-shadow: 0px 1px 10px 1px rgba(0, 0, 0, 0.25); }
    header.main-header .top-bar .container {
      font-size: 0;
      padding: 13px 34px; }
      @media only screen and (max-width: 77.5em) {
        header.main-header .top-bar .container {
          padding: 10px 15px; } }
      @media only screen and (min-width: 26.3125em) {
        .flexbox header.main-header .top-bar .container {
          display: flex;
          flex-direction: row;
          justify-content: space-between; }
        .no-flexbox header.main-header .top-bar .container:after {
          content: " ";
          visibility: hidden;
          display: block;
          height: 0;
          clear: both; } }
      @media only screen and (max-width: 26.25em) {
        header.main-header .top-bar .container {
          padding: 10px 0 0; } }
    @media only screen and (min-width: 26.3125em) {
      .no-flexbox header.main-header .top-bar .logo {
        float: left; } }
    @media only screen and (max-width: 26.25em) {
      header.main-header .top-bar .logo {
        margin: 0 0 10px 15px; } }
    .scroll-down header.main-header .top-bar .logo a {
      width: 277px;
      height: 65px;
      padding-top: 7px; }
      .scroll-down header.main-header .top-bar .logo a svg {
        opacity: 0;
        transition: all 0ms linear; }
    header.main-header .top-bar .logo a {
      position: relative;
      display: block;
      width: 416px;
      height: 107px;
      transition: all 100ms linear; }
      @media only screen and (max-width: 77.5em) {
        header.main-header .top-bar .logo a {
          width: 277px !important;
          height: 65px !important;
          padding-top: 7px !important; } }
      @media only screen and (max-width: 58.75em) {
        header.main-header .top-bar .logo a {
          width: 180px !important;
          height: 40px !important;
          padding-top: 4px !important; } }
      header.main-header .top-bar .logo a img {
        display: block;
        max-height: 100%; }
      header.main-header .top-bar .logo a svg {
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        width: 416px;
        height: 27px;
        opacity: 1;
        transition: all 0ms linear 100ms; }
        @media only screen and (max-width: 77.5em) {
          header.main-header .top-bar .logo a svg {
            opacity: 0; } }
    header.main-header .top-bar .phone-number {
      display: inline-block;
      height: 32px;
      font-family: "Bebas Neue", sans-serif;
      font-size: 2.4375rem;
      font-weight: 700;
      color: #fff;
      text-transform: uppercase;
      margin-top: 17px;
      transition: all 100ms linear; }
      @media only screen and (min-width: 26.3125em) {
        .no-flexbox header.main-header .top-bar .phone-number {
          float: right; } }
      @media only screen and (max-width: 77.5em) {
        header.main-header .top-bar .phone-number {
          height: 20px;
          font-size: 1.5rem;
          margin-top: 6px !important; } }
      @media only screen and (max-width: 58.75em) {
        header.main-header .top-bar .phone-number {
          font-size: 1.25rem !important;
          margin-top: 12px !important;
          margin-right: 60px;
          color: #fff !important; } }
      @media only screen and (max-width: 26.25em) {
        header.main-header .top-bar .phone-number {
          display: block;
          width: 100%;
          height: auto !important;
          text-align: center;
          background-color: #c1072c;
          padding: 10px 15px 7px;
          margin: 0 !important; } }
      header.main-header .top-bar .phone-number:hover {
        color: #417a9c; }
      .scroll-down header.main-header .top-bar .phone-number {
        height: 80px;
        font-size: 1.5rem;
        margin-top: 2px; }
  @media only screen and (min-width: 58.8125em) {
    header.main-header .main-navigation {
      position: absolute;
      right: 0;
      bottom: 0;
      z-index: 2;
      width: 712px;
      height: 42px; } }
  @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
    header.main-header .main-navigation {
      width: 565px;
      height: 32px; } }
  @media only screen and (min-width: 58.8125em) {
      .flexbox header.main-header .main-navigation {
        display: flex;
        justify-content: space-between; }
      .no-flexbox header.main-header .main-navigation {
        display: block; }
        .no-flexbox header.main-header .main-navigation:after {
          content: " ";
          visibility: hidden;
          display: block;
          height: 0;
          clear: both; }
      header.main-header .main-navigation .menu-item {
        position: relative;
        display: inline-block;
        width: 25%;
        color: #fff; }
        .no-flexbox header.main-header .main-navigation .menu-item {
          float: left; }
        header.main-header .main-navigation .menu-item > a {
          position: relative;
          display: block;
          height: 42px;
          font-family: "Bebas Neue", sans-serif;
          font-size: 1.4375rem;
          font-weight: 700;
          text-align: center;
          text-transform: uppercase;
          vertical-align: middle;
          background-color: #477da4;
          padding: 14px 42px 0 0;
          transition: background-color 150ms linear; } }
      @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
        header.main-header .main-navigation .menu-item > a {
          height: 32px;
          font-size: 1.25rem;
          padding: 9px 32px 0 0; } }
  @media only screen and (min-width: 58.8125em) {
          header.main-header .main-navigation .menu-item > a:before, header.main-header .main-navigation .menu-item > a:after {
            content: "";
            position: absolute;
            bottom: 0; }
          header.main-header .main-navigation .menu-item > a:before {
            left: -48px;
            z-index: 1;
            color: #163d7e;
            border-top: 24px solid transparent;
            border-right: 24px solid;
            border-bottom: 24px solid;
            border-left: 24px solid transparent; } }
        @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
          header.main-header .main-navigation .menu-item > a:before {
            left: -38px;
            border-top: 19px solid transparent;
            border-right: 19px solid;
            border-bottom: 19px solid;
            border-left: 19px solid transparent; } }
  @media only screen and (min-width: 58.8125em) {
          header.main-header .main-navigation .menu-item > a:after {
            left: -42px;
            z-index: 2;
            color: #477da4;
            border-top: 21px solid transparent;
            border-right: 21px solid;
            border-bottom: 21px solid;
            border-left: 21px solid transparent;
            transition: color 150ms linear; } }
        @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
          header.main-header .main-navigation .menu-item > a:after {
            left: -32px;
            border-top: 16px solid transparent;
            border-right: 16px solid;
            border-bottom: 16px solid;
            border-left: 16px solid transparent; } }
  @media only screen and (min-width: 58.8125em) {
          header.main-header .main-navigation .menu-item > a.estimate {
            font-size: 0;
            background-color: #c1072c !important;
            padding: 10px 0 0 0;
            transition: background-color 100ms linear; } }
        @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
          header.main-header .main-navigation .menu-item > a.estimate {
            padding-top: 8px; } }
  @media only screen and (min-width: 58.8125em) {
            header.main-header .main-navigation .menu-item > a.estimate:after {
              color: #c1072c !important;
              transition: color 100ms linear; }
            header.main-header .main-navigation .menu-item > a.estimate .icon {
              display: inline-block;
              width: 24px;
              height: 23px;
              fill: #fff;
              margin-right: 12px;
              transition: fill 100ms linear; } }
          @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
            header.main-header .main-navigation .menu-item > a.estimate .icon {
              width: 18px;
              height: 17.5px;
              margin-right: 8px; } }
  @media only screen and (min-width: 58.8125em) {
            header.main-header .main-navigation .menu-item > a.estimate .text {
              display: inline-block;
              font-size: 1.4375rem;
              padding-top: 4px;
              transition: color 100ms linear; } }
          @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
            header.main-header .main-navigation .menu-item > a.estimate .text {
              font-size: 1.25rem;
              padding-top: 1px; } }
  @media only screen and (min-width: 58.8125em) {
            header.main-header .main-navigation .menu-item > a.estimate:hover {
              background-color: #fff !important; }
              header.main-header .main-navigation .menu-item > a.estimate:hover:after {
                color: #fff !important; }
              header.main-header .main-navigation .menu-item > a.estimate:hover .icon {
                fill: #c1072c; }
              header.main-header .main-navigation .menu-item > a.estimate:hover .text {
                color: #c1072c; }
        header.main-header .main-navigation .menu-item .children {
          position: absolute;
          top: 42px;
          left: 50%;
          margin-left: -420px;
          max-height: 0;
          width: 840px;
          background-color: #0f3060;
          overflow: hidden;
          transition: all 150ms linear; } }
      @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
        header.main-header .main-navigation .menu-item .children {
          top: 32px;
          width: 700px;
          margin-left: -350px; } }
  @media only screen and (min-width: 58.8125em) {
          .flexbox header.main-header .main-navigation .menu-item .children {
            display: flex; }
          .no-flexbox header.main-header .main-navigation .menu-item .children:after {
            content: " ";
            visibility: hidden;
            display: block;
            height: 0;
            clear: both; }
          header.main-header .main-navigation .menu-item .children .column {
            width: 33.33%;
            width: calc(100% / 3);
            padding: 50px 35px 50px 45px; }
            header.main-header .main-navigation .menu-item .children .column:after {
              content: " ";
              visibility: hidden;
              display: block;
              height: 0;
              clear: both; } }
        @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
          header.main-header .main-navigation .menu-item .children .column {
            padding: 35px 20px 35px 30px; } }
  @media only screen and (min-width: 58.8125em) {
            .no-flexbox header.main-header .main-navigation .menu-item .children .column {
              float: left; }
            header.main-header .main-navigation .menu-item .children .column:not(:last-child) {
              border-right: 2px solid #1d4371; }
            header.main-header .main-navigation .menu-item .children .column a {
              display: inline-block;
              float: left;
              clear: left;
              font-size: 1.125rem;
              color: #fff;
              padding: 4px 0;
              transition: all 100ms linear; } }
          @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
            header.main-header .main-navigation .menu-item .children .column a {
              font-size: 1rem;
              padding: 3px 0; } }
  @media only screen and (min-width: 58.8125em) {
              header.main-header .main-navigation .menu-item .children .column a:hover {
                color: #417a9c; }
              header.main-header .main-navigation .menu-item .children .column a:not(:last-child) {
                margin-bottom: 7px; } }
            @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
              header.main-header .main-navigation .menu-item .children .column a:not(:last-child) {
                margin-bottom: 5px; } }
  @media only screen and (min-width: 58.8125em) {
              header.main-header .main-navigation .menu-item .children .column a.overview {
                position: relative;
                font-family: "Bebas Neue", sans-serif;
                font-size: 1.5rem;
                font-weight: 700;
                text-transform: uppercase;
                padding: 0 0 7px;
                margin-bottom: 10px; } }
            @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
              header.main-header .main-navigation .menu-item .children .column a.overview {
                font-size: 1.25rem;
                padding: 0 0 5px;
                margin-bottom: 8px; } }
  @media only screen and (min-width: 58.8125em) {
                header.main-header .main-navigation .menu-item .children .column a.overview:after {
                  content: "";
                  position: absolute;
                  bottom: 0;
                  left: 0;
                  display: block;
                  width: 100%;
                  height: 4px;
                  background-color: #417a9c; } }
              @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
                header.main-header .main-navigation .menu-item .children .column a.overview:after {
                  height: 3px; } }
  @media only screen and (min-width: 58.8125em) {
                header.main-header .main-navigation .menu-item .children .column a.overview:not(:first-child) {
                  margin-top: 35px; } }
              @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
                header.main-header .main-navigation .menu-item .children .column a.overview:not(:first-child) {
                  margin-top: 25px; } }
  @media only screen and (min-width: 58.8125em) {
              header.main-header .main-navigation .menu-item .children .column a.estimate {
                display: block;
                width: 100%;
                max-width: 180px;
                font-size: 0;
                text-align: center;
                background-color: #fff;
                padding: 10px 0;
                margin-top: 90px;
                transition: all 100ms linear; } }
            @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
              header.main-header .main-navigation .menu-item .children .column a.estimate {
                max-width: 150px;
                padding: 7px 0 5px;
                margin-top: 50px; } }
  @media only screen and (min-width: 58.8125em) {
                header.main-header .main-navigation .menu-item .children .column a.estimate .icon {
                  display: inline-block;
                  width: 24px;
                  height: 23px;
                  fill: #c1072c;
                  margin-right: 12px;
                  transition: all 100ms linear; } }
              @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
                header.main-header .main-navigation .menu-item .children .column a.estimate .icon {
                  width: 18px;
                  height: 17.5px;
                  margin-right: 8px; } }
  @media only screen and (min-width: 58.8125em) {
                header.main-header .main-navigation .menu-item .children .column a.estimate .text {
                  display: inline-block;
                  font-family: "Bebas Neue", sans-serif;
                  font-size: 1.5rem;
                  font-weight: 700;
                  color: #c1072c;
                  text-transform: uppercase;
                  padding-top: 3px;
                  transition: all 100ms linear; } }
              @media only screen and (min-width: 58.8125em) and (max-width: 77.5em) {
                header.main-header .main-navigation .menu-item .children .column a.estimate .text {
                  font-size: 1.25rem;
                  padding-top: 1px; } }
  @media only screen and (min-width: 58.8125em) {
                header.main-header .main-navigation .menu-item .children .column a.estimate:hover {
                  background-color: #c1072c; }
                  header.main-header .main-navigation .menu-item .children .column a.estimate:hover .icon {
                    fill: #fff; }
                  header.main-header .main-navigation .menu-item .children .column a.estimate:hover .text {
                    color: #fff; }
        header.main-header .main-navigation .menu-item:hover > a {
          background-color: #0f3060; }
          header.main-header .main-navigation .menu-item:hover > a:after {
            color: #0f3060; }
        header.main-header .main-navigation .menu-item:hover .children {
          max-height: 400px;
          transition: all 150ms linear 150ms; } }
  @media only screen and (max-width: 58.75em) {
    .open-mobile-nav header.main-header {
      position: absolute; }
    header.main-header .main-navigation {
      position: absolute;
      top: 100%;
      left: 0;
      z-index: 2;
      width: 100%;
      max-height: 0;
      overflow: hidden;
      transition: all 150ms linear; }
      .open-mobile-nav header.main-header .main-navigation {
        max-height: 900px; }
      header.main-header .main-navigation.done-animating {
        max-height: none !important;
        overflow: visible; }
      header.main-header .main-navigation .menu-item {
        position: relative;
        display: block;
        width: 100%;
        color: #fff; }
        header.main-header .main-navigation .menu-item > a {
          position: relative;
          display: block;
          font-family: "Bebas Neue", sans-serif;
          font-size: 1.25rem;
          font-weight: 700;
          text-transform: uppercase;
          text-align: center;
          background-color: #477da4;
          padding: 10px 15px 7px;
          border-top: 2px solid #163d7e; }
          header.main-header .main-navigation .menu-item > a.estimate {
            font-size: 0;
            background-color: #c1072c !important;
            padding: 8px 15px 7px;
            padding-top: 8px; }
            header.main-header .main-navigation .menu-item > a.estimate .icon {
              display: inline-block;
              width: 18px;
              height: 17.5px;
              fill: #fff;
              margin-right: 8px; }
            header.main-header .main-navigation .menu-item > a.estimate .text {
              display: inline-block;
              font-size: 1.25rem;
              padding-top: 1px; }
        header.main-header .main-navigation .menu-item.active .children {
          max-height: 800px; }
        header.main-header .main-navigation .menu-item .children {
          max-height: 0;
          overflow: hidden;
          background-color: #0f3060;
          transition: all 150ms linear; }
          header.main-header .main-navigation .menu-item .children .column {
            max-width: 200px;
            text-align: center;
            padding: 20px 15px 10px;
            margin: 0 auto; }
            header.main-header .main-navigation .menu-item .children .column a {
              display: block;
              font-size: 0.875rem;
              color: #fff;
              padding: 5px 0px; }
              header.main-header .main-navigation .menu-item .children .column a:not(:last-child) {
                margin-bottom: 5px; }
              header.main-header .main-navigation .menu-item .children .column a.overview {
                font-family: "Bebas Neue", sans-serif;
                font-size: 1.25rem;
                font-weight: 700;
                text-transform: uppercase;
                padding: 0;
                margin-bottom: 10px; }
                header.main-header .main-navigation .menu-item .children .column a.overview span {
                  position: relative;
                  display: inline-block;
                  padding: 0 5px 5px; }
                  header.main-header .main-navigation .menu-item .children .column a.overview span:after {
                    content: "";
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    display: block;
                    width: 100%;
                    height: 3px;
                    background-color: #417a9c; }
                header.main-header .main-navigation .menu-item .children .column a.overview:not(:first-child) {
                  margin-top: 25px; }
              header.main-header .main-navigation .menu-item .children .column a.estimate {
                display: block;
                width: 100%;
                font-size: 0;
                text-align: center;
                background-color: #fff;
                padding: 7px 0 5px;
                margin: 30px 0 20px; }
                header.main-header .main-navigation .menu-item .children .column a.estimate .icon {
                  display: inline-block;
                  width: 18px;
                  height: 17.5px;
                  fill: #c1072c;
                  margin-right: 8px; }
                header.main-header .main-navigation .menu-item .children .column a.estimate .text {
                  display: inline-block;
                  font-family: "Bebas Neue", sans-serif;
                  font-size: 1.25rem;
                  font-weight: 700;
                  color: #c1072c;
                  text-transform: uppercase;
                  padding-top: 1px; } }

.main-header-spacing {
  display: block;
  width: 100%;
  height: 133px;
  transition: all 100ms linear; }
  @media only screen and (max-width: 77.5em) {
    .main-header-spacing {
      height: 85px !important; } }
  @media only screen and (max-width: 58.75em) {
    .main-header-spacing {
      height: 60px !important; } }
  @media only screen and (max-width: 26.25em) {
    .main-header-spacing {
      height: 97px !important; } }
  .scroll-down .main-header-spacing {
    height: 91px; }

.main-footer {
  border-top: 1px solid #a5a5a6; }
  .main-footer .columns {
    position: relative; }
    .main-footer .columns .left-column {
      width: 100%;
      background-color: #fff; }
      @media only screen and (max-width: 93.75em) {
        .main-footer .columns .left-column {
          width: 75%; } }
      @media only screen and (max-width: 75em) {
        .main-footer .columns .left-column {
          width: 100%; } }
      .main-footer .columns .left-column .container {
        max-width: 1190px;
        padding: 0 65px; }
        @media only screen and (max-width: 93.75em) {
          .main-footer .columns .left-column .container {
            max-width: none; } }
        @media only screen and (max-width: 75em) {
          .main-footer .columns .left-column .container {
            padding-right: 365px; } }
        @media only screen and (max-width: 66.25em) {
          .main-footer .columns .left-column .container {
            padding: 0 250px 0 30px; } }
        @media only screen and (max-width: 47.5em) {
          .main-footer .columns .left-column .container {
            padding: 0 30px; } }
        @media only screen and (max-width: 35em) {
          .main-footer .columns .left-column .container {
            padding: 0 20px; } }
        .flexbox .main-footer .columns .left-column .container {
          display: flex;
          justify-content: space-between; }
        .no-flexbox .main-footer .columns .left-column .container:after {
          content: " ";
          visibility: hidden;
          display: block;
          height: 0;
          clear: both; }
      .main-footer .columns .left-column .wrap {
        width: 100%;
        max-width: 860px;
        padding: 30px 0 35px; }
        .no-flexbox .main-footer .columns .left-column .wrap {
          float: left; }
      .main-footer .columns .left-column .nav-row {
        display: block;
        font-size: 0;
        margin-bottom: 45px; }
        @media only screen and (max-width: 66.25em) {
          .main-footer .columns .left-column .nav-row {
            margin-bottom: 30px; } }
        .main-footer .columns .left-column .nav-row a {
          position: relative;
          display: inline-block;
          font-family: "Bebas Neue", sans-serif;
          font-size: 1.375rem;
          font-weight: 700;
          color: #c1072c;
          text-transform: uppercase;
          padding: 5px 0; }
          @media only screen and (max-width: 52.5em) {
            .main-footer .columns .left-column .nav-row a {
              font-size: 1.125rem;
              padding: 4px 0; } }
          .main-footer .columns .left-column .nav-row a:not(:last-child) {
            margin-right: 25px; }
            @media only screen and (max-width: 52.5em) {
              .main-footer .columns .left-column .nav-row a:not(:last-child) {
                margin-right: 20px; } }
          .main-footer .columns .left-column .nav-row a:after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 50%;
            display: block;
            width: 0px;
            height: 3px;
            background-color: #c1072c;
            transition: all 100ms linear; }
          .main-footer .columns .left-column .nav-row a:hover:after {
            left: 0;
            width: 100%; }
      .main-footer .columns .left-column .form-row {
        font-size: 0; }
        .flexbox .main-footer .columns .left-column .form-row {
          display: flex;
          justify-content: space-between; }
          @media only screen and (max-width: 30em) {
            .flexbox .main-footer .columns .left-column .form-row {
              flex-wrap: wrap; } }
        .no-flexbox .main-footer .columns .left-column .form-row:after {
          content: " ";
          visibility: hidden;
          display: block;
          height: 0;
          clear: both; }
        .main-footer .columns .left-column .form-row .title {
          position: relative;
          display: inline-block;
          font-family: "Bebas Neue", sans-serif;
          font-size: 1.375rem;
          font-weight: 700;
          color: #163d7e;
          line-height: 1;
          text-transform: uppercase;
          padding-bottom: 5px;
          margin-bottom: 22px; }
          @media only screen and (max-width: 52.5em) {
            .main-footer .columns .left-column .form-row .title {
              font-size: 1.125rem;
              margin-bottom: 20px; } }
          .main-footer .columns .left-column .form-row .title:after {
            content: "";
            position: absolute;
            bottom: 0;
            display: block;
            height: 3px;
            width: 100%;
            background-color: #163d7e; }
        .main-footer .columns .left-column .form-row .input-wrap {
          position: relative; }
          .main-footer .columns .left-column .form-row .input-wrap label {
            position: absolute;
            top: 11px;
            left: 16px;
            font-size: 16px;
            font-weight: 300;
            color: #404041;
            line-height: 1;
            pointer-events: none;
            transition: all 100ms linear; }
          .main-footer .columns .left-column .form-row .input-wrap input[type="email"],
          .main-footer .columns .left-column .form-row .input-wrap input[type="tel"],
          .main-footer .columns .left-column .form-row .input-wrap input[type="text"] {
            display: block;
            width: 100%;
            height: 38px;
            font-size: 16px;
            font-weight: 300;
            color: #404041;
            background-color: #eee;
            padding: 0 16px; }
          .main-footer .columns .left-column .form-row .input-wrap.active label {
            top: -12px;
            left: 5px;
            font-size: 12px; }
        .main-footer .columns .left-column .form-row .solutions-column {
          max-width: 485px;
          padding-right: 65px; }
          @media only screen and (max-width: 66.25em) {
            .main-footer .columns .left-column .form-row .solutions-column {
              padding-right: 45px; } }
          @media only screen and (max-width: 35em) {
            .main-footer .columns .left-column .form-row .solutions-column {
              padding-right: 30px; } }
          @media only screen and (max-width: 30em) {
            .main-footer .columns .left-column .form-row .solutions-column {
              padding-right: 0;
              margin-bottom: 45px; } }
          .no-flexbox .main-footer .columns .left-column .form-row .solutions-column {
            float: left; }
          .main-footer .columns .left-column .form-row p {
            font-size: 0.9375rem;
            font-weight: 300;
            line-height: 1.7;
            color: #404041;
            margin-bottom: 40px; }
            @media only screen and (max-width: 66.25em) {
              .main-footer .columns .left-column .form-row p {
                margin-bottom: 30px; } }
            @media only screen and (max-width: 52.5em) {
              .main-footer .columns .left-column .form-row p {
                font-size: 0.875rem;
                line-height: 1.6;
                margin-bottom: 20px; } }
          .main-footer .columns .left-column .form-row .solutions-column form {
            position: relative; }
            .main-footer .columns .left-column .form-row .solutions-column form .input-wrap input[type="email"],
            .main-footer .columns .left-column .form-row .solutions-column form .input-wrap input[type="tel"],
            .main-footer .columns .left-column .form-row .solutions-column form .input-wrap input[type="text"] {
              padding-right: 58px; }
            .main-footer .columns .left-column .form-row .solutions-column form .submit-wrap {
              position: absolute;
              top: 0;
              right: 0;
              z-index: 2;
              width: 38px;
              height: 38px; }
              .main-footer .columns .left-column .form-row .solutions-column form .submit-wrap input[type="submit"] {
                position: absolute;
                top: 0;
                left: 0;
                z-index: 2;
                display: block;
                width: 100%;
                height: 100%;
                color: transparent;
                opacity: 0;
                cursor: pointer; }
              .main-footer .columns .left-column .form-row .solutions-column form .submit-wrap .icon {
                position: absolute;
                top: 0;
                left: 0;
                z-index: 1;
                display: block;
                width: 100%;
                height: 100%;
                text-align: center;
                padding: 8px 0; }
                .main-footer .columns .left-column .form-row .solutions-column form .submit-wrap .icon svg {
                  fill: #818181;
                  max-height: 100%; }
        .main-footer .columns .left-column .form-row .newsletter-column {
          width: 100%;
          max-width: 230px; }
          @media only screen and (max-width: 28.75em) {
            .main-footer .columns .left-column .form-row .newsletter-column {
              max-width: none; } }
          .no-flexbox .main-footer .columns .left-column .form-row .newsletter-column {
            float: right; }
            @media only screen and (max-width: 30em) {
              .no-flexbox .main-footer .columns .left-column .form-row .newsletter-column {
                float: none; } }
          .main-footer .columns .left-column .form-row .newsletter-column .input-wrap {
            margin-bottom: 20px; }
          .main-footer .columns .left-column .form-row .newsletter-column .submit-wrap {
            position: relative;
            display: block;
            width: 127px;
            height: 35px;
            transition: all 100ms linear; }
            .main-footer .columns .left-column .form-row .newsletter-column .submit-wrap:hover {
              width: 150px; }
              .main-footer .columns .left-column .form-row .newsletter-column .submit-wrap:hover input[type="submit"] {
                background-color: #417a9c; }
            .main-footer .columns .left-column .form-row .newsletter-column .submit-wrap input[type="submit"] {
              display: block;
              width: 100%;
              height: 100%;
              font-family: "Bebas Neue", sans-serif;
              font-size: 23px;
              font-weight: 700;
              color: #fff;
              text-align: left;
              text-transform: uppercase;
              cursor: pointer;
              background-color: #163d7e;
              padding-top: 4px;
              padding-left: 17px;
              transition: all 100ms linear; }
            .main-footer .columns .left-column .form-row .newsletter-column .submit-wrap .icon {
              position: absolute;
              top: 0;
              right: 0;
              z-index: 2;
              display: block;
              width: 35px;
              height: 35px;
              text-align: center;
              pointer-events: none;
              background-color: #c1072c;
              padding: 7px 0; }
              .main-footer .columns .left-column .form-row .newsletter-column .submit-wrap .icon svg {
                fill: #fff;
                max-height: 100%; }
    .main-footer .columns .right-column {
      position: absolute;
      top: 0;
      right: 0;
      width: 25%;
      height: 100%;
      padding-top: 45px;
      background-color: #eee; }
      @media only screen and (max-width: 75em) {
        .main-footer .columns .right-column {
          width: 300px; } }
      @media only screen and (max-width: 66.25em) {
        .main-footer .columns .right-column {
          width: 220px;
          padding-top: 30px; } }
      @media only screen and (max-width: 47.5em) {
        .main-footer .columns .right-column {
          position: relative;
          top: auto;
          right: auto;
          width: 100%;
          height: auto;
          padding-top: 5px;
          margin: 0 auto; } }
      .main-footer .columns .right-column .contact-button {
        font-size: 0;
        text-align: left;
        padding: 10px 0 10px 35px;
        border-bottom: 2px solid #c6c6c6; }
        @media only screen and (max-width: 66.25em) {
          .main-footer .columns .right-column .contact-button {
            padding: 5px 0; } }
        .main-footer .columns .right-column .contact-button a {
          display: inline-block;
          width: 220px;
          text-align: center;
          padding: 10px; }
          @media only screen and (max-width: 47.5em) {
            .main-footer .columns .right-column .contact-button a {
              display: block;
              margin: 0 auto; } }
          .main-footer .columns .right-column .contact-button a .icon {
            display: inline-block;
            width: 40px;
            height: 40px;
            vertical-align: middle;
            margin-right: 25px; }
            @media only screen and (max-width: 66.25em) {
              .main-footer .columns .right-column .contact-button a .icon {
                width: 25px;
                height: 25px;
                margin-right: 15px; } }
            .main-footer .columns .right-column .contact-button a .icon svg {
              fill: #c1072c; }
          .main-footer .columns .right-column .contact-button a .text {
            display: inline-block;
            font-family: "Bebas Neue", sans-serif;
            font-size: 1.6025rem;
            font-weight: 700;
            color: #163d7e;
            text-transform: uppercase;
            vertical-align: middle;
            padding-top: 3px;
            transition: all 100ms linear; }
            @media only screen and (max-width: 66.25em) {
              .main-footer .columns .right-column .contact-button a .text {
                font-size: 1.25rem; } }
          .main-footer .columns .right-column .contact-button a:hover .text {
            color: #477da4; }
      .main-footer .columns .right-column .social-buttons {
        width: 300px;
        font-size: 0;
        padding: 45px 20px 30px 55px; }
        @media only screen and (max-width: 66.25em) {
          .main-footer .columns .right-column .social-buttons {
            width: 220px;
            padding: 30px 15px 20px; } }
        @media only screen and (max-width: 47.5em) {
          .main-footer .columns .right-column .social-buttons {
            margin: 0 auto; } }
        .flexbox .main-footer .columns .right-column .social-buttons {
          display: flex;
          justify-content: flex-start; }
        .no-flexbox .main-footer .columns .right-column .social-buttons {
          text-align: center; }
        .main-footer .columns .right-column .social-buttons a {
          display: block;
          width: 57px;
          height: 57px;
          text-align: center;
          background-color: #bbc2c4;
          padding: 12px 0;
          border-radius: 50%;
          transition: all 100ms linear; }
          @media only screen and (max-width: 66.25em) {
            .main-footer .columns .right-column .social-buttons a {
              width: 40px;
              height: 40px;
              padding: 10px 0; } }
          .no-flexbox .main-footer .columns .right-column .social-buttons a {
            display: inline-block; }
            .no-flexbox .main-footer .columns .right-column .social-buttons a:not(:last-child) {
              margin-right: 10px; }
          .main-footer .columns .right-column .social-buttons a svg {
            max-height: 100%;
            fill: #fff;
            color: #bbc2c4;
            transition: all 100ms linear; }
          .main-footer .columns .right-column .social-buttons a:hover {
            background-color: #58595b; }
            .main-footer .columns .right-column .social-buttons a:hover svg {
              color: #58595b; }
      .main-footer .columns .right-column .policy-row {
        display: block;
        width: 300px;
        padding: 0 20px 25px; }
        @media only screen and (max-width: 66.25em) {
          .main-footer .columns .right-column .policy-row {
            width: 220px; } }
        @media only screen and (max-width: 47.5em) {
          .main-footer .columns .right-column .policy-row {
            margin: 0 auto; } }
        .main-footer .columns .right-column .policy-row p {
          font-size: 0.875rem;
          font-weight: 600;
          color: #58595b;
          text-align: center; }
          @media only screen and (max-width: 66.25em) {
            .main-footer .columns .right-column .policy-row p {
              font-size: 0.8125rem; } }
        .main-footer .columns .right-column .policy-row a {
          padding: 10px 5px; }
          .main-footer .columns .right-column .policy-row a:hover {
            text-decoration: underline; }
        .main-footer .columns .right-column .policy-row .pipe {
          display: inline-block;
          width: 1px;
          height: 10px;
          background-color: #58595b;
          margin: 0 5px; }
          @media only screen and (max-width: 66.25em) {
            .main-footer .columns .right-column .policy-row .pipe {
              margin: 0 2px; } }
  .main-footer .bottom-row {
    padding: 7px 0;
    background-color: #c1072c; }
    .main-footer .bottom-row .container {
      max-width: 1190px;
      padding: 0 65px; }
      @media only screen and (max-width: 93.75em) {
        .main-footer .bottom-row .container {
          max-width: none; } }
      @media only screen and (max-width: 66.25em) {
        .main-footer .bottom-row .container {
          padding: 0 30px; } }
      @media only screen and (max-width: 35em) {
        .main-footer .bottom-row .container {
          padding: 0 20px; } }
    .main-footer .bottom-row p {
      font-size: 0.9375rem;
      font-weight: 600;
      color: #fff; }
      @media only screen and (max-width: 66.25em) {
        .main-footer .bottom-row p {
          font-size: 0.8125rem; } }
      @media only screen and (max-width: 47.5em) {
        .main-footer .bottom-row p {
          text-align: center;
          line-height: 1.4; } }
      .main-footer .bottom-row p a:hover {
        text-decoration: underline; }

.toggle {
  position: absolute;
  top: 10px;
  right: 15px;
  display: none;
  width: 30px;
  height: 40px;
  z-index: 15;
  cursor: pointer; }
  @media only screen and (max-width: 58.75em) {
    .toggle {
      display: block; } }
  .toggle span {
    position: absolute;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background-color: #fff;
    transform-origin: 50% 50%;
    transition: all 150ms linear; }
    .toggle span:nth-child(1) {
      top: 8px; }
      .open-mobile-nav .toggle span:nth-child(1) {
        top: 19px;
        width: 0;
        left: 50%; }
    .toggle span:nth-child(2) {
      top: 19px; }
      .open-mobile-nav .toggle span:nth-child(2) {
        transform: rotate(45deg);
        width: 120%;
        left: -10%; }
    .toggle span:nth-child(3) {
      bottom: 19px; }
      .open-mobile-nav .toggle span:nth-child(3) {
        transform: rotate(-45deg);
        width: 120%;
        left: -10%; }
    .toggle span:nth-child(4) {
      bottom: 8px; }
      .open-mobile-nav .toggle span:nth-child(4) {
        bottom: 19px;
        width: 0;
        left: 50%; }

.homepage-hero {
  position: relative;
  height: 100vh; }
  .flexbox .homepage-hero {
    display: -webkit-flex;
    display: flex; }
  .no-flexbox .homepage-hero:after {
    content: " ";
    visibility: hidden;
    display: block;
    height: 0;
    clear: both; }
  .homepage-hero .column {
    position: relative;
    width: 50%;
    height: 100%;
    overflow: hidden;
    cursor: pointer;
    transition: all 500ms ease;
    transform: translateZ(0);
    display: block;
    -webkit-box-flex:1; }
    .no-flexbox .homepage-hero .column {
      float: left;
      display: block;
      -webkit-box-flex:1; }
    .homepage-hero .column .services-title {
      position: absolute;
      bottom: 290px;
      z-index: 3;
      display: block;
      width: 100%;
      font-size: 0;
      padding-left: 40px;
      padding-right: 15px;
      opacity: 0; }
      @media only screen and (max-height: 45.9375em) {
        .homepage-hero .column .services-title {
          bottom: 250px; } }
      @media only screen and (max-height: 31.25em) {
        .homepage-hero .column .services-title {
          bottom: 210px; } }
      @media only screen and (max-height: 25em) {
        .homepage-hero .column .services-title {
          bottom: 190px; } }
      @media only screen and (max-width: 77.5em) {
        .homepage-hero .column .services-title {
          padding-left: 30px; } }
  @media only screen and (max-width: 77.5em) and (max-height: 45.9375em) {
    .homepage-hero .column .services-title {
      bottom: 250px; } }
  @media only screen and (max-width: 77.5em) and (max-height: 39.375em) {
    .homepage-hero .column .services-title {
      bottom: 210px; } }
  @media only screen and (max-width: 77.5em) and (max-height: 31.25em) {
    .homepage-hero .column .services-title {
      bottom: 170px; } }
  @media only screen and (max-width: 77.5em) and (max-height: 25em) {
    .homepage-hero .column .services-title {
      bottom: 150px; } }

@media only screen and (max-width: 52.5em) and (max-height: 45.9375em) {
  .homepage-hero .column .services-title {
    bottom: 270px; } }
@media only screen and (max-width: 52.5em) and (max-height: 31.25em) {
  .homepage-hero .column .services-title {
    bottom: 230px; } }
@media only screen and (max-width: 52.5em) and (max-height: 28.125em) {
  .homepage-hero .column .services-title {
    bottom: 210px; } }
@media only screen and (max-width: 52.5em) and (max-height: 25em) {
  .homepage-hero .column .services-title {
    bottom: 190px; } }
@media only screen and (max-width: 52.5em) and (max-height: 21.25em) {
  .homepage-hero .column .services-title {
    bottom: 102px;
    left: 60px;
    width: calc(100% - 60px); } }

      @media only screen and (max-width: 26.875em) {
        .homepage-hero .column .services-title {
          padding-left: 15px; } }
  @media only screen and (max-width: 26.875em) and (max-height: 45.9375em) {
    .homepage-hero .column .services-title {
      bottom: 250px; } }
  @media only screen and (max-width: 26.875em) and (max-height: 39.375em) {
    .homepage-hero .column .services-title {
      bottom: 230px; } }
  @media only screen and (max-width: 26.875em) and (max-height: 31.25em) {
    .homepage-hero .column .services-title {
      bottom: 170px; } }
  @media only screen and (max-width: 26.875em) and (max-height: 25em) {
    .homepage-hero .column .services-title {
      bottom: 150px; } }
  @media only screen and (max-width: 26.875em) and (max-height: 20.625em) {
    .homepage-hero .column .services-title {
      bottom: 88px; } }

      .homepage-hero .column .services-title h1 {
        font-family: "Bebas Neue", sans-serif;
        font-size: 3.5625rem;
        font-weight: 700;
        color: #fff;
        line-height: 0.9;
        text-transform: uppercase;
        margin-bottom: 15px; }
        @media only screen and (max-width: 77.5em) {
          .homepage-hero .column .services-title h1 {
            font-size: 2.5rem; } }
        @media only screen and (max-width: 52.5em) {
          .homepage-hero .column .services-title h1 {
            font-size: 1.75rem;
            margin-bottom: 10px; } }
        @media only screen and (max-width: 26.875em) {
          .homepage-hero .column .services-title h1 {
            font-size: 1.25rem; } }
        @media only screen and (max-height: 21.25em) {
          .homepage-hero .column .services-title h1 {
            margin-bottom: 0; } }
        .homepage-hero .column .services-title h1 .row {
          display: block; }
        .homepage-hero .column .services-title h1 .highlight {
          font-size: 4.725rem;
          color: #163d7e;
          line-height: 0.8; }
          @media only screen and (max-width: 77.5em) {
            .homepage-hero .column .services-title h1 .highlight {
              font-size: 3.25rem; } }
          @media only screen and (max-width: 52.5em) {
            .homepage-hero .column .services-title h1 .highlight {
              font-size: 2.25rem;
              line-height: 0.9; } }
          @media only screen and (max-width: 26.875em) {
            .homepage-hero .column .services-title h1 .highlight {
              font-size: 1.75rem; } }
      .homepage-hero .column .services-title p {
        font-size: 1.3125rem;
        color: #163d7e;
        text-transform: uppercase; }
        @media only screen and (max-width: 77.5em) {
          .homepage-hero .column .services-title p {
            font-size: 1rem; } }
        @media only screen and (max-width: 52.5em) {
          .homepage-hero .column .services-title p {
            font-size: 0.875rem; } }
        @media only screen and (max-width: 26.875em) {
          .homepage-hero .column .services-title p {
            font-size: 0.75rem; } }
        @media only screen and (max-height: 21.25em) {
          .homepage-hero .column .services-title p {
            display: none; } }
        .homepage-hero .column .services-title p .pipe {
          display: inline-block;
          height: 15px;
          width: 2px;
          background-color: #163d7e;
          margin: 0 6px; }
          @media only screen and (max-width: 77.5em) {
            .homepage-hero .column .services-title p .pipe {
              height: 12px; } }
          @media only screen and (max-width: 52.5em) {
            .homepage-hero .column .services-title p .pipe {
              height: 10px;
              width: 1px;
              margin: 0 4px; } }
          @media only screen and (max-width: 26.875em) {
            .homepage-hero .column .services-title p .pipe {
              height: 8px; } }
    .homepage-hero .column .cta-services {
      position: absolute;
      bottom: 85px;
      left: 0;
      z-index: 3;
      display: block;
      width: 500px;
      font-size: 0;
      padding-left: 135px; }
      @media only screen and (max-width: 77.5em) {
        .homepage-hero .column .cta-services {
          padding-left: 100px; } }
      @media only screen and (max-width: 52.5em) {
        .homepage-hero .column .cta-services {
          padding-left: 30px; } }
      @media only screen and (max-width: 26.875em) {
        .homepage-hero .column .cta-services {
          padding-left: 15px; } }
      @media only screen and (max-height: 31.25em) {
        .homepage-hero .column .cta-services {
          bottom: 40px; } }
      @media only screen and (max-height: 25em) {
        .homepage-hero .column .cta-services {
          bottom: 25px; } }
      .homepage-hero .column .cta-services .text-container {
        display: block;
        font-family: "Bebas Neue", sans-serif;
        font-weight: 700;
        color: #fff;
        text-transform: uppercase; }
        .homepage-hero .column .cta-services .text-container:after {
          content: " ";
          visibility: hidden;
          display: block;
          height: 0;
          clear: both; }
        .homepage-hero .column .cta-services .text-container .top {
          display: block;
          font-size: 5rem;
          line-height: 0.8;
          text-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5); }
          @media only screen and (max-width: 77.5em) {
            .homepage-hero .column .cta-services .text-container .top {
              font-size: 3.5rem; } }
          @media only screen and (max-width: 52.5em) {
            .homepage-hero .column .cta-services .text-container .top {
              font-size: 2.5rem;
              line-height: 0.9; } }
          @media only screen and (max-width: 26.875em) {
            .homepage-hero .column .cta-services .text-container .top {
              font-size: 2rem; } }
        .homepage-hero .column .cta-services .text-container .bottom {
          display: inline-block;
          float: left;
          font-size: 2.8575rem;
          text-shadow: 3px 3px 10px rgba(0, 0, 0, 0.5); }
          @media only screen and (max-width: 77.5em) {
            .homepage-hero .column .cta-services .text-container .bottom {
              font-size: 2rem; } }
          @media only screen and (max-width: 52.5em) {
            .homepage-hero .column .cta-services .text-container .bottom {
              font-size: 1.5rem; } }
          @media only screen and (max-width: 26.875em) {
            .homepage-hero .column .cta-services .text-container .bottom {
              font-size: 1.125rem; } }
        .homepage-hero .column .cta-services .text-container .icon {
          display: inline-block;
          width: 34px;
          height: 34px;
          padding: 7px;
          background-color: #477da4;
          border-radius: 50%;
          margin-left: 12px;
          box-shadow: 2px 2px 10px 1px rgba(0, 0, 0, 0.5);
          transition: all 200ms linear;
          transform-origin: center; }
          @media only screen and (max-width: 77.5em) {
            .homepage-hero .column .cta-services .text-container .icon {
              width: 24px;
              height: 24px;
              padding: 4px; } }
          @media only screen and (max-width: 52.5em) {
            .homepage-hero .column .cta-services .text-container .icon {
              width: 19px;
              height: 19px;
              padding: 3px; } }
          @media only screen and (max-width: 26.875em) {
            .homepage-hero .column .cta-services .text-container .icon {
              width: 15px;
              height: 15px;
              margin-left: 8px; } }
          .homepage-hero .column .cta-services .text-container .icon svg {
            display: block;
            width: 22px;
            height: 21px;
            fill: #fff; }
            @media only screen and (max-width: 77.5em) {
              .homepage-hero .column .cta-services .text-container .icon svg {
                width: 16px;
                height: 15.5px; } }
            @media only screen and (max-width: 52.5em) {
              .homepage-hero .column .cta-services .text-container .icon svg {
                width: 13.25px;
                height: 13px; } }
            @media only screen and (max-width: 26.875em) {
              .homepage-hero .column .cta-services .text-container .icon svg {
                width: 9px;
                height: 9px; } }
      .homepage-hero .column .cta-services .icon-wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 105px;
        height: 80px;
        background-color: #477da4;
        padding: 7px 10px;
        box-shadow: 2px 2px 10px 1px rgba(0, 0, 0, 0.5); }
        @media only screen and (max-width: 77.5em) {
          .homepage-hero .column .cta-services .icon-wrap {
            width: 75px;
            height: 57px;
            padding: 10px; } }
        @media only screen and (max-width: 52.5em) {
          .homepage-hero .column .cta-services .icon-wrap {
            top: -77px; } }
        @media only screen and (max-width: 26.875em) {
          .homepage-hero .column .cta-services .icon-wrap {
            width: 52.5px;
            height: 40px;
            top: -60px;
            padding: 7px; } }
        .flexbox .homepage-hero .column .cta-services .icon-wrap {
          display: -webkit-flex;
          display: flex;
          justify-content: center;
          align-items: center; }
        .no-flexbox .homepage-hero .column .cta-services .icon-wrap {
          display: block; }
        .homepage-hero .column .cta-services .icon-wrap svg {
          fill: #fff;
          max-height: 100%; }
    .homepage-hero .column .loading {
      position: absolute;
      top: 50%;
      left: 50%;
      margin-top: -50px;
      margin-left: -50px;
      z-index: 1;
      display: block;
      width: 100px;
      height: 100px;
      opacity: 0;
      transition: all 0ms linear; }
      @media only screen and (max-width: 77.5em) {
        .homepage-hero .column .loading {
          width: 76px;
          height: 76px;
          margin-top: -38px;
          margin-left: -38px; } }
      @media only screen and (max-width: 26.875em) {
        .homepage-hero .column .loading {
          width: 50px;
          height: 50px;
          margin-top: -25px;
          margin-left: -25px; } }
      .homepage-hero .column .loading svg {
        fill: #fff;
        max-height: 100%; }
    .homepage-hero .column .bg-image {
      position: absolute;
      top: 0;
      right: 0;
      z-index: 2;
      display: block;
      width: 200%;
      height: 100%; }
      .homepage-hero .column .bg-image:after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        z-index: 2;
        display: block;
        width: 100%;
        height: 400px;
        background: linear-gradient(to bottom, rgba(1, 40, 118, 0) 0%, rgba(1, 40, 118, 0.85) 87%, rgba(1, 40, 118, 0.85) 100%);
        transition: all 350ms linear; }
      .homepage-hero .column .bg-image span {
        position: relative;
        z-index: 1;
        display: block;
        width: 100%;
        height: 100%;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        -webkit-filter: grayscale(60%);
                filter: grayscale(60%);
        transition: all 350ms linear; }
    .homepage-hero .column.left .services-title {
      text-align: right;
      padding-left: 15px;
      padding-right: 40px; }
      @media only screen and (max-width: 77.5em) {
        .homepage-hero .column.left .services-title {
          padding-left: 30px; } }
@media only screen and (max-width: 52.5em) and (max-height: 21.25em) {
  .homepage-hero .column.left .services-title {
    right: 60px;
    left: auto; } }

      @media only screen and (max-width: 26.875em) {
        .homepage-hero .column.left .services-title {
          padding-right: 15px; } }
    .homepage-hero .column.left .cta-services {
      right: 0;
      left: auto;
      text-align: right;
      padding-left: 0;
      padding-right: 135px; }
      @media only screen and (max-width: 77.5em) {
        .homepage-hero .column.left .cta-services {
          padding-right: 100px; } }
      @media only screen and (max-width: 52.5em) {
        .homepage-hero .column.left .cta-services {
          padding-right: 30px; } }
      @media only screen and (max-width: 26.875em) {
        .homepage-hero .column.left .cta-services {
          padding-right: 15px; } }
      .homepage-hero .column.left .cta-services .text-container .bottom {
        float: right; }
      .homepage-hero .column.left .cta-services .text-container .icon {
        background-color: #c1072c;
        margin-right: 12px;
        margin-left: 0;
        transform: rotate(180deg); }
        @media only screen and (max-width: 26.875em) {
          .homepage-hero .column.left .cta-services .text-container .icon {
            margin-right: 8px; } }
      .homepage-hero .column.left .cta-services .icon-wrap {
        left: auto;
        right: 0;
        background-color: #c1072c; }
    .homepage-hero .column.left .bg-image {
      left: 0;
      right: auto; }
      .homepage-hero .column.left .bg-image:after {
        background: linear-gradient(to bottom, rgba(31, 26, 25, 0) 0%, rgba(31, 26, 25, 0.85) 87%, rgba(31, 26, 25, 0.85) 100%); }
    .homepage-hero .column.active {
      width: 100%; }
      .homepage-hero .column.active.still-loading .loading {
        z-index: 3;
        opacity: 1;
        transition: all 0ms linear 250ms;
        animation: hammerRotate 350ms ease-in infinite alternate 250ms; }
      .homepage-hero .column.active .bg-image {
        width: 100%; }
    .homepage-hero .column.inactive {
      width: 0%; }
      .homepage-hero .column.inactive .bg-image {
        width: 100%; }
    .homepage-hero .column.loaded .services-title {
      animation: fadeInDown 350ms linear normal;
      animation-fill-mode: both; }
    .homepage-hero .column.loaded .bg-image span {
      -webkit-filter: grayscale(0%);
              filter: grayscale(0%); }
    .homepage-hero .column:hover .bg-image span {
      -webkit-filter: grayscale(0%);
              filter: grayscale(0%); }

.homepage-solutions {
  position: relative;
  font-size: 0;
  text-align: center; }
  .homepage-solutions:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background-image: url(../images/homepage-solutions-bg.png);
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.5; }
    @media only screen and (max-width: 39.375em) {
      .homepage-solutions:before {
        background: #fff; } }
  .homepage-solutions .container {
    max-width: 760px;
    padding-top: 105px;
    padding-bottom: 70px; }
    @media only screen and (max-width: 52.5em) {
      .homepage-solutions .container {
        max-width: 650px;
        padding-top: 70px;
        padding-bottom: 50px; } }
    @media only screen and (max-width: 26.25em) {
      .homepage-solutions .container {
        padding-top: 45px;
        padding-bottom: 45px; } }
    .homepage-solutions .container h3 {
      position: relative;
      display: inline-block;
      font-family: "Bebas Neue", sans-serif;
      font-size: 1.15rem;
      font-weight: 700;
      color: #c1072c;
      margin-bottom: 35px; }
      @media only screen and (max-width: 52.5em) {
        .homepage-solutions .container h3 {
          margin-bottom: 20px; } }
      .homepage-solutions .container h3:before, .homepage-solutions .container h3:after {
        content: "";
        position: absolute;
        top: 50%;
        margin-top: -4px;
        display: block;
        width: 100px;
        height: 2px;
        background-color: #c1072c; }
        @media only screen and (max-width: 52.5em) {
          .homepage-solutions .container h3:before, .homepage-solutions .container h3:after {
            width: 50px; } }
        @media only screen and (max-width: 26.25em) {
          .homepage-solutions .container h3:before, .homepage-solutions .container h3:after {
            display: none; } }
      .homepage-solutions .container h3:before {
        left: -140px; }
        @media only screen and (max-width: 52.5em) {
          .homepage-solutions .container h3:before {
            left: -75px; } }
      .homepage-solutions .container h3:after {
        right: -140px; }
        @media only screen and (max-width: 52.5em) {
          .homepage-solutions .container h3:after {
            right: -75px; } }
    .homepage-solutions .container strong {
      display: block;
      font-family: "Bebas Neue", sans-serif;
      font-size: 2rem;
      font-weight: 700;
      color: #163d7e;
      text-transform: uppercase;
      margin-bottom: 40px; }
      @media only screen and (max-width: 52.5em) {
        .homepage-solutions .container strong {
          font-size: 1.5rem;
          line-height: 1.4;
          margin-bottom: 20px; } }
    .homepage-solutions .container p {
      font-size: 1rem;
      color: #404041;
      line-height: 2;
      margin-bottom: 35px; }
      .homepage-solutions .container p:first-of-type {
        margin-bottom: 20px; }
      @media only screen and (max-width: 52.5em) {
        .homepage-solutions .container p {
          font-size: 0.875rem;
          padding: 0 25px;
          margin-bottom: 25px; }
          .homepage-solutions .container p:first-of-type {
            margin-bottom: 15px; } }
      @media only screen and (max-width: 26.25em) {
        .homepage-solutions .container p {
          padding: 0 10px; } }
    .homepage-solutions .container a {
      color: #417a9c; }
      .homepage-solutions .container a.read-more {
        position: relative;
        display: inline-block;
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.125rem;
        font-weight: 700;
        text-transform: uppercase;
        padding: 5px;
        transition: all 100ms linear; }
        @media only screen and (max-width: 52.5em) {
          .homepage-solutions .container a.read-more {
            font-size: 1rem; } }
        .homepage-solutions .container a.read-more:after {
          content: "";
          position: absolute;
          bottom: 0;
          left: 0;
          display: block;
          width: 100%;
          height: 3px;
          background-color: #417a9c;
          transition: all 100ms linear; }
        .homepage-solutions .container a.read-more:hover {
          color: #163d7e; }
          .homepage-solutions .container a.read-more:hover:after {
            background-color: #163d7e; }

.logo-band {
  background-color: #eee; }
  .logo-band .container {
    max-width: 1100px;
    font-size: 0;
    padding: 25px 20px 15px; }
    @media only screen and (max-width: 39.375em) {
      .logo-band .container {
        padding: 15px; } }
    .flexbox .logo-band .container {
      display: -webkit-flex;
      display: flex;
      justify-content: center;
      flex-wrap: wrap; }
    .logo-band .container .logo-wrap {
      display: inline-block;
      width: 16.6666666%;
      width: calc(100% / 6);
      height: 50px;
      text-align: center;
      padding: 0 5px 10px; }
      @media only screen and (max-width: 39.375em) {
        .logo-band .container .logo-wrap {
          width: 33.3333333%;
          width: calc(100% / 3);
          height: 70px;
          padding: 10px 5px; } }
      .flexbox .logo-band .container .logo-wrap {
        display: -webkit-flex;
        display: flex;
        justify-content: center;
        align-items: center; }
      .logo-band .container .logo-wrap img {
        max-height: 100%;
        vertical-align: middle; }

.quote-banner {
  background-color: #417a9c;
  padding: 70px 100px; }
  @media only screen and (max-width: 39.375em) {
    .quote-banner {
      padding: 45px 70px; } }
  @media only screen and (max-width: 26.25em) {
    .quote-banner {
      padding: 45px 30px; } }
  .quote-banner.style-services {
    background-color: #fff;
    padding-top: 10px !important; }
    .quote-banner.style-services p {
      color: #909192; }
    .quote-banner.style-services .icon {
      fill: #909192; }
  .quote-banner .container {
    position: relative;
    max-width: 660px;
    text-align: center; }
  .quote-banner p {
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.25em;
    color: #fff;
    text-transform: uppercase;
    line-height: 1.5; }
    @media only screen and (max-width: 39.375em) {
      .quote-banner p {
        font-size: 1em; } }
  .quote-banner .icon {
    position: absolute;
    top: 50%;
    display: block;
    width: 62px;
    height: 51px;
    margin-top: -25px;
    fill: #fff; }
    @media only screen and (max-width: 39.375em) {
      .quote-banner .icon {
        width: 41.5px;
        height: 34px;
        margin-top: -17px; } }
    @media only screen and (max-width: 26.25em) {
      .quote-banner .icon {
        width: 31px;
        height: 25px;
        margin-top: -12.5px; } }
    .quote-banner .icon.left {
      left: -80px; }
      @media only screen and (max-width: 39.375em) {
        .quote-banner .icon.left {
          left: -50px; } }
      @media only screen and (max-width: 26.25em) {
        .quote-banner .icon.left {
          top: 0;
          left: -21px; } }
    .quote-banner .icon.right {
      right: -80px;
      transform: rotate(180deg); }
      @media only screen and (max-width: 39.375em) {
        .quote-banner .icon.right {
          right: -50px; } }
      @media only screen and (max-width: 26.25em) {
        .quote-banner .icon.right {
          top: auto;
          right: -21px;
          bottom: 0;
          margin-top: 0;
          margin-bottom: -12.5px; } }

.gallery-slider {
  background-color: #417a9c; }
  .gallery-slider .heading {
    font-family: "Bebas Neue", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    padding: 55px 0 40px; }
    @media only screen and (max-width: 60em) {
      .gallery-slider .heading {
        font-size: 1.5rem;
        padding: 45px 0 40px; } }
  .gallery-slider .slider-wrap {
    background-color: #163d7e; }
  .gallery-slider .slider {
    position: relative;
    max-width: 1200px;
    border: 9px solid #163d7e;
    margin: 0 auto; }
    @media only screen and (max-width: 39.375em) {
      .gallery-slider .slider {
        border: 5px solid #163d7e; } }
    .gallery-slider .slider .slides {
      position: relative;
      padding-bottom: 25%;
      overflow: hidden;
      transform: translateZ(0); }
      @media only screen and (max-width: 26.25em) {
        .gallery-slider .slider .slides {
          padding-bottom: 50%; } }
      .gallery-slider .slider .slides .slide {
        position: absolute;
        top: 0;
        left: -150%;
        z-index: 1;
        display: block;
        width: 25%;
        height: 100%;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        border: 9px solid #163d7e;
        cursor: pointer; }
        @media only screen and (max-width: 39.375em) {
          .gallery-slider .slider .slides .slide {
            border: 5px solid #163d7e; } }
        @media only screen and (max-width: 26.25em) {
          .gallery-slider .slider .slides .slide {
            width: 50%; } }
        .gallery-slider .slider .slides .slide.in-use {
          z-index: 2;
          transition: left 350ms linear; }
        .gallery-slider .slider .slides .slide[data-position="0"] {
          left: -50%; }
          @media only screen and (max-width: 26.25em) {
            .gallery-slider .slider .slides .slide[data-position="0"] {
              left: -100%; } }
        .gallery-slider .slider .slides .slide[data-position="1"] {
          left: -25%;
          z-index: 3; }
          @media only screen and (max-width: 26.25em) {
            .gallery-slider .slider .slides .slide[data-position="1"] {
              left: -50%; } }
        .gallery-slider .slider .slides .slide[data-position="2"] {
          left: 0%;
          z-index: 3; }
        .gallery-slider .slider .slides .slide[data-position="3"] {
          left: 25%;
          z-index: 3; }
          @media only screen and (max-width: 26.25em) {
            .gallery-slider .slider .slides .slide[data-position="3"] {
              left: 50%; } }
        .gallery-slider .slider .slides .slide[data-position="4"] {
          left: 50%;
          z-index: 3; }
          @media only screen and (max-width: 26.25em) {
            .gallery-slider .slider .slides .slide[data-position="4"] {
              left: 100%; } }
        .gallery-slider .slider .slides .slide[data-position="5"] {
          left: 75%;
          z-index: 3; }
          @media only screen and (max-width: 26.25em) {
            .gallery-slider .slider .slides .slide[data-position="5"] {
              left: 150%; } }
        .gallery-slider .slider .slides .slide[data-position="6"] {
          left: 100%;
          z-index: 3; }
          @media only screen and (max-width: 26.25em) {
            .gallery-slider .slider .slides .slide[data-position="6"] {
              left: 200%; } }
        .gallery-slider .slider .slides .slide[data-position="7"] {
          left: 125%; }
          @media only screen and (max-width: 26.25em) {
            .gallery-slider .slider .slides .slide[data-position="7"] {
              left: 250%; } }
    .gallery-slider .slider .nav-buttons .icon {
      position: absolute;
      top: 50%;
      margin-top: -28px;
      z-index: 5;
      display: block;
      width: 56px;
      height: 56px;
      border-radius: 50%;
      background-color: #163d7e;
      cursor: pointer;
      padding: 13px;
      padding-right: 18px; }
      @media only screen and (max-width: 39.375em) {
        .gallery-slider .slider .nav-buttons .icon {
          width: 37px;
          height: 37px;
          padding: 8px;
          padding-right: 12px;
          margin-top: -18.5px; } }
      .gallery-slider .slider .nav-buttons .icon svg {
        fill: #fff;
        width: 25px;
        height: 24px;
        max-height: 100%; }
        @media only screen and (max-width: 39.375em) {
          .gallery-slider .slider .nav-buttons .icon svg {
            width: 16.5px;
            height: 16px; } }
      .gallery-slider .slider .nav-buttons .icon.left {
        left: -10px;
        transform: rotate(180deg); }
        @media only screen and (max-width: 39.375em) {
          .gallery-slider .slider .nav-buttons .icon.left {
            left: -6px; } }
      .gallery-slider .slider .nav-buttons .icon.right {
        right: -10px; }
        @media only screen and (max-width: 39.375em) {
          .gallery-slider .slider .nav-buttons .icon.right {
            right: -6px; } }
  .gallery-slider .cta {
    text-align: center;
    padding: 50px 20px; }
    @media only screen and (max-width: 39.375em) {
      .gallery-slider .cta {
        padding: 30px 20px 35px; } }
    .gallery-slider .cta a {
      position: relative;
      display: inline-block;
      font-family: "Bebas Neue", sans-serif;
      font-size: 1.125rem;
      font-weight: 700;
      color: #163d7e;
      text-transform: uppercase;
      padding: 5px;
      transition: all 100ms linear; }
      @media only screen and (max-width: 39.375em) {
        .gallery-slider .cta a {
          font-size: 1rem; } }
      .gallery-slider .cta a:after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 3px;
        background-color: #163d7e;
        transition: all 100ms linear; }
      .gallery-slider .cta a:hover {
        color: #fff; }
        .gallery-slider .cta a:hover:after {
          background-color: #fff; }

.breadcrumbs {
  padding-bottom: 50px;
  font-size: 0; }
  @media only screen and (max-width: 60em) {
    .breadcrumbs {
      padding-bottom: 30px; } }
  .breadcrumbs .overview {
    position: relative;
    display: inline-block;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: #bf072c;
    text-transform: uppercase;
    padding-bottom: 5px;
    margin-bottom: 10px; }
    @media only screen and (max-width: 60em) {
      .breadcrumbs .overview {
        font-size: 1rem; } }
    .breadcrumbs .overview:after {
      content: "";
      position: absolute;
      bottom: 0;
      display: block;
      width: 100%;
      height: 3px;
      background-color: #bf072c; }
  .breadcrumbs a:not(.overview) {
    position: relative;
    display: inline-block;
    font-size: 1rem;
    font-weight: 300;
    color: #404041;
    padding-left: 15px;
    margin-left: 15px;
    margin-bottom: 10px;
    transition: all 100ms linear; }
    @media only screen and (max-width: 60em) {
      .breadcrumbs a:not(.overview) {
        font-size: 0.875rem; } }
    .breadcrumbs a:not(.overview):before {
      content: "/";
      position: absolute;
      top: 0;
      left: 0;
      display: inline-block;
      transition: all 100ms linear; }
    .breadcrumbs a:not(.overview):hover {
      color: #bf072c; }

.content-wo-aside {
  padding: 70px 0;
  background-color: #fff; }
  @media only screen and (max-width: 60em) {
    .content-wo-aside {
      padding: 45px 0 60px; } }
  @media only screen and (max-width: 46.25em) {
    .content-wo-aside {
      padding: 30px 0 50px; } }
  .content-wo-aside .container {
    position: relative;
    max-width: 740px; }

.content-w-aside {
  padding: 70px 0;
  background-color: #fff; }
  @media only screen and (max-width: 60em) {
    .content-w-aside {
      padding: 45px 0 60px; } }
  @media only screen and (max-width: 46.25em) {
    .content-w-aside {
      padding: 30px 0 50px; } }
  .content-w-aside .container {
    position: relative;
    max-width: 1060px; }
  .content-w-aside article {
    position: relative;
    z-index: 1;
    padding-left: 340px; }
    @media only screen and (max-width: 77.5em) {
      .content-w-aside article {
        padding-left: 305px; } }
    @media only screen and (max-width: 60em) {
      .content-w-aside article {
        padding-left: 265px; } }
    @media only screen and (max-width: 46.25em) {
      .content-w-aside article {
        padding-top: 85px;
        padding-left: 0; } }
    .content-w-aside article .feature-svg {
      position: absolute;
      top: 20px;
      right: 20px;
      display: block;
      width: 90px;
      height: 90px;
      text-align: center;
      padding: 18px 10px;
      border-radius: 50%;
      border: 1px solid #c1072c; }
      .content-w-aside article .feature-svg svg {
        fill: #c1072c;
        max-height: 100%; }
      @media only screen and (max-width: 60em) {
        .content-w-aside article .feature-svg {
          top: 0;
          width: 60px;
          height: 60px;
          padding: 14px 7px; } }
      @media only screen and (max-width: 46.25em) {
        .content-w-aside article .feature-svg {
          display: none; } }
  .content-w-aside aside {
    position: absolute;
    top: 0;
    left: 20px;
    z-index: 2;
    display: block;
    width: 265px; }
    @media only screen and (max-width: 60em) {
      .content-w-aside aside {
        width: 225px; } }
    @media only screen and (max-width: 46.25em) {
      .content-w-aside aside {
        left: 0;
        width: 100%;
        max-height: 50px;
        overflow: hidden;
        background-color: #fff;
        padding-top: 54px;
        transition: all 150ms linear; }
        .csscalc .content-w-aside aside {
          left: 20px;
          width: calc(100% - 40px); } }
    .content-w-aside aside a {
      position: relative;
      display: block;
      padding: 21px 23px 16px;
      background-color: #477da4;
      transition: all 100ms linear; }
      @media only screen and (max-width: 60em) {
        .content-w-aside aside a {
          padding: 18px 19px 14px; } }
      .content-w-aside aside a:hover {
        background-color: #bf072c; }
      .content-w-aside aside a:not(:last-child) {
        margin-bottom: 4px; }
      .content-w-aside aside a .text {
        position: relative;
        z-index: 3;
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.4375rem;
        font-weight: 700;
        color: #fff;
        text-transform: uppercase;
        line-height: 1; }
        @media only screen and (max-width: 60em) {
          .content-w-aside aside a .text {
            font-size: 1.15rem; } }
      .content-w-aside aside a svg {
        position: absolute;
        top: 50%;
        right: 15px;
        z-index: 3;
        display: block;
        width: 22px;
        height: 21px;
        fill: #fff;
        margin-top: -10.5px; }
        @media only screen and (max-width: 60em) {
          .content-w-aside aside a svg {
            width: 18px;
            height: 17.75px;
            margin-top: -9px; } }
      .content-w-aside aside a .bg-image {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 100%;
        height: 100%;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        opacity: 0.2; }
    .content-w-aside aside .mobile-btn {
      position: absolute;
      top: 0;
      left: 0;
      display: none;
      width: 100%;
      padding: 18px 19px 14px;
      background-color: #477da4;
      transition: all 100ms linear; }
      @media only screen and (max-width: 46.25em) {
        .content-w-aside aside .mobile-btn {
          display: block; } }
      .content-w-aside aside .mobile-btn:hover {
        background-color: #bf072c; }
      .content-w-aside aside .mobile-btn .text {
        position: relative;
        z-index: 3;
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.15rem;
        font-weight: 700;
        color: #fff;
        text-transform: uppercase;
        line-height: 1; }
      .content-w-aside aside .mobile-btn .icon {
        position: absolute;
        top: 50%;
        right: 15px;
        z-index: 3;
        display: block;
        width: 18px;
        height: 17.75px;
        margin-top: -9px;
        transform: rotate(90deg);
        transition: all 150ms linear; }
        .content-w-aside aside .mobile-btn .icon svg {
          fill: #fff;
          display: block;
          width: 18px;
          height: 17.75px; }
  .content-w-aside.active aside .mobile-btn .icon {
    transform: rotate(-90deg); }
  .content-w-aside.inner-page aside {
    top: 80px; }
    @media only screen and (max-width: 60em) {
      .content-w-aside.inner-page aside {
        top: 60px; } }
    @media only screen and (max-width: 46.25em) {
      .content-w-aside.inner-page aside {
        top: 0; } }

.standard-styling h3 {
  font-family: "Bebas Neue", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #163d7e;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 25px; }
  @media only screen and (max-width: 60em) {
    .standard-styling h3 {
      font-size: 1.5rem;
      margin-bottom: 20px; } }
.standard-styling h4 {
  font-size: 1.125rem;
  font-weight: 700;
  color: #404041;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 10px; }
  @media only screen and (max-width: 60em) {
    .standard-styling h4 {
      font-size: 1rem;
      margin-bottom: 5px; } }
.standard-styling h5 {
  font-size: 1.125rem;
  font-weight: 700;
  color: #bf072c;
  line-height: 1;
  margin-bottom: 10px; }
  @media only screen and (max-width: 60em) {
    .standard-styling h5 {
      font-size: 1rem;
      margin-bottom: 5px; } }
.standard-styling.has-pageheader h1 {
  font-family: "Bebas Neue", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  color: #163d7e;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 25px; }
  @media only screen and (max-width: 60em) {
    .standard-styling.has-pageheader h1 {
      font-size: 1.5rem;
      margin-bottom: 20px; } }
.standard-styling.has-pageheader h2 {
  font-size: 1.125rem;
  font-weight: 700;
  color: #404041;
  text-transform: uppercase;
  line-height: 1;
  margin-bottom: 10px; }
  @media only screen and (max-width: 60em) {
    .standard-styling.has-pageheader h2 {
      font-size: 1rem;
      margin-bottom: 5px; } }
.standard-styling.has-pageheader h3 {
  font-size: 1.125rem;
  font-weight: 700;
  color: #bf072c;
  line-height: 1;
  margin-bottom: 10px; }
  @media only screen and (max-width: 60em) {
    .standard-styling.has-pageheader h3 {
      font-size: 1rem;
      margin-bottom: 5px; } }
.standard-styling p {
  font-size: 1rem;
  font-weight: 300;
  color: #404041;
  line-height: 1.7; }
  @media only screen and (max-width: 60em) {
    .standard-styling p {
      font-size: 0.875rem;
      line-height: 1.6; } }
  .standard-styling p:not(:last-child) {
    margin-bottom: 25px; }
    @media only screen and (max-width: 60em) {
      .standard-styling p:not(:last-child) {
        margin-bottom: 20px; } }
  .standard-styling p a {
    font-weight: 600;
    color: #bf072c; }
.standard-styling.services-sub p:first-child {
  padding-top: 45px; }
@media only screen and (max-width: 60em) {
  .standard-styling.services-sub p {
    font-size: 0.875rem;
    line-height: 1.6; }
    .standard-styling.services-sub p:first-child {
      padding-top: 20px; } }
@media only screen and (max-width: 46.25em) {
  .standard-styling.services-sub p:first-child {
    padding-top: 0; } }
.standard-styling ul, .standard-styling ol {
  padding-left: 25px; }
  .panel .standard-styling ul, .panel .standard-styling ol {
    padding-left: 0; }
  @media only screen and (max-width: 60em) {
    .standard-styling ul, .standard-styling ol {
      padding-left: 0; } }
  .standard-styling ul:not(:last-child), .standard-styling ol:not(:last-child) {
    margin-bottom: 25px; }
    @media only screen and (max-width: 60em) {
      .standard-styling ul:not(:last-child), .standard-styling ol:not(:last-child) {
        margin-bottom: 20px; } }
  .standard-styling ul li, .standard-styling ol li {
    font-size: 1rem;
    font-weight: 300;
    color: #404041;
    line-height: 1.7;
    margin-left: 20px; }
    @media only screen and (max-width: 60em) {
      .standard-styling ul li, .standard-styling ol li {
        font-size: 0.875rem;
        line-height: 1.6; } }
    .standard-styling ul li:not(:last-child), .standard-styling ol li:not(:last-child) {
      margin-bottom: 3px; }
.standard-styling ul {
  list-style: disc; }
.standard-styling ol {
  list-style: decimal; }
.standard-styling .cta {
  position: relative;
  display: inline-block;
  font-size: 0;
  padding: 5px 0;
  margin-top: 5px; }
  .standard-styling .cta .text {
    display: inline-block;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: #bf072c;
    text-transform: uppercase;
    padding: 2px 0; }
    @media only screen and (max-width: 60em) {
      .standard-styling .cta .text {
        font-size: 1rem;
        padding: 1px 0; } }
  .standard-styling .cta svg {
    fill: #bf072c;
    display: inline-block;
    width: 19px;
    height: 18px;
    margin-left: 10px;
    transition: all 100ms linear; }
    @media only screen and (max-width: 60em) {
      .standard-styling .cta svg {
        width: 16px;
        height: 15.75px; } }
  .standard-styling .cta:hover svg {
    margin-left: 20px; }

.experience-process {
  background-color: #841d29;
  padding: 55px 0 60px; }
  @media only screen and (max-width: 60em) {
    .experience-process {
      padding: 40px 0 45px; } }
  .experience-process .container {
    max-width: 820px;
    text-align: center; }
    @media only screen and (max-width: 60em) {
      .experience-process .container {
        max-width: 600px; } }
  .experience-process h3 {
    font-size: 0;
    margin-bottom: 45px; }
    @media only screen and (max-width: 60em) {
      .experience-process h3 {
        margin-bottom: 25px; } }
    .experience-process h3 a {
      position: relative;
      display: inline-block;
      font-family: "Bebas Neue", sans-serif;
      font-size: 2rem;
      font-weight: 700;
      color: #fff;
      text-transform: uppercase;
      padding: 5px; }
      @media only screen and (max-width: 60em) {
        .experience-process h3 a {
          font-size: 1.5rem; } }
      .experience-process h3 a:after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 50%;
        display: block;
        width: 0;
        height: 3px;
        background-color: #fff;
        transition: all 100ms linear; }
      .experience-process h3 a:hover:after {
        left: 0;
        width: 100%; }
  .experience-process .icons {
    margin-bottom: 40px;
    font-size: 0; }
    @media only screen and (max-width: 60em) {
      .experience-process .icons {
        margin-bottom: 30px; } }
    @media only screen and (max-width: 35em) {
      .experience-process .icons {
        margin-bottom: 20px; } }
    .flexbox .experience-process .icons {
      display: -webkit-flex;
      display: flex;
      justify-content: space-between; }
      @media only screen and (max-width: 35em) {
        .flexbox .experience-process .icons {
          justify-content: space-around; } }
    .no-flexbox .experience-process .icons {
      text-align: center; }
    .experience-process .icons .icon {
      display: inline-block;
      width: 130px; }
      @media only screen and (max-width: 60em) {
        .experience-process .icons .icon {
          width: 95px; } }
      @media only screen and (max-width: 35em) {
        .experience-process .icons .icon {
          width: 65px; } }
      @media only screen and (max-width: 26.25em) {
        .experience-process .icons .icon {
          width: 50px; } }
      .experience-process .icons .icon .icon-wrap {
        display: block;
        width: 100%;
        height: 130px;
        text-align: center;
        background-color: #477da2;
        padding: 30px 15px;
        border-radius: 50%;
        margin-bottom: 20px; }
        @media only screen and (max-width: 60em) {
          .experience-process .icons .icon .icon-wrap {
            width: 100%;
            height: 95px;
            padding: 23px 15px; } }
        @media only screen and (max-width: 35em) {
          .experience-process .icons .icon .icon-wrap {
            width: 100%;
            height: 65px;
            padding: 16px 10px; } }
        @media only screen and (max-width: 26.25em) {
          .experience-process .icons .icon .icon-wrap {
            width: 100%;
            height: 50px;
            padding: 13px 8px; } }
      .experience-process .icons .icon svg {
        fill: #fff;
        max-height: 100%; }
      .experience-process .icons .icon .icon-title {
        display: block;
        font-size: 1rem;
        font-weight: 700;
        color: #fff;
        line-height: 1.3;
        text-align: center; }
        @media only screen and (max-width: 60em) {
          .experience-process .icons .icon .icon-title {
            display: none; } }
  .experience-process .highlight {
    position: relative;
    font-size: 0;
    margin-bottom: 45px; }
    @media only screen and (max-width: 60em) {
      .experience-process .highlight {
        margin-bottom: 30px; } }
    .experience-process .highlight:after {
      content: "";
      position: absolute;
      top: 50%;
      left: 2%;
      z-index: 1;
      display: block;
      width: 96%;
      height: 1px;
      background-color: #fff;
      margin-top: -2px; }
    .experience-process .highlight span {
      position: relative;
      z-index: 2;
      display: inline-block;
      width: 265px;
      font-family: "Bebas Neue", sans-serif;
      font-size: 1.15rem;
      font-weight: 700;
      color: #fff;
      text-transform: uppercase;
      background-color: #841d29; }
      @media only screen and (max-width: 40em) {
        .experience-process .highlight span {
          width: 205px; } }
  .experience-process p {
    color: #fff;
    line-height: 1.7;
    padding: 0 30px;
    margin-bottom: 50px; }
    @media only screen and (max-width: 60em) {
      .experience-process p {
        font-size: 0.9375em;
        margin-bottom: 30px; } }
    @media only screen and (max-width: 26.25em) {
      .experience-process p {
        padding: 0 10px; } }
  .experience-process .estimate {
    position: relative;
    display: inline-block;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    padding: 5px;
    transition: all 100ms linear; }
    @media only screen and (max-width: 60em) {
      .experience-process .estimate {
        font-size: 1rem; } }
    .experience-process .estimate:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 3px;
      background-color: #fff;
      transition: all 100ms linear; }
    .experience-process .estimate:hover {
      color: #477da2; }
      .experience-process .estimate:hover:after {
        background-color: #477da2; }

.page-heading {
  font-size: 0;
  text-align: center;
  background-color: #fff;
  padding: 55px 20px 45px; }
  @media only screen and (max-width: 58.75em) {
    .page-heading {
      padding: 35px 20px 30px; } }
  .page-heading h1 {
    position: relative;
    display: inline-block;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: #bf072c;
    text-transform: uppercase;
    padding-bottom: 5px; }
    .page-heading h1:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 3px;
      background-color: #bf072c; }

.filters {
  position: relative;
  z-index: 5;
  max-width: 1010px;
  font-size: 0;
  text-align: center;
  padding: 25px 7px 18px;
  margin: 0 auto; }
  .filters .filter {
    position: relative;
    display: inline-block;
    width: 267px;
    height: 37px; }
    @media only screen and (max-width: 30em) {
      .filters .filter {
        width: 100%; } }
    .filters .filter:first-child {
      margin-right: 14px;
      z-index: 2; }
      @media only screen and (max-width: 30em) {
        .filters .filter:first-child {
          margin: 0 0 14px; } }
    .filters .filter .button-group {
      position: absolute;
      top: 37px;
      left: 0;
      display: block;
      max-height: 0;
      width: 100%;
      overflow: hidden;
      transition: all 100ms linear; }
    .filters .filter .filter-btn {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      width: 100%;
      text-align: left;
      cursor: pointer;
      padding: 10px 20px 9px;
      border: 1px solid #a8abac; }
      .filters .filter .filter-btn .text {
        display: block;
        width: 100%;
        font-size: 1rem;
        font-weight: 300;
        color: #404041; }
      .filters .filter .filter-btn .icon {
        position: absolute;
        top: 50%;
        right: 15px;
        display: block;
        width: 12px;
        height: 7px;
        margin-top: -3px;
        transition: all 100ms linear; }
      .filters .filter .filter-btn svg {
        fill: #818181;
        display: block;
        width: 12px;
        height: 7px; }
    .filters .filter button {
      display: block;
      width: 100%;
      font-size: 1rem;
      font-weight: 300;
      color: #fff;
      text-align: left;
      cursor: pointer;
      background-color: #404041;
      padding: 10px 20px 9px;
      border: 1px solid #9f9fa0;
      border-top: 0;
      transition: all 100ms linear; }
      .filters .filter button:after {
        display: inline-block;
        margin-left: 5px; }
      .filters .filter button:hover, .filters .filter button.active {
        background-color: #bf072c; }
    .filters .filter[data-category="all"] button:after {
      content: "(" attr(data-all) ")"; }
    .filters .filter[data-category=".commercial"] button:after {
      content: "(" attr(data-com) ")"; }
    .filters .filter[data-category=".residential"] button:after {
      content: "(" attr(data-res) ")"; }
    .filters .filter.active .filter-btn .icon {
      transform: rotate(-180deg); }
    .filters .filter[data-category=".commercial"] button[data-com="0"], .filters .filter[data-category=".residential"] button[data-res="0"] {
      display: none;
    }

.gallery {
  background-color: #eee;
  padding: 0 13px 65px; }
  .gallery .gallery-images {
    max-width: 1024px;
    margin: 0 auto;
    transition: all 400ms linear; }
    .flexbox .gallery .gallery-images {
      display: -webkit-flex;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
    .no-flexbox .gallery .gallery-images:after {
      content: " ";
      visibility: hidden;
      display: block;
      height: 0;
      clear: both; }
    .gallery .gallery-images .image-item {
      position: relative;
      display: block;
      width: 25%;
      cursor: pointer;
      border: 7px solid #eee; }
      @media only screen and (max-width: 46.875em) {
        .gallery .gallery-images .image-item {
          width: 33.333333%;
          width: calc(100%/3); } }
      @media only screen and (max-width: 31.25em) {
        .gallery .gallery-images .image-item {
          width: 50%; } }
      .no-flexbox .gallery .gallery-images .image-item {
        float: left; }
        .no-flexbox .gallery .gallery-images .image-item:nth-child(4n+1) {
          clear: left; }
        .no-flexbox .gallery .gallery-images .image-item:nth-child(4n) {
          margin-right: 0; }
      .gallery .gallery-images .image-item:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        display: block;
        width: 100%;
        height: 100%;
        background-color: rgba(22, 61, 126, 0);
        transition: all 100ms linear; }
      .gallery .gallery-images .image-item:after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 3;
        display: block;
        width: 30px;
        height: 30px;
        background-image: url(../images/magnifying-glass-plus.svg);
        background-size: 100%;
        background-position: center;
        background-repeat: no-repeat;
        margin-top: -15px;
        margin-left: -15px;
        opacity: 0;
        transition: all 100ms linear; }
      .gallery .gallery-images .image-item img {
        width: 100%; }
      .gallery .gallery-images .image-item:hover:before {
        background-color: rgba(22, 61, 126, 0.5); }
      .gallery .gallery-images .image-item:hover:after {
        opacity: 1; }

.tabbed-content {
  margin-top: 55px; }
  @media only screen and (max-width: 60em) {
    .tabbed-content {
      margin-top: 40px; } }
  .tabbed-content .tabs {
    position: relative;
    z-index: 2;
    display: block;
    font-size: 0; }
    @media only screen and (max-width: 66.25em) {
      .flexbox .tabbed-content .tabs {
        display: flex; } }
    @media only screen and (max-width: 31.25em) {
      .flexbox .tabbed-content .tabs {
        flex-wrap: wrap; } }
    .tabbed-content .tabs .tab {
      display: inline-block;
      min-width: 130px;
      font-family: "Bebas Neue", sans-serif;
      font-size: 1.4375rem;
      font-weight: 700;
      color: #fff;
      text-transform: uppercase;
      cursor: pointer;
      background-color: #477da2;
      padding: 12px 15px 6px;
      border: 1px solid #8cadc5;
      border-bottom: 0;
      transition: all 100ms linear; }
      @media only screen and (max-width: 60em) {
        .tabbed-content .tabs .tab {
          min-width: 0;
          font-size: 1.1875rem; } }
      @media only screen and (max-width: 31.25em) {
        .tabbed-content .tabs .tab {
          width: 100%; } }
      .tabbed-content .tabs .tab.active, .tabbed-content .tabs .tab:hover {
        color: #477da2;
        background-color: #fff; }
  .tabbed-content .panels {
    position: relative;
    z-index: 1;
    border: 1px solid #8cadc5;
    margin-top: -1px; }
    .tabbed-content .panels .panel {
      display: none; }
      .flexbox .tabbed-content .panels .panel .column-wrap {
        display: -webkit-flex;
        display: flex;
        flex-direction: row-reverse;
        flex-wrap: wrap; }
        @media only screen and (max-width: 52.5em) {
          .flexbox .tabbed-content .panels .panel .column-wrap {
            display: block; } }
      .no-flexbox .tabbed-content .panels .panel .column-wrap:after {
        content: " ";
        visibility: hidden;
        display: block;
        height: 0;
        clear: both; }
      .tabbed-content .panels .panel.active {
        display: block; }
      .no-flexbox .tabbed-content .panels .panel .column {
        float: right; }
        @media only screen and (max-width: 52.5em) {
          .no-flexbox .tabbed-content .panels .panel .column {
            float: none; } }
      .tabbed-content .panels .panel .column.left {
        width: 41.5%;
        padding: 40px 0 40px 30px; }
        @media only screen and (max-width: 60em) {
          .tabbed-content .panels .panel .column.left {
            padding: 30px 0 30px 20px; } }
        @media only screen and (max-width: 52.5em) {
          .tabbed-content .panels .panel .column.left {
            width: 100%;
            padding: 0px 20px 30px; } }
        .tabbed-content .panels .panel .column.left img {
          min-width: 50%;
          margin-bottom: 30px; }
          @media only screen and (max-width: 60em) {
            .tabbed-content .panels .panel .column.left img {
              margin-bottom: 25px; } }
        .tabbed-content .panels .panel .column.left a, .tabbed-content .panels .panel .column.left .bullet {
          display: inline-block;
          min-width: 51%;
          margin-bottom: 15px; }
          .tabbed-content .panels .panel .column.left a .icon, .tabbed-content .panels .panel .column.left .bullet .icon {
            display: inline-block;
            width: 36px;
            height: 36px;
            vertical-align: middle; }
            @media only screen and (max-width: 60em) {
              .tabbed-content .panels .panel .column.left a .icon, .tabbed-content .panels .panel .column.left .bullet .icon {
                width: 25px;
                height: 25px; } }
            .tabbed-content .panels .panel .column.left a .icon svg, .tabbed-content .panels .panel .column.left .bullet .icon svg {
              fill: #487DA2;
              width: 100%;
              height: 100%;
              opacity: 0.5;
              transition: all 100ms linear; }
          .tabbed-content .panels .panel .column.left a .text, .tabbed-content .panels .panel .column.left .bullet .text {
            display: inline-block;
            font-family: "Bebas Neue", sans-serif;
            font-size: 1.125rem;
            font-weight: 700;
            color: #477da2;
            line-height: 1;
            text-transform: uppercase;
            vertical-align: middle;
            padding-top: 2px;
            margin-left: 15px;
            transition: all 100ms linear; }
            @media only screen and (max-width: 60em) {
              .tabbed-content .panels .panel .column.left a .text, .tabbed-content .panels .panel .column.left .bullet .text {
                font-size: 1rem; } }
          .tabbed-content .panels .panel .column.left a:hover .icon svg, .tabbed-content .panels .panel .column.left .bullet:hover .icon svg {
            fill: #bf072c; }
          .tabbed-content .panels .panel .column.left a:hover .text, .tabbed-content .panels .panel .column.left .bullet:hover .text {
            color: #bf072c; }
      .tabbed-content .panels .panel .column.right {
        width: 58.5%;
        padding: 40px 30px 40px 40px; }
        @media only screen and (max-width: 60em) {
          .tabbed-content .panels .panel .column.right {
            padding: 30px 20px 30px 30px; } }
        @media only screen and (max-width: 52.5em) {
          .tabbed-content .panels .panel .column.right {
            width: 100%;
            padding-left: 0px;
            padding: 30px 20px; } }
      .tabbed-content .panels .panel .column.full {
        width: 100%;
        padding: 40px 30px; }
        @media only screen and (max-width: 60em) {
          .tabbed-content .panels .panel .column.full {
            padding: 30px 20px; } }
      .tabbed-content .panels .panel .column h2 {
        font-family: "Bebas Neue", sans-serif;
        font-size: 2rem;
        font-weight: 700;
        color: #163d7e;
        text-transform: uppercase;
        padding-bottom: 20px;
        border-bottom: 1px solid #8cadc5;
        margin-bottom: 15px; }
        @media only screen and (max-width: 60em) {
          .tabbed-content .panels .panel .column h2 {
            font-size: 1.5rem;
            padding-bottom: 15px; } }
      .tabbed-content .panels .panel .column p {
        font-size: 1rem;
        font-weight: 300;
        color: #404041;
        line-height: 1.7; }
        @media only screen and (max-width: 60em) {
          .tabbed-content .panels .panel .column p {
            font-size: 0.875rem;
            line-height: 1.6; } }
        .tabbed-content .panels .panel .column p:not(:last-child) {
          margin-bottom: 25px; }
          @media only screen and (max-width: 60em) {
            .tabbed-content .panels .panel .column p:not(:last-child) {
              margin-bottom: 20px; } }
        .tabbed-content .panels .panel .column p a {
          color: #bf072c; }
    .tabbed-content .panels .view-gallery {
      display: block;
      width: 100%;
      font-size: 0;
      padding: 12px 30px;
      background-color: #163d7e;
      clear: both; }
      @media only screen and (max-width: 60em) {
        .tabbed-content .panels .view-gallery {
          padding: 12px 20px; } }
      .tabbed-content .panels .view-gallery .text {
        display: inline-block;
        font-family: "Bebas Neue", sans-serif;
        font-size: 1.15rem;
        font-weight: 700;
        color: #fff;
        vertical-align: middle;
        padding-top: 5px;
        transition: all 100ms linear; }
        @media only screen and (max-width: 60em) {
          .tabbed-content .panels .view-gallery .text {
            font-size: 1rem;
            padding-top: 3px; } }
      .tabbed-content .panels .view-gallery svg {
        display: inline-block;
        fill: #fff;
        width: 15px;
        height: 14.5px;
        vertical-align: middle;
        margin-left: 10px;
        transition: all 100ms linear; }
      .tabbed-content .panels .view-gallery:hover .text, .tabbed-content .panels .view-gallery:hover svg {
        opacity: 0.5; }

.icon-excerpts {
  padding-top: 20px;
}
  .icon-excerpts .excerpt {
    position: relative;
    min-height: 315px;
    padding: 140px 0 40px 180px;
    border-bottom: 1px solid #477da2;
    margin-top: -100px; }
    @media only screen and (max-width: 60em) {
      .icon-excerpts .excerpt {
        min-height: 184px;
        padding: 35px 0 35px 148px; } }
    @media only screen and (max-width: 28.75em) {
      .icon-excerpts .excerpt {
        min-height: 0;
        text-align: center;
        padding: 175px 0 35px; } }

    
    .icon-excerpts .excerpt:last-child {
      padding-bottom: 0;
      border: 0; }
    .icon-excerpts .excerpt .icon {
      position: absolute;
      top: 140px;
      left: 0;
      display: block;
      width: 146px;
      height: 146px;
      text-align: center;
      padding: 35px 15px;
      border: 1px solid #bf072c;
      border-radius: 50%; }
      @media only screen and (max-width: 60em) {
        .icon-excerpts .excerpt .icon {
          width: 114px;
          height: 114px;
          padding: 30px 15px; } }
      @media only screen and (max-width: 28.75em) {
        .icon-excerpts .excerpt .icon {
          top: 35px;
          left: 50%;
          margin-left: -57px; } }
      .icon-excerpts .excerpt .icon:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 1;
        display: block;
        width: 130px;
        height: 130px;
        background-color: #477da2;
        border-radius: 50%;
        margin-top: -65px;
        margin-left: -65px; }
        @media only screen and (max-width: 60em) {
          .icon-excerpts .excerpt .icon:before {
            width: 100px;
            height: 100px;
            margin-top: -50px;
            margin-left: -50px; } }
      .icon-excerpts .excerpt .icon svg {
        fill: #fff;
        position: relative;
        z-index: 2;
        max-height: 100%; }
    .icon-excerpts .excerpt .content-wrap h2 {
      font-family: "Bebas Neue", sans-serif;
      font-size: 1.1875rem;
      font-weight: 700;
      color: #163d7e;
      margin-bottom: 10px; }
      @media only screen and (max-width: 60em) {
        .icon-excerpts .excerpt .content-wrap h2 {
          font-size: 1.125rem; } }
    .icon-excerpts .excerpt .content-wrap p {
      font-size: 1rem;
      font-weight: 300;
      color: #404041;
      line-height: 1.7; }
      @media only screen and (max-width: 60em) {
        .icon-excerpts .excerpt .content-wrap p {
          font-size: 0.875rem;
          line-height: 1.6; } }
      .icon-excerpts .excerpt .content-wrap p:not(:last-child) {
        margin-bottom: 25px; }
        @media only screen and (max-width: 60em) {
          .icon-excerpts .excerpt .content-wrap p:not(:last-child) {
            margin-bottom: 20px; } }
      .icon-excerpts .excerpt .content-wrap p a {
        color: #bf072c; }

.customer-quotes {
  background-color: #eee; }
  .customer-quotes .quotes {
    background-color: #163d7e; }
    .customer-quotes .quotes .container {
      max-width: 700px;
      padding: 25px 20px 50px;
      transition: all 400ms linear; }
    .customer-quotes .quotes .quote-item {
      position: relative;
      min-height: 130px;
      padding-left: 225px;
      padding-bottom: 20px;
      border-bottom: 1px solid #6d85ae;
      margin-bottom: 20px; }
      .customer-quotes .quotes .quote-item.no-image {
        min-height: 0;
        padding-left: 45px; }
      @media only screen and (max-width: 31.25em) {
        .customer-quotes .quotes .quote-item {
          padding-left: 0; }
          .customer-quotes .quotes .quote-item.no-image {
            padding-top: 30px;
            padding-left: 0; } }
      .customer-quotes .quotes .quote-item .image-container {
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 145px;
        height: 110px;
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat; }
        @media only screen and (max-width: 31.25em) {
          .customer-quotes .quotes .quote-item .image-container {
            position: relative;
            top: auto;
            left: auto;
            margin: 0 auto 20px; } }
      .customer-quotes .quotes .quote-item .quote-container {
        position: relative;
        padding-top: 5px; }
        .customer-quotes .quotes .quote-item .quote-container p {
          font-size: 1rem;
          font-weight: 300;
          color: #fff;
          line-height: 1.7;
          margin-bottom: 5px; }
          @media only screen and (max-width: 60em) {
            .customer-quotes .quotes .quote-item .quote-container p {
              font-size: 0.875rem;
              line-height: 1.6; } }
        .customer-quotes .quotes .quote-item .quote-container .location {
          font-size: 1rem;
          font-weight: 300;
          font-style: italic;
          color: #fff;
          line-height: 1.7; }
          @media only screen and (max-width: 60em) {
            .customer-quotes .quotes .quote-item .quote-container .location {
              font-size: 0.875rem;
              line-height: 1.6; } }
          .customer-quotes .quotes .quote-item .quote-container .location:before {
            content: "//";
            display: inline-block;
            color: #477da2;
            margin-left: 15px;
            margin-right: 10px; }
        .customer-quotes .quotes .quote-item .quote-container .icon {
          position: absolute;
          top: 0;
          left: -45px;
          fill: #477da2;
          width: 31px;
          height: 25.5px; }
          @media only screen and (max-width: 31.25em) {
            .customer-quotes .quotes .quote-item .quote-container .icon {
              top: -30px;
              left: -10px; } }

.community-involvement {
  background-color: #841d29;
  padding: 45px 55px; }
  @media only screen and (max-width: 60em) {
    .community-involvement {
      padding: 45px 0; } }
  .community-involvement .container {
    max-width: 1010px; }
  .community-involvement .icon {
    display: block;
    width: 130px;
    height: 130px;
    text-align: center;
    background-color: #bf072c;
    padding: 30px 20px;
    border-radius: 50%;
    margin: 0 auto 35px; }
    @media only screen and (max-width: 60em) {
      .community-involvement .icon {
        width: 100px;
        height: 100px;
        padding: 25px 15px; } }
    .community-involvement .icon svg {
      fill: #fff;
      max-height: 100%; }
  .community-involvement h2 {
    position: relative;
    display: block;
    max-width: 380px;
    font-family: "Bebas Neue", sans-serif;
    font-size: 0;
    font-weight: 700;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    margin: 0 auto 25px; }
    @media only screen and (max-width: 60em) {
      .community-involvement h2 {
        margin-bottom: 15px; } }
    .community-involvement h2:after {
      content: "";
      position: absolute;
      top: 6px;
      left: 0;
      display: block;
      width: 100%;
      height: 1px;
      background-color: #b27179; }
    .community-involvement h2 .text {
      position: relative;
      z-index: 1;
      display: inline-block;
      font-size: 1.15rem;
      background-color: #841d29;
      padding: 0 20px; }
  @media only screen and (max-width: 30em) {
    .community-involvement .columns {
      background-color: #bf072c;
      padding: 35px 20px; } }
  .flexbox .community-involvement .columns {
    display: -webkit-flex;
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 30em) {
      .flexbox .community-involvement .columns {
        display: block; } }
  .no-flexbox .community-involvement .columns:after {
    content: " ";
    visibility: hidden;
    display: block;
    height: 0;
    clear: both; }
  .community-involvement .columns .column {
    width: 30%;
    background-color: #bf072c;
    padding: 35px 20px; }
    @media only screen and (max-width: 45.9375em) {
      .community-involvement .columns .column {
        width: 32%;
        padding: 30px 15px; } }
    @media only screen and (max-width: 30em) {
      .community-involvement .columns .column {
        width: 100%;
        padding: 0; } }

    .community-involvement .columns .column li, .community-involvement p {
      font-size: 1rem;
      font-weight: 300;
      color: #fff;
      line-height: 1.2;
      text-align: center;
      margin-bottom: 10px; }
      @media only screen and (max-width: 60em) {
        .community-involvement .columns .column li {
          font-size: 0.875rem;
          margin-bottom: 7px; } }

    .community-involvement p {
      margin-bottom: 40px;
    }

.page-banner {
  display: block;
  width: 100%;
  height: 340px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }
  @media only screen and (max-width: 60em) {
    .page-banner {
      height: 220px; } }
  @media only screen and (max-width: 32.5em) {
    .page-banner {
      height: 180px; } }

.sustainability {
  background-color: #8cc63f;
  padding: 45px 20px; }
  .sustainability .container {
    max-width: 980px;
    padding: 0; }
    @media only screen and (max-width: 32.5em) {
      .sustainability .container {
        padding-top: 130px; } }
    .flexbox .sustainability .container {
      display: flex;
      justify-content: flex-end; }
    .no-flexbox .sustainability .container:after {
      content: " ";
      visibility: hidden;
      display: block;
      height: 0;
      clear: both; }
  .sustainability .text-container {
    width: 640px;
    max-width: 100%; }
    @media only screen and (max-width: 60em) {
      .sustainability .text-container {
        width: calc(100% - 130px); } }
    @media only screen and (max-width: 32.5em) {
      .sustainability .text-container {
        width: 100%;
        text-align: center; } }
    .no-flexbox .sustainability .text-container {
      float: right; }
    .sustainability .text-container h2 {
      font-family: "Bebas Neue", sans-serif;
      font-size: 8.34375rem;
      color: #7b9e30;
      font-weight: 700;
      line-height: 1;
      text-transform: uppercase;
      margin-bottom: 10px; }
      @media only screen and (max-width: 60em) {
        .sustainability .text-container h2 {
          font-size: 3.5rem;
          margin-bottom: 15px; } }
    .sustainability .text-container p {
      font-size: 1rem;
      font-weight: 300;
      color: #0f3060;
      line-height: 1.7; }
      @media only screen and (max-width: 60em) {
        .sustainability .text-container p {
          font-size: 0.875rem;
          line-height: 1.6; } }
      .sustainability .text-container p:not(:last-child) {
        margin-bottom: 25px; }
        @media only screen and (max-width: 60em) {
          .sustainability .text-container p:not(:last-child) {
            margin-bottom: 20px; } }
      .sustainability .text-container p.sub-heading {
        font-family: "Bebas Neue", sans-serif;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1;
        text-transform: uppercase;
        margin-bottom: 25px; }
        @media only screen and (max-width: 60em) {
          .sustainability .text-container p.sub-heading {
            font-size: 1.5rem;
            margin-bottom: 15px; } }
      .sustainability .text-container p a {
        font-weight: 600;
        text-decoration: underline; }
  .sustainability .image-container {
    position: absolute;
    top: 15px;
    left: 0;
    width: calc(100% - 640px);
    padding-right: 55px; }
    @media only screen and (max-width: 60em) {
      .sustainability .image-container {
        width: 100px;
        padding-right: 0; } }
    @media only screen and (max-width: 32.5em) {
      .sustainability .image-container {
        top: 0;
        left: 50%;
        margin-left: -50px; } }
    .sustainability .image-container svg {
      fill: #7b9e30;
      width: 100%; }

.contact-form-intro {
  position: relative;
  min-height: 103px;
  font-size: 0;
  margin-bottom: 70px; }
  .contact-form-intro .icon {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 103px; }
    .contact-form-intro .icon svg {
      fill: #477DA2;
      opacity: 0.5; }
  .contact-form-intro .content {
    display: inline-block;
    padding-top: 12px;
    padding-left: 135px; }
    @media only screen and (max-width: 28.75em) {
      .contact-form-intro .content {
        padding-top: 135px;
        padding-left: 0; } }
    .contact-form-intro .content h1 {
      font-family: "Bebas Neue", sans-serif;
      font-size: 1.375rem;
      font-weight: 700;
      color: #163d7e;
      margin-bottom: 12px; }
    .contact-form-intro .content p a {
      display: inline-block;
      min-width: 51%;
      color: #404041; }
      .contact-form-intro .content p a:hover {
        color: #477DA2; }
    .contact-form-intro .content p span {
      display: block;
      font-size: 1.125rem;
      font-weight: 300;
      line-height: 1.4;
      margin-bottom: 3px;
      transition: all 100ms linear; }

.contact-form {
  font-size: 0; }
  .contact-form .title, .contact-form .gform_title, .contact-form h1, .contact-form h2 {
    position: relative;
    display: inline-block;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.375rem;
    font-weight: 700;
    color: #163d7e;
    line-height: 1;
    text-transform: uppercase;
    padding-bottom: 5px;
    margin-bottom: 22px; }
    @media only screen and (max-width: 52.5em) {
      .contact-form .title, .contact-form .gform_title, .contact-form h1, .contact-form h2 {
        font-size: 1.125rem;
        margin-bottom: 20px; } }
    .contact-form .title:after, .contact-form .gform_title:after, .contact-form h1:after, .contact-form h2:after {
      content: "";
      position: absolute;
      bottom: 0;
      display: block;
      height: 3px;
      width: 100%;
      background-color: #163d7e; }
  .contact-form h3 {
    font-size: 1.125rem;
    font-weight: 700;
    color: #404041;
    text-transform: uppercase;
    line-height: 1;
    margin-top: 45px;
    margin-bottom: 10px; }
    @media only screen and (max-width: 60em) {
      .contact-form h3 {
        font-size: 1rem;
        margin-top: 35px;
        margin-bottom: 5px; } }
  .contact-form p {
    font-size: 1rem;
    font-weight: 300;
    color: #404041;
    line-height: 1.7; }
    @media only screen and (max-width: 60em) {
      .contact-form p {
        font-size: 0.875rem;
        line-height: 1.6; } }
    .contact-form p:not(:last-child) {
      margin-bottom: 25px; }
      @media only screen and (max-width: 60em) {
        .contact-form p:not(:last-child) {
          margin-bottom: 20px; } }
    .contact-form p a {
      font-weight: 600;
      color: #bf072c; }
  .contact-form .submit-wrap, .contact-form .gform_footer {
    position: relative;
    display: block;
    width: 127px;
    height: 35px;
    transition: all 100ms linear; }
    .contact-form .submit-wrap:hover, .contact-form .gform_footer:hover {
      width: 150px; }
      .contact-form .submit-wrap:hover input[type="submit"], .contact-form .submit-wrap:hover .icon, .contact-form .gform_footer:hover input[type="submit"], .contact-form .gform_footer:hover .icon {
        background-color: #417a9c; }
    .contact-form .submit-wrap input[type="submit"], .contact-form .gform_footer input[type="submit"] {
      display: block;
      width: 100%;
      height: 100%;
      font-family: "Bebas Neue", sans-serif;
      font-size: 23px;
      font-weight: 700;
      color: #fff;
      text-align: left;
      text-transform: uppercase;
      cursor: pointer;
      background-color: #163d7e;
      padding-top: 4px;
      padding-left: 17px;
      transition: all 100ms linear; }
    .contact-form .submit-wrap .icon, .contact-form .gform_footer .icon {
      position: absolute;
      top: 0;
      right: 0;
      z-index: 2;
      display: block;
      width: 35px;
      height: 35px;
      text-align: center;
      pointer-events: none;
      background-color: #163d7e;
      padding: 7px 0;
      transition: all 100ms linear; }
      .contact-form .submit-wrap .icon svg, .contact-form .gform_footer .icon svg {
        fill: #fff;
        max-height: 100%; }
  .contact-form .gfield {
    position: relative;
    margin-bottom: 20px; }
    .contact-form .gfield label {
      font-size: 18px;
      font-weight: 300;
      color: #404041;
      line-height: 1; }
      .contact-form .gfield label .gfield_required {
        color: #c1072c;
        margin-left: 5px; }
    .contact-form .gfield > label {
      position: absolute;
      top: 12px;
      left: 16px;
      pointer-events: none;
      transition: all 100ms linear; }
    .contact-form .gfield.hide-label > label {
      display: none; }
    .contact-form .gfield.fix-label > label {
      position: relative;
      top: auto;
      left: auto;
      display: block;
      margin-bottom: 10px; }
    .contact-form .gfield input[type="email"], .contact-form .gfield input[type="tel"], .contact-form .gfield input[type="text"], .contact-form .gfield textarea {
      display: block;
      width: 100%;
      font-size: 18px;
      font-weight: 300;
      color: #404041;
      background-color: #eee;
      padding: 0 16px; }
    .contact-form .gfield input[type="email"],
    .contact-form .gfield input[type="tel"],
    .contact-form .gfield input[type="text"] {
      height: 42px; }
    .contact-form .gfield textarea {
      height: 160px;
      padding-top: 12px; }
    .contact-form .gfield.active > label {
      top: -12px;
      left: 5px;
      font-size: 12px; }
    .contact-form .gfield.horizontal {
      margin-top: 0;
      margin-bottom: 10px; }
      .contact-form .gfield.horizontal .gfield_checkbox li, .contact-form .gfield.horizontal .gfield_radio li {
        display: inline-block;
        min-width: 25%; }
      .contact-form .gfield.horizontal ~ .horizontal {
        margin-top: 0; }
    .contact-form .gfield ~ .horizontal {
      margin-top: 25px; }
    .contact-form .gfield.border-bottom {
      border-bottom: 1px solid #eee;
      margin-bottom: 15px; }
    .contact-form .gfield .gfield_checkbox li, .contact-form .gfield .gfield_radio li {
      position: relative;
      display: block;
      padding-right: 10px;
      margin-bottom: 15px; }
      .contact-form .gfield .gfield_checkbox li:before, .contact-form .gfield .gfield_radio li:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        z-index: 1;
        display: block;
        width: 29px;
        height: 29px;
        background-color: #eee; }
      .contact-form .gfield .gfield_checkbox li .icon, .contact-form .gfield .gfield_radio li .icon {
        fill: #487DA2;
        position: absolute;
        top: 6px;
        left: 3px;
        z-index: 2;
        display: block;
        width: 23px;
        height: 17px;
        transition: all 100ms linear;
        opacity: 0; }
      .contact-form .gfield .gfield_checkbox li.active .icon, .contact-form .gfield .gfield_radio li.active .icon {
        opacity: 1; }
      .contact-form .gfield .gfield_checkbox li input, .contact-form .gfield .gfield_radio li input {
        position: relative;
        z-index: 3;
        display: inline-block;
        width: 29px;
        height: 29px;
        vertical-align: middle;
        margin-right: 15px;
        cursor: pointer;
        opacity: 0; }
      .contact-form .gfield .gfield_checkbox li label, .contact-form .gfield .gfield_radio li label {
        vertical-align: middle;
        cursor: pointer; }
  .contact-form .validation_error {
    font-size: 0.875rem;
    font-weight: 300;
    color: #c1072c;
    margin-bottom: 20px; }
  .contact-form .gfield_description {
    font-size: 0.875rem;
    font-weight: 300;
    color: #404041;
    padding-left: 5px;
    margin-top: 10px;
    margin-bottom: 25px; }
  .contact-form .validation_message {
    color: #c1072c; }
  .contact-form .gform_ajax_spinner {
    display: none; }

.gform_confirmation_message p {
  color: #404041;
  font-size: 1.2rem;
}

.search-results a {
  position: relative;
  display: block;
  padding: 21px 40px 16px 23px;
  background-color: #477da4;
  transition: all 100ms linear; }
  @media only screen and (max-width: 60em) {
    .search-results a {
      padding: 18px 35px 14px 19px; } }
  .search-results a:hover {
    background-color: #bf072c; }
  .search-results a:not(:last-child) {
    margin-bottom: 4px; }
  .search-results a .text {
    position: relative;
    z-index: 3;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.4375rem;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    line-height: 1; }
    @media only screen and (max-width: 60em) {
      .search-results a .text {
        font-size: 1.15rem; } }
  .search-results a svg {
    position: absolute;
    top: 50%;
    right: 15px;
    z-index: 3;
    display: block;
    width: 22px;
    height: 21px;
    fill: #fff;
    margin-top: -10.5px; }
    @media only screen and (max-width: 60em) {
      .search-results a svg {
        width: 18px;
        height: 17.75px;
        margin-top: -9px; } }

.error {
  text-align: center;
  background-color: #163d7e; }
  .flexbox .error {
    display: flex;
    justify-content: center;
    align-items: center; }
  .error img {
    width: 100%;
    max-width: 1200px; }

.scroll-down-icon {
  position: fixed;
  bottom: 22px;
  left: 50%;
  margin-left: -18px;
  display: block;
  width: 36px;
  height: 35px;
  cursor: pointer;
  animation: bobble 2s infinite; }
  .scroll-down .scroll-down-icon {
    display: none; }
  .scroll-down-icon .icon {
    display: block;
    width: 100%;
    height: 100%;
    transform: rotate(90deg); }
  .scroll-down-icon svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: #fff; }

.child-pages-container {
  font-size: 0;
  padding-top: 45px; }
  .child-pages-container a, .child-pages-container li {
    position: relative;
    display: inline-block;
    font-family: "Bebas Neue", sans-serif;
    font-size: 1.15rem;
    font-weight: 700;
    color: #404041;
    text-transform: uppercase;
    padding-bottom: 5px; }
    @media only screen and (max-width: 60em) {
      .child-pages-container a, .child-pages-container li {
        font-size: 1rem; } }
    .child-pages-container a:not(:last-child), .child-pages-container li:not(:last-child) a {
      margin-right: 25px; }
    .child-pages-container a:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 50%;
      display: block;
      width: 0;
      height: 3px;
      background-color: #404041;
      transition: all 100ms linear; }
    .child-pages-container a:hover:after {
      left: 0;
      width: 100%; }

/* Safari 6.1-9.0 */
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-color-index:0) {  
   
   /* Header */
   header.main-header .main-navigation .menu-item {
        width: 24.4%;
    }

    header.main-header .main-navigation .menu-item .children .column {
	    float:left;
	    min-height: 287px;
	    width: 32%;
	}

	h1.logo,
	div.logo {
		display:inline-block;
	}

	a.phone-number {
		float: right;
	}


	/* Homepage */
	section.homepage-hero div.column.left, 
	section.homepage-hero div.column.right {
		float:left;
	}


	/* Community Involvement */
	.community-involvement .columns .column {
	    display:inline-block;
	    margin-right: 38px;
	    min-height: 668px;
	    vertical-align: top;
	}

	.community-involvement .columns .column:last-child {
	    margin-right: 0px;
	}


	/* Community Involvement */
	.experience-process .icons .icon {
		vertical-align: top;
		margin:0 13px;
	}


	/* Sustainability */

	section.sustainability {
		display: block;
		min-height: 375px;
	}

	section.sustainability div.text-container {
		float: right;
		display: inline-block;
	}

	section.sustainability span.image-container {
		float: left;
		display: inline-block;
	}


	/* Tabbed content */
	.tabbed-content .column-wrap div.column.right {
		float: right;
	}

    
	/* Footer */
    .main-footer .columns .left-column .form-row .solutions-column,
    .main-footer .columns .left-column .form-row .newsletter-column {
        display: inline-block;
     }

    .main-footer .columns .right-column .social-buttons a {
    	display:inline-block;
    	margin-right: 10px; 
    }

    .main-footer .columns .right-column .social-buttons a:last-child {
    	margin-right: 0px; 
    }

}





/* IE10+ CSS styles go here */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
	.flexbox .logo-band .container .logo-wrap {
		display: inline;
	}

	.logo-band .container .logo-wrap {
		width: auto;
	}


	/* Community Involvement */
	.community-involvement .columns .column {
	    display:inline-block;
	    margin-right: 38px;
	    min-height: 668px;
	    vertical-align: top;
	}

	.community-involvement .columns .column:last-child {
	    margin-right: 0px;
	}


	/* Community Involvement */
	.experience-process .icons .icon {
		vertical-align: top;
		margin:0 13px;
	}
}



/* ========================================================= */

					/* START MOBILE */

/* ========================================================= */

@media screen and (max-width: 940px) {

	/* Header */
	header.main-header .main-navigation .menu-item {
		width: 100% !important;
	    max-width: 100% !important;
	}

	header.main-header .main-navigation .menu-item .children .column {
	    width: 100% !important;
	    max-width: 100% !important;
	}

}



@media screen and (max-width: 568px) {

	.experience-process .icons .icon .icon-wrap {
	    width: 50px;
	    height: 50px;
	}
}


@media screen and (max-width: 480px) {

	.community-involvement .columns .column {
	    min-height:0px;
	}

}



.main-footer .columns .right-column .social-buttons a {
    	display:inline-block;
    	margin-right: 10px; 
    }


