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

.side {
  position: absolute;
  width: 20em;
  height: 20em;
  overflow: hidden;
  background: repeating-radial-gradient(at left, yellow 1em, red 10%, transparent 2.7em, transparent 2.8em) center center;
  background-size: 7em 7em;
  animation: bg 10s infinite linear;
}
.side1 {
  position: absolute;
  width: 20em;
  height: 20em;
  overflow: hidden;
  background: repeating-radial-gradient(at left, yellow 1em, red 10%, transparent 2.7em, transparent 2.8em) center center;
  background-size: 7em 7em;
  animation: bgg 10s infinite linear;
}
.side2 {
  position: absolute;
  width: 20em;
  height: 20em;
  overflow: hidden;
  background: repeating-radial-gradient(at left, yellow 1em, red 10%, transparent 2.7em, transparent 2.8em) center center;
  background-size: 7em 7em;
  animation: bggg 10s infinite linear;
}
.side3 {
  position: absolute;
  width: 20em;
  height: 20em;
  overflow: hidden;
  background: repeating-radial-gradient(at left, yellow 1em, red 10%, transparent 2.7em, transparent 2.8em) center center;
  background-size: 7em 7em;
  animation: bgggg 10s infinite linear;
}
.side4 {
  position: absolute;
  width: 20em;
  height: 20em;
  overflow: hidden;
  background: repeating-radial-gradient(at left, yellow 1em, red 10%, transparent 2.7em, transparent 2.8em) center center;
  background-size: 7em 7em;
  animation: bggggg 10s infinite linear;
}
.side5 {
  position: absolute;
  width: 50em;
  height: 50em;
  border-radius: 50%;
  border: 2px dotted rgba(255, 50, 0, 1);
  overflow: hidden;
  background-size: 4em 4em;
  animation: bgc 10s infinite linear;
}

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

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

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

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

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

.right {
  transform: translateX(15.5em) translateZ(7em) rotateY(45deg);
}
.right2 {
  transform: translateX(15.5em) translateZ(-7em) rotateY(-45deg);
}
.sphere1 {
  transform: translateX(-15.5em) translateY(-15.5em) translateZ(0em) rotateY(-90deg);
  
}
.sphere2 {
  transform: translateX(-15.5em) translateY(-15.5em) translateZ(0em) rotateY(-180deg);
  
}
.sphere3 {
  transform: translateX(-15.5em) translateY(-15.5em) translateZ(0em) rotateY(-135deg);
  
}
.sphere4 {
  transform: translateX(-15.5em) translateY(-15.5em) translateZ(0em) rotateY(-225deg);
  
}
@keyframes rotate {
  100% {
    transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}
@keyframes bg {
  50% {
    width: 15em;
    height: 15em; 
    background-size: 12.5em 12.5em;
    border-radius: 35%;
  }
}
@keyframes bgg {
  50% {
    width: 15em;
    height: 15em; 
    background-size: 12.5em 12.5em;
    transform: translateX(13.5em) translateZ(5em) rotateY(45deg);
    border-radius: 30%;
  }
}
@keyframes bgggg {
  50% {
    width: 15em;
    height: 15em; 
    background-size: 12.5em 12.5em;
    transform: translateX(13.5em) translateZ(-5em) rotateY(-45deg);
    border-radius: 30%;
  }
}
@keyframes bggg {
  50% {
    width: 15em;
    height: 15em; 
    background-size: 12.5em 12.5em;
    transform: translateX(-13.5em) translateZ(5em) rotateY(-45deg);
    border-radius: 30%;
  }
}
@keyframes bggggg {
  50% {
    width: 15em;
    height: 15em; 
    background-size: 12.5em 12.5em;
    transform: translateX(-13.5em) translateZ(-5em) rotateY(45deg);
    border-radius: 30%;
  }
}
@keyframes bgc {
  50% {
    width: 50em;
    height: 50em;
    background-size: 17em 17em;
    border-radius: 50%;
  }
}