/* FadeInUp动画定义 */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* FadeInLeft动画定义 */
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* FadeInRight动画定义 */
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* FadeInDown动画定义 */
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* 动画初始状态 */
.fadeInUp {
  opacity: 0;
  animation-duration: 2s;
  animation-fill-mode: both;
}

.fadeInLeft {
  opacity: 0;
  animation-duration: 2s;
  animation-fill-mode: both;
}

.fadeInRight {
  opacity: 0;
  animation-duration: 2s;
  animation-fill-mode: both;
}

.fadeInDown {
  opacity: 0;
  animation-duration: 2s;
  animation-fill-mode: both;
}

/* 动画激活状态 */
.fadeInUp.animated {
  animation-name: fadeInUp;
}

.fadeInLeft.animated {
  animation-name: fadeInLeft;
}

.fadeInRight.animated {
  animation-name: fadeInRight;
}

.fadeInDown.animated {
  animation-name: fadeInDown;
}
