/* Blue Note Neon Sign v1.0 */
.bn-neon {
  position: absolute;
  display: block;
  pointer-events: none;
  line-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  max-width: none !important;
  overflow: visible;
}
.bn-neon__ch {
  position: absolute;
  inset: 0;
  display: block;
  opacity: 0;
  transition: opacity 16ms linear;
  will-change: opacity;
}
.bn-neon__svg {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  overflow: visible;
  display: block;
}
.bn-neon__tube { transition: opacity 16ms linear; }

/* Mains hum: a faint, irregular shimmer while lit. Runs on the svg so it
   multiplies with the flicker levels on the section and tubes. */
.bn-neon--hum .bn-neon__ch--staff .bn-neon__svg   { animation: bnNeonHum 3.7s linear infinite; }
.bn-neon--hum .bn-neon__ch--letters .bn-neon__svg { animation: bnNeonHum 2.9s linear infinite reverse; }

@keyframes bnNeonHum {
  0%   { opacity: 1; }
  6%   { opacity: .95; }
  8%   { opacity: 1; }
  27%  { opacity: .98; }
  29%  { opacity: .92; }
  31%  { opacity: 1; }
  58%  { opacity: .97; }
  60%  { opacity: 1; }
  81%  { opacity: .95; }
  83%  { opacity: 1; }
  100% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .bn-neon__ch, .bn-neon__svg, .bn-neon__tube { animation: none !important; transition: none !important; }
}
