body {
  font-family: 'Arial', sans-serif;
  margin: 0;
  padding: 0;
  background-color: #f4f4f4;
  color: #333;
  line-height: 1.6;
  font-size: 0.9em; /* Base font size */
}

.hidden {
  display: none;
}

/*  BEGIN SETTINGS SCREEN */
.settings-icon {
  position: fixed;
  top: 10px;
  right: 10px;
  cursor: pointer;
  padding: 1em;
  z-index: 1001;
}
.settings-icon img {
  width: 30px;
  height: 30px;
}
.settings-screen {
  display: none;
  position: fixed;
  overflow: auto;
  top: 0;
  right: 0;
  width: 300px;
  height: 100%;
  background-color: white;
  box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
  padding: 20px;
  padding-bottom: 2em; /* 20px converted to em */
  z-index: 1000;
}

.settings-screen .settings-field {
  width: 100%;
  margin-bottom: 10px;
}
/*  END SETTINGS SCREEN */

/* BEGIN IMAGE UPLOAD */
.settings-screen .drop-zone {
  border: 2px dashed #ccc;
  padding: 20px;
  text-align: center;
  cursor: pointer;
  font-size: 0.5em;
}
.settings-screen .drop-zone.drag-over {
  border-color: #000;
}
.settings-screen .image-thumbnails {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 2em;
}
.settings-screen .thumbnail {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
.settings-screen .thumbnail img {
  max-width: 100px;
  max-height: 100px;
  object-fit: cover;
}
.settings-screen .delete-button {
  display: none;
  position: absolute;
  margin: 0 auto;
}
.settings-screen .caption-input {
  width: 100px;
  padding: 5px;
}
/* END IMAGE UPLOAD */

.container {
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.subtitles-container {
  display: none;
}

/* 
.subtitles-container {
  display: none;
  position: fixed;
  bottom: 0px;
  left: 0px;
  right: 0px;
  background-color: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 0 0.3125em 0 0.3125em;
  font-size: 2.25em;
  text-align: center;
  overflow: scroll;
  height: 7.5em;
  line-height: 7.5em;
  max-height: 7.5em;
}

.subtitles-text {
  display: inline-block;
  margin: 0;
  padding: 0;
} */

/* 
header {
  display: none;
}

header h1 {
  font-size: 2.5em;
  font-weight: bold;
  margin: 0;
  text-align: center;
  color: #444;
}

header p.byline {
  text-align: center;
  font-size: 1.2em; 
  font-style: italic;
  color: #666;
} */

.slides {
  /* margin: 30px; */
  /* border: 0.3125em solid #c0c0c0; */
  /* border-radius: 0.625em; */
  padding: 2em;
}

.slide {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin: 2em;
  padding: 2em;
  width: 80vw; /* Full viewport width */
  height: 80vh; /* Full viewport height */
  /* box-shadow: 0 0 2em rgba(0, 0, 0, 0.2); */
}
.slide.start {
  text-align: center;
}
.slide.start .slide-text {
  text-align: center;
}

.slide-text,
.slide-image {
  flex: 1 1 50%; /* Take up 50% of the horizontal space */
  box-sizing: border-box;
  padding: 0 1em 0 1em; /* 10px converted to em */
}

.slide-text {
  text-align: left;
}

.slide-image {
  text-align: center;
}

.slide-image img {
  max-width: 100%;
  height: auto;
  border-radius: 0.625em; /* 10px converted to em */
  box-shadow: 0 0 1.25em rgba(0, 0, 0, 0.2); /* 20px converted to em */
  object-fit: fill; /* alternatives: contain, fill */
}

/** END SLIDE VARIATIONS **/

/* Variation 1: .slide-text to the left of .slide-image */
.slide.image-right .slide-text {
  order: 1;
  /* text-align: left; */
}
.slide.image-right .slide-image {
  order: 2;
  /* text-align: center; */
}

/* Variation 2: .slide-text to the right of .slide-image */
.slide.image-left .slide-text {
  order: 2;
  /* text-align: left; */
}
.slide.image-left .slide-image {
  order: 1;
  /* text-align: center; */
}

/* Variation 3: .slide-image full screen behind .slide-text */
.slide.image-behind {
  position: relative;
}
.slide.image-behind .slide-image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.slide.image-behind .slide-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.5; /* Adjust transparency as needed */
  object-fit: fill; /* alternatives: contain, cover */
}
.slide.image-behind .slide-text {
  position: relative;
  z-index: 1;
  text-align: center;
  font-weight: bold;
  width: 100%;
  color: white; /* Ensure text is readable */
}
.slide.image-behind .slide-text ul {
  display: none;
}
/** END SLIDE VARIATIONS **/

.controls {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100vw;
  padding-bottom: 1.25em; /* 20px converted to em */
  text-align: center;
}
.controls button {
  background-color: #c0c0c0;
  color: white;
  border: none;
  padding: 0.625em 1.25em; /* 10px converted to em */
  font-size: 1.5em; /* 1.2rem remains the same */
  cursor: pointer;
  border-radius: 0.3125em; /* 5px converted to em */
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 1.25em 0; /* 20px converted to em */
  font-weight: 300;
  color: #222;
}

h1 {
  font-size: 4em; /* 3rem remains the same */
  margin: 0;
}

h2 {
  font-size: 3.5em; /* 2.5rem remains the same */
  margin: 0;
}

p {
  margin: 0 0 1.25em 0; /* 20px converted to em */
  font-size: 2.2em; /* 1.2rem remains the same */
}

ul,
ol {
  margin: 0 0 1.25em 1.25em; /* 20px converted to em */
  padding: 0;
  list-style-type: none;
}
li {
  margin: 0 0 0.225em 0; /* 10px converted to em */
  font-size: 1.5em; /* 1.1rem remains the same */
  position: relative;
  padding-left: 1.5em; /* Add space for the icon */
}

li::before {
  content: '★'; /* Decorative icon */
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2em; /* Adjust icon size */
  color: #007bff; /* Icon color */
}

a {
  color: #007bff;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/** Print styles **/

@media (max-width: 768px) {
  .slide {
    margin: 0; /* Remove margin for mobile */
    padding: 0.5em; /* Adjust padding for mobile */
    width: 90vw; /* Full viewport width */
  }
  body {
    font-size: 0.7em; /* Reduce base font size for mobile */
  }

  h1 {
    font-size: 2em; /* Adjust heading size for mobile */
  }

  h2 {
    font-size: 1.75em; /* Adjust heading size for mobile */
  }

  p,
  li {
    font-size: 1.2em; /* Adjust paragraph and list item size for mobile */
  }

  .controls button {
    font-size: 1em; /* Adjust button font size for mobile */
  }
}

@media print {
  body {
    font-size: 0.7em; /* Reduce font size for print */
  }

  h1 {
    font-size: 2.5em; /* Adjust heading size for print */
  }

  h2 {
    font-size: 2em; /* Adjust heading size for print */
  }

  p,
  li {
    font-size: 1em; /* Adjust paragraph and list item size for print */
  }

  .slide {
    box-shadow: none; /* Remove box shadow for print */
    margin: 0;
    padding: 1em; /* Adjust padding for print */
    width: 100%; /* Full width for print */
    height: auto;
  }
  .settings-icon,
  .settings-screen {
    display: none; /* Hide settings screen in print */
  }

  a {
    color: black; /* Ensure links are readable in print */
    text-decoration: underline; /* Add underline for links in print */
  }
}
