.ticker-wrap {
  overflow: hidden;
  width: calc(100% + 2rem);
  margin-left: -1rem;
  margin-bottom: 0.25rem;
}

.ticker {
  display: inline-block;
  white-space: nowrap;
  animation: ticker-keyframes 15s linear infinite;
}

@keyframes ticker-keyframes {
  0%   { transform: translateX(-4%); }
  100% { transform: translateX(-14%); }
}

.ticker-strip {
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  padding: 0.3rem 0;
  position: relative;
}
.ticker-text {
  font-weight: 700;
  position: relative;
  z-index: 1;
}

@media (min-width: 768px) {
  .ticker-style-plain,
  .ticker-style-sparkle,
  .ticker-style-glare {
    mask-image: linear-gradient(to right, transparent, black 6%, black 94%, transparent);
  }
}

@keyframes shimmer {
  0%   { background-position: 200% center; }
  100% { background-position: -200% center; }
}

@keyframes dot-drift {
  from { background-position: 0 0; }
  to   { background-position: 14px 0; }
}

.ticker-style-sparkle::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, currentColor 1.5px, transparent 1.5px);
  background-size: 14px 14px;
  opacity: 0.35;
  animation: dot-drift 2s linear infinite;
  pointer-events: none;
}
.ticker-style-sparkle::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(128, 128, 128, 0.45) 50%, transparent 100%);
  background-size: 200% 100%;
  animation: shimmer 4s linear infinite;
  pointer-events: none;
}

.ticker-style-glare::after {
  content: '';
  position: absolute;
  top: -100%;
  left: 0;
  width: 55px;
  height: 300%;
  background-color: rgba(255, 255, 255, 0.45);
  animation: shine-glare 4s ease-in infinite;
  pointer-events: none;
  z-index: 2;
}
@media (min-width: 768px) {
  .ticker-style-glare::after {
    animation: shine-glare 6s ease-in infinite;
  }
}
@keyframes shine-glare {
  0%   { transform: translateX(-40vw) rotate(-18deg); }
  80%  { transform: translateX(120vw) rotate(-18deg); }
  100% { transform: translateX(120vw) rotate(-18deg); }
}
