body {
  animation: fadeIn 0.9s linear forwards;
}

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

/* fadeIn */
.fadeIn {
  opacity: 0;
  transition: opacity 0.6s ease 0.3s, transform 0.6s ease 0.3s;
}
.fadeIn.fade-in {
  opacity: 1;
}

/* fadeInUp */
.fadeInUp {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.6s ease 0.3s, transform 0.6s ease 0.3s;
}
.fadeInUp.fade-in-up {
  opacity: 1;
  transform: translateY(0);
}

/* fadeInLeft */
.fadeInLeft {
  opacity: 0;
  transform: translateX(40px);
  transition: opacity 0.6s ease 0.3s, transform 0.6s ease 0.3s;
}
.fadeInLeft.fade-in-left {
  opacity: 1;
  transform: translateX(0);
}

/* fadeInRight */
.fadeInRight {
  opacity: 0;
  transform: translateX(-40px);
  transition: opacity 0.6s ease 0.3s, transform 0.6s ease 0.3s;
}
.fadeInRight.fade-in-right {
  opacity: 1;
  transform: translateX(0);
}
.transition {
  transition: all .3s;
}