@keyframes wiggle {
  to {
    transform: translateY(10px);
  }
}

@keyframes shake {
  to {
    transform: rotate(-2deg);
  }
}

@keyframes wiggle5 {
  to {
    transform: translateY(5px);
  }
}

@keyframes shake15 {
  to {
    transform: rotate(15deg);
  }
}

@keyframes shake25 {
  to {
    transform: rotate(25deg);
  }
}

@keyframes blink {
  to {
    opacity: 50%;
  }
}

@keyframes rainbow {
  0% {
    color: rgb(228, 34, 83);
  }
  15% {
    color: rgb(230, 120, 30);
  }
  30% {
    color: rgb(235, 186, 54);
  }
  45% {
    color: rgb(72, 153, 65);
  }
  60% {
    color: rgb(98, 158, 238);
  }
  75% {
    color: rgb(44, 99, 218);
  }
  100% {
    color: rgb(133, 82, 180);
  }
}

.wiggle {
  animation: wiggle 1.5s alternate infinite ease-in-out;
}

.wiggle5 {
  animation: wiggle5 1.5s alternate infinite ease-in-out;
}

.shake {
  animation: shake 1.5s alternate infinite ease-in-out;
}

.shake15 {
  animation: shake15 0.5s alternate infinite ease-in-out;
}

.shake25 {
  animation: shake25 0.5s alternate infinite ease-in-out;
}

.blink {
  animation: blink 0.5s alternate infinite ease-in-out;
}

.rainbow {
  animation: rainbow 1.5s infinite ease;
}

.hide {
  opacity: 0;
  transform: translateY(-10px);
  transition: none;
}

.reveal {
  opacity: 100%;
  transform: unset;
}
