HTML, BODY {
  height: 100%;
  overflow: hidden;
}

BODY {
  background: #000;
  perspective: 500px;
  perspective-origin: center center;
  font-size: 10px;
}

.container {
  position: absolute;
  top: -1em;
  bottom: -1em;
  left: -1em;
  right: -1em;
  margin: auto;
  width: 15em;
  height: 15em;
  transform-style: preserve-3d;
  animation: rotate 12s infinite linear;
}

.side {
  position: absolute;
  width: 20.7em;
  height: 20.7em;
  overflow: hidden;
  background: repeating-radial-gradient(at right, deeppink 1em, lime 25%, transparent 1.7em, transparent 2.9em) center center;
  background-size: 4em 4em;
  animation: bg 10s infinite linear;
}
.side2 {
  position: absolute;
  width: 20em;
  height: 20em;
  overflow: hidden;
  background: repeating-radial-gradient(at center, deeppink 1em, lime 50%, transparent 4.7em, transparent 1.9em) center center;
  background-size: 2em 2em;
  animation: bg 10s infinite linear;
}

.back {
  transform: translateZ(-10.5em) translateY(6.5em) rotateX(45deg);
}
.back2 {
  transform: translateZ(-10.5em) translateY(-6.5em)  rotateX(-45deg);
}

.front {
  transform: translateZ(10.5em) translateY(6.5em) rotateX(-45deg);
}
.front2 {
  transform: translateZ(10.5em) translateY(-6.5em) rotateX(45deg);
}

.top {
  transform: translateY(-10.5em) translateZ(10.5em) rotateX(45deg);
}
.top2 {
  transform: translateY(-10.5em)  translateZ(-10.5em) rotateX(-45deg);
}

.bottom {
  transform: translateY(10.5em) translateZ(10.5em) rotateX(-45deg);
}
.bottom2 {
  transform: translateY(10.5em) translateZ(-10.5em) rotateX(45deg);
}

.left {
  transform: translateX(-10.5em) translateZ(10.5em) rotateY(-45deg);
}
.left2 {
  transform: translateX(-10.5em) translateZ(-10.5em) rotateY(45deg);
}

.right {
  transform: translateX(10.5em) translateZ(10.5em) rotateY(45deg);
}
.right2 {
  transform: translateX(10.5em) translateZ(-10.5em) rotateY(-45deg); 
}

.left1 {
  transform: translateX(-10em) rotateY(-90deg);
  
}

.right1 {
  transform: translateX(10em) rotateY(90deg);
  
}

.top1 {
  transform: translateY(-10em) rotateX(90deg);
  
}

.bottom1 {
  transform: translateY(10em) rotateX(-90deg);
  
}

@keyframes rotate {
  100% {
    transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}
@keyframes bg {
  50% {
    width: 13em;
    height: 13em;
    background-size: 8.5em 8.5em;
    border-radius: 5%;
  }
}