body {
  font-family: "Times New Roman", Times, serif;
}

.custom-swiper-btn {
  @apply absolute top-1/2 -translate-y-1/2 z-10 flex items-center justify-center 
  w-10 h-10 rounded-full bg-white border-2 border-main text-main 
  shadow-md transition hover:bg-main hover:text-white;
}

.swiper-button-prev {
  left: 0.75rem;
}
.swiper-button-next {
  right: 0.75rem;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  display: none !important;
}

.custom-swiper-btn svg {
  width: 20px;
  height: 20px;
}

#page-loading {
  transition: opacity 0.3s ease-in-out;
}

@keyframes slide {
  0% {
    transform: translateX(-100%);
  }
  50% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}

@keyframes heroFade {
  0% {
    opacity: 0;
    transform: translateY(24px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-hero-fade {
  animation: heroFade 0.8s forwards;
}

@keyframes pulseSlow {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.3);
    opacity: 1;
  }
}

.animate-pulse-slow {
  animation: pulseSlow 1.5s ease-in-out infinite;
}

.delay-100 {
  animation-delay: 0.1s;
}
.delay-200 {
  animation-delay: 0.2s;
}
.delay-300 {
  animation-delay: 0.3s;
}
.delay-400 {
  animation-delay: 0.4s;
}
.delay-500 {
  animation-delay: 0.5s;
}
.delay-600 {
  animation-delay: 0.6s;
}
.delay-700 {
  animation-delay: 0.7s;
}

#modal-content {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fade-in-up 0.6s ease-out both;
}
