﻿@charset "UTF-8";
.link-mask > span {
  display: inline-block;
  color: rgba(255, 255, 255, 0.3);
  font-weight: 800;
  height: 70px;
}
.navlinks li:first-of-type .fake-link:before {
  content: "cosa facciamo.";
}
.navlinks li:nth-of-type(2) .fake-link:before {
  content: "chi siamo.";
}
.navlinks li:nth-of-type(3) .fake-link:before {
  content: "contatti.";
}
.link-mask-wrap {
  width: max-content;
  position: absolute;
  overflow: hidden;
  height: 70px;
}
.link-mask {
  position: absolute;
  overflow: hidden;
  width: 100%;
  height: 70px;
  -webkit-transform: translateX(-102%);
  -ms-transform: translateX(-102%);
  transform: translateX(-102%);
  transition: all 600ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition: all 600ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 600ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 600ms cubic-bezier(0.77, 0, 0.175, 1);
}
.link-mask > span {
  position: absolute;
  color: #fff;
  -webkit-transform: translateX(102%);
  -ms-transform: translateX(102%);
  transform: translateX(102%);
  transition: all 600ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition: all 600ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 600ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 600ms cubic-bezier(0.77, 0, 0.175, 1);
}
.link-mask i {
  color: #fbff0d;
  font-style: normal;
}
.navigation {
  z-index: 8999;
}
.logo {
  transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  font-size: 0.1em;
  line-height: 0;
  overflow: hidden;
  border-radius: 50%;
  background-color: #fde101;
  width: 40px;
  position: fixed;
  height: 40px;
  top: 15px;
  left: 15px;
  z-index: 9700;
}
.logo span {
  position: absolute;
  left: -100%;
  top: -100%;
}
.logo.animated img {
  height: 40px;
  margin-left: 1px;
  width: auto;
}
.logo.animated:hover img {
  position: relative;
  animation: animIn 0.9s steps(29) 1;
  -moz-animation: animIn 0.9s steps(29) 1;
  -webkit-animation: animIn 0.9s steps(29) 1;
  -o-animation: animIn 0.9s steps(29) 1;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
@-webkit-keyframes animIn {
  0% {
    transform: translateX(0%);
    -moz-transform: translateX(0%);
    -webkit-transform: translateX(0%);
    -o-transform: translateX(0%);
    -ms-transform: translateX(0%);
  }
  to {
    transform: translateX(-96.7%);
    -moz-transform: translateX(-96.7%);
    -webkit-transform: translateX(-96.7%);
    -o-transform: translateX(-96.7%);
    -ms-transform: translateX(-96.7%);
  }
}
@keyframes animIn {
  0% {
    transform: translateX(0%);
    -moz-transform: translateX(0%);
    -webkit-transform: translateX(0%);
    -o-transform: translateX(0%);
    -ms-transform: translateX(0%);
  }
  to {
    transform: translateX(-96.7%);
    -moz-transform: translateX(-96.7%);
    -webkit-transform: translateX(-96.7%);
    -o-transform: translateX(-96.7%);
    -ms-transform: translateX(-96.7%);
  }
}
@-webkit-keyframes animOut {
  0% {
    transform: translateX(-96.7%);
    -moz-transform: translateX(-96.7%);
    -webkit-transform: translateX(-96.7%);
    -o-transform: translateX(-96.7%);
    -ms-transform: translateX(-96.7%);
  }
  to {
    transform: translateX(0%);
    -moz-transform: translateX(0%);
    -webkit-transform: translateX(0%);
    -o-transform: translateX(0%);
    -ms-transform: translateX(0%);
  }
}
@keyframes animOut {
  0% {
    transform: translateX(-96.7%);
    -moz-transform: translateX(-96.7%);
    -webkit-transform: translateX(-96.7%);
    -o-transform: translateX(-96.7%);
    -ms-transform: translateX(-96.7%);
  }
  to {
    transform: translateX(0%);
    -moz-transform: translateX(0%);
    -webkit-transform: translateX(0%);
    -o-transform: translateX(0%);
    -ms-transform: translateX(0%);
  }
}
.duck-menu {
  color: #001d94;
  font-size: 1em;
  font-weight: 800;
  letter-spacing: 0.1em;
  position: fixed;
  top: 15px;
  right: 15px;
  line-height: 1.8em;
  cursor: pointer;
  z-index: 9500;
}
.duck-menu div {
  transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition-delay: 0.5s;
  -moz-transition-delay: 0.5s;
  -o-transition-delay: 0.5s;
  -ms-transition-delay: 0.5s;
  transition-delay: 0.5s;
  display: inline-block;
  padding: 10px 26px 10px 15px;
}
.duck-menu span {
  transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition-delay: 0.5s;
  -moz-transition-delay: 0.5s;
  -o-transition-delay: 0.5s;
  -ms-transition-delay: 0.5s;
  transition-delay: 0.5s;
  display: block;
  position: absolute;
  top: 48%;
  right: 0;
  width: 3px;
  height: 24px;
  background-color: #001d94;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translate3d(0, -50%, 0) scale(1, 1) rotate(10deg);
  -moz-transform: translate3d(0, -50%, 0) scale(1, 1) rotate(10deg);
  -webkit-transform: translate3d(0, -50%, 0) scale(1, 1) rotate(10deg);
  -o-transform: translate3d(0, -50%, 0) scale(1, 1) rotate(10deg);
  -ms-transform: translate3d(0, -50%, 0) scale(1, 1) rotate(10deg);
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
}
.duck-menu span:nth-of-type(2) {
  right: 10px;
}
.duck-menu.opened {
  color: #fff;
}
.duck-menu.opened div {
  -webkit-transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -ms-transition-delay: 0s;
  transition-delay: 0s;
}
.duck-menu.opened span {
  -webkit-transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -ms-transition-delay: 0s;
  transition-delay: 0s;
  top: 48%;
  right: 0;
  width: 3px;
  height: 24px;
  background-color: #fff;
  transform: translate3d(0, -50%, 0) scale(1, 1) rotate(225deg);
  -moz-transform: translate3d(0, -50%, 0) scale(1, 1) rotate(225deg);
  -webkit-transform: translate3d(0, -50%, 0) scale(1, 1) rotate(225deg);
  -o-transform: translate3d(0, -50%, 0) scale(1, 1) rotate(225deg);
  -ms-transform: translate3d(0, -50%, 0) scale(1, 1) rotate(225deg);
}
.duck-menu.opened span:nth-of-type(2) {
  transform: translate3d(0, -50%, 0) scale(1, 1) rotate(-225deg);
  -moz-transform: translate3d(0, -50%, 0) scale(1, 1) rotate(-225deg);
  -webkit-transform: translate3d(0, -50%, 0) scale(1, 1) rotate(-225deg);
  -o-transform: translate3d(0, -50%, 0) scale(1, 1) rotate(-225deg);
  -ms-transform: translate3d(0, -50%, 0) scale(1, 1) rotate(-225deg);
}
@media only screen and (min-width: 48em) {
  .logo {
    width: 50px;
    height: 50px;
    top: 30px;
    left: 30px;
  }
  .logo.animated img {
    height: 50px;
    width: auto;
  }
  .duck-menu {
    top: 30px;
    right: 30px;
  }
}
@media only screen and (min-width: 64em) {
  .logo {
    width: 50px;
    height: 50px;
    top: 60px;
    left: 60px;
  }
  .duck-menu {
    top: 54px;
    right: 60px;
  }
}
.slidenav {
  transition: all 1ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -webkit-transition: all 1ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: all 1ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -o-transition: all 1ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -webkit-transition-delay: 1s;
  -moz-transition-delay: 1s;
  -o-transition-delay: 1s;
  -ms-transition-delay: 1s;
  transition-delay: 1s;
  transform: scale(0, 1);
  -moz-transform: scale(0, 1);
  -webkit-transform: scale(0, 1);
  -o-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  -ms-transform-origin: 100% 0%;
  -webkit-transform-origin: 100% 0%;
  transform-origin: 100% 0%;
  z-index: 8000;
  top: 0%;
  left: 0;
  width: 100vw;
  height: 100vh;
  position: fixed;
  background-color: transparent;
  color: #fff;
  overflow: visible;
}
.slidenav:before {
  content: "";
  transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1);
  transform: scale(0, 0) translate(50%, -50%);
  -moz-transform: scale(0, 0) translate(50%, -50%);
  -webkit-transform: scale(0, 0) translate(50%, -50%);
  -o-transform: scale(0, 0) translate(50%, -50%);
  -ms-transform: scale(0, 0) translate(50%, -50%);
  -webkit-transition-delay: 0.35s;
  -moz-transition-delay: 0.35s;
  -o-transition-delay: 0.35s;
  -ms-transition-delay: 0.35s;
  transition-delay: 0.35s;
  display: block;
  width: 370vw;
  height: auto;
  padding-top: 370vw;
  background-color: #001d94;
  position: fixed;
  top: 0;
  right: 0;
  -ms-transform-origin: 100% 0%;
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
  border-radius: 50%;
  z-index: 1;
}
.slidenav li {
  transition: all 650ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition: all 650ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 650ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 650ms cubic-bezier(0.77, 0, 0.175, 1);
  transform: scale(0.8) translate(200px, 0);
  -moz-transform: scale(0.8) translate(200px, 0);
  -webkit-transform: scale(0.8) translate(200px, 0);
  -o-transform: scale(0.8) translate(200px, 0);
  -ms-transform: scale(0.8) translate(200px, 0);
  -webkit-transition-delay: 0.25s;
  -moz-transition-delay: 0.25s;
  -o-transition-delay: 0.25s;
  -ms-transition-delay: 0.25s;
  transition-delay: 0.25s;
  opacity: 0;
  height: 70px;
  position: relative;
  font-size: 1.7em;
  line-height: 1em;
  -ms-transform-origin: 100% 0;
  -webkit-transform-origin: 100% 0;
  transform-origin: 100% 0;
}
.slidenav li:nth-child(2) {
  -webkit-transition-delay: 0.2s;
  -moz-transition-delay: 0.2s;
  -o-transition-delay: 0.2s;
  -ms-transition-delay: 0.2s;
  transition-delay: 0.2s;
}
.slidenav li:nth-child(3) {
  -webkit-transition-delay: 0.15s;
  -moz-transition-delay: 0.15s;
  -o-transition-delay: 0.15s;
  -ms-transition-delay: 0.15s;
  transition-delay: 0.15s;
}
.slidenav li:nth-child(4) {
  -webkit-transition-delay: 0.1s;
  -moz-transition-delay: 0.1s;
  -o-transition-delay: 0.1s;
  -ms-transition-delay: 0.1s;
  transition-delay: 0.1s;
}
.slidenav li:nth-child(5) {
  -webkit-transition-delay: 0.05s;
  -moz-transition-delay: 0.05s;
  -o-transition-delay: 0.05s;
  -ms-transition-delay: 0.05s;
  transition-delay: 0.05s;
}
.slidenav li.selected .link-mask,
.slidenav li.selected .link-mask > span,
.slidenav li:hover .link-mask,
.slidenav li:hover .link-mask > span {
  -webkit-transform: translateY(0%);
  -ms-transform: translateY(0%);
  transform: translateY(0%);
  transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
}
.slidenav a {
  display: inline-block;
  color: rgba(255, 255, 255, 0.3);
  font-weight: 800;
}
.slidenav.active {
  transform: scale(1, 1);
  -moz-transform: scale(1, 1);
  -webkit-transform: scale(1, 1);
  -o-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  -webkit-transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -ms-transition-delay: 0s;
  transition-delay: 0s;
  top: 0%;
  left: 0%;
  bottom: 0%;
  right: 0%;
}
.slidenav.active:before {
  transform: scale(1, 1) translate(50%, -50%);
  -moz-transform: scale(1, 1) translate(50%, -50%);
  -webkit-transform: scale(1, 1) translate(50%, -50%);
  -o-transform: scale(1, 1) translate(50%, -50%);
  -ms-transform: scale(1, 1) translate(50%, -50%);
  -webkit-transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -ms-transition-delay: 0s;
  transition-delay: 0s;
}
.slidenav.active li {
  opacity: 1;
  transform: scale(1) translate(0%, 0%);
  -moz-transform: scale(1) translate(0%, 0%);
  -webkit-transform: scale(1) translate(0%, 0%);
  -o-transform: scale(1) translate(0%, 0%);
  -ms-transform: scale(1) translate(0%, 0%);
  -webkit-transition-delay: 0.75s;
  -moz-transition-delay: 0.75s;
  -o-transition-delay: 0.75s;
  -ms-transition-delay: 0.75s;
  transition-delay: 0.75s;
}
.slidenav.active li:nth-child(2) {
  -webkit-transition-delay: 0.8s;
  -moz-transition-delay: 0.8s;
  -o-transition-delay: 0.8s;
  -ms-transition-delay: 0.8s;
  transition-delay: 0.8s;
}
.slidenav.active li:nth-child(3) {
  -webkit-transition-delay: 0.85s;
  -moz-transition-delay: 0.85s;
  -o-transition-delay: 0.85s;
  -ms-transition-delay: 0.85s;
  transition-delay: 0.85s;
}
.slidenav.active li:nth-child(4) {
  -webkit-transition-delay: 0.9s;
  -moz-transition-delay: 0.9s;
  -o-transition-delay: 0.9s;
  -ms-transition-delay: 0.9s;
  transition-delay: 0.9s;
}
.slidenav.active li:nth-child(5) {
  -webkit-transition-delay: 0.95s;
  -moz-transition-delay: 0.95s;
  -o-transition-delay: 0.95s;
  -ms-transition-delay: 0.95s;
  transition-delay: 0.95s;
}
.slidenav.active .nav-img {
  transform: translate(0, -50%) scale(1);
  -moz-transform: translate(0, -50%) scale(1);
  -webkit-transform: translate(0, -50%) scale(1);
  -o-transform: translate(0, -50%) scale(1);
  -ms-transform: translate(0, -50%) scale(1);
  -webkit-transition-delay: 0.6s;
  -moz-transition-delay: 0.6s;
  -o-transition-delay: 0.6s;
  -ms-transition-delay: 0.6s;
  transition-delay: 0.6s;
  opacity: 1;
}
.slidenav.active .nav-img image {
  transform: scale(0.95);
  -moz-transform: scale(0.95);
  -webkit-transform: scale(0.95);
  -o-transform: scale(0.95);
  -ms-transform: scale(0.95);
  -ms-transform-origin: 50% 100;
  -webkit-transform-origin: 50% 100%;
  transform-origin: 50% 100%;
}
.slidenav.active .nav-img image.selected {
  -webkit-transition-delay: 0.15s;
  -moz-transition-delay: 0.15s;
  -o-transition-delay: 0.15s;
  -ms-transition-delay: 0.15s;
  transition-delay: 0.15s;
  opacity: 1;
  transform: scale(1);
  -moz-transform: scale(1);
  -webkit-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1);
}
.slidenav.active.set image.selected {
  opacity: 0;
  -webkit-transition-delay: 0s;
  -moz-transition-delay: 0s;
  -o-transition-delay: 0s;
  -ms-transition-delay: 0s;
  transition-delay: 0s;
  transform: scale(0.95);
  -moz-transform: scale(0.95);
  -webkit-transform: scale(0.95);
  -o-transform: scale(0.95);
  -ms-transform: scale(0.95);
}
.slidenav.active.set image.hovered,
.slidenav.active.set image.selected.hovered {
  -webkit-transition-delay: 0.15s;
  -moz-transition-delay: 0.15s;
  -o-transition-delay: 0.15s;
  -ms-transition-delay: 0.15s;
  transition-delay: 0.15s;
  opacity: 1;
  transform: scale(1);
  -moz-transform: scale(1);
  -webkit-transform: scale(1);
  -o-transform: scale(1);
  -ms-transform: scale(1);
}
.navlinks-wrap {
  transition: all 450ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition: all 450ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 450ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 450ms cubic-bezier(0.77, 0, 0.175, 1);
  transform: translate(0%, -50%);
  -moz-transform: translate(0%, -50%);
  -webkit-transform: translate(0%, -50%);
  -o-transform: translate(0%, -50%);
  -ms-transform: translate(0%, -50%);
  position: absolute;
  top: 50%;
  left: 20%;
  z-index: 8500;
}
.nav-img {
  z-index: 8250;
  display: none;
  position: absolute;
  top: 50%;
  left: -110%;
  width: 200%;
  height: 100%;
  transform: translate(-5%, -50%) scale(0.8);
  -moz-transform: translate(-5%, -50%) scale(0.8);
  -webkit-transform: translate(-5%, -50%) scale(0.8);
  -o-transform: translate(-5%, -50%) scale(0.8);
  -ms-transform: translate(-5%, -50%) scale(0.8);
  transition: all 350ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -webkit-transition: all 350ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -moz-transition: all 350ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -o-transition: all 350ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  opacity: 0;
}
.nav-img .scene {
  position: relative;
  width: 100%;
  height: auto;
}
.nav-img svg {
  fill: none;
}
.nav-img image {
  transition: all 450ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition: all 450ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 450ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 450ms cubic-bezier(0.77, 0, 0.175, 1);
  opacity: 0;
  width: 100%;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

@media only screen and (min-width: 48em) {
  .slidenav li {
    height: 90px;
    font-size: 3em;
  }
  .slidenav .nav-img {
    display: block;
    top: 50%;
    left: -20%;
    width: 100%;
  }
  .link-mask,
  .link-mask-wrap,
  .link-mask > span {
    height: 90px;
  }
  .navlinks-wrap {
    left: 40%;
  }
}
@media only screen and (min-width: 64em) {
  .slidenav:before {
    width: 250vw;
    height: auto;
    padding-top: 250vw;
  }
  .slidenav li {
    height: 110px;
    font-size: 3.75em;
  }
  .link-mask,
  .link-mask-wrap,
  .link-mask > span {
    height: 110px;
  }
}
@media only screen and (min-width: 75em) {
  .slidenav li {
    height: 120px;
  }
  .link-mask,
  .link-mask-wrap,
  .link-mask > span {
    height: 180px;
  }
}
@media only screen and (min-width: 1921px) {
  .slidenav li {
    height: 150px;
  }
  .link-mask,
  .link-mask-wrap,
  .link-mask > span {
    height: 150px;
  }
  /* .duck-menu {
     font-size: 0.4em; 
  } */
}

@media only screen and (min-width: 1024px) and (max-width: 1440px) {
  .slidenav li {
    height: 90px;
    font-size: 3em;
  }
  .slidenav .nav-img {
    display: block;
    top: 50%;
    left: -20%;
    width: 100%;
  }
  .link-mask,
  .link-mask-wrap,
  .link-mask > span {
    height: 90px;
  }
  .navlinks-wrap {
    left: 50%;
  }
}

main,
nav,
section {
  display: block;
}

nav ul {
  margin: 0;
  padding: 0;
}
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
a {
  background: transparent;
}
a:focus {
  outline: thin dotted;
}
a:active,
a:hover {
  outline: 0;
}
h1 {
  font-size: 2.6em;
  margin: 0.67em 0;
}

b,
strong {
  font-weight: bold;
}

hr {
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}
mark {
  background: #ff0;
  color: #000;
}
code,
kbd,
pre,
samp {
  font-size: 1em;
}

small {
  font-size: 80%;
}

img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}

button {
  font-size: 100%;
  margin: 0;
}
button {
  line-height: normal;
}
button {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
.animated {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -o-transform-style: preserve-3d;
  transform-style: preserve-3d;
}
.container,
.container-fluid {
  margin-right: auto;
  margin-left: auto;
}
.container-fluid {
  padding-right: 2rem;
  padding-left: 2rem;
}
.row {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
}
.row.reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
.col.reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}
.box {
  padding-bottom: 45px;
}
.offset-top {
  padding-top: 120px;
}
.offset-bottom {
  padding-bottom: 120px;
}
.offset-bottom-huge {
  padding-bottom: 30vh;
}
.offset-both {
  padding: 120px 0;
}
.offset-top-md {
  padding-top: 90px;
}
.offset-bottom-md {
  padding-bottom: 90px;
}
.offset-both-md {
  padding: 90px 0;
}
.offset-top-sm {
  padding-top: 60px;
}
.offset-bottom-sm {
  padding-bottom: 60px;
}
.offset-both-sm {
  padding: 60px 0;
}
.col-xs,
.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-xs-offset-0,
.col-xs-offset-1,
.col-xs-offset-2,
.col-xs-offset-3,
.col-xs-offset-4,
.col-xs-offset-5,
.col-xs-offset-6,
.col-xs-offset-7,
.col-xs-offset-8,
.col-xs-offset-9,
.col-xs-offset-10,
.col-xs-offset-11,
.col-xs-offset-12 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
}
.col-xs {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  max-width: 100%;
}
.col-xs-1 {
  -ms-flex-preferred-size: 8.33333333%;
  flex-basis: 8.33333333%;
  max-width: 8.33333333%;
}
.col-xs-2 {
  -ms-flex-preferred-size: 16.66666667%;
  flex-basis: 16.66666667%;
  max-width: 16.66666667%;
}
.col-xs-3 {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  max-width: 25%;
}
.col-xs-4 {
  -ms-flex-preferred-size: 33.33333333%;
  flex-basis: 33.33333333%;
  max-width: 33.33333333%;
}
.col-xs-5 {
  -ms-flex-preferred-size: 41.66666667%;
  flex-basis: 41.66666667%;
  max-width: 41.66666667%;
}
.col-xs-6 {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  max-width: 50%;
}
.col-xs-7 {
  -ms-flex-preferred-size: 58.33333333%;
  flex-basis: 58.33333333%;
  max-width: 58.33333333%;
}
.col-xs-8 {
  -ms-flex-preferred-size: 66.66666667%;
  flex-basis: 66.66666667%;
  max-width: 66.66666667%;
}
.col-xs-9 {
  -ms-flex-preferred-size: 75%;
  flex-basis: 75%;
  max-width: 75%;
}
.col-xs-10 {
  -ms-flex-preferred-size: 83.33333333%;
  flex-basis: 83.33333333%;
  max-width: 83.33333333%;
}
.col-xs-11 {
  -ms-flex-preferred-size: 91.66666667%;
  flex-basis: 91.66666667%;
  max-width: 91.66666667%;
}
.col-xs-12 {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%;
}
.col-xs-offset-0 {
  margin-left: 0;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.start-xs {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  text-align: start;
}
.center-xs {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
}
.end-xs {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  text-align: end;
}
.top-xs {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.middle-xs {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.bottom-xs {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.around-xs {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}
.between-xs {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.first-xs {
  -webkit-box-ordinal-group: 0;
  -ms-flex-order: -1;
  order: -1;
}
.last-xs {
  -webkit-box-ordinal-group: 2;
  -ms-flex-order: 1;
  order: 1;
}
@media only screen and (min-width: 48em) {
  .container {
    width: 49rem;
  }
  .col-sm,
  .col-sm-1,
  .col-sm-2,
  .col-sm-3,
  .col-sm-4,
  .col-sm-5,
  .col-sm-6,
  .col-sm-7,
  .col-sm-8,
  .col-sm-9,
  .col-sm-10,
  .col-sm-11,
  .col-sm-12,
  .col-sm-offset-0,
  .col-sm-offset-1,
  .col-sm-offset-2,
  .col-sm-offset-3,
  .col-sm-offset-4,
  .col-sm-offset-5,
  .col-sm-offset-6,
  .col-sm-offset-7,
  .col-sm-offset-8,
  .col-sm-offset-9,
  .col-sm-offset-10,
  .col-sm-offset-11,
  .col-sm-offset-12 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .box {
    padding-bottom: 60px;
  }
  .offset-top {
    padding-top: 120px;
  }
  .offset-bottom {
    padding-bottom: 120px;
  }
  .offset-both {
    padding: 120px 0;
  }
  .offset-top-md {
    padding-top: 100px;
  }
  .offset-bottom-md {
    padding-bottom: 100px;
  }
  .offset-both-md {
    padding: 100px 0;
  }
  .offset-top-sm {
    padding-top: 80px;
  }
  .offset-bottom-sm {
    padding-bottom: 80px;
  }
  .offset-both-sm {
    padding: 80px 0;
  }
  .col-sm {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    max-width: 100%;
  }
  .col-sm-1 {
    -ms-flex-preferred-size: 8.33333333%;
    flex-basis: 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-sm-2 {
    -ms-flex-preferred-size: 16.66666667%;
    flex-basis: 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-sm-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-sm-4 {
    -ms-flex-preferred-size: 33.33333333%;
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-sm-5 {
    -ms-flex-preferred-size: 41.66666667%;
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-sm-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-sm-7 {
    -ms-flex-preferred-size: 58.33333333%;
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-sm-8 {
    -ms-flex-preferred-size: 66.66666667%;
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-sm-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-sm-10 {
    -ms-flex-preferred-size: 83.33333333%;
    flex-basis: 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-sm-11 {
    -ms-flex-preferred-size: 91.66666667%;
    flex-basis: 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-sm-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-sm-offset-0 {
    margin-left: 0;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .start-sm {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    text-align: start;
  }
  .center-sm {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
  }
  .end-sm {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-align: end;
  }
  .top-sm {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .middle-sm {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .bottom-sm {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .around-sm {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  .between-sm {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .first-sm {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .last-sm {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
@media only screen and (min-width: 64em) {
  .container {
    width: 65rem;
  }
  .col-md,
  .col-md-1,
  .col-md-2,
  .col-md-3,
  .col-md-4,
  .col-md-5,
  .col-md-6,
  .col-md-7,
  .col-md-8,
  .col-md-9,
  .col-md-10,
  .col-md-11,
  .col-md-12,
  .col-md-offset-0,
  .col-md-offset-1,
  .col-md-offset-2,
  .col-md-offset-3,
  .col-md-offset-4,
  .col-md-offset-5,
  .col-md-offset-6,
  .col-md-offset-7,
  .col-md-offset-8,
  .col-md-offset-9,
  .col-md-offset-10,
  .col-md-offset-11,
  .col-md-offset-12 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .box {
    padding-bottom: 90px;
  }
  .offset-top {
    padding-top: 180px;
  }
  .offset-bottom {
    padding-bottom: 180px;
  }
  .offset-bottom-huge {
    padding-bottom: 40vh;
  }
  .offset-both {
    padding: 180px 0;
  }
  .offset-top-md {
    padding-top: 150px;
  }
  .offset-bottom-md {
    padding-bottom: 150px;
  }
  .offset-both-md {
    padding: 150px 0;
  }
  .offset-top-sm {
    padding-top: 90px;
  }
  .offset-bottom-sm {
    padding-bottom: 90px;
  }
  .offset-both-sm {
    padding: 90px 0;
  }
  .col-md {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    max-width: 100%;
  }
  .col-md-1 {
    -ms-flex-preferred-size: 8.33333333%;
    flex-basis: 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-md-2 {
    -ms-flex-preferred-size: 16.66666667%;
    flex-basis: 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-md-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-md-4 {
    -ms-flex-preferred-size: 33.33333333%;
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-md-5 {
    -ms-flex-preferred-size: 41.66666667%;
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-md-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-md-7 {
    -ms-flex-preferred-size: 58.33333333%;
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-md-8 {
    -ms-flex-preferred-size: 66.66666667%;
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-md-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-md-10 {
    -ms-flex-preferred-size: 83.33333333%;
    flex-basis: 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-md-11 {
    -ms-flex-preferred-size: 91.66666667%;
    flex-basis: 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-md-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-md-offset-0 {
    margin-left: 0;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .start-md {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    text-align: start;
  }
  .center-md {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
  }
  .end-md {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-align: end;
  }
  .top-md {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .middle-md {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .bottom-md {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .around-md {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  .between-md {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .first-md {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .last-md {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
@media only screen and (min-width: 75em) {
  .container {
    width: 76rem;
  }
  .col-lg,
  .col-lg-1,
  .col-lg-2,
  .col-lg-3,
  .col-lg-4,
  .col-lg-5,
  .col-lg-6,
  .col-lg-7,
  .col-lg-8,
  .col-lg-9,
  .col-lg-10,
  .col-lg-11,
  .col-lg-12,
  .col-lg-offset-0,
  .col-lg-offset-1,
  .col-lg-offset-2,
  .col-lg-offset-3,
  .col-lg-offset-4,
  .col-lg-offset-5,
  .col-lg-offset-6,
  .col-lg-offset-7,
  .col-lg-offset-8,
  .col-lg-offset-9,
  .col-lg-offset-10,
  .col-lg-offset-11,
  .col-lg-offset-12 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
  }
  .box {
    padding-bottom: 120px;
  }
  .offset-top {
    padding-top: 230px;
  }
  .offset-bottom {
    padding-bottom: 230px;
  }
  .offset-bottom-huge {
    padding-bottom: 50vh;
  }
  .offset-both {
    padding: 230px 0;
  }
  .offset-top-md {
    padding-top: 180px;
  }
  .offset-bottom-md {
    padding-bottom: 180px;
  }
  .offset-both-md {
    padding: 180px 0;
  }
  .offset-top-sm {
    padding-top: 120px;
  }
  .offset-bottom-sm {
    padding-bottom: 120px;
  }
  .offset-both-sm {
    padding: 120px 0;
  }
  .col-lg {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    max-width: 100%;
  }
  .col-lg-1 {
    -ms-flex-preferred-size: 8.33333333%;
    flex-basis: 8.33333333%;
    max-width: 8.33333333%;
  }
  .col-lg-2 {
    -ms-flex-preferred-size: 16.66666667%;
    flex-basis: 16.66666667%;
    max-width: 16.66666667%;
  }
  .col-lg-3 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    -ms-flex-preferred-size: 33.33333333%;
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }
  .col-lg-5 {
    -ms-flex-preferred-size: 41.66666667%;
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }
  .col-lg-6 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    -ms-flex-preferred-size: 58.33333333%;
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }
  .col-lg-8 {
    -ms-flex-preferred-size: 66.66666667%;
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }
  .col-lg-9 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%;
  }
  .col-lg-10 {
    -ms-flex-preferred-size: 83.33333333%;
    flex-basis: 83.33333333%;
    max-width: 83.33333333%;
  }
  .col-lg-11 {
    -ms-flex-preferred-size: 91.66666667%;
    flex-basis: 91.66666667%;
    max-width: 91.66666667%;
  }
  .col-lg-12 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
  }
  .col-lg-offset-0 {
    margin-left: 0;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .start-lg {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    text-align: start;
  }
  .center-lg {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
  }
  .end-lg {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-align: end;
  }
  .top-lg {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .middle-lg {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .bottom-lg {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .around-lg {
    -ms-flex-pack: distribute;
    justify-content: space-around;
  }
  .between-lg {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .first-lg {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
  }
  .last-lg {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
  }
}
.ie-only {
  display: none;
}

body {
  font-size: 1.25em;
  line-height: 1.66em;
  position: relative;
  overflow-x: hidden;
}
#main {
  overflow: hidden;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 900;
  margin: 0;
  line-height: 1.1em;
}
h1 b,
h2 b,
h3 b,
h4 b,
h5 b,
h6 b {
  color: #d6372e;
}
h2 {
  font-size: 5em;
}

a.text-link {
  display: inline-block;
  position: relative;
  padding-bottom: 2px;
}
a.text-link:before {
  transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-transform-origin: 0 50%;
  -ms-transform-origin: 0 50%;
  transform-origin: 0 50%;
  content: "";
  display: block;
  position: absolute;
  width: 0%;
  height: 2px;
  background-color: #253069;
  bottom: 0;
  left: 0;
}
a.text-link:hover:before {
  width: 100%;
}
h3 {
  font-size: 1.9em;
}
h4 {
  font-weight: 600;
}
p {
  line-height: 1.66em;
  margin: 0;
  text-align: left;
}
.cl-effect-5 a:focus span,
.cl-effect-5 a:hover span {
  -webkit-transform: translateY(-100%);
  -moz-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}
a {
  outline: 0;
  color: #253069;
  text-decoration: none;
}
a.bs-button {
  transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -moz-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: all 350ms cubic-bezier(0.77, 0, 0.175, 1);
  font-size: 0.75em;
  line-height: 4em;
  color: #fff;
  display: inline-block;
  padding: 0 30px;
  font-weight: 600;
  overflow: hidden;
  position: relative;
  background-color: #d6372e;
}
a.bs-button.btn-small {
  padding: 0 20px;
  line-height: 4em;
}
a.bs-button span {
  position: relative;
  display: inline-block;
  -webkit-transition: -webkit-transform 0.3s;
  -moz-transition: -moz-transform 0.3s;
  transition: -webkit-transform 0.3s;
  -o-transition: transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
a.bs-button span:before {
  position: absolute;
  top: 100%;
  content: attr(data-hover);
  font-weight: 600;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
a.bs-button:focus span,
a.bs-button:hover span {
  -webkit-transform: translateY(-100%);
  -moz-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
}
a.contact {
  background-color: transparent !important;
}
::-moz-selection {
  background: rgba(214, 55, 46, 0.05);
  color: #d6372e;
}
::selection {
  background: rgba(214, 55, 46, 0.05);
  color: #d6372e;
}
::-moz-selection {
  background: rgba(214, 55, 46, 0.05);
  color: #d6372e;
}
a:active,
a:focus,
a:hover {
  outline: 0;
}
ul li {
  list-style-type: none;
}
img {
  width: 100%;
}
header .header-description {
  margin: 2em 0 4em 0;
}
.scene-element > .grid-wrap {
  padding-top: 5vh;
}
.wrapped-heading span {
  display: block;
}
.suptitle {
  text-transform: uppercase;
  font-size: 0.6em;
  letter-spacing: 0.2em;
}
.italic {
  font-style: italic;
}
.small {
  font-size: 0.75em;
}
.smaller {
  font-size: 0.65em;
}
.big {
  font-size: 1.5em;
  line-height: 1.8em;
}
.huge {
  font-weight: 800;
  font-size: 2em;
  line-height: 1.6em;
}
.center {
  text-align: center;
}
.right {
  text-align: right;
}
.left {
  text-align: left;
}
.grid-wrap {
  width: 76%;
  margin: 0 auto;
  padding: 0 12%;
}
.svg-shape {
  position: absolute;
}
.svg-shape.shape-static {
  position: static;
  width: 100%;
  height: auto;
  padding: 0 0 3em;
}
header h2 {
  font-size: 6em;
  line-height: 1em;
  margin-top: 0.25em;
}
header .header-description {
  margin: 3em 0 6em 0;
}
@media only screen and (min-width: 75em) {
  body {
    font-size: 1.5em;
    line-height: 1.66em;
  }
  h2 {
    font-size: 8.333em;
    line-height: 1em;
  }
}

@media only screen and (min-width: 1921px) {
  body {
    font-size: 1.75em;
  }
}
