body {
  height: 100%;
}
.container {
  position: absolute;
  width: 100px;
  height: 100px;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  -o-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  -webkit-perspective: 800px;
  -moz-perspective: 400px;
  -ms-perspective: 400px;
  perspective: 400px;
}
.container .cube {
  height: 100px;
  width: 100px;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d;
  -webkit-animation: rotate 4s infinite ease-in-out;
  -o-animation: rotate 4s infinite ease-in-out;
  animation: rotate 4s infinite ease-in-out;
}
.container .side {
  position: absolute;
  display: block;
  width: 100px;
  height: 100px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}
.container .side1 {
  background-image: linear-gradient(top, #41c3ac, #0d2b25);
  background-image: -webkit-linear-gradient(top, #41c3ac, #0d2b25);
  -webkit-box-shadow: inset 0 0 100px #41c3ac;
  -moz-box-shadow: inset 0 0 40px #41c3ac;
  box-shadow: inset 0 0 100px #41c3ac;
  -webkit-transform: translateZ(100px);
  transform: translateZ(100px);
}
.container .side2 {
  background-image: linear-gradient(top, #ff884d, #802a00);
  background-image: -webkit-linear-gradient(top, #ff884d, #802a00);
  -webkit-transform: rotateY(90deg) translateZ(100px);
  transform: rotateY(90deg) translateZ(100px);
}
.container .side3 {
  background-image: linear-gradient(top, #32536e, #000000);
  background-image: -webkit-linear-gradient(top, #32536e, #000000);
  -webkit-transform: rotateY(180deg) translateZ(100px);
  transform: rotateY(180deg) translateZ(100px);
}
.container .side4 {
  background-image: linear-gradient(top, #65a2c5, #1a3544);
  background-image: -webkit-linear-gradient(top, #65a2c5, #1a3544);
  -webkit-transform: rotateY(-90deg) translateZ(100px);
  transform: rotateY(-90deg) translateZ(100px);
}
.container .side5 {
  background-image: linear-gradient(top, #ffcc5c, #8f6200);
  background-image: -webkit-linear-gradient(top, #ffcc5c, #8f6200);
  -webkit-transform: rotateX(90deg) translateZ(100px);
  transform: rotateX(90deg) translateZ(100px);
}
.container .side6 {
  background-image: linear-gradient(top, #ff6b57, #8a1000);
  background-image: -webkit-linear-gradient(top, #ff6b57, #8a1000);
  -webkit-transform: rotateX(-90deg) translateZ(100px);
  transform: rotateX(-90deg) translateZ(100px);
}
@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    -moz-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    -ms-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    -o-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  33.33% {
    -webkit-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    -moz-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    -ms-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    -o-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
  }
  66.66% {
    -webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    -moz-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    -ms-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    -o-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
  }
  to {
    -webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    -moz-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    -ms-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    -o-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}
@-o-keyframes rotate {
  from {
    -webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    -moz-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    -ms-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    -o-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  33.33% {
    -webkit-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    -moz-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    -ms-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    -o-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
  }
  66.66% {
    -webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    -moz-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    -ms-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    -o-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
  }
  to {
    -webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    -moz-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    -ms-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    -o-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}
@-moz-keyframes rotate {
  from {
    -webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    -moz-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    -ms-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    -o-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  33.33% {
    -webkit-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    -moz-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    -ms-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    -o-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
  }
  66.66% {
    -webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    -moz-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    -ms-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    -o-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
  }
  to {
    -webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    -moz-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    -ms-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    -o-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}
@keyframes rotate {
  from {
    -webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    -moz-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    -ms-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    -o-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
    transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
  }
  33.33% {
    -webkit-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    -moz-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    -ms-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    -o-transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
    transform: rotateX(360deg) rotateY(0deg) rotateZ(0deg);
  }
  66.66% {
    -webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    -moz-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    -ms-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    -o-transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
    transform: rotateX(360deg) rotateY(360deg) rotateZ(0deg);
  }
  to {
    -webkit-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    -moz-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    -ms-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    -o-transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
    transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg);
  }
}
