CodePen

HTML

            
              .wrapper
    - 10.times do
        %i
        
.wrapper.alpha
    - 10.times do
        %i

            
          
!
via HTML Inspector

CSS

            
              // Colors
$color-alpha: #3498bb;
$color-beta: #ecf0f1;
$color-gamma: #ccf;
$color-delta: #fcc;
$color-epsilon: #000;

// Units
$unit-alpha: 2.5s;
$unit-beta: 10em;
$unit-gamma: 10;
$unit-delta: .15em;
$unit-epsilon: 1.5em;


// Lists
$list-alpha: $color-alpha, rgba(#fff, 0) 40%;
$list-beta: $color-beta 30%, $color-gamma 30%, $color-delta;


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

body {
  font: $unit-epsilon sans-serif;
  @include bg(to top, bottom, $list-beta); 
  
  &:after {
    @extend %center;
    top: 100%;
    content: '';
    border-radius: 50%;
    width: $unit-beta;
    height: $unit-beta / 6;
    background: rgba($color-epsilon, .1);
    @include filter(blur($unit-delta));
  }
}

.wrapper {
  @extend %center;
  @include transform (translate(-50%, -50%));
  width: $unit-beta;
  height: $unit-beta;
  
  &.alpha {
     @include transform (translate(-50%, -50%) rotate(180deg));
  }
}

i {
  position: absolute;
  left: 0;
  top: 0;
  height: $unit-beta;
  width: $unit-beta;
  box-shadow: 0 0 $unit-epsilon rgba($color-alpha, .35);
  border-radius: 50%;
  clip: rect($unit-beta / 2, auto, auto, $unit-beta / 2);
  animation: alpha $unit-alpha infinite forwards linear;

  @include bg(to top, bottom, $list-alpha); 
  
  @for $i from 1 through $unit-gamma {
    &:nth-child(#{$i}) {
      animation-delay: (-$unit-alpha * (1 + $i / $unit-gamma));
    }
  }
}

@keyframes alpha {
  0% {
    opacity: 0;
    @include transform(rotate(0) scale(1.75, 1.75));
  }
  
  50% {
    opacity: 1;
  }
  
  100% {
    opacity: 0;
    @include transform(rotate(360deg) scale(.25, .25));
  }
}
            
          
!
? ?
? ?
Must be a valid URL.
+ add another resource
via CSS Lint

JS

            
              /*
 * Alien Warpgate
 * 
 * 
 * 2013 by Tim Pietrusky
 * timpietrusky.com
 */

            
          
!
Must be a valid URL.
+ add another resource
via JS Hint
Loading ..................