.v-center-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 90%;
}

/* Works in most modern browsers */
html, body, .reveal .slides section {
  overflow: auto;             /* allow scrolling if needed */
  scrollbar-width: none;      /* Firefox */
  -ms-overflow-style: none;   /* IE/Edge */
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
.reveal .slides section::-webkit-scrollbar {
  display: none;              /* Chrome, Safari, Opera */
}



.hub-link {
  position: absolute !important;
  bottom: 10px !important;
  left: 10px !important;
  font-size: 0.5em !important;
  z-index: 1000 !important;
  background: rgba(0,0,0,0.8) !important;
  padding: 5px 10px !important;
  border-radius: 5px !important;
  color: white !important;
}

.reveal .slides section h2 {
  text-align: center !important;
  display: block !important;
  width: 100% !important;
}

/* Static checklist bullets (no emoji / no icon packs) */
.reveal ul.checklist,
.reveal .checklist ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.reveal ul.checklist li,
.reveal .checklist ul li {
  position: relative;
  padding-left: 1.6em;
  margin: .35em 0;
}

.reveal ul.checklist li::before,
.reveal .checklist ul li::before {
  content: "✔";            /* text glyph, consistent everywhere */
  position: absolute;
  left: 0;
  top: .15em;
  font-weight: 700;
  font-size: 1.1em;
  color: #28c76f;
}

.slide-caption {
  position: absolute;
  bottom: 8vh;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 0.85em;
}

/* Background image for title + any slide with .with-bg */
.reveal .slides section.title-slide::before,
.reveal .slides section.with-bg::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("background.jpeg");
  background-size: cover;       /* fill the entire screen */
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0.85;                /* tweak visibility so text stays readable */
  z-index: -1;
}

.reveal .slides .column div.fragment {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

/* make column contents vertically centered */
.reveal .columns .column.v-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

