.move-motion(@className, @keyframeName) {
  .make-motion(@className, @keyframeName);
  .@{className}-enter-active, .@{className}-appear {
    // opacity: 0;
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    animation-timing-function: @ease-in-out;
  }
  .@{className}-leave-active {
    transition-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
    animation-timing-function: @ease-in-out;
  }
}

.move-motion(move-up, weMoveUp);
.move-motion(move-down, weMoveDown);
.move-motion(move-left, weMoveLeft);
.move-motion(move-right, weMoveRight);

@keyframes weMoveDownIn {
  0% {
    transform-origin: 0 0;
    transform: translateY(100%);
    // opacity: 0;
  }
  100% {
    transform-origin: 0 0;
    transform: translateY(0%);
    // opacity: 1;
  }
}

@keyframes weMoveDownOut {
  0% {
    transform-origin: 0 0;
    transform: translateY(0%);
    // opacity: 1;
  }
  100% {
    transform-origin: 0 0;
    transform: translateY(100%);
    // opacity: 0;
  }
}

@keyframes weMoveLeftIn {
  0% {
    transform-origin: 0 0;
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform-origin: 0 0;
    transform: translateX(0%);
    opacity: 1;
  }
}

@keyframes weMoveLeftOut {
  0% {
    transform-origin: 0 0;
    transform: translateX(0%);
    opacity: 1;
  }
  100% {
    transform-origin: 0 0;
    transform: translateX(-100%);
    opacity: 0;
  }
}

@keyframes weMoveRightIn {
  0% {
    opacity: 0;
    transform-origin: 0 0;
    transform: translateX(100%);
  }
  100% {
    opacity: 1;
    transform-origin: 0 0;
    transform: translateX(0%);
  }
}

@keyframes weMoveRightOut {
  0% {
    transform-origin: 0 0;
    transform: translateX(0%);
    opacity: 1;
  }
  100% {
    transform-origin: 0 0;
    transform: translateX(100%);
    opacity: 0;
  }
}

@keyframes weMoveUpIn {
  0% {
    transform-origin: 0 0;
    transform: translateY(-100%);
    opacity: 0;
  }
  100% {
    transform-origin: 0 0;
    transform: translateY(0%);
    opacity: 1;
  }
}

@keyframes weMoveUpOut {
  0% {
    transform-origin: 0 0;
    transform: translateY(0%);
    opacity: 1;
  }
  100% {
    transform-origin: 0 0;
    transform: translateY(-100%);
    opacity: 0;
  }
}

