:root {
  --clippy: polygon(0 0, 0 0, 0 100%, 0 100%);
}
/* ANIMACION PARA SUBRAYADO (UNDERLINE)*/
span.animation-underline-yellow,
span.animation-underline-red,
span.animation-underline-blue,
span.animation-underline-white {
  position: sticky;
  overflow: hidden;
  padding: 0 0.5rem;
}

span.animation-underline-yellow::before {
  content: "";
  display: block;
  background: #ffd42a;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  clip-path: var(--clippy);
  transition: clip-path 2s;
  -webkit-transition: clip-path 2s;
  -moz-transition: clip-path 2s;
  -ms-transition: clip-path 2s;
  -o-transition: clip-path 2s;
}
span.animation-underline-red::before {
  content: "";
  display: block;
  background: #ff3c3c;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  clip-path: var(--clippy);
  transition: clip-path 2s;
  -webkit-transition: clip-path 2s;
  -moz-transition: clip-path 2s;
  -ms-transition: clip-path 2s;
  -o-transition: clip-path 2s;
}
span.animation-underline-blue::before {
  content: "";
  display: block;
  background: #2f1d66;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  clip-path: var(--clippy);
  transition: clip-path 2s;
  -webkit-transition: clip-path 2s;
  -moz-transition: clip-path 2s;
  -ms-transition: clip-path 2s;
  -o-transition: clip-path 2s;
}
span.animation-underline-white::before {
  content: "";
  display: block;
  background: #ffffff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  clip-path: var(--clippy);
  transition: clip-path 2s;
  -webkit-transition: clip-path 2s;
  -moz-transition: clip-path 2s;
  -ms-transition: clip-path 2s;
  -o-transition: clip-path 2s;
}
span.background-active::before {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
/****************************************************/
/* ANIMACION PARA EL FADE IN DE IMAGENES (FADEIN)*/
.animation-fadein {
  opacity: 0;
}
.fadeIn-active {
  animation: fadeIn 2s ease-in-out forwards;
  -webkit-animation: fadeIn 2s ease-in-out forwards;
  animation-iteration-count: 1;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/********************************************/
/* ANIMACION PARA EL DESPLAZAMIENTO DE ELEMENTOS*/

.position-entry,
.position-entry-left,
.position-entry-right {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.position-entry-left img {
  transform: scale(1.2) translate(-6rem);
  -webkit-transform: scale(1.2) translate(-6rem);
  -moz-transform: scale(1.2) translate(-6rem);
  -ms-transform: scale(1.2) translate(-6rem);
  -o-transform: scale(1.2) translate(-6rem);
}
.position-entry-right img {
  transform: scale(1.2) translate(6rem);
  -webkit-transform: scale(1.2) translate(6rem);
  -moz-transform: scale(1.2) translate(6rem);
  -ms-transform: scale(1.2) translate(6rem);
  -o-transform: scale(1.2) translate(6rem);
}
.animation-top-style {
  animation: desplazamiento-top 0.8s linear backwards;
  -webkit-animation: desplazamiento-top 0.8s linear backwards;
}
.animation-right-style {
  animation: desplazamiento-right 0.8s linear backwards;
  -webkit-animation: desplazamiento-right 0.8s linear backwards;
}
.animation-bottom-style {
  animation: desplazamiento-bottom 0.8s linear backwards;
  -webkit-animation: desplazamiento-bottom 0.8s linear backwards;
}
.animation-left-style {
  animation: desplazamiento-left 0.8s linear backwards;
  -webkit-animation: desplazamiento-left 0.8s linear backwards;
}
@keyframes desplazamiento-top {
  0% {
    transform: translate(0, -100%);
    /*opacity: 0;*/
    -webkit-transform: translate(0, -100%);
    -moz-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    -o-transform: translate(0, -100%);
  }
  50% {
    transform: translate(0, -50%);
    /*opacity: 0.5;*/
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
  }
  100% {
    transform: translate(0%);
    /* opacity: 1;*/
    -webkit-transform: translate(0%);
    -moz-transform: translate(0%);
    -ms-transform: translate(0%);
    -o-transform: translate(0%);
  }
}
@keyframes desplazamiento-right {
  0% {
    transform: translate(100%);
    /*opacity: 0;*/
    -webkit-transform: translate(100%);
    -moz-transform: translate(100%);
    -ms-transform: translate(100%);
    -o-transform: translate(100%);
  }
  50% {
    transform: translate(50%);
    /*opacity: 0.5;*/
    -webkit-transform: translate(50%);
    -moz-transform: translate(50%);
    -ms-transform: translate(50%);
    -o-transform: translate(50%);
  }
  100% {
    transform: translate(0%);
    /*opacity: 1;*/
    -webkit-transform: translate(0%);
    -moz-transform: translate(0%);
    -ms-transform: translate(0%);
    -o-transform: translate(0%);
  }
}

@keyframes desplazamiento-bottom {
  0% {
    transform: translate(0, 100%);
    /*opacity: 0;*/
    -webkit-transform: translate(0, 100%);
    -moz-transform: translate(0, 100%);
    -ms-transform: translate(0, 100%);
    -o-transform: translate(0, 100%);
  }
  50% {
    transform: translate(0, 50%);
    /*opacity: 0.5;*/
    -webkit-transform: translate(0, 50%);
    -moz-transform: translate(0, 50%);
    -ms-transform: translate(0, 50%);
    -o-transform: translate(0, 50%);
  }
  100% {
    transform: translate(0%);
    /*opacity: 1;*/
    -webkit-transform: translate(0%);
    -moz-transform: translate(0%);
    -ms-transform: translate(0%);
    -o-transform: translate(0%);
  }
}
@keyframes desplazamiento-left {
  0% {
    transform: translate(-100%);
    /*opacity: 0;*/
    -webkit-transform: translate(-100%);
    -moz-transform: translate(-100%);
    -ms-transform: translate(-100%);
    -o-transform: translate(-100%);
  }
  50% {
    transform: translate(-50%);
    /*opacity: 0.5;*/
    -webkit-transform: translate(-50%);
    -moz-transform: translate(-50%);
    -ms-transform: translate(-50%);
    -o-transform: translate(-50%);
  }
  100% {
    transform: translate(0%);
    /*opacity: 1;*/
    -webkit-transform: translate(0%);
    -moz-transform: translate(0%);
    -ms-transform: translate(0%);
    -o-transform: translate(0%);
  }
}

/* desplazamiento sin opacidad y retorno */
.animation-top-style-opacity {
  animation: desplazamiento-top-opacity 0.8s linear forwards;
  -webkit-animation: desplazamiento-top-opacity 0.8s linear forwards;
}
.animation-right-style-opacity {
  animation: desplazamiento-right-opacity 0.8s linear forwards;
  -webkit-animation: desplazamiento-right-opacity 0.8s linear forwards;
}
.animation-bottom-style-opacity {
  animation: desplazamiento-bottom-opacity 0.8s linear forwards;
  -webkit-animation: desplazamiento-bottom-opacity 0.8s linear forwards;
}
.animation-left-style-opacity {
  animation: desplazamiento-left-opacity 0.8s linear forwards;
  -webkit-animation: desplazamiento-left-opacity 0.8s linear forwards;
}

@keyframes desplazamiento-top-opacity {
  0% {
    transform: translate(0, -100%);
    -webkit-transform: translate(0, -100%);
    -moz-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    -o-transform: translate(0, -100%);
  }
  100% {
    transform: translate(0%);
    -webkit-transform: translate(0%);
    -moz-transform: translate(0%);
    -ms-transform: translate(0%);
    -o-transform: translate(0%);
  }
}
@keyframes desplazamiento-right-opacity {
  0% {
    transform: scale(1.2) translate(6rem);
    -webkit-transform: scale(1.2) translate(6rem);
    -moz-transform: scale(1.2) translate(6rem);
    -ms-transform: scale(1.2) translate(6rem);
    -o-transform: scale(1.2) translate(6rem);
  }
  100% {
    transform: scale(1.2) translate(0%);
    -webkit-transform: scale(1.2) translate(0%);
    -moz-transform: scale(1.2) translate(0%);
    -ms-transform: scale(1.2) translate(0%);
    -o-transform: scale(1.2) translate(0%);
  }
}

@keyframes desplazamiento-bottom-opacity {
  0% {
    transform: translate(0, 100%);
    -webkit-transform: translate(0, 100%);
    -moz-transform: translate(0, 100%);
    -ms-transform: translate(0, 100%);
    -o-transform: translate(0, 100%);
  }
  100% {
    transform: translate(0%);
    -webkit-transform: translate(0%);
    -moz-transform: translate(0%);
    -ms-transform: translate(0%);
    -o-transform: translate(0%);
  }
}
@keyframes desplazamiento-left-opacity {
  0% {
    transform: scale(1.2) translate(-6rem);
    -webkit-transform: scale(1.2) translate(-6rem);
    -moz-transform: scale(1.2) translate(-6rem);
    -ms-transform: scale(1.2) translate(-6rem);
    -o-transform: scale(1.2) translate(-6rem);
  }

  100% {
    transform: scale(1.2) translate(0%);
    -webkit-transform: scale(1.2) translate(0%);
    -moz-transform: scale(1.2) translate(0%);
    -ms-transform: scale(1.2) translate(0%);
    -o-transform: scale(1.2) translate(0%);
  }
}

/* paralax en imagenes */
.img-paralax {
  animation: parallax 4s linear forwards;
  -webkit-animation: parallax 4s linear forwards;
}
@keyframes parallax {
  0% {
    object-position: 50% 50%;
  }
  50% {
    object-position: 50% 60%;
  }
  100% {
    object-position: 50% 70%;
  }
}
/* ************************************************************ */
