/*
* Scut, a collection of Sass utilities
* to ease and improve our implementations of common style-code patterns.
* v2.0.0
* Docs at http://ramseyinhouse.github.io/scut
*/
.sn_block:has(.sn_hero.__fixed_effect) {
  -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.sn_hero {
  position: relative;
  overflow: hidden;
  min-height: 100vh;
  min-height: calc(100vh + var(--sn-extra-padding, 0rem));
  min-height: calc(var(--vh, 1vh) * 100 + var(--sn-extra-padding, 0rem));
  padding-top: 7.125rem;
  padding-bottom: calc(7.125rem + var(--sn-extra-padding, 0rem));
  display: flex;
  align-items: center;
  background: linear-gradient(200deg, #edb1c1 0%, #f8f9fa 40%, #f8f9fa 50%, #a3c8df 100%);
  color: #324154;
}
body.__header_white .sn_hero {
  background: linear-gradient(200deg, #0069A7 0%, #1F1914 35%, #1F1914 60%, #DB0032 100%);
  color: #fff;
  --bs-heading-color: #fff;
}
body.__header_white .sn_hero .btn {
  --sn-btn-outline-color: #fff;
}
body.__header_white .sn_hero .sn_hero__bg__in::after {
  background: linear-gradient(200deg, #0069A7 0%, #1F1914 35%, #1F1914 60%, #DB0032 100%);
}
.sn_hero.__404 {
  background: none;
  text-align: center;
}
.sn_hero.__overlap_effect {
  z-index: 1;
  --sn-extra-padding: 3.58875rem;
}
@media only screen and (min-width: 75em) {
  .sn_hero.__overlap_effect {
    --sn-extra-padding: 4.66125rem;
  }
}
.sn_hero.__overlap_effect .sn_hero__next_anchor {
  bottom: 4.625rem;
}
@media only screen and (min-width: 62em) {
  .sn_hero.__overlap_effect .sn_hero__next_anchor {
    bottom: 6.5rem;
  }
}
.sn_hero.__overlap_effect ~ .__overlap_section {
  position: relative;
  z-index: 2;
  background: none;
  margin-top: -10.875rem;
}
@media only screen and (min-width: 75em) {
  .sn_hero.__overlap_effect ~ .__overlap_section {
    margin-top: -14.125rem;
  }
}
.sn_hero.__fixed_effect {
  position: fixed;
  top: 0;
  right: 0;
  bottom: calc(var(--sn-extra-padding, 0rem) * -1);
  left: 0;
}
.sn_hero.__fixed_effect + .sn_hero__spacer {
  display: block;
}
@media only screen and (min-width: 62em) {
  .sn_hero {
    padding-top: 13.3125rem;
    padding-bottom: calc(13.3125rem + var(--sn-extra-padding, 0rem));
  }
}
.sn_hero__bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.sn_hero__bg__in {
  position: relative;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 0em) and (max-width: 61.99em) {
  .sn_hero__bg__in picture.__desktop {
    display: none;
  }
}
@media only screen and (min-width: 62em) {
  .sn_hero__bg__in picture.__mobile {
    display: none;
  }
}
.sn_hero__bg__in::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  opacity: 0.5;
  background: linear-gradient(200deg, #edb1c1 0%, #f8f9fa 40%, #f8f9fa 50%, #a3c8df 100%);
  pointer-events: none;
}
.sn_hero__bg .sn_playpause {
  right: 0.625rem;
  bottom: calc(0.4375rem + var(--sn-extra-padding, 0rem));
}
@media only screen and (min-width: 62em) {
  .sn_hero__bg .sn_playpause {
    right: 0.875rem;
  }
}
.sn_hero__icon {
  display: flex;
  justify-content: center;
}
.sn_hero__icon svg-sprite {
  width: 2.25rem;
  height: 2.25rem;
}
@media only screen and (min-width: 62em) {
  .sn_hero__icon svg-sprite {
    width: 3rem;
    height: 3rem;
  }
}
.sn_hero .sn_breadcrumb {
  position: absolute;
  top: 5.5rem;
  left: 0;
  z-index: 2;
}
@media only screen and (min-width: 62em) {
  .sn_hero .sn_breadcrumb {
    position: absolute;
    top: 8rem;
    left: 0;
  }
}
.sn_hero__in {
  position: relative;
  z-index: 2;
  flex-grow: 1;
  display: flex;
  align-items: center;
}
.sn_hero__scroll {
  position: absolute;
  right: calc(var(--sn-extra-padding, 0rem) + 3.125rem);
  bottom: calc(var(--sn-extra-padding, 0rem) + 3.125rem);
  display: block;
  z-index: 20;
  cursor: pointer;
  border-radius: 12.5rem;
}
@media only screen and (min-width: 62em) {
  .sn_hero__scroll {
    right: calc(var(--sn-extra-padding, 0rem) + 3.75rem);
    bottom: calc(var(--sn-extra-padding, 0rem) + 3.75rem);
  }
}
.sn_hero__spacer {
  height: 100vh;
  height: calc(100vh + var(--sn-extra-padding, 0rem));
  height: calc(var(--vh, 1vh) * 100 + var(--sn-extra-padding, 0rem));
  display: none;
}
.sn_hero__next_anchor {
  position: absolute;
  right: 0;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
}