@import url("https://fonts.googleapis.com/css?family=Lato:300,400,700&display=swap");
html,
body {
  overflow-x: hidden;
  font-size: 2.5vw; }
  @media screen and (min-width: 576px) {
    html,
    body {
      font-size: 12px; } }
  @media screen and (min-width: 768px) {
    html,
    body {
      font-size: 13px; } }
  @media screen and (min-width: 992px) {
    html,
    body {
      font-size: 14px; } }
  @media screen and (min-width: 1400px) {
    html,
    body {
      font-size: 16px; } }

h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
li,
ul,
ol,
span {
  margin: 0;
  padding: 0;
  font-family: "Lato", "Helvetica", "Arial", sans-serif; }

a {
  -webkit-transition: all .25s;
  -o-transition: all .25s;
  transition: all .25s;
  cursor: pointer; }
  a:link, a:hover, a:active, a:focus, a:visited {
    color: inherit;
    text-decoration: none; }
  a:hover {
    color: #f7d51e; }

img {
  max-width: 100%;
  height: auto; }

ul,
ol {
  list-style: none;
  padding-left: 0; }

input,
button,
select,
textarea {
  border: none; }
  input:focus,
  button:focus,
  select:focus,
  textarea:focus {
    outline: none !important; }

::-moz-selection {
  background-color: #ec3421;
  color: #ffffff; }

::selection {
  background-color: #ec3421;
  color: #ffffff; }

.h2, h2 {
  font-size: 2.667rem;
  font-weight: 700;
  color: #ffffff; }
  @media screen and (min-width: 768px) {
    .h2, h2 {
      font-size: 2rem; } }
  .h2--lg {
    font-size: 3rem; }
    @media screen and (min-width: 768px) {
      .h2--lg {
        font-size: 2.25rem; } }

.p, p,
li, .contact__form button {
  font-size: 1.667rem;
  font-weight: 300;
  line-height: 1.25;
  letter-spacing: 0;
  color: #ffffff;
  margin-bottom: 1.333rem; }
  @media screen and (min-width: 768px) {
    .p, p,
    li, .contact__form button {
      font-size: 1.25rem;
      margin-bottom: 1rem; } }
  .p--md {
    font-size: 1.4167rem !important; }
    @media screen and (min-width: 768px) {
      .p--md {
        font-size: 1.0625rem !important; } }
  .p--lg {
    font-size: 1.9167rem; }
    @media screen and (min-width: 768px) {
      .p--lg {
        font-size: 1.4375rem; } }
  .p--xl {
    font-size: 1.9167rem; }
    @media screen and (min-width: 768px) {
      .p--xl {
        font-size: 1.5rem; } }

.banner {
  position: relative; }
  .banner:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.65); }

.contact {
  background-color: #3288d0;
  background-image: url("../../images/letters-cm.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
  min-height: 25rem;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  @media screen and (min-width: 768px) {
    .contact {
      min-height: 18.75rem; } }
  .contact__form [class^="col-"] {
    margin-top: 2.5rem; }
    @media screen and (min-width: 768px) {
      .contact__form [class^="col-"] {
        margin-top: 1.875rem; } }
  .contact__form input,
  .contact__form textarea,
  .contact__form select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    height: 4.167rem;
    width: 100%;
    background-color: #ffffff;
    padding: 0 1.333rem;
    color: #231f20;
    font-weight: 400;
    font-size: 1.5rem; }
    @media screen and (min-width: 768px) {
      .contact__form input,
      .contact__form textarea,
      .contact__form select {
        height: 3.125rem;
        padding: 0 1rem;
        font-size: 1.125rem; } }
    .contact__form input::-webkit-input-placeholder,
    .contact__form textarea::-webkit-input-placeholder,
    .contact__form select::-webkit-input-placeholder {
      color: #231f20; }
    .contact__form input:-ms-input-placeholder,
    .contact__form textarea:-ms-input-placeholder,
    .contact__form select:-ms-input-placeholder {
      color: #231f20; }
    .contact__form input::-ms-input-placeholder,
    .contact__form textarea::-ms-input-placeholder,
    .contact__form select::-ms-input-placeholder {
      color: #231f20; }
    .contact__form input::placeholder,
    .contact__form textarea::placeholder,
    .contact__form select::placeholder {
      color: #231f20; }
  .contact__form textarea {
    height: 7.5rem;
    padding: 1.333rem; }
    @media screen and (min-width: 768px) {
      .contact__form textarea {
        height: 5.625rem;
        padding: 1rem; } }
  .contact__form button {
    background-color: #2f2f2f;
    padding: 10px 4.167rem;
    border-radius: 10rem;
    line-height: 1;
    color: #ffffff;
    font-weight: 400;
    cursor: pointer;
    margin: 0 auto;
    display: block; }
    @media screen and (min-width: 768px) {
      .contact__form button {
        padding: 10px 3.125rem; } }
    .contact__form button:hover {
      background-color: #ec3421;
      opacity: 1; }

.slider {
  padding: 4.167rem 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0px 14px 20px 0px rgba(1, 1, 1, 0.36);
  box-shadow: 0px 14px 20px 0px rgba(1, 1, 1, 0.36);
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 768px) {
    .slider {
      padding: 3.125rem 0; } }
  .slider__main img {
    padding: 0 1rem; }

.product {
  position: relative;
  z-index: 2; }

.about {
  padding: 5rem 0;
  background-color: #7c7c7c; }
  @media screen and (min-width: 768px) {
    .about {
      padding: 3.75rem 0; } }

.hero {
  background-color: #3d3d3d;
  padding: 10rem 4rem 8.333rem 0;
  margin-bottom: -1px;
  position: relative;
  background-image: url("../../images/banner-shapes.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  overflow: hidden; }
  @media screen and (min-width: 768px) {
    .hero {
      padding: 8rem 0 6.25rem 0; } }
  .hero:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 9.6875rem);
    background-image: url("../../images/banner-bg.png");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center bottom;
    -webkit-filter: drop-shadow(0 -1rem 2rem #000000);
    filter: drop-shadow(0 -1rem 2rem #000000);
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .hero__item a {
    display: block;
    width: 100%; }
    .hero__item a:focus {
      outline: none;
      -webkit-box-shadow: none;
      box-shadow: none; }
  .hero__item:focus {
    outline: none;
    -webkit-box-shadow: none;
    box-shadow: none; }
  .hero__dots {
    height: 0; }
    .hero__dots .slick-dots {
      position: absolute;
      bottom: 0;
      right: 15px;
      display: -webkit-box !important;
      display: -ms-flexbox !important;
      display: flex !important;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      @media screen and (min-width: 768px) {
        .hero__dots .slick-dots {
          -webkit-box-pack: end;
          -ms-flex-pack: end;
          justify-content: flex-end; } }
      .hero__dots .slick-dots li {
        height: 1.333rem;
        width: 1.333rem;
        border-radius: 50%;
        background-color: #ffffff;
        cursor: pointer;
        -webkit-transition: all .25s;
        -o-transition: all .25s;
        transition: all .25s;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        margin: 0; }
        @media screen and (min-width: 768px) {
          .hero__dots .slick-dots li {
            height: 1rem;
            width: 1rem; } }
        .hero__dots .slick-dots li.slick-active {
          background-color: #303030; }
        .hero__dots .slick-dots li + li {
          margin-left: 7px; }

.why {
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center bottom;
  background-color: #565656;
  margin-bottom: -1px;
  padding: 5rem 0; }
  @media screen and (min-width: 768px) {
    .why {
      background-image: url("../../images/why-bg.jpg");
      padding: 0;
      padding-bottom: 13.125rem; } }
  .why__logo {
    width: 70%;
    display: block;
    margin: 0 auto; }
    @media screen and (min-width: 768px) {
      .why__logo {
        width: 100%; } }

.brands {
  padding: 3.333rem 0 0 0; }
  @media screen and (min-width: 768px) {
    .brands {
      padding: 2.5rem 0 0 0; } }
  .brands__logos {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: -25px;
    padding-top: 6.667rem; }
    @media screen and (min-width: 768px) {
      .brands__logos {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        padding-top: 5rem; } }
    .brands__logos a {
      width: 50%;
      padding: 25px; }
      @media screen and (min-width: 768px) {
        .brands__logos a {
          width: 25%; } }
      .brands__logos a img {
        display: block;
        width: 100%; }

.bg-scroll {
  background-image: url("../../images/letters-cm.png");
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center bottom;
  background-color: #3288d0; }
  .bg-scroll .contact {
    background-image: none;
    background-color: transparent; }

.loading {
  overflow: hidden;
  height: 100vh; }
  .loading:before, .loading:after {
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .loading:before {
    content: "";
    position: fixed;
    z-index: 99999999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ec3421; }
  .loading:after {
    content: "";
    position: fixed;
    z-index: 99999999999;
    height: 60vw;
    width: 60vw;
    max-width: 25rem;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background-image: url("../../images/logo.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center; }
  .loading--finished {
    height: auto;
    overflow: initial; }
    .loading--finished:before, .loading--finished:after {
      opacity: 0;
      pointer-events: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none; }

.header {
  position: relative;
  z-index: 1; }
  .header #logo,
  .header #logo a {
    display: block;
    width: 100%;
    max-width: 22.5rem; }
    .header #logo img,
    .header #logo a img {
      width: 100%; }
  .header #logo {
    width: 50%; }
    @media screen and (min-width: 768px) {
      .header #logo {
        width: 25%; } }
  .header nav {
    position: relative; }
    .header nav > .toggle {
      background-color: #ec3421;
      color: #ffffff;
      line-height: 1;
      margin-bottom: 0;
      padding-bottom: 10px;
      letter-spacing: 0;
      font-family: "Lato", "Helvetica", "Arial", sans-serif;
      margin-top: 2rem; }
    .header nav > ul {
      margin-top: 2rem; }
      @media screen and (min-width: 768px) {
        .header nav > ul {
          margin-top: 0; } }
    .header nav ul {
      background-color: #ec3421 !important;
      border-radius: 10px; }
      @media screen and (min-width: 768px) {
        .header nav ul {
          background-color: transparent !important;
          border-radius: 0; } }
      .header nav ul li .toggle {
        white-space: nowrap;
        width: auto;
        max-width: 50%; }
      .header nav ul li a {
        letter-spacing: 0;
        font-weight: 700; }
        .header nav ul li a:link, .header nav ul li a:hover, .header nav ul li a:active, .header nav ul li a:focus, .header nav ul li a:visited {
          color: #ffffff;
          text-decoration: none; }
        @media screen and (min-width: 768px) {
          .header nav ul li a {
            margin: 0 10px; } }
        @media screen and (min-width: 992px) {
          .header nav ul li a {
            margin: 0 16px; } }
        .header nav ul li a.is-active, .header nav ul li a:hover {
          color: #f7d51e; }
      @media screen and (min-width: 768px) {
        .header nav ul li:last-child a {
          margin-right: 0; } }
      .header nav ul li > ul {
        background-color: #ec3421; }
        @media screen and (min-width: 768px) {
          .header nav ul li > ul {
            margin: 0 16px;
            background-color: #ec3421 !important;
            border-radius: 5px; } }
        .header nav ul li > ul:before {
          content: "";
          position: absolute;
          z-index: -1;
          top: 0;
          left: 0;
          width: 100%;
          height: 1rem;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
        .header nav ul li > ul li {
          width: auto; }
          .header nav ul li > ul li a {
            line-height: 1;
            font-weight: 400;
            margin: 10px 0; }
            @media screen and (min-width: 768px) {
              .header nav ul li > ul li a {
                margin: 8px 6px; } }
  .header--alt {
    position: absolute;
    z-index: 9999;
    width: 100%;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }

.footer {
  background: #565656;
  padding: 2.8125rem 0 4.6875rem 0; }
  .footer__logo {
    width: 50%;
    display: block;
    margin: 0 auto; }
    @media screen and (min-width: 768px) {
      .footer__logo {
        margin: 0;
        display: inline-block;
        width: 100%;
        max-width: 8.125rem; } }
    .footer__logo img {
      width: 100%; }
  .footer .copy-right-grids {
    letter-spacing: 0;
    color: #ffffff; }
  .footer p a {
    font-weight: 400; }
    .footer p a:hover {
      color: #f7d51e; }
  .footer-nav-wthree {
    margin-bottom: 2rem; }
    @media screen and (min-width: 768px) {
      .footer-nav-wthree {
        margin: -6px;
        margin-bottom: 10px; } }
    .footer-nav-wthree li {
      margin: 6px; }
      @media screen and (min-width: 768px) {
        .footer-nav-wthree li:not(:last-child) {
          margin-right: 1.25rem;
          margin-top: 0; } }
      .footer-nav-wthree li a {
        font-weight: 700 !important;
        letter-spacing: 0 !important;
        margin: 0 !important;
        font-size: 1.667rem !important; }
        @media screen and (min-width: 768px) {
          .footer-nav-wthree li a {
            font-size: 1.25rem !important; } }
        .footer-nav-wthree li a:hover {
          color: #2a2929; }
  .footer a:hover {
    color: #2a2929 !important; }

.u-bg-primary {
  background-color: #ec3421; }

.u-color-secondary {
  color: #fff600; }

.u-weight-lgt {
  font-weight: 300; }

.u-weight-reg {
  font-weight: 400; }

.u-weight-bld {
  font-weight: 700; }

[data-scroll-to] {
  -webkit-transition: initial !important;
  -o-transition: initial !important;
  transition: initial !important; }
