@import url("./fonts/museo/museo.css");
@import url("./fonts/museo-sans/museo-sans.css");
@import url("./fonts/fira-code/fira-code.css");
@import url("./fonts/fira-sans/fira-sans.css");
@import url("./fonts/jetbrains-mono/jetbrains-mono.css");
/*********************************************
 * GLOBAL STYLES
 *********************************************/
:root {
  --r-background-color: #fff;
  --r-main-font: Museo, Palatino Linotype, Book Antiqua, Palatino, serif;
  --r-main-font-size: 20pt;
  --r-main-color: #1a1a1a;
  --r-block-margin: 20px;
  --r-heading-margin: 0 0 20px 0;
  --r-heading-font: Museo, Palatin Linotype, Book Antiqua, Palatino, serif;
  --r-heading-color: #26235c;
  --r-heading-line-height: 1.2;
  --r-heading-letter-spacing: normal;
  --r-heading-text-transform: none;
  --r-heading-text-shadow: none;
  --r-heading-font-weight: bold;
  --r-heading1-text-shadow: none;
  --r-heading1-size: 60pt;
  --r-heading2-size: 50pt;
  --r-heading3-size: 40pt;
  --r-heading4-size: 30pt;
  --r-code-font: JetbrainsMono NFM;
  --r-link-color: #5561a6;
  --r-link-color-dark: rgb(59.093625498, 67.4362549801, 115.406374502);
  --r-link-color-hover: rgb(151.1673306773, 158.6733067729, 201.8326693227);
  --r-selection-background-color: #FF5E99;
  --r-selection-color: #fff;
}

.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 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-code-font-size: 16pt;
  --r-code-font: JetbrainsMono NFM;
}

.backgrounds {
  background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJTRFNDX0xvZ28iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4NjEuODkgNTExLjY4Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzkwY2E0Mjt9LmNscy0ye2ZpbGw6IzU1NjFhNjt9LmNscy0ze2ZpbGw6IzI2MjM1Yzt9PC9zdHlsZT48L2RlZnM+PGcgaWQ9IlNEU0NfTG9nb19SR0IiPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0ibTk1MC4yMiw4Mi40aDE2MS44N2M1Mi40NCwwLDk1LjgxLDQyLjg2LDk1LjgxLDk1LjgxdjE2Ny40MWMwLDUyLjk1LTQzLjM3LDk1LjgxLTk1LjgxLDk1LjgxaC0xNjEuODdWODIuNFptMTY0Ljg5LDI5My45OGMxNS4xMywwLDI3LjIzLTEyLjYxLDI3LjIzLTI3Ljczdi0xNzMuNDZjMC0xNS4xMy0xMi4xLTI3LjczLTI3LjIzLTI3LjczaC05OS4zNHYyMjguOTNoOTkuMzRaIi8+PHBhdGggY2xhc3M9ImNscy0zIiBkPSJtNjI0LjMsMzU3LjIxbDYxLjUyLTE2LjE0LDMuMDMsOS41OGM1LjA0LDE2LjY0LDEyLjYsMjUuNzIsMjcuNzMsMjUuNzJoNzMuMTJjMTQuNjIsMCwyNi43Mi0xMi42MSwyNi43Mi0yNy43M3YtMTcuNjVjMC0xMS4wOS03LjA2LTIxLjY4LTE3LjE0LTI0LjJsLTExMy40Ni0zMC43NmMtMzUuOC05LjU4LTYwLjUxLTQ1Ljg5LTYwLjUxLTg1LjIydi0xNi42NGMwLTUyLjk0LDM4LjgzLTkxLjc3LDkxLjc4LTkxLjc3aDcwLjU5YzQ4LjkxLDAsODguNzUsMzYuMzEsOTQuOCw4My43bC02MS4wMSwxNi42NC0zLjAzLTkuNThjLTUuMDQtMTYuNjQtMTIuNjEtMjUuNzItMjcuMjMtMjUuNzJoLTczLjEyYy0xNS4xMywwLTI3LjIzLDEyLjYxLTI3LjIzLDI3LjczdjEyLjYxYzAsMTcuMTQsOS41OCwyNy4yMywyNi43MiwzMS43N2w5NC4zLDI0LjJjMzkuMzMsMTAuMDgsNjguNTgsNDQuMzcsNjguNTgsODcuMjR2MTMuMTFjMCw1My45NS00MC4zNCw5Ny4zMi05NC4zLDk3LjMyaC02Ni4wNmMtNDkuNDIsMC04OS43Ni0zNi4zMS05NS44MS04NC4yMVoiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Im0xMjc5LjY3LDM1Ny4yMWw2MS41Mi0xNi4xNCwzLjAzLDkuNThjNS4wNCwxNi42NCwxMi42LDI1LjcyLDI3LjczLDI1LjcyaDczLjEyYzE0LjYyLDAsMjYuNzItMTIuNjEsMjYuNzItMjcuNzN2LTE3LjY1YzAtMTEuMDktNy4wNi0yMS42OC0xNy4xNC0yNC4ybC0xMTMuNDYtMzAuNzZjLTM1LjgtOS41OC02MC41MS00NS44OS02MC41MS04NS4yMnYtMTYuNjRjMC01Mi45NCwzOC44My05MS43Nyw5MS43OC05MS43N2g3MC41OWM0OC45MSwwLDg4Ljc1LDM2LjMxLDk0LjgsODMuN2wtNjEuMDEsMTYuNjQtMy4wMy05LjU4Yy01LjA0LTE2LjY0LTEyLjYxLTI1LjcyLTI3LjIzLTI1LjcyaC03My4xMmMtMTUuMTMsMC0yNy4yMywxMi42MS0yNy4yMywyNy43M3YxMi42MWMwLDE3LjE0LDkuNTgsMjcuMjMsMjYuNzIsMzEuNzdsOTQuMywyNC4yYzM5LjMzLDEwLjA4LDY4LjU4LDQ0LjM3LDY4LjU4LDg3LjI0djEzLjExYzAsNTMuOTUtNDAuMzQsOTcuMzItOTQuMyw5Ny4zMmgtNjYuMDZjLTQ5LjQyLDAtODkuNzYtMzYuMzEtOTUuODEtODQuMjFaIi8+PHBhdGggY2xhc3M9ImNscy0zIiBkPSJtMTYwNC4yMiwzNDUuNjJ2LTE2Ny40MWMwLTUyLjk1LDQyLjg2LTk1LjgxLDk1LjgxLTk1LjgxaDY2LjU2YzQ4LjkxLDAsODguNzUsMzYuMzEsOTUuMyw4My43bC02MS41MiwxNi42NC0zLjUzLTkuNThjLTYuMDUtMTYuNjQtMTIuMS0yNS43Mi0yNy4yMy0yNS43MmgtNzMuMTJjLTE1LjEzLDAtMjcuMjMsMTIuNjEtMjcuMjMsMjcuNzN2MTczLjQ2YzAsMTUuMTMsMTIuMSwyNy43MywyNy4yMywyNy43M2g3Mi4xMWMxNS4xMywwLDIzLjctOC41NywyOC4yNC0yNS43MmwyLjUyLTkuNTgsNjEuNTIsMTYuMTRjLTYuMDUsNDcuOS00NS44OSw4NC4yMS05NC44LDg0LjIxaC02Ni4wNmMtNTIuOTUsMC05NS44MS00Mi44Ni05NS44MS05NS44MVoiLz48ZyBpZD0iVHJpYW5nbGUiPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0ibTQ0Mi40Myw0ODkuNzljLTI1LjE5LDEzLjg1LTU0LjQ0LDIxLjg5LTg2LjQ5LDIxLjg5aC0xNzAuNzNjLTkzLjUzLDAtMTUxLjk5LTEwMS4yNS0xMDUuMjMtMTgyLjI0bC43Ni0xLjMxLDgxLjMzLTE0MC44NmMyMy42NC00MC41NSw4Mi4zMy00MC40NiwxMDUuODMuMjRsLTgxLjE4LDE0MC42MmMtMjMuNTUsNDAuNzksNS44OCw5MS43OCw1Mi45OCw5MS43OGgxNjMuODljOTMuMzcsMCwxNTEuOC0xMDAuOTQsMTA1LjQ0LTE4MS44NmwyLjQ0LDQuMjRjNTMuMTEsOTEuOTgsMTQuNDMsMjAxLjYzLTY5LjA0LDI0Ny41MVoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Im0zNDkuMDksMzI4LjEzbC04MS4xOS0xNDAuNjJjLTIzLjUtNDAuNzEtODIuMTgtNDAuNzktMTA1LjgzLS4yNGwtODEuMzMsMTQwLjg2LS43NiwxLjMxYy00Ni43Niw4MC45OSwxMS43LDE4Mi4yNCwxMDUuMjMsMTgyLjI0aC01LjM0QzczLjY2LDUxMS42OC0xLjk2LDQyMy4zNi4wNCwzMjguMTNjLjU5LTI4LjU4LDguMTktNTcuNzgsMjQuMDMtODUuNDFMMTA5LjcsOTQuNDFjNDYuNzYtODAuOTksMTYzLjY3LTgwLjk5LDIxMC40MywwbC43NiwxLjMyLDgxLjE4LDE0MC42MmMyMy41NSw0MC43OC01Ljg4LDkxLjc4LTUyLjk4LDkxLjc4WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0ibTUwOS4wMywyMzguMDRsLS4yMi0uMzgtODUuOTktMTQ4LjkyYy0xNS45NS0yNy4yNC0zNy4zMS00OC4yMS02MS41OC02Mi44OUMyNzkuNzYtMjMuNSwxNjUuNDYtMi4xOCwxMTIuMzYsODkuNzlsLTIuNjYsNC42MmM0Ni43Ni04MC45OSwxNjMuNjctODAuOTksMjEwLjQzLDBsLjc2LDEuMzIsODEuMTgsMTQwLjYyYzIzLjU1LDQwLjc4LTUuODgsOTEuNzgtNTIuOTgsOTEuNzhoLTE2Mi4zN2MtMjMuNTUsNDAuNzksNS44OCw5MS43OCw1Mi45OCw5MS43OGgxNjMuODljOTMuMzcsMCwxNTEuOC0xMDAuOTQsMTA1LjQ0LTE4MS44NloiLz48L2c+PC9nPjwvc3ZnPg==");
  background-repeat: no-repeat;
  background-position: right 1em top 1em;
  background-size: 10em;
}

.reveal .slides {
  text-align: left;
}
.reveal .slide-number {
  font-size: 16pt;
  left: 8px;
  right: auto;
}
.reveal ul {
  display: block;
}
.reveal code {
  border-radius: 7pt;
  background: #ededed;
  padding: 0ex;
  padding-left: 0.3ex;
  padding-right: 0.3ex;
}
.reveal code.has-highlights tr:not(.highlight-line) {
  opacity: 0.8 !important;
}
.reveal pre {
  border-radius: 4pt;
  font-size: 16pt;
  width: fit-content;
}
.reveal pre code {
  font-size: inherit;
  line-height: normal;
  color: #e6e6e6;
  background: #232323;
  padding: 1ex;
  padding-left: 2ex;
  padding-right: 2ex;
}
.reveal .slide-menu-button {
  bottom: 50px !important;
}
.reveal .size-h1 {
  font-size: 60pt;
}
.reveal .size-h2 {
  font-size: 50pt;
}
.reveal .size-h3 {
  font-size: 40pt;
}
.reveal .size-h4 {
  font-size: 30pt;
}
.reveal .progress {
  height: 8px;
}
.reveal .slide-number {
  border-top-left-radius: 2pt;
  border-top-right-radius: 2pt;
}
.reveal kbd,
.reveal .keyboard {
  background-color: #eee;
  border-radius: 3px;
  border: 1px solid #b4b4b4;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 2px 0 0 rgba(255, 255, 255, 0.7) inset;
  color: #333;
  display: inline-block;
  font-size: 0.85em;
  font-weight: 700;
  line-height: 1;
  padding: 2px 4px;
  white-space: nowrap;
}
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
  color: #5561a6;
}
.reveal ul + h2,
.reveal ul + h3,
.reveal ul + h4,
.reveal ul + h5,
.reveal ul + h6 {
  margin-top: var(--r-block-margin);
}
.reveal figcaption {
  font-size: 16pt;
  font-style: italic;
}