html { overflow: hidden; background: #c74b10; } .sphere { transform: rotateY(-135deg); } .sphere, .sphere * { box-sizing: border-box; position: absolute; top: 50%; left: 50%; transform-style: preserve-3d; } .ring { margin: -13em; border: solid .25em white; width: 26em; height: 26em; border-radius: 50%; } .ring:nth-child(1) { transform: translateZ(-13em) scale(0.0); animation: next1 2s linear infinite; } @keyframes next1 { to { transform: translateZ(-12.55704em) scale(0.25882); } } .ring:nth-child(2) { transform: translateZ(-12.55704em) scale(0.25882); animation: next2 2s linear infinite; } @keyframes next2 { to { transform: translateZ(-11.25833em) scale(0.5); } } .ring:nth-child(3) { transform: translateZ(-11.25833em) scale(0.5); animation: next3 2s linear infinite; } @keyframes next3 { to { transform: translateZ(-9.19239em) scale(0.70711); } } .ring:nth-child(4) { transform: translateZ(-9.19239em) scale(0.70711); animation: next4 2s linear infinite; } @keyframes next4 { to { transform: translateZ(-6.5em) scale(0.86603); } } .ring:nth-child(5) { transform: translateZ(-6.5em) scale(0.86603); animation: next5 2s linear infinite; } @keyframes next5 { to { transform: translateZ(-3.36465em) scale(0.96593); } } .ring:nth-child(6) { transform: translateZ(-3.36465em) scale(0.96593); animation: next6 2s linear infinite; } @keyframes next6 { to { transform: translateZ(0em) scale(1); } } .ring:nth-child(7) { transform: translateZ(0em) scale(1); animation: next7 2s linear infinite; } @keyframes next7 { to { transform: translateZ(3.36465em) scale(0.96593); } } .ring:nth-child(8) { transform: translateZ(3.36465em) scale(0.96593); animation: next8 2s linear infinite; } @keyframes next8 { to { transform: translateZ(6.5em) scale(0.86603); } } .ring:nth-child(9) { transform: translateZ(6.5em) scale(0.86603); animation: next9 2s linear infinite; } @keyframes next9 { to { transform: translateZ(9.19239em) scale(0.70711); } } .ring:nth-child(10) { transform: translateZ(9.19239em) scale(0.70711); animation: next10 2s linear infinite; } @keyframes next10 { to { transform: translateZ(11.25833em) scale(0.5); } } .ring:nth-child(11) { transform: translateZ(11.25833em) scale(0.5); animation: next11 2s linear infinite; } @keyframes next11 { to { transform: translateZ(12.55704em) scale(0.25882); } } .ring:nth-child(12) { transform: translateZ(12.55704em) scale(0.25882); animation: next12 2s linear infinite; } @keyframes next12 { to { transform: translateZ(13em) scale(0.0); } }