
.anim-text-flow span,
.anim-text-flow-hover:hover span {
  animation-name: anim-text-flow-keys;
  animation-duration: 50s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-fill-mode: forwards;
}

@keyframes anim-text-flow-keys {
  0% {
    color: hsl(287, 60%, 60%);
  }
  5% {
    color: hsl(142, 60%, 60%);
  }
  10% {
    color: hsl(56, 60%, 60%);
  }
  15% {
    color: hsl(198, 60%, 60%);
  }
  20% {
    color: hsl(324, 60%, 60%);
  }
  25% {
    color: hsl(91, 60%, 60%);
  }
  30% {
    color: hsl(253, 60%, 60%);
  }
  35% {
    color: hsl(17, 60%, 60%);
  }
  40% {
    color: hsl(168, 60%, 60%);
  }
  45% {
    color: hsl(312, 60%, 60%);
  }
  50% {
    color: hsl(74, 60%, 60%);
  }
  55% {
    color: hsl(221, 60%, 60%);
  }
  60% {
    color: hsl(345, 60%, 60%);
  }
  65% {
    color: hsl(109, 60%, 60%);
  }
  70% {
    color: hsl(268, 60%, 60%);
  }
  75% {
    color: hsl(39, 60%, 60%);
  }
  80% {
    color: hsl(184, 60%, 60%);
  }
  85% {
    color: hsl(297, 60%, 60%);
  }
  90% {
    color: hsl(128, 60%, 60%);
  }
  95% {
    color: hsl(205, 60%, 60%);
  }
  100% {
    color: hsl(331, 60%, 60%);
  }
}

.anim-text-flow span:nth-of-type(1),
.anim-text-flow-hover:hover span:nth-of-type(1) {
  animation-delay: -19.8s;
}

.anim-text-flow span:nth-of-type(2),
.anim-text-flow-hover:hover span:nth-of-type(2) {
  animation-delay: -19.6s;
}

.anim-text-flow span:nth-of-type(3),
.anim-text-flow-hover:hover span:nth-of-type(3) {
  animation-delay: -19.4s;
}

.anim-text-flow span:nth-of-type(4),
.anim-text-flow-hover:hover span:nth-of-type(4) {
  animation-delay: -19.2s;
}

.anim-text-flow span:nth-of-type(5),
.anim-text-flow-hover:hover span:nth-of-type(5) {
  animation-delay: -19s;
}

.anim-text-flow span:nth-of-type(6),
.anim-text-flow-hover:hover span:nth-of-type(6) {
  animation-delay: -18.8s;
}

.anim-text-flow span:nth-of-type(7),
.anim-text-flow-hover:hover span:nth-of-type(7) {
  animation-delay: -18.6s;
}

.anim-text-flow span:nth-of-type(8),
.anim-text-flow-hover:hover span:nth-of-type(8) {
  animation-delay: -18.4s;
}

.anim-text-flow span:nth-of-type(9),
.anim-text-flow-hover:hover span:nth-of-type(9) {
  animation-delay: -18.2s;
}

.anim-text-flow span:nth-of-type(10),
.anim-text-flow-hover:hover span:nth-of-type(10) {
  animation-delay: -18s;
}

.anim-text-flow span:nth-of-type(11),
.anim-text-flow-hover:hover span:nth-of-type(11) {
  animation-delay: -17.8s;
}

.anim-text-flow span:nth-of-type(12),
.anim-text-flow-hover:hover span:nth-of-type(12) {
  animation-delay: -17.6s;
}

.anim-text-flow span:nth-of-type(13),
.anim-text-flow-hover:hover span:nth-of-type(13) {
  animation-delay: -17.4s;
}

.anim-text-flow span:nth-of-type(14),
.anim-text-flow-hover:hover span:nth-of-type(14) {
  animation-delay: -17.2s;
}

.anim-text-flow span:nth-of-type(15),
.anim-text-flow-hover:hover span:nth-of-type(15) {
  animation-delay: -17s;
}

.anim-text-flow span:nth-of-type(16),
.anim-text-flow-hover:hover span:nth-of-type(16) {
  animation-delay: -16.8s;
}

.anim-text-flow span:nth-of-type(17),
.anim-text-flow-hover:hover span:nth-of-type(17) {
  animation-delay: -16.6s;
}

.anim-text-flow span:nth-of-type(18),
.anim-text-flow-hover:hover span:nth-of-type(18) {
  animation-delay: -16.4s;
}

.anim-text-flow span:nth-of-type(19),
.anim-text-flow-hover:hover span:nth-of-type(19) {
  animation-delay: -16.2s;
}

.anim-text-flow span:nth-of-type(20),
.anim-text-flow-hover:hover span:nth-of-type(20) {
  animation-delay: -16s;
}

.anim-text-flow span:nth-of-type(21),
.anim-text-flow-hover:hover span:nth-of-type(21) {
  animation-delay: -15.8s;
}

.anim-text-flow span:nth-of-type(22),
.anim-text-flow-hover:hover span:nth-of-type(22) {
  animation-delay: -15.6s;
}

.anim-text-flow span:nth-of-type(23),
.anim-text-flow-hover:hover span:nth-of-type(23) {
  animation-delay: -15.4s;
}

.anim-text-flow span:nth-of-type(24),
.anim-text-flow-hover:hover span:nth-of-type(24) {
  animation-delay: -15.2s;
}

.anim-text-flow span:nth-of-type(25),
.anim-text-flow-hover:hover span:nth-of-type(25) {
  animation-delay: -15s;
}

.anim-text-flow span:nth-of-type(26),
.anim-text-flow-hover:hover span:nth-of-type(26) {
  animation-delay: -14.8s;
}

.anim-text-flow span:nth-of-type(27),
.anim-text-flow-hover:hover span:nth-of-type(27) {
  animation-delay: -14.6s;
}

.anim-text-flow span:nth-of-type(28),
.anim-text-flow-hover:hover span:nth-of-type(28) {
  animation-delay: -14.4s;
}

.anim-text-flow span:nth-of-type(29),
.anim-text-flow-hover:hover span:nth-of-type(29) {
  animation-delay: -14.2s;
}

.anim-text-flow span:nth-of-type(30),
.anim-text-flow-hover:hover span:nth-of-type(30) {
  animation-delay: -14s;
}

.anim-text-flow span:nth-of-type(31),
.anim-text-flow-hover:hover span:nth-of-type(31) {
  animation-delay: -13.8s;
}

.anim-text-flow span:nth-of-type(32),
.anim-text-flow-hover:hover span:nth-of-type(32) {
  animation-delay: -13.6s;
}

.anim-text-flow span:nth-of-type(33),
.anim-text-flow-hover:hover span:nth-of-type(33) {
  animation-delay: -13.4s;
}

.anim-text-flow span:nth-of-type(34),
.anim-text-flow-hover:hover span:nth-of-type(34) {
  animation-delay: -13.2s;
}

.anim-text-flow span:nth-of-type(35),
.anim-text-flow-hover:hover span:nth-of-type(35) {
  animation-delay: -13s;
}

.anim-text-flow span:nth-of-type(36),
.anim-text-flow-hover:hover span:nth-of-type(36) {
  animation-delay: -12.8s;
}

.anim-text-flow span:nth-of-type(37),
.anim-text-flow-hover:hover span:nth-of-type(37) {
  animation-delay: -12.6s;
}

.anim-text-flow span:nth-of-type(38),
.anim-text-flow-hover:hover span:nth-of-type(38) {
  animation-delay: -12.4s;
}

.anim-text-flow span:nth-of-type(39),
.anim-text-flow-hover:hover span:nth-of-type(39) {
  animation-delay: -12.2s;
}

.anim-text-flow span:nth-of-type(40),
.anim-text-flow-hover:hover span:nth-of-type(40) {
  animation-delay: -12s;
}

.anim-text-flow span:nth-of-type(41),
.anim-text-flow-hover:hover span:nth-of-type(41) {
  animation-delay: -11.8s;
}

.anim-text-flow span:nth-of-type(42),
.anim-text-flow-hover:hover span:nth-of-type(42) {
  animation-delay: -11.6s;
}

.anim-text-flow span:nth-of-type(43),
.anim-text-flow-hover:hover span:nth-of-type(43) {
  animation-delay: -11.4s;
}

.anim-text-flow span:nth-of-type(44),
.anim-text-flow-hover:hover span:nth-of-type(44) {
  animation-delay: -11.2s;
}

.anim-text-flow span:nth-of-type(45),
.anim-text-flow-hover:hover span:nth-of-type(45) {
  animation-delay: -11s;
}

.anim-text-flow span:nth-of-type(46),
.anim-text-flow-hover:hover span:nth-of-type(46) {
  animation-delay: -10.8s;
}

.anim-text-flow span:nth-of-type(47),
.anim-text-flow-hover:hover span:nth-of-type(47) {
  animation-delay: -10.6s;
}

.anim-text-flow span:nth-of-type(48),
.anim-text-flow-hover:hover span:nth-of-type(48) {
  animation-delay: -10.4s;
}

.anim-text-flow span:nth-of-type(49),
.anim-text-flow-hover:hover span:nth-of-type(49) {
  animation-delay: -10.2s;
}

.anim-text-flow span:nth-of-type(50),
.anim-text-flow-hover:hover span:nth-of-type(50) {
  animation-delay: -10s;
}

.anim-text-flow span:nth-of-type(51),
.anim-text-flow-hover:hover span:nth-of-type(51) {
  animation-delay: -9.8s;
}

.anim-text-flow span:nth-of-type(52),
.anim-text-flow-hover:hover span:nth-of-type(52) {
  animation-delay: -9.6s;
}

.anim-text-flow span:nth-of-type(53),
.anim-text-flow-hover:hover span:nth-of-type(53) {
  animation-delay: -9.4s;
}

.anim-text-flow span:nth-of-type(54),
.anim-text-flow-hover:hover span:nth-of-type(54) {
  animation-delay: -9.2s;
}

.anim-text-flow span:nth-of-type(55),
.anim-text-flow-hover:hover span:nth-of-type(55) {
  animation-delay: -9s;
}

.anim-text-flow span:nth-of-type(56),
.anim-text-flow-hover:hover span:nth-of-type(56) {
  animation-delay: -8.8s;
}

.anim-text-flow span:nth-of-type(57),
.anim-text-flow-hover:hover span:nth-of-type(57) {
  animation-delay: -8.6s;
}

.anim-text-flow span:nth-of-type(58),
.anim-text-flow-hover:hover span:nth-of-type(58) {
  animation-delay: -8.4s;
}

.anim-text-flow span:nth-of-type(59),
.anim-text-flow-hover:hover span:nth-of-type(59) {
  animation-delay: -8.2s;
}

.anim-text-flow span:nth-of-type(60),
.anim-text-flow-hover:hover span:nth-of-type(60) {
  animation-delay: -8s;
}

.anim-text-flow span:nth-of-type(61),
.anim-text-flow-hover:hover span:nth-of-type(61) {
  animation-delay: -7.8s;
}

.anim-text-flow span:nth-of-type(62),
.anim-text-flow-hover:hover span:nth-of-type(62) {
  animation-delay: -7.6s;
}

.anim-text-flow span:nth-of-type(63),
.anim-text-flow-hover:hover span:nth-of-type(63) {
  animation-delay: -7.4s;
}

.anim-text-flow span:nth-of-type(64),
.anim-text-flow-hover:hover span:nth-of-type(64) {
  animation-delay: -7.2s;
}

.anim-text-flow span:nth-of-type(65),
.anim-text-flow-hover:hover span:nth-of-type(65) {
  animation-delay: -7s;
}

.anim-text-flow span:nth-of-type(66),
.anim-text-flow-hover:hover span:nth-of-type(66) {
  animation-delay: -6.8s;
}

.anim-text-flow span:nth-of-type(67),
.anim-text-flow-hover:hover span:nth-of-type(67) {
  animation-delay: -6.6s;
}

.anim-text-flow span:nth-of-type(68),
.anim-text-flow-hover:hover span:nth-of-type(68) {
  animation-delay: -6.4s;
}

.anim-text-flow span:nth-of-type(69),
.anim-text-flow-hover:hover span:nth-of-type(69) {
  animation-delay: -6.2s;
}

.anim-text-flow span:nth-of-type(70),
.anim-text-flow-hover:hover span:nth-of-type(70) {
  animation-delay: -6s;
}

.anim-text-flow span:nth-of-type(71),
.anim-text-flow-hover:hover span:nth-of-type(71) {
  animation-delay: -5.8s;
}

.anim-text-flow span:nth-of-type(72),
.anim-text-flow-hover:hover span:nth-of-type(72) {
  animation-delay: -5.6s;
}

.anim-text-flow span:nth-of-type(73),
.anim-text-flow-hover:hover span:nth-of-type(73) {
  animation-delay: -5.4s;
}

.anim-text-flow span:nth-of-type(74),
.anim-text-flow-hover:hover span:nth-of-type(74) {
  animation-delay: -5.2s;
}

.anim-text-flow span:nth-of-type(75),
.anim-text-flow-hover:hover span:nth-of-type(75) {
  animation-delay: -5s;
}

.anim-text-flow span:nth-of-type(76),
.anim-text-flow-hover:hover span:nth-of-type(76) {
  animation-delay: -4.8s;
}

.anim-text-flow span:nth-of-type(77),
.anim-text-flow-hover:hover span:nth-of-type(77) {
  animation-delay: -4.6s;
}

.anim-text-flow span:nth-of-type(78),
.anim-text-flow-hover:hover span:nth-of-type(78) {
  animation-delay: -4.4s;
}

.anim-text-flow span:nth-of-type(79),
.anim-text-flow-hover:hover span:nth-of-type(79) {
  animation-delay: -4.2s;
}

.anim-text-flow span:nth-of-type(80),
.anim-text-flow-hover:hover span:nth-of-type(80) {
  animation-delay: -4s;
}

.anim-text-flow span:nth-of-type(81),
.anim-text-flow-hover:hover span:nth-of-type(81) {
  animation-delay: -3.8s;
}

.anim-text-flow span:nth-of-type(82),
.anim-text-flow-hover:hover span:nth-of-type(82) {
  animation-delay: -3.6s;
}

.anim-text-flow span:nth-of-type(83),
.anim-text-flow-hover:hover span:nth-of-type(83) {
  animation-delay: -3.4s;
}

.anim-text-flow span:nth-of-type(84),
.anim-text-flow-hover:hover span:nth-of-type(84) {
  animation-delay: -3.2s;
}

.anim-text-flow span:nth-of-type(85),
.anim-text-flow-hover:hover span:nth-of-type(85) {
  animation-delay: -3s;
}

.anim-text-flow span:nth-of-type(86),
.anim-text-flow-hover:hover span:nth-of-type(86) {
  animation-delay: -2.8s;
}

.anim-text-flow span:nth-of-type(87),
.anim-text-flow-hover:hover span:nth-of-type(87) {
  animation-delay: -2.6s;
}

.anim-text-flow span:nth-of-type(88),
.anim-text-flow-hover:hover span:nth-of-type(88) {
  animation-delay: -2.4s;
}

.anim-text-flow span:nth-of-type(89),
.anim-text-flow-hover:hover span:nth-of-type(89) {
  animation-delay: -2.2s;
}

.anim-text-flow span:nth-of-type(90),
.anim-text-flow-hover:hover span:nth-of-type(90) {
  animation-delay: -2s;
}

.anim-text-flow span:nth-of-type(91),
.anim-text-flow-hover:hover span:nth-of-type(91) {
  animation-delay: -1.8s;
}

.anim-text-flow span:nth-of-type(92),
.anim-text-flow-hover:hover span:nth-of-type(92) {
  animation-delay: -1.6s;
}

.anim-text-flow span:nth-of-type(93),
.anim-text-flow-hover:hover span:nth-of-type(93) {
  animation-delay: -1.4s;
}

.anim-text-flow span:nth-of-type(94),
.anim-text-flow-hover:hover span:nth-of-type(94) {
  animation-delay: -1.2s;
}

.anim-text-flow span:nth-of-type(95),
.anim-text-flow-hover:hover span:nth-of-type(95) {
  animation-delay: -1s;
}

.anim-text-flow span:nth-of-type(96),
.anim-text-flow-hover:hover span:nth-of-type(96) {
  animation-delay: -0.8s;
}

.anim-text-flow span:nth-of-type(97),
.anim-text-flow-hover:hover span:nth-of-type(97) {
  animation-delay: -0.6s;
}

.anim-text-flow span:nth-of-type(98),
.anim-text-flow-hover:hover span:nth-of-type(98) {
  animation-delay: -0.4s;
}

.anim-text-flow span:nth-of-type(99),
.anim-text-flow-hover:hover span:nth-of-type(99) {
  animation-delay: -0.2s;
}

.anim-text-flow span:nth-of-type(100),
.anim-text-flow-hover:hover span:nth-of-type(100) {
  animation-delay: 0s;
}

body {
    background-color: #1a1a1a;
    color: #eee;
    font-family: sans-serif;
    text-align: center;
    overflow: hidden;

    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-image: radial-gradient(circle, rgba(255, 255, 255, 0.15) 1px, transparent 1px);
    background-size: 30px 30px;

    animation: gridMove 10s linear infinite;
    -webkit-user-select: none;
    user-select: none;
}

.container {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    padding: 0;
}

.container p {
    letter-spacing: 0.25em;
    margin-top: 0;
    text-shadow: #000 5px 5px 20px;
}

.container {
    -webkit-backdrop-filter: blur(1px) saturate(200%);
    backdrop-filter: blur(1px) saturate(200%);
    background-color: rgba(42, 42, 42, 0.15);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.125);

    width: initial;
    padding: 2em;
}

.txt {
    display: block;
    font-size: 2em;
    margin-bottom: 0;
    font-weight: 900;
    letter-spacing: 0.2em;
}

.button {
    background-color: #ff6b6b;
    border: none;
    color: white;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 12px;
    box-shadow: 0 9px #c94c4c;
    margin: 10px;
}
.button:hover {
    background-color: #ff4c4c;
}
.but {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    height: 100px;
    margin: 0px;
}

@keyframes gridMove {
    0% {
        background-position: 0 0;
    }
    
    100% {
        background-position: 60px 30px;
    }
}

#footnote {
  position: fixed;
  bottom: 0;
  animation: footnote-flash 20s infinite;
  text-decoration: none;
  color: inherit;
  text-align: center;
  margin-bottom: 1vh;
}

@keyframes footnote-flash {
  0% {
    color: #ff6b6b; /* Softer Red */
  }
  16.67% {
    color: #ffa500; /* Softer Orange */
  }
  33.33% {
    color: #ffd93d; /* Softer Yellow */
  }
  50% {
    color: #6bcf7f; /* Softer Green */
  }
  66.67% {
    color: #4d96ff; /* Softer Blue */
  }
  83.33% {
    color: #a06bff; /* Softer Violet */
  }
  100% {
    color: #ff6b6b; /* Back to Softer Red */
  }
}