/* Reset specific for flat design crispness */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.material-symbols-outlined {
  vertical-align: middle;
  font-variation-settings:
  'FILL' 1,
  'wght' 400,
  'GRAD' 0,
  'opsz' 24
}

/* Global styles for Animations */
html {
  scroll-behavior: smooth;
}
@keyframes marquee {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-100%); }
}
@keyframes marquee2 {
  0% { transform: translateX(100%); }
  100% { transform: translateX(0%); }
}
@keyframes marquee-reverse {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(0%); }
}
@keyframes marquee-reverse2 {
  0% { transform: translateX(0%); }
  100% { transform: translateX(100%); }
}
.animate-marquee {
  animation: marquee 30s linear infinite;
}
.animate-marquee2 {
  animation: marquee2 30s linear infinite;
}
.animate-marquee-reverse {
  animation: marquee-reverse 30s linear infinite;
}
.animate-marquee-reverse2 {
  animation: marquee-reverse2 30s linear infinite;
}

/* Badge Animations */
@keyframes blink-soft {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}
.animate-blink-soft {
  animation: blink-soft 2s ease-in-out infinite;
}

@keyframes blink-colors {
  0%, 100% { background-color: #E3FF00; color: #000000; }
  50% { background-color: #000000; color: #E3FF00; }
}
.animate-blink-colors {
  animation: blink-colors 1.5s steps(1) infinite;
}

/* Fade In Animation */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fadeIn {
  animation: fadeIn 0.3s ease-out forwards;
}

/* Index Page Specific Styles */
.highlight-word {
    display: inline-block;
    position: relative;
    z-index: 0;
}

.highlight-word:before {
    content: '';
    background: url(../images/highlight-word.png) no-repeat center center;
    background-size: 100% auto;
    width: 108%;
    height: 100%;
    margin-top: 13px;
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    transform: translate(-3%, 0);
}

@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
  100% { transform: translateY(0px); }
}
.animate-float-slow { animation: float 6s ease-in-out infinite; }
.animate-float-medium { animation: float 4s ease-in-out infinite; }
.animate-float-fast { animation: float 3s ease-in-out infinite; }

/* Page Specific Animations */
@keyframes curtainSlide {
  0% { transform: translateY(0%); }
  100% { transform: translateY(-100%); }
}
.animate-curtain {
  animation: curtainSlide 1.2s cubic-bezier(0.77, 0, 0.175, 1) forwards;
  animation-delay: 0.5s;
}

@keyframes fillGauge {
  from { stroke-dasharray: 0 100; }
}
.gauge-animate {
  animation: fillGauge 1s ease-out forwards;
}

@keyframes progressFill {
  from { width: 0%; }
}
.animate-progress {
  animation: progressFill 1s ease-out forwards;
}
