<!-- begin cubes modal -->
 <div class="cubes">
  <div class="sk-cube sk-cube1"></div>
  <div class="sk-cube sk-cube2"></div>
  <div class="sk-cube sk-cube3"></div>
  <div class="sk-cube sk-cube4"></div>
  <div class="sk-cube sk-cube5"></div>
  <div class="sk-cube sk-cube6"></div>
  <div class="sk-cube sk-cube7"></div>
  <div class="sk-cube sk-cube8"></div>
  <div class="sk-cube sk-cube9"></div>
 </div>

 <!-- begin folding modal -->
 <div class="folding">
  <div class="sk-cube1 sk-cube"></div>
  <div class="sk-cube2 sk-cube"></div>
  <div class="sk-cube4 sk-cube"></div>
  <div class="sk-cube3 sk-cube"></div>
 </div>

 <!-- begin bounce modal -->
 <div class="bounce">
  <div class="bounce1"></div>
  <div class="bounce2"></div>
  <div class="bounce3"></div>
 </div>
 
 <!-- begin dots modal -->
 <div class="dots">
  <div class="dot1"></div>
  <div class="dot2"></div>
 </div>
 
 <!-- begin fluct modal -->
 <div class="fluct"></div>
 
 <!-- begin dots modal -->
 <div class="double">
  <div class="double-bounce1"></div>
  <div class="double-bounce2"></div>
 </div>
 
 <!-- begin rect modal -->
 <div class="rect">
  <div class="rect1"></div>
  <div class="rect2"></div>
  <div class="rect3"></div>
  <div class="rect4"></div>
  <div class="rect5"></div>
 </div>
 /*  begin cubes css */
  
  .cubes {
   width: 40px;
   height: 40px;
   margin: 100px auto;
  }
  
  .cubes .sk-cube {
   width: 33%;
   height: 33%;
   background-color: #333;
   float: left;
   animation: sk-cubeGridScaleDelay 1.3s infinite ease-in-out;
  }
  
  .cubes .sk-cube1 {
   animation-delay: 0.2s;
  }
  
  .cubes .sk-cube2 {
   animation-delay: 0.3s;
  }
  
  .cubes .sk-cube3 {
   animation-delay: 0.4s;
  }
  
  .cubes .sk-cube4 {
   animation-delay: 0.1s;
  }
  
  .cubes .sk-cube5 {
   animation-delay: 0.2s;
  }
  
  .cubes .sk-cube6 {
   animation-delay: 0.3s;
  }
  
  .cubes .sk-cube7 {
   animation-delay: 0s;
  }
  
  .cubes .sk-cube8 {
   animation-delay: 0.1s;
  }
  
  .cubes .sk-cube9 {
   animation-delay: 0.2s;
  }
  
  @keyframes sk-cubeGridScaleDelay {
   0%,
   70%,
   100% {
    transform: scale3D(1, 1, 1);
   }
   35% {
    transform: scale3D(0, 0, 1);
   }
  }

  /*  begin folding css */
  
  .folding {
   margin: 20px auto;
   width: 40px;
   height: 40px;
   position: relative;
   transform: rotateZ(45deg);
  }
  
  .folding .sk-cube {
   float: left;
   width: 50%;
   height: 50%;
   position: relative;
   transform: scale(1.1);
  }
  
  .folding .sk-cube:before {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: #333;
   animation: sk-foldCubeAngle 2.4s infinite linear both;
   transform-origin: 100% 100%;
  }
  
  .folding .sk-cube2 {
   transform: scale(1.1) rotateZ(90deg);
  }
  
  .folding .sk-cube3 {
   transform: scale(1.1) rotateZ(180deg);
  }
  
  .folding .sk-cube4 {
   transform: scale(1.1) rotateZ(270deg);
  }
  
  .folding .sk-cube2:before {
   animation-delay: 0.3s;
  }
  
  .folding .sk-cube3:before {
   animation-delay: 0.6s;
  }
  
  .folding .sk-cube4:before {
   animation-delay: 0.9s;
  }
  
  @keyframes sk-foldCubeAngle {
   0%,
   10% {
    transform: perspective(140px) rotateX(-180deg);
    opacity: 0;
   }
   25%,
   75% {
    transform: perspective(140px) rotateX(0deg);
    opacity: 1;
   }
   90%,
   100% {
    transform: perspective(140px) rotateY(180deg);
    opacity: 0;
   }
  }

  /*  begin bounce css */
  
  .bounce {
   margin: 100px auto 0;
   width: 70px;
   text-align: center;
  }
  
  .bounce>div {
   width: 18px;
   height: 18px;
   background-color: #333;
   border-radius: 100%;
   display: inline-block;
   animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  }
  
  .bounce .bounce1 {
   animation-delay: -0.32s;
  }
  
  .bounce .bounce2 {
   animation-delay: -0.16s;
  }
  
  @keyframes sk-bouncedelay {
   0%,
   80%,
   100% {
    transform: scale(0);
   }
   40% {
    transform: scale(1.0);
   }
  }

  /*  begin dots css */
  
  .dots {
   margin: 100px auto;
   width: 40px;
   height: 40px;
   position: relative;
   text-align: center;
   animation: sk-rotate 2.0s infinite linear;
  }
  
  .dot1,
  .dot2 {
   width: 60%;
   height: 60%;
   display: inline-block;
   position: absolute;
   top: 0;
   background-color: #333;
   border-radius: 100%;
   animation: sk-bounce 2.0s infinite ease-in-out;
  }
  
  .dot2 {
   top: auto;
   bottom: 0;
   animation-delay: -1.0s;
  }
  
  @keyframes sk-rotate {
   100% {
    transform: rotate(360deg);
   }
  }
  
  @keyframes sk-bounce {
   0%,
   100% {
    transform: scale(0.0);
   }
   50% {
    transform: scale(1.0);
   }
  }

  /*  begin fluct css */
  
  .fluct {
   width: 40px;
   height: 40px;
   background-color: #333;
   margin: 100px auto;
   animation: sk-rotateplane 1.2s infinite ease-in-out;
  }
  
  @keyframes sk-rotateplane {
   0% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
   }
   50% {
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
   }
   100% {
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
   }
  }

  /*  begin double css */
  
  .double {
   width: 40px;
   height: 40px;
   position: relative;
   margin: 100px auto;
  }
  
  .double-bounce1,
  .double-bounce2 {
   width: 100%;
   height: 100%;
   border-radius: 50%;
   background-color: #333;
   opacity: 0.6;
   position: absolute;
   top: 0;
   left: 0;
   animation: sk-bounce 2.0s infinite ease-in-out;
  }
  
  .double-bounce2 {
   animation-delay: -1.0s;
  }
  
  @keyframes sk-bounce {
   0%,
   100% {
    transform: scale(0.0);
   }
   50% {
    transform: scale(1.0);
   }
  }
  /*  begin rect css */
  
  .rect {
   margin: 100px auto;
   width: 50px;
   height: 40px;
   text-align: center;
   font-size: 10px;
  }
  
  .rect>div {
   background-color: #333;
   height: 100%;
   width: 6px;
   display: inline-block;
   animation: sk-stretchdelay 1.2s infinite ease-in-out;
  }
  
  .rect .rect2 {
   animation-delay: -1.1s;
  }
  
  .rect .rect3 {
   animation-delay: -1.0s;
  }
  
  .rect .rect4 {
   animation-delay: -0.9s;
  }
  
  .rect .rect5 {
   animation-delay: -0.8s;
  }
  
  @keyframes sk-stretchdelay {
   0%,
   40%,
   100% {
    transform: scaleY(0.4);
   }
   20% {
    transform: scaleY(1.0);
   }
  }
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.