/* Module Entrance Animations */

/* Fade In Animation */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Slide In Animation */
@keyframes slideIn {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* Slide In Left */
@keyframes slideInLeft {
  from {
    transform: translateX(-20px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Slide In Right */
@keyframes slideInRight {
  from {
    transform: translateX(20px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Zoom In Animation */
@keyframes zoomIn {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* Light Speed Animation */
@keyframes lightSpeedIn {
  from {
    transform: translateX(100%) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: translateX(-20%) skewX(30deg);
    opacity: 1;
  }
  80% {
    transform: translateX(0) skewX(-15deg);
    opacity: 1;
  }
  to {
    transform: translateX(0) skewX(0deg);
    opacity: 1;
  }
}

/* Module Animation Classes */
.animate-fadeIn {
  animation: fadeIn 0.6s ease-out;
}

.animate-slideIn {
  animation: slideIn 0.6s ease-out;
}

.animate-slideInLeft {
  animation: slideInLeft 0.6s ease-out;
}

.animate-slideInRight {
  animation: slideInRight 0.6s ease-out;
}

.animate-zoomIn {
  animation: zoomIn 0.6s ease-out;
}

.animate-lightSpeedIn {
  animation: lightSpeedIn 0.8s ease-out;
}

/* Staggered Animation Helper */
.stagger-container > * {
  opacity: 0;
}

.stagger-container.animate-stagger > *:nth-child(1) { animation-delay: 0.1s; }
.stagger-container.animate-stagger > *:nth-child(2) { animation-delay: 0.2s; }
.stagger-container.animate-stagger > *:nth-child(3) { animation-delay: 0.3s; }
.stagger-container.animate-stagger > *:nth-child(4) { animation-delay: 0.4s; }
.stagger-container.animate-stagger > *:nth-child(5) { animation-delay: 0.5s; }
.stagger-container.animate-stagger > *:nth-child(6) { animation-delay: 0.6s; }
.stagger-container.animate-stagger > *:nth-child(7) { animation-delay: 0.7s; }
.stagger-container.animate-stagger > *:nth-child(8) { animation-delay: 0.8s; }

/* Add animation to specific module elements */
.chair-item {
  opacity: 1;
}

.chair .container1.animate-stagger .chair-item:nth-child(1) {
  animation: slideIn 0.6s ease-out forwards;
  animation-delay: 0.1s;
}

.chair .container1.animate-stagger .chair-item:nth-child(2) {
  animation: slideIn 0.6s ease-out forwards;
  animation-delay: 0.2s;
}

.chair .container1.animate-stagger .chair-item:nth-child(3) {
  animation: slideIn 0.6s ease-out forwards;
  animation-delay: 0.3s;
}

.chair .container1.animate-stagger .chair-item:nth-child(4) {
  animation: slideIn 0.6s ease-out forwards;
  animation-delay: 0.4s;
}

.chair .container1.animate-stagger .chair-item:nth-child(5) {
  animation: slideIn 0.6s ease-out forwards;
  animation-delay: 0.5s;
}

.chair .container1.animate-stagger .chair-item:nth-child(6) {
  animation: slideIn 0.6s ease-out forwards;
  animation-delay: 0.6s;
}

/* Organ/Photos items staggered animation */
.organ-item {
  opacity: 0;
}

.organ .organ-content.animate-stagger .organ-item:nth-child(1) {
  animation: slideInLeft 0.6s ease-out forwards;
  animation-delay: 0.1s;
}

.organ .organ-content.animate-stagger .organ-item:nth-child(2) {
  animation: slideInLeft 0.6s ease-out forwards;
  animation-delay: 0.2s;
}

.organ .organ-content.animate-stagger .organ-item:nth-child(3) {
  animation: slideInLeft 0.6s ease-out forwards;
  animation-delay: 0.3s;
}

.organ .organ-content.animate-stagger .organ-item:nth-child(4) {
  animation: slideInLeft 0.6s ease-out forwards;
  animation-delay: 0.4s;
}

.organ .organ-content.animate-stagger .organ-item:nth-child(5) {
  animation: slideInLeft 0.6s ease-out forwards;
  animation-delay: 0.5s;
}

.organ .organ-content.animate-stagger .organ-item:nth-child(6) {
  animation: slideInLeft 0.6s ease-out forwards;
  animation-delay: 0.6s;
}

.clock.animate-stagger {
  animation: zoomIn 0.8s ease-out forwards;
}

.text-box.animate-stagger {
  animation: slideInLeft 0.6s ease-out forwards;
}

.imgBox.animate-stagger {
  animation: slideInRight 0.6s ease-out forwards;
}

/* Hover effect animation */
.hover-animate {
  transition: all 0.3s ease;
}

.hover-animate:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0, 75, 136, 0.3);
}

/* Chair items hover effect */
.chair-item {
  transition: all 0.3s ease;
}

.chair-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 25px rgba(0, 75, 136, 0.2);
}