*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

img,
iframe {
  max-width: 100%;
}

.marquee {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  position: relative;
}

.marquee > .marquee-track {
  display: flex;
  width: max-content;
  max-width: none;
  flex-shrink: 0;
  will-change: transform;
  animation-name: kadillac-marquee;
  animation-duration: 16s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-play-state: running;
}

.marquee > .marquee-track > .marquee-item {
  flex: 0 0 auto;
  white-space: nowrap;
  animation: none !important;
}

@keyframes kadillac-marquee {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@media (max-width: 720px) {
  .marquee > .marquee-track {
    animation-duration: 18s;
  }

  .hero,
  .section,
  .community,
  .instagram,
  footer,
  .mobile-bar,
  .topbar {
    width: 100%;
    max-width: 100%;
  }

  .hero-content,
  .event,
  .community-copy,
  .location-copy,
  .atmos-copy {
    min-width: 0;
    max-width: 100%;
  }

  .hero h1,
  .section h2,
  .community h2,
  .event h3,
  .instagram a {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .event h3 {
    font-size: clamp(2.7rem, 13.5vw, 3.5rem);
    line-height: .86;
  }

  .wave h3 {
    font-size: clamp(2.55rem, 12.5vw, 3.25rem);
  }

  .instagram a {
    font-size: clamp(2.1rem, 10.5vw, 3.2rem);
    line-height: .94;
  }

  .mobile-bar {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .mobile-bar > * {
    min-width: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .marquee > .marquee-track {
    animation: none !important;
  }
}
