/* FILE: style.css */
/* RESPONSIBILITY: Custom CSS, Keyframes, Animations */

@layer base {
  body {
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  }
}

/* Marquee Animation for Ticker */
@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

.animate-marquee {
  display: flex;
  width: max-content;
  animation: marquee 28s linear infinite;
}

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

/* Fixes for inputs ignoring hidden */
.hidden {
  display: none !important;
}

/* Custom fade/slide animations normally provided by tailwind-animate */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes slideInFromBottom {
  from { transform: translateY(1.25rem); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@keyframes slideInFromRight {
  from { transform: translateX(100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

.animate-in.fade-in {
  animation: fadeIn 0.2s ease-out forwards;
}

.animate-in.slide-in-from-bottom-5 {
  animation: slideInFromBottom 0.3s ease-out forwards, fadeIn 0.3s ease-out forwards;
}

.animate-in.slide-in-from-right {
  animation: slideInFromRight 0.3s ease-out forwards;
}

/* Utilities for modal scrolling */
body.modal-open {
  overflow: hidden;
}

/* Ticker hide fix on small devices if necessary */
@media (max-width: 640px) {
  .xs\:block {
    display: block;
  }
}
