.megabox
  - (1..4*4*4).each do
    .box
      - (1..4).each do
        .face
View Compiled
$total-duration: 4.1s;
$half-pause: 5%;

html, body { height: 100%; }
body { font-size: 30px; overflow: hidden; }

@keyframes megabox
{
  from, #{$half-pause} { transform: rotateX(-35deg) rotateY(-45deg) rotateY(0) rotateZ(0) rotateY(0); }
  #{33% - $half-pause}, #{33% + $half-pause} { transform: rotateX(-35deg) rotateY(-45deg) rotateY(90deg) rotateZ(0) rotateY(0); }
  #{66% - $half-pause}, #{66% + $half-pause} { transform: rotateX(-35deg) rotateY(-45deg) rotateY(90deg) rotateZ(90deg) rotateY(0); }
  #{100% - $half-pause}, to { transform: rotateX(-35deg) rotateY(-45deg) rotateY(90deg) rotateZ(90deg) rotateY(-90deg); }
}
.megabox
{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8em;
  height: 8em;
  margin: -4em 0 0 -4em;
  transform-style: preserve-3d;
  animation: megabox $total-duration cubic-bezier(.62,.06,.44,.88) infinite;
}

.box
{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1em;
  height: 1em;
  transform-style: preserve-3d;
  margin: -.5em 0 0 -.5em;
  @for $x from 0 to 4
  {
    @for $y from 0 to 4
    {
      @for $z from 0 to 4
      {
        $id: $x + 4*$y + 16*$z + 1;
        $base: translate3d(2 * $x - 3em, 2 * $y - 3em, 2 * $z - 3em);
        @keyframes box#{$id}
        {
          from, 66%, to { transform: $base rotateY(0); }
          33% { transform: $base rotateY(90deg); }
        }
        &:nth-child(#{$id})
        {
          animation: box#{$id} $total-duration steps(1) infinite;
        }
      }
    }
  }
}

.face
{
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
  background: #222;
  padding: 1px;
  margin: -1px 0 0 -1px;
  &:nth-child(1) { transform: rotateY(90deg) translateZ(-.5em); }
  &:nth-child(2) { transform: rotateX(90deg) translateZ(-.5em); }
  &:nth-child(3) { transform: rotateY(-90deg) translateZ(-.5em); }
  &:nth-child(4) { transform: rotateX(-90deg) translateZ(-.5em); }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.