body { display: flex; justify-content: center; align-items: center; width: 100%; min-height: 100vh; background: #000; overflow: hidden; } .glowing { position: absolute; width: 60vw; height: 100vh; transform-origin: right; animation: colorChange 5s linear infinite; animation: fadeaway 30s forwards; left: calc(50% + var(--j) * 50%); transform: translateX(-50%); } .glowing:nth-child(even) { transform-origin: left; } @keyframes colorChange { 0% { filter: hue-rotate(0deg); transform: rotate(0deg); } 100% { filter: hue-rotate(360deg); transform: rotate(360deg); } } .glowing span { position: absolute; top: calc(80px * var(--i)); left: calc(80px * var(--i)); bottom: calc(80px * var(--i)); right: calc(80px * var(--i)); filter: blur(2px); } .glowing span::before { content: ""; position: absolute; top: 50%; left: -8px; width: 10px; height: 10px; background: #f00; border-radius: 50%; } .glowing span:nth-child(3n + 1)::before { background: rgba(134,255,0,1); box-shadow: 0 0 20px rgba(134,255,0,1), 0 0 40px rgba(134,255,0,1), 0 0 60px rgba(134,255,0,1), 0 0 80px rgba(134,255,0,1), 0 0 0 8px rgba(134,255,0,.1); } .glowing span:nth-child(3n + 2)::before { background: rgba(0,255,183,1); box-shadow: 0 0 20px rgba(0,255,183,1), 0 0 40px rgba(0,255,183,1), 0 0 60px rgba(0,255,183,1), 0 0 80px rgba(0,255,183,1), 0 0 0 8px rgba(0,255,183,.1); } .glowing span:nth-child(3n + 3)::before { background: rgba(0,226,255,1); box-shadow: 0 0 20px rgba(0,226,255,1), 0 0 40px rgba(0,226,255,1), 0 0 60px rgba(0,226,255,1), 0 0 80px rgba(0,226,255,1), 0 0 0 8px rgba(0,226,255,.1); } .glowing span:nth-child(3n + 1) { animation: rotatedots 15s alternate infinite; } .glowing span:nth-child(3n + 2) { animation: rotatedots-reverse 5s alternate infinite; } .glowing span:nth-child(3n + 3) { animation: rotatedots 11s alternate infinite; } @keyframes fadeaway { 0% { opacity: 1; } 15% { opacity: 1; } 100% { opacity: 0; } } @keyframes rotatedots { 0% { transform: rotate(180deg); } 50% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes rotatedots-reverse { 0% { transform: rotate(360deg); } 50% { transform: rotate(180deg); } 100% { transform: rotate(0deg); } } .logointro{ filter: blur(14px); opacity: 0; animation: logoanim 5s ease-out forwards; /* runs once */ will-change: filter, opacity; color: #FFF; position: absolute; font-family: sans; text-shadow: 3px -3px 5px #C5F7FF; } @keyframes logoanim{ 0% { filter: blur(14px); opacity: 0; transform: scale(0.1) } 100% { filter: blur(0); opacity: 1; transform: scale(0.7) } } @keyframes startbtnanim{ 0% { opacity: 0; } 40% { opacity: 0.8; } 100% { opacity: 1; } } #startbtn{ cursor: default; position: absolute; bottom: 25%; color: aliceblue; font-family: sans; font-style: italic; font-size: 40px; border-radius: 100px; padding: 5px 40px; background: radial-gradient(#282362, #0a8200); box-shadow: 2px 2px 10px #BAFFEF, -2px -2px 10px #BAFFEF, -2px 0 10px #BAFFEF, 0 -2px 10px #BAFFEF; animation: startbtnanim 5s ease-out forwards; }