
.video-loading[data-v-5b74a4aa] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.iframe-container[data-v-5b74a4aa] {
  border: 2px solid black;
  background-color: black;
  position: relative;
  overflow: hidden;
  padding-top: 56.25%; /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */
  margin-bottom: 70px;
}

/* In presentation mode: fit within parent container while maintaining 16:9.
   Requires the parent to have container-type: size set. */
.iframe-container.presentation[data-v-5b74a4aa] {
  padding-top: 0;
  margin-bottom: 0;
  /* Pick dimensions that maintain 16:9 and fit within the parent container */
  width: min(100cqw, calc(100cqh * 16 / 9));
  height: min(100cqh, calc(100cqw * 9 / 16));
  margin: 0 auto;
}
.iframe-container.presentation .responsive-iframe[data-v-5b74a4aa] {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
}

/* Then style the iframe to fit in the container div with full height and width */
.responsive-iframe[data-v-5b74a4aa] {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.half-width[data-v-66f1a6b4] {
  width: 48%;
  display: inline-block;
  vertical-align: top;
  margin-right: 4%;
}
.half-width[data-v-66f1a6b4]:nth-child(2n) {
  margin-right: 0;
}

/* Phone: side-by-side sources become a single column. */
@media (max-width: 599px) {
.half-width[data-v-66f1a6b4] {
    width: 100%;
    display: block;
    margin-right: 0;
}
}
.drawing-caption[data-v-66f1a6b4] {
  font-size: 0.92rem;
  color: var(--v-theme-on-surface, #444);
  margin-top: 8px;
}

/* Presentation: center links and action buttons only (not text) */
.source-holder.presentation a[data-v-66f1a6b4] {
  display: inline-block;
  margin: 0.5rem auto;
}
.source-holder.presentation .button-source[data-v-66f1a6b4] {
  display: flex;
  justify-content: center;
}

/* Allow multiple button/link sources to sit on the same line in presentation */
.source-holder.presentation[data-v-66f1a6b4] {
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.6rem;
}

/* When zoom is active, break out to its own full-width line */
.source-holder.zoom-active[data-v-66f1a6b4] {
  display: block;
  width: 100%;
  margin-right: 0;
}

/* Container that holds grouped sources on a slide */
.slide-links-container.presentation[data-v-66f1a6b4] {
  margin-top: 1rem;
}

/* Ensure button label and append icon remain on a single line in
   presentation view (allow stretching rather than wrapping). */
.source-holder.presentation .button-source[data-v-66f1a6b4] .v-btn {
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.source-holder.presentation .button-source[data-v-66f1a6b4] .v-btn span,
.source-holder.presentation .button-source[data-v-66f1a6b4] .v-btn .v-icon {
  display: inline-block;
}
