/* css styles */
mark {
    background-color: transparent; /* #e6e6e6; */
    font-weight: 600;
    color: #595959;
}

.slide-container {
  margin: 2rem 0;
}

.slide-links {
  text-align: right;
  margin-top: 0.5rem;
  font-size: 0.9rem;
}

/* Responsive logo sizing */
.reveal .slide-logo {
  width: min(200px, 20vw) !important;
  height: auto !important;
  max-width: unset !important;
  max-height: unset !important;
}

.slide-instructions {
  font-size: 0.85rem;
  margin-top: 0.5rem;
  color: #666;
}

.slide-links a {
  text-decoration: none;
  padding: 3px 8px;
  border-radius: 4px;
}

.slide-links a:hover {
  background-color: #f5f5f5;
}

.lecture-links {
  margin: 1.5rem 0;
}

.lecture-links a {
  display: inline-block;
  margin-right: 1.5rem;
  margin-bottom: 0.5rem;
  font-weight: 500;
}

/* text colours */
.green-text {
  color: #228B22;
}

/* icons */
.lecture-icon {
  font-size: 36px;
  vertical-align: middle;
  color: #228B22;
  margin-right: 10px;
}

/* aesthetics that target the title slide specifically */
.reveal h1.title {
  font-size: 40pt !important;
  line-height: 1.2 !important;
  margin-bottom: 0.5em !important;
}

/* For subtitle consistency */
.reveal .subtitle {
  color: #2f73a3 !important;
  font-size: 24pt !important;
  line-height: 1.3 !important;
  margin-top: 0.3em !important;
}

/* NEW IMAGE STANDARDIZATION CLASSES */

/* Text size control classes */
.text-smaller {
  font-size: 0.9em;
}

.text-larger {
  font-size: 1.1em;
}

.text-small {
  font-size: 0.75em;
}

.text-large {
  font-size: 1.25em;
}

.no-wrap {
  white-space: nowrap;
}

/* Standard image sizes */
.img-small {
  max-width: 150px;
  height: auto;
}

.img-medium {
  max-width: 300px;
  height: auto;
}

.img-large {
  max-width: 450px;
  height: auto;
}

.img-v-large {
  max-width: 800px;
  height: auto;
}

.img-full {
  max-width: 100%;
  height: auto;
}

/* Fixed-height options */
.img-height-200 {
  height: 200px;
  width: auto;
}

.img-height-300 {
  height: 300px;
  width: auto;
}

/* Figure container with optional caption */
.figure-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.figure-caption {
  font-size: 0.8em;
  font-style: italic;
  text-align: center;
}

/* Vertical alignment helpers */
.img-center-v {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.img-top-v {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  height: 100%;
}

.img-bottom-v {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 100%;
}

/* Image positioning helpers */
.img-right {
  margin-left: auto;
}

.img-left {
  margin-right: auto;
}

.img-center {
  margin-left: auto;
  margin-right: auto;
}

.img-top {
  vertical-align: top;
  margin-bottom: auto;
}

.img-bottom {
  vertical-align: bottom;
  margin-top: auto;
}

/* Slide layouts */

/* Two-column layouts */
.layout-50-50 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.layout-40-60 {
  display: grid;
  grid-template-columns: 40% 60%;
  gap: 1rem;
}

.layout-60-40 {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 1rem;
}

/* Three-column layouts */
.layout-33-33-33 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
}

/* Semi-transparent overlays for text readability on image backgrounds */
.slide-background-image-overlay-light {
  background-color: rgba(255, 255, 255, 0.7);
  padding: 1rem;
  border-radius: 5px;
}

.slide-background-image-overlay-dark {
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 1rem;
  border-radius: 5px;
}

/* Citation footer */
.citation-footer {
  position: absolute;
  bottom: 10px;
  left: 20px;         /* Changed from 'right' to 'left' */
  font-size: 0.6em;
  color: #666666;
  opacity: 0.8;
  z-index: 10;
  text-align: left;   /* Explicitly set text alignment */
}

/* Add a hover effect to make it more visible when needed */
.citation-footer:hover {
  opacity: 1;
}

.experiment-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin: 15px 0;
}