/**
 * ----------------------------------------
 * animations
 * ----------------------------------------
**/

.slide-right {
    -webkit-animation: slide-right 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    animation: slide-right 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@-webkit-keyframes slide-right {
    0% {
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0px);
        transform: translateX(0px);
        opacity: 1;
    }
}

@keyframes slide-right {
    0% {
        -webkit-transform: translateX(-100px);
        transform: translateX(-100px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0px);
        transform: translateX(0px);
        opacity: 1;
    }
}

.slide-left {
    -webkit-animation: slide-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    animation: slide-left 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@-webkit-keyframes slide-left {
    0% {
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0px);
        transform: translateX(0px);
        opacity: 1;
    }
}

@keyframes slide-left {
    0% {
        -webkit-transform: translateX(100px);
        transform: translateX(100px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateX(0px);
        transform: translateX(0px);
        opacity: 1;
    }
}

.slide-up {
    -webkit-animation: slide-up 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    animation: slide-up 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@-webkit-keyframes slide-up {
    0% {
        -webkit-transform: translateY(100px);
        transform: translateY(100px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 1;
    }
}

@keyframes slide-up {
    0% {
        -webkit-transform: translateY(100px);
        transform: translateY(100px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 1;
    }
}

.slide-down {
    -webkit-animation: slide-down 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    animation: slide-down 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@-webkit-keyframes slide-down {
    0% {
        -webkit-transform: translateY(-100px);
        transform: translateY(-100px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 1;
    }
}

@keyframes slide-down {
    0% {
        -webkit-transform: translateY(-100px);
        transform: translateY(-100px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(0px);
        transform: translateY(0px);
        opacity: 1;
    }
}

.slide-down-thin-pulse {
    -webkit-animation: slide-down-thin-pulse 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
    animation: slide-down-thin-pulse 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
}

@-webkit-keyframes slide-down-thin-pulse {
    0% {
        -webkit-transform: translateY(-20px);
        transform: translateY(-20px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
        opacity: 1;
    }
}

@keyframes slide-down-thin-pulse {
    0% {
        -webkit-transform: translateY(-20px);
        transform: translateY(-20px);
        opacity: 0;
    }
    100% {
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
        opacity: 1;
    }
}

.scale-up-center:hover {
    -webkit-animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
    animation: scale-up-center 0.4s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

@-webkit-keyframes scale-up-center {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    70% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
    }
    90% {
        -webkit-transform: scale(1.15);
        transform: scale(1.15);
    }
    100% {
        -webkit-transform: scale(1.25);
        transform: scale(1.25);
    }
}

@keyframes scale-up-center {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
    70% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
    }
    90% {
        -webkit-transform: scale(1.15);
        transform: scale(1.15);
    }
    100% {
        -webkit-transform: scale(1.25);
        transform: scale(1.25);
    }
}

.delay100ms {
    animation-delay: 0.1s;
}

.delay200ms {
    animation-delay: 0.2s;
}

.delay250ms {
    animation-delay: 0.25s;
}

.delay300ms {
    animation-delay: 0.3s;
}

.delay400ms {
    animation-delay: 0.4s;
}

.delay500ms {
    animation-delay: 0.5s;
}

.delay600ms {
    animation-delay: 0.6s;
}

.delay700ms {
    animation-delay: 0.7s;
}

.delay800ms {
    animation-delay: 0.8s;
}

.delay900ms {
    animation-delay: 0.9s;
}

.delay1s {
    animation-delay: 1s;
}

.duration100ms {
    animation-duration: 0.1s;
}

.duration200ms {
    animation-duration: 0.2s;
}

.duration250ms {
    animation-duration: 0.25s;
}

.duration300ms {
    animation-duration: 0.3s;
}

.duration500ms {
    animation-duration: 0.5s;
}

.duration1s {
    animation-duration: 1s;
}

.animation-iteration-infinite {
    animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
}

@keyframes auto-slide {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translatex(calc(-1px * ((300 + 48) * 10)));
    }
}