html, body { height: 100%; } body { overflow: hidden; margin: 0; perspective: 100em; background: #191919; } body:after { position: absolute; top: 50%; left: 50%; margin: -16.8875em; width: 33.77499em; height: 33.77499em; box-shadow: 0 0 0 50vmax white; content: ''; } .wall { transform: rotateX(-45deg); } .wall, .wall * { box-sizing: border-box; position: absolute; top: 50%; left: 50%; transform-style: preserve-3d; } .positioner:nth-child(n + 2) .cube { animation-delay: 0.28571s; } .positioner:nth-child(2) { transform: translate3d(-2.12132em, 3em, 2.12132em); } .positioner:nth-child(3) { transform: translate3d(2.12132em, 3em, 2.12132em); } .positioner:nth-child(4) { transform: translate3d(-2.12132em, -3em, -2.12132em); } .positioner:nth-child(5) { transform: translate3d(2.12132em, -3em, -2.12132em); } .positioner:nth-child(6) { transform: translate3d(4.24264em, 0em, 0em); } .positioner:nth-child(7) { transform: translate3d(-4.24264em, 0em, 0em); } .positioner:nth-child(n + 8) .cube { animation-delay: 0.57143s; } .positioner:nth-child(8) { transform: translate3d(-4.24264em, 6em, 4.24264em); } .positioner:nth-child(9) { transform: translate3d(0em, 6em, 4.24264em); } .positioner:nth-child(10) { transform: translate3d(4.24264em, 6em, 4.24264em); } .positioner:nth-child(11) { transform: translate3d(-4.24264em, -6em, -4.24264em); } .positioner:nth-child(12) { transform: translate3d(0em, -6em, -4.24264em); } .positioner:nth-child(13) { transform: translate3d(4.24264em, -6em, -4.24264em); } .positioner:nth-child(14) { transform: translate3d(6.36396em, -3em, -2.12132em); } .positioner:nth-child(15) { transform: translate3d(8.48528em, 0em, 0em); } .positioner:nth-child(16) { transform: translate3d(6.36396em, 3em, 2.12132em); } .positioner:nth-child(17) { transform: translate3d(-6.36396em, -3em, -2.12132em); } .positioner:nth-child(18) { transform: translate3d(-8.48528em, 0em, 0em); } .positioner:nth-child(19) { transform: translate3d(-6.36396em, 3em, 2.12132em); } .positioner:nth-child(n + 20) .cube { animation-delay: 0.85714s; } .positioner:nth-child(20) { transform: translate3d(-6.36396em, 9em, 6.36396em); } .positioner:nth-child(21) { transform: translate3d(-2.12132em, 9em, 6.36396em); } .positioner:nth-child(22) { transform: translate3d(2.12132em, 9em, 6.36396em); } .positioner:nth-child(23) { transform: translate3d(6.36396em, 9em, 6.36396em); } .positioner:nth-child(24) { transform: translate3d(-6.36396em, -9em, -6.36396em); } .positioner:nth-child(25) { transform: translate3d(-2.12132em, -9em, -6.36396em); } .positioner:nth-child(26) { transform: translate3d(2.12132em, -9em, -6.36396em); } .positioner:nth-child(27) { transform: translate3d(6.36396em, -9em, -6.36396em); } .positioner:nth-child(28) { transform: translate3d(8.48528em, -6em, -4.24264em); } .positioner:nth-child(29) { transform: translate3d(10.6066em, -3em, -2.12132em); } .positioner:nth-child(30) { transform: translate3d(12.72792em, 0em, 0em); } .positioner:nth-child(31) { transform: translate3d(10.6066em, 3em, 2.12132em); } .positioner:nth-child(32) { transform: translate3d(8.48528em, 6em, 4.24264em); } .positioner:nth-child(33) { transform: translate3d(-8.48528em, -6em, -4.24264em); } .positioner:nth-child(34) { transform: translate3d(-10.6066em, -3em, -2.12132em); } .positioner:nth-child(35) { transform: translate3d(-12.72792em, 0em, 0em); } .positioner:nth-child(36) { transform: translate3d(-10.6066em, 3em, 2.12132em); } .positioner:nth-child(37) { transform: translate3d(-8.48528em, 6em, 4.24264em); } .positioner:nth-child(n + 38) .cube { animation-delay: 1.14286s; } .positioner:nth-child(38) { transform: translate3d(-8.48528em, 12em, 8.48528em); } .positioner:nth-child(39) { transform: translate3d(-4.24264em, 12em, 8.48528em); } .positioner:nth-child(40) { transform: translate3d(0em, 12em, 8.48528em); } .positioner:nth-child(41) { transform: translate3d(4.24264em, 12em, 8.48528em); } .positioner:nth-child(42) { transform: translate3d(8.48528em, 12em, 8.48528em); } .positioner:nth-child(43) { transform: translate3d(-8.48528em, -12em, -8.48528em); } .positioner:nth-child(44) { transform: translate3d(-4.24264em, -12em, -8.48528em); } .positioner:nth-child(45) { transform: translate3d(0em, -12em, -8.48528em); } .positioner:nth-child(46) { transform: translate3d(4.24264em, -12em, -8.48528em); } .positioner:nth-child(47) { transform: translate3d(8.48528em, -12em, -8.48528em); } .positioner:nth-child(48) { transform: translate3d(10.6066em, -9em, -6.36396em); } .positioner:nth-child(49) { transform: translate3d(12.72792em, -6em, -4.24264em); } .positioner:nth-child(50) { transform: translate3d(14.84924em, -3em, -2.12132em); } .positioner:nth-child(51) { transform: translate3d(16.97056em, 0em, 0em); } .positioner:nth-child(52) { transform: translate3d(14.84924em, 3em, 2.12132em); } .positioner:nth-child(53) { transform: translate3d(12.72792em, 6em, 4.24264em); } .positioner:nth-child(54) { transform: translate3d(10.6066em, 9em, 6.36396em); } .positioner:nth-child(55) { transform: translate3d(-10.6066em, -9em, -6.36396em); } .positioner:nth-child(56) { transform: translate3d(-12.72792em, -6em, -4.24264em); } .positioner:nth-child(57) { transform: translate3d(-14.84924em, -3em, -2.12132em); } .positioner:nth-child(58) { transform: translate3d(-16.97056em, 0em, 0em); } .positioner:nth-child(59) { transform: translate3d(-14.84924em, 3em, 2.12132em); } .positioner:nth-child(60) { transform: translate3d(-12.72792em, 6em, 4.24264em); } .positioner:nth-child(61) { transform: translate3d(-10.6066em, 9em, 6.36396em); } .positioner:nth-child(n + 62) .cube { animation-delay: 1.42857s; } .positioner:nth-child(62) { transform: translate3d(-10.6066em, 15em, 10.6066em); } .positioner:nth-child(63) { transform: translate3d(-6.36396em, 15em, 10.6066em); } .positioner:nth-child(64) { transform: translate3d(-2.12132em, 15em, 10.6066em); } .positioner:nth-child(65) { transform: translate3d(2.12132em, 15em, 10.6066em); } .positioner:nth-child(66) { transform: translate3d(6.36396em, 15em, 10.6066em); } .positioner:nth-child(67) { transform: translate3d(10.6066em, 15em, 10.6066em); } .positioner:nth-child(68) { transform: translate3d(-10.6066em, -15em, -10.6066em); } .positioner:nth-child(69) { transform: translate3d(-6.36396em, -15em, -10.6066em); } .positioner:nth-child(70) { transform: translate3d(-2.12132em, -15em, -10.6066em); } .positioner:nth-child(71) { transform: translate3d(2.12132em, -15em, -10.6066em); } .positioner:nth-child(72) { transform: translate3d(6.36396em, -15em, -10.6066em); } .positioner:nth-child(73) { transform: translate3d(10.6066em, -15em, -10.6066em); } .positioner:nth-child(74) { transform: translate3d(12.72792em, -12em, -8.48528em); } .positioner:nth-child(75) { transform: translate3d(14.84924em, -9em, -6.36396em); } .positioner:nth-child(76) { transform: translate3d(16.97056em, -6em, -4.24264em); } .positioner:nth-child(77) { transform: translate3d(19.09188em, -3em, -2.12132em); } .positioner:nth-child(78) { transform: translate3d(21.2132em, 0em, 0em); } .positioner:nth-child(79) { transform: translate3d(19.09188em, 3em, 2.12132em); } .positioner:nth-child(80) { transform: translate3d(16.97056em, 6em, 4.24264em); } .positioner:nth-child(81) { transform: translate3d(14.84924em, 9em, 6.36396em); } .positioner:nth-child(82) { transform: translate3d(12.72792em, 12em, 8.48528em); } .positioner:nth-child(83) { transform: translate3d(-12.72792em, -12em, -8.48528em); } .positioner:nth-child(84) { transform: translate3d(-14.84924em, -9em, -6.36396em); } .positioner:nth-child(85) { transform: translate3d(-16.97056em, -6em, -4.24264em); } .positioner:nth-child(86) { transform: translate3d(-19.09188em, -3em, -2.12132em); } .positioner:nth-child(87) { transform: translate3d(-21.2132em, 0em, 0em); } .positioner:nth-child(88) { transform: translate3d(-19.09188em, 3em, 2.12132em); } .positioner:nth-child(89) { transform: translate3d(-16.97056em, 6em, 4.24264em); } .positioner:nth-child(90) { transform: translate3d(-14.84924em, 9em, 6.36396em); } .positioner:nth-child(91) { transform: translate3d(-12.72792em, 12em, 8.48528em); } .positioner:nth-child(n + 92) .cube { animation-delay: 1.71429s; } .positioner:nth-child(92) { transform: translate3d(-12.72792em, 18em, 12.72792em); } .positioner:nth-child(93) { transform: translate3d(-8.48528em, 18em, 12.72792em); } .positioner:nth-child(94) { transform: translate3d(-4.24264em, 18em, 12.72792em); } .positioner:nth-child(95) { transform: translate3d(0em, 18em, 12.72792em); } .positioner:nth-child(96) { transform: translate3d(4.24264em, 18em, 12.72792em); } .positioner:nth-child(97) { transform: translate3d(8.48528em, 18em, 12.72792em); } .positioner:nth-child(98) { transform: translate3d(12.72792em, 18em, 12.72792em); } .positioner:nth-child(99) { transform: translate3d(-12.72792em, -18em, -12.72792em); } .positioner:nth-child(100) { transform: translate3d(-8.48528em, -18em, -12.72792em); } .positioner:nth-child(101) { transform: translate3d(-4.24264em, -18em, -12.72792em); } .positioner:nth-child(102) { transform: translate3d(0em, -18em, -12.72792em); } .positioner:nth-child(103) { transform: translate3d(4.24264em, -18em, -12.72792em); } .positioner:nth-child(104) { transform: translate3d(8.48528em, -18em, -12.72792em); } .positioner:nth-child(105) { transform: translate3d(12.72792em, -18em, -12.72792em); } .positioner:nth-child(106) { transform: translate3d(14.84924em, -15em, -10.6066em); } .positioner:nth-child(107) { transform: translate3d(16.97056em, -12em, -8.48528em); } .positioner:nth-child(108) { transform: translate3d(19.09188em, -9em, -6.36396em); } .positioner:nth-child(109) { transform: translate3d(21.2132em, -6em, -4.24264em); } .positioner:nth-child(110) { transform: translate3d(23.33452em, -3em, -2.12132em); } .positioner:nth-child(111) { transform: translate3d(25.45584em, 0em, 0em); } .positioner:nth-child(112) { transform: translate3d(23.33452em, 3em, 2.12132em); } .positioner:nth-child(113) { transform: translate3d(21.2132em, 6em, 4.24264em); } .positioner:nth-child(114) { transform: translate3d(19.09188em, 9em, 6.36396em); } .positioner:nth-child(115) { transform: translate3d(16.97056em, 12em, 8.48528em); } .positioner:nth-child(116) { transform: translate3d(14.84924em, 15em, 10.6066em); } .positioner:nth-child(117) { transform: translate3d(-14.84924em, -15em, -10.6066em); } .positioner:nth-child(118) { transform: translate3d(-16.97056em, -12em, -8.48528em); } .positioner:nth-child(119) { transform: translate3d(-19.09188em, -9em, -6.36396em); } .positioner:nth-child(120) { transform: translate3d(-21.2132em, -6em, -4.24264em); } .positioner:nth-child(121) { transform: translate3d(-23.33452em, -3em, -2.12132em); } .positioner:nth-child(122) { transform: translate3d(-25.45584em, 0em, 0em); } .positioner:nth-child(123) { transform: translate3d(-23.33452em, 3em, 2.12132em); } .positioner:nth-child(124) { transform: translate3d(-21.2132em, 6em, 4.24264em); } .positioner:nth-child(125) { transform: translate3d(-19.09188em, 9em, 6.36396em); } .positioner:nth-child(126) { transform: translate3d(-16.97056em, 12em, 8.48528em); } .positioner:nth-child(127) { transform: translate3d(-14.84924em, 15em, 10.6066em); } .cube { transform: rotateY(45deg); animation: rotw 5s linear infinite; } .face { margin: -1.5em; border: solid .125em; width: 3em; height: 3em; backface-visibility: hidden; background: whitesmoke; } .face:nth-child(1) { transform: rotateY(0deg) translateZ(1.5em); } .face:nth-child(2) { transform: rotateY(90deg) translateZ(1.5em); } .face:nth-child(3) { transform: rotateY(180deg) translateZ(1.5em); } .face:nth-child(4) { transform: rotateY(270deg) translateZ(1.5em); } .face:nth-child(5) { transform: rotateX(90deg) translateZ(1.5em); } .face:nth-child(6) { transform: rotateX(-90deg) translateZ(1.5em); } @keyframes rotw { 28.57143%, 100% { transform: rotateY(-45deg); } }