.deensimc-zoom-in,
.deensimc-zoom-out,
.deensimc-lift,
.deensimc-rotate,
.deensimc-tilt {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

/* zoom  */
.deensimc-zoom-in:hover {
  transform: scale(1.05);
}
.deensimc-zoom-out:hover {
  transform: scale(0.95);
}

/* Lift  */
.deensimc-lift:hover {
  transform: translateY(-10px);
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2);
}

/* Rotate  */
.deensimc-rotate:hover {
  transform: rotateZ(2deg) scale(1.03);
}

/* Tilt  */
.deensimc-tilt:hover {
  transform: skewX(-3deg);
  box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2);
}

/* Spring pop  */
.deensimc-spring-pop:hover {
  animation: springPop 0.8s ease-out both;
}

/* Springy rotation  */
.deensimc-spring-flip:hover {
  animation: flipSpring 0.7s ease-out;
  transform-style: preserve-3d;
}

/* bounceDrop */
.deensimc-bounce:hover {
  animation: bounce 0.7s linear;
}

@keyframes springPop {
  0% {
    transform: scale(1);
  }

  12% {
    transform: scale(1.05);
  }
  24% {
    transform: scale(0.96);
  }

  36% {
    transform: scale(1.03);
  }
  48% {
    transform: scale(0.98);
  }

  60% {
    transform: scale(1.01);
  }
  72% {
    transform: scale(0.99);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes flipSpring {
  0% {
    transform: rotateY(0);
  }
  50% {
    transform: rotateY(20deg);
  }
  70% {
    transform: rotateY(-10deg);
  }
  100% {
    transform: rotateY(0);
  }
}

@keyframes bounce {
  0% {
    transform: translateY(0);
  }
  20% {
    transform: translateY(-12px);
  }
  35% {
    transform: translateY(0);
  }
  55% {
    transform: translateY(-6px);
  }
  70% {
    transform: translateY(0);
  }
  85% {
    transform: translateY(-3px);
  }
  100% {
    transform: translateY(0);
  }
}
