<div class="container">
  <div class="left">
    <div class="uno"><div class="uno"><div class="uno"><div class="uno"></div></div></div></div>
    <div class="dos"><div class="dos"><div class="dos"><div class="dos"></div></div></div></div>
    <div class="tres"><div class="tres"><div class="tres"><div class="tres"></div></div></div></div>
    <div class="cuatro"><div class="cuatro"><div class="cuatro"><div class="cuatro"></div></div></div></div>
  </div>
  <div class="right">
    <div class="uno"><div class="uno"><div class="uno"><div class="uno"></div></div></div></div>
    <div class="dos"><div class="dos"><div class="dos"><div class="dos"></div></div></div></div>
    <div class="tres"><div class="tres"><div class="tres"><div class="tres"></div></div></div></div>
    <div class="cuatro"><div class="cuatro"><div class="cuatro"><div class="cuatro"></div></div></div></div>
  </div>
</div>
@w: 20px;
@h: 3px;

html,
body {
  height: 100%;
  overflow: hidden; 
}

.container {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -20px;
  animation: inicio 5s ease-in-out forwards;
}

.container::after {
  background: rgba(0,0,0,0.5);
  content:"";
  position: absolute;
  top: -1000px;
  left: 50%;
  margin-left: 9px;
  width: 1px;
  height: 1000px;
}

.container::before {
  background: rgba(0,0,0,1);
  border-radius: 100%;
  color: #fff;
  font-size: 1.3em;
  content:"......";
  position: absolute;
  margin-top: -5px;
  margin-left: -2px;
  width: @w+5;
  height: @w+5;
}

.left {
  position: absolute;
}

.right {
  position: absolute;
  transform: rotateY(180deg);
}

.uno,
.dos,
.tres,
.cuatro {
  background: rgba(0,0,0,0.5);
  position: relative;
  width: @w;
  height: @h;
}

.uno > .uno,
.dos > .dos,
.tres > .tres,
.cuatro > .cuatro {
  transform-origin: @w top;
  transform: rotate(-80deg) translateX(@w);
  animation: seg 2.5s ease infinite;
}

.uno > .uno > .uno,
.dos > .dos > .dos,
.tres > .tres > .tres,
.cuatro > .cuatro > .cuatro {
  transform-origin: @w top;
  transform: rotate(10deg) translateX(@w);
  animation: seg 1.5s ease infinite;
}

.right > .dos > .dos {
  animation-delay: 200ms;
}

.dos > .dos {
  animation-delay: 400ms;
}

.dos > .dos > .dos {
  animation-delay: 200ms;
}

.right >.tres > .tres {
  animation-delay: 400ms;
}

.tres > .tres {
  animation-delay: 600ms;
}

.tres > .tres > .tres {
  animation-delay: 300ms;
}

.right > .cuatro > .cuatro {
  animation-delay: 100ms;
}

.cuatro > .cuatro {
  animation-delay: 800ms;
}

.cuatro > .cuatro > .cuatro {
  animation-delay: 400ms;
}

@keyframes seg {
  50% {
    transform: rotate(55deg) translateX(@w);
  }
}

@keyframes inicio {
  100% {
    top: 50%;
  }
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js