.whirl{position:relative}.whirl:before{z-index:1;top:0;right:0;bottom:0;left:0;background-color:#999;opacity:.6}.whirl:after,.whirl:before{content:"";position:absolute}.whirl:after{z-index:2;height:40px;width:40px;top:50%;left:50%;margin:-20px 0 0 -20px;transition:all .75s ease 0s;border-radius:100%;border-top:4px solid #555;animation:standard .75s infinite linear;transform-origin:center}.whirl.no-overlay:before{content:none;display:none}@keyframes standard{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.whirl.bar.follow:after{animation:bar-follow 1s infinite linear}@keyframes bar-follow{0%{box-shadow:inset 40px 0 0 rgba(0,0,0,.5)}to{box-shadow:inset -40px 0 0 rgba(0,0,0,.5)}}.whirl.bar:after{height:20px;width:40px;border-radius:0;border:none;animation:bar 1s infinite linear}@keyframes bar{0%{box-shadow:inset 0 0 0 rgba(0,0,0,.5)}to{box-shadow:inset 80px 0 0 rgba(0,0,0,.5)}}.whirl.blade:after{height:20px;width:20px;margin:-10px 0 0 10px;border-right:4px solid transparent;border-top:4px solid transparent;border-left:4px solid transparent;border-bottom:4px solid #e74c3c;opacity:1;transform-origin:left}.whirl.double-up:after{border-right:4px solid #e74c3c;border-top:4px double #e74c3c;border-left:4px double #e74c3c;border-bottom:4px double #e74c3c}.whirl.duo:after{border-right:4px solid #333;border-left:4px solid #333;border-top:4px solid #f1c40f;border-bottom:4px solid #f1c40f}.whirl.helicopter:after{height:10px;width:40px;margin:-10px 0 0 -20px;border:none;border-radius:0;opacity:1;transform-origin:center;background-color:#8e44ad}.whirl.line.back-and-forth.grow:after{animation:line-back-and-forth 1s infinite linear,line-back-and-forth-grow 1s infinite linear}@keyframes line-back-and-forth-grow{0%{transform:scaleY(1)}25%{transform:scaleY(2)}50%{transform:scaleY(1)}75%{transform:scaleY(2)}to{transform:scaleY(1)}}.whirl.line.back-and-forth:after{animation:line-back-and-forth 1s infinite linear}@keyframes line-back-and-forth{0%{width:10px}50%{width:50px}to{width:10px}}.whirl.line.grow:after{animation:line .75s infinite linear,line-grow .75s infinite linear}@keyframes line-grow{0%{transform:scaleY(1)}50%{transform:scaleY(2)}to{transform:scaleY(1)}}.whirl.line:after{height:20px;border-radius:0;border:none;box-shadow:inset -10px 0 0 rgba(0,0,0,.5);animation:line .75s infinite linear}@keyframes line{0%{width:10px}to{width:50px}}.whirl.ringed:after{border-right:4px solid #e74c3c;border-top:4px solid #2ecc71;border-left:4px solid #2ecc71;border-bottom:4px solid #2ecc71;opacity:1}.whirl.shadow.oval.left:after,.whirl.shadow.oval:after{animation:spin-shadow .25s infinite linear;border:none;border-radius:40% 100%}.whirl.shadow.oval.right:after{animation:spin-shadow .25s infinite linear;border:none;border-radius:100% 40%}.whirl.shadow:after{animation:spin-shadow .25s infinite linear;border-radius:100%;border:none}@keyframes spin-shadow{0%{box-shadow:inset 5px 5px 5px rgba(0,0,0,.5)}25%{box-shadow:inset -5px 5px 5px rgba(0,0,0,.5)}50%{box-shadow:inset -5px -5px 5px rgba(0,0,0,.5)}to{box-shadow:inset 5px -5px 5px rgba(0,0,0,.5)}}.whirl.sphere.horizontal:after,.whirl.sphere:after{border-radius:100%;animation:sphere .5s infinite;border:none;height:40px}@keyframes sphere{0%{box-shadow:inset 45px 0 10px rgba(0,0,0,.5)}to{box-shadow:inset -45px 0 10px rgba(0,0,0,.5)}}.whirl.sphere.vertical:after{border-radius:100%;animation:sphere-v .5s infinite;border:none;height:40px}@keyframes sphere-v{0%{box-shadow:inset 0 45px 10px rgba(0,0,0,.5)}to{box-shadow:inset 0 -45px 10px rgba(0,0,0,.5)}}.whirl.traditional:after{border-right:4px solid #777;border-top:4px solid #777;border-left:4px solid #999;border-bottom:4px solid #bbb}