@keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fade_in {
    animation-name: fade-in;
    animation-duration: .5s;
    animation-timing-function: cubic-bezier(0.55, 0.01, 0.12, 0.97);
}




@keyframes sorting {
    from {
        transform: scale(0);

    }

    to {
        transform: scale(1);
    }
}

.entering_animation {
    animation-name: sorting;
    animation-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
    animation-duration: 0.6s;
}


/* 
    Back out animations

*/

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

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

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

.backOutRight {
    animation-name: backOutRight;
    animation-duration: 1s;
    animation-timing-function: cubic-bezier(0.6, 0.01, 0.18, 1);
}

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

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

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

.backOutLeft {
    animation-name: backOutLeft;
    animation-duration: 1s;
    animation-timing-function: cubic-bezier(0.6, 0.01, 0.18, 1);
}

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

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

    100% {
        transform: translateY(-700px) scale(0.7);
        opacity: 0.7;
    }
}

.backOutUp {
    animation-name: backOutUp;
    animation-duration: 1s;
    animation-timing-function: cubic-bezier(0.6, 0.01, 0.18, 1);
}


/* 
    slid entrance
*/

@keyframes slideInLeft {
    from {
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.slideInLeft {
    animation-name: slideInLeft;
    animation-duration: .6s;
    animation-timing-function: cubic-bezier(0.6, 0.01, 0.18, 1);
}

@keyframes slideInDown {
    from {
        transform: translate3d(0, -100%, 0);
        visibility: visible;
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.slideInDown {
    animation-name: slideInDown;
    animation-duration: 1s;
    animation-timing-function: cubic-bezier(0.6, 0.01, 0.18, 1);
}

@keyframes slideInRight {
    from {
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.slideInRight {
    animation-name: slideInRight;
    animation-duration: .6s;
    animation-timing-function: cubic-bezier(0.6, 0.01, 0.18, 1);
}

@keyframes slideInUp {
    from {
        transform: translate3d(0, 100%, 0);
        visibility: visible;
    }

    to {
        transform: translate3d(0, 0, 0);
    }
}

.slideInUp {
    animation-name: slideInUp;
    animation-duration: .6s;
    animation-timing-function: cubic-bezier(0.6, 0.01, 0.18, 1);
}


/* 
    slide exit
*/

@keyframes slideOutDown {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        transform: translate3d(0, 100%, 0);
    }
}

.slideOutDown {
    animation-name: slideOutDown;
    animation-duration: 1s;
    animation-timing-function: cubic-bezier(0.6, 0.01, 0.18, 1);
}

@keyframes slideOutLeft {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        transform: translate3d(-100%, 0, 0);
    }
}

.slideOutLeft {
    animation-name: slideOutLeft;
    animation-duration: 1s;
    animation-timing-function: cubic-bezier(0.6, 0.01, 0.18, 1);
}

@keyframes slideOutRight {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        transform: translate3d(100%, 0, 0);
    }
}

.slideOutRight {
    animation-name: slideOutRight;
    animation-duration: 1s;
    animation-timing-function: cubic-bezier(0.6, 0.01, 0.18, 1);
}

@keyframes slideOutUp {
    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        transform: translate3d(0, -100%, 0);
    }
}

.slideOutUp {
    animation-name: slideOutUp;
    animation-duration: 1s;
    animation-timing-function: cubic-bezier(0.6, 0.01, 0.18, 1);
}