html, body {
  margin: 0;
  padding: 0;
}

body {
  overscroll-behavior: none;
}

main > :first-child {
  margin-top: 0 !important;
}

main > :last-child {
  margin-bottom: 0 !important;
}

::-webkit-scrollbar {
  display: none;
}

.status-dot-open {
  animation: pulse-dot 2s ease-in-out infinite;
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: .35; }
}

.map-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
}

.map-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (min-width: 1024px) {
  .map-frame {
    aspect-ratio: auto;
    height: 100%;
    min-height: 420px;
  }
}
