.hero-video,
.hero-video-fallback {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.contact-map-tilt {
  aspect-ratio: 3 / 2;
  background: #050505;
  isolation: isolate;
  overflow: hidden;
  perspective: 1000px;
  position: relative;
}

.contact-map-tilt::before {
  background-image: url("/assets/images/content/64de01b7f114f531d1a6ee48-Map.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  inset: -10%;
  opacity: 0.28;
  position: absolute;
  transform: scale(1.18);
  transform-origin: center;
  z-index: 0;
}

.contact-map-tilt__viewport {
  --map-angle: 54deg;
  --map-scale: 1;
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  transform: rotateX(var(--map-angle)) scale(var(--map-scale)) translateZ(0);
  transform-style: preserve-3d;
  transition: transform 1.5s cubic-bezier(0.16, 1, 0.3, 1);
  width: 100%;
  will-change: transform;
  z-index: 1;
}

.contact-map-tilt__image {
  animation: contact-map-tilt-spin 65s linear infinite;
  display: block;
  flex: none;
  height: 236%;
  max-width: none;
  object-fit: cover;
  transform: translateZ(0);
  transform-origin: 50% 50%;
  width: 236%;
  will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
  .contact-map-tilt:hover .contact-map-tilt__viewport {
    --map-angle: 28deg;
    --map-scale: 0.82;
  }
}

@media (max-width: 767px) {
  .contact-map-tilt__viewport {
    --map-angle: 46deg;
  }

  .contact-map-tilt__image {
    height: 220%;
    width: 220%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .contact-map-tilt__viewport {
    transition: none;
  }

  .contact-map-tilt__image {
    animation: none;
  }
}

@keyframes contact-map-tilt-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(-1turn);
  }
}

html[data-tg-loader-seen="true"] .tg-loader {
  display: none;
}

.tg-loader {
  background: #cffd5a;
  color: #23231e;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  height: var(--vh, 100dvh);
  z-index: 1000;
  overflow: hidden;
  pointer-events: auto;
}

.tg-loader__cols {
  display: flex;
  justify-content: space-between;
  gap: 1.0416666667vw;
  height: 100dvh;
  height: var(--vh, 100dvh);
}

.tg-loader__col {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100dvh;
  height: var(--vh, 100dvh);
}

.tg-loader__col--1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
}

.tg-loader__col--1.done {
  width: auto;
  position: static;
}

.tg-loader__item {
  color: #23231e;
  font-family: "grotzec-poster-xcondensed", "Arial Narrow", "Helvetica Neue",
    Arial, sans-serif;
  font-weight: 700;
  display: block;
  font-size: 3.6458333333vw;
  line-height: 1em;
  opacity: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.tg-loader__col--1 .tg-loader__item {
  position: relative;
  top: 0;
  width: fit-content;
  left: 50vw;
  transform: translate(-50%);
}

.tg-loader [data-a-h] {
  opacity: 0;
}

.tg-loader [data-a-h] span:not(.line-inner, .e-line, .char, .word) {
  display: inline !important;
}

.tg-loader [data-a-h] .char {
  display: inline-block;
  opacity: 0;
  transform: translateY(100%) scaleY(1.5);
}

.tg-loader [data-a-p] {
  opacity: 0;
}

.tg-loader [data-a-p] span:not(.line-inner, .e-line, .word) {
  display: inline !important;
}

.tg-loader [data-a-p] .line-inner {
  opacity: 0;
  display: inline-block !important;
  transform: translateY(100%);
}

.tg-loader [data-a-p] .e-line {
  display: inline-block !important;
  overflow: hidden;
}

.tg-loader [data-a-p] .word {
  display: inline !important;
  width: fit-content;
}

@media (max-width: 479px) {
  .tg-loader__item {
    font-size: 5.5vw;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tg-loader,
  .tg-loader * {
    animation: none !important;
    transition: none !important;
  }
}
