/**
 * ----------------------------------------
 * animation slide-tl
 * ----------------------------------------
 */
/*
@-webkit-keyframes slide-tl {
  0% {
    -webkit-transform: translateY(0) translateX(0);
            transform: translateY(0) translateX(0);
  }
  100% {
    -webkit-transform: translateY(-100px) translateX(-100px);
            transform: translateY(-100px) translateX(-100px);
  }
}

@keyframes slide-tl {
  0% {
    -webkit-transform: translateY(0) translateX(0);
            transform: translateY(0) translateX(0);
  }
  100% {
    -webkit-transform: translateY(-100px) translateX(-100px);
            transform: translateY(-100px) translateX(-100px);
  }
}

.slide-tl {
	-webkit-animation: slide-tl 0.73s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite alternate both;
	        animation: slide-tl 0.73s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite alternate both;
}


/**
 * ----------------------------------------
 * animation slide-br
 * ----------------------------------------
 */
 /*
@-webkit-keyframes slide-br {
  0% {
    -webkit-transform: translateY(0) translateX(0);
            transform: translateY(0) translateX(0);
  }
  100% {
    -webkit-transform: translateY(100px) translateX(100px);
            transform: translateY(100px) translateX(100px);
  }
}
@keyframes slide-br {
  0% {
    -webkit-transform: translateY(0) translateX(0);
            transform: translateY(0) translateX(0);
  }
  100% {
    -webkit-transform: translateY(100px) translateX(100px);
            transform: translateY(100px) translateX(100px);
  }
}

.slide-br {
	-webkit-animation: slide-br 0.79s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite alternate both;
	        animation: slide-br 0.79s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite alternate both;
}

/**
 * ----------------------------------------
 * animation slide-tr
 * ----------------------------------------
 */
 /*
@-webkit-keyframes slide-tr {
  0% {
    -webkit-transform: translateY(0) translateX(0);
            transform: translateY(0) translateX(0);
  }
  100% {
    -webkit-transform: translateY(-100px) translateX(100px);
            transform: translateY(-100px) translateX(100px);
  }
}
@keyframes slide-tr {
  0% {
    -webkit-transform: translateY(0) translateX(0);
            transform: translateY(0) translateX(0);
  }
  100% {
    -webkit-transform: translateY(-100px) translateX(100px);
            transform: translateY(-100px) translateX(100px);
  }
}

.slide-tr {
	-webkit-animation: slide-tr 0.77s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite alternate both;
	        animation: slide-tr 0.77s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite alternate both;
}

/**
 * ----------------------------------------
 * animation slide-bl
 * ----------------------------------------
 */
 /*
@-webkit-keyframes slide-bl {
  0% {
    -webkit-transform: translateY(0) translateX(0);
            transform: translateY(0) translateX(0);
  }
  100% {
    -webkit-transform: translateY(100px) translateX(-100px);
            transform: translateY(100px) translateX(-100px);
  }
}
@keyframes slide-bl {
  0% {
    -webkit-transform: translateY(0) translateX(0);
            transform: translateY(0) translateX(0);
  }
  100% {
    -webkit-transform: translateY(100px) translateX(-100px);
            transform: translateY(100px) translateX(-100px);
  }
}

.slide-bl {
	-webkit-animation: slide-bl 0.71s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite alternate both;
	        animation: slide-bl 0.71s cubic-bezier(0.250, 0.460, 0.450, 0.940) infinite alternate both;
}

/**
 * ----------------------------------------
 * animation fade-in-bck
 * ----------------------------------------
 */
 /*
@-webkit-keyframes fade-in-bck {
  0% {
    -webkit-transform: translateZ(80px);
            transform: translateZ(80px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    opacity: 1;
  }
}
@keyframes fade-in-bck {
  0% {
    -webkit-transform: translateZ(80px);
            transform: translateZ(80px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
    opacity: 1;
  }
}

.fade-in-bck {
	-webkit-animation: fade-in-bck 0.75s cubic-bezier(0.390, 0.575, 0.565, 1.000) alternate infinite both;
	        animation: fade-in-bck 0.75s cubic-bezier(0.390, 0.575, 0.565, 1.000) alternate infinite both;
}

/**
 * ----------------------------------------
 * animation flip-diagonal-2-fwd
 * ----------------------------------------
 */
 /*
@-webkit-keyframes flip-diagonal-2-fwd {
  0% {
    -webkit-transform: translateZ(0) rotate3d(-1, 1, 0, 0deg);
            transform: translateZ(0) rotate3d(-1, 1, 0, 0deg);
  }
  100% {
    -webkit-transform: translateZ(160px) rotate3d(-1, 1, 0, 180deg);
            transform: translateZ(160px) rotate3d(-1, 1, 0, 180deg);
  }
}
@keyframes flip-diagonal-2-fwd {
  0% {
    -webkit-transform: translateZ(0) rotate3d(-1, 1, 0, 0deg);
            transform: translateZ(0) rotate3d(-1, 1, 0, 0deg);
  }
  100% {
    -webkit-transform: translateZ(160px) rotate3d(-1, 1, 0, 180deg);
            transform: translateZ(160px) rotate3d(-1, 1, 0, 180deg);
  }
}

.flip-diagonal-2-fwd {
	-webkit-animation: flip-diagonal-2-fwd 0.75s cubic-bezier(0.455, 0.030, 0.515, 0.955) infinite alternate both;
	        animation: flip-diagonal-2-fwd 0.75s cubic-bezier(0.455, 0.030, 0.515, 0.955) infinite alternate both;
}

/**
 * ----------------------------------------
 * animation kenburns-bottom
 * ----------------------------------------
 */
 /*
@-webkit-keyframes kenburns-bottom {
  0% {
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
    -webkit-transform-origin: 50% 84%;
            transform-origin: 50% 84%;
  }
  100% {
    -webkit-transform: scale(1.25) translateY(15px);
            transform: scale(1.25) translateY(15px);
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
  }
}
@keyframes kenburns-bottom {
  0% {
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
    -webkit-transform-origin: 50% 84%;
            transform-origin: 50% 84%;
  }
  100% {
    -webkit-transform: scale(1.25) translateY(15px);
            transform: scale(1.25) translateY(15px);
    -webkit-transform-origin: bottom;
            transform-origin: bottom;
  }
}

.kenburns-bottom {
	-webkit-animation: kenburns-bottom 2.5s ease-in-out infinite alternate both;
	        animation: kenburns-bottom 2.5s ease-in-out infinite alternate both;
}



/* ANIMACAO NO SCROLL */

/* Text Focus In */
.text-focus-in {
  /* Estado inicial */
  -webkit-filter: blur(12px);
          filter: blur(12px);
  opacity: 0;
  
  /* Transição suave para quando a animação terminar */
  transition: 
    filter 1.5s ease-in-out,
    opacity 1.5s ease-in-out;
}

.text-focus-in.animate {
  /* Estado final (igual ao último frame da animação) */
  -webkit-filter: blur(0px);
          filter: blur(0px);
  opacity: 1;
}

/* Tracking In Expand */
.tracking-in-expand {
  letter-spacing: -0.5em;
  opacity: 0;
  transition: 
    letter-spacing 1.5s ease-in-out,
    opacity 1.5s ease-in-out;
}

.tracking-in-expand.animate {
  letter-spacing: normal;
  opacity: 1;
}

.fade-in-text {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 2.2s ease-out, transform 2.2s ease-out;
}

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


/* Fade In Forward */
.fade-in-fwd {
  -webkit-transform: translateZ(-80px);
          transform: translateZ(-80px);
  opacity: 0;
  transition: 
    transform 1.5s ease-in-out,
    opacity 1.5s ease-in-out;
}

.fade-in-fwd.animate {
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
  opacity: 1;
}

/* Rotate Vertical Center */
.rotate-vert-center {
  /* Estado inicial */
  -webkit-transform: rotateY(0);
          transform: rotateY(0);
  opacity: 0;
  
  /* Transição suave para quando a animação terminar */
  transition: 
    transform 1.5s ease-in-out,
    opacity 1.5s ease-in-out;
}

.rotate-vert-center.animate {
  -webkit-transform: rotateY(360deg);
    transform: rotateY(360deg);
  opacity: 1;
}

/* Rotate Horizontal Center */
.rotate-hor-center {
  /* Estado inicial */
  -webkit-transform: rotateX(0);
          transform: rotateX(0);
  opacity: 0;
  
  /* Transição suave para quando a animação terminar */
  transition: 
    transform 1.5s ease-in-out,
    opacity 1.5s ease-in-out;
}

.rotate-hor-center.animate {
  -webkit-transform: rotateX(360deg);
    transform: rotateX(360deg);
  opacity: 1;
}

/* Rotate Center */
.rotate-center {
  /* Estado inicial */
  -webkit-transform: rotate(0);
          transform: rotate(0);
  opacity: 0;
  
  /* Transição suave para quando a animação terminar */
  transition: 
    transform 1.5s ease-in-out,
    opacity 1.5s ease-in-out;
}

.rotate-center.animate {
  -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  opacity: 1;
}

/* Slide-Right Center */
.slide-right {
  /* Estado inicial */
  -webkit-transform: translateX(-100px);
            transform: translateX(-100px);
  opacity: 0;
  
  /* Transição suave para quando a animação terminar */
  transition: 
    transform 1.5s ease-in-out,
    opacity 1.5s ease-in-out;
}

.slide-right.animate {
  -webkit-transform: translateX(0);
            transform: translateX(0);
  opacity: 1;
}
