.smaller {
  font-size: 0.7em;
}

.medium {
  font-size: 0.88em;
}

.big {
  font-size: 1.2em;
}

.huge {
  font-size: 1.4em;
}
.reveal .outline {
  background-color: #f3fff3;
  padding: 0.2em;
  outline-offset: 0em;
  border-radius: 10pt;
}

.reveal .outline.shadow {
  box-shadow: 5px 5px 15px 5px rgba(0, 0, 0, 0.5);
}

.reveal .rotato {
  writing-mode: vertical-rl;
}

.reveal .vert-center {
  display: grid;
  place-items: center;
}

[popup] {
  margin-right: -50%;
}

[popup="center-img"] {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
  background: #f3fff3f5;
  color: black;
  outline-offset: 0em;
  border-radius: 10pt;
  outline: 0.2em solid var(--primary-color);
}

[popup="center-img-up"] {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-23deg) scale(1);
  transform-origin: center;
  background: #f3fff3f5;
  color: black;
  outline-offset: 0em;
  border-radius: 10pt;
  outline: 0.2em solid var(--primary-color);
}

/* A centered box that is also tilted down. */
[popup="center-img-down"] {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(23deg) scale(1);
  transform-origin: center;
  background: #f3fff3f5;
  color: black;
  outline-offset: 0em;
  border-radius: 10pt;
  outline: 0.2em solid var(--primary-color);
}

.comp-center {
  display: flex;
  align-items: center;
  justify-content: center;
  transform-origin: center;
}

hr {
  border-color: var(--primary-color);
  border-style: solid;
  border-width: 0.05em;
  border-radius: 0.1em;
  margin-block-start: 0.3em;
  margin-block-end: 0.3em;
}

.ultra-huge {
  font-size: 3em;
}

.reveal
  .slides
  section
  .stack
  .fragment.visible:not(.current-fragment):last-of-type {
  visibility: visible;
}

/* Show bounds of slides (only temporary) */
/* .reveal .slides {
  border-width: 1px;
  border-style: dotted;
} */

.reveal .hide {
  visibility: hidden;
}

.reveal .overlay.stack:has(.current-fragment) > p > :not(.current-fragment),
.reveal .overlay.stack:has(.current-fragment) > :not(.current-fragment) {
  visibility: inherit;
}

.reveal .overlay.stack .bg {
  background-color: white;
}
.reveal .slides section .overlay.stack .fragment:not(.current-fragment) {
  visibility: inherit;
}

section#title-slide {
  & h1 {
    font-size: 1.5em;
  }
  & h2 {
    font-size: 1.5em;
  }
}

section#title-slide div.author {
  --background: var(--background-color);
  border: 3px solid var(--background);
  background-color: rgb(from var(--background) r g b / 0.3);

  border-radius: 0.5em;
  padding: 0.5em;
  margin-top: 20px;

  & .author-photo {
    margin: 0 0 10px 0;
  }
  & .affiliation {
    margin: 0;
    font-size: 0.7em;
  }
  & > p {
    margin: 0;
  }
}

li.hide-marker {
  display: block;
}

body.index table {
  width: 100%;
  border: none;

  & td:has(strong) {
    line-height: 2;
    padding-top: 1em;
  }

  & strong {
    font-weight: bold;
    font-size: 1.2em;
  }

  & thead {
    display: none;
  }
}

body.index ul li {
  margin-bottom: 0.5em;
  padding-left: 1em;
  &::marker {
    content: "\f0c7";
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
  }
}
