/* outfit-300 - latin */
@font-face {
    font-family: "Outfit";
    font-style: normal;
    font-weight: 300;
    src: local(""), url("outfit-v5-latin-300.woff2") format("woff2"),
    url("outfit-v5-latin-300.woff") format("woff");
    font-display: swap;
}

/* outfit-regular - latin */
@font-face {
    font-family: "Outfit";
    font-style: normal;
    font-weight: 400;
    src: local(""), url("outfit-v5-latin-regular.woff2") format("woff2"),
    url("outfit-v5-latin-regular.woff") format("woff");
    font-display: swap;
}

/* outfit-600 - latin */
@font-face {
    font-family: "Outfit";
    font-style: normal;
    font-weight: 600;
    src: local(""), url("outfit-v5-latin-600.woff2") format("woff2"),
    url("outfit-v5-latin-600.woff") format("woff");
    font-display: swap;
}

/* outfit-500 - latin */
@font-face {
    font-family: "Outfit";
    font-style: normal;
    font-weight: 500;
    src: local(""), url("outfit-v5-latin-500.woff2") format("woff2"),
    url("outfit-v5-latin-500.woff") format("woff");
    font-display: swap;
}

/* outfit-700 - latin */
@font-face {
    font-family: "Outfit";
    font-style: normal;
    font-weight: 700;
    src: local(""), url("outfit-v5-latin-700.woff2") format("woff2"),
    url("outfit-v5-latin-700.woff") format("woff");
    font-display: swap;
}

/*********************************************
 * GLOBAL STYLES
 *********************************************/
:root {
    --black: #000022;
    --white: #fff;
    --fe-primary: #ff8000;
    --fe-primary-variant: #f2a126;
    --fe-accent: #f4c434;
    --fe-secondary: #234486;
    --fe-secondary-variant: #305bc0;
    --fe-grey-100: #f7f7f7;
    --fe-grey-200: #e0e1e6;
    --fe-grey-200-90: rgba(224, 225, 230, .9);
    --header-opacity: 0;
    --header-visible: 1;
    --header-height: 3.75rem;
    --theme-dark: 0, 7%, 29%;
}

body, .reveal-viewport {
    background: #111;
}

.reveal {
    font-family: 'Outfit', sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 36px;
    letter-spacing: -0.02em;
    line-height: 1.6em;
    color: var(--fe-secondary);
}

::selection {
    color: var(--black);
    background: var(--fe-primary);
}

header.logo {
    display: block;
}

/*********************************************
 * HEADERS
 *********************************************/
.reveal h1,
.reveal h2,
.reveal h3,
.reveal h4,
.reveal h5,
.reveal h6 {
    margin: 0 0 20px 0;
    color: var(--fe-primary);
    font-family: 'Outfit', sans-serif;
    font-weight: 500;
    line-height: 0.9em;
    letter-spacing: 0.02em;
}

.reveal em {
    font-style: italic;
}

.shadow {
    text-shadow: 0 0 50px rgba(255, 255, 255, 0.9);
}
.shadow.dark {
    text-shadow: 0 0 50px rgba(0, 0, 0, 0.5);
}

h1.shadow, h2.shadow, h3.shadow, h4.shadow, h5.shadow, h6.shadow {
    text-shadow: 0 0 250px #fff;
}

h1.shadow.dark, h2.shadow.dark, h3.shadow.dark, h4.shadow.dark, h5.shadow.dark, h6.shadow.dark {
    text-shadow: 0 0 250px #111;
}

strong {
    font-weight: 700;
}


.subline {
    font-family: 'Outfit', sans-serif;
    color: #c8cdc0;
}

.fw-300 {
    font-weight: 300 !important;
}
.fw-500 {
    font-weight: 500 !important;
}
.fw-700 {
    font-weight: 700 !important;
}

.reveal h1 {
    font-size: 3.5em;
}

.reveal h1.big {
    font-size: 3.8em;
}

.reveal h2 {
    font-size: 2.5em;
}

.reveal h3 {
    font-size: 2em;
}

.reveal p small {
    font-size: 0.9em;
}

.reveal .align-left {
    text-align: left;
}

.reveal .align-right {
    text-align: right;
}

/*********************************************
 * LINKS
 *********************************************/
.reveal a:not(.image) {
    color: #ff8511;
    text-decoration: none;
    -webkit-transition: color .15s ease;
    -moz-transition: color .15s ease;
    -ms-transition: color .15s ease;
    -o-transition: color .15s ease;
    transition: color .15s ease;
}

.reveal a:not(.image):hover {
    color: #ff8511;
    border: none;
}

.reveal .roll span:after {
    color: #fafafa;
    background: #ff8511;
}

/*********************************************
 * IMAGES
 *********************************************/
.reveal section img {
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid #c0c0c0;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.5);
    -webkit-transition: all .2s linear;
    -moz-transition: all .2s linear;
    -ms-transition: all .2s linear;
    -o-transition: all .2s linear;
    transition: all .2s linear;

    max-width: 90%;
}

.reveal section img.no-border {
    background: transparent;
    border: none;
    box-shadow: none;
}

.reveal a:hover img {
    background: rgba(255, 255, 255, 0.2);
    border-color: #ff8511;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.55);
}

.reveal footer {
    font-size: 16px;
    font-weight: 100;
}

.reveal header svg {
    width: 120px;
}

.reveal blockquote {
    background: rgba(66, 66, 66, 0.8) !important;
    width: 80%;
    margin: -1% 10% 0 10%;
    font-size: 1.6em;
    line-height: 1.1em;
    font-family: Outfit, serif;
    font-style: italic;
    border: 1px solid #555555;
    box-shadow: 0 0 2px rgba(100, 100, 100, .2) !important;
    padding: 0;
}

.reveal blockquote.light {
    background: rgba(255, 255, 255, 0.75) !important;
    font-family: Outfit, serif;
    border: 1px solid #fff;
}

.reveal blockquote.light small.source a {
    color: #1B998B;
}


.reveal blockquote.light small.source a:hover {
    color: #102E37;
}

.reveal blockquote small.source,
.reveal .box small.source {
    display: block;
    padding: 5px;
    text-align: right;
    font-size: 14px;
    font-family: ralewaymedium, sans-serif;
    font-style: normal;
    color: #FCEFF9;
    line-height: 1em;
}

.reveal blockquote small.source a,
.reveal .box small.source a {
    color: #fafafa;
}

.reveal .white {
    color: #fafafa !important;
}

.reveal .blue {
    color: var(--fe-secondary) !important;
}
.reveal .blue2 {
    color: var(--fe-secondary-variant) !important;
}

.reveal .yellow {
    color: var(--fe-accent) !important;
}
.reveal .orange2 {
    color: var(--fe-primary-variant) !important;
}
.reveal .red {
    color: #990000 !important;
}
.reveal .green {
    color: #009900 !important;
}

.reveal .orange, .reveal .highlight-current-blue.visible {
    color: var(--fe-primary) !important;
}

.reveal .black {
    color: #101010;
}

.reveal .grey {
    color: #777;
}

.reveal hr {
    border: 1px solid var(--fe-accent);
    color: var(--fe-accent);
}
.reveal hr.blue {
    border: 1px solid var(--fe-secondary);
    color: var(--fe-secondary);
}
.reveal .strike-through {
    text-decoration: line-through;
}

.reveal ul.square-yellow li,
.reveal ul.square-pink li {
    list-style-type: square;
}
.reveal ul.square-yellow li::marker {
    color: var(--fe-accent);
}
.reveal ul li {
    line-height: 1.5em;
}

.reveal .box {
    background: rgba(81, 81, 81, 0.7) !important;
    margin: 0 auto;
    width: 80%;
    font-size: 56px;
    line-height: 1.1em;
    font-family: ralewaymedium, serif;
    font-weight: 260;
    font-style: normal;
    border: 1px solid #555555;
    box-shadow: 0 0 2px rgba(100, 100, 100, .2) !important;
    padding: 20px;
}

.reveal .space-top {
    margin-top: 3em;
}

.reveal code {
    text-align: left;
    font-family: 'Source+Code+Pro', monospace;
    font-weight: 300;
    font-size: 1.4rem;
    line-height: 1.5em;
}

.reveal code.small {
    font-size: 1rem;
    line-height: 1.1em;
}


.reveal pre {
    position: relative;
}

.reveal .hljs {
    background-color: transparent;
}

.reveal .hljs-ln-numbers {
    opacity: 1;
}

.reveal code.hljs:has(~ code.hljs.visible) {
    opacity: 0;
    transition: opacity 200ms;
}

.reveal .slides section .fragment.highlight-current-red.current-fragment,
.reveal .slides section .fragment.highlight-current-red.current-fragment .fragment.highlight-current-red {
    color: #CA054D !important;
}


.reveal ul {
    list-style: none;
}

.reveal h1 .small, .reveal .small {
    font-size: 0.8em;
}

.reveal ul li small {
    font-size: 0.75em;
}

.reveal h2 small, .reveal h3 small {
    font-size: 0.7em;
}

.reveal cite {
    font-style: italic;
}

.reveal .display-block {
    display: block;
}

.reveal .large {
    font-size: 1.3em;
}

.reveal .xxlarge {
    font-weight: 700;
    font-size: 3em;
}

.container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.reveal .container .col {
    width: 240px;
}
.reveal .container .col img {
    width: 240px;
}

.reveal .slide-number {
    background-color: var(--black);
    border-radius: 24px;
    width: 18px;
    height: 18px;
    padding: 6px;
    top: 20px;
    right: 20px;
    bottom: auto;
    left: auto;
    text-align: center;
}

.reveal .slide-number a {
    color: #fff;
    text-align: center;
    font-size: 11px;
    font-weight: bold;
    line-height: 18px;
}

.reveal .more-line-height, .reveal ul.more-line-height li {
    line-height: 1.5em;
}


.reveal .slides section .fragment.step-fade-in-then-out.first-element {
    opacity: 1;
    display: block;
}

.reveal .slides section .fragment.step-fade-in-then-out.first-element.visible:not(.current-fragment) {
    display: none;
}

.reveal .slides section .fragment.step-fade-in-then-out {
    opacity: 0;
    display: none;
}

.reveal .slides section .fragment.step-fade-in-then-out.current-fragment {
    opacity: 1;
    display: block;
}

.reveal .slides section .fragment.last-element {
    display: none;
}

.slides section .fragment.last-element.visible {
    display: block;
}

.reveal .initial-display-none {
    display: none;
}

.reveal .initial-display-none.visible {
    display: inline;
}

.reveal .only-current:not(.current-fragment) {
    display: none;
}

.hidden {
    visibility: hidden;
}