/**
 * White theme for reveal.js. This is the opposite of the 'black' theme.
 *
 * By Hakim El Hattab, http://hakim.se
 */
@import url(/reveal/dist/theme/fonts/source-sans-pro/source-sans-pro.css);
section.has-dark-background, section.has-dark-background h1, section.has-dark-background h2, section.has-dark-background h3, section.has-dark-background h4, section.has-dark-background h5, section.has-dark-background h6 {
  color: #fff;
}

/*********************************************
 * GLOBAL STYLES
 *********************************************/
:root {
  --r-background-color: #fff;
  --r-main-font: Source Sans Pro, Helvetica, sans-serif;
  --r-main-font-size: 38px;
  --r-main-color: #222;
  --r-block-margin: 20px;
  --r-heading-margin: 0 0 20px 0;
  --r-heading-font: Source Sans Pro, Helvetica, sans-serif;
  --r-heading-color: #222;
  --r-heading-line-height: 1.2;
  --r-heading-letter-spacing: normal;
  --r-heading-text-shadow: none;
  --r-heading-font-weight: 600;
  --r-heading1-text-shadow: none;
  --r-heading1-size: 105px; /* 2.5em for 42px */
  --r-heading2-size: 67px;  /* 1.6em for 42px */
  --r-heading3-size: 54px;  /* 1.3em for 42px */
  --r-heading4-size: 42px;  /* 1em for 42px */
  --r-code-font: monospace;
  --r-link-color: #2a76dd;
  --r-link-color-dark: rgb(30.7720647773, 99.5566801619, 192.7779352227);
  --r-link-color-hover: rgb(73.95, 138.55, 226.1);
  --r-selection-background-color: rgb(95.25, 152.25, 229.5);
  --r-selection-color: #fff;
  --r-overlay-element-bg-color: 0, 0, 0;
  --r-overlay-element-fg-color: 240, 240, 240;
  --r-custom-color1: #660874;
  --r-custom-color2: #d93379;
  --r-custom-color3: #fa7921;
  --r-custom-color4: #942193;
  --r-custom-color5: #119da4;
  --r-custom-color6: #fcd0a1;
  --r-custom-color7: #efcefa;
  --r-tab-blue: #1f77b4;
  --r-tab-orange: #ff7f0e;
  --r-tab-green: #2ca02c;
  --r-tab-red: #d62728;
  --r-tab-purple: #9467bd;
  --r-tab-brown: #8c564b;
  --r-tab-pink: #e377c2;
  --r-tab-gray: #7f7f7f;
  --r-tab-olive: #bcbd22;
  --r-tab-cyan: #17becf;
  --r-mac-red: rgb(255,59,48);
  --r-mac-orange: rgb(255,149,0);
  --r-mac-yellow: rgb(255,204,0);
  --r-mac-green: rgb(40,205,65);
  --r-mac-mint: rgb(0,199,190);
  --r-mac-teal: rgb(89,173,196);
  --r-mac-cyan: rgb(85,190,240);
  --r-mac-blue: rgb(0,122,255);
  --r-mac-indigo: rgb(88,86,214);
  --r-mac-purple: rgb(175,82,222);
  --r-mac-pink: rgb(255,45,85);
  --r-mac-brown: rgb(162,132,94);
  --r-mac-gray: rgb(142,142,147);
  --r-header-h: 3.5vw;
  --r-footer-h: 3vw;
  --r-side-w: 1vw;
}

.reveal-viewport {
  background: #fff;
  background-color: var(--r-background-color);
}

.reveal {
  font-family: var(--r-main-font);
  font-size: var(--r-main-font-size);
  font-weight: normal;
  color: var(--r-main-color);
}

.reveal ::selection {
  color: var(--r-selection-color);
  background: var(--r-selection-background-color);
  text-shadow: none;
}

.reveal ::-moz-selection {
  color: var(--r-selection-color);
  background: var(--r-selection-background-color);
  text-shadow: none;
}

.reveal .slides section,
.reveal .slides section > section {
  line-height: 1.3;
  font-weight: inherit;
}

/*********************************************
 * HEADERS
 *********************************************/
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
  margin: var(--r-heading-margin);
  color: var(--r-heading-color);
  font-family: var(--r-heading-font);
  font-weight: var(--r-heading-font-weight);
  line-height: var(--r-heading-line-height);
  letter-spacing: var(--r-heading-letter-spacing);
  text-transform: var(--r-heading-text-transform);
  text-shadow: var(--r-heading-text-shadow);
  word-wrap: break-word;
}

.reveal h1 {
  font-size: var(--r-heading1-size);
}

.reveal h2 {
  font-size: var(--r-heading2-size);
}

.reveal h3 {
  font-size: var(--r-heading3-size);
}

.reveal h4 {
  font-size: var(--r-heading4-size);
}

.reveal h1 {
  text-shadow: var(--r-heading1-text-shadow);
}

/*********************************************
 * OTHER
 *********************************************/
.reveal p {
  margin: var(--r-block-margin) 0;
  line-height: 1.3;
}

/* Remove trailing margins after titles */
.reveal h1:last-child,
.reveal h2:last-child,
.reveal h3:last-child,
.reveal h4:last-child,
.reveal h5:last-child,
.reveal h6:last-child {
  margin-bottom: 0;
}

/* Ensure certain elements are never larger than the slide itself */
.reveal img,
.reveal video,
.reveal iframe {
  max-width: 95%;
  max-height: 95%;
}

.reveal strong,
.reveal b {
  font-weight: bold;
}

.reveal em {
  font-style: italic;
}

.reveal ol,
.reveal dl,
.reveal ul {
  display: inline-block;
  text-align: left;
  margin: 0 0 0 1em;
}

.reveal ul ul,
.reveal ul ol,
.reveal ol ol,
.reveal ol ul {
  display: block;
  margin-left: 40px;
}

.reveal dt {
  font-weight: bold;
}

.reveal dd {
  margin-left: 40px;
}

.reveal blockquote {
  display: block;
  position: relative;
  width: 70%;
  margin: var(--r-block-margin) auto;
  padding: 5px;
  font-style: italic;
  background: rgba(255, 255, 255, 0.05);
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2);
}

.reveal blockquote p:first-child,
.reveal blockquote p:last-child {
  display: inline-block;
}

.reveal q {
  font-style: italic;
}

.reveal pre {
  display: block;
  position: relative;
  width: 90%;
  margin: var(--r-block-margin) auto;
  text-align: left;
  font-size: 0.55em;
  font-family: var(--r-code-font);
  line-height: 1.2em;
  word-wrap: break-word;
  box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.15);
}

.reveal code {
  font-family: var(--r-code-font);
  text-transform: none;
  tab-size: 2;
}

.reveal pre code {
  display: block;
  padding: 5px;
  overflow: auto;
  max-height: 520px;
  word-wrap: normal;
}

.reveal .code-wrapper {
  white-space: normal;
}

.reveal .code-wrapper code {
  white-space: pre;
}

.reveal table {
  margin: auto;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 2px solid;
  border-bottom: 2px solid;
}

.reveal table th {
  font-weight: bold;
}

.reveal table th,
.reveal table td {
  text-align: left;
  padding: 0.2em 0.5em 0.2em 0.5em;
  border-bottom: 1px solid;
}

.reveal table th[align=center],
.reveal table td[align=center] {
  text-align: center;
}

.reveal table th[align=right],
.reveal table td[align=right] {
  text-align: right;
}

.reveal table tbody tr:last-child th,
.reveal table tbody tr:last-child td {
  border-bottom: none;
}

.reveal sup {
  vertical-align: super;
  font-size: smaller;
}

.reveal sub {
  vertical-align: sub;
  font-size: smaller;
}

.reveal small {
  display: inline-block;
  font-size: 0.6em;
  line-height: 1.2em;
  vertical-align: top;
}

.reveal small * {
  vertical-align: top;
}

.reveal img {
  margin: var(--r-block-margin) 0;
}

/*********************************************
 * LINKS
 *********************************************/
.reveal a {
  color: var(--r-link-color);
  text-decoration: none;
  transition: color 0.15s ease;
}

.reveal a:hover {
  color: var(--r-link-color-hover);
  text-shadow: none;
  border: none;
}

.reveal .roll span:after {
  color: #fff;
  background: var(--r-link-color-dark);
}

/*********************************************
 * Frame helper
 *********************************************/
.reveal .r-frame {
  border: 4px solid var(--r-main-color);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

.reveal a .r-frame {
  transition: all 0.15s linear;
}

.reveal a:hover .r-frame {
  border-color: var(--r-link-color);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.55);
}

/*********************************************
 * NAVIGATION CONTROLS
 *********************************************/
.reveal .controls {
  color: var(--r-link-color);
}

/*********************************************
 * PROGRESS BAR
 *********************************************/
.reveal .progress {
  background: rgba(0, 0, 0, 0.2);
  color: var(--r-link-color);
}

/*********************************************
 * PRINT BACKGROUND
 *********************************************/
@media print {
  .backgrounds {
    background-color: var(--r-background-color);
  }

  .reveal ol, .reveal ul, .reveal dl {
    display: block !important;
  }
}

/*********************************************
 * TITLE PAGE
 *********************************************/
.reveal .author {
  margin-top: 2vh;
  color: DimGrey;
}

p.affiliation {
  margin: 1%;
  font-size: 70%;
  color: grey;
}

p.page-title {
  display: none;
}

a.email {
  margin-bottom: 1%;
  color: grey;
  font-size: 60%;
  font-family: Verdana, sans-serif;;
  font-style: italic;
}

/*********************************************
 * HEADERS & FOOTERS
 *********************************************/
.reveal .slides section {
  padding-top: min(var(--r-header-h), calc(var(--slide-height) * 0.06));
  padding-bottom: min(var(--r-footer-h), calc(var(--slide-height) * 0.04));
  padding-left: var(--r-side-w);
  padding-right: var(--r-side-w);
}

.reveal .slides section.no-header {
  padding-top: 0;
  padding-bottom: 0;
}

.reveal div.ex-container {
  height: calc(var(--slide-height) * 0.65);
}

@media print {
  .reveal-print .slide-background-content .header,
  .reveal-print .slide-background-content .footer {
    position: absolute !important;
  }

  .reveal-print .slide-background-content .header {
    left: 0; right: 0;
    top: 0;
  }

  .reveal-print .slide-background-content .footer {
    left: 1em; right: 1em;
    bottom: 0.1em;
  }

  .reveal-print ol.schedule {
    padding: 0 0.6em;
  }
}

.slide-background-content .hf-wrapper {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.slide-background-content .header, .slide-background-content .footer {
  left: 0; right: 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  align-items: center;
  pointer-events: auto;
}

.slide-background-content .header {
  position: absolute;
  top: 0;
  height: var(--r-header-h);
  background-image: linear-gradient(to right, var(--r-custom-color1), var(--r-custom-color1), var(--r-custom-color1), var(--r-custom-color2), var(--r-custom-color2), var(--r-custom-color2), var(--r-custom-color3), var(--r-custom-color3), var(--r-custom-color3));
}

.slide-background-content .header > p {
  margin: 0;
  color: white;
  text-align: center;
  font-size: 1.8vw;
  padding: 0.5vw 0;
}

.slide-background-content .footer {
  position: absolute;
  bottom: 0;
  font-size: 1.8vw;
  color: grey;
  font-family: Arial, sans-serif;
}

img.footer-left {
  height: 4vw;
  margin: 0;
  vertical-align: bottom;
  padding-left: 20%;
}

p.footer-center {
  margin: 0;
  text-align: center;
}

p.footer-right {
  margin: 0;
  text-align: right;
  padding-right: 25%;
}

img.background {
  position: absolute;
  left: 0%;
  bottom: 0%;
  width: 60%;
  z-index: -1;
}

/*********************************************
 * CONTENTS
 *********************************************/
.reveal li mjx-container[display="true"] {
  margin-top: 0.4em;
  margin-bottom: 0.4em;
}

.grid-container {
  display: grid;
  gap: 0;
}

.reveal div.ex-sub {
  display: grid;
  grid-template-columns: 10% 80%;
  gap: 2%;
  height: calc(var(--slide-height) * 0.6);
}

.reveal div.ex-sub > div {
  overflow: auto;
  border: 1px solid #ccc;
  height: 95%;
  font-size: 60%;
}

.reveal div.ex-sub > iframe {
  border: 1px solid #ccc;
  width: 100%;
  height: 95%;
}

.reveal .grid-container > button {
  align-self: start;      /* override item-level stretch */
  height: auto;           /* don’t inherit row height */
  line-height: normal;
}

section button {
  border: 2px solid;
  padding: 5% 15%;
  transition-duration: 0.3s;
  font-family: serif;
  font-size: 50%;
  border-radius: 5px;
  cursor: pointer;
  background-color: transparent;
}

section .button-action {
  color: var(--r-custom-color4);
}

section .button-show {
  color: var(--r-custom-color3);
}

section .button-action:hover:not(.disabled) {
  background-color: var(--r-custom-color4);
  border-color: var(--r-custom-color4);
  color: white;
}

section .button-show:hover:not(.disabled) {
  background-color: var(--r-custom-color3);
  border-color: var(--r-custom-color3);
  color: white;
}

section button.disabled {
  color: grey;
  background-color: #E7E7E7;
  border-color: #E7E7E7;
  cursor: not-allowed;
}

span.loading-spin {
  display: inline-block;
  animation: spinner 1.5s linear infinite;
}
@keyframes spinner {
  to { transform: rotate(360deg); }
}

p.info-text {
  font-family: monospace;
  font-size: 40%;
}

.reveal ol.schedule {
  list-style-type: decimal-leading-zero;
  columns: 2;
}

.reveal td {
  vertical-align: middle;
}

.reveal .color1 {
  color: var(--r-custom-color1);
}

.reveal .color2 {
  color: var(--r-custom-color2);
}

.reveal .color3 {
  color: var(--r-custom-color3);
}

.reveal .color4 {
  color: var(--r-custom-color4);
}

.reveal .colorg {
  color: grey;
}

.reveal .colorlg {
  color: lightgrey;
}

.reveal .smaller {
  font-size: 90%;
}

.reveal .smaller2 {
  font-size: 80%;
}

.reveal .no-margin {
  margin: 0;
}

section > ul, section > div > ul {
  list-style-type: disc;
  min-width: 90%;
}

section > ul > li, section > div > ul > li {
  margin: 2% 0;
}

section > ul > li::marker, section > div > ul > li::marker,
section > div > div > ul > li::marker{
  color: var(--r-custom-color4);
}

section > ul > li > ul, section > div > ul > li > ul {
  list-style-type: none;
  list-style-position: outside;
  padding-left: 1em;
  text-indent: -1.1em;
}

section > ul > li > ul > li::before, section > div > ul > li > ul > li::before {
  content: "\25cb";
  font-size: 80%;
  color: mediumvioletred;
  padding-right: 0.8em;
}

section ol.quiz-list {
  min-width: 90%;
}

section ol.quiz-list > li {
  margin: 2% 0;
}

section ol.quiz-list > li > ol, section ol.quiz-list > li > ul {
  margin-top: 1%;
}

section ol.quiz-option {
  list-style: upper-alpha;
}

section ol.quiz-option > li::marker {
  content: "(" counter(list-item, upper-alpha) ") ";
}

section ol.cap-parens {
  counter-reset: alist;
}

section ol.cap-parens > li {
  list-style: none;
  counter-increment: alist;
}

section ol.cap-parens > li::marker {
  content: "(" counter(alist, upper-alpha) ")";
}

sup.footnote {
  color: grey;
  font-size: 30%;
}

span.footnote {
  color: grey;
  font-size: 50%;
  vertical-align: 0.3em;
}

.cell-border {
  border-right: 1px solid;
}

.reveal table.table-center th,
.reveal table.table-center td,
.reveal table.table-center-left th,
.reveal table.table-center-left td {
  text-align: center;
}

.reveal table.table-center-left th:last-child,
.reveal table.table-center-left td:last-child {
  text-align: left;
}

.reveal table.table-thin th,
.reveal table.table-thin td {
  text-align: center;
  padding: 0.1em;
  border: none;
}

.img-text {
  color: white;
  font-size: 62%;
  font-family: Verdana, sans-serif;
  font-weight: bold;
  text-shadow: 0 0 5px black;
  padding: 1em;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
}

.label-text {
  font-size: 55%;
  font-family: monospace;
}

.reveal .fragment.highlight-color2, .reveal .fragment.highlight-color3,
    .reveal .fragment.highlight-black, .reveal .fragment.highlight-colorlg {
  opacity: 1;
  visibility: inherit;
}

.reveal .fragment.highlight-color2.visible {
  color: var(--r-custom-color2);
}

.reveal .fragment.highlight-color3.visible {
  color: var(--r-custom-color3);
}

.reveal .fragment.highlight-black.visible {
  color: black;
}

.reveal .fragment.highlight-colorlg.visible {
  color: lightgrey;
}

.reveal .fragment.highlight-bold.visible {
  font-weight: bold;
}

.reveal .fragment.disappear {
  display: inline-block;
}

.reveal .fragment.disappear.visible {
  display: none;
}

.reveal .fragment.appear {
  display: none;
}

.reveal .fragment.appear.visible {
  display: inline-block;
}

p.quote-author {
  text-align: right;
  margin: 5%;
}

.overline {
  display: inline-block;
  border-top: 2px solid;
  line-height: 1em;
}

.text-mono {
  font-family: "Courier New", monospace;
}

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

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

p.text-right {
  text-align: right;
  margin-right: 5%;
}

p.inlist {
  margin-top: 1%;
  margin-bottom: 1%;
}

.formula {
  display: inline-block;
  padding: 0.5em;
  border: 4px solid var(--r-custom-color2);
}

.frac {
  display: inline-block;
  vertical-align: middle;
  letter-spacing: 0.001em;
  text-align: center;
}

.frac > span {
  display: block;
  padding: 0.1em;
}

.frac span.bottom {
  border-top: 2px solid black;
}

.supsub {
  display: inline-block;
}

.supsub sup, .supsub sub {
  position: relative;
  display: block;
  font-size: 50%;
  line-height: 0.5em;
}

.supsub sup {
  bottom: 0.3em;
}

.supsub sub {
  top: 0.3em;
}

/*********************************************
 * SVG
 *********************************************/
g.times > text, text.times {
  font-family: "Times New Roman", Times, Serif;
  text-anchor: middle;
  dominant-baseline: middle;
}

g.arial > text, tspan.arial, text.arial {
  font-family: Arial, Helvetica, sans-serif;
  text-anchor: middle;
  dominant-baseline: middle;
}

text.smono {
  font-family: "Courier New", monospace;
  text-anchor: middle;
  dominant-baseline: middle;
}

g.slabel, text.slabel, use.slabel {
  font-family: MJXTEX-I, "Times New Roman", Times, Serif;
  fill: black;
  stroke: none;
  font-size: 30%;
  text-anchor: middle;
  dominant-baseline: middle;
}

g.slabelt, text.slabelt, use.slabelt {
  font-family: "Times New Roman", Times, Serif;
  fill: black;
  stroke: none;
  font-size: 30%;
  text-anchor: middle;
  dominant-baseline: middle;
}

g.slabelb {
  font-family: MJXTEX-BI, "Times New Roman", Times, Serif;
  fill: black;
  stroke: none;
  font-size: 30%;
  font-weight: bold;
  text-anchor: middle;
  dominant-baseline: middle;
}

tspan.mathup {
  font-family: MJXTEX, "Times New Roman", Times, Serif;
}

g.sframe, use.sframe, path.sframe {
  fill: none;
  stroke: black;
  stroke-width: 1.2;
  stroke-linejoin: miter;
  stroke-linecap: butt;
}

g.sline, path.sline {
  fill: none;
  stroke-linejoin: round;
  stroke-linecap: butt;
}

rect.slegend {
  stroke: silver;
  stroke-width: 1.2;
  stroke-linejoin: round;
  stroke-linecap: butt;
  fill: none;
}

tspan.powsup {
  font-size: 70%;
  baseline-shift: 0.5em;
}

tspan.subs {
  font-size: 70%;
  baseline-shift: -0.3em;
}
/* Standalone HTML uses the same compact chrome, without slide insets or scaling. */
html[data-course-layout="header-logo"] body:has(.standalone-course-header) .reveal{height:calc(100% - 64px)}
.standalone-course-header,.standalone-course-footer{height:32px;padding:0 12px;display:flex;align-items:center;gap:12px;background:#f3f5f6;color:#3c5363;font:14px/32px Arial,sans-serif;white-space:nowrap}
.standalone-course-header span,.standalone-course-footer span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis}
.standalone-course-header img{height:24px;width:auto;margin:0;object-fit:contain;flex:none}
.standalone-course-footer output{font:inherit;flex:none}
html[data-course-layout="header-logo"] .reveal .slides img[src^="/custom/img/doa_logo_full.png"]{display:none}
