#banner-id {
      position: sticky;
      top: 0;
      z-index: 40;
      display: flex;
      flex-direction: row;
      align-items: center;
      justify-content: center;
      padding: 0 1rem;
      text-align: center;
      font-size: 0.875rem;
      font-weight: 500;
      height: 5rem;
      background: transparent;
    }

    #banner-id.banner-hidden {
      display: none;
    }

    .banner-rainbow-bg {
      position: absolute;
      inset: 0;
      z-index: -1;
      animation: fd-moving-banner 20s linear infinite;
      background-image: repeating-linear-gradient(
        70deg,
        rgba(6, 37, 104, 0.77)    0%,
        rgba(6, 37, 104, 0.77)   7.14%,
        transparent             14.28%,
        rgba(6, 37, 104, 0.77)   21.42%,
        transparent             28.57%,
        rgba(6, 37, 104, 0.77)   35.71%,
        transparent             42.85%,
        rgba(6, 37, 104, 0.77)   50%
      );
      background-size: 200% 100%;
      filter: saturate(2);
      -webkit-mask-image: linear-gradient(to bottom, white, transparent),
                          radial-gradient(circle at top center, white, transparent);
              mask-image: linear-gradient(to bottom, white, transparent),
                          radial-gradient(circle at top center, white, transparent);
      -webkit-mask-composite: source-in;
              mask-composite: intersect;
    }

    @keyframes fd-moving-banner {
      from { background-position: 0%   0; }
      to   { background-position: 100% 0; }
    }

    .banner-close-btn {
      position: absolute;
      right: 0.5rem;
      top: 50%;
      transform: translateY(-50%);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 2.5rem;
      height: 2.5rem;
      border-radius: 0.375rem;
      border: none;
      background: transparent;
      cursor: pointer;
      color: rgba(107,114,128,0.5);
      transition: background-color 0.15s;
    }

    .banner-close-btn:hover {
      background-color: rgba(107,114,128,0.1);
      color: rgba(107,114,128,0.8);
    }

    .banner-close-btn:focus-visible {
      outline: 2px solid currentColor;
      outline-offset: 2px;
    }

    @media (min-width: 768px) {
      .banner-close-btn { right: 5rem; }
    }
