/* Original Logisko movement: opposing 20s, 30s and 35s linear loops. */
.airport-animation {
  margin: 0 -48px 25px;
  width: calc(100% + 96px);
  overflow: hidden;
}
.airport-animation-toolbar {
  max-width: 1264px;
  margin: 0 auto;
  padding: 0 48px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.airport-animation-toolbar > span {
  color: #a3b6c6;
  font-size: 10px;
  letter-spacing: 0.13em;
}
.airport-animation-toggle {
  color: #e2eaf0;
  background: transparent;
  border: 1px solid #ffffff35;
  border-radius: 20px;
  padding: 6px 13px;
  font: inherit;
  font-size: 12px;
  white-space: nowrap;
}
.airport-footer-scene {
  height: 210px;
  position: relative;
  overflow: hidden;
}
.airport-terminal {
  position: absolute;
  inset: 0 0 20px;
  background: url("footer-airport.png") center bottom / auto 185px repeat-x;
  opacity: 0.88;
}
.airport-curb {
  position: absolute;
  bottom: 11px;
  width: 100%;
  height: 10px;
  border-top: 2px solid #7891a3;
  background: #132e45;
}
.airport-traffic {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.airport-car {
  position: absolute;
  width: 150px;
  height: 150px;
  bottom: -37px;
}
.airport-sprite {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.airport-sprite img {
  width: 300%;
  max-width: none;
  height: 100%;
  object-fit: fill;
}
.airport-car-sedan {
  right: 0;
  animation: airport-running 20s linear infinite;
  animation-delay: -5s;
}
.airport-car-suv {
  left: 0;
  animation: airport-running-left 30s linear infinite;
  animation-delay: -15s;
  transform: scaleX(-1);
}
.airport-car-suv img {
  transform: translateX(-33.333333%);
}
.airport-car-van {
  right: 0;
  width: 165px;
  height: 165px;
  bottom: -42px;
  animation: airport-running 35s linear infinite;
  animation-delay: -28s;
}
.airport-car-van img {
  transform: translateX(-66.666667%);
}
@keyframes airport-running {
  from {
    right: -30%;
  }
  to {
    right: 100%;
  }
}
@keyframes airport-running-left {
  from {
    left: -30%;
  }
  to {
    left: 100%;
  }
}
.airport-animation.is-paused .airport-car,
.airport-animation.is-offscreen .airport-car {
  animation-play-state: paused;
}
@media (max-width: 600px) {
  .airport-animation {
    margin-left: -22px;
    margin-right: -22px;
    width: calc(100% + 44px);
  }
  .airport-animation-toolbar {
    padding: 0 22px;
    gap: 10px;
  }
  .airport-animation-toolbar > span {
    max-width: 160px;
    font-size: 9px;
  }
  .airport-footer-scene {
    height: 185px;
  }
  .airport-terminal {
    background-size: auto 160px;
  }
  .airport-car {
    width: 120px;
    height: 120px;
    bottom: -27px;
  }
  .airport-car-van {
    width: 140px;
    height: 140px;
    bottom: -34px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .airport-car {
    animation: none !important;
  }
  .airport-car-sedan {
    right: 15%;
  }
  .airport-car-suv {
    left: 10%;
  }
  .airport-car-van {
    right: 47%;
  }
  .airport-animation-toggle {
    display: none;
  }
}
@media print {
  .airport-animation {
    display: none;
  }
}
