#wrapper {
  width: 214px;
  height: 251px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.hex {
  position: absolute;
  z-index: 99;
  top: 94px;
  left: -4px;
  animation-name: beesandbombs;
  animation-duration: 8s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier(0.82, 0.01, 0.24, 0.98);
}
@keyframes beesandbombs {
  0% {
    top: 94px;
    left: -4px;
    transform: rotate(0deg);
    visibility: visible;
  }
  15% {
    top: 31px;
    left: -1px;
    transform: rotate(-61deg);
  }
  30% {
    top: 1px;
    left: 54px;
    transform: rotate(-120deg);
  }
  45% {
    top: 28px;
    left: 105px;
    transform: rotate(-180deg);
  }
  60% {
    top: 93px;
    left: 107px;
    transform: rotate(-240deg);
  }
  62% {
    visibility: hidden;
  }
  100% {
    visibility: hidden;
  }
}
.hex div {
  position: relative;
  width: 110px;
  height: 62px;
  background-color: white;
  margin: 30.31px 0;
}

.hex div:before,
.hex div:after {
  content: "";
  position: absolute;
  width: 0;
  border-left: 55.45px solid transparent;
  border-right: 55.45px solid transparent;
}

.hex div:before {
  bottom: 100%;
  border-bottom: 31.31px solid white;
}

.hex div:after {
  top: 98.5%;
  width: 0;
  border-top: 31.31px solid white;
}
.hexegan {
  position: absolute;
  width: 110px;
  height: 112px;
  background-color: white;
  margin: 30.31px 0;
  transform: rotate(-45deg);
  bottom: -10px;
  right: 21.5px;
  animation-name: beesandbombs2;
  animation-duration: 8s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier(0.82, 0.01, 0.24, 0.98);
}
@keyframes beesandbombs2 {
  0% {
    visibility: hidden;
    opacity: 0;
  }
  60% {
    visibility: hidden;
    opacity: 0;
  }
  61% {
    visibility: visible;
    opacity: 1;
  }
  100% {
    visibility: visible;
  }
}
.hexegan:before {
  bottom: 98.5%;
  border-bottom: 54.45px solid white;
}
.hexegan:before,
.hexegan:after {
  content: "";
  position: absolute;
  width: 0;
  border-left: 54.45px solid transparent;
  border-right: 54.45px solid transparent;
}
.hexegan:after {
  top: 98.5%;
  width: 0;
  border-top: 54.45px solid white;
}
.cube {
  position: relative;
  width: 150px;
  height: 150px;
  transform-style: preserve-3d;
  transform: rotateY(0deg) rotatex(55deg) rotateZ(-45deg) translateZ(-58px)
    translateX(21px) translateY(23px);
  transition: 300ms ease-in;
  animation-name: beesandbombs3;
  animation-duration: 8s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier(0.82, 0.01, 0.24, 0.98);
}
@keyframes beesandbombs3 {
  0% {
    transform: rotateY(0deg) rotatex(55deg) rotateZ(-45deg) translateZ(-58px)
      translateX(21px) translateY(23px);
  }
  61% {
    transform: rotateY(0deg) rotatex(55deg) rotateZ(-45deg) translateZ(-58px)
      translateX(21px) translateY(23px) rotate3D(1, 0, 0, 0deg);
  }
  75% {
    transform: rotateY(0deg) rotatex(55deg) rotateZ(-45deg) translateZ(-58px)
      translateX(21px) translateY(23px) rotate3D(1, 0, 0, 90deg);
  }
  100% {
    transform: rotateY(0deg) rotatex(55deg) rotateZ(-45deg) translateZ(-58px)
      translateX(21px) translateY(23px) rotate3D(1, 0, 0, 90deg)
      rotate3D(0, 0, 1, 90deg);
  }
}
.cube > div {
  position: absolute;
  width: 151px;
  height: 151px;
  background: #1f1f1f;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
}

.cube > div:nth-child(1) {
  transform: translateZ(75px);
}

.cube > div:nth-child(2) {
  transform: rotateX(180deg) translateZ(75px);
}

.cube > div:nth-child(3) {
  transform: rotateY(-90deg) translateZ(75px);
}

.cube > div:nth-child(4) {
  transform: rotateY(90deg) translateZ(75px);
}

.cube > div:nth-child(5) {
  transform: rotateX(90deg) translateZ(75px);
}

.cube > div:nth-child(6) {
  transform: rotateX(-90deg) translateZ(75px);
}