.new-bounce-in-right,
.new-bounce-in-left,
.new-bounce-in-top,
.new-bounce-in-bottom,
.new-pop-up,
.new-appear-up,
.new-in-right,
.new-in-left,
.new-in-top,
.new-in-bottom {
    opacity: 0;
}

/* Pop origins */
.pop-up-right { transform-origin: bottom right; }
.pop-down-right { transform-origin: top right; }
.pop-up-left { transform-origin: bottom left; }
.pop-down-left { transform-origin: top left; }
.pop-center { transform-origin: center center; }

/* Delays */
.delay-2 { animation-delay: .15s; }
.delay-5 { animation-delay: .3s; }
.delay-8 { animation-delay: .4s; }
.delay-10 { animation-delay: .5s; }

/* Active animation */
.animate-active {
    animation-duration: 2s !important;
    animation-timing-function: ease !important;
    animation-fill-mode: forwards !important;
}

/* Times */
.time-1 { animation-duration: 0.5s !important; }
.time-2 { animation-duration: 1s !important; }
.time-3 { animation-duration: 1.5s !important; }

/* Custom durations */
.animation-time-1 { animation-duration: 1s !important; }
.animation-time-15 { animation-duration: 1.5s !important; }

/* Animation mapping */
.new-bounce-in-right.animate-active { animation-name: bounce-in-right; }
.new-bounce-in-left.animate-active { animation-name: bounce-in-left; }
.new-bounce-in-top.animate-active { animation-name: bounce-in-top; }
.new-bounce-in-bottom.animate-active { animation-name: bounce-in-bottom; }
.new-pop-up.animate-active { animation-name: pop; }
.new-in-right.animate-active { animation-name: in-right; }
.new-in-left.animate-active { animation-name: in-left; }
.new-in-top.animate-active { animation-name: in-top; }
.new-in-bottom.animate-active { animation-name: in-bottom; }
.new-in-pop-up.animate-active { animation-name: in-pop; }
.new-appear-up.animate-active { animation-name: appear; }

/* Keyframes */
@keyframes bounce-in-right {
    0% { transform: translateX(2000px); }
    30% { opacity: 0; }
    60% { transform: translateX(-30px); }
    80% { transform: translateX(10px); }
    100% { opacity: 1; transform: translateX(0); }
}

@keyframes bounce-in-left {
    0% { transform: translateX(-2000px); }
    30% { opacity: 0; }
    60% { transform: translateX(30px); }
    80% { transform: translateX(-10px); }
    100% { opacity: 1; transform: translateX(0); }
}

@keyframes bounce-in-top {
    0% { transform: translateY(100px); }
    30% { opacity: 0; }
    60% { transform: translateY(-30px); }
    80% { transform: translateY(10px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes bounce-in-bottom {
    0% { transform: translateY(-100px); }
    30% { opacity: 0; }
    60% { transform: translateY(30px); }
    80% { transform: translateY(-10px); }
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes pop {
    0% { transform: scale(0); }
    50% { transform: scale(1.05); }
    70% { transform: scale(.9); }
    100% { opacity: 1; transform: scale(1); }
}

@keyframes in-right {
    0% { transform: translateX(2000px); }    
    100% { opacity: 1; transform: translateX(0); }
}

@keyframes in-left {
    0% { transform: translateX(-2000px); }    
    100% { opacity: 1; transform: translateX(0); }
}

@keyframes in-top {
    0% { transform: translateY(100px); } 
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes in-bottom {
    0% { transform: translateY(-100px); }    
    100% { opacity: 1; transform: translateY(0); }
}

@keyframes appear {
    0% { opacity: 0; }   
    100% { opacity: 1; }
}
