@-webkit-keyframes fadeIn {
0% {opacity: 0;}
100% {opacity: 1;}
}

@-webkit-keyframes fadeOut {
0% {opacity: 1;}
100% {opacity: 0;}
}

@-webkit-keyframes fadeInUp {
0% {
opacity: 0;
-webkit-transform: translateY(20px);
}

100% {
opacity: 1;
-webkit-transform: translateY(0);
}
}

@-webkit-keyframes fadeOutUp {
0% {
opacity: 1;
-webkit-transform: translateY(0);
}

100% {
opacity: 0;
-webkit-transform: translateY(-20px);
}
}

@-webkit-keyframes fadeInDown {
0% {
opacity: 0;
-webkit-transform: translateY(-20px);
}

100% {
opacity: 1;
-webkit-transform: translateY(0);
}
}

@-webkit-keyframes fadeOutDown {
0% {
opacity: 1;
-webkit-transform: translateY(0);
}

100% {
opacity: 0;
-webkit-transform: translateY(20px);
}
}

@-webkit-keyframes fadeInRight {
0% {
opacity: 0;
-webkit-transform: translateX(20px);
}

100% {
opacity: 1;
-webkit-transform: translateX(0);
}
}

@-webkit-keyframes fadeOutLeft {
0% {
opacity: 1;
-webkit-transform: translateX(0);
}

100% {
opacity: 0;
-webkit-transform: translateX(-20px);
}
}

@-webkit-keyframes fadeInLeft {
0% {
opacity: 0;
-webkit-transform: translateX(-20px);
}

100% {
opacity: 1;
-webkit-transform: translateX(0);
}
}

@-webkit-keyframes fadeOutRight {
0% {
opacity: 1;
-webkit-transform: translateX(0);
}

100% {
opacity: 0;
-webkit-transform: translateX(20px);
}
}

@-webkit-keyframes fadeInUpBig {
0% {
opacity: 0;
-webkit-transform: translateY(2000px);
}

100% {
opacity: 1;
-webkit-transform: translateY(0);
}
}

@-webkit-keyframes fadeOutUpBig {
0% {
opacity: 1;
-webkit-transform: translateY(0);
}

100% {
opacity: 0;
-webkit-transform: translateY(-2000px);
}
}

@-webkit-keyframes fadeInDownBig {
0% {
opacity: 0;
-webkit-transform: translateY(-2000px);
}

100% {
opacity: 1;
-webkit-transform: translateY(0);
}
}

@-webkit-keyframes fadeOutDownBig {
0% {
opacity: 1;
-webkit-transform: translateY(0);
}

100% {
opacity: 0;
-webkit-transform: translateY(2000px);
}
}

@-webkit-keyframes fadeInRightBig {
0% {
opacity: 0;
-webkit-transform: translateX(2000px);
}

100% {
opacity: 1;
-webkit-transform: translateX(0);
}
}

@-webkit-keyframes fadeOutLeftBig {
0% {
opacity: 1;
-webkit-transform: translateX(0);
}

100% {
opacity: 0;
-webkit-transform: translateX(-2000px);
}
}

@-webkit-keyframes fadeInLeftBig {
0% {
opacity: 0;
-webkit-transform: translateX(-2000px);
}

100% {
opacity: 1;
-webkit-transform: translateX(0);
}
}

@-webkit-keyframes fadeOutRightBig {
0% {
opacity: 1;
-webkit-transform: translateX(0);
}

100% {
opacity: 0;
-webkit-transform: translateX(2000px);
}
}

@-webkit-keyframes bounceIn {
0% {
opacity: 0;
-webkit-transform: scale(.3);
}

50% {
opacity: 1;
-webkit-transform: scale(1.05);
}

70% {
-webkit-transform: scale(.9);
}

100% {
-webkit-transform: scale(1);
}
}

@-webkit-keyframes bounceInDown {
0% {
opacity: 0;
-webkit-transform: translateY(-2000px);
}

60% {
opacity: 1;
-webkit-transform: translateY(30px);
}

80% {
-webkit-transform: translateY(-10px);
}

100% {
-webkit-transform: translateY(0);
}
}

@-webkit-keyframes bounceInUp {
0% {
opacity: 0;
-webkit-transform: translateY(2000px);
}

60% {
opacity: 1;
-webkit-transform: translateY(-30px);
}

80% {
-webkit-transform: translateY(10px);
}

100% {
-webkit-transform: translateY(0);
}
}

@-webkit-keyframes bounceInRight {
0% {
opacity: 0;
-webkit-transform: translateX(2000px);
}

60% {
opacity: 1;
-webkit-transform: translateX(-30px);
}

80% {
-webkit-transform: translateX(10px);
}

100% {
-webkit-transform: translateX(0);
}
}

@-webkit-keyframes bounceInLeft {
0% {
opacity: 0;
-webkit-transform: translateX(-2000px);
}

60% {
opacity: 1;
-webkit-transform: translateX(30px);
}

80% {
-webkit-transform: translateX(-10px);
}

100% {
-webkit-transform: translateX(0);
}
}

@-webkit-keyframes bounceOut {
0% {
-webkit-transform: scale(1);
}

25% {
-webkit-transform: scale(.95);
}

50% {
opacity: 1;
-webkit-transform: scale(1.1);
}

100% {
opacity: 0;
-webkit-transform: scale(.3);
}
}

@-webkit-keyframes bounceOutUp {
0% {
-webkit-transform: translateY(0);
}

20% {
opacity: 1;
-webkit-transform: translateY(20px);
}

100% {
opacity: 0;
-webkit-transform: translateY(-2000px);
}
}

@-webkit-keyframes bounceOutDown {
0% {
-webkit-transform: translateY(0);
}

20% {
opacity: 1;
-webkit-transform: translateY(-20px);
}

100% {
opacity: 0;
-webkit-transform: translateY(2000px);
}
}

@-webkit-keyframes bounceOutLeft {
0% {
-webkit-transform: translateX(0);
}

20% {
opacity: 1;
-webkit-transform: translateX(20px);
}

100% {
opacity: 0;
-webkit-transform: translateX(-2000px);
}
}

@-webkit-keyframes bounceOutRight {
0% {
-webkit-transform: translateX(0);
}

20% {
opacity: 1;
-webkit-transform: translateX(-20px);
}

100% {
opacity: 0;
-webkit-transform: translateX(2000px);
}
}

@-webkit-keyframes flash {
0%, 50%, 100% {opacity: 1;}
25%, 75% {opacity: 0;}
}


@-webkit-keyframes bounce {
0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);}
40% {-webkit-transform: translateY(-30px);}
60% {-webkit-transform: translateY(-15px);}
}

@-webkit-keyframes shake {
0%, 100% {-webkit-transform: translateX(0);}
10%, 30%, 50%, 70%, 90% {-webkit-transform: translateX(-10px);}
20%, 40%, 60%, 80% {-webkit-transform: translateX(10px);}
}


@-webkit-keyframes rotateInDownLeft {
0% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(-90deg);
opacity: 0;
}

100% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(0);
opacity: 1;
}
}

@-webkit-keyframes rotateInUpLeft {
0% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(90deg);
opacity: 0;
}

100% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(0);
opacity: 1;
}
}

@-webkit-keyframes rotateInUpRight {
0% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(-90deg);
opacity: 0;
}

100% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(0);
opacity: 1;
}
}

@-webkit-keyframes rotateInDownRight {
0% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(90deg);
opacity: 0;
}

100% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(0);
opacity: 1;
}
}

@-webkit-keyframes rotateOutDownLeft {
0% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(0);
opacity: 1;
}

100% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(90deg);
opacity: 0;
}
}

@-webkit-keyframes rotateOutUpLeft {
0% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(0);
opacity: 1;
}

100% {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(-90deg);
opacity: 0;
}
}

@-webkit-keyframes rotateOutDownRight {
0% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(0);
opacity: 1;
}

100% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(-90deg);
opacity: 0;
}
}

@-webkit-keyframes rotateOutUpRight {
0% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(0);
opacity: 1;
}

100% {
-webkit-transform-origin: right bottom;
-webkit-transform: rotate(90deg);
opacity: 0;
}
}

@-webkit-keyframes rotateIn {
0% {
-webkit-transform-origin: center center;
-webkit-transform: rotate(-200deg);
opacity: 0;
}

100% {
-webkit-transform-origin: center center;
-webkit-transform: rotate(0);
opacity: 1;
}
}

@-webkit-keyframes rotateOut {
0% {
-webkit-transform-origin: center center;
-webkit-transform: rotate(0);
opacity: 1;
}

100% {
-webkit-transform-origin: center center;
-webkit-transform: rotate(200deg);
opacity: 0;
}
}

@-webkit-keyframes tada {
0% {-webkit-transform: scale(1);}
10%, 20% {-webkit-transform: scale(0.9) rotate(-3deg);}
30%, 50%, 70%, 90% {-webkit-transform: scale(1.1) rotate(3deg);}
40%, 60%, 80% {-webkit-transform: scale(1.1) rotate(-3deg);}
100% {-webkit-transform: scale(1) rotate(0);}
}

@-moz-keyframes fadeIn {
0% {
opacity: 0;
}

100% {
opacity: 1;
}
}

@-moz-keyframes fadeOut {
0% {
opacity: 1;
}

100% {
opacity: 0;
}
}

@-moz-keyframes fadeInUp {
0% {
opacity: 0;
-moz-transform: translateY(20px);
}

100% {
opacity: 1;
-moz-transform: translateY(0);
}
}

@-moz-keyframes fadeOutUp {
0% {
opacity: 1;
-moz-transform: translateY(0);
}

100% {
opacity: 0;
-moz-transform: translateY(-20px);
}
}

@-moz-keyframes fadeInDown {
0% {
opacity: 0;
-moz-transform: translateY(-20px);
}

100% {
opacity: 1;
-moz-transform: translateY(0);
}
}

@-moz-keyframes fadeOutDown {
0% {
opacity: 1;
-moz-transform: translateY(0);
}

100% {
opacity: 0;
-moz-transform: translateY(20px);
}
}

@-moz-keyframes fadeInRight {
0% {
opacity: 0;
-moz-transform: translateX(20px);
}

100% {
opacity: 1;
-moz-transform: translateX(0);
}
}

@-moz-keyframes fadeOutLeft {
0% {
opacity: 1;
-moz-transform: translateX(0);
}

100% {
opacity: 0;
-moz-transform: translateX(-20px);
}
}

@-moz-keyframes fadeInLeft {
0% {
opacity: 0;
-moz-transform: translateX(-20px);
}

100% {
opacity: 1;
-moz-transform: translateX(0);
}
}

@-moz-keyframes fadeOutRight {
0% {
opacity: 1;
-moz-transform: translateX(0);
}

100% {
opacity: 0;
-moz-transform: translateX(20px);
}
}

@-moz-keyframes fadeInUpBig {
0% {
opacity: 0;
-moz-transform: translateY(2000px);
}

100% {
opacity: 1;
-moz-transform: translateY(0);
}
}

@-moz-keyframes fadeOutUpBig {
0% {
opacity: 1;
-moz-transform: translateY(0);
}

100% {
opacity: 0;
-moz-transform: translateY(-2000px);
}
}

@-moz-keyframes fadeInDownBig {
0% {
opacity: 0;
-moz-transform: translateY(-2000px);
}

100% {
opacity: 1;
-moz-transform: translateY(0);
}
}

@-moz-keyframes fadeOutDownBig {
0% {
opacity: 1;
-moz-transform: translateY(0);
}

100% {
opacity: 0;
-moz-transform: translateY(2000px);
}
}

@-moz-keyframes fadeInRightBig {
0% {
opacity: 0;
-moz-transform: translateX(2000px);
}

100% {
opacity: 1;
-moz-transform: translateX(0);
}
}

@-moz-keyframes fadeOutLeftBig {
0% {
opacity: 1;
-moz-transform: translateX(0);
}

100% {
opacity: 0;
-moz-transform: translateX(-2000px);
}
}

@-moz-keyframes fadeInLeftBig {
0% {
opacity: 0;
-moz-transform: translateX(-2000px);
}

100% {
opacity: 1;
-moz-transform: translateX(0);
}
}

@-moz-keyframes fadeOutRightBig {
0% {
opacity: 1;
-moz-transform: translateX(0);
}

100% {
opacity: 0;
-moz-transform: translateX(2000px);
}
}

@-moz-keyframes bounceIn {
0% {
opacity: 0;
-moz-transform: scale(.3);
}

50% {
opacity: 1;
-moz-transform: scale(1.05);
}

70% {
-moz-transform: scale(.9);
}

100% {
-moz-transform: scale(1);
}
}

@-moz-keyframes bounceInDown {
0% {
opacity: 0;
-moz-transform: translateY(-2000px);
}

60% {
opacity: 1;
-moz-transform: translateY(30px);
}

80% {
-moz-transform: translateY(-10px);
}

100% {
-moz-transform: translateY(0);
}
}

@-moz-keyframes bounceInUp {
0% {
opacity: 0;
-moz-transform: translateY(2000px);
}

60% {
opacity: 1;
-moz-transform: translateY(-30px);
}

80% {
-moz-transform: translateY(10px);
}

100% {
-moz-transform: translateY(0);
}
}

@-moz-keyframes bounceInRight {
0% {
opacity: 0;
-moz-transform: translateX(2000px);
}

60% {
opacity: 1;
-moz-transform: translateX(-30px);
}

80% {
-moz-transform: translateX(10px);
}

100% {
-moz-transform: translateX(0);
}
}

@-moz-keyframes bounceInLeft {
0% {
opacity: 0;
-moz-transform: translateX(-2000px);
}

60% {
opacity: 1;
-moz-transform: translateX(30px);
}

80% {
-moz-transform: translateX(-10px);
}

100% {
-moz-transform: translateX(0);
}
}

@-moz-keyframes bounceOut {
0% {
-moz-transform: scale(1);
}

25% {
-moz-transform: scale(.95);
}

50% {
opacity: 1;
-moz-transform: scale(1.1);
}

100% {
opacity: 0;
-moz-transform: scale(.3);
}
}

@-moz-keyframes bounceOutUp {
0% {
-moz-transform: translateY(0);
}

20% {
opacity: 1;
-moz-transform: translateY(20px);
}

100% {
opacity: 0;
-moz-transform: translateY(-2000px);
}
}

@-moz-keyframes bounceOutDown {
0% {
-moz-transform: translateY(0);
}

20% {
opacity: 1;
-moz-transform: translateY(-20px);
}

100% {
opacity: 0;
-moz-transform: translateY(2000px);
}
}

@-moz-keyframes bounceOutLeft {
0% {
-moz-transform: translateX(0);
}

20% {
opacity: 1;
-moz-transform: translateX(20px);
}

100% {
opacity: 0;
-moz-transform: translateX(-2000px);
}
}

@-moz-keyframes bounceOutRight {
0% {
-moz-transform: translateX(0);
}

20% {
opacity: 1;
-moz-transform: translateX(-20px);
}

100% {
opacity: 0;
-moz-transform: translateX(2000px);
}
}

@-moz-keyframes flash {
0%, 50%, 100% {opacity: 1;}
25%, 75% {opacity: 0;}
}

@-moz-keyframes bounce {
0%, 20%, 50%, 80%, 100% {-moz-transform: translateY(0);}
40% {-moz-transform: translateY(-30px);}
60% {-moz-transform: translateY(-15px);}
}

@-moz-keyframes shake {
0%, 100% {-moz-transform: translateX(0);}
10%, 30%, 50%, 70%, 90% {-moz-transform: translateX(-10px);}
20%, 40%, 60%, 80% {-moz-transform: translateX(10px);}
}

@-moz-keyframes rotateInDownLeft {
0% {
-moz-transform-origin: left bottom;
-moz-transform: rotate(-90deg);
opacity: 0;
}

100% {
-moz-transform-origin: left bottom;
-moz-transform: rotate(0);
opacity: 1;
}
}

@-moz-keyframes rotateInUpLeft {
0% {
-moz-transform-origin: left bottom;
-moz-transform: rotate(90deg);
opacity: 0;
}

100% {
-moz-transform-origin: left bottom;
-moz-transform: rotate(0);
opacity: 1;
}
}

@-moz-keyframes rotateInUpRight {
0% {
-moz-transform-origin: right bottom;
-moz-transform: rotate(-90deg);
opacity: 0;
}

100% {
-moz-transform-origin: right bottom;
-moz-transform: rotate(0);
opacity: 1;
}
}

@-moz-keyframes rotateInDownRight {
0% {
-moz-transform-origin: right bottom;
-moz-transform: rotate(90deg);
opacity: 0;
}

100% {
-moz-transform-origin: right bottom;
-moz-transform: rotate(0);
opacity: 1;
}
}

@-moz-keyframes rotateOutDownLeft {
0% {
-moz-transform-origin: left bottom;
-moz-transform: rotate(0);
opacity: 1;
}

100% {
-moz-transform-origin: left bottom;
-moz-transform: rotate(90deg);
opacity: 0;
}
}

@-moz-keyframes rotateOutUpLeft {
0% {
-moz-transform-origin: left bottom;
-moz-transform: rotate(0);
opacity: 1;
}

100% {
-moz-transform-origin: left bottom;
-moz-transform: rotate(-90deg);
opacity: 0;
}
}

@-moz-keyframes rotateOutDownRight {
0% {
-moz-transform-origin: right bottom;
-moz-transform: rotate(0);
opacity: 1;
}

100% {
-moz-transform-origin: right bottom;
-moz-transform: rotate(-90deg);
opacity: 0;
}
}

@-moz-keyframes rotateOutUpRight {
0% {
-moz-transform-origin: right bottom;
-moz-transform: rotate(0);
opacity: 1;
}

100% {
-moz-transform-origin: right bottom;
-moz-transform: rotate(90deg);
opacity: 0;
}
}

@-moz-keyframes rotateIn {
0% {
-moz-transform-origin: center center;
-moz-transform: rotate(-200deg);
opacity: 0;
}

100% {
-moz-transform-origin: center center;
-moz-transform: rotate(0);
opacity: 1;
}
}

@-moz-keyframes rotateOut {
0% {
-moz-transform-origin: center center;
-moz-transform: rotate(0);
opacity: 1;
}

100% {
-moz-transform-origin: center center;
-moz-transform: rotate(200deg);
opacity: 0;
}
}

@-moz-keyframes tada {
0% {-moz-transform: scale(1);}
10%, 20% {-moz-transform: scale(0.9) rotate(-3deg);}
30%, 50%, 70%, 90% {-moz-transform: scale(1.1) rotate(3deg);}
40%, 60%, 80% {-moz-transform: scale(1.1) rotate(-3deg);}
100% {-moz-transform: scale(1) rotate(0);}
}

@-ms-keyframes fadeIn {
0% {
opacity: 0;
}

100% {
opacity: 1;
}
}

@-ms-keyframes fadeOut {
0% {
opacity: 1;
}

100% {
opacity: 0;
}
}

@-ms-keyframes fadeInUp {
0% {
opacity: 0;
-ms-transform: translateY(20px);
}

100% {
opacity: 1;
-ms-transform: translateY(0);
}
}

@-ms-keyframes fadeOutUp {
0% {
opacity: 1;
-ms-transform: translateY(0);
}

100% {
opacity: 0;
-ms-transform: translateY(-20px);
}
}

@-ms-keyframes fadeInDown {
0% {
opacity: 0;
-ms-transform: translateY(-20px);
}

100% {
opacity: 1;
-ms-transform: translateY(0);
}
}

@-ms-keyframes fadeOutDown {
0% {
opacity: 1;
-ms-transform: translateY(0);
}

100% {
opacity: 0;
-ms-transform: translateY(20px);
}
}

@-ms-keyframes fadeInRight {
0% {
opacity: 0;
-ms-transform: translateX(20px);
}

100% {
opacity: 1;
-ms-transform: translateX(0);
}
}

@-ms-keyframes fadeOutLeft {
0% {
opacity: 1;
-ms-transform: translateX(0);
}

100% {
opacity: 0;
-ms-transform: translateX(-20px);
}
}

@-ms-keyframes fadeInLeft {
0% {
opacity: 0;
-ms-transform: translateX(-20px);
}

100% {
opacity: 1;
-ms-transform: translateX(0);
}
}

@-ms-keyframes fadeOutRight {
0% {
opacity: 1;
-ms-transform: translateX(0);
}

100% {
opacity: 0;
-ms-transform: translateX(20px);
}
}

@-ms-keyframes fadeInUpBig {
0% {
opacity: 0;
-ms-transform: translateY(2000px);
}

100% {
opacity: 1;
-ms-transform: translateY(0);
}
}

@-ms-keyframes fadeOutUpBig {
0% {
opacity: 1;
-ms-transform: translateY(0);
}

100% {
opacity: 0;
-ms-transform: translateY(-2000px);
}
}

@-ms-keyframes fadeInDownBig {
0% {
opacity: 0;
-ms-transform: translateY(-2000px);
}

100% {
opacity: 1;
-ms-transform: translateY(0);
}
}

@-ms-keyframes fadeOutDownBig {
0% {
opacity: 1;
-ms-transform: translateY(0);
}

100% {
opacity: 0;
-ms-transform: translateY(2000px);
}
}

@-ms-keyframes fadeInRightBig {
0% {
opacity: 0;
-ms-transform: translateX(2000px);
}

100% {
opacity: 1;
-ms-transform: translateX(0);
}
}

@-ms-keyframes fadeOutLeftBig {
0% {
opacity: 1;
-ms-transform: translateX(0);
}

100% {
opacity: 0;
-ms-transform: translateX(-2000px);
}
}

@-ms-keyframes fadeInLeftBig {
0% {
opacity: 0;
-ms-transform: translateX(-2000px);
}

100% {
opacity: 1;
-ms-transform: translateX(0);
}
}

@-ms-keyframes fadeOutRightBig {
0% {
opacity: 1;
-ms-transform: translateX(0);
}

100% {
opacity: 0;
-ms-transform: translateX(2000px);
}
}

@-ms-keyframes bounceIn {
0% {
opacity: 0;
-ms-transform: scale(.3);
}

50% {
opacity: 1;
-ms-transform: scale(1.05);
}

70% {
-ms-transform: scale(.9);
}

100% {
-ms-transform: scale(1);
}
}

@-ms-keyframes bounceInDown {
0% {
opacity: 0;
-ms-transform: translateY(-2000px);
}

60% {
opacity: 1;
-ms-transform: translateY(30px);
}

80% {
-ms-transform: translateY(-10px);
}

100% {
-ms-transform: translateY(0);
}
}

@-ms-keyframes bounceInUp {
0% {
opacity: 0;
-ms-transform: translateY(2000px);
}

60% {
opacity: 1;
-ms-transform: translateY(-30px);
}

80% {
-ms-transform: translateY(10px);
}

100% {
-ms-transform: translateY(0);
}
}

@-ms-keyframes bounceInRight {
0% {
opacity: 0;
-ms-transform: translateX(2000px);
}

60% {
opacity: 1;
-ms-transform: translateX(-30px);
}

80% {
-ms-transform: translateX(10px);
}

100% {
-ms-transform: translateX(0);
}
}

@-ms-keyframes bounceInLeft {
0% {
opacity: 0;
-ms-transform: translateX(-2000px);
}

60% {
opacity: 1;
-ms-transform: translateX(30px);
}

80% {
-ms-transform: translateX(-10px);
}

100% {
-ms-transform: translateX(0);
}
}

@-ms-keyframes bounceOut {
0% {
-ms-transform: scale(1);
}

25% {
-ms-transform: scale(.95);
}

50% {
opacity: 1;
-ms-transform: scale(1.1);
}

100% {
opacity: 0;
-ms-transform: scale(.3);
}
}

@-ms-keyframes bounceOutUp {
0% {
-ms-transform: translateY(0);
}

20% {
opacity: 1;
-ms-transform: translateY(20px);
}

100% {
opacity: 0;
-ms-transform: translateY(-2000px);
}
}

@-ms-keyframes bounceOutDown {
0% {
-ms-transform: translateY(0);
}

20% {
opacity: 1;
-ms-transform: translateY(-20px);
}

100% {
opacity: 0;
-ms-transform: translateY(2000px);
}
}

@-ms-keyframes bounceOutLeft {
0% {
-ms-transform: translateX(0);
}

20% {
opacity: 1;
-ms-transform: translateX(20px);
}

100% {
opacity: 0;
-ms-transform: translateX(-2000px);
}
}

@-ms-keyframes bounceOutRight {
0% {
-ms-transform: translateX(0);
}

20% {
opacity: 1;
-ms-transform: translateX(-20px);
}

100% {
opacity: 0;
-ms-transform: translateX(2000px);
}
}

@-ms-keyframes flash {
0%, 50%, 100% {opacity: 1;}
25%, 75% {opacity: 0;}
}

@-ms-keyframes bounce {
0%, 20%, 50%, 80%, 100% {-ms-transform: translateY(0);}
40% {-ms-transform: translateY(-30px);}
60% {-ms-transform: translateY(-15px);}
}

@-ms-keyframes shake {
0%, 100% {-ms-transform: translateX(0);}
10%, 30%, 50%, 70%, 90% {-ms-transform: translateX(-10px);}
20%, 40%, 60%, 80% {-ms-transform: translateX(10px);}
}

@-ms-keyframes rotateInDownLeft {
0% {
-ms-transform-origin: left bottom;
-ms-transform: rotate(-90deg);
opacity: 0;
}

100% {
-ms-transform-origin: left bottom;
-ms-transform: rotate(0);
opacity: 1;
}
}

@-ms-keyframes rotateInUpLeft {
0% {
-ms-transform-origin: left bottom;
-ms-transform: rotate(90deg);
opacity: 0;
}

100% {
-ms-transform-origin: left bottom;
-ms-transform: rotate(0);
opacity: 1;
}
}

@-ms-keyframes rotateInUpRight {
0% {
-ms-transform-origin: right bottom;
-ms-transform: rotate(-90deg);
opacity: 0;
}

100% {
-ms-transform-origin: right bottom;
-ms-transform: rotate(0);
opacity: 1;
}
}

@-ms-keyframes rotateInDownRight {
0% {
-ms-transform-origin: right bottom;
-ms-transform: rotate(90deg);
opacity: 0;
}

100% {
-ms-transform-origin: right bottom;
-ms-transform: rotate(0);
opacity: 1;
}
}

@-ms-keyframes rotateOutDownLeft {
0% {
-ms-transform-origin: left bottom;
-ms-transform: rotate(0);
opacity: 1;
}

100% {
-ms-transform-origin: left bottom;
-ms-transform: rotate(90deg);
opacity: 0;
}
}

@-ms-keyframes rotateOutUpLeft {
0% {
-ms-transform-origin: left bottom;
-ms-transform: rotate(0);
opacity: 1;
}

100% {
-ms-transform-origin: left bottom;
-ms-transform: rotate(-90deg);
opacity: 0;
}
}

@-ms-keyframes rotateOutDownRight {
0% {
-ms-transform-origin: right bottom;
-ms-transform: rotate(0);
opacity: 1;
}

100% {
-ms-transform-origin: right bottom;
-ms-transform: rotate(-90deg);
opacity: 0;
}
}

@-ms-keyframes rotateOutUpRight {
0% {
-ms-transform-origin: right bottom;
-ms-transform: rotate(0);
opacity: 1;
}

100% {
-ms-transform-origin: right bottom;
-ms-transform: rotate(90deg);
opacity: 0;
}
}

@-ms-keyframes rotateIn {
0% {
-ms-transform-origin: center center;
-ms-transform: rotate(-200deg);
opacity: 0;
}

100% {
-ms-transform-origin: center center;
-ms-transform: rotate(0);
opacity: 1;
}
}

@-ms-keyframes rotateOut {
0% {
-ms-transform-origin: center center;
-ms-transform: rotate(0);
opacity: 1;
}

100% {
-ms-transform-origin: center center;
-ms-transform: rotate(200deg);
opacity: 0;
}
}

@-ms-keyframes tada {
0% {-ms-transform: scale(1);}
10%, 20% {-ms-transform: scale(0.9) rotate(-3deg);}
30%, 50%, 70%, 90% {-ms-transform: scale(1.1) rotate(3deg);}
40%, 60%, 80% {-ms-transform: scale(1.1) rotate(-3deg);}
100% {-ms-transform: scale(1) rotate(0);}
}

@keyframes fadeIn {
0% {
opacity: 0;
}

100% {
opacity: 1;
}
}

@keyframes fadeOut {
0% {
opacity: 1;
}

100% {
opacity: 0;
}
}

@keyframes fadeInUp {
0% {
opacity: 0;
transform: translateY(20px);
}

100% {
opacity: 1;
transform: translateY(0);
}
}

@keyframes fadeOutUp {
0% {
opacity: 1;
transform: translateY(0);
}

100% {
opacity: 0;
transform: translateY(-20px);
}
}

@keyframes fadeInDown {
0% {
opacity: 0;
transform: translateY(-20px);
}

100% {
opacity: 1;
transform: translateY(0);
}
}

@keyframes fadeOutDown {
0% {
opacity: 1;
transform: translateY(0);
}

100% {
opacity: 0;
transform: translateY(20px);
}
}

@keyframes fadeInRight {
0% {
opacity: 0;
transform: translateX(20px);
}

100% {
opacity: 1;
transform: translateX(0);
}
}

@keyframes fadeOutLeft {
0% {
opacity: 1;
transform: translateX(0);
}

100% {
opacity: 0;
transform: translateX(-20px);
}
}

@keyframes fadeInLeft {
0% {
opacity: 0;
transform: translateX(-20px);
}

100% {
opacity: 1;
transform: translateX(0);
}
}

@keyframes fadeOutRight {
0% {
opacity: 1;
transform: translateX(0);
}

100% {
opacity: 0;
transform: translateX(20px);
}
}

@keyframes fadeInUpBig {
0% {
opacity: 0;
transform: translateY(2000px);
}

100% {
opacity: 1;
transform: translateY(0);
}
}

@keyframes fadeOutUpBig {
0% {
opacity: 1;
transform: translateY(0);
}

100% {
opacity: 0;
transform: translateY(-2000px);
}
}

@keyframes fadeInDownBig {
0% {
opacity: 0;
transform: translateY(-2000px);
}

100% {
opacity: 1;
transform: translateY(0);
}
}

@keyframes fadeOutDownBig {
0% {
opacity: 1;
transform: translateY(0);
}

100% {
opacity: 0;
transform: translateY(2000px);
}
}

@keyframes fadeInRightBig {
0% {
opacity: 0;
transform: translateX(2000px);
}

100% {
opacity: 1;
transform: translateX(0);
}
}

@keyframes fadeOutLeftBig {
0% {
opacity: 1;
transform: translateX(0);
}

100% {
opacity: 0;
transform: translateX(-2000px);
}
}

@keyframes fadeInLeftBig {
0% {
opacity: 0;
transform: translateX(-2000px);
}

100% {
opacity: 1;
transform: translateX(0);
}
}

@keyframes fadeOutRightBig {
0% {
opacity: 1;
transform: translateX(0);
}

100% {
opacity: 0;
transform: translateX(2000px);
}
}

@keyframes bounceIn {
0% {
opacity: 0;
transform: scale(.3);
}

50% {
opacity: 1;
transform: scale(1.05);
}

70% {
transform: scale(.9);
}

100% {
transform: scale(1);
}
}

@keyframes bounceInDown {
0% {
opacity: 0;
transform: translateY(-2000px);
}

60% {
opacity: 1;
transform: translateY(30px);
}

80% {
transform: translateY(-10px);
}

100% {
transform: translateY(0);
}
}

@keyframes bounceInUp {
0% {
opacity: 0;
transform: translateY(2000px);
}

60% {
opacity: 1;
transform: translateY(-30px);
}

80% {
transform: translateY(10px);
}

100% {
transform: translateY(0);
}
}

@keyframes bounceInRight {
0% {
opacity: 0;
transform: translateX(2000px);
}

60% {
opacity: 1;
transform: translateX(-30px);
}

80% {
transform: translateX(10px);
}

100% {
transform: translateX(0);
}
}

@keyframes bounceInLeft {
0% {
opacity: 0;
transform: translateX(-2000px);
}

60% {
opacity: 1;
transform: translateX(30px);
}

80% {
transform: translateX(-10px);
}

100% {
transform: translateX(0);
}
}

@keyframes bounceOut {
0% {
transform: scale(1);
}

25% {
transform: scale(.95);
}

50% {
opacity: 1;
transform: scale(1.1);
}

100% {
opacity: 0;
transform: scale(.3);
}
}

@keyframes bounceOutUp {
0% {
transform: translateY(0);
}

20% {
opacity: 1;
transform: translateY(20px);
}

100% {
opacity: 0;
transform: translateY(-2000px);
}
}

@keyframes bounceOutDown {
0% {
transform: translateY(0);
}

20% {
opacity: 1;
transform: translateY(-20px);
}

100% {
opacity: 0;
transform: translateY(2000px);
}
}

@keyframes bounceOutLeft {
0% {
transform: translateX(0);
}

20% {
opacity: 1;
transform: translateX(20px);
}

100% {
opacity: 0;
transform: translateX(-2000px);
}
}

@keyframes bounceOutRight {
0% {
transform: translateX(0);
}

20% {
opacity: 1;
transform: translateX(-20px);
}

100% {
opacity: 0;
transform: translateX(2000px);
}
}

@keyframes flash {
0%, 50%, 100% {opacity: 1;}
25%, 75% {opacity: 0;}
}

@keyframes bounce {
0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
40% {transform: translateY(-30px);}
60% {transform: translateY(-15px);}
}

@keyframes shake {
0%, 100% {transform: translateX(0);}
10%, 30%, 50%, 70%, 90% {transform: translateX(-10px);}
20%, 40%, 60%, 80% {transform: translateX(10px);}
}

@keyframes rotateInDownLeft {
0% {
transform-origin: left bottom;
transform: rotate(-90deg);
opacity: 0;
}

100% {
transform-origin: left bottom;
transform: rotate(0);
opacity: 1;
}
}

@keyframes rotateInUpLeft {
0% {
transform-origin: left bottom;
transform: rotate(90deg);
opacity: 0;
}

100% {
transform-origin: left bottom;
transform: rotate(0);
opacity: 1;
}
}

@keyframes rotateInUpRight {
0% {
transform-origin: right bottom;
transform: rotate(-90deg);
opacity: 0;
}

100% {
transform-origin: right bottom;
transform: rotate(0);
opacity: 1;
}
}

@keyframes rotateInDownRight {
0% {
transform-origin: right bottom;
transform: rotate(90deg);
opacity: 0;
}

100% {
transform-origin: right bottom;
transform: rotate(0);
opacity: 1;
}
}

@keyframes rotateOutDownLeft {
0% {
transform-origin: left bottom;
transform: rotate(0);
opacity: 1;
}

100% {
transform-origin: left bottom;
transform: rotate(90deg);
opacity: 0;
}
}

@keyframes rotateOutUpLeft {
0% {
transform-origin: left bottom;
transform: rotate(0);
opacity: 1;
}

100% {
transform-origin: left bottom;
transform: rotate(-90deg);
opacity: 0;
}
}

@keyframes rotateOutDownRight {
0% {
transform-origin: right bottom;
transform: rotate(0);
opacity: 1;
}

100% {
transform-origin: right bottom;
transform: rotate(-90deg);
opacity: 0;
}
}

@keyframes rotateOutUpRight {
0% {
transform-origin: right bottom;
transform: rotate(0);
opacity: 1;
}

100% {
transform-origin: right bottom;
transform: rotate(90deg);
opacity: 0;
}
}

@keyframes rotateIn {
0% {
transform-origin: center center;
transform: rotate(-200deg);
opacity: 0;
}

100% {
transform-origin: center center;
transform: rotate(0);
opacity: 1;
}
}

@keyframes rotateOut {
0% {
transform-origin: center center;
transform: rotate(0);
opacity: 1;
}

100% {
transform-origin: center center;
transform: rotate(200deg);
opacity: 0;
}
}

@keyframes tada {
0% {transform: scale(1);}
10%, 20% {transform: scale(0.9) rotate(-3deg);}
30%, 50%, 70%, 90% {transform: scale(1.1) rotate(3deg);}
40%, 60%, 80% {transform: scale(1.1) rotate(-3deg);}
100% {transform: scale(1) rotate(0);}
}

.flash { -webkit-animation-name: flash; -moz-animation-name: flash; -ms-animation-name: flash; animation-name: flash; }
.fadeIn { -webkit-animation-name: fadeIn; -moz-animation-name: fadeIn; -ms-animation-name: fadeIn; animation-name: fadeIn; }
.fadeInUp { -webkit-animation-name: fadeInUp; -moz-animation-name: fadeInUp; -ms-animation-name: fadeInUp; animation-name: fadeInUp; }
.fadeInDown { -webkit-animation-name: fadeInDown; -moz-animation-name: fadeInDown; -ms-animation-name: fadeInDown; animation-name: fadeInDown; }
.fadeInLeft { -webkit-animation-name: fadeInLeft; -moz-animation-name: fadeInLeft; -ms-animation-name: fadeInLeft; animation-name: fadeInLeft; }
.fadeInRight {-webkit-animation-name: fadeInRight; -moz-animation-name: fadeInRight; -ms-animation-name: fadeInRight; animation-name: fadeInRight; }
.fadeOut { -webkit-animation-name: fadeOut; -moz-animation-name: fadeOut; -ms-animation-name: fadeOut; animation-name: fadeOut; }
.fadeOutUp { -webkit-animation-name: fadeOutUp; -moz-animation-name: fadeOutUp; -ms-animation-name: fadeOutUp; animation-name: fadeOutUp; }
.fadeOutDown { -webkit-animation-name: fadeOutDown; -moz-animation-name: fadeOutDown; -ms-animation-name: fadeOutDown; animation-name: fadeOutDown; }
.fadeOutLeft { -webkit-animation-name: fadeOutLeft; -moz-animation-name: fadeOutLeft; -ms-animation-name: fadeOutLeft; animation-name: fadeOutLeft; }
.fadeOutRight { -webkit-animation-name: fadeOutRight; -moz-animation-name: fadeOutRight; -ms-animation-name: fadeOutRight; animation-name: fadeOutRight; }
.fadeInUpBig { -webkit-animation-name: fadeInUpBig; -moz-animation-name: fadeInUpBig; -ms-animation-name: fadeInUpBig; animation-name: fadeInUpBig; }
.fadeInDownBig { -webkit-animation-name: fadeInDownBig; -moz-animation-name: fadeInDownBig; -ms-animation-name: fadeInDownBig; animation-name: fadeInDownBig; }
.fadeInLeftBig { -webkit-animation-name: fadeInLeftBig; -moz-animation-name: fadeInLeftBig; -ms-animation-name: fadeInLeftBig; animation-name: fadeInLeftBig; }
.fadeInRightBig {-webkit-animation-name: fadeInRightBig; -moz-animation-name: fadeInRightBig; -ms-animation-name: fadeInRightBig; animation-name: fadeInRightBig; }
.fadeOutUpBig { -webkit-animation-name: fadeOutUpBig; -moz-animation-name: fadeOutUpBig; -ms-animation-name: fadeOutUpBig; animation-name: fadeOutUpBig; }
.fadeOutDownBig { -webkit-animation-name: fadeOutDownBig; -moz-animation-name: fadeOutDownBig; -ms-animation-name: fadeOutDownBig; animation-name: fadeOutDownBig; }
.fadeOutLeftBig { -webkit-animation-name: fadeOutLeftBig; -moz-animation-name: fadeOutLeftBig; -ms-animation-name: fadeOutLeftBig; animation-name: fadeOutLeftBig; }
.fadeOutRightBig { -webkit-animation-name: fadeOutRightBig; -moz-animation-name: fadeOutRightBig; -ms-animation-name: fadeOutRightBig; animation-name: fadeOutRightBig; }
.bounceIn { -webkit-animation-name: bounceIn; -moz-animation-name: bounceIn; -ms-animation-name: bounceIn; animation-name: bounceIn; }
.bounceInDown { -webkit-animation-name: bounceInDown; -moz-animation-name: bounceInDown; -ms-animation-name: bounceInDown; animation-name: bounceInDown; }
.bounceInUp { -webkit-animation-name: bounceInUp; -moz-animation-name: bounceInUp; -ms-animation-name: bounceInUp; animation-name: bounceInUp; }
.bounceInLeft { -webkit-animation-name: bounceInLeft; -moz-animation-name: bounceInLeft; -ms-animation-name: bounceInLeft; animation-name: bounceInLeft; }
.bounceInRight { -webkit-animation-name: bounceInRight; -moz-animation-name: bounceInRight; -ms-animation-name: bounceInRight; animation-name: bounceInRight; }
.bounceOut { -webkit-animation-name: bounceOut; -moz-animation-name: bounceOut; -ms-animation-name: bounceOut; animation-name: bounceOut; }
.bounceOutUp { -webkit-animation-name: bounceOutUp; -moz-animation-name: bounceOutUp; -ms-animation-name: bounceOutUp; animation-name: bounceOutUp; }
.bounceOutDown { -webkit-animation-name: bounceOutDown; -moz-animation-name: bounceOutDown; -ms-animation-name: bounceOutDown; animation-name: bounceOutDown; }
.bounceOutLeft { -webkit-animation-name: bounceOutLeft; -moz-animation-name: bounceOutLeft; -ms-animation-name: bounceOutLeft; animation-name: bounceOutLeft; }
.bounceOutRight { -webkit-animation-name: bounceOutRight; -moz-animation-name: bounceOutRight; -ms-animation-name: bounceOutRight; animation-name: bounceOutRight; }
.bounce { -webkit-animation-name: bounce; -moz-animation-name: bounce; -ms-animation-name: bounce; animation-name: bounce; }
.shake { -webkit-animation-name: shake; -moz-animation-name: shake; -ms-animation-name: shake; animation-name: shake; }
.rotateInDownLeft { -webkit-animation-name: rotateInDownLeft; -moz-animation-name: rotateInDownLeft; -ms-animation-name: rotateInDownLeft; animation-name: rotateInDownLeft; }
.rotateInDownRight { -webkit-animation-name: rotateInDownRight; -moz-animation-name: rotateInDownRight; -ms-animation-name: rotateInDownRight; animation-name: rotateInDownRight; }
.rotateInUpLeft { -webkit-animation-name: rotateInUpLeft; -moz-animation-name: rotateInUpLeft; -ms-animation-name: rotateInUpLeft; animation-name: rotateInUpLeft; }
.rotateInUpRight { -webkit-animation-name: rotateInUpRight; -moz-animation-name: rotateInUpRight; -ms-animation-name: rotateInUpRight; animation-name: rotateInUpRight; }
.rotateOutDownLeft { -webkit-animation-name: rotateOutDownLeft; -moz-animation-name: rotateOutDownLeft; -ms-animation-name: rotateOutDownLeft; animation-name: rotateOutDownLeft; }
.rotateOutDownRight { -webkit-animation-name: rotateOutDownRight; -moz-animation-name: rotateOutDownRight; -ms-animation-name: rotateOutDownRight; animation-name: rotateOutDownRight; }
.rotateOutUpLeft { -webkit-animation-name: rotateOutUpLeft; -moz-animation-name: rotateOutUpLeft; -ms-animation-name: rotateOutUpLeft; animation-name: rotateOutUpLeft; }
.rotateOutUpRight { -webkit-animation-name: rotateOutUpRight; -moz-animation-name: rotateOutUpRight; -ms-animation-name: rotateOutUpRight; animation-name: rotateOutUpRight; }
.rotateIn { -webkit-animation-name: rotateIn; -moz-animation-name: rotateIn; -ms-animation-name: rotateIn; animation-name: rotateIn; }
.rotateOut { -webkit-animation-name: rotateOut; -moz-animation-name: rotateOut; -ms-animation-name: rotateOut; animation-name: rotateOut; }
.tada { -webkit-animation-name: tada; -moz-animation-name: tada; -ms-animation-name: tada; animation-name: tada; }