/**
 * Black theme for reveal.js. This is the opposite of the 'white' theme.
 *
 * By Hakim El Hattab, http://hakim.se
 */
@import url(./fonts/fraunces/fraunces.css);
@import url(./fonts/literata/literata.css);
@import url(./fonts/roboto-flex/roboto-flex.css);
@import url(./fonts/name-sans/name-sans.css);
@import url(./fonts/roboto-slab-vf/roboto-slab.css);
@import url(./fonts/work-sans-vf/work-sans.css);
section.has-light-background, section.has-light-background h1, section.has-light-background h2, section.has-light-background h3, section.has-light-background h4, section.has-light-background h5, section.has-light-background h6 {
  color: #222;
}

/*********************************************
 * GLOBAL STYLES
 *********************************************/
:root {
  --r-background-color: #161b46;
  --r-main-font: Name Sans, Helvetica, Arial, sans-serif;
  --r-main-font-size: 42px;
  --r-main-color: #fff;
  --r-block-margin: 20px;
  --r-heading-margin: 0 0 20px 0;
  --r-heading-font: Fraunces, Georgia, serif;
  --r-heading-color: #fff;
  --r-heading-line-height: 1.2;
  --r-heading-letter-spacing: normal;
  --r-heading-text-transform: uppercase;
  --r-heading-text-shadow: none;
  --r-heading-font-weight: 600;
  --r-heading1-text-shadow: none;
  --r-heading1-size: 6vw;
  --r-heading2-size: 5vw;
  --r-heading3-size: 4vw;
  --r-heading4-size: 3vw;
  --r-code-font: monospace;
  --r-link-color: #42affa;
  --r-link-color-dark: #068de9;
  --r-link-color-hover: #8dcffc;
  --r-selection-background-color: #bee4fd;
  --r-selection-color: #fff;
}

.reveal-viewport {
  background: #161b46;
  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 ol {
  list-style-type: decimal;
}

.reveal ul {
  list-style-type: disc;
}

.reveal ul ul {
  list-style-type: square;
}

.reveal ul ul ul {
  list-style-type: circle;
}

.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: 400px;
  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;
}

.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);
  }
}
:root {
  --r-main-font-size: 2vw;
  --r-heading-text-transform: none;
  --fraunces-heading-SOFT: 10;
  --fraunces-heading-opsz: 144;
  --fraunces-heading-WONK: 1;
}

html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
  margin: 0;
  padding: 0;
  font-size: 100%;
}

.reveal {
  --slide-width: 100vw;
  --slide-height: 100vh;
  /* general code cue styles */
}
.reveal .slides {
  max-height: 100vh;
  text-align: left;
}
.reveal .slides > section {
  height: 100%;
  width: 100%;
}
.reveal .title {
  padding-top: 25vh;
  text-align: center;
}
.reveal .title h1 {
  margin-left: 0;
  margin-top: 0;
}
.reveal .title .byline {
  text-align: left;
  margin-left: 66%;
  margin-top: 10vh;
}
.reveal .title .byline h3 {
  font-family: "Name Sans", Helvetica, Arial, sans-serif;
  font-size: 1.75vw;
  font-weight: 400;
  --fraunces-heading-SOFT: 1;
  --fraunces-heading-opsz: 24;
  --fraunces-heading-WONK: 0;
}
.reveal .section-title {
  display: grid;
  height: 100%;
  align-items: center;
}
.reveal .thanks {
  margin-left: 55vw;
  margin-top: 50vh;
}
.reveal .thanks > * {
  margin: 0 0 1rem 0;
  --fraunces-heading-SOFT: 1;
  --fraunces-heading-opsz: 24;
  --fraunces-heading-WONK: 0;
}
.reveal .thanks h1 {
  font-style: italic;
}
.reveal .thanks h2, .reveal .thanks h3 {
  font-family: "Name Sans", Helvetica, Arial, sans-serif;
}
.reveal .one-col {
  display: grid;
  gap: 5vw;
  grid-template-columns: 1fr;
  margin: 2.5vh 2.5vw 0;
  padding: 0;
}
.reveal .one-col .piled {
  grid-row: 1/2;
  grid-column: 1/2;
}
.reveal .two-col {
  display: grid;
  gap: 5vw;
  grid-template-columns: 1fr 1fr;
  margin: 0 2.5vw;
  padding: 0;
}
.reveal .five-col {
  display: grid;
  gap: 2.5vw;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  margin: 0 2.5vw;
  padding: 0;
}
.reveal .following {
  margin-top: 2rem;
}
.reveal .device {
  background-color: rgba(255, 255, 255, 0.9);
  border: solid 1px #ffffff;
  border-radius: 1vw;
  margin: 10vh auto 0 auto;
  padding: 2.5vh 2.5vw;
  width: 80vw;
  height: 70vh;
  transition: all 0.2s ease-in-out;
}
.reveal .device > * {
  color: #121212;
}
.reveal .mobile .device {
  padding: 7.5vh 1.5vw;
  width: 25vw;
}
.reveal .mobile .device h1 {
  font-size: 2rem;
  line-height: 1.05;
}
.reveal .mobile .device p {
  font-size: 1rem;
  line-height: 1.4;
}
.reveal .dark .device {
  background-color: rgba(255, 255, 255, 0.05);
}
.reveal .dark .device > * {
  color: #ffffff;
}
.reveal .dark .device p {
  font-weight: 325;
  letter-spacing: 0.005em;
}
.reveal .dark .device .demo-h1 {
  font-size: 6vw;
  font-weight: 100;
  margin: 2rem auto 0 auto;
  max-width: none;
}
.reveal .dark .device .demo-p {
  font-size: 5vw;
  font-weight: 500;
  margin: 2rem auto 0 auto;
  max-width: none;
}
.reveal .heavy .device .demo-h1 {
  font-weight: 900;
  transition-duration: 2s;
}
.reveal .heavy .device .demo-p {
  font-weight: 100;
  transition-duration: 2s;
}
.reveal h1 {
  --r-heading1-size: 4.75vw;
  font-weight: 800;
  font-variation-settings: "opsz" var(--fraunces-heading-opsz), "SOFT" var(--fraunces-heading-SOFT), "WONK" var(--fraunces-heading-WONK);
  margin-left: 2.5vw;
  margin-top: 5vh;
  margin-bottom: 7.5vh;
}
.reveal h2 {
  --r-heading2-size: 3vw;
  --fraunces-heading-opsz: 72;
  font-variation-settings: "opsz" var(--fraunces-heading-opsz), "SOFT" var(--fraunces-heading-SOFT), "WONK" var(--fraunces-heading-WONK);
}
.reveal h3 {
  --r-heading3-size: 2vw;
  --fraunces-heading-opsz: 48;
  font-variation-settings: "opsz" var(--fraunces-heading-opsz), "SOFT" var(--fraunces-heading-SOFT), "WONK" var(--fraunces-heading-WONK);
}
.reveal h4 {
  --r-heading4-size: 2.5vw;
  --fraunces-heading-opsz: 36;
  font-variation-settings: "opsz" var(--fraunces-heading-opsz), "SOFT" var(--fraunces-heading-SOFT), "WONK" var(--fraunces-heading-WONK);
}
.reveal p, .reveal ul {
  --name-sans-opsz: 70;
  font-variation-settings: "opsz" var(--name-sans-opsz);
}
.reveal em {
  --fraunces-heading-WONK: 0;
}
.reveal li + li {
  margin-top: 0.75rem;
}
.reveal .quahog-container {
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 40vw;
}
.reveal .screenshot {
  background-color: #fff;
  border: solid 1px #aaa;
  margin: 0;
  padding: 0;
}
.reveal .screenshot img {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: none;
}
.reveal .work-sans {
  font-family: "Work Sans";
}
.reveal .frac {
  font-feature-settings: "frac" 1;
}
.reveal pre {
  font-family: "Input Mono VF", monospace;
  font-size: 1.45vw;
  margin: 0;
  width: 100%;
}
.reveal pre code {
  background-color: transparent;
  background-image: linear-gradient(120deg, rgba(0, 0, 36, 0.9) 0%, rgba(0, 0, 71, 0.9) 35%, rgba(0, 0, 121, 0.9) 100%);
  color: #ffffff;
  font-family: "Input Mono VF", monospace;
  max-height: none;
}
.reveal .code-cue {
  position: absolute;
  bottom: 1vh;
  right: 0;
  transition: all 2s ease-in-out;
  width: 44vw;
  z-index: 99;
}
.reveal .code-cue.visible:not(.current-fragment) {
  opacity: 0 !important;
}
.reveal .resource-link {
  background-color: rgba(33, 33, 33, 0.9);
  border-radius: 0 0.25em 0 0;
  bottom: 0;
  color: #ffffff;
  font-size: 1.5vw;
  font-weight: 450;
  left: 0;
  padding: 0.25em 1.5em;
  position: absolute;
  z-index: 90;
}
.reveal .vf h2 {
  margin: 2vh 0 0 3vw;
}
.reveal .vf-quote {
  width: 41vw;
  margin: 30vh 0 0 3vw;
}
.reveal .vf-quote h3 {
  font-family: "Literata";
  font-variant-ligatures: common-ligatures;
  font-size: 2.75vw;
  font-style: italic;
  font-weight: 200;
  line-height: 1.25;
  text-align: left;
  transition: all 1s ease-in;
  letter-spacing: normal;
}
.reveal .vf-quote h4 {
  font-family: "Roboto Flex";
  font-size: 2.25vw;
  font-style: oblique 5deg;
  font-stretch: 85%;
  font-weight: 250;
  text-align: left;
}
.reveal .present .vf-quote h3 {
  font-weight: 300;
}
.reveal .vf-explained {
  transition: all 1s ease-in-out;
}
.reveal .future .vf-explained {
  opacity: 0;
}
.reveal .present .vf-explained {
  opacity: 1;
  position: absolute;
  top: 15vh;
  left: 48vw;
  z-index: 10;
  transition-delay: 2s;
}
.reveal .present .vf-explained .font {
  background: url(images/font_outline.svg) no-repeat;
  background-size: contain;
  background-position: top left;
  font-family: "Roboto Flex";
  font-size: 4vw;
  font-weight: 100;
  width: 1.75em;
  text-align: center;
  line-height: 2.25;
  transition: all 2s ease-in-out;
}
.reveal .present .vf-explained .font1 {
  font-stretch: 60%;
  font-weight: 100;
  position: absolute;
  top: 0;
  left: 0;
}
.reveal .present .vf-explained .font2 {
  font-stretch: 65%;
  font-weight: 150;
  position: absolute;
  top: 0;
  left: 10vw;
}
.reveal .present .vf-explained .font3 {
  font-stretch: 70%;
  font-weight: 200;
  position: absolute;
  top: 0;
  left: 20vw;
}
.reveal .present .vf-explained .font4 {
  font-stretch: 75%;
  font-weight: 250;
  position: absolute;
  top: 0;
  left: 30vw;
}
.reveal .present .vf-explained .font5 {
  font-stretch: 80%;
  font-weight: 300;
  position: absolute;
  top: 0;
  left: 40vw;
}
.reveal .present .vf-explained .font6 {
  font-stretch: 70%;
  font-weight: 400;
  position: absolute;
  top: 21vh;
  left: 0;
}
.reveal .present .vf-explained .font7 {
  font-stretch: 75%;
  font-weight: 450;
  position: absolute;
  top: 21vh;
  left: 10vw;
}
.reveal .present .vf-explained .font8 {
  font-stretch: 80%;
  font-weight: 500;
  position: absolute;
  top: 21vh;
  left: 20vw;
}
.reveal .present .vf-explained .font9 {
  font-stretch: 85%;
  font-weight: 550;
  position: absolute;
  top: 21vh;
  left: 30vw;
}
.reveal .present .vf-explained .font10 {
  font-stretch: 90%;
  font-weight: 600;
  position: absolute;
  top: 21vh;
  left: 40vw;
}
.reveal .present .vf-explained .font11 {
  font-stretch: 80%;
  font-weight: 700;
  position: absolute;
  top: 42vh;
  left: 0;
}
.reveal .present .vf-explained .font12 {
  font-stretch: 85%;
  font-weight: 750;
  position: absolute;
  top: 42vh;
  left: 10vw;
}
.reveal .present .vf-explained .font13 {
  font-stretch: 90%;
  font-weight: 800;
  position: absolute;
  top: 42vh;
  left: 20vw;
}
.reveal .present .vf-explained .font14 {
  font-stretch: 95%;
  font-weight: 850;
  position: absolute;
  top: 42vh;
  left: 30vw;
}
.reveal .present .vf-explained .font15 {
  font-stretch: 100%;
  font-weight: 900;
  position: absolute;
  top: 42vh;
  left: 40vw;
}
.reveal .present.merged .vf-explained .font {
  top: 0;
  left: 10vw;
  font-size: 20vw;
  line-height: 1.5;
  padding-bottom: 0.25em;
  width: 27vw;
}
.reveal .present.merged .vf-explained .font1 {
  opacity: 1;
}
.reveal .present.merged .vf-explained .font2 {
  opacity: 0.035;
}
.reveal .present.merged .vf-explained .font3 {
  opacity: 0.035;
}
.reveal .present.merged .vf-explained .font4 {
  opacity: 0.045;
}
.reveal .present.merged .vf-explained .font5 {
  opacity: 0.035;
}
.reveal .present.merged .vf-explained .font6 {
  opacity: 0.5;
  -webkit-text-stroke: 1px var(--color-text);
  text-stroke: 1px var(--color-text);
  color: transparent;
}
.reveal .present.merged .vf-explained .font7 {
  opacity: 0.045;
}
.reveal .present.merged .vf-explained .font8 {
  opacity: 0.075;
}
.reveal .present.merged .vf-explained .font9 {
  opacity: 0.035;
}
.reveal .present.merged .vf-explained .font10 {
  opacity: 0.035;
}
.reveal .present.merged .vf-explained .font11 {
  opacity: 0.5;
  -webkit-text-stroke: 1px var(--color-text);
  text-stroke: 1px var(--color-text);
  color: transparent;
}
.reveal .present.merged .vf-explained .font12 {
  opacity: 0.045;
}
.reveal .present.merged .vf-explained .font13 {
  opacity: 0.035;
}
.reveal .present.merged .vf-explained .font14 {
  opacity: 0.035;
}
.reveal .present.merged .vf-explained .font15 {
  opacity: 0.5;
  -webkit-text-stroke: 1px var(--color-text);
  text-stroke: 1px var(--color-text);
  color: transparent;
}
.reveal .vf-collie {
  transition: all 1s ease-in-out;
}
.reveal .vf-collie .code-cue {
  top: 1vh;
  bottom: auto;
  left: 0;
  right: auto;
}
.reveal .vf-collie .variable_collies img {
  margin-top: -12vh;
  max-width: 100%;
}
.reveal .vf-collie div[class*=axis-] {
  color: #fff;
  font-family: "Roboto Flex";
  font-size: 4vw;
  transition: all 2s ease-in-out;
}
.reveal .vf-collie .axis-width1 {
  font-stretch: 80%;
  font-weight: 600;
  opacity: 0;
  text-align: center;
  width: 12vw;
  position: absolute;
  top: 19vh;
  left: 76.25vw;
  z-index: 5;
}
.reveal .vf-collie .axis-width1 .diagram-line {
  width: 100%;
  height: 1vh;
  border-top: solid 2px #fff;
  border-left: solid 2px #fff;
  border-right: solid 2px #fff;
}
.reveal .vf-collie.varcol-width .axis-width1 {
  font-stretch: 150%;
  opacity: 1;
}
.reveal .vf-collie .axis-width2 {
  font-stretch: 100%;
  font-weight: 400;
  opacity: 0;
  text-align: center;
  width: 9vw;
  position: absolute;
  top: 30vh;
  left: 39vw;
  z-index: 5;
}
.reveal .vf-collie .axis-width2 .diagram-line {
  width: 100%;
  height: 1vh;
  border-top: solid 2px #fff;
  border-left: solid 2px #fff;
  border-right: solid 2px #fff;
}
.reveal .vf-collie.varcol-width .axis-width2 {
  font-stretch: 25%;
  opacity: 1;
}
.reveal .vf-collie .axis-weight1 {
  font-weight: 600;
  opacity: 0;
  text-align: center;
  width: 15vw;
  position: absolute;
  top: 88vh;
  left: 72vw;
  z-index: 5;
}
.reveal .vf-collie .axis-weight1 .diagram-line {
  position: absolute;
  top: -1vh;
  left: 0;
  width: 100%;
  height: 1vh;
  border-bottom: solid 2px #fff;
  border-left: solid 2px #fff;
  border-right: solid 2px #fff;
}
.reveal .vf-collie.varcol-weight .axis-weight1 {
  font-weight: 900;
  opacity: 1;
}
.reveal .vf-collie .axis-weight2 {
  font-weight: 600;
  opacity: 0;
  text-align: center;
  width: 12vw;
  position: absolute;
  top: 87vh;
  left: 38vw;
  z-index: 5;
}
.reveal .vf-collie .axis-weight2 .diagram-line {
  position: absolute;
  top: -1vh;
  left: 0;
  width: 100%;
  height: 1vh;
  border-bottom: solid 2px #fff;
  border-left: solid 2px #fff;
  border-right: solid 2px #fff;
}
.reveal .vf-collie.varcol-weight .axis-weight2 {
  font-weight: 100;
  opacity: 1;
}
.reveal .vf-collie .axis-xheight1 {
  font-variation-settings: "YTLC" 450;
  opacity: 0;
  position: absolute;
  top: 58vh;
  left: 55vw;
  z-index: 5;
}
.reveal .vf-collie .axis-xheight1 .diagram-line {
  position: absolute;
  top: -25vh;
  right: -2vw;
  width: 1vw;
  height: 60vh;
  border-bottom: solid 2px #fff;
  border-left: solid 2px #fff;
  border-top: solid 2px #fff;
}
.reveal .vf-collie.varcol-xheight .axis-xheight1 {
  font-variation-settings: "YTLC" 570;
  opacity: 1;
}
.reveal .vf-collie .axis-xheight2 {
  font-variation-settings: "YTLC" 550;
  opacity: 0;
  position: absolute;
  top: 60vh;
  left: 21vw;
  z-index: 5;
}
.reveal .vf-collie .axis-xheight2 .diagram-line {
  position: absolute;
  top: -20vh;
  right: -2vw;
  width: 1vw;
  height: 45vh;
  border-bottom: solid 2px #fff;
  border-left: solid 2px #fff;
  border-top: solid 2px #fff;
}
.reveal .vf-collie.varcol-xheight .axis-xheight2 {
  font-variation-settings: "YTLC" 416;
  opacity: 1;
}
.reveal .vf-collie2 .variable_collies2 img {
  margin-top: -10vh;
  max-width: 100%;
}
.reveal .vf-collie2 .axis-slant {
  color: #fff;
  font-family: "Roboto Flex";
  font-size: 4vw;
  font-style: oblique 0deg;
  transition: all 2s ease-in-out;
  font-weight: 400;
  opacity: 1;
  text-align: center;
  width: 12vw;
  position: absolute;
  top: 22vw;
  left: 12.5vw;
  z-index: 5;
}
.reveal .vf-collie2 .axis-slant .label {
  padding-right: 2vw;
}
.reveal .vf-collie2 .axis-slant .diagram-line {
  position: absolute;
  top: -20vh;
  right: 0;
  width: 2px;
  height: 30vh;
  border-left: solid 2px #fff;
  transition: all 1s ease-in-out;
}
.reveal .vf-collie2 .axis-slant .diagram-line2 {
  position: absolute;
  top: -20vh;
  right: 0;
  width: 2px;
  height: 30vh;
  border-left: solid 2px #fff;
  transition: all 2s ease-in-out;
  transform-origin: bottom right;
}
.reveal .vf-collie2.varcol-slant .axis-slant {
  font-style: oblique 10deg;
}
.reveal .vf-collie2.varcol-slant .diagram-line {
  opacity: 0.6;
}
.reveal .vf-collie2.varcol-slant .diagram-line2 {
  transform: rotate(28deg);
  transform-origin: bottom right;
}
.reveal .optical-sizing .device-frame-3-1 {
  border-radius: 0.25rem;
  border: solid 1px #d6d6dc;
  opacity: 1;
  padding: 2rem;
  position: absolute;
  top: 10vh;
  left: 25vw;
  height: 65vh;
  width: 50vw;
  transition: all 1s ease-in-out;
  z-index: 10;
  --opsz: 12;
}
.reveal .optical-sizing .device-frame-3-1 > * {
  color: --color-text;
  font-family: "Literata";
  max-width: 100%;
  opacity: 1;
  transition: all 1s ease-in-out;
}
.reveal .optical-sizing .device-frame-3-1 label {
  font-family: var(--fonts-sans);
  position: absolute;
  top: 0.5vh;
  left: 0.5vw;
}
.reveal .optical-sizing .device-frame-3-1 h1 {
  color: var(--color-text);
  font-size: 5vw;
  font-stretch: 90%;
  font-weight: 800;
  line-height: 1;
  margin-left: 0;
  margin-bottom: 0.5rem;
  position: static;
  font-variation-settings: "opsz" var(--opsz);
}
.reveal .optical-sizing .device-frame-3-1 h2 {
  color: var(--color-text);
  font-size: 4vw;
  line-height: 1;
  margin-bottom: 0.75rem;
  position: static;
  font-variation-settings: "opsz" var(--opsz);
}
.reveal .optical-sizing .device-frame-3-1 h3 {
  color: var(--color-text);
  font-size: 2.25vw;
  line-height: 1;
  margin-bottom: 0.75rem;
  position: static;
  font-variation-settings: "opsz" var(--opsz);
}
.reveal .optical-sizing .device-frame-3-1 h4 {
  color: var(--color-text);
  font-size: 2vw;
  position: static;
  display: none;
  font-variation-settings: "opsz" var(--opsz);
}
.reveal .optical-sizing .device-frame-3-1 p {
  color: var(--color-text);
  font-size: 1.25vw;
  line-height: 1.3;
  margin-bottom: 0.5rem;
  position: static;
  font-variation-settings: "opsz" var(--opsz);
}
.reveal .optical-sizing .device-frame-3-1 .caption {
  color: var(--color-text);
  font-size: 1vw;
  line-height: 1.25;
  margin-bottom: 0.5rem;
  position: static;
  font-variation-settings: "opsz" var(--opsz);
}
.reveal .optical-sizing.opsz-correct .device-frame-3-1 h1 {
  --opsz: 72;
}
.reveal .optical-sizing.opsz-correct .device-frame-3-1 h2 {
  --opsz: 60;
}
.reveal .optical-sizing.opsz-correct .device-frame-3-1 h3 {
  --opsz: 48;
}
.reveal .optical-sizing.opsz-correct .device-frame-3-1 p {
  --opsz: 20;
}
.reveal .qh h1 {
  font-family: "Roboto Slab";
  font-weight: 275;
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-variant-numeric: oldstyle-nums;
  line-height: clamp(1.05em, 1vw, 1.1em);
  margin: 0 0 2rem 0;
  transition: all 0.2s ease-in-out;
}
.reveal .qh h2 {
  font-family: "Roboto Slab";
  font-weight: 400;
  font-size: clamp(1.5rem, 5vw, 2.5rem);
  line-height: clamp(1.05em, 1vw, 1.1em);
  margin: 0 0 2rem 0;
}
.reveal .qh h3 {
  font-family: "Roboto Slab";
  font-weight: 700;
  font-size: clamp(1.25rem, 2vw, 3.25rem);
  line-height: clamp(1.05em, 1vw, 1.1em);
  margin: 0 0 2rem 0;
}
.reveal .qh h4 {
  font-family: "Roboto Slab";
  font-weight: 400;
  font-size: clamp(1rem, 1vw, 1.25rem);
  line-height: clamp(1.05em, 1vw, 1.1em);
  margin: 0 0 2rem 0;
}
.reveal .qh p, .reveal .qh td {
  font-family: "Work Sans";
  font-weight: 350;
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  line-height: clamp(1.4em, 1vw, 1.5em);
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  transition: all 0.2s ease-in-out;
}
.reveal .qh p.p-standard, .reveal .qh td.p-standard {
  font-size: 1rem;
}
.reveal .qh.headings p {
  max-width: none;
  margin-left: 0;
}
.reveal .qh a {
  text-decoration: underline;
  text-decoration-thickness: 0.025em;
  text-underline-offset: 0.095em;
  text-decoration-skip-ink: auto;
}
.reveal .qh strong {
  font-weight: 625;
}
.reveal .wrong-numbers h1 {
  font-family: "Work Sans";
  font-variant-numeric: oldstyle-nums;
}
.reveal .wrong-numbers p {
  font-size: 2vw;
  font-variant-numeric: lining-nums;
}
.reveal .wrong-numbers .cost {
  text-align: right;
  font-variant-numeric: oldstyle-nums proportional-nums;
}
.reveal .wrong-numbers.numbers-updated h1 {
  font-variant-numeric: lining-nums;
}
.reveal .wrong-numbers.numbers-updated p {
  font-variant-numeric: oldstyle-nums;
}
.reveal .wrong-numbers.numbers-updated .cost {
  font-variant-numeric: lining-nums tabular-nums;
}

.quote {
  width: 60vw;
  margin-left: 2.5vw;
}
.quote-slide {
  display: grid;
  height: 100%;
  align-items: center;
}
.quote h3 {
  font-variant-ligatures: common-ligatures;
  font-size: 3.7vw;
  font-weight: 400;
  line-height: 1.25;
  text-align: left;
  transition: all 1s ease-in;
}
.quote h4 {
  --fraunces-heading-WONK: 0;
  font-size: 2.25vw;
  font-style: italic;
  font-weight: 250;
  margin-top: 1rem;
  text-align: left;
}

.centered {
  margin: auto;
  display: grid;
  align-content: center;
  justify-content: center;
  height: 100vh;
}
.centered img {
  margin: 0 auto;
}
.centered img[src*=".gif"] {
  height: auto;
  width: auto;
}