/* Make the viewport height predictable on mobile */
.reveal-viewport { height: 100dvh; }

/* Shrink the Reveal stage by header+footer and push it down/up */
.reveal {
  box-sizing: border-box;
  margin-top: var(--reveal-header-height) !important;
  margin-bottom: var(--reveal-footer-height) !important;
  height: calc(100dvh - var(--reveal-header-height) - var(--reveal-footer-height));
}

/* Let slides consume the stage height so Reveal can scale properly */
.reveal .slides { 
  height: 100%;
}

.reveal .slides section:not(.stack) {
  box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
}

/* Overview/print should ignore the offsets */
.reveal.overview,
.reveal.overview .slides {
  height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
@media print {
  .reveal { padding-top: 0 !important; padding-bottom: 0 !important; height: auto !important; }
  .reveal .slides { height: auto !important; width: auto !important; }
}
