@font-face {
  font-family: 'OrangeCrayon';
  src: url('../../../../fonts/Orange-Crayon/OrangeCrayon-Regular.eot');
  src: url('../../../../fonts/Orange-Crayon/OrangeCrayon-Regular.eot?#iefix') format('embedded-opentype'),
    url('../../../../fonts/Orange-Crayon/OrangeCrayon-Regular.woff2') format('woff2'),
    url('../../../../fonts/Orange-Crayon/OrangeCrayon-Regular.woff') format('woff'),
    url('../../../../fonts/Orange-Crayon/OrangeCrayon-Regular.ttf') format('truetype'),
    url('../../../../fonts/Orange-Crayon/OrangeCrayon-Regular.svg#OrangeCrayon-Regular') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'National Railway Banner';
  src: url('../../../../fonts/NationalRailway-Banner/NationalRailway-Banner.eot');
  src: url('../../../../fonts/NationalRailway-Banner/NationalRailway-Banner.eot?#iefix') format('embedded-opentype'),
    url('../../../../fonts/NationalRailway-Banner/NationalRailway-Banner.woff2') format('woff2'),
    url('../../../../fonts/NationalRailway-Banner/NationalRailway-Banner.woff') format('woff'),
    url('../../../../fonts/NationalRailway-Banner/NationalRailway-Banner.ttf') format('truetype'),
    url('../../../../fonts/NationalRailway-Banner/NationalRailway-Banner.svg#NationalRailway-Banner') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Boogaloo';
  src: url('../../../../fonts/Boogaloo-Regular/Boogaloo-Regular.eot');
  src: url('../../../../fonts/Boogaloo-Regular/Boogaloo-Regular.eot?#iefix') format('embedded-opentype'),
    url('../../../../fonts/Boogaloo-Regular/Boogaloo-Regular.woff2') format('woff2'),
    url('../../../../fonts/Boogaloo-Regular/Boogaloo-Regular.woff') format('woff'),
    url('../../../../fonts/Boogaloo-Regular/Boogaloo-Regular.ttf') format('truetype'),
    url('../../../../fonts/Boogaloo-Regular/Boogaloo-Regular.svg#Boogaloo-Regular') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

.boogaloo {
  font-family: 'Boogaloo';
}

.nat-railway-banner {
  font-family: 'National Railway Banner';
}

.orangecrayon {
  font-family: 'OrangeCrayon';
}

.text-decoration-none {
  text-decoration: none;
}

#nov4-hero .nov4-inner .button:hover {
  text-decoration: none;
}

#nov4-hero {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../images/hero/back.jpg);
  background-image: image-set(url("../images/hero/back.webp") 1x,
      url("../images/hero/back@2x.webp") 2x);
  background-image: -webkit-image-set(url("../images/hero/back.webp") 1x,
      url("../images/hero/back@2x.webp") 2x);
}

/* <picture> wrappers must not affect the hero layout */
#nov4-hero picture {
  display: contents;
}

#nov4-hero .nov4-inner {
  margin: 0;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

/* Layout / containers */
#nov4-hero p {
  margin-bottom: 0;
}

#nov4-hero .nov4-left {
  max-width: 50%;
  width: 100%;
  padding-top: 84px;
  padding-bottom: 58px;
}

#nov4-hero .nov4-right {
  max-width: 50%;
  width: 100%;
}

/* Left images */
#nov4-hero .logos {
  top: 30px;
  right: 30px;
}

#nov4-hero .snow {
  bottom: 0;
  width: 100%;
  z-index: 1;
  min-width: 959px;
}

/* Left text */
#nov4-hero .main-text1 {
  color: #000;
  text-align: center;
  font-size: 56px;
  font-style: normal;
  font-weight: 400;
  line-height: 21.996px;
  /* 39.278% */
}

#nov4-hero .main-text2 {
  color: #000;
  text-align: center;
  font-size: 22px;
  font-style: normal;
  font-weight: 600;
  line-height: 21.996px;
  /* 99.981% */
  z-index: 2;
}

/* Product wrappers (shared) */
#nov4-hero .product-wrapper1 .product-img-wrapper {
  width: 201px;
  height: 224px;
}

#nov4-hero .product-wrapper2 .product-img-wrapper {
  width: 275.66px;
  height: 215px;
}

/* Product images */
#nov4-hero .product-1 {
  max-width: unset;
}

#nov4-hero .product-2 {
  max-width: unset;
}

/* Product content text */
#nov4-hero .text1 {
  color: #FFF;
  text-align: center;
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px;
  /* 92.857% */
  text-transform: uppercase;
}

#nov4-hero .text2 {
  color: #FFF;
  text-align: center;
  font-size: 49.96px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  /* 56.045% */
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

#nov4-hero .text3 {
  color: #FFF;
  font-size: 29.2px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  letter-spacing: 0.292px;
  text-transform: uppercase;
}

#nov4-hero .text4 {
  color: #FFF;
  text-align: center;
  font-size: 19px;
  font-style: normal;
  font-weight: 800;
  line-height: normal;
  margin-top: 12px;
}

/* Buttons */
#nov4-hero .nov4-left .button {
  width: 165px;
  height: 43px;
  border-radius: 54px;
  background: #009047;
  color: #FFF;
  text-align: center;
  font-size: 18px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  text-transform: uppercase;
  margin-top: 17px;
  padding: 0;
}

#nov4-hero .nov4-right .button {
  width: 121px;
  height: 30px;
  border-radius: 41.442px;
  background: #FFF;
  color: #000;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  text-transform: uppercase;
  margin-top: 10px;
  padding: 0;
}

@supports (text-box: trim-both cap alphabetic) {
  #nov4-hero .button span {
    text-box: trim-both cap alphabetic;
  }
}

.nov4-left-content {
  padding-right: 111px;
}

.nov4-right-content {
  padding-left: 90px;
  gap: 32px;
}

#nov4-hero .product-wrapper1 .text1 {
  margin-bottom: 14px;
}

#nov4-hero .product-wrapper1 .text2 {
  margin-bottom: 6px;
}

#nov4-hero .product-wrapper1 {
  gap: 31px;
  left: -27px;
}

#nov4-hero .snow-animation {
  z-index: 9;
  bottom: 0;
  pointer-events: none;
}

@media screen and (max-width: 1470px) {
  .nov4-left-content {
    padding-right: 51px;
  }

  .nov4-right-content {
    padding-left: 73px;
  }
}

@media screen and (max-width: 1200px) {
  .nov4-left-content {
    padding-right: 5px;
  }

  .nov4-right-content {
    padding-left: 10px;
  }
}

@media screen and (max-width: 991px) {
  #nov4-hero .nov4-inner {
    flex-direction: column;
  }

  .nov4-left-content {
    padding-right: 0;
  }

  .nov4-right-content {
    padding-left: 0;
  }

  #nov4-hero {
    background-image: unset;
  }

  #nov4-hero .nov4-left {
    max-width: 100%;
    align-items: center;
    background-position: bottom center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../images/hero/back-top.jpg);
    background-image: image-set(url("../images/hero/back-top.webp") 1x,
        url("../images/hero/back-top@2x.webp") 2x);
    background-image: -webkit-image-set(url("../images/hero/back-top.webp") 1x,
        url("../images/hero/back-top@2x.webp") 2x);
  }

  #nov4-hero .nov4-right {
    padding: 40px 0;
    max-width: 100%;
    align-items: center;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url(../images/hero/back-bottom.png);
    background-image: image-set(url("../images/hero/back-bottom.webp") 1x,
        url("../images/hero/back-bottom@2x.webp") 2x);
    background-image: -webkit-image-set(url("../images/hero/back-bottom.webp") 1x,
        url("../images/hero/back-bottom@2x.webp") 2x);
  }
}

@media screen and (max-width: 567px) {

  /* mobile sizes are in cqw of #nov4-hero (1cqw = 4px at a 400px wide viewport) */
  #nov4-hero {
    container-type: inline-size;
  }

  #nov4-hero .snow {
    min-width: unset;
  }

  #nov4-hero img.snow-animation[src*="snow-m"] {
    width: 97.5cqw;
    height: auto;
  }

  #nov4-hero img.main[src*="main-m"] {
    width: 97.5cqw;
    height: auto;
  }

  #nov4-hero .main-text1 {
    font-size: 9.5cqw;
    line-height: 5.499cqw;
    /* 57.884% */
  }

  #nov4-hero .main-text2 {
    font-size: 5cqw;
    line-height: 5.499cqw;
    /* 109.98% */
    margin-top: 7.5cqw;
  }

  #nov4-hero .nov4-left .button {
    border-radius: 12.5cqw;
    background: #009546;
    width: 30.5cqw;
    height: 10cqw;
    font-size: 4cqw;
    margin-top: 4.75cqw;
  }

  #nov4-hero .nov4-right .button {
    width: 30.25cqw;
    height: 7.5cqw;
    border-radius: 10.3605cqw;
    font-size: 3.5cqw;
    margin-top: 2.5cqw;
  }

  #nov4-hero .text1 {
    font-size: 6.5cqw;
    line-height: 5.75cqw;
    /* 88.462% */
  }

  #nov4-hero .text2 {
    font-size: 10.207cqw;
    line-height: 5.7205cqw;
    /* 56.045% */
    letter-spacing: 0.125cqw;
  }

  #nov4-hero .text3 {
    font-size: 5.9655cqw;
    line-height: 5.7205cqw;
    letter-spacing: 0.073cqw;
  }

  #nov4-hero .text4 {
    font-size: 4.5cqw;
    margin-top: 3cqw;
  }

  #nov4-hero .product-wrapper1 .text1 {
    margin-bottom: 3.5cqw;
  }

  #nov4-hero .product-wrapper1 .text2 {
    margin-bottom: 1.5cqw;
  }

  #nov4-hero .product-wrapper1 .product-img-wrapper {
    width: 45.25cqw;
    height: 50.42775cqw;
  }

  #nov4-hero .product-wrapper2 .product-img-wrapper {
    width: 45cqw;
    height: 48cqw;
  }

  #nov4-hero .product-content {
    max-width: 50%;
    width: 100%;
  }

  #nov4-hero .product-wrapper1 {
    gap: 0;
    left: unset;
  }

  #nov4-hero .product-1 {
    width: 157%;
    left: 50%;
    transform: translateX(-43%);
  }

  #nov4-hero .product-2 {
    width: 118%;
    left: 50%;
    transform: translateX(-55%);
  }

  #nov4-hero .nov4-right {
    padding-top: 13.75cqw;
    padding-bottom: 20cqw;
  }

  .nov4-right-content {
    gap: 4.75cqw;
  }

  #nov4-hero .logos {
    max-width: 27.5605cqw;
    height: auto;
    top: 8cqw;
    right: 4.75cqw;
  }

  #nov4-hero .nov4-left {
    padding-top: 25cqw;
    padding-bottom: 12cqw;
  }
}