.amm-menu {
  padding: 4px 0 16px;
  margin-top: var(--amm-margin-top-desktop-other, -13px);
  margin-bottom: var(--amm-margin-bottom-desktop-other, 0);
  margin-left: var(--amm-margin-left-desktop-other, 0);
  margin-right: var(--amm-margin-right-desktop-other, 0);
}

.amm-menu--home,
.common-home .amm-menu {
  margin-top: var(--amm-margin-top-desktop-home, var(--amm-margin-top-desktop-other, -13px));
  margin-bottom: var(--amm-margin-bottom-desktop-home, var(--amm-margin-bottom-desktop-other, 0));
  margin-left: var(--amm-margin-left-desktop-home, var(--amm-margin-left-desktop-other, 0));
  margin-right: var(--amm-margin-right-desktop-home, var(--amm-margin-right-desktop-other, 0));
}
.amm-menu--sticky {
  position: relative;
  z-index: 9999;
  isolation: isolate;
}
.amm-menu--sticky .amm-banner--sticky,
.amm-menu--sticky .amm-banner--sticky.is-stuck {
  z-index: 9999;
}

.amm-menu {
  position: relative;
  z-index: 2;
}

.amm-row {
  display: flex;
  align-items: stretch;
}

.amm-offset {
  display: none;
}

.amm-content {
  flex: 1 1 auto;
  min-width: 0;
}

.amm-banner {
  width: var(--amm-banner-width-desktop, 100%);
  height: auto;
  min-height: var(--amm-banner-height-desktop, auto);
  margin-top: var(--amm-banner-margin-top-desktop, 0);
  margin-right: var(--amm-banner-margin-right-desktop, 0);
  margin-bottom: var(--amm-banner-margin-bottom-desktop, 12px);
  margin-left: var(--amm-banner-margin-left-desktop, 0);
  border-radius: var(--amm-banner-radius-desktop, 14px);
  position: relative;
  box-sizing: border-box;
  padding: var(--amm-banner-padding-top-desktop, 10px) var(--amm-banner-padding-right-desktop, 14px) var(--amm-banner-padding-bottom-desktop, 10px) var(--amm-banner-padding-left-desktop, 14px);
  background-color: var(--amm-banner-bg-color, #ffffff);
  background-image: var(--amm-banner-bg-image, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: var(--amm-banner-font-color, #8f0f24);
  font-family: var(--amm-banner-font-family, inherit);
  font-size: var(--amm-banner-font-size, 13px);
  box-shadow: 0 10px 22px rgba(17, 32, 56, 0.08);
  overflow: hidden;
}
.amm-banner--sticky {
  position: sticky;
  top: var(--amm-banner-sticky-offset-desktop, 0);
  z-index: var(--amm-banner-sticky-z-desktop, 1000);
}
.amm-banner--sticky.is-stuck {
  position: fixed;
}
.amm-banner-placeholder {
  display: none;
}

@media (min-width: 768px) {
  .amm-banner--full-desktop {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}

.amm-banner__inner {
  padding: 0;
  position: relative;
  z-index: 1;
}

.amm-banner__content {
  line-height: 1.5;
  position: relative;
  z-index: 1;
}

.amm-banner__content,
.amm-banner__content * {
  font-family: inherit !important;
  font-size: inherit !important;
}

.amm-banner__content p {
  margin: 0;
}

.amm-banner--marquee .amm-banner__inner {
  overflow: hidden;
  white-space: nowrap;
  text-align: left;
}

.amm-banner--marquee .amm-banner__content {
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%;
  animation: amm-banner-marquee var(--amm-banner-marquee-duration, 12s) linear infinite;
  animation-direction: var(--amm-banner-marquee-direction, normal);
}

.amm-banner--marquee.amm-banner--marquee-pause:hover .amm-banner__content {
  animation-play-state: paused;
}

.amm-banner--fade .amm-banner__content {
  animation: amm-banner-fade var(--amm-banner-fade-duration, 2.6s) ease-in-out infinite;
}

.amm-banner--wave .amm-banner__content {
  animation: amm-banner-wave var(--amm-banner-wave-duration, 3.6s) ease-in-out infinite;
  will-change: transform;
}

.amm-banner--pulse .amm-banner__content {
  animation: amm-banner-pulse var(--amm-banner-pulse-duration, 2.4s) ease-in-out infinite;
}

.amm-banner--glow .amm-banner__content {
  animation: amm-banner-glow var(--amm-banner-glow-duration, 2.8s) ease-in-out infinite;
}

.amm-banner--float .amm-banner__content {
  animation: amm-banner-float var(--amm-banner-float-duration, 4.2s) ease-in-out infinite;
  will-change: transform;
}

.amm-banner--flash::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 10% 50%, rgba(255, 255, 255, 0.35), transparent 55%),
    radial-gradient(circle at 90% 50%, rgba(255, 255, 255, 0.25), transparent 60%);
  opacity: 0;
  animation: amm-banner-flash var(--amm-banner-flash-duration, 2.8s) ease-in-out infinite;
  pointer-events: none;
}

.amm-banner--bg-lights::before,
.amm-banner--bg-sparkle::before,
.amm-banner--bg-confetti::before,
.amm-banner--bg-gradient::before,
.amm-banner--bg-noise::before,
.amm-banner--bg-glass::before,
.amm-banner--bg-stripes::before,
.amm-banner--bg-rain::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.amm-banner--bg-lights::before {
  background-image: radial-gradient(circle at 12% calc(var(--amm-banner-lights-top-offset, 10px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 12% var(--amm-banner-lights-top-offset, 10px), var(--amm-banner-lights-color-1, #ff6262) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px)),
    radial-gradient(circle at 37% calc(var(--amm-banner-lights-top-offset, 10px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 37% var(--amm-banner-lights-top-offset, 10px), var(--amm-banner-lights-color-2, #ffd666) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px)),
    radial-gradient(circle at 62% calc(var(--amm-banner-lights-top-offset, 10px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 62% var(--amm-banner-lights-top-offset, 10px), var(--amm-banner-lights-color-3, #78dcff) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px)),
    radial-gradient(circle at 87% calc(var(--amm-banner-lights-top-offset, 10px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 87% var(--amm-banner-lights-top-offset, 10px), var(--amm-banner-lights-color-4, #a0ffa0) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px)),
    radial-gradient(circle at 12% calc(100% - var(--amm-banner-lights-bottom-offset, 12px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 12% calc(100% - var(--amm-banner-lights-bottom-offset, 12px)), var(--amm-banner-lights-color-1, #ff6262) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px)),
    radial-gradient(circle at 37% calc(100% - var(--amm-banner-lights-bottom-offset, 12px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 37% calc(100% - var(--amm-banner-lights-bottom-offset, 12px)), var(--amm-banner-lights-color-2, #ffd666) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px)),
    radial-gradient(circle at 62% calc(100% - var(--amm-banner-lights-bottom-offset, 12px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 62% calc(100% - var(--amm-banner-lights-bottom-offset, 12px)), var(--amm-banner-lights-color-3, #78dcff) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px)),
    radial-gradient(circle at 87% calc(100% - var(--amm-banner-lights-bottom-offset, 12px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 87% calc(100% - var(--amm-banner-lights-bottom-offset, 12px)), var(--amm-banner-lights-color-4, #a0ffa0) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px));
  background-size: var(--amm-banner-lights-spacing, 80px) 100%;
  background-repeat: repeat-x;
  opacity: var(--amm-banner-lights-opacity, 0.85);
  filter: drop-shadow(0 0 var(--amm-banner-lights-glow, 6px) rgba(255, 255, 255, 0.35));
  animation: amm-banner-lights var(--amm-banner-lights-speed, 2.6s) ease-in-out infinite;
}

.amm-banner--bg-lights.amm-banner--lights-top::before {
  background-image: radial-gradient(circle at 12% calc(var(--amm-banner-lights-top-offset, 10px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 12% var(--amm-banner-lights-top-offset, 10px), var(--amm-banner-lights-color-1, #ff6262) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px)),
    radial-gradient(circle at 37% calc(var(--amm-banner-lights-top-offset, 10px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 37% var(--amm-banner-lights-top-offset, 10px), var(--amm-banner-lights-color-2, #ffd666) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px)),
    radial-gradient(circle at 62% calc(var(--amm-banner-lights-top-offset, 10px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 62% var(--amm-banner-lights-top-offset, 10px), var(--amm-banner-lights-color-3, #78dcff) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px)),
    radial-gradient(circle at 87% calc(var(--amm-banner-lights-top-offset, 10px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 87% var(--amm-banner-lights-top-offset, 10px), var(--amm-banner-lights-color-4, #a0ffa0) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px));
}

.amm-banner--bg-lights.amm-banner--lights-bottom::before {
  background-image: radial-gradient(circle at 12% calc(100% - var(--amm-banner-lights-bottom-offset, 12px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 12% calc(100% - var(--amm-banner-lights-bottom-offset, 12px)), var(--amm-banner-lights-color-1, #ff6262) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px)),
    radial-gradient(circle at 37% calc(100% - var(--amm-banner-lights-bottom-offset, 12px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 37% calc(100% - var(--amm-banner-lights-bottom-offset, 12px)), var(--amm-banner-lights-color-2, #ffd666) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px)),
    radial-gradient(circle at 62% calc(100% - var(--amm-banner-lights-bottom-offset, 12px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 62% calc(100% - var(--amm-banner-lights-bottom-offset, 12px)), var(--amm-banner-lights-color-3, #78dcff) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px)),
    radial-gradient(circle at 87% calc(100% - var(--amm-banner-lights-bottom-offset, 12px) - 2px), rgba(255, 255, 255, 0.85) 0 calc(var(--amm-banner-lights-size, 5px) * 0.4), transparent calc(var(--amm-banner-lights-size, 5px) * 0.7)),
    radial-gradient(circle at 87% calc(100% - var(--amm-banner-lights-bottom-offset, 12px)), var(--amm-banner-lights-color-4, #a0ffa0) 0 var(--amm-banner-lights-size, 5px), rgba(0, 0, 0, 0.35) calc(var(--amm-banner-lights-size, 5px) + 1px), transparent calc(var(--amm-banner-lights-size, 5px) + 2px));
}

.amm-banner--bg-lights.amm-banner--lights-snow .amm-banner__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.85) 0 var(--amm-banner-snow-size-sm, 1px), transparent calc(var(--amm-banner-snow-size-sm, 1px) + 1px)),
    radial-gradient(circle, rgba(255, 255, 255, 0.7) 0 var(--amm-banner-snow-size-md, 2px), transparent calc(var(--amm-banner-snow-size-md, 2px) + 1px)),
    radial-gradient(circle, rgba(255, 255, 255, 0.6) 0 var(--amm-banner-snow-size-lg, 3px), transparent calc(var(--amm-banner-snow-size-lg, 3px) + 1px));
  background-size: var(--amm-banner-snow-space-sm, 24px) var(--amm-banner-snow-space-sm, 24px),
    var(--amm-banner-snow-space-md, 36px) var(--amm-banner-snow-space-md, 36px),
    var(--amm-banner-snow-space-lg, 48px) var(--amm-banner-snow-space-lg, 48px);
  opacity: var(--amm-banner-snow-opacity, 0.7);
  filter: blur(var(--amm-banner-snow-blur, 0.6px));
  animation: amm-banner-snow var(--amm-banner-snow-speed, 8s) linear infinite;
}

.amm-banner--bg-sparkle::before {
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.6) 0 2px, transparent 3px),
    radial-gradient(circle, rgba(255, 255, 255, 0.45) 0 1px, transparent 2px),
    radial-gradient(circle, rgba(255, 255, 255, 0.35) 0 2px, transparent 3px);
  background-size: 120px 120px;
  background-position: 0 0, 40px 60px, 80px 20px;
  opacity: 0.6;
  animation: amm-banner-sparkle 3.2s ease-in-out infinite;
}

.amm-banner--bg-confetti::before {
  background-image: linear-gradient(15deg, rgba(255, 99, 132, 0.35) 0 3px, transparent 3px 9px),
    linear-gradient(75deg, rgba(54, 162, 235, 0.35) 0 3px, transparent 3px 9px),
    linear-gradient(135deg, rgba(255, 206, 86, 0.35) 0 3px, transparent 3px 9px),
    linear-gradient(195deg, rgba(75, 192, 192, 0.35) 0 3px, transparent 3px 9px);
  background-size: 40px 40px;
  opacity: 0.6;
  animation: amm-banner-confetti 6s linear infinite;
}

.amm-banner--bg-gradient::before {
  background-image: linear-gradient(120deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.25));
  background-size: 200% 200%;
  opacity: 0.8;
  animation: amm-banner-gradient 6s ease-in-out infinite;
}

.amm-banner--bg-noise::before {
  background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.07) 0 1px, transparent 1px 2px),
    repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.06) 0 1px, transparent 1px 2px);
  opacity: 0.4;
  animation: amm-banner-noise 6s steps(10) infinite;
}

.amm-banner--bg-glass::before {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.15));
  opacity: 0.75;
  backdrop-filter: blur(8px);
  box-shadow: inset 0 0 40px rgba(255, 255, 255, 0.25);
}

.amm-banner--bg-stripes::before {
  background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.25) 0 12px, rgba(255, 255, 255, 0.08) 12px 24px);
  background-size: 160% 160%;
  opacity: 0.6;
  animation: amm-banner-stripes 5s linear infinite;
}

.amm-banner--bg-rain::before {
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.45) 0 var(--amm-banner-rain-dot-sm, 1px), transparent calc(var(--amm-banner-rain-dot-sm, 1px) + 1px)),
    radial-gradient(circle, rgba(255, 255, 255, 0.35) 0 var(--amm-banner-rain-dot-md, 2px), transparent calc(var(--amm-banner-rain-dot-md, 2px) + 1px)),
    radial-gradient(circle, rgba(255, 255, 255, 0.25) 0 var(--amm-banner-rain-dot-lg, 3px), transparent calc(var(--amm-banner-rain-dot-lg, 3px) + 1px));
  background-size: var(--amm-banner-rain-space-sm, 22px) var(--amm-banner-rain-space-sm, 22px),
    var(--amm-banner-rain-space-md, 30px) var(--amm-banner-rain-space-md, 30px),
    var(--amm-banner-rain-space-lg, 38px) var(--amm-banner-rain-space-lg, 38px);
  background-position: 0 0, 10px 8px, -6px 14px;
  opacity: 0.55;
  animation: amm-banner-rain var(--amm-banner-rain-duration, 2.6s) linear infinite;
}

@keyframes amm-banner-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

@keyframes amm-banner-fade {
  0%,
  100% {
    opacity: var(--amm-banner-fade-min, 0.6);
  }
  50% {
    opacity: 1;
  }
}

@keyframes amm-banner-wave {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(calc(0px - var(--amm-banner-wave-offset, 4px)));
  }
}

@keyframes amm-banner-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: var(--amm-banner-pulse-min, 0.65);
  }
}

@keyframes amm-banner-glow {
  0%,
  100% {
    text-shadow: 0 0 0 rgba(255, 255, 255, 0);
  }
  50% {
    text-shadow: 0 0 var(--amm-banner-glow-strength, 12px) rgba(255, 255, 255, 0.65);
  }
}

@keyframes amm-banner-float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(calc(0px - var(--amm-banner-float-offset, 6px)));
  }
}

@keyframes amm-banner-flash {
  0%,
  100% {
    opacity: 0;
  }
  40% {
    opacity: var(--amm-banner-flash-peak, 0.65);
  }
  60% {
    opacity: var(--amm-banner-flash-low, 0.2);
  }
}

@keyframes amm-banner-lights {
  0%,
  100% {
    opacity: 0.6;
  }
  50% {
    opacity: 1;
  }
}

@keyframes amm-banner-sparkle {
  0%,
  100% {
    opacity: 0.4;
  }
  50% {
    opacity: 0.9;
  }
}

@keyframes amm-banner-confetti {
  0% {
    background-position: 0 0, 0 0, 0 0, 0 0;
  }
  100% {
    background-position: 40px 60px, -60px 40px, 80px -20px, -40px -60px;
  }
}

@keyframes amm-banner-gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@keyframes amm-banner-noise {
  0% {
    background-position: 0 0, 0 0;
  }
  100% {
    background-position: 40px 40px, -40px -40px;
  }
}

@keyframes amm-banner-stripes {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 80px 80px;
  }
}

@keyframes amm-banner-rain {
  0% {
    background-position: 0 -30px;
  }
  100% {
    background-position: 0 30px;
  }
}

@keyframes amm-banner-snow {
  0% {
    background-position: 0 -20px, 10px -40px, -20px -60px;
  }
  100% {
    background-position: 0 40px, 10px 60px, -20px 80px;
  }
}

@media (min-width: 992px) {
  .amm-offset {
    display: block;
    flex: 0 0 25%;
    max-width: 25%;
  }
}

@media (min-width: 1200px) and (max-width: 1649px) {
  .amm-offset {
    flex-basis: 21%;
    max-width: 21%;
  }
}

@media (min-width: 1650px) {
  .amm-offset {
    flex-basis: 16.6667%;
    max-width: 16.6667%;
  }
}

.amm-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--amm-gap, 10px);
}

.amm-tile--hidden {
  display: none;
}

.amm-tile--hidden-mobile {
  display: block;
}

.amm-tile--hidden-landscape {
  display: block;
}

.amm-tile--hidden.amm-tile--hidden-mobile {
  display: none;
}

.amm-tile--hidden.amm-tile--hidden-landscape {
  display: none;
}

.amm-tile {
  position: relative;
  flex: 0 0 var(--amm-width-desktop, var(--amm-width, 50%));
  max-width: var(--amm-width-desktop, var(--amm-width, 50%));
  height: var(--amm-height-desktop, var(--amm-height, 120px));
  border-radius: var(--amm-radius, 16px);
  overflow: hidden;
  background: linear-gradient(135deg, var(--amm-bg-from, #1b1b1b), var(--amm-bg-to, #2b0f16));
  box-shadow: var(--amm-shadow, 0 10px 22px rgba(10, 10, 10, 0.18));
  transition: opacity var(--amm-anim-duration, 260ms) ease;
}

.amm-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--amm-image, none);
  background-size: var(--amm-image-fit, cover);
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(var(--amm-image-scale, 1.04));
  transition: transform 0.4s ease;
}

.amm-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, var(--amm-overlay-from, rgba(0, 0, 0, 0.15)), var(--amm-overlay-to, rgba(0, 0, 0, 0.65)));
}

.amm-tile__link {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  padding: var(--amm-tile-padding, 12px);
  color: var(--amm-title-color, #fff);
  text-decoration: none;
}

.amm-tile__badge {
  align-self: flex-start;
  font-size: var(--amm-badge-size, 10px);
  letter-spacing: var(--amm-badge-letter, 0.08em);
  text-transform: var(--amm-badge-transform, uppercase);
  padding: var(--amm-badge-padding, 3px 8px);
  border-radius: 999px;
  background: var(--amm-badge-bg, rgba(255, 255, 255, 0.18));
  border: var(--amm-badge-border, 1px solid rgba(255, 255, 255, 0.25));
  color: var(--amm-badge-color, #fff);
  margin-bottom: auto;
}

.amm-tile__title {
  font-size: var(--amm-title-size, 14px);
  font-weight: var(--amm-title-weight, 700);
  letter-spacing: var(--amm-title-letter, 0.02em);
  color: var(--amm-title-color, #fff);
  font-family: var(--amm-title-family, inherit);
}

.amm-tile__subtitle {
  font-size: var(--amm-subtitle-size, 11px);
  opacity: var(--amm-subtitle-opacity, 0.85);
  color: var(--amm-subtitle-color, #fff);
  font-family: var(--amm-subtitle-family, inherit);
  margin-top: 2px;
}

.amm-tile:hover::before,
.amm-tile:active::before {
  transform: scale(var(--amm-image-scale-hover, 1.08));
}

.amm-tile:hover,
.amm-tile:active {
  box-shadow: var(--amm-shadow-hover, 0 6px 12px rgba(10, 10, 10, 0.25));
}

.amm-load-more-wrap {
  display: flex;
  justify-content: center;
  margin-top: 12px;
  gap: 10px;
  flex-wrap: wrap;
}

.amm-load-more--landscape-only {
  display: none;
}

.amm-load-more {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 10px 20px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 11px;
  border: 1px solid rgba(201, 33, 39, 0.25);
  background: #ffffff;
  color: #8f0f24;
  box-shadow: 0 12px 22px rgba(17, 32, 56, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.amm-load-more:hover,
.amm-load-more:focus {
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(201, 33, 39, 0.18);
  border-color: rgba(201, 33, 39, 0.45);
  color: #c92127;
}

.amm-load-more.is-loading {
  opacity: 0.7;
  pointer-events: none;
}

.amm-load-more .amm-spinner {
  width: 12px;
  height: 12px;
  margin-left: 8px;
  border-radius: 50%;
  border: 2px solid rgba(201, 33, 39, 0.35);
  border-top-color: #c92127;
  display: none;
  animation: amm-spin var(--amm-anim-duration, 260ms) linear infinite;
}

.amm-load-more.is-loading .amm-spinner {
  display: inline-block;
}

@keyframes amm-spin {
  to {
    transform: rotate(360deg);
  }
}

.amm-load-more--hide {
  display: none;
}

.amm-menu.amm-expanded .amm-load-more--show {
  display: none;
}

.amm-menu.amm-expanded .amm-load-more--hide {
  display: inline-flex;
}

.amm-menu.amm-expanded .amm-tile--hidden,
.amm-menu.amm-expanded .amm-tile--hidden-mobile,
.amm-menu.amm-expanded .amm-tile--hidden-landscape,
.amm-menu.amm-collapsing .amm-tile--hidden,
.amm-menu.amm-collapsing .amm-tile--hidden-mobile,
.amm-menu.amm-collapsing .amm-tile--hidden-landscape {
  display: block;
}

.amm-tile.amm-fade-in {
  opacity: 0;
}

.amm-tile.amm-fade-in.amm-fade-in--active {
  opacity: 1;
}

.amm-tile.amm-fade-out {
  opacity: 1;
}

.amm-tile.amm-fade-out.amm-fade-out--active {
  opacity: 0;
}

@media (min-width: 768px) {
  .amm-load-more--mobile-only {
    display: none;
  }
}

@media (min-width: 1200px) {
  .amm-tile {
    flex: 0 0 min(var(--amm-width-desktop, var(--amm-width, 50%)), calc((100% - (var(--amm-gap, 10px) * 3)) / 4));
    max-width: min(var(--amm-width-desktop, var(--amm-width, 50%)), calc((100% - (var(--amm-gap, 10px) * 3)) / 4));
  }
}

@media (max-width: 479px) {
  .amm-grid {
    gap: var(--amm-gap-mobile, var(--amm-gap, 10px));
  }
  .amm-tile__title {
    font-size: var(--amm-title-size-mobile, 13px);
  }
  .amm-tile__subtitle {
    font-size: var(--amm-subtitle-size-mobile, 11px);
  }
}

@media (max-width: 767px) {
  .amm-menu {
    padding: 2px 0 12px;
    margin-top: var(--amm-margin-top-mobile-other, var(--amm-margin-top-desktop-other, -13px));
    margin-bottom: var(--amm-margin-bottom-mobile-other, var(--amm-margin-bottom-desktop-other, 0));
    margin-left: var(--amm-margin-left-mobile-other, var(--amm-margin-left-desktop-other, 0));
    margin-right: var(--amm-margin-right-mobile-other, var(--amm-margin-right-desktop-other, 0));
  }
  .amm-menu--home,
  .common-home .amm-menu {
    margin-top: var(--amm-margin-top-mobile-home, var(--amm-margin-top-mobile-other, var(--amm-margin-top-desktop-home, var(--amm-margin-top-desktop-other, -13px))));
    margin-bottom: var(--amm-margin-bottom-mobile-home, var(--amm-margin-bottom-mobile-other, var(--amm-margin-bottom-desktop-home, var(--amm-margin-bottom-desktop-other, 0))));
    margin-left: var(--amm-margin-left-mobile-home, var(--amm-margin-left-mobile-other, var(--amm-margin-left-desktop-home, var(--amm-margin-left-desktop-other, 0))));
    margin-right: var(--amm-margin-right-mobile-home, var(--amm-margin-right-mobile-other, var(--amm-margin-right-desktop-home, var(--amm-margin-right-desktop-other, 0))));
  }
  .amm-grid {
    gap: var(--amm-gap-mobile, var(--amm-gap, 10px));
  }
  .amm-tile {
    flex: 0 0 min(var(--amm-width-mobile, var(--amm-width-desktop, var(--amm-width, 50%))), calc((100% - (var(--amm-gap-mobile, var(--amm-gap, 10px)) * 2)) / 3));
    max-width: min(var(--amm-width-mobile, var(--amm-width-desktop, var(--amm-width, 50%))), calc((100% - (var(--amm-gap-mobile, var(--amm-gap, 10px)) * 2)) / 3));
    height: var(--amm-height-mobile, var(--amm-height-desktop, var(--amm-height, 120px)));
    border-radius: var(--amm-radius-mobile, var(--amm-radius, 16px));
  }
  .amm-tile::before {
    background-size: var(--amm-image-fit-mobile, var(--amm-image-fit, cover));
  }
  .amm-tile__link {
    padding: calc(var(--amm-tile-padding, 12px) - 2px);
  }
  .amm-tile--hidden-mobile {
    display: none;
  }

  .amm-banner {
    width: var(--amm-banner-width-mobile, 100%);
    height: auto;
    min-height: var(--amm-banner-height-mobile, auto);
    margin-top: var(--amm-banner-margin-top-mobile, 0);
    margin-right: var(--amm-banner-margin-right-mobile, 0);
    margin-bottom: var(--amm-banner-margin-bottom-mobile, 10px);
    margin-left: var(--amm-banner-margin-left-mobile, 0);
    font-size: var(--amm-banner-font-size-mobile, var(--amm-banner-font-size, 13px));
    border-radius: var(--amm-banner-radius-mobile, var(--amm-banner-radius-desktop, 14px));
    padding: var(--amm-banner-padding-top-mobile, 8px) var(--amm-banner-padding-right-mobile, 12px) var(--amm-banner-padding-bottom-mobile, 8px) var(--amm-banner-padding-left-mobile, 12px);
  }

  .amm-banner__inner {
    padding: 0;
  }

  .amm-banner--full-mobile {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .amm-banner--sticky {
    top: var(--amm-banner-sticky-offset-mobile, var(--amm-banner-sticky-offset-desktop, 0));
    z-index: var(--amm-banner-sticky-z-mobile, var(--amm-banner-sticky-z-desktop, 1000));
  }
}

@media (orientation: landscape) and (max-width: 1024px) {
  .amm-menu {
    margin-top: var(--amm-margin-top-mobile-other, var(--amm-margin-top-desktop-other, -13px));
    margin-bottom: var(--amm-margin-bottom-mobile-other, var(--amm-margin-bottom-desktop-other, 0));
    margin-left: var(--amm-margin-left-mobile-other, var(--amm-margin-left-desktop-other, 0));
    margin-right: var(--amm-margin-right-mobile-other, var(--amm-margin-right-desktop-other, 0));
  }
  .amm-menu--home,
  .common-home .amm-menu {
    margin-top: var(--amm-margin-top-mobile-home, var(--amm-margin-top-mobile-other, var(--amm-margin-top-desktop-home, var(--amm-margin-top-desktop-other, -13px))));
    margin-bottom: var(--amm-margin-bottom-mobile-home, var(--amm-margin-bottom-mobile-other, var(--amm-margin-bottom-desktop-home, var(--amm-margin-bottom-desktop-other, 0))));
    margin-left: var(--amm-margin-left-mobile-home, var(--amm-margin-left-mobile-other, var(--amm-margin-left-desktop-home, var(--amm-margin-left-desktop-other, 0))));
    margin-right: var(--amm-margin-right-mobile-home, var(--amm-margin-right-mobile-other, var(--amm-margin-right-desktop-home, var(--amm-margin-right-desktop-other, 0))));
  }
  .amm-grid {
    gap: var(--amm-gap-landscape, var(--amm-gap-mobile, var(--amm-gap, 10px)));
  }
  .amm-tile {
    flex-basis: var(--amm-width-landscape, var(--amm-width-mobile, 25%));
    max-width: min(var(--amm-width-landscape, var(--amm-width-mobile, 25%)), calc((100% - (var(--amm-gap-landscape, var(--amm-gap-mobile, var(--amm-gap, 10px))) * 3)) / 4));
    height: var(--amm-height-landscape, var(--amm-height-mobile, var(--amm-height-desktop, var(--amm-height, 120px))));
    border-radius: var(--amm-radius-landscape, var(--amm-radius-mobile, var(--amm-radius, 16px)));
  }
  .amm-tile::before {
    background-size: var(--amm-image-fit-landscape, var(--amm-image-fit-mobile, var(--amm-image-fit, cover)));
  }
  .amm-tile__title {
    font-size: var(--amm-title-size-landscape, var(--amm-title-size-mobile, var(--amm-title-size, 14px)));
  }
  .amm-tile__subtitle {
    font-size: var(--amm-subtitle-size-landscape, var(--amm-subtitle-size-mobile, var(--amm-subtitle-size, 11px)));
  }
  .amm-tile--hidden-landscape {
    display: none;
  }
  .amm-load-more--landscape-only {
    display: flex;
  }

  .amm-banner {
    width: var(--amm-banner-width-landscape, var(--amm-banner-width-mobile, 100%));
    height: auto;
    min-height: var(--amm-banner-height-landscape, var(--amm-banner-height-mobile, auto));
    font-size: var(--amm-banner-font-size-landscape, var(--amm-banner-font-size-mobile, var(--amm-banner-font-size, 13px)));
    border-radius: var(--amm-banner-radius-landscape, var(--amm-banner-radius-mobile, var(--amm-banner-radius-desktop, 14px)));
  }

  .amm-banner--full-landscape {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  .amm-banner--sticky {
    top: var(--amm-banner-sticky-offset-mobile, var(--amm-banner-sticky-offset-desktop, 0));
    z-index: var(--amm-banner-sticky-z-mobile, var(--amm-banner-sticky-z-desktop, 1000));
  }
}

@media (max-width: 420px) {
  .amm-tile {
    flex-basis: min(var(--amm-width-mobile, var(--amm-width-desktop, var(--amm-width, 50%))), calc((100% - var(--amm-gap-mobile, var(--amm-gap, 10px))) / 2));
    max-width: min(var(--amm-width-mobile, var(--amm-width-desktop, var(--amm-width, 50%))), calc((100% - var(--amm-gap-mobile, var(--amm-gap, 10px))) / 2));
    height: var(--amm-height-mobile, var(--amm-height-desktop, var(--amm-height, 120px)));
  }
}

@media (max-width: 320px) {
  .amm-tile {
    flex-basis: min(var(--amm-width-mobile, var(--amm-width-desktop, var(--amm-width, 50%))), 100%);
    max-width: min(var(--amm-width-mobile, var(--amm-width-desktop, var(--amm-width, 50%))), 100%);
  }
}
