/*!
 * Animate.less v2.0 (https://github.com/codeworksdev/animate.less)
 * Copyright (c) 2014-2018 CODEWORKS <support@codeworksnyc.com>
 * Licensed under the MIT license
 */
@import "_mixins";

/*
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
*/

// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// ANIMATION CLASSES
// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

.animated when (@o_animateless_classless = false) {
    #a.animated();

    &.infinite           { #a.iterate(infinite);    }
    &.bounce             { #a.bounce();             }
    &.bounceIn           { #a.bounceIn();           }
    &.bounceInDown       { #a.bounceInDown();       }
    &.bounceInLeft       { #a.bounceInLeft();       }
    &.bounceInRight      { #a.bounceInRight();      }
    &.bounceInUp         { #a.bounceInUp();         }
    &.bounceOut          { #a.bounceOut();          }
    &.bounceOutDown      { #a.bounceOutDown();      }
    &.bounceOutLeft      { #a.bounceOutLeft();      }
    &.bounceOutRight     { #a.bounceOutRight();     }
    &.bounceOutUp        { #a.bounceOutUp();        }
    &.fadeIn             { #a.fadeIn();             }
    &.fadeInDown         { #a.fadeInDown();         }
    &.fadeInDownBig      { #a.fadeInDownBig();      }
    &.fadeInLeft         { #a.fadeInLeft();         }
    &.fadeInLeftBig      { #a.fadeInLeftBig();      }
    &.fadeInRight        { #a.fadeInRight();        }
    &.fadeInRightBig     { #a.fadeInRightBig();     }
    &.fadeInUp           { #a.fadeInUp();           }
    &.fadeInUpBig        { #a.fadeInUpBig();        }
    &.fadeOut            { #a.fadeOut();            }
    &.fadeOutDown        { #a.fadeOutDown();        }
    &.fadeOutDownBig     { #a.fadeOutDownBig();     }
    &.fadeOutLeft        { #a.fadeOutLeft();        }
    &.fadeOutLeftBig     { #a.fadeOutLeftBig();     }
    &.fadeOutRight       { #a.fadeOutRight();       }
    &.fadeOutRightBig    { #a.fadeOutRightBig();    }
    &.fadeOutUp          { #a.fadeOutUp();          }
    &.fadeOutUpBig       { #a.fadeOutUpBig();       }
    &.flash              { #a.flash();              }
    &.flashmin           { #a.flashmin();           }
    &.flip               { #a.flip();               }
    &.flipInX            { #a.flipInX();            }
    &.flipInY            { #a.flipInY();            }
    &.flipOutX           { #a.flipOutX();           }
    &.flipOutY           { #a.flipOutY();           }
    &.headShake          { #a.headShake();          }
    &.hinge              { #a.hinge();              }
    &.jackInTheBox       { #a.jackInTheBox();       }
    &.jello              { #a.jello();              }
    &.lightSpeedIn       { #a.lightSpeedIn();       }
    &.lightSpeedOut      { #a.lightSpeedOut();      }
    &.pulse              { #a.pulse();              }
    &.rollIn             { #a.rollIn();             }
    &.rollOut            { #a.rollOut();            }
    &.rotate             { #a.rotate();             }
    &.rotateCC           { #a.rotateCC();           }
    &.rotateIn           { #a.rotateIn();           }
    &.rotateInDownLeft   { #a.rotateInDownLeft();   }
    &.rotateInDownRight  { #a.rotateInDownRight();  }
    &.rotateInUpLeft     { #a.rotateInUpLeft();     }
    &.rotateInUpRight    { #a.rotateInUpRight();    }
    &.rotateOut          { #a.rotateOut();          }
    &.rotateOutDownLeft  { #a.rotateOutDownLeft();  }
    &.rotateOutDownRight { #a.rotateOutDownRight(); }
    &.rotateOutUpLeft    { #a.rotateOutUpLeft();    }
    &.rotateOutUpRight   { #a.rotateOutUpRight();   }
    &.rotateZoomIn       { #a.rotateZoomIn();       }
    &.rotateZoomInCC     { #a.rotateZoomInCC();     }
    &.rotateZoomOut      { #a.rotateZoomOut();      }
    &.rotateZoomOutCC    { #a.rotateZoomOutCC();    }
    &.rubberBand         { #a.rubberBand();         }
    &.shake              { #a.shake();              }
    &.slideInDown        { #a.slideInDown();        }
    &.slideInLeft        { #a.slideInLeft();        }
    &.slideInRight       { #a.slideInRight();       }
    &.slideInUp          { #a.slideInUp();          }
    &.slideOutDown       { #a.slideOutDown();       }
    &.slideOutLeft       { #a.slideOutLeft();       }
    &.slideOutRight      { #a.slideOutRight();      }
    &.slideOutUp         { #a.slideOutUp();         }
    &.swing              { #a.swing();              }
    &.tada               { #a.tada();               }
    &.wobble             { #a.wobble();             }
    &.zoomIn             { #a.zoomIn();             }
    &.zoomInDown         { #a.zoomInDown();         }
    &.zoomInLeft         { #a.zoomInLeft();         }
    &.zoomInRight        { #a.zoomInRight();        }
    &.zoomInUp           { #a.zoomInUp();           }
    &.zoomOut            { #a.zoomOut();            }
    &.zoomOutDown        { #a.zoomOutDown();        }
    &.zoomOutLeft        { #a.zoomOutLeft();        }
    &.zoomOutRight       { #a.zoomOutRight();       }
    &.zoomOutUp          { #a.zoomOutUp();          }
    }

/*
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
*/

// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// GENERATED KEYFRAMES
// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

#a.keyframes(
    bounce; {
        from, 20%, 53%, 80%, to { #a._timing(a; cubic-bezier( 0.215, 0.61, 0.355, 1    )); #a._transform(translate3d( 0,  0,    0 )); }
        40%, 43%                { #a._timing(a; cubic-bezier( 0.755, 0.05, 0.855, 0.06 )); #a._transform(translate3d( 0, -30px, 0 )); }
        70%                     { #a._timing(a; cubic-bezier( 0.755, 0.05, 0.855, 0.06 )); #a._transform(translate3d( 0, -15px, 0 )); }
        90%                     {                                                          #a._transform(translate3d( 0, -4px,  0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    bounceIn; {
        from, 20%, 40%, 60%, 80%, to {             #a._timing(a; cubic-bezier(0.215, 0.61, 0.355, 1)); }
        from                         { opacity: 0; #a._transform(scale3d( 0.3,  0.3,  0.3  ));         }
        20%                          {             #a._transform(scale3d( 1.1,  1.1,  1.1  ));         }
        40%                          {             #a._transform(scale3d( 0.9,  0.9,  0.9  ));         }
        60%                          { opacity: 1; #a._transform(scale3d( 1.03, 1.03, 1.03 ));         }
        80%                          {             #a._transform(scale3d( 0.97, 0.97, 0.97 ));         }
        to                           { opacity: 1; #a._transform(scale3d( 1,    1,    1    ));         }
        }
    );

// =============================================================================

#a.keyframes(
    bounceInDown; {
        from, 60%, 75%, 90%, to {             #a._timing(a; cubic-bezier(0.215, 0.61, 0.355, 1)); }
        from                    { opacity: 0; #a._transform(translate3d( 0, -3000px, 0 ));        }
        60%                     { opacity: 1; #a._transform(translate3d( 0,  25px,   0 ));        }
        75%                     {             #a._transform(translate3d( 0, -10px,   0 ));        }
        90%                     {             #a._transform(translate3d( 0,  5px,    0 ));        }
        to                      {             #a._transform(translate3d( 0,  0,      0 ));        }
        }
    );

// =============================================================================

#a.keyframes(
    bounceInLeft; {
        from, 60%, 75%, 90%, to {             #a._timing(a; cubic-bezier(0.215, 0.61, 0.355, 1)); }
        from                    { opacity: 0; #a._transform(translate3d( -3000px, 0, 0 ));        }
        60%                     { opacity: 1; #a._transform(translate3d(  25px,   0, 0 ));        }
        75%                     {             #a._transform(translate3d( -10px,   0, 0 ));        }
        90%                     {             #a._transform(translate3d(  5px,    0, 0 ));        }
        to                      {             #a._transform(translate3d(  0,      0, 0 ));        }
        }
    );

// =============================================================================

#a.keyframes(
    bounceInRight; {
        from, 60%, 75%, 90%, to {             #a._timing(a; cubic-bezier(0.215, 0.61, 0.355, 1)); }
        from                    { opacity: 0; #a._transform(translate3d(  3000px, 0, 0 ));        }
        60%                     { opacity: 1; #a._transform(translate3d( -25px,   0, 0 ));        }
        75%                     {             #a._transform(translate3d(  10px,   0, 0 ));        }
        90%                     {             #a._transform(translate3d( -5px,    0, 0 ));        }
        to                      {             #a._transform(translate3d(  0,      0, 0 ));        }
        }
    );

// =============================================================================

#a.keyframes(
    bounceInUp; {
        from, 60%, 75%, 90%, to {             #a._timing(a; cubic-bezier(0.215, 0.61, 0.355, 1)); }
        from                    { opacity: 0; #a._transform(translate3d( 0,  3000px, 0 ));        }
        60%                     { opacity: 1; #a._transform(translate3d( 0, -20px,   0 ));        }
        75%                     {             #a._transform(translate3d( 0,  10px,   0 ));        }
        90%                     {             #a._transform(translate3d( 0, -5px,    0 ));        }
        to                      {             #a._transform(translate3d( 0,  0,      0 ));        }
        }
    );

// =============================================================================

#a.keyframes(
    bounceOut; {
        20%      {             #a._transform(scale3d(0.9, 0.9, 0.9)); }
        50%, 55% { opacity: 1; #a._transform(scale3d(1.1, 1.1, 1.1)); }
        to       { opacity: 0; #a._transform(scale3d(0.3, 0.3, 0.3)); }
        }
    );

// =============================================================================

#a.keyframes(
    bounceOutDown; {
        20%      {             #a._transform(translate3d( 0,  10px,   0 )); }
        40%, 45% { opacity: 1; #a._transform(translate3d( 0, -20px,   0 )); }
        to       { opacity: 0; #a._transform(translate3d( 0,  2000px, 0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    bounceOutLeft; {
        20% { opacity: 1; #a._transform(translate3d(  20px,   0, 0 )); }
        to  { opacity: 0; #a._transform(translate3d( -2000px, 0, 0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    bounceOutRight; {
        20% { opacity: 1; #a._transform(translate3d( -20px,   0, 0 )); }
        to  { opacity: 0; #a._transform(translate3d(  2000px, 0, 0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    bounceOutUp; {
        20%      {             #a._transform(translate3d( 0, -10px,   0 )); }
        40%, 45% { opacity: 1; #a._transform(translate3d( 0,  20px,   0 )); }
        to       { opacity: 0; #a._transform(translate3d( 0, -2000px, 0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeIn; {
        from { opacity: 0; }
        to   { opacity: 1; }
        }
    );

// =============================================================================

#a.keyframes(
    fadeInDown; {
        from { opacity: 0; #a._transform(translate3d( 0, -100%, 0 )); }
        to   { opacity: 1; #a._transform(translate3d( 0,  0,    0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeInDownBig; {
        from { opacity: 0; #a._transform(translate3d( 0, -2000px, 0 )); }
        to   { opacity: 1; #a._transform(translate3d( 0,  0,      0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeInLeft; {
        from { opacity: 0; #a._transform(translate3d( -100%, 0, 0 )); }
        to   { opacity: 1; #a._transform(translate3d(  0,    0, 0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeInLeftBig; {
        from { opacity: 0; #a._transform(translate3d( -2000px, 0, 0 )); }
        to   { opacity: 1; #a._transform(translate3d(  0,      0, 0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeInRight; {
        from { opacity: 0; #a._transform(translate3d( 100%, 0, 0 )); }
        to   { opacity: 1; #a._transform(translate3d( 0,    0, 0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeInRightBig; {
        from { opacity: 0; #a._transform(translate3d( 2000px, 0, 0 )); }
        to   { opacity: 1; #a._transform(translate3d( 0,      0, 0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeInUp; {
        from { opacity: 0; #a._transform(translate3d( 0, 100%, 0 )); }
        to   { opacity: 1; #a._transform(translate3d( 0, 0,    0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeInUpBig; {
        from { opacity: 0; #a._transform(translate3d( 0, 2000px, 0 )); }
        to   { opacity: 1; #a._transform(translate3d( 0, 0,      0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeOut; {
        from { opacity: 1; }
        to   { opacity: 0; }
        }
    );

// =============================================================================

#a.keyframes(
    fadeOutDown; {
        from { opacity: 1;                                         }
        to   { opacity: 0; #a._transform(translate3d(0, 100%, 0)); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeOutDownBig; {
        from { opacity: 1;                                           }
        to   { opacity: 0; #a._transform(translate3d(0, 2000px, 0)); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeOutLeft; {
        from { opacity: 1;                                          }
        to   { opacity: 0; #a._transform(translate3d(-100%, 0, 0)); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeOutLeftBig; {
        from { opacity: 1;                                            }
        to   { opacity: 0; #a._transform(translate3d(-2000px, 0, 0)); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeOutRight; {
        from { opacity: 1;                                         }
        to   { opacity: 0; #a._transform(translate3d(100%, 0, 0)); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeOutRightBig; {
        from { opacity: 1;                                           }
        to   { opacity: 0; #a._transform(translate3d(2000px, 0, 0)); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeOutUp; {
        from { opacity: 1;                                          }
        to   { opacity: 0; #a._transform(translate3d(0, -100%, 0)); }
        }
    );

// =============================================================================

#a.keyframes(
    fadeOutUpBig; {
        from { opacity: 1;                                            }
        to   { opacity: 0; #a._transform(translate3d(0, -2000px, 0)); }
        }
    );

// =============================================================================

#a.keyframes(
    flash; {
        from, 50%, to { opacity: 1; }
        25%, 75%      { opacity: 0; }
        }
    );

// =============================================================================

#a.keyframes(
    flashmin; {
        from, 50%, to { opacity: 1;    }
        25%, 75%      { opacity: 0.33; }
        }
    );

// =============================================================================

#a.keyframes(
    flip; {
        from { #a._transform( perspective(400px) rotate3d(0, 1, 0, -360deg)                          ); #a._timing( a; ease-out ); }
        40%  { #a._transform( perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg) ); #a._timing( a; ease-out ); }
        50%  { #a._transform( perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg) ); #a._timing( a; ease-in  ); }
        80%  { #a._transform( perspective(400px) scale3d(0.95, 0.95, 0.95)                           ); #a._timing( a; ease-in  ); }
        to   { #a._transform( perspective(400px)                                                     ); #a._timing( a; ease-in  ); }
        }
    );

// =============================================================================

#a.keyframes(
    flipInX; {
        from { #a._transform( perspective(400px) rotate3d( 1, 0, 0,  90deg ) ); #a._timing(a; ease-in); opacity: 0; }
        40%  { #a._transform( perspective(400px) rotate3d( 1, 0, 0, -20deg ) ); #a._timing(a; ease-in);             }
        60%  { #a._transform( perspective(400px) rotate3d( 1, 0, 0,  10deg ) );                         opacity: 1; }
        80%  { #a._transform( perspective(400px) rotate3d( 1, 0, 0, -5deg  ) );                                     }
        to   { #a._transform( perspective(400px)                             );                                     }
        }
    );

// =============================================================================

#a.keyframes(
    flipInY; {
        from { #a._transform( perspective(400px) rotate3d( 0, 1, 0,  90deg ) ); #a._timing(a; ease-in); opacity: 0; }
        40%  { #a._transform( perspective(400px) rotate3d( 0, 1, 0, -20deg ) ); #a._timing(a; ease-in);             }
        60%  { #a._transform( perspective(400px) rotate3d( 0, 1, 0,  10deg ) );                         opacity: 1; }
        80%  { #a._transform( perspective(400px) rotate3d( 0, 1, 0, -5deg  ) );                                     }
        to   { #a._transform( perspective(400px)                             );                                     }
        }
    );

// =============================================================================

#a.keyframes(
    flipOutX; {
        from { #a._transform( perspective(400px)                             );             }
        30%  { #a._transform( perspective(400px) rotate3d( 1, 0, 0, -20deg ) ); opacity: 1; }
        to   { #a._transform( perspective(400px) rotate3d( 1, 0, 0,  90deg ) ); opacity: 0; }
        }
    );

// =============================================================================

#a.keyframes(
    flipOutY; {
        from { #a._transform( perspective(400px)                             );             }
        30%  { #a._transform( perspective(400px) rotate3d( 0, 1, 0, -15deg ) ); opacity: 1; }
        to   { #a._transform( perspective(400px) rotate3d( 0, 1, 0,  90deg ) ); opacity: 0; }
        }
    );

// =============================================================================

#a.keyframes(
    headShake; {
        from  { #a._transform( translateX(  0   )                  ); }
        6.5%  { #a._transform( translateX( -6px ) rotateY( -9deg ) ); }
        18.5% { #a._transform( translateX(  5px ) rotateY(  7deg ) ); }
        31.5% { #a._transform( translateX( -3px ) rotateY( -5deg ) ); }
        43.5% { #a._transform( translateX(  2px ) rotateY(  3deg ) ); }
        50%   { #a._transform( translateX(  0   )                  ); }
        }
    );

// =============================================================================

#a.keyframes(
    hinge; {
        from     { #a._transform-origin(top left); #a._timing(a; ease-in-out);                                                        }
        20%, 60% { #a._transform-origin(top left); #a._timing(a; ease-in-out); #a._transform( rotate3d(0, 0, 1, 80deg) );             }
        40%, 80% { #a._transform-origin(top left); #a._timing(a; ease-in-out); #a._transform( rotate3d(0, 0, 1, 60deg) ); opacity: 1; }
        to       {                                                             #a._transform( translate3d(0, 700px, 0) ); opacity: 0; }
        }
    );

// =============================================================================

#a.keyframes(
    jackInTheBox; {
        from { opacity: 0; #a._transform( scale(0.1) rotate(30deg) ); #a._transform-origin(center bottom); }
        50%  {             #a._transform( rotate(-10deg)           );                                      }
        70%  {             #a._transform( rotate(3deg)             );                                      }
        to   { opacity: 1; #a._transform( scale(1)                 );                                      }
        }
    );

// =============================================================================

#a.keyframes(
    jello; {
        from, 11.1% { #a._transform( translate3d(0, 0, 0)                          ); }
        22.2%       { #a._transform( skewX( -12.5deg      ) skewY( -12.5deg      ) ); }
        33.3%       { #a._transform( skewX(  6.25deg      ) skewY(  6.25deg      ) ); }
        44.4%       { #a._transform( skewX( -3.125deg     ) skewY( -3.125deg     ) ); }
        55.5%       { #a._transform( skewX(  1.5625deg    ) skewY(  1.5625deg    ) ); }
        66.6%       { #a._transform( skewX( -0.78125deg   ) skewY( -0.78125deg   ) ); }
        77.7%       { #a._transform( skewX(  0.390625deg  ) skewY(  0.390625deg  ) ); }
        88.8%       { #a._transform( skewX( -0.1953125deg ) skewY( -0.1953125deg ) ); }
        }
    );

// =============================================================================

#a.keyframes(
    lightSpeedIn; {
        from { #a._transform( translate3d(100%, 0, 0) skewX(-30deg) ); opacity: 0; }
        60%  { #a._transform( skewX(20deg)                          ); opacity: 1; }
        80%  { #a._transform( skewX(-5deg)                          ); opacity: 1; }
        to   { #a._transform( translate3d(0, 0, 0)                  ); opacity: 1; }
        }
    );

// =============================================================================

#a.keyframes(
    lightSpeedOut; {
        from { opacity: 1;                                                      }
        to   { opacity: 0; #a._transform(translate3d(100%, 0, 0) skewX(30deg)); }
        }
    );

// =============================================================================

#a.keyframes(
    pulse; {
        from { #a._transform(scale3d( 1,    1,    1    )); }
        50%  { #a._transform(scale3d( 1.05, 1.05, 1.05 )); }
        to   { #a._transform(scale3d( 1,    1,    1    )); }
        }
    );

// =============================================================================

#a.keyframes(
    rollIn; {
        from { opacity: 0; #a._transform( translate3d( -100%, 0, 0 ) rotate3d(0, 0, 1, -120deg) ); }
        to   { opacity: 1; #a._transform( translate3d(  0,    0, 0 )                            ); }
        }
    );

// =============================================================================

#a.keyframes(
    rollOut; {
        from { opacity: 1;                                                                   }
        to   { opacity: 0; #a._transform(translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)); }
        }
    );

// =============================================================================

#a.keyframes(
    rotate; {
        from { #a._transform-origin(center); #a._transform(rotate( -360deg )); }
        to   { #a._transform-origin(center); #a._transform(rotate(  0deg   )); }
        }
    );

// =============================================================================

#a.keyframes(
    rotateCC; {
        from { #a._transform-origin(center); #a._transform(rotate( 360deg )); }
        to   { #a._transform-origin(center); #a._transform(rotate( 0deg   )); }
        }
    );

// =============================================================================

#a.keyframes(
    rotateIn; {
        from { opacity: 0; #a._transform-origin(center); #a._transform( rotate3d(0, 0, 1, -200deg) ); }
        to   { opacity: 1; #a._transform-origin(center); #a._transform( translate3d(0, 0, 0)       ); }
        }
    );

// =============================================================================

#a.keyframes(
    rotateInDownLeft; {
        from { opacity: 0; #a._transform-origin(left bottom); #a._transform( rotate3d(0, 0, 1, -45deg) ); }
        to   { opacity: 1; #a._transform-origin(left bottom); #a._transform( translate3d(0, 0, 0)      ); }
        }
    );

// =============================================================================

#a.keyframes(
    rotateInDownRight; {
        from { opacity: 0; #a._transform-origin(right bottom); #a._transform( rotate3d(0, 0, 1, 45deg) ); }
        to   { opacity: 1; #a._transform-origin(right bottom); #a._transform( translate3d(0, 0, 0)     ); }
        }
    );

// =============================================================================

#a.keyframes(
    rotateInUpLeft; {
        from { opacity: 0; #a._transform-origin(left bottom); #a._transform( rotate3d(0, 0, 1, 45deg) ); }
        to   { opacity: 1; #a._transform-origin(left bottom); #a._transform( translate3d(0, 0, 0)     ); }
        }
    );

// =============================================================================

#a.keyframes(
    rotateInUpRight; {
        from { opacity: 0; #a._transform-origin(right bottom); #a._transform( rotate3d(0, 0, 1, -90deg) ); }
        to   { opacity: 1; #a._transform-origin(right bottom); #a._transform( translate3d(0, 0, 0)      ); }
        }
    );

// =============================================================================

#a.keyframes(
    rotateOut; {
        from { opacity: 1; #a._transform-origin(center);                                           }
        to   { opacity: 0; #a._transform-origin(center); #a._transform(rotate3d(0, 0, 1, 200deg)); }
        }
    );

// =============================================================================

#a.keyframes(
    rotateOutDownLeft; {
        from { opacity: 1; #a._transform-origin(left bottom);                                          }
        to   { opacity: 0; #a._transform-origin(left bottom); #a._transform(rotate3d(0, 0, 1, 45deg)); }
        }
    );

// =============================================================================

#a.keyframes(
    rotateOutDownRight; {
        from { opacity: 1; #a._transform-origin(right bottom);                                           }
        to   { opacity: 0; #a._transform-origin(right bottom); #a._transform(rotate3d(0, 0, 1, -45deg)); }
        }
    );

// =============================================================================

#a.keyframes(
    rotateOutUpLeft; {
        from { opacity: 1; #a._transform-origin(left bottom);                                           }
        to   { opacity: 0; #a._transform-origin(left bottom); #a._transform(rotate3d(0, 0, 1, -45deg)); }
        }
    );

// =============================================================================

#a.keyframes(
    rotateOutUpRight; {
        from { opacity: 1; #a._transform-origin(right bottom);                                          }
        to   { opacity: 0; #a._transform-origin(right bottom); #a._transform(rotate3d(0, 0, 1, 90deg)); }
        }
    );

// =============================================================================

#a.keyframes(
    rotateZoomIn; {
        from {opacity: 0; #a._transform-origin(center); #a._transform( scale3d( 0.3, 0.3, 0.3 ) rotate( -360deg ) );}
        to   {opacity: 1; #a._transform-origin(center); #a._transform( scale3d( 1,   1,   1   ) rotate(    0deg ) );}
        }
    );

// =============================================================================

#a.keyframes(
    rotateZoomInCC; {
        from {opacity: 0; #a._transform-origin(center); #a._transform( scale3d( 0.3, 0.3, 0.3 ) rotate( 360deg ) );}
        to   {opacity: 1; #a._transform-origin(center); #a._transform( scale3d( 1,   1,   1   ) rotate(   0deg ) );}
        }
    );

// =============================================================================

#a.keyframes(
    rotateZoomOut; {
        from {opacity: 1; #a._transform-origin(center); #a._transform( scale3d( 1,   1,   1   ) rotate(   0deg ) );}
        to   {opacity: 0; #a._transform-origin(center); #a._transform( scale3d( 0.3, 0.3, 0.3 ) rotate( 360deg ) );}
        }
    );

// =============================================================================

#a.keyframes(
    rotateZoomOutCC; {
        from {opacity: 1; #a._transform-origin(center); #a._transform( scale3d( 1,   1,   1   ) rotate(    0deg ) );}
        to   {opacity: 0; #a._transform-origin(center); #a._transform( scale3d( 0.3, 0.3, 0.3 ) rotate( -360deg ) );}
        }
    );

// =============================================================================

#a.keyframes(
    rubberBand; {
        from { #a._transform(scale3d( 1,    1,    1 )); }
        30%  { #a._transform(scale3d( 1.25, 0.75, 1 )); }
        40%  { #a._transform(scale3d( 0.75, 1.25, 1 )); }
        50%  { #a._transform(scale3d( 1.15, 0.85, 1 )); }
        65%  { #a._transform(scale3d( 0.95, 1.05, 1 )); }
        75%  { #a._transform(scale3d( 1.05, 0.95, 1 )); }
        to   { #a._transform(scale3d( 1,    1,    1 )); }
        }
    );

// =============================================================================

#a.keyframes(
    shake; {
        from, 100%              { #a._transform(translate3d(  0,    0, 0 )); }
        10%, 30%, 50%, 70%, 90% { #a._transform(translate3d( -10px, 0, 0 )); }
        20%, 40%, 60%, 80%      { #a._transform(translate3d(  10px, 0, 0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    slideInDown; {
        from { #a._transform(translate3d( 0, -100%, 0 )); visibility: visible; }
        to   { #a._transform(translate3d( 0,  0,    0 ));                      }
        }
    );

// =============================================================================

#a.keyframes(
    slideInLeft; {
        from { #a._transform(translate3d( -100%, 0, 0 )); visibility: visible; }
        to   { #a._transform(translate3d(  0,    0, 0 ));                      }
        }
    );

// =============================================================================

#a.keyframes(
    slideInRight; {
        from { #a._transform(translate3d( 100%, 0, 0 )); visibility: visible; }
        to   { #a._transform(translate3d( 0,    0, 0 ));                      }
        }
    );

// =============================================================================

#a.keyframes(
    slideInUp; {
        from { #a._transform(translate3d( 0, 100%, 0 )); visibility: visible; }
        to   { #a._transform(translate3d( 0, 0,    0 ));                      }
        }
    );

// =============================================================================

#a.keyframes(
    slideOutDown; {
        from {                     #a._transform(translate3d( 0, 0,    0 )); }
        to   { visibility: hidden; #a._transform(translate3d( 0, 100%, 0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    slideOutLeft; {
        from {                     #a._transform(translate3d(  0,    0, 0 )); }
        to   { visibility: hidden; #a._transform(translate3d( -100%, 0, 0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    slideOutRight; {
        from {                     #a._transform(translate3d( 0,    0, 0 )); }
        to   { visibility: hidden; #a._transform(translate3d( 100%, 0, 0 )); }
        }
    );

// =============================================================================

#a.keyframes(
    slideOutUp; {
        from { #a._transform(translate3d( 0,  0,    0 ));                     }
        to   { #a._transform(translate3d( 0, -100%, 0 )); visibility: hidden; }
        }
    );

// =============================================================================

#a.keyframes(
    swing; {
        20%  { #a._transform(rotate3d( 0, 0, 1,  15deg )); }
        40%  { #a._transform(rotate3d( 0, 0, 1, -10deg )); }
        60%  { #a._transform(rotate3d( 0, 0, 1,  5deg  )); }
        80%  { #a._transform(rotate3d( 0, 0, 1, -5deg  )); }
        to   { #a._transform(rotate3d( 0, 0, 1,  0deg  )); }
        }
    );

// =============================================================================

#a.keyframes(
    tada; {
        from               { #a._transform( scale3d( 1,   1,   1   )                            ); }
        10%, 20%           { #a._transform( scale3d( 0.9, 0.9, 0.9 ) rotate3d( 0, 0, 1, -3deg ) ); }
        30%, 50%, 70%, 90% { #a._transform( scale3d( 1.1, 1.1, 1.1 ) rotate3d( 0, 0, 1,  3deg ) ); }
        40%, 60%, 80%      { #a._transform( scale3d( 1.1, 1.1, 1.1 ) rotate3d( 0, 0, 1, -3deg ) ); }
        to                 { #a._transform( scale3d( 1,   1,   1   )                            ); }
        }
    );

// =============================================================================

#a.keyframes(
    wobble; {
        from { #a._transform( translate3d(  0,   0, 0)                           ); }
        15%  { #a._transform( translate3d( -25%, 0, 0) rotate3d(0, 0, 1, -5deg ) ); }
        30%  { #a._transform( translate3d(  20%, 0, 0) rotate3d(0, 0, 1,  3deg ) ); }
        45%  { #a._transform( translate3d( -15%, 0, 0) rotate3d(0, 0, 1, -3deg ) ); }
        60%  { #a._transform( translate3d(  10%, 0, 0) rotate3d(0, 0, 1,  2deg ) ); }
        75%  { #a._transform( translate3d( -5%,  0, 0) rotate3d(0, 0, 1, -1deg ) ); }
        to   { #a._transform( translate3d(  0,   0, 0)                           ); }
        }
    );

// =============================================================================

#a.keyframes(
    zoomIn; {
        from { opacity: 0; #a._transform(scale3d(0.3, 0.3, 0.3)); }
        50%  { opacity: 1;                                        }
        }
    );

// =============================================================================

#a.keyframes(
    zoomInDown; {
        from { opacity: 0; #a._transform( scale3d( 0.1,   0.1,   0.1   ) translate3d( 0, -1000px, 0 ) ); #a._timing(a; cubic-bezier( 0.55,  0.055, 0.675, 0.19 )); }
        60%  { opacity: 1; #a._transform( scale3d( 0.475, 0.475, 0.475 ) translate3d( 0,  60px,   0 ) ); #a._timing(a; cubic-bezier( 0.175, 0.885, 0.32,  1    )); }
        }
    );

// =============================================================================

#a.keyframes(
    zoomInLeft; {
        from { opacity: 0; #a._transform( scale3d( 0.1,   0.1,   0.1   ) translate3d( -1000px, 0, 0 ) ); #a._timing(a; cubic-bezier( 0.55,  0.055, 0.675, 0.19 )); }
        60%  { opacity: 1; #a._transform( scale3d( 0.475, 0.475, 0.475 ) translate3d(  10px,   0, 0 ) ); #a._timing(a; cubic-bezier( 0.175, 0.885, 0.32,  1    )); }
        }
    );

// =============================================================================

#a.keyframes(
    zoomInRight; {
        from { opacity: 0; #a._transform( scale3d( 0.1,   0.1,   0.1   ) translate3d(  1000px, 0, 0 ) ); #a._timing(a; cubic-bezier( 0.55,  0.055, 0.675, 0.19 )); }
        60%  { opacity: 1; #a._transform( scale3d( 0.475, 0.475, 0.475 ) translate3d( -10px,   0, 0 ) ); #a._timing(a; cubic-bezier( 0.175, 0.885, 0.32,  1    )); }
        }
    );

// =============================================================================

#a.keyframes(
    zoomInUp; {
        from { opacity: 0; #a._transform( scale3d( 0.1,   0.1,   0.1   ) translate3d( 0,  1000px, 0 ) ); #a._timing(a; cubic-bezier( 0.55,  0.055, 0.675, 0.19 )); }
        60%  { opacity: 1; #a._transform( scale3d( 0.475, 0.475, 0.475 ) translate3d( 0, -60px,   0 ) ); #a._timing(a; cubic-bezier( 0.175, 0.885, 0.32,  1    )); }
        }
    );

// =============================================================================

#a.keyframes(
    zoomOut; {
        from { opacity: 1;                                        }
        50%  { opacity: 0; #a._transform(scale3d(0.3, 0.3, 0.3)); }
        to   { opacity: 0;                                        }
        }
    );

// =============================================================================

#a.keyframes(
    zoomOutDown; {
        40% { opacity: 1; #a._transform( scale3d( 0.475, 0.475, 0.475 ) translate3d( 0, -60px,   0 ) );                                      #a._timing(a; cubic-bezier( 0.55,  0.055, 0.675, 0.19 )); }
        to  { opacity: 0; #a._transform( scale3d( 0.1,   0.1,   0.1   ) translate3d( 0,  2000px, 0 ) ); #a._transform-origin(center bottom); #a._timing(a; cubic-bezier( 0.175, 0.885, 0.32,  1    )); }
        }
    );

// =============================================================================

#a.keyframes(
    zoomOutLeft; {
        40% { opacity: 1; #a._transform( scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0) );                                    }
        to  { opacity: 0; #a._transform( scale(0.1) translate3d(-2000px, 0, 0)                ); #a._transform-origin(left center); }
        }
    );

// =============================================================================

#a.keyframes(
    zoomOutRight; {
        40% { opacity: 1; #a._transform( scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0) );                                     }
        to  { opacity: 0; #a._transform( scale(0.1) translate3d(2000px, 0, 0)                  ); #a._transform-origin(right center); }
        }
    );

// =============================================================================

#a.keyframes(
    zoomOutUp; {
        40% { opacity: 1; #a._transform( scale3d( 0.475, 0.475, 0.475 ) translate3d( 0,  60px,   0 ) );                                      #a._timing(a; cubic-bezier( 0.55,  0.055, 0.675, 0.19 )); }
        to  { opacity: 0; #a._transform( scale3d( 0.1,   0.1,   0.1   ) translate3d( 0, -2000px, 0 ) ); #a._transform-origin(center bottom); #a._timing(a; cubic-bezier( 0.175, 0.885, 0.32,  1    )); }
        }
    );
