:root {
  --r-background-color: #001219;
  --r-heading-color: #3590f3;
  --r-heading-font: var(--r-main-font);
  --r-heading-letter-spacing: -0.04em;
  --r-heading-text-transform: none;
  --r-link-color-dark: #9b2226;
  --r-link-color-hover: #bb3e03;
  --r-link-color: #ca6702;
  --r-main-color: #dfdfdf;
  --r-main-font-size: 25px;
  --r-main-font: "Fira Sans", sans-serif;
  --border-radius: 0.25em;
  --code-inline-color: #fe5f55;
  --code-background-color: #1a2a30;
  --code-letter-spacing: -0.02em;
}

/* Slides */
#first-slide > h1,
#first-slide > h1 > b {
  font-weight: 800;
}
#first-slide > h1 > b {
  color: var(--r-main-color);
}
#first-slide > h2 {
  opacity: 0.7;
}
.reveal .slides {
  letter-spacing: var(--r-heading-letter-spacing);
}
.reveal .slide-number {
  right: auto;
  left: 8px;
  bottom: 10px;
  border-radius: var(--border-radius);
}

/* Cabeçalhos */
h1:not(.title, :last-child) {
  --r-heading1-size: 1.2em;
  --r-heading-font-weight: 500;
  --r-heading-margin: 0;
  opacity: 0.5;
}

/* Tipografia */
.reveal em, .reveal i:not(.ti) {
  font-style: oblique;
}
.reveal strong, .reveal b, .fw-bold {
  font-weight: 600;
}
.reveal blockquote {
  margin: 0 auto;
  width: 100%;
  padding: 10px 5px;
  box-shadow: none;
  border-radius: var(--border-radius);
}

/* Ícones */
.ti {
  font-size: 0.9em;
}
.ti.d-block {
  display: block;
}
h1 > .ti,
h2 > .ti {
  display: inline-block;
  margin-left: -1.15em;
  color: var(--code-inline-color);
}

/* Layout */
.d-flex {
  display: flex;
  justify-content: space-between;
  column-gap: 1em;
}
.d-flex.cols-equal > div {
  flex: 1 1 0;
}
.d-flex.cols-2 > div {
  flex: calc(50% - 0.5em) 1 0;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mt-0 {
  margin-top: 0 !important;
}

  /* Código */
.reveal pre {
  width: 100%;
  font-size: 0.6em;
  letter-spacing: var(--code-letter-spacing);
  line-height: 1.4;
}
code.hljs {
  border-radius: var(--border-radius);
  background-color: var(--code-background-color);
  scrollbar-color: var(--r-background-color) var(--code-background-color);
}
kbd, code:not(.hljs) {
  font-family: var(--r-code-font);
  color: var(--code-inline-color);
}
.hljs-ln-line.hljs-ln-numbers {
  white-space: nowrap;
  opacity: 0.3;
}
.hljs.language-shell {
  user-select: all;
}
.hljs.language-shell > span.hljs-meta.prompt_:first-child {
  user-select: none;
}

/* Imagens */
.filter-invert {
  filter: invert(1);
}

/* Sobre mim */
#about-me {
  display: flex;
  grid-template-columns: auto 1fr;
  column-gap: 3rem;
}
#about-me > .text-center {
  margin-top: 0.25em;
}
#about-me > ul {
  list-style-type: circle;
}
#profile-pic > img {
  margin: 0;
  border-radius: var(--border-radius);
}
#profile-pic > figcaption {
  font-weight: 600;
  line-height: 1;
}
.about-me-links {
  margin-top: 3rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  row-gap: 1.25rem;
  justify-content: start;
}
.about-me-links > a {
  display: flex;
  flex: 33.333% 0 0;
  align-items: center;
  text-align: left;
  font-size: 0.8em;
  column-gap: 0.4em;
}
.about-me-links > a > svg {
  width: 40px;
}
.about-me-links > a > svg .fill {
  fill: var(--r-link-color);
}
.about-me-links > a:is(:hover, :focus) > svg .fill {
  fill: var(--r-link-color-hover);
}
.about-me-links > div > svg .fill-bg,
.about-me-links > a > svg .fill-bg {
  fill: var(--r-background-color);
}
.about-me-links > a > span > span,
.about-me-links > a > span > b {
  display: block;
  line-height: 1;
}
.about-me-links > a > span > span {
  color: var(--r-main-color);
}

/* Slides e Workshops */
#qrcode-slide {
  margin: 0;
  background: #fff;
  border-radius: var(--border-radius);
}
#qrcode-workshops-text {
  line-height: 1.2;
  font-size: 1.3em;
}

/* Referências */
a.reference {
  display: block;
  font-size: 0.6em;
}
a.reference {
  margin-top: 1em;
  --link-opacity: 0.8;
  opacity: var(--link-opacity);
}
a.reference:before {
  opacity: var(--link-opacity);
  content: '[';
}
a.reference:after {
  opacity: var(--link-opacity);
  content: ']';
}
