/* Animations for Oriana's Sheep Themed Birthday Invitation */

@keyframes floatSlow {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-12px) rotate(1.5deg);
  }
}

@keyframes floatReverse {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(10px) rotate(-1.5deg);
  }
}

@keyframes gentlePulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.04);
  }
}

@keyframes cloudDrift {
  0% {
    transform: translateX(-15%);
  }
  50% {
    transform: translateX(15%);
  }
  100% {
    transform: translateX(-15%);
  }
}

@keyframes balloonSway {
  0%, 100% {
    transform: translateY(0) rotate(-3deg);
  }
  50% {
    transform: translateY(-18px) rotate(3deg);
  }
}

@keyframes bounceSoft {
  0%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-8px);
  }
  60% {
    transform: translateY(-3px);
  }
}

@keyframes twinkle {
  0%, 100% {
    opacity: 0.3;
    transform: scale(0.8) rotate(0deg);
  }
  50% {
    opacity: 1;
    transform: scale(1.15) rotate(15deg);
  }
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

@keyframes spinSlow {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.anim-float {
  animation: floatSlow 5s ease-in-out infinite;
}

.anim-float-rev {
  animation: floatReverse 6s ease-in-out infinite;
}

.anim-pulse {
  animation: gentlePulse 2.8s ease-in-out infinite;
}

.anim-balloon {
  animation: balloonSway 6s ease-in-out infinite;
}

.anim-bounce {
  animation: bounceSoft 2.5s ease-in-out infinite;
}

.anim-twinkle {
  animation: twinkle 3s ease-in-out infinite;
}

.anim-spin-slow {
  animation: spinSlow 20s linear infinite;
}
