body, html { background-color: #000; color: white; overflow-x: hidden; } main { height: calc(100% - 60px); } .error { display: flex; flex-direction: column; justify-content: center; align-content: center; font-family: 'Press Start 2P', cursive; text-align: center; } .error h1 { font-size: clamp(32px, 10vw, 50px); margin: 20px 10px; } .error p { font-size: clamp(14px, 4vw, 18px); margin: 30px auto; width: 90%; max-width: 550px; line-height: 1.5em; } .error img { display: block; max-width: 90%; height: auto; margin: 20px auto; } .error img { display: block; margin: 20px auto; } #dots { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin: 20px; } .dot { width: 15px; height: 15px; background-color: white; border-radius: 50%; margin-right: 15px; } h1 { font-size: 100px; margin-bottom: 20px; position: relative; color: #ff4c4c; animation: glitch 2s infinite; } h1::before, h1::after { position: absolute; right: 0; color: #ff4c4c; } h1::before { content: attr(data-error-code); color: #00f9ff; top: -2px; left: -2px; animation: glitch 2s infinite; } h1::after { color: #ff00e1; top: 2px; left: 2px; animation: glitch 2s infinite; } @keyframes glitch { 0% { transform: translate(0); opacity: 1; } 20% { transform: translate(-2px, 2px); opacity: 0.8; } 40% { transform: translate(2px, -2px); opacity: 0.8; } 60% { transform: translate(-2px, 2px); opacity: 0.8; } 80% { transform: translate(2px, -2px); opacity: 1; } 100% { transform: translate(0); opacity: 1; } }