/* Smooth scale + fade animations for images */
.image-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 columns */
  grid-auto-rows: 1fr;                   
  grid-gap: 1px 1px;  
  justify-items: center;
  align-items: center;
  width: 100%;
  max-width: 100vw;
  margin: 0 auto;
  position: relative;
}


/* Other images: hidden at start */
.fade-in {
  opacity: 0;
  transition: opacity 0.8s ease;
}


/* SVG highlight lines */
.highlight-line {
  position: absolute;
  fill: none;
  stroke-width: 4px;
  stroke-dasharray: 1200;     /* large number to cover perimeter */
  stroke-dashoffset: 1200;    /* initially hidden */
  transition: stroke-dashoffset 2s linear;
}

/* Animate line when fragment becomes visible */
.highlight-line.fragment.visible {
  stroke-dashoffset: 0;
}

.reveal .footer {
  text-align: left !important;  /* align text left */
  left: 11%;                   /* distance from left edge */
  bottom: 5%;                 /* distance from bottom */
  right: auto;                  /* unset default centering */
  position: absolute;           /* keep it fixed */
}

.reveal .slide-background.no-footer ~ .footer,
.reveal section.no-footer .footer {
  display: none !important;
}

/* Adjust slide number position */
/*.reveal .slide-number {
  right: 5% !important;  /* push it away from right edge */
  /*bottom: 7%;            /* distance from bottom */
  /*left: auto;              /* make sure left is not set */
/*}*/


.cover-slide h2,
.cover-slide p,
.cover-slide .slide-number-a,
.cover-slide .slide-number-b,
.cover-slide .slide-number-delimiter,
.cover-slide .footer a,
.cover-slide .progress span,
.cover-slide li::marker {
  color: transparent !important;
  opacity: 100% !important;
  transition: opacity 0s ease;
}


