/* Animation */
/* Fade In */
.fade-in {
    opacity: 0;
    transition: opacity 1.5s ease-out 0.3s !important;
}

.fade-in.animate {
    opacity: 1;
}

/* Fade Up */
.fade-up {
    opacity: 0;
    transform: translateY(6rem);
    transition: opacity 1.5s ease-out 0.3s, transform 1.5s ease-out 0.3s !important;
}

.fade-up.animate {
    opacity: 1;
    transform: translateY(0);
}

/* Fade In Left */
.fade-in-left {
    opacity: 0;
    transform: translateX(-2rem);
    transition: opacity 1.2s ease-out 0.3s, transform 1.2s ease-out 0.3s !important;
}

.fade-in-left.animate {
    opacity: 1;
    transform: translateX(0);
}

/* Fade In Right */
.fade-in-right {
    opacity: 0;
    transform: translateX(2rem);
    transition: opacity 1.2s ease-out 0.3s, transform 1.2s ease-out 0.3s !important;
}

.fade-in-right.animate {
    opacity: 1;
    transform: translateX(0);
}

/* Move Up */
.move-up {
    transform: translateY(6rem);
    transition: transform 1.5s ease-out 0s !important;
}

.move-up.animate {
    transform: translateY(0);
}



.title .level-1-title {opacity:0; transition:opacity 1s ease-out 1s, transform 1s ease-out 1s;}
.title::before {height:0; transition:all 1s ease-out;}
.title .title-background::after {right:-100px; opacity:0; transition:all 3s ease-in-out;}
.title-icon {transform:scale(0); transform-origin:center center; transition:transform 0.6s ease-out 0.5s;}
.title.animate::before {height:100%;}
.title.animate .title-background::after {right:0; opacity:0.1;}
.title.animate .level-1-title {opacity:1;}
.title.animate .title-icon {transform:scale(1);}
.title .level-1-title,
.title-icon {will-change:opacity, transform;}
.icon-book {display:inline-block; transform-origin:bottom left; animation:bounceAnim 6s infinite;}

@keyframes bounceAnim {
  0%, 70% {
    transform:translateY(0); 
  }
  80% {
    transform:translateY(-20px);
    animation-timing-function:ease-in-out; 
  }
  90% {
    transform:translateY(5px);
    animation-timing-function:cubic-bezier(0.33, 1, 0.68, 1);
  }
  100% {
    transform:translateY(0);
  }
}