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: 25em;
  height: 25em;
  transform-style: preserve-3d;
  animation: rotate 15s infinite linear;
}

.side {
  position: absolute;
  width: 24.7em;
  height: 24.7em;
  overflow: hidden;
  background: repeating-radial-gradient(at center, deepskyblue 1em, transparent 1.7em, transparent 1.8em) center center;
  background-size: 5em 5em;
  animation: bg 5s infinite linear;
}

.back {
  transform: translateZ(-12.5em);
}

.front {
  transform: translateZ(12.5em);
}

.top {
  transform: translateY(-12.5em) rotateX(90deg);
}

.bottom {
  transform: translateY(12.5em) rotateX(90deg);
}

.left {
  transform: translateX(-12.5em) rotateY(90deg);
}

.right {
  transform: translateX(12.5em) rotateY(90deg);
}

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