* {
  font-family: 'Figtree', sans-serif;
  font-weight: 300;
}
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
body {
  background-color: #0D0D0D;
}

.presentation-root {
  height: 100vh;
  scrollbar-width: none;
  -ms-overflow-style: none;
  overflow: hidden;
}
.presentation-root::-webkit-scrollbar {
 display: none;
}
.slide {
  flex: 0 0 100vw;
  height: 100vh;
  position: relative;
  opacity: 1;
  pointer-events: auto;
  scroll-snap-align: start;
}

.title-slide {
  background-color: #0D0D0D;
  padding: 10% 0;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}
.title-slide .main-title,
.title-slide .speaker-section {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}
.title-slide .main-title {
  top: 30vh;
  font-size: 7.15vh;
  white-space: nowrap;
  line-height: 1.1;
  font-weight: 500;
  color: #A6A6A6;
}
.title-slide .speaker-section {
  top: 64vh;
  font-size: 3.9vh;
  margin: 0;
  padding: 0;
}
.title-slide .speaker-label {
  color: #7EB7E2;
  margin: 10px;
}
.title-slide .speaker-author {
  color: #A6A6A6;
  margin: 10px;
}
.watermark {
  position: absolute;
  display: block;
  width: auto;
}
.title-slide .bottom-right {
  bottom: 8.9%;
  right: 5.3%;
  height: 3.558%;
}
.title-slide .bottom-left {
  bottom: -11.5%;
  left: -3.9%;
  height: 45.5%;
  clip-path: polygon(
    0% 24%,
    0% 75%,
    100% 75%,
    100% 24%
  );
}
.title-slide .top-right {
  top: -10.4%;
  right: 0%;
  height: 48.4%;
  clip-path: polygon(
    0% 21.5%,
    0% 70.6%,
    100% 70.6%,
    100% 21.5%
  );
}
.title-slide .top-banner {
  top: -51.1%;
  right: -7.264%;
  height: 129.8%;
  clip-path: polygon(
    0% 39.4%,
    0% 42.48%,
    100% 42.48%,
    100% 39.4%
  );
}
.poster-title {
  top: 50%;
  transform: translateY(-50%);
  right: 84%;
  writing-mode: vertical-lr;
  text-orientation: upright;
  letter-spacing: 1rem;
  font-weight: 800;
  font-size: 4.55vh;
  z-index: 10;
  text-align: center;
}
.poster-content, .label-content {
  position: absolute;
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.poster-content {
  left: 28.4%;
  top: 12.6%;
  width: 54.9%;
  height: 78%;
}
.poster-content p {
  font-size: 3.25vh;
}
.poster-content .math,
.label-content .math {
  font-style: italic;
  margin: 0;
}
.poster-content div, .label-content div {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: nowrap;
  height: 100%;
  justify-content: space-evenly;
}
.poster-content div {
  display: flex;

}
.poster-slide .bottom-right {
  bottom: 0;
  left: 75.832%;
  height: 56.76%;
  clip-path: polygon(
    25.35% 0%,
    25.35% 100%,
    85% 100%,
    85% 0%
  );
}
.poster-slide .top-left {
  top: 5.3%;
  left: 27.4%;
  height: 3.554%;
  clip-path: polygon(
    0% 0%,
    0% 100%,
    100% 100%,
    100% 0%
  );
}
.poster-slide .poster-left {
  top: 0;
  right: 69.915%;
  height: 100%;
  clip-path: polygon(
    70% 0%,
    70% 100%,
    96.2% 100%,
    96.2% 0%
  );
}
.label-title {
  font-size: 7.15vh;
  top: -1%;
  left: 4%;
}
.label-content {
  left: 8.3%;
  top: 21.5%;
  width: 83%;
  height: 61%;
}
.label-content p {
  font-size: 4.55vh;
}
.label-content .nixos {
  font-size: 3.25vh;
  color: #8D4C8B;
}
.label-content .math.nixos span {
  font-size: 2.925vh;
  color: #665792;
}
.label-content h2.nixos,
.label-content span.emp {
  color: #665792;
  font-weight: 600;
}
.label-content h2.nixos{
  font-family: KaTeX_Main, Times New Roman, serif;
}
.label-content 
.label-content div {
  display: flex;

}
.label-content div div {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-evenly;
  height: auto;
}
.label-slide .bottom-right {
  bottom: -8.6%;
  right: 0;
  height: 32.44%;
  clip-path: polygon(
    0% 24%,
    0% 73.5%,
    100% 73.5%,
    100% 24%
  );
}
.label-slide .bottom-left {
  bottom: 9.1%;
  left: 4.6%;
  height: 3.554%;
  clip-path: polygon(
    0% 0%,
    0% 100%,
    100% 100%,
    100% 0%
  );
}
.label-slide .top-label {
  top: 3.6%;
  right: 65.59%;
  height: 24.681%;
  clip-path: polygon(
    0% 41.6%,
    0% 58.4%,
    100% 58.4%,
    100% 41.6%
  );
}
.label-content .no-table {
  display: flex;
  flex-direction: column;
}
div .table {
  display: table;
  color: #FFFFFF;
  width: 85%;
  height: 65%;
}
.table .row {
  display: table-row;
  height: auto;
}
.table .header {
  background-color: #000;
  align-items: center;
  border-bottom: 5px solid #fff;
  height: 31%;
}
.cell, .header {
  display: table-cell;
  padding: 1rem;
  text-align: center;
  align-content: center;
  height: 23%;
}
.no-table .arrow-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 150%;
}
.arrow-container .arrow-content {
  background-color: #fff;
  position: relative;
  margin: -0.5rem;
  color: #000;
  text-align: center;
  font-size: 2.275vh;
  width: 25%;
  height: 60%;
  align-content: center;
  clip-path: polygon(
    0%   0%,
    85%  0%,
    100% 50%,
    85%  100%,
    0%   100%,
    15%  50%);
  white-space: pre-line;
  flex-wrap: wrap;
}
.arrow-content .arrow {
  margin: 0px;
  padding: 1rem 2em 1rem 2em;
  background-color: #A297C1;
  width: -webkit-fill-available;
  height: -webkit-fill-available;
  align-content: center;
  clip-path: polygon(
    2%  2%, 
    84% 2%,
    99% 50%, 
    84% 98%,
    2% 98%,
    16% 50%);
}
#nixos-left {
  position: relative;
  justify-content: space-evenly;
  margin: 3.3% 9.5% 0% 0%;
  width: 100%;
  left:-3%;
}
#nixos-right {
  position: relative;
  top:-5.5%;
  text-align: left;
  align-items: start;
}
div.flake.nixos {
  position: relative;
  left:-15%;
  justify-content: center;
  gap: 1rem;
}
div.flake.nixos p {
  margin: 0;
}
code.haskell.nix.nixos {
  left:45%;
  top:-10%;
  font-size: 1.8vh;
}