@keyframes slide-up-enter {
  from {
    transform: translate3d(0, 100%, 0);
  }
}

@keyframes slide-up-leave {
  to {
    transform: translate3d(0, 100%, 0);
  }
}

.slide-up {
  &-enter-active {
    animation: slide-up-enter 0.3s both ease;
  }

  &-leave-active {
    animation: slide-up-leave 0.3s both ease;
  }
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  70% {
    opacity: 0.3;
    transform: translate3d(0, -37px, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(0, -50px, 0);
  }
}

@keyframes fadeOutdown {
  to {
    opacity: 0;
  }
}

.fadeOutUp {
  &-enter-active {
    animation: fadeOutUp 2s;
  }

  &-leave-active {
    animation: fadeOutdown 0.3s;
  }
}

// fade
.dj-fade {
  &-enter-active {
    animation: dj-fade-in 0.3s;
  }

  &-leave-active {
    animation: dj-fade-out 0.3s;
  }
}

@keyframes dj-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes dj-fade-out {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

// top
.dj-fade-top {
  &-enter-active {
    animation: dj-fade-top-in 0.2s;
  }

  &-leave-active {
    animation: dj-fade-top-out 0.2s;
  }
}

@keyframes dj-fade-top-in {
  from {
    transform: translate3d(0, -100%, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes dj-fade-top-out {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(0, -100%, 0);
  }
}

// bottom
.dj-fade-bottom {
  &-enter-active {
    animation: dj-fade-bottom-in 0.2s;
  }

  &-leave-active {
    animation: dj-fade-bottom-out 0.2s;
  }
}

@keyframes dj-fade-bottom-in {
  from {
    transform: translate3d(0, 100%, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes dj-fade-bottom-out {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(0, 100%, 0);
  }
}

// left
.dj-fade-left {
  &-enter-active {
    animation: dj-fade-left-in 0.2s;
  }

  &-leave-active {
    animation: dj-fade-left-out 0.2s;
  }
}

@keyframes dj-fade-left-in {
  from {
    transform: translate3d(-100%, 0, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes dj-fade-left-out {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-100%, 0, 0);
  }
}

// right
.dj-fade-right {
  &-enter-active {
    animation: dj-fade-right-in 0.2s;
  }

  &-leave-active {
    animation: dj-fade-right-out 0.2s;
  }
}

@keyframes dj-fade-right-in {
  from {
    transform: translate3d(100%, 0, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes dj-fade-right-out {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(100%, 0, 0);
  }
}
