/**
 * SpicySEO Custom Animations
 * Contains all keyframe animations (prefixed and standard)
 */

/* Utility Classes */
.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

.tpfadeUp {
    -webkit-animation-name: tpfadeUp;
    animation-name: tpfadeUp;
}

.tpfadeLeft {
    -webkit-animation-name: tpfadeLeft;
    animation-name: tpfadeLeft;
}

.tpfadeRight {
    -webkit-animation-name: tpfadeRight;
    animation-name: tpfadeRight;
}

/* 1. jump */
@-webkit-keyframes jump {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    40% { -webkit-transform: translate3d(0, 50%, 0); transform: translate3d(0, 50%, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}
@keyframes jump {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    40% { -webkit-transform: translate3d(0, 50%, 0); transform: translate3d(0, 50%, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}

/* 2. jumpTwo */
@-webkit-keyframes jumpTwo {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    50% { -webkit-transform: translate3d(0, 40px, 0); transform: translate3d(0, 40px, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}
@keyframes jumpTwo {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    50% { -webkit-transform: translate3d(0, 40px, 0); transform: translate3d(0, 40px, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}

/* 3. jumpThree */
@-webkit-keyframes jumpThree {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    50% { -webkit-transform: translate3d(0, -20px, 0); transform: translate3d(0, -20px, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}
@keyframes jumpThree {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    50% { -webkit-transform: translate3d(0, -20px, 0); transform: translate3d(0, -20px, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}

/* 4. jumpFour */
@-webkit-keyframes jumpFour {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    50% { -webkit-transform: translate3d(0, -10px, 0); transform: translate3d(0, -10px, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}
@keyframes jumpFour {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    50% { -webkit-transform: translate3d(0, -10px, 0); transform: translate3d(0, -10px, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}

/* 5. jumpFive */
@-webkit-keyframes jumpFive {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    50% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}
@keyframes jumpFive {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    50% { -webkit-transform: translate3d(0, 10px, 0); transform: translate3d(0, 10px, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}

/* 6. prXOne */
@-webkit-keyframes prXOne {
    0% { -webkit-transform: translateX(0); transform: translateX(0); }
    50% { -webkit-transform: translateX(-15px); transform: translateX(-15px); }
    100% { -webkit-transform: translateX(0); transform: translateX(0); }
}
@keyframes prXOne {
    0% { -webkit-transform: translateX(0); transform: translateX(0); }
    50% { -webkit-transform: translateX(-15px); transform: translateX(-15px); }
    100% { -webkit-transform: translateX(0); transform: translateX(0); }
}

/* 7. prXTwo */
@-webkit-keyframes prXTwo {
    0% { -webkit-transform: translateX(0); transform: translateX(0); }
    50% { -webkit-transform: translateX(15px); transform: translateX(15px); }
    100% { -webkit-transform: translateX(0); transform: translateX(0); }
}
@keyframes prXTwo {
    0% { -webkit-transform: translateX(0); transform: translateX(0); }
    50% { -webkit-transform: translateX(15px); transform: translateX(15px); }
    100% { -webkit-transform: translateX(0); transform: translateX(0); }
}

/* 8. rotated */
@-webkit-keyframes rotated {
    0% { -webkit-transform: rotate(0); transform: rotate(0); }
    100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@keyframes rotated {
    0% { -webkit-transform: rotate(0); transform: rotate(0); }
    100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

/* 9. rotatedTwo */
@-webkit-keyframes rotatedTwo {
    0% { -webkit-transform: rotate(0); transform: rotate(0); }
    100% { -webkit-transform: rotate(-360deg); transform: rotate(-360deg); }
}
@keyframes rotatedTwo {
    0% { -webkit-transform: rotate(0); transform: rotate(0); }
    100% { -webkit-transform: rotate(-360deg); transform: rotate(-360deg); }
}

/* 10. rotatedHalf */
@-webkit-keyframes rotatedHalf {
    0% { -webkit-transform: rotate(0); transform: rotate(0); }
    50% { -webkit-transform: rotate(90deg); transform: rotate(90deg); }
    100% { -webkit-transform: rotate(0); transform: rotate(0); }
}
@keyframes rotatedHalf {
    0% { -webkit-transform: rotate(0); transform: rotate(0); }
    50% { -webkit-transform: rotate(90deg); transform: rotate(90deg); }
    100% { -webkit-transform: rotate(0); transform: rotate(0); }
}

/* 11. rotatedHalfTwo */
@-webkit-keyframes rotatedHalfTwo {
    0% { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }
    50% { -webkit-transform: rotate(90deg); transform: rotate(90deg); }
    100% { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }
}
@keyframes rotatedHalfTwo {
    0% { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }
    50% { -webkit-transform: rotate(90deg); transform: rotate(90deg); }
    100% { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); }
}

/* 12. scale-upOne */
@-webkit-keyframes scale-upOne {
    0% { -webkit-transform: scale(1); transform: scale(1); }
    50% { -webkit-transform: scale(0.85); transform: scale(0.85); }
    100% { -webkit-transform: scale(1); transform: scale(1); }
}
@keyframes scale-upOne {
    0% { -webkit-transform: scale(1); transform: scale(1); }
    50% { -webkit-transform: scale(0.85); transform: scale(0.85); }
    100% { -webkit-transform: scale(1); transform: scale(1); }
}

/* 13. scale-right */
@-webkit-keyframes scale-right {
    0% { -webkit-transform: translateX(0); transform: translateX(0); }
    50% { -webkit-transform: translateX(20%); transform: translateX(20%); }
    100% { -webkit-transform: translateX(0); transform: translateX(0); }
}
@keyframes scale-right {
    0% { -webkit-transform: translateX(0); transform: translateX(0); }
    50% { -webkit-transform: translateX(20%); transform: translateX(20%); }
    100% { -webkit-transform: translateX(0); transform: translateX(0); }
}

/* 14. scale-up-one */
@-webkit-keyframes scale-up-one {
    0% { -webkit-transform: scale(1); transform: scale(1); }
    50% { -webkit-transform: scale(0.5); transform: scale(0.5); }
    100% { -webkit-transform: scale(1); transform: scale(1); }
}
@keyframes scale-up-one {
    0% { -webkit-transform: scale(1); transform: scale(1); }
    50% { -webkit-transform: scale(0.5); transform: scale(0.5); }
    100% { -webkit-transform: scale(1); transform: scale(1); }
}

/* 15. scale-up-two */
@-webkit-keyframes scale-up-two {
    0% { -webkit-transform: scale(0.5); transform: scale(0.5); }
    50% { -webkit-transform: scale(0.8); transform: scale(0.8); }
    100% { -webkit-transform: scale(0.5); transform: scale(0.5); }
}
@keyframes scale-up-two {
    0% { -webkit-transform: scale(0.5); transform: scale(0.5); }
    50% { -webkit-transform: scale(0.8); transform: scale(0.8); }
    100% { -webkit-transform: scale(0.5); transform: scale(0.5); }
}

/* 16. scale-up-three */
@-webkit-keyframes scale-up-three {
    0% { -webkit-transform: scale(1); transform: scale(1); }
    50% { -webkit-transform: scale(2); transform: scale(2); }
    100% { -webkit-transform: scale(1); transform: scale(1); }
}
@keyframes scale-up-three {
    0% { -webkit-transform: scale(1); transform: scale(1); }
    50% { -webkit-transform: scale(2); transform: scale(2); }
    100% { -webkit-transform: scale(1); transform: scale(1); }
}

/* 17. jump5p */
@-webkit-keyframes jump5p {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    50% { -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}
@keyframes jump5p {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    50% { -webkit-transform: translate3d(0, 5px, 0); transform: translate3d(0, 5px, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}

/* 18. jump5pRsv */
@-webkit-keyframes jump5pRsv {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    50% { -webkit-transform: translate3d(0, -5px, 0); transform: translate3d(0, -5px, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}
@keyframes jump5pRsv {
    0% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
    50% { -webkit-transform: translate3d(0, -5px, 0); transform: translate3d(0, -5px, 0); }
    100% { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
}

/* 19. fade-in */
@-webkit-keyframes fade-in {
    0% { opacity: 0.2; }
    50% { opacity: 1; }
    100% { opacity: 0.2; }
}
@keyframes fade-in {
    0% { opacity: 0.2; }
    50% { opacity: 1; }
    100% { opacity: 0.2; }
}

/* 20. hvr-ripple-out */
@-webkit-keyframes hvr-ripple-out {
    0% { inset: -5px; }
    50% { inset: -15px; }
    100% { inset: -5px; }
}
@keyframes hvr-ripple-out {
    0% { inset: -5px; }
    50% { inset: -15px; }
    100% { inset: -5px; }
}

/* 21. hvr-ripple-out-two */
@-webkit-keyframes hvr-ripple-out-two {
    0% { inset: 0; opacity: 1; }
    100% { inset: -30px; opacity: 0; }
}
@keyframes hvr-ripple-out-two {
    0% { inset: 0; opacity: 1; }
    100% { inset: -30px; opacity: 0; }
}

/* 22. tpfadeUp */
@-webkit-keyframes tpfadeUp {
    0% { opacity: 0; -webkit-transform: translateY(60px); transform: translateY(60px); }
    100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes tpfadeUp {
    0% { opacity: 0; -webkit-transform: translateY(60px); transform: translateY(60px); }
    100% { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
}

/* 23. tpfadeLeft */
@-webkit-keyframes tpfadeLeft {
    0% { opacity: 0; -webkit-transform: translateX(-60px); transform: translateX(-60px); }
    100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
}
@keyframes tpfadeLeft {
    0% { opacity: 0; -webkit-transform: translateX(-60px); transform: translateX(-60px); }
    100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
}

/* 24. tpfadeRight */
@-webkit-keyframes tpfadeRight {
    0% { opacity: 0; -webkit-transform: translateX(30px); transform: translateX(30px); }
    100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
}
@keyframes tpfadeRight {
    0% { opacity: 0; -webkit-transform: translateX(30px); transform: translateX(30px); }
    100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
}

/* 25. tpfadeInDown */
@-webkit-keyframes tpfadeInDown {
    0% { opacity: 0; -webkit-transform: translateX(-20px); transform: translateX(-20px); }
    100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
}
@keyframes tpfadeInDown {
    0% { opacity: 0; -webkit-transform: translateX(-20px); transform: translateX(-20px); }
    100% { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0); }
}

/* 26. moveclouds */
@-webkit-keyframes moveclouds {
    0% { margin-left: 200px; }
    100% { margin-left: -200px; }
}
@keyframes moveclouds {
    0% { margin-left: 200px; }
    100% { margin-left: -200px; }
}

/* 27. moveclouds2 */
@-webkit-keyframes moveclouds2 {
    0% { margin-right: 200px; }
    100% { margin-right: -200px; }
}
@keyframes moveclouds2 {
    0% { margin-right: 200px; }
    100% { margin-right: -200px; }
}

/* 28. moveUp */
@-webkit-keyframes moveUp {
    0% { -webkit-transform: translateY(0); transform: translateY(0); }
    100% { -webkit-transform: translateY(-70%); transform: translateY(-70%); }
}
@keyframes moveUp {
    0% { -webkit-transform: translateY(0); transform: translateY(0); }
    100% { -webkit-transform: translateY(-70%); transform: translateY(-70%); }
}

/* 29. orbFloat1 */
@-webkit-keyframes orbFloat1 {
    0%, 100% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
    33% { -webkit-transform: translate(50px, -30px); transform: translate(50px, -30px); }
    66% { -webkit-transform: translate(-30px, 50px); transform: translate(-30px, 50px); }
}
@keyframes orbFloat1 {
    0%, 100% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
    33% { -webkit-transform: translate(50px, -30px); transform: translate(50px, -30px); }
    66% { -webkit-transform: translate(-30px, 50px); transform: translate(-30px, 50px); }
}

/* 30. orbFloat2 */
@-webkit-keyframes orbFloat2 {
    0%, 100% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
    33% { -webkit-transform: translate(-40px, 40px); transform: translate(-40px, 40px); }
    66% { -webkit-transform: translate(60px, -20px); transform: translate(60px, -20px); }
}
@keyframes orbFloat2 {
    0%, 100% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
    33% { -webkit-transform: translate(-40px, 40px); transform: translate(-40px, 40px); }
    66% { -webkit-transform: translate(60px, -20px); transform: translate(60px, -20px); }
}

/* 31. orbFloat3 */
@-webkit-keyframes orbFloat3 {
    0%, 100% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
    50% { -webkit-transform: translate(-50px, -50px); transform: translate(-50px, -50px); }
}
@keyframes orbFloat3 {
    0%, 100% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
    50% { -webkit-transform: translate(-50px, -50px); transform: translate(-50px, -50px); }
}

/* 32. glowPulse */
@-webkit-keyframes glowPulse {
    0%, 100% { box-shadow: 0 0 20px rgba(200, 255, 0, 0.2); }
    50% { box-shadow: 0 0 40px rgba(200, 255, 0, 0.4); }
}
@keyframes glowPulse {
    0%, 100% { box-shadow: 0 0 20px rgba(200, 255, 0, 0.2); }
    50% { box-shadow: 0 0 40px rgba(200, 255, 0, 0.4); }
}

/* 33. gradientShift */
@-webkit-keyframes gradientShift {
    0% { background-position: 0% 50%; background-size: 200% 200%; }
    50% { background-position: 100% 50%; background-size: 200% 200%; }
    100% { background-position: 0% 50%; background-size: 200% 200%; }
}
@keyframes gradientShift {
    0% { background-position: 0% 50%; background-size: 200% 200%; }
    50% { background-position: 100% 50%; background-size: 200% 200%; }
    100% { background-position: 0% 50%; background-size: 200% 200%; }
}

/* 34. shimmerBorder */
@-webkit-keyframes shimmerBorder {
    0% { background-position: 0% 0; }
    100% { background-position: 200% 0; }
}
@keyframes shimmerBorder {
    0% { background-position: 0% 0; }
    100% { background-position: 200% 0; }
}

/* 35. borderRotate */
@-webkit-keyframes borderRotate {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
@keyframes borderRotate {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* 36. textReveal */
@-webkit-keyframes textReveal {
    0% { -webkit-clip-path: inset(0 100% 0 0); clip-path: inset(0 100% 0 0); }
    100% { -webkit-clip-path: inset(0 0 0 0); clip-path: inset(0 0 0 0); }
}
@keyframes textReveal {
    0% { -webkit-clip-path: inset(0 100% 0 0); clip-path: inset(0 100% 0 0); }
    100% { -webkit-clip-path: inset(0 0 0 0); clip-path: inset(0 0 0 0); }
}

/* 37. slideInRight */
@-webkit-keyframes slideInRight {
    from { -webkit-transform: translateX(40px); transform: translateX(40px); opacity: 0; }
    to { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; }
}
@keyframes slideInRight {
    from { -webkit-transform: translateX(40px); transform: translateX(40px); opacity: 0; }
    to { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; }
}

/* 38. slideInLeft */
@-webkit-keyframes slideInLeft {
    from { -webkit-transform: translateX(-40px); transform: translateX(-40px); opacity: 0; }
    to { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; }
}
@keyframes slideInLeft {
    from { -webkit-transform: translateX(-40px); transform: translateX(-40px); opacity: 0; }
    to { -webkit-transform: translateX(0); transform: translateX(0); opacity: 1; }
}

/* 39. slideInUp */
@-webkit-keyframes slideInUp {
    from { -webkit-transform: translateY(40px); transform: translateY(40px); opacity: 0; }
    to { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; }
}
@keyframes slideInUp {
    from { -webkit-transform: translateY(40px); transform: translateY(40px); opacity: 0; }
    to { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; }
}

/* 40. slideInDown */
@-webkit-keyframes slideInDown {
    from { -webkit-transform: translateY(-40px); transform: translateY(-40px); opacity: 0; }
    to { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; }
}
@keyframes slideInDown {
    from { -webkit-transform: translateY(-40px); transform: translateY(-40px); opacity: 0; }
    to { -webkit-transform: translateY(0); transform: translateY(0); opacity: 1; }
}

/* 41. scaleIn */
@-webkit-keyframes scaleIn {
    from { -webkit-transform: scale(0.8); transform: scale(0.8); opacity: 0; }
    to { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
}
@keyframes scaleIn {
    from { -webkit-transform: scale(0.8); transform: scale(0.8); opacity: 0; }
    to { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
}

/* 42. flipIn */
@-webkit-keyframes flipIn {
    from { -webkit-transform: rotateX(-90deg); transform: rotateX(-90deg); opacity: 0; }
    to { -webkit-transform: rotateX(0); transform: rotateX(0); opacity: 1; }
}
@keyframes flipIn {
    from { -webkit-transform: rotateX(-90deg); transform: rotateX(-90deg); opacity: 0; }
    to { -webkit-transform: rotateX(0); transform: rotateX(0); opacity: 1; }
}

/* 43. bounceIn */
@-webkit-keyframes bounceIn {
    0% { -webkit-transform: scale(0.3); transform: scale(0.3); opacity: 0; }
    50% { -webkit-transform: scale(1.05); transform: scale(1.05); }
    70% { -webkit-transform: scale(0.95); transform: scale(0.95); }
    100% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
}
@keyframes bounceIn {
    0% { -webkit-transform: scale(0.3); transform: scale(0.3); opacity: 0; }
    50% { -webkit-transform: scale(1.05); transform: scale(1.05); }
    70% { -webkit-transform: scale(0.95); transform: scale(0.95); }
    100% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
}

/* 44. float */
@-webkit-keyframes float {
    0% { -webkit-transform: translateY(0); transform: translateY(0); }
    50% { -webkit-transform: translateY(-10px); transform: translateY(-10px); }
    100% { -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes float {
    0% { -webkit-transform: translateY(0); transform: translateY(0); }
    50% { -webkit-transform: translateY(-10px); transform: translateY(-10px); }
    100% { -webkit-transform: translateY(0); transform: translateY(0); }
}

/* 45. floatReverse */
@-webkit-keyframes floatReverse {
    0% { -webkit-transform: translateY(0); transform: translateY(0); }
    50% { -webkit-transform: translateY(10px); transform: translateY(10px); }
    100% { -webkit-transform: translateY(0); transform: translateY(0); }
}
@keyframes floatReverse {
    0% { -webkit-transform: translateY(0); transform: translateY(0); }
    50% { -webkit-transform: translateY(10px); transform: translateY(10px); }
    100% { -webkit-transform: translateY(0); transform: translateY(0); }
}

/* 46. spinSlow */
@-webkit-keyframes spinSlow {
    0% { -webkit-transform: rotate(0); transform: rotate(0); }
    100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@keyframes spinSlow {
    0% { -webkit-transform: rotate(0); transform: rotate(0); }
    100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

/* 47. dashOffset */
@-webkit-keyframes dashOffset {
    from { stroke-dashoffset: 1000; }
    to { stroke-dashoffset: 0; }
}
@keyframes dashOffset {
    from { stroke-dashoffset: 1000; }
    to { stroke-dashoffset: 0; }
}

/* 48. typewriter-cursor */
@-webkit-keyframes typewriter-cursor {
    0%, 100% { border-right-color: transparent; }
    50% { border-right-color: currentColor; }
}
@keyframes typewriter-cursor {
    0%, 100% { border-right-color: transparent; }
    50% { border-right-color: currentColor; }
}

/* 49. rippleExpand */
@-webkit-keyframes rippleExpand {
    0% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
    100% { -webkit-transform: scale(1.5); transform: scale(1.5); opacity: 0; }
}
@keyframes rippleExpand {
    0% { -webkit-transform: scale(1); transform: scale(1); opacity: 1; }
    100% { -webkit-transform: scale(1.5); transform: scale(1.5); opacity: 0; }
}

/* 50. magneticPull */
@-webkit-keyframes magneticPull {
    0% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
    100% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
}
@keyframes magneticPull {
    0% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
    100% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
}
