html {
  scrollbar-width: thin;
}

::-webkit-scrollbar {
  width: 0.5rem;
  height: 0.5rem;
}

::-webkit-scrollbar-track {
  background-color: #eceeef;
}

::-webkit-scrollbar-thumb {
  border-radius: 25rem;
  transition: background-color 0.5s;
  background-color: #91bfe3;
}

.bg-black {
  background-color: #000;
}

.bg-size-cover {
  background-size: cover;
}

.bg-y-top {
  background-position-y: top;
}

.bg-y-bottom {
  background-position-y: bottom;
}

.bg-y-mid {
  background-position-y: 50%;
}

.bg-x-left {
  background-position-x: left;
}

.bg-x-right {
  background-position-x: right;
}

.bg-x-mid {
  background-position-x: 50%;
}

.z-0 {
  z-index: 0;
}

.z-1 {
  z-index: 1;
}

.z-2 {
  z-index: 2;
}

.z-3 {
  z-index: 3;
}

.z-top {
  z-index: 9999;
}

.x-0 {
  left: 0;
}

.x-right {
  right: 0;
}

.y-0 {
  top: 0;
}

.y-mid {
  top: 50%;
}

.y-bottom {
  bottom: 0;
}

.w-0 {
  width: 0;
}

.w-100 {
  width: 100%;
}

.vw-100 {
  width: 100vw;
}

.w-auto {
  width: auto;
}

@media (min-width: 992px) {
  .w-lg-auto {
    width: auto;
  }
}

.h-0 {
  height: 0;
}

.h-100 {
  height: 100%;
}

.vh-100 {
  height: 100vh;
}

.h-auto {
  height: auto;
}

@media (min-width: 992px) {
  .h-lg-auto {
    height: auto;
  }
}

.overflow-auto {
  overflow: auto;
}

.overflow-hidden {
  overflow: hidden;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.overflow-y-auto {
  overflow-y: auto;
}

@media (min-width: 992px) {
  .overflow-lg-visible {
    overflow: visible;
  }
}

.preserve-3d {
  transform-style: preserve-3d;
}

.text-nowrap {
  white-space: nowrap;
}

.text-decoration-none {
  text-decoration: none;
}

/* text-center alternative */
.text-align-center {
  text-align: center;
}

@media (min-width: 576px) {
  .text-sm-left {
    text-align: left !important;
  }
}

@media (min-width: 768px) {
  .text-md-left {
    text-align: left !important;
  }
}

@media (min-width: 768px) {
  .text-md-right {
    text-align: right !important;
  }
}

@media (min-width: 992px) {
  .text-lg-left {
    text-align: left !important;
  }
}

.d-none {
  display: none !important;
}

@media (min-width: 576px) {
  .d-sm-none {
    display: none !important;
  }
}

@media (min-width: 576px) {
  .d-sm-block {
    display: block !important;
  }
}

@media (min-width: 768px) {
  .d-md-block {
    display: block !important;
  }
}

@media (min-width: 992px) {
  .d-lg-none {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .d-xl-none {
    display: none !important;
  }
}

@media (min-width: 992px) {
  .d-lg-block {
    display: block !important;
  }
}

@media (min-width: 1200px) {
  .d-xl-block {
    display: block !important;
  }
}

.h-logo-header {
  height: 2.125rem;
}

.list-unstyled {
  list-style: none;
  list-style-image: none;
  padding: 0;
}

.line-height-1 {
  line-height: 1;
}

.line-height-dec {
  line-height: 1.2;
}

.font-size-dec {
  font-size: 0.9rem;
}

.font-size-base {
  font-size: 1rem;
}

.font-size-inc {
  font-size: 1.1rem;
}

.font-size-lg {
  font-size: 1.2rem;
}

.font-size-xl {
  font-size: 3rem;
}

.font-size-display-1 {
  font-size: 3.5rem;
}
@media (min-width: 992px) {
  .font-size-display-1 {
    font-size: 5rem;
  }
}

.font-size-display-2 {
  font-size: 3rem;
}
@media (min-width: 992px) {
  .font-size-display-2 {
    font-size: 4.25rem;
  }
}

.font-size-display-3 {
  font-size: 2.5rem;
}
@media (min-width: 992px) {
  .font-size-display-3 {
    font-size: 3.75rem;
  }
}

@media (min-width: 992px) {
  .font-size-lg-base {
    font-size: 1rem;
  }
}

@media (min-width: 992px) {
  .font-size-lg-inc {
    font-size: 1.1rem;
  }
}

@media (min-width: 1200px) {
  .font-size-xl-lg {
    font-size: 1.2rem;
  }
}

.font-family-serif {
  font-family: Ogg-Regular, serif;
}

@media (min-width: 768px) {
  .text-glow-black {
    text-shadow: 0px 0px 1rem #000;
  }
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

@media (min-width: 768px) {
  .position-md-absolute {
    position: absolute !important;
  }
}

@media (min-width: 992px) {
  .position-lg-relative {
    position: relative !important;
  }
}

@media (min-width: 992px) {
  .position-lg-absolute {
    position: absolute !important;
  }
}

.border-top {
  border-top-style: solid;
  border-top-width: 1px;
}

.border-y {
  border-top-style: solid;
  border-top-width: 1px;
}
.border-y:last-of-type {
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

@media (min-width: 992px) {
  .border-lg-0 {
    border-style: none !important;
    border-width: 0 !important;
  }
}

.transition-all-03s {
  transition: all 0.3s;
}

.transition-all-05s {
  transition: all 0.5s;
  transition-timing-function: ease-out;
}

.w-max-md {
  width: min(100vw, 768px);
}

.w-max-lg {
  width: min(100vw, 992px);
}

.rounded-circle {
  border-radius: 99999px;
}

.rounded-3 {
  border-radius: 1rem;
}

/* alternative pt-5 */
.pt-5-alt {
  padding-top: 3rem !important;
}

@media (min-width: 1440px) {
  .pt-xxl-7 {
    padding-top: 7.5rem !important;
  }
}

.mt-7 {
  margin-top: 7.5rem !important;
}

.mt-n7 {
  margin-top: -7.5rem !important;
}

@media (min-width: 768px) {
  .mt-md-6 {
    margin-top: 6rem !important;
  }
}

@media (min-width: 992px) {
  .mt-lg-n7 {
    margin-top: -7.5rem !important;
  }
}

@media (min-width: 1200px) {
  .mt-xl-5 {
    margin-top: 3rem !important;
  }
}

@media (min-width: 1200px) {
  .mt-xl-n8 {
    margin-top: -8rem !important;
  }
}

.perspective-1000 {
  perspective: 1000px;
}

.perspective-100 {
  perspective: 100px;
}

@media (min-width: 992px) {
  .trans-x-lg-5 {
    transform: translateX(3rem);
  }
}

@media (min-width: 1200px) {
  .trans-x-xl-5 {
    transform: translateX(3rem);
  }
}

.transform-origin-top-center {
  transform-origin: top center;
}

.transform-origin-center {
  transform-origin: center;
}

.transform-origin-bottom-center {
  transform-origin: bottom center;
}

.container-xxl {
  width: 100%;
  max-width: calc(1440px - 12rem);
  margin-right: auto;
  margin-left: auto;
}

/* components and overrides */
.wh-circle-icon {
  width: 3.375rem;
  height: 3.375rem;
}

.wh-img-hero {
  width: 100%;
  height: min(118vw, 23.75rem);
}
@media (min-width: 576px) {
  .wh-img-hero {
    height: min(66vw, 24rem);
  }
}
@media (min-width: 768px) {
  .wh-img-hero {
    height: min(50vw, 33rem);
  }
}
@media (min-width: 1200px) {
  .wh-img-hero {
    height: min(44vw, 40rem);
  }
}

.parallax-carousel {
  transform: translate3d(0, -200px, -500px) scale(1.5);
}

.splide-pagination-opaque .splide__pagination li .splide__pagination__page {
  opacity: 1;
}

.splide-pagination-wh-3 .splide__pagination li .splide__pagination__page {
  width: 1rem;
  height: 1rem;
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}

.splide-pagination-mb-3 .splide__pagination {
  bottom: 1rem;
}

.splide-arrows-y-revert .splide__arrows .splide__arrow {
  top: 50%;
}

.splide-pagination-visible .splide__pagination {
  display: inline-flex !important;
}

.splide-fullscreen .splide__arrows .splide__arrow.splide__arrow--prev {
  left: 1rem;
}
@media (min-width: 768px) {
  .splide-fullscreen .splide__arrows .splide__arrow.splide__arrow--prev {
    left: 2rem;
  }
}
.splide-fullscreen .splide__arrows .splide__arrow.splide__arrow--next {
  right: 1rem;
}
@media (min-width: 768px) {
  .splide-fullscreen .splide__arrows .splide__arrow.splide__arrow--next {
    right: 2rem;
  }
}

.max-h-body-darkblue {
  max-height: 29rem;
}
@media (min-width: 576px) {
  .max-h-body-darkblue {
    max-height: 27rem;
  }
}
@media (min-width: 768px) {
  .max-h-body-darkblue {
    max-height: 28rem;
  }
}
@media (min-width: 992px) {
  .max-h-body-darkblue {
    max-height: 26rem;
  }
}
@media (min-width: 1200px) {
  .max-h-body-darkblue {
    max-height: min(50vw, 37rem);
  }
}

@media (min-width: 992px) {
  .mt-lg-n-banner {
    margin-top: -10rem;
  }
}

@media (min-width: 1200px) {
  .mt-xl-n-grid-edge {
    margin-top: -7.5rem;
  }
}

.d-grid-edge {
  display: grid;
  row-gap: 2rem;
  column-gap: 2rem;
  grid-template-rows: auto;
  grid-template-areas: "box-R1" "image-primary" "box-R2" "image-1" "image-2" "box-R3" "image-3" "image-4" "box-R4";
}
@media (min-width: 576px) {
  .d-grid-edge {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "box-R1 image-1" "image-primary image-primary" "image-2 box-R2" "box-R3 image-3" "image-4 box-R4";
  }
}
@media (min-width: 992px) {
  .d-grid-edge {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-areas: "box-R1 image-primary image-primary" "image-1 box-R2 image-2" "image-3 image-4 box-R3" "box-R4 . .";
  }
}
@media (min-width: 1200px) {
  .d-grid-edge {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-areas: "box-R1 image-primary image-primary ." ". box-R2 image-1 image-2" "image-3 image-4 box-R3 ." ". box-R4 . .";
  }
}
.d-grid-edge .area-box-R1 {
  grid-area: box-R1;
}
.d-grid-edge .area-box-R2 {
  grid-area: box-R2;
}
.d-grid-edge .area-box-R3 {
  grid-area: box-R3;
}
.d-grid-edge .area-box-R4 {
  grid-area: box-R4;
}
.d-grid-edge .area-image-primary {
  grid-area: image-primary;
}
.d-grid-edge .area-image-1 {
  grid-area: image-1;
}
.d-grid-edge .area-image-2 {
  grid-area: image-2;
}
.d-grid-edge .area-image-3 {
  grid-area: image-3;
}
.d-grid-edge .area-image-4 {
  grid-area: image-4;
}
.d-grid-edge .min-h-area {
  min-height: 12rem;
}
@media (min-width: 768px) {
  .d-grid-edge .min-h-area {
    min-height: 15rem;
  }
}

@media (min-width: 992px) {
  .parallax-grid {
    transform: translate3d(0, -5rem, 200px) scale(0.8);
  }
}

.min-h-img-banner {
  min-height: 75vw;
}
@media (min-width: 768px) {
  .min-h-img-banner {
    min-height: 60vw;
  }
}
@media (min-width: 992px) {
  .min-h-img-banner {
    min-height: 55vw;
  }
}

.wh-footer-moons {
  width: auto;
  height: auto;
}
@media (min-width: 992px) {
  .wh-footer-moons {
    width: min(40vw, 30rem);
  }
}
@media (min-width: 1200px) {
  .wh-footer-moons {
    width: min(45vw, 36rem);
  }
}
@media (min-width: 1440px) {
  .wh-footer-moons {
    width: min(50vw, 55rem);
  }
}

.wh-img-moons {
  width: min(45vw, 33rem);
}
@media (min-width: 768px) {
  .wh-img-moons {
    width: min(33vw, 30rem);
    height: auto;
  }
}
@media (min-width: 992px) {
  .wh-img-moons {
    width: min(33vw, 30rem);
  }
}
@media (min-width: 1440px) {
  .wh-img-moons {
    width: min(45vw, 33rem);
  }
}

.parallax-moons {
  transform: translateY(-5rem) translateZ(300px) scale(0.7);
}
@media (min-width: 768px) {
  .parallax-moons {
    transform: translateY(3rem) translateZ(300px) scale(0.7);
  }
}
@media (min-width: 992px) {
  .parallax-moons {
    transform: translateY(-11rem) translateZ(300px) scale(0.7);
  }
}
@media (min-width: 992px) {
  .parallax-moons {
    transform: translateY(-15rem) translateZ(300px) scale(0.7);
  }
}

.y-img-moons {
  top: 0;
}
@media (min-width: 768px) {
  .y-img-moons {
    top: -2.5rem;
  }
}
@media (min-width: 992px) {
  .y-img-moons {
    top: -10rem;
  }
}
@media (min-width: 1200px) {
  .y-img-moons {
    top: -20rem;
  }
}
@media (min-width: 1440px) {
  .y-img-moons {
    top: -25rem;
  }
}

.hover-flip .hover-container .hover-reveal {
  transform: rotateY(180deg);
  opacity: 0;
}
.hover-flip .hover-container.transition-all-05s .hover-reveal,
.hover-flip .hover-container.transition-all-05s .hover-conceal {
  transition-delay: 0.2s;
}
.hover-flip .hover-container.transition-all-03s .hover-conceal,
.hover-flip .hover-container.transition-all-03s .hover-reveal {
  transition-delay: 0.1s;
}
.hover-flip:hover .hover-container {
  transform: rotateY(180deg);
}
.hover-flip:hover .hover-container .hover-conceal {
  opacity: 0;
}
.hover-flip:hover .hover-container .hover-reveal {
  opacity: 1;
}

.hover-transition-y .hover-conceal {
  transform: translateY(0);
  opacity: 1;
}
.hover-transition-y .hover-reveal {
  transform: translateY(100%);
  opacity: 0;
}
.hover-transition-y:hover .hover-conceal {
  transform: translateY(-100%);
  opacity: 0;
}
.hover-transition-y:hover .hover-reveal {
  transform: translateY(0);
  opacity: 1;
}

.wh-ellipse-partner {
  width: 8.75rem;
  height: 8.75rem;
}
@media (min-width: 992px) {
  .wh-ellipse-partner {
    width: 8.3125rem;
    height: 8.3125rem;
  }
}

.mt-n-ellipse-partner {
  margin-top: -4.375rem;
}
@media (min-width: 992px) {
  .mt-n-ellipse-partner {
    margin-top: -4.15625rem;
  }
}

.wh-img-partner-contact {
  width: 7.5rem;
  height: 7.5rem;
}
