/*
* 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_main_welcome__slider .swiper-slide picture {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.sn_main_welcome__slider .swiper-slide picture picture, .sn_main_welcome__slider .swiper-slide picture img {
  width: 100%;
  height: 100%;
}
.sn_main_welcome__slider .swiper-slide picture img {
  -o-object-fit: cover;
     object-fit: cover;
}

html,
body {
  height: 100%;
}

.sn_main_welcome {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  position: relative;
  overflow: hidden;
  --sn-tint: color-mix(in srgb, var(--accent) 65%, white);
  --sn-shade: color-mix(in srgb, var(--accent) 28%, black);
}
@media only screen and (min-width: 62em) {
  .sn_main_welcome {
    align-items: center;
  }
}
.sn_main_welcome::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate3d(-50%, -52%, 0);
  width: 69.6875rem;
  height: 31.4375rem;
  background: linear-gradient(180deg, var(--sn-shade) 0%, var(--sn-tint) 100%);
  z-index: 10;
  border-radius: 50%;
}
@media only screen and (min-width: 62em) {
  .sn_main_welcome::after {
    display: none;
  }
}
.sn_main_welcome .swiper {
  pointer-events: none;
}
.sn_main_welcome__slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sn_main_welcome__slider .swiper-slide {
  width: 100%;
  height: 100%;
}
.sn_main_welcome__slider .swiper-slide picture::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 82%;
  z-index: 10;
}
@media only screen and (min-width: 62em) {
  .sn_main_welcome__slider .swiper-slide picture::after {
    width: 100%;
    height: 100%;
  }
}
.sn_main_welcome__content {
  position: relative;
  z-index: 20;
  text-align: center;
  padding-bottom: 4.125rem;
  width: 100%;
}
@media only screen and (min-width: 62em) {
  .sn_main_welcome__content {
    padding-bottom: 0;
  }
}
.sn_main_welcome__content__logo {
  max-width: 10.25rem;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (min-width: 62em) {
  .sn_main_welcome__content__logo {
    max-width: 20.4375rem;
  }
}
.sn_main_welcome__content__logo img {
  display: block;
  width: 100%;
  height: auto;
}
.sn_main_welcome__content__title__in {
  opacity: 0;
  transform: translate3d(1.25rem, 0, 0);
  transition: all 0.75s cubic-bezier(0.7, 0, 0, 1);
}
.sn_main_welcome__content__title .swiper-slide-active .sn_main_welcome__content__title__in {
  opacity: 1;
  transform: none;
}
.sn_main_welcome__content__locations {
  padding-left: 0;
  list-style: none;
  display: inline-grid;
  grid-template-columns: repeat(4, 1fr);
  justify-content: center;
  gap: 1.5rem;
}
@media only screen and (min-width: 0em) and (max-width: 61.99em) {
  .sn_main_welcome__content__locations {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.25rem 2rem;
  }
}
.sn_main_welcome__content__locations li a {
  width: 8.5rem;
  height: 8.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
  background-color: var(--accent, #808080);
  border-radius: 0.5rem;
}
@media only screen and (min-width: 0em) and (max-width: 61.99em) {
  .sn_main_welcome__content__locations li a {
    width: 5.25rem;
    height: 5.25rem;
    font-size: 1.5rem;
  }
}
.sn_main_welcome__content__locations li a:hover {
  background-color: #000;
}