:root {
  --primary: #003366;
  --primary-dark: #011830;
  --primary-light: #00336697;
  --primary-light-1: #00336679;
  --secondary: #ffd700;
  --gray: #6b7280;
  --black: #111111;
  --red: #ff0000;
  --green: #00ff00;
  --yellow: #ffee00;
  --white: #ffffff;
}

/* Custom animation for the dashed border */
@keyframes spin-slow {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.animate-spin-slow {
  animation: spin-slow 20s linear infinite;
}

.gallery-item {
  transition: all 0.3s ease;
  overflow: hidden;
}

.gallery-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

.gallery-image {
  transition: transform 0.5s ease;
}

.gallery-item:hover .gallery-image {
  transform: scale(1.05);
}

.overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
  color: white;
  padding: 20px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.gallery-item:hover .overlay {
  opacity: 1;
}

.contact-form input:focus,
.contact-form textarea:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(0, 51, 102, 0.1);
}

.contact-card {
  transition: all 0.3s ease;
}

.contact-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
}

.map-container iframe {
  border-radius: 12px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.glowing-box-shadow {
  box-shadow: 0 0 10px rgba(0, 255, 0, 0.4), 0 0 20px rgba(0, 255, 0, 0.2);
}

/* Base styles for the cards and their hover effects */
.card-container {
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  will-change: transform;
}

.card-container:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

/* Animate the button inside the card on hover */
.card-container:hover .enroll-button {
  transform: scale(1.05);
}

.view-all-button {
  transition: transform 0.3s ease-in-out, background-color 0.3s ease-in-out,
    color 0.3s ease-in-out;
}

.view-all-button:hover {
  transform: translateY(-2px);
}

/* Card animation */
.card-animate {
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
  will-change: transform;
}

.card-animate:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

/* Marquee animation */
.marquee-container {
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
}

.marquee-content {
  display: flex; /* Change to flex */
  animation: marquee 25s linear infinite;
}

.marquee-content:hover {
  animation-play-state: paused;
}

@keyframes marquee {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(
      -50%
    ); /* Changed to move exactly half the content length */
  }
}

/* Keyframes for logo spin on hover */
.logo-spin-hover:hover {
  animation: spin 0.8s ease-in-out;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.animate-scroll {
  animation: scroll 20s linear infinite;
  width: max-content;
}
