*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.half {
  width: 50%; }

.centre {
  text-align: center; }

.hidden {
  visibility: hidden; }

.inactive {
  display: none; }

.cover {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%; }

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .flex .flex-centre {
    margin: auto; }
  .flex .full-width {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%; }
  .flex.centre-items {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .flex.between, .flex.justify {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .flex.around {
    -ms-flex-pack: distribute;
        justify-content: space-around; }
  .flex.column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }

.grow {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }

.no-flexboxtweener.no-flexbox.no-flexboxlegacy .flex.justify {
  text-align: justify; }
  .no-flexboxtweener.no-flexbox.no-flexboxlegacy .flex.justify > * {
    display: inline-block;
    position: relative;
    top: 0.8em; }
  .no-flexboxtweener.no-flexbox.no-flexboxlegacy .flex.justify::before {
    content: '';
    display: block;
    width: 100%;
    margin-bottom: -0.8em; }
  .no-flexboxtweener.no-flexbox.no-flexboxlegacy .flex.justify::after {
    content: '';
    display: inline-block;
    width: 100%; }

.clear:after, .news.single .slider .controls .arrows:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0; }

.mobile, .tablet {
  display: none; }

@media (max-width: 767px) {
  .mobile {
    display: block; }
    .mobile.flex {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
  .no-mobile {
    display: none !important; } }

@media (min-width: 768px) and (max-width: 1024px) {
  .tablet {
    display: block; }
    .tablet.flex {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
  .no-tablet {
    display: none !important; } }

@font-face {
  font-family: 'DIN';
  src: url("/fonts/3-din-light-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/3-din-light-webfont.woff2") format("woff2"), url("/fonts/3-din-light-webfont.woff") format("woff"), url("/fonts/3-din-light-webfont.ttf") format("truetype"), url("/fonts/3-din-light-webfont.svg#dinlight") format("svg");
  font-weight: 300; }

@font-face {
  font-family: 'DIN';
  src: url("/fonts/1-din-regular-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/1-din-regular-webfont.woff2") format("woff2"), url("/fonts/1-din-regular-webfont.woff") format("woff"), url("/fonts/1-din-regular-webfont.ttf") format("truetype"), url("/fonts/1-din-regular-webfont.svg#dinregular") format("svg");
  font-weight: 400; }

@font-face {
  font-family: 'DIN';
  src: url("/fonts/4-din-medium-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/4-din-medium-webfont.woff2") format("woff2"), url("/fonts/4-din-medium-webfont.woff") format("woff"), url("/fonts/4-din-medium-webfont.ttf") format("truetype"), url("/fonts/4-din-medium-webfont.svg#dinmedium") format("svg");
  font-weight: 500; }

@font-face {
  font-family: 'DIN';
  src: url("/fonts/2_din-bold-webfont.eot?#iefix") format("embedded-opentype"), url("/fonts/2_din-bold-webfont.woff2") format("woff2"), url("/fonts/2_din-bold-webfont.woff") format("woff"), url("/fonts/2_din-bold-webfont.ttf") format("truetype"), url("/fonts/2_din-bold-webfont.svg#dinbold") format("svg");
  font-weight: 700; }

@font-face {
  font-family: 'DIN';
  src: url("/fonts/5-DIN-Black.eot?#iefix") format("embedded-opentype"), url("/fonts/5-DIN-Black.woff") format("woff"), url("/fonts/5-DIN-Black.ttf") format("truetype"), url("/fonts/5-DIN-Black.svg#dinbold") format("svg");
  font-weight: 800; }

@font-face {
  font-family: 'Archer-Italic';
  src: url("/fonts/Archer-MediumItalic.eot?#iefix") format("embedded-opentype"), url("/fonts/Archer-MediumItalic.otf") format("opentype"), url("/fonts/Archer-MediumItalic.woff") format("woff"), url("/fonts/Archer-MediumItalic.ttf") format("truetype"), url("/fonts/Archer-MediumItalic.svg#Archer-MediumItalic") format("svg"); }

body {
  font-family: "DIN", Helvetica, Arial, sans-serif; }

::-webkit-input-placeholder {
  font-family: "DIN", Helvetica, Arial, sans-serif; }

::-moz-placeholder {
  font-family: "DIN", Helvetica, Arial, sans-serif; }

:-ms-input-placeholder {
  font-family: "DIN", Helvetica, Arial, sans-serif; }

input:-moz-placeholder {
  font-family: "DIN", Helvetica, Arial, sans-serif; }

input, button {
  font-family: "DIN", Helvetica, Arial, sans-serif; }

/*!=====SITE SPECIFIC CSS BELOW=====!*/
body {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }
  body.stop-scroll {
    overflow: hidden; }
  body.loading::after {
    content: '';
    position: fixed;
    left: 50%;
    top: 50%;
    margin-left: -15px;
    margin-top: -7.5px;
    width: 30px;
    height: 15px;
    border: 3px solid white;
    border-bottom: none;
    z-index: 5;
    border-radius: 30px 30px 0 0;
    -webkit-transform-origin: center bottom;
            transform-origin: center bottom;
    -webkit-animation: spin 0.5s infinite linear;
            animation: spin 0.5s infinite linear; }

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

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

a {
  text-decoration: none;
  color: inherit; }

table {
  border: 2px solid white;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.8em;
  width: 100% !important; }
  table td {
    width: auto !important;
    padding: 5px;
    border: 1px solid white; }

.alignleft {
  float: left;
  margin-right: 10px; }

.alignright {
  float: right;
  margin-left: 10px; }

.aligncenter {
  margin: auto; }

header {
  position: fixed;
  z-index: 5;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  color: white;
  padding: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  header::after {
    content: '';
    position: absolute;
    height: 130px;
    z-index: -1;
    pointer-events: none;
    top: 0;
    left: 0;
    width: 100%;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #425363), color-stop(100%, rgba(66, 83, 99, 0)));
    background: -webkit-linear-gradient(top, #425363 0%, rgba(66, 83, 99, 0) 100%);
    background: linear-gradient(to bottom, #425363 0%, rgba(66, 83, 99, 0) 100%); }
  header .logo {
    position: relative;
    z-index: 5; }
    header .logo img {
      height: 45px; }
      @media (max-width: 767px) {
        header .logo img {
          height: 25px; } }
  header nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding: 0 90px; }
    header nav a {
      color: white;
      padding: 0 10px;
      text-decoration: none;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      font-size: 0.7em; }
    @media (max-width: 767px) {
      header nav {
        position: absolute;
        height: 100vh;
        top: 0;
        right: 0;
        left: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-backdrop-filter: blur(10px);
                backdrop-filter: blur(10px);
        padding: 45px;
        background: rgba(66, 83, 99, 0.8);
        -webkit-transition: left 0.5s;
        transition: left 0.5s; } }
  header + * {
    padding-top: 120px; }
  @media (max-width: 767px) {
    header.expand nav {
      left: 0; } }
  @media (min-width: 768px) and (max-width: 1024px) {
    header {
      padding: 15px;
      font-size: 0.8em; }
      header nav {
        padding: 0 10px; } }
  header .hamburger {
    width: 30px;
    height: 30px;
    margin: 5px;
    position: relative;
    z-index: 5;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("../img/hamburger.svg");
    display: none; }
    @media (max-width: 767px) {
      header .hamburger {
        display: block; } }

h1 {
  font-weight: 800;
  font-size: 3.8em;
  text-transform: uppercase;
  line-height: 0.9em; }
  @media (max-width: 767px) {
    h1 {
      font-size: 2.3em; } }

h2 {
  font-size: 2.4em;
  font-weight: 800;
  text-transform: uppercase; }

h3 {
  font-size: 1.7em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 5px; }

h4 {
  font-size: 1.4em;
  line-height: 1em;
  margin-bottom: 10px; }

p {
  line-height: 1.5em;
  font-size: 0.8em;
  padding-bottom: 15px; }
  p a {
    text-decoration: underline; }
  p img, p iframe {
    max-width: 100%; }
  p img {
    height: auto; }

p + ol, p + ul {
  margin-top: -15px; }

ol, ul {
  line-height: 1.5em;
  font-size: 0.8em;
  padding-bottom: 10px;
  margin-left: 20px; }

.wrapper {
  max-width: 1380px;
  padding: 0 80px;
  margin: auto; }
  @media (max-width: 767px) {
    .wrapper {
      padding: 0 10px; } }

.frame {
  border: 2px solid white;
  padding: 20px;
  padding-bottom: 5px; }

.border-link {
  display: inline-block;
  padding: 2px 10px;
  border: 1px solid; }

.sec-dark {
  background-color: #425363;
  color: white; }

.sec-light {
  background-color: #F1F2F2;
  color: #425363; }

.sec-white {
  background: white;
  color: #425363; }

.home .hero {
  height: 80vh;
  min-height: 720px;
  padding-top: 0;
  overflow: hidden;
  position: relative;
  background: #425363;
  background-position: center;
  background-size: cover;
  -webkit-transition: background 0.5s;
  transition: background 0.5s; }
  @media (max-width: 767px) {
    .home .hero {
      height: 620px;
      min-height: 620px; } }
  .home .hero .wrapper {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .home .hero .video-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100vw; }
    .home .hero .video-wrapper video {
      position: absolute;
      top: 0;
      min-width: 100vw;
      -webkit-animation: fadeIn 0.5s;
              animation: fadeIn 0.5s; }
      @media (max-width: 767px) {
        .home .hero .video-wrapper video {
          min-width: auto;
          height: 620px; } }
  .home .hero .frame {
    padding: 0;
    position: relative; }
    @media (max-width: 767px) {
      .home .hero .frame {
        width: 100%; } }
    @supports (mix-blend-mode: screen) {
      .home .hero .frame.first {
        background: rgba(0, 0, 0, 0.3); }
        .home .hero .frame.first .frame-wrapper {
          mix-blend-mode: screen; }
          .home .hero .frame.first .frame-wrapper .inner.intro {
            background: rgba(255, 255, 255, 0.95);
            color: #32383d; } }
    .home .hero .frame .controls {
      position: absolute;
      bottom: -30px;
      left: 0;
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .home .hero .frame .controls .arrow {
        display: inline-block;
        margin-right: 20px;
        cursor: pointer; }
      @media (max-width: 767px) {
        .home .hero .frame .controls {
          top: -30px;
          bottom: auto; } }
    .home .hero .frame .frame-wrapper {
      overflow: hidden;
      -webkit-backdrop-filter: blur(10px);
              backdrop-filter: blur(10px); }
    .home .hero .frame .slide-frames {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 450px;
      -webkit-transform: translateX(0px);
              transform: translateX(0px);
      -webkit-transition: -webkit-transform 0.5s;
      transition: -webkit-transform 0.5s;
      transition: transform 0.5s;
      transition: transform 0.5s, -webkit-transform 0.5s; }
      @media (max-width: 767px) {
        .home .hero .frame .slide-frames {
          width: 100%; } }
    .home .hero .frame .inner {
      font-size: 0.8em;
      width: 450px;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      position: relative;
      padding: 15px 15px 90px;
      background: rgba(0, 0, 0, 0.1);
      text-shadow: 0 0 10px rgba(0, 0, 0, 0.5); }
      .home .hero .frame .inner.intro {
        color: #425363;
        background: rgba(255, 255, 255, 0.8);
        text-shadow: none; }
        .home .hero .frame .inner.intro h1 {
          text-shadow: none;
          font-size: 5.2em; }
          @media (max-width: 767px) {
            .home .hero .frame .inner.intro h1 {
              font-size: 3em; } }
      .home .hero .frame .inner .logo {
        position: absolute;
        bottom: 15px;
        left: 15px;
        width: 100px;
        height: 30px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; }
        .home .hero .frame .inner .logo img {
          width: 100%; }
      .home .hero .frame .inner h1 {
        margin-bottom: 20px;
        font-size: 5em;
        text-shadow: 0 0 90px rgba(0, 0, 0, 0.3); }
      .home .hero .frame .inner p {
        font-size: 1rem; }
      .home .hero .frame .inner a {
        background: white;
        padding: 5px 10px;
        text-shadow: none;
        color: #425363;
        letter-spacing: 0.1em;
        position: absolute;
        text-decoration: none;
        text-transform: uppercase;
        font-size: 0.7em;
        right: 0;
        bottom: 0; }
      @media (max-width: 767px) {
        .home .hero .frame .inner {
          float: none;
          width: 100%;
          -ms-flex-negative: 0;
              flex-shrink: 0;
          padding: 20px 20px 40px; }
          .home .hero .frame .inner .logo {
            width: 70px; }
          .home .hero .frame .inner h1 {
            font-size: 3em; } }
  .home .hero .div-logo {
    position: absolute;
    right: 30px;
    bottom: 30px;
    text-align: right; }
    @media (max-width: 767px) {
      .home .hero .div-logo {
        display: none; } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.home .featured-products h3 {
  text-transform: uppercase;
  padding: 20px 0 10px; }

.home .featured-products .border-link {
  margin-bottom: 20px; }

.home .featured-products .grid {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .home .featured-products .grid .product {
    width: 50%;
    height: 0;
    float: left;
    position: relative;
    padding-bottom: 28.125%;
    background-image: url("../img/specialty.jpg");
    background-size: cover; }
    .home .featured-products .grid .product:hover .inset {
      -webkit-transform: scale(1.01);
              transform: scale(1.01); }
    .home .featured-products .grid .product .inset {
      margin: 20px;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      border: 2px solid white;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-transition: -webkit-transform 0.5s;
      transition: -webkit-transform 0.5s;
      transition: transform 0.5s;
      transition: transform 0.5s, -webkit-transform 0.5s; }
      .home .featured-products .grid .product .inset h2 {
        padding: 20px;
        max-width: 400px;
        line-height: 0.9em;
        text-shadow: 0 0 15px rgba(0, 0, 0, 0.5); }
      .home .featured-products .grid .product .inset .text {
        width: 250px;
        font-size: 0.8em;
        -webkit-backdrop-filter: blur(8px);
                backdrop-filter: blur(8px);
        float: right;
        overflow: scroll;
        color: #425363;
        background: rgba(255, 255, 255, 0.8);
        padding: 20px; }
        .home .featured-products .grid .product .inset .text a {
          background: none;
          color: #425363;
          height: auto;
          padding: 0; }
    @media (max-width: 767px) {
      .home .featured-products .grid .product {
        width: 100%;
        padding-bottom: 80%; }
        .home .featured-products .grid .product .inset {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; }
          .home .featured-products .grid .product .inset h2 {
            font-size: 1.2em; }
          .home .featured-products .grid .product .inset .text {
            width: 100%;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1; } }

.title {
  color: white;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .title h3, .title span {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    white-space: nowrap;
    padding-right: 5px; }
  .title .line {
    background: white;
    height: 2px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: 100%; }

#project-overlay {
  position: fixed;
  overflow: scroll;
  -webkit-backdrop-filter: blur(15px);
          backdrop-filter: blur(15px);
  max-width: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 4;
  background: rgba(66, 83, 99, 0.6); }

.news-filters li {
  padding: 5px 15px;
  border-radius: 50px;
  white-space: nowrap; }
  .news-filters li.selected {
    background: #ab9766; }

.news .border-link {
  margin-bottom: 20px; }

.news.single {
  margin: 150px auto 120px;
  max-width: 800px; }
  .news.single .news-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .news.single .news-item h1 {
      margin-bottom: 10px; }
    .news.single .news-item .date {
      color: #a6bbca;
      margin-bottom: 10px; }
    .news.single .news-item .news-products {
      border: 1px solid #a6bbca;
      font-size: 0.7em;
      padding: 10px;
      margin-top: 20px; }
      .news.single .news-item .news-products::before {
        content: "Products used in this project: "; }
    .news.single .news-item .img-wrapper {
      width: 100%;
      height: 0;
      padding-bottom: 28.125%;
      -webkit-transition: padding 0.5s;
      transition: padding 0.5s; }
      .news.single .news-item .img-wrapper:hover {
        padding-bottom: 56.25%; }
      .news.single .news-item .img-wrapper img {
        width: 100%;
        height: auto; }
      @media (max-width: 767px) {
        .news.single .news-item .img-wrapper {
          padding-bottom: 56.25%; } }

.news .push-up {
  position: relative;
  margin-top: -120px;
  width: 60%;
  max-width: 800px; }
  @media (max-width: 767px) {
    .news .push-up {
      width: 100%; } }
  .news .push-up .title {
    text-shadow: 0 0 15px black; }
  @media (min-width: 768px) and (max-width: 1024px) {
    .news .push-up .img-wrapper {
      display: none; } }

.news .wrapper {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.news .news-item {
  background: white;
  width: 100%;
  color: #425363;
  margin-bottom: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .news .news-item h3 {
    font-size: 1.4em; }
  .news .news-item .news-link {
    padding-bottom: 0; }
  .news .news-item .text {
    padding: 30px; }
  .news .news-item .img-wrapper {
    width: 30%;
    position: relative;
    overflow: hidden;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
    .news .news-item .img-wrapper img {
      height: 100%;
      width: auto;
      position: absolute;
      top: 0;
      left: 0; }
  @media (max-width: 767px) {
    .news .news-item {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      .news .news-item .img-wrapper {
        width: 100%;
        height: 0;
        padding-bottom: 56.25%; }
        .news .news-item .img-wrapper img {
          width: 100%;
          height: auto; } }

.news .archive {
  -ms-flex-preferred-size: 300px;
      flex-basis: 300px;
  border: 1px solid #E6E7E8;
  margin: 20px;
  padding: 20px;
  font-size: 0.8em; }
  .news .archive ul {
    padding-bottom: 0;
    font-size: 1em;
    margin-left: 0; }
    .news .archive ul li:last-of-type {
      margin-bottom: 0; }
  .news .archive h4 {
    font-size: 1.1em;
    margin: 5px 0 15px;
    position: relative;
    color: #BCBEC0; }
    .news .archive h4 span {
      display: inline-block;
      background: #F1F2F2;
      position: relative;
      z-index: 1;
      padding: 5px 10px 5px 0; }
    .news .archive h4::after {
      content: '';
      width: 100%;
      position: absolute;
      height: 1px;
      background: #E6E7E8;
      left: 0;
      bottom: 50%;
      z-index: 0; }
  .news .archive li, .news .archive a {
    list-style: none;
    margin-bottom: 10px;
    color: #425363; }
  @media (max-width: 767px) {
    .news .archive {
      display: none; } }

.news-list {
  max-width: 800px;
  margin-left: -50px;
  margin-top: 30px; }
  @media (max-width: 767px) {
    .news-list {
      margin: 30px auto 0; } }

.product-page .search {
  margin: 30px 0;
  width: 100%; }
  .product-page .search input[type="search"] {
    background: none;
    width: 100%;
    -webkit-appearance: none;
    outline: none;
    border: 1px solid #a6bbca;
    color: #a6bbca;
    border-radius: 100px;
    padding: 10px 15px;
    overflow: hidden;
    position: relative; }

.product-page .product-shift {
  margin: 80px auto;
  padding-right: 120px; }
  @media (max-width: 767px) {
    .product-page .product-shift {
      padding: 0;
      margin: 10px; } }

.product-page .product-frame {
  border: 2px solid white;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .product-page .product-frame ul {
    list-style: none; }
  @media (max-width: 767px) {
    .product-page .product-frame {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }

.product-page .filters {
  padding: 20px; }
  .product-page .filters li {
    padding: 5px 15px;
    border-radius: 50px;
    margin: 5px 0;
    white-space: nowrap; }
  .product-page .filters ul {
    padding-bottom: 0; }
    .product-page .filters ul ul {
      padding-left: 5px;
      border-left: 1px solid #7b8792; }
  .product-page .filters .selected {
    background: #ab9766; }
  @media (max-width: 767px) {
    .product-page .filters {
      margin-right: 0; } }

.product-page .products {
  -webkit-transform-origin: center;
          transform-origin: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  top: -40px;
  right: -40px;
  margin-bottom: -80px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  @media (max-width: 767px) {
    .product-page .products {
      top: 0;
      left: 0;
      margin-bottom: 0;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }

.product-grid-item {
  width: 300px;
  margin: 0 0 10px 10px;
  position: relative; }
  .product-grid-item a.cover {
    z-index: 3; }
  .product-grid-item .thumb {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 100%;
    overflow: hidden;
    background: #ab9766;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .product-grid-item .thumb .prod-title {
      position: absolute;
      padding: 20px;
      max-width: 80%;
      line-height: 1.7em;
      z-index: 2;
      text-shadow: 0 0 15px black; }
    .product-grid-item .thumb img {
      position: absolute;
      -ms-flex-item-align: center;
          -ms-grid-row-align: center;
          align-self: center;
      -webkit-transform-origin: center;
              transform-origin: center;
      -webkit-transform: scale(1);
              transform: scale(1);
      -webkit-transition: -webkit-transform 0.5s;
      transition: -webkit-transform 0.5s;
      transition: transform 0.5s;
      transition: transform 0.5s, -webkit-transform 0.5s;
      height: 100%;
      width: auto; }
    .product-grid-item .thumb:after {
      content: '';
      z-index: 1;
      position: absolute;
      width: 100%;
      height: 50%;
      background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(66, 83, 99, 0.5)), color-stop(100%, rgba(66, 83, 99, 0)));
      background: -webkit-linear-gradient(top, rgba(66, 83, 99, 0.5) 0%, rgba(66, 83, 99, 0) 100%);
      background: linear-gradient(to bottom, rgba(66, 83, 99, 0.5) 0%, rgba(66, 83, 99, 0) 100%); }
  .product-grid-item .text {
    background: white;
    color: #425363;
    padding: 20px;
    font-size: 0.8em;
    height: 165px;
    overflow: hidden; }
  .product-grid-item:hover .thumb img {
    -webkit-transform: scale(1.03);
            transform: scale(1.03); }
  @media (max-width: 767px) {
    .product-grid-item {
      margin: 5px; } }

.single-product {
  overflow-x: hidden;
  padding-top: 0; }
  .single-product .call-to-action {
    background: #ab9766;
    color: #425363;
    border-radius: 5px;
    margin-top: 20px;
    font-weight: bold;
    padding: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-pack: distribute;
        justify-content: space-around; }
    .single-product .call-to-action p {
      font-size: 1em;
      line-height: 1em; }
    .single-product .call-to-action .small {
      font-size: 0.8em;
      font-weight: 500; }
    .single-product .call-to-action a {
      padding: 5px 20px;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      margin-left: 20px;
      letter-spacing: 0.05em;
      text-align: center;
      font-size: 0.9em;
      text-decoration: none;
      float: right;
      text-transform: uppercase;
      border: 1px solid;
      border-radius: 100px; }
      .single-product .call-to-action a:hover {
        background: #425363;
        color: #ab9766; }
    @media (max-width: 767px) {
      .single-product .call-to-action {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; }
        .single-product .call-to-action a {
          width: 100%;
          margin: 10px 0 0; } }
  .single-product #product-popup {
    display: none;
    visibility: hidden; }
  .single-product .hero {
    top: 0;
    width: 100%;
    padding-top: 0;
    height: 67vw;
    position: relative;
    z-index: 0; }
    .single-product .hero .feature {
      position: absolute;
      z-index: 1;
      width: 30px;
      height: 30px;
      text-shadow: 0 0 20px #425363;
      border: 2px solid white; }
      @media (max-width: 767px) {
        .single-product .hero .feature {
          display: none; } }
      .single-product .hero .feature::after {
        content: "";
        height: 2px;
        background: white;
        position: absolute;
        top: 10px;
        width: 0;
        -webkit-transition: width 0.5s;
        transition: width 0.5s;
        -webkit-transition-delay: 0.4s;
                transition-delay: 0.4s; }
      .single-product .hero .feature:hover::after {
        width: 380px;
        -webkit-transition-delay: 0;
                transition-delay: 0; }
      .single-product .hero .feature:hover .info {
        -webkit-transform: scaleY(1);
                transform: scaleY(1);
        -webkit-transition-delay: 0.7s;
                transition-delay: 0.7s; }
      .single-product .hero .feature.left .info {
        left: 77px; }
      .single-product .hero .feature.left::after {
        left: 100%; }
      .single-product .hero .feature.right .info {
        right: 402px; }
      .single-product .hero .feature.right::after {
        right: 100%; }
      .single-product .hero .feature .info {
        border: 2px solid white;
        width: 350px;
        top: -54px;
        -webkit-backdrop-filter: blur(10px);
                backdrop-filter: blur(10px);
        background: rbga(#425363, 0.1);
        position: relative;
        -webkit-transform-origin: center 64px;
                transform-origin: center 64px;
        -webkit-transform: scaleY(0);
                transform: scaleY(0);
        -webkit-transition: -webkit-transform 0.5s;
        transition: -webkit-transform 0.5s;
        transition: transform 0.5s;
        transition: transform 0.5s, -webkit-transform 0.5s;
        -webkit-transition-delay: 0;
                transition-delay: 0; }
        .single-product .hero .feature .info h4 {
          padding: 20px;
          height: 64px;
          margin: 0 20px 0 0; }
        .single-product .hero .feature .info p {
          padding: 20px; }
    .single-product .hero .image-wrapper {
      position: fixed; }
      .single-product .hero .image-wrapper img {
        width: 100%;
        min-width: 100vw;
        height: auto; }
      @media (max-width: 767px) {
        .single-product .hero .image-wrapper {
          position: absolute; } }
      .single-product .hero .image-wrapper .shading {
        position: relative;
        width: 100vw;
        height: 100px;
        top: -100px;
        background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(66, 83, 99, 0)), color-stop(100%, #425363));
        background: -webkit-linear-gradient(top, rgba(66, 83, 99, 0) 0%, #425363 100%);
        background: linear-gradient(to bottom, rgba(66, 83, 99, 0) 0%, #425363 100%); }
    .single-product .hero .video-wrapper {
      width: 100vw;
      position: fixed; }
      .single-product .hero .video-wrapper video {
        position: absolute;
        top: 0;
        height: 67vw; }
        @media (max-width: 767px) {
          .single-product .hero .video-wrapper video {
            left: 0; } }
  .single-product .product-info {
    position: relative;
    z-index: 1;
    background: #425363; }
    .single-product .product-info .main {
      position: relative;
      bottom: 30vw;
      margin-bottom: -30vw; }
      .single-product .product-info .main > .frame {
        margin-bottom: 30px; }
      .single-product .product-info .main .logo {
        position: absolute;
        right: 30px;
        top: 30px; }
        .single-product .product-info .main .logo img {
          height: 30px; }
        @media (max-width: 767px) {
          .single-product .product-info .main .logo {
            right: 0;
            top: -30px; }
            .single-product .product-info .main .logo img {
              height: 20px; } }
    .single-product .product-info h1 {
      max-width: 50%;
      text-shadow: 0 0 30px #425363;
      margin-bottom: 20px; }
    .single-product .product-info .subtitle {
      width: 100%;
      border-bottom: 2px solid white;
      padding-bottom: 20px;
      margin-bottom: 20px; }
    .single-product .product-info .description {
      width: 60%;
      padding-right: 30px; }
      @media (min-width: 768px) and (max-width: 1024px) {
        .single-product .product-info .description {
          width: calc(100% - 250px); } }
      @media (max-width: 767px) {
        .single-product .product-info .description {
          width: 100%;
          padding: 0; } }
    .single-product .product-info .suplemental {
      max-width: 250px; }
      .single-product .product-info .suplemental .specifications {
        margin-bottom: 20px; }
      @media (max-width: 767px) {
        .single-product .product-info .suplemental {
          margin-top: 20px;
          border-top: 2px solid white;
          padding-top: 20px;
          width: 100%;
          max-width: 100%; } }
      .single-product .product-info .suplemental .downloads .links {
        padding: 10px; }
        .single-product .product-info .suplemental .downloads .links .loading {
          color: rgba(255, 255, 255, 0.4); }
          .single-product .product-info .suplemental .downloads .links .loading::after {
            content: '';
            position: absolute;
            margin-left: 5px;
            margin-top: 3px;
            width: 15px;
            height: 7.5px;
            border: 1px solid #a6bbca;
            border-bottom: none;
            z-index: 5;
            border-radius: 30px 30px 0 0;
            -webkit-transform-origin: center bottom;
                    transform-origin: center bottom;
            -webkit-animation: spin 0.5s infinite linear;
                    animation: spin 0.5s infinite linear; }
      .single-product .product-info .suplemental .downloads .rel {
        position: relative; }
      .single-product .product-info .suplemental .downloads.obscured {
        position: relative; }
        .single-product .product-info .suplemental .downloads.obscured #collectData {
          padding: 10px;
          background: rgba(66, 83, 99, 0.5);
          border-radius: 5px;
          border: 1px solid white;
          width: 100%;
          left: 0; }
          .single-product .product-info .suplemental .downloads.obscured #collectData label {
            font-size: 0.8em; }
          .single-product .product-info .suplemental .downloads.obscured #collectData .half {
            width: 45%; }
          .single-product .product-info .suplemental .downloads.obscured #collectData input {
            width: 100%;
            margin-bottom: 6px;
            border: none;
            border-bottom: 1px solid white;
            color: white;
            background: none;
            outline: none;
            -webkit-appearance: none; }
            .single-product .product-info .suplemental .downloads.obscured #collectData input[type="submit"] {
              margin-top: 5px;
              margin-bottom: 0;
              border-radius: 5px;
              padding: 10px;
              font-weight: 600;
              text-transform: uppercase;
              letter-spacing: 0.1em;
              border: none;
              background: #ab9766;
              color: #425363; }
          .single-product .product-info .suplemental .downloads.obscured #collectData + .links {
            position: absolute;
            top: 0;
            width: 100%;
            text-shadow: 0 0 5px white;
            color: transparent;
            pointer-events: none; }
            .single-product .product-info .suplemental .downloads.obscured #collectData + .links a {
              pointer-events: none; }
    .single-product .product-info .padder {
      padding-bottom: 100px; }
    .single-product .product-info .image {
      height: 400px;
      position: relative;
      margin: 100px 0; }
      .single-product .product-info .image img {
        height: 500px;
        margin-top: -50px; }
      .single-product .product-info .image .background {
        top: 0;
        z-index: -1;
        position: absolute;
        opacity: 0.2;
        width: 200vw;
        left: -50vw;
        height: 100%;
        background-image: url("../img/specialty.jpg");
        background-attachment: fixed;
        background-size: cover; }
      @media (min-width: 768px) and (max-width: 1024px) {
        .single-product .product-info .image {
          height: 300px; }
          .single-product .product-info .image img {
            height: 400px; } }
      @media (max-width: 767px) {
        .single-product .product-info .image {
          margin: 20px 0; }
          .single-product .product-info .image img {
            margin-top: 0;
            height: auto;
            max-width: 100%;
            max-height: 100%; }
          .single-product .product-info .image .background {
            display: none; } }
    .single-product .product-info .related {
      margin-bottom: -60px; }
      .single-product .product-info .related .flex {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .single-product .product-info .slider .controls {
      width: 50%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      z-index: 1; }
      .single-product .product-info .slider .controls .arrows {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .single-product .product-info .slider .controls .arrows .arrow {
        margin: 5px;
        cursor: pointer; }
        @media (min-width: 768px) and (max-width: 1024px) {
          .single-product .product-info .slider .controls .arrows .arrow {
            margin: 0;
            padding: 5px;
            background: #425363; } }
    @media (max-width: 767px) {
      .single-product .product-info .slider {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        border-top: 2px solid white;
        border-bottom: 2px solid white;
        padding: 20px 0;
        height: auto; }
        .single-product .product-info .slider .slides {
          min-height: 350px; }
          .single-product .product-info .slider .slides .slide {
            text-align: center;
            height: 100%; }
        .single-product .product-info .slider .controls {
          width: 100%;
          -webkit-box-flex: 1;
              -ms-flex-positive: 1;
                  flex-grow: 1;
          margin-bottom: 20px;
          -webkit-box-ordinal-group: 0;
              -ms-flex-order: -1;
                  order: -1; }
          .single-product .product-info .slider .controls .arrows {
            width: 50%;
            -ms-flex-pack: distribute;
                justify-content: space-around; } }
    .single-product .product-info .product-grid-item {
      margin: 10px 10px 0 0; }
    .single-product .product-info::before {
      content: "";
      position: absolute;
      pointer-events: none;
      width: 100%;
      height: 40vw;
      top: -40vw;
      background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(66, 83, 99, 0)), color-stop(100%, #425363));
      background: -webkit-linear-gradient(top, rgba(66, 83, 99, 0) 0%, #425363 100%);
      background: linear-gradient(to bottom, rgba(66, 83, 99, 0) 0%, #425363 100%); }
  .single-product footer {
    position: relative;
    z-index: 2; }

.single-page .hero {
  top: 0;
  width: 100%;
  padding-top: 0;
  height: 50vw;
  opacity: 0.1;
  position: relative;
  overflow: hidden;
  z-index: 0;
  background-size: 100vw auto;
  background-repeat: no-repeat;
  background-attachment: fixed; }
  @media (max-width: 767px) {
    .single-page .hero {
      height: 75vw; } }

.single-page .section-info {
  z-index: 1;
  position: relative;
  background: #425363;
  margin-bottom: -12.5vw; }
  .single-page .section-info::before {
    content: '';
    position: absolute;
    top: -25vw;
    height: 25vw;
    width: 100%;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(66, 83, 99, 0)), color-stop(100%, #425363));
    background: -webkit-linear-gradient(top, rgba(66, 83, 99, 0) 0%, #425363 100%);
    background: linear-gradient(to bottom, rgba(66, 83, 99, 0) 0%, #425363 100%); }

.single-page .main {
  position: relative;
  top: -25vw; }
  .single-page .main h4 {
    margin-top: 20px; }
  .single-page .main .background-label {
    position: absolute;
    top: -30px;
    right: 0;
    font-size: 0.9em; }
    .single-page .main .background-label::before {
      content: "pictured: ";
      text-transform: uppercase;
      letter-spacing: 0.1em; }
  @media (max-width: 767px) {
    .single-page .main .flex {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .single-page .main .flex .img, .single-page .main .flex .tags {
        margin: 0;
        padding: 0; }
        .single-page .main .flex .img img, .single-page .main .flex .tags img {
          width: 100%;
          float: none;
          height: auto; } }

.single-page .tags, .single-page .img {
  margin-left: 50px;
  padding: 0 30px; }
  .single-page .tags .title, .single-page .img .title {
    margin-top: 15px; }
  .single-page .tags ul, .single-page .img ul {
    list-style: none;
    line-height: 1.8em;
    padding: 0 20px; }
  .single-page .tags img, .single-page .img img {
    width: 500px;
    margin-bottom: 20px;
    float: right; }

.single-page .tags {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }

.single-page .img {
  margin-right: -100px; }
  .single-page .img p {
    position: absolute; }

.single-page footer {
  position: relative;
  z-index: 3;
  background: none; }

.slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .slider .slides {
    position: relative;
    width: 100%; }
  .slider .slide {
    position: absolute;
    width: 100%;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s; }
    .slider .slide.active {
      opacity: 1;
      pointer-events: all; }

.news.single .slider {
  display: block;
  position: relative; }
  .news.single .slider .slides {
    height: 0;
    overflow: hidden;
    padding-bottom: 66.6015625%;
    background: #f2f2f2; }
    .news.single .slider .slides .slide {
      text-align: center;
      width: 100%;
      height: 100%; }
  .news.single .slider .controls {
    position: absolute;
    bottom: 0;
    right: 0;
    background: #425363; }
    .news.single .slider .controls .arrows .arrow {
      float: left;
      cursor: pointer;
      padding: 10px;
      color: white; }
      .news.single .slider .controls .arrows .arrow:hover {
        background: rgba(0, 0, 0, 0.1); }
  .news.single .slider img {
    height: 100%; }

footer {
  padding: 30px 0; }
  footer h3 {
    padding-bottom: 15px; }
  footer .address {
    padding-top: 15px;
    padding-right: 20px; }
  footer .float-left {
    line-height: 1.5em; }
  @media (max-width: 767px) {
    footer .float-left, footer .float-right {
      float: none; } }
  @media (max-width: 767px) {
    footer #contact {
      margin-top: 10px; } }
  footer #contact input, footer #contact textarea {
    width: 200px;
    padding: 5px;
    margin-bottom: 5px;
    color: white;
    border-radius: 3px;
    overflow: hidden;
    display: block;
    border: 1px solid white;
    background: none;
    -webkit-appearance: none;
    outline: none; }
    @media (max-width: 767px) {
      footer #contact input, footer #contact textarea {
        width: 100%; } }
    footer #contact input:focus, footer #contact textarea:focus {
      border: 1px solid #ab9766; }
    footer #contact input[type="submit"], footer #contact textarea[type="submit"] {
      background: white;
      color: #425363;
      text-transform: uppercase;
      letter-spacing: 0.1em; }
  footer #contact textarea {
    height: 100px;
    resize: vertical; }

[href*="products/"]:not([href$="products/"]):not(.cover) {
  display: inline-block;
  color: white;
  font-weight: 500;
  text-decoration: none;
  font-size: 0.8rem;
  line-height: 1.2rem;
  padding: 3px 7px;
  height: 25px;
  background-color: #ab9766;
  position: relative;
  background-size: auto 250px;
  background-position: 0 0; }
  [href*="products/"]:not([href$="products/"]):not(.cover).right {
    background-position: 100% 0; }
    [href*="products/"]:not([href$="products/"]):not(.cover).right .item {
      right: 0;
      background-position: 100% -26px;
      left: auto; }
  [href*="products/"]:not([href$="products/"]):not(.cover) .item {
    display: none;
    position: absolute;
    z-index: 3;
    top: 100%;
    left: 0;
    font-size: 0.7rem;
    overflow: hidden;
    max-height: 900px;
    width: 250px;
    background-color: #ab9766;
    background-size: auto 250px;
    background-position: 0 -25px;
    box-shadow: inset 0 0 0 300px rgba(0, 0, 0, 0.3); }
    [href*="products/"]:not([href$="products/"]):not(.cover) .item .header {
      font-weight: 800;
      font-size: 1.5rem;
      line-height: 1em;
      word-spacing: 250px;
      display: block;
      text-transform: uppercase;
      margin-bottom: 10px; }
    [href*="products/"]:not([href$="products/"]):not(.cover) .item strong {
      display: inline-block;
      margin-bottom: 5px; }
    [href*="products/"]:not([href$="products/"]):not(.cover) .item .inner {
      display: block;
      border: 2px solid white;
      padding: 10px;
      margin: 10px;
      position: relative; }
      [href*="products/"]:not([href$="products/"]):not(.cover) .item .inner::after {
        text-transform: uppercase;
        color: #425363;
        padding: 0 5px;
        letter-spacing: 0.1rem;
        font-size: 0.5rem;
        background: white;
        position: absolute;
        bottom: 0;
        right: 0; }
      [href*="products/"]:not([href$="products/"]):not(.cover) .item .inner img {
        position: absolute;
        left: 10px;
        bottom: 10px;
        height: 12px; }
  [href*="products/"]:not([href$="products/"]):not(.cover):hover {
    z-index: 3;
    box-shadow: inset 0 0 0 300px rgba(0, 0, 0, 0.3); }
    [href*="products/"]:not([href$="products/"]):not(.cover):hover .item {
      display: block; }
      @media (max-width: 767px) {
        [href*="products/"]:not([href$="products/"]):not(.cover):hover .item {
          display: none; } }
  [href*="products/"]:not([href$="products/"]):not(.cover):not(:hover) {
    background-image: none !important; }

.product-div [href*="products/"]:not([href$="products/"]):not(.cover) {
  background-color: #BC3E64; }
  .product-div [href*="products/"]:not([href$="products/"]):not(.cover) .item {
    background-color: #BC3E64; }
/*# sourceMappingURL=style.css.map */