/* Models and Theory - floral palette derived from 20190607_153237.jpg */
:root {
  --petal-plum: #78234e;
  --petal-magenta: #bd367e;
  --petal-light: #f2dce9;
  --pollen-gold: #e0a529;
  --water-green: #435951;
  --water-sage: #758477;
  --warm-ivory: #faf7f1;
  --ink: #273a35;
}

/* Place the original licensed font files in ../fonts/ after unpacking. */
@font-face {
  font-family: "Arsenica Slides";
  src: local("Arsenica Medium"), url("../fonts/Arsenica-Medium.ttf") format("truetype");
  font-style: normal; font-weight: 400 500; font-display: swap;
}
@font-face {
  font-family: "Arsenica Slides";
  src: local("Arsenica Bold"), url("../fonts/Arsenica-Bold.ttf") format("truetype");
  font-style: normal; font-weight: 600 900; font-display: swap;
}
@font-face {
  font-family: "Arsenica Slides";
  src: local("Arsenica Medium Italic"), url("../fonts/Arsenica-Medium-Italic.ttf") format("truetype");
  font-style: italic; font-weight: 400 500; font-display: swap;
}
@font-face {
  font-family: "Arsenica Slides";
  src: local("Arsenica Bold Italic"), url("../fonts/Arsenica-Bold-Italic.ttf") format("truetype");
  font-style: italic; font-weight: 600 900; font-display: swap;
}
@font-face {
  font-family: "Coco Gothic Slides";
  src: local("CocoGothicProAlt Regular"), url("../fonts/Coco-Gothic-Pro-Alternate-Regular.ttf") format("truetype");
  font-style: normal; font-weight: 400 500; font-display: swap;
}
@font-face {
  font-family: "Coco Gothic Slides";
  src: local("CocoGothicProAlt Bold"), url("../fonts/Coco-Gothic-Pro-Alternate-Bold.ttf") format("truetype");
  font-style: normal; font-weight: 600 900; font-display: swap;
}
@font-face {
  font-family: "Coco Gothic Slides";
  src: local("CocoGothicProAlt Ita"), url("../fonts/Coco-Gothic-Pro-Alternate-Italic.ttf") format("truetype");
  font-style: italic; font-weight: 400 500; font-display: swap;
}
@font-face {
  font-family: "Coco Gothic Slides";
  src: local("CocoGothicProAlt Bold Ita"), url("../fonts/Coco-Gothic-Pro-Alternate-Bold-Italic.ttf") format("truetype");
  font-style: italic; font-weight: 600 900; font-display: swap;
}

/* Core slide typography */
body, .reveal-viewport {
  background: var(--warm-ivory);
}
.reveal {
  color: var(--ink);
  font-family: "Coco Gothic Slides", "CocoGothicProAlt", "Century Gothic", sans-serif;
  font-size: 30px;
  line-height: 1.25;
}
.reveal .slides section { text-align: left; }
.reveal p, .reveal ul, .reveal ol, .reveal li,
.reveal blockquote, .reveal table, .reveal small {
  font-family: "Coco Gothic Slides", "CocoGothicProAlt", "Century Gothic", sans-serif;
}
.reveal p { text-align: left; }
.reveal ul, .reveal ol { display: block; }
.reveal ol { padding-top: .35em; padding-bottom: .35em; }
.reveal ul li::marker, .reveal ol li::marker { color: var(--petal-magenta); }
.reveal a { color: #8f286c; text-decoration-color: var(--pollen-gold); }
.reveal a:hover { color: var(--petal-plum); text-decoration: underline;}
.reveal strong { color: var(--petal-plum); }
.reveal blockquote { color: var(--ink); }
.reveal .overview-list {
  box-sizing: border-box;
  max-width: 75%;
  margin: 0 auto;
  padding: 0.2em;

  color: var(--warm-ivory);
  background-color: rgba(2, 51, 84, 0.8);
  border-radius: 20px;

  font-size: 1.3em;
  line-height: 1.4;
}
.reveal .continuation { font-size: .73em; font-weight: 400; }

/* A heading is ONE block: backgrounds do not fracture into individual lines. */
.reveal .slides section > h1,
.reveal .slides section > h2,
.reveal .slides section > h3 {
  box-sizing: border-box;
  display: table;
  width: auto;
  max-width: 94%;
  margin: .05em auto .55em;
  padding: .22em .60em .30em;
  border-radius: 999px;
  white-space: normal;
  text-align: center;
  overflow-wrap: normal;
  line-height: 1.16;
  font-family: "Arsenica Slides", "Arsenica Medium", Georgia, serif;
  font-weight: 500;
  text-transform: none;
  letter-spacing: .005em;
  box-decoration-break: slice;
  -webkit-box-decoration-break: slice;
}
.reveal .slides section > h1 {
  font-size: 1.94em;
  color: #fffdfb;
  background-color: var(--petal-plum);
  border: 3px solid var(--pollen-gold);
  box-shadow: 0 8px 25px rgba(37, 32, 30, .2);
}
.reveal .slides section > h2 {
  font-size: 1.35em;
  color: var(--petal-plum);
  background-color: var(--petal-light);
  border: 2px solid #d6afc3;
}
.reveal .slides section > h3 {
  font-size: 1.10em;
  color: var(--petal-plum);
  background-color: #efe7d9;
}

/* Headings on full-bleed photographs */
.reveal .slides section.flower-divider {
  text-align: center;
}
.reveal .slides section.flower-divider > h1 {
  max-width: 89%;
  margin: 1.45em auto 0;
  padding: .40em .73em .48em;
  border-radius: 999px;
  background-color: rgba(102, 24, 71, .96);
  border: 4px solid var(--pollen-gold);
  color: #fffaf4;
  font-size: 2.06em;
  line-height: 1.19;
  text-shadow: 0 1px 2px rgba(0,0,0,.30);
  box-shadow: 0 12px 45px rgba(23,29,23,.34);
}

/* Opening photograph-backed slide */
.reveal .slides section#testing-models-theoretically {
  text-align: center;
}

.reveal .slides section {
  line-height: 1.5;
}

.reveal p {
  line-height: 1.4;
}

.reveal li {
  line-height: 1.5;
}

.reveal .slides section#testing-models-theoretically > h1 {
  margin: 1.85em auto 0;
  max-width: 90%;
  padding: .53em .75em .57em;
  color: #fffaf4;
  background-color: var(--petal-plum);
  font-size: 1.92em;
  border-color: var(--pollen-gold);
}

/* Equations: body-sized; use Coco for textual letters/numbers where supported.
   Special mathematics symbols must use MathJax's symbol-capable fallbacks. */
.reveal .math, .reveal .math.inline, .reveal .math.display,
.reveal .MathJax, .reveal .MathJax_Display,
.reveal .MathJax_CHTML, .reveal mjx-container {
  color: var(--ink) !important;
  font-size: 1em !important;
}
.reveal .math.display { margin: .15em auto .20em; }
.reveal .MathJax_CHTML .mjx-mtext,
.reveal .MathJax_CHTML .mjx-mi:not(.mjx-op),
.reveal .MathJax_CHTML .mjx-mi .mjx-char,
.reveal .MathJax_CHTML .mjx-mn,
.reveal .MathJax_CHTML .mjx-mn .mjx-char,
.reveal .MathJax_CHTML .mjx-mtext .mjx-char,
.reveal .MathJax .mi, .reveal .MathJax .mn, .reveal .MathJax .mtext,
.reveal mjx-mi, .reveal mjx-mn, .reveal mjx-mtext {
  font-family: "Coco Gothic Slides", "CocoGothicProAlt", "Century Gothic", sans-serif !important;
}
.reveal .MathJax_Display { margin: .22em 0 !important; }
.reveal .slides section .MathJax_Preview { font-family: "Coco Gothic Slides", sans-serif; }

/* Diagrams and controls */
.reveal .progress { color: var(--petal-magenta); }
.reveal .controls { color: var(--petal-plum); }
.reveal table th { color: var(--petal-plum); border-color: var(--water-sage); }
.reveal table td { border-color: var(--water-sage); }
.reveal .slides section[data-background] a { color: #fff7db; }

@media screen and (max-width: 700px) {
  .reveal .slides section > h1, .reveal .slides section > h2 { max-width: 98%; }
}

/* Compact handout links: centered on the lower edge of the title capsule.
   Keep the links in document flow immediately after the opening H1 so that
   their alignment follows the heading even when its text wraps. */
.reveal .slides section#testing-models-theoretically > h1 {
  margin-bottom: 0;
}
.reveal .slides section#testing-models-theoretically .download-icons {
  position: relative;
  left: auto;
  bottom: auto;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  width: max-content;
  max-width: 95%;
  gap: .30em;
  margin: 0 auto;
  transform: translateY(-50%);
  z-index: 30;
}
.reveal .slides section#testing-models-theoretically .download-icons a {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 5.3em;
  min-height: 2.50em;
  padding: .42em .77em;
  border: 1px solid var(--petal-plum);
  border-radius: 999px;
  background: var(--pollen-gold);
  color: #362137 !important;
  font-family: "Coco Gothic Slides", "Century Gothic", sans-serif;
  font-size: .33em;
  font-weight: 700;
  letter-spacing: .035em;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  box-shadow: 0 2px 5px rgba(39, 31, 27, .20);
  transition: background-color 160ms ease, transform 160ms ease;
}
.reveal .slides section#testing-models-theoretically .download-icons a svg {
  flex: none;
  width: 1.08em;
  height: 1.08em;
  margin-right: .4em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.reveal .slides section#testing-models-theoretically .download-icons a:hover {
  background: #f0be51;
  color: #362137 !important;
  transform: translateY(-2px);
}
.reveal .slides section#testing-models-theoretically .download-icons a:focus-visible {
  outline: 2px solid #fffaf4;
  outline-offset: 3px;
}

/* Reveal Menu ships without the Font Awesome webfonts in this minimal bundle.
   Draw the hamburger with CSS instead of relying on the missing font glyph.
   The original Reveal Menu plugin still handles opening and closing. */
.reveal .slide-menu-button {
  position: fixed;
  width: 36px;
  height: 36px;
  left: 26px;
  bottom: 25px;
  z-index: 40;
  font-size: 20px;
}
.reveal .slide-menu-button > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--petal-plum);
  border-radius: 7px;
  background: var(--pollen-gold);
  color: var(--petal-plum) !important;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .22);
}
.reveal .slide-menu-button > a:hover,
.reveal .slide-menu-button > a:focus-visible {
  background: #f0be51;
}
.reveal .slide-menu-button i.fa-bars {
  display: block;
  width: 19px;
  height: 16px;
  font-size: 0;
  line-height: 0;
}
.reveal .slide-menu-button i.fa-bars::before {
  content: "";
  display: block;
  width: 19px;
  height: 16px;
  background: linear-gradient(to bottom,
    currentColor 0 2px, transparent 2px 7px,
    currentColor 7px 9px, transparent 9px 14px,
    currentColor 14px 16px);
}

@media screen and (max-width: 700px) {
  .reveal .slides section#testing-models-theoretically .download-icons {
    gap: .22em;
  }
}

/* Text selected by dragging the mouse */
.reveal ::selection {
  background-color: var(--petal-plum);
  color: var(--warm-ivory);
}

/* Match DiagrammeR text to slide-body typography */
.reveal .grViz svg text,
.reveal .grViz svg tspan {
  font-family: "Coco Gothic Slides", sans-serif !important;
}
