/* Move RevealJS footer to the top to free up space for captions at bottom */

/* Move RevealJS footer to the top to free up space for captions at bottom */

.reveal .footer,
.reveal .reveal-footer,
.reveal footer,
.reveal-footer,
footer.footer,
.footer-default {
  position: fixed !important;
  top: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: auto !important;
  padding: 8px 20px !important;
  background: transparent !important;
  color: #2c3e50 !important;
  font-size: 14px !important;
  text-align: center !important;
  z-index: 999 !important;
  border-bottom: none !important;
}

/* Adjust the main presentation container - reduce margin since no background bar */
.reveal .slides {
  margin-top: 25px !important;
}

/* Remove any existing borders from headings and other elements that might come from RevealJS theme */
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6,
.reveal .slides section h1,
.reveal .slides section h2,
.reveal .slides section h3,
.reveal .slides section h4,
.reveal .slides section h5,
.reveal .slides section h6,
.reveal section,
.reveal .slides section,
.reveal .slide,
.reveal .slides {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* Aggressive removal of any dashed borders */
.reveal * {
  border-style: solid !important;
}

.reveal *[style*="border"],
.reveal *[style*="dashed"] {
  border: none !important;
}

/* Override any dashed border that might exist */
.reveal h2::after,
.reveal h2::before,
.reveal .slides section h2::after,
.reveal .slides section h2::before {
  display: none !important;
  content: none !important;
  border: none !important;
}

/* Force removal of any element with dashed borders */
.reveal .slides section:not(.has-dark-background):not(.has-light-background) h2 {
  border-top: none !important;
  border-bottom: none !important;
}

/* Remove dashed lines that might be added by default theme */
.reveal .slides section h2,
.reveal .slides section h3 {
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}



/* Ensure footer text is visible and properly styled */
.reveal .footer p,
.reveal .reveal-footer p,
.reveal footer p,
.reveal-footer p,
footer.footer p,
.footer-default p {
  margin: 0 !important;
  padding: 0 !important;
  color: #2c3e50 !important;
}

/* Dark mode footer text styling */
html.dark-theme .reveal .footer p,
html.dark-theme .reveal .reveal-footer p,
html.dark-theme .reveal footer p,
html.dark-theme .reveal-footer p,
html.dark-theme footer.footer p,
html.dark-theme .footer-default p {
  color: white !important;
}

/* Style hyperlinks in the footer */
.reveal .footer a,
.reveal .reveal-footer a,
.reveal footer a,
.reveal-footer a,
footer.footer a,
.footer-default a {
  color: #007bff !important;
  text-decoration: underline !important;
}

/* Dark mode footer links styling */
html.dark-theme .reveal .footer a,
html.dark-theme .reveal .reveal-footer a,
html.dark-theme .reveal footer a,
html.dark-theme .reveal-footer a,
html.dark-theme footer.footer a,
html.dark-theme .footer-default a {
  color: #9ecbff !important;
  text-decoration: underline !important;
}

.reveal .footer a:hover,
.reveal .reveal-footer a:hover,
.reveal footer a:hover,
.reveal-footer a:hover,
footer.footer a:hover,
.footer-default a:hover {
  color: #0056b3 !important;
  text-decoration: underline !important;
}

/* Dark mode footer links hover styling */
html.dark-theme .reveal .footer a:hover,
html.dark-theme .reveal .reveal-footer a:hover,
html.dark-theme .reveal footer a:hover,
html.dark-theme .reveal-footer a:hover,
html.dark-theme footer.footer a:hover,
html.dark-theme .footer-default a:hover {
  color: #bdd7ff !important;
  text-decoration: underline !important;
}

/* Responsive adjustments */
@media screen and (max-width: 800px) {
  .reveal .footer,
  .reveal .reveal-footer,
  .reveal footer,
  .reveal-footer,
  footer.footer,
  .footer-default {
    font-size: 12px !important;
    padding: 6px 15px !important;
  }
  
  .reveal .slides {
    margin-top: 25px !important;
  }
}