@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.custom-fade { animation: fadeIn 1s; }

/* Footer styling */
.reveal .footer {
  position: absolute;
  bottom: 0.5em;
  right: 1em;
  pointer-events: none;
  opacity: 0.3;
  font-size: 0.7em;
  z-index: 1000;
}

.reveal .footer a {
  color: rgba(49, 47, 47, 0.2);
  text-decoration: none;
  opacity: 0.3;
}

/* Base slide font size - FIXED the 90% reduction issue */
.reveal .slides section {
  font-size: 18px; /* Fixed size instead of percentage reduction */
}

/* Title styling */
.reveal h1, .reveal h2 {
  font-size: 1.8em; /* Slightly larger for better hierarchy */
}

/* List item styling - FIXED the conflicting sizes */
.reveal li {
  line-height: 1.1;
  font-size: 0.95em !important; /* Consistent size for all bullets */
  margin-bottom: 0.4em;
}

/* Nested list items */
.reveal ul ul li,
.reveal ol ol li {
  font-size: 0.9em !important; /* Slightly smaller for nested items */
}

/* Force white text on the title slide */
.slide.level1.center h1,
.slide.level1.center h5 {
  color: white !important;
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8) !important;
}

/* Alternative: Target by background image attribute */
section[data-background="images/f1_smaller_2.jpg "] h1,
section[data-background="images/f1_smaller_2.jpg "] h5{
  color: white !important;
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8) !important;
}

/* Ensure no other styles override title colors */
.reveal .slides section .center h1,
.reveal .slides section .center h5 {
  color: white !important;
}

/* Neat columns + image scaling */
.reveal .columns { gap: 2rem; align-items: center; }
.reveal .column img { max-height: 80vh; object-fit: contain; }

/* Ensure bullet markers show inside columns */
.reveal .slides ul { list-style: disc; padding-left: 1.2em; }
.reveal .slides ul ul { list-style: circle; }
.reveal .slides ol { list-style: decimal; padding-left: 1.2em; }

/* Stack helpers (optional but nice) */
.reveal .r-stack { position: relative; }
.reveal .r-stack > * { width: 100%; }

/* Show only the *current* fragment in a stack (others disappear) */
.reveal .r-stack .fragment { display: none; }
.reveal .r-stack .fragment.current-fragment { display: block; }
.reveal .r-stack .fragment.current-fragment { animation: fadeIn .35s ease; }


/* Make nested list items appear together with their parent L1 bullet */
.reveal .slides li.visible > ul li.fragment,
.reveal .slides li.current-fragment > ul li.fragment,
.reveal .slides li.visible > ol li.fragment,
.reveal .slides li.current-fragment > ol li.fragment {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important; /* cancel fragment transforms if any */
  transition: none !important;
}

table {
  font-size: 0.75em;
  width: auto;
  table-layout: auto;
  border-collapse: collapse;
  max-width: 100%;
  margin: 1em auto;
}

th, td {
  padding: 6px 10px;
}

.center-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  text-align: center;
}
