/* Custom CSS */
.font-montserrat {
  font-family: 'Montserrat', sans-serif;
}
.font-poppins {
  font-family: 'Poppins', sans-serif;
}

.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
}

.bg-gradient-to-r.from-blue-600 {
  --tw-gradient-from: #2563eb;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(37, 99, 235, 0));
}

.bg-gradient-to-r.to-indigo-700 {
  --tw-gradient-to: #4338ca;
}

@keyframes slideInFromTop {
  0% {
      transform: translateY(-50px);
      opacity: 0;
  }
  100% {
      transform: translateY(0);
      opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
      opacity: 0;
  }
  100% {
      opacity: 1;
  }
}

.animate-slide-in {
  animation: slideInFromTop 1s ease-out;
}

.animate-fade-in {
  animation: fadeIn 1.5s ease-in;
}

.animate-bounce-in {
  animation: bounceIn 2s ease-in-out;
}

@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, 100% {
      transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
      opacity: 0;
      transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
      transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
      transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
      opacity: 1;
      transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
      transform: scale3d(0.97, 0.97, 0.97);
  }
  100% {
      opacity: 1;
      transform: scale3d(1, 1, 1);
  }
}