html, body { margin: 0; padding: 0; height: 100%; width: 100%; cursor: default; } body { background-color: #cccccc; } .loader { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); text-align: center; font-family: Arial, sans-serif; font-size: 3em; font-weight: bold; color: transparent; user-select: none; white-space: nowrap; } .loader span { text-shadow: 0 0 2px rgba(204, 204, 204, 0.9), 0 15px 25px rgba(0, 0, 0, 0.3), 0 -2px 3px rgba(0, 0, 0, 0.1), 0 -5px 10px rgba(255, 255, 255, 0.5), 0 5px 10px rgba(0, 0, 0, 0.3), 0 3px 4px rgba(255, 255, 255, 0.2), 0 0 20px rgba(255, 255, 255, 0.45); animation: loading 3.0s ease-in-out infinite alternate; } @keyframes loading { to { text-shadow: 0 0 2px rgba(204, 204, 204, 0), 0 0 3px rgba(0, 0, 0, 0), 0 0 0 rgba(0, 0, 0, 0), 0 0 0 rgba(255, 255, 255, 0), 0 0 0 rgba(0, 0, 0, 0), 0 0 0 rgba(255, 255, 255, 0), 0 0 0 rgba(255, 255, 255, 0); opacity: 0; } } .loader span:nth-child(1) { animation-delay: 0.1s; } .loader span:nth-child(2) { animation-delay: 0.2s; } .loader span:nth-child(3) { animation-delay: 0.3s; } .loader span:nth-child(4) { animation-delay: 0.4s; } .loader span:nth-child(5) { animation-delay: 0.5s; } .loader span:nth-child(6) { animation-delay: 0.6s; } .loader span:nth-child(7) { animation-delay: 0.7s; } .loader span:nth-child(8) { animation-delay: 0.8s; } .loader span:nth-child(9) { animation-delay: 0.9s; } .loader span:nth-child(10) { animation-delay: 1.0s; } .loader span:nth-child(11) { animation-delay: 1.1s; } .loader span:nth-child(12) { animation-delay: 1.2s; } .loader span:nth-child(13) { animation-delay: 1.3s; } .loader span:nth-child(14) { animation-delay: 1.4s; } .loader span:nth-child(15) { animation-delay: 1.6s; } .loader span:nth-child(16) { animation-delay: 1.7s; }