
.reveal {
    font-family: Unica77LLWeb, sans-serif;
    background: black;
    text-underline-offset: 0.333em;
    font-weight: 200;
}

.reveal b {
    font-weight: 900;
}

.reveal li {
    margin-bottom: 0.25em;
}

.reveal .small {
    font-size: 0.6em;
}

.reveal .smally {
    font-size: 0.75em;
    line-height: 1em;
}

.reveal h1 {
    font-family: Unica77LLWeb, sans-serif;
    font-weight: 900;
}

.reveal h2 {
    font-family: Unica77LLWeb, sans-serif;
    font-weight: 900;
}

.reveal .output-box {
    box-shadow: 0 0 1em 1em rgba(0,0,0,0.75), 0 0 3em 3em rgba(0,0,0, 0.5);
    background: #222 !important;
    /*
    background: rgba(20, 20, 20, 0.75);
    backdrop-filter: blur(20px);
    */
}

.reveal .standout {
    text-shadow: 0 0 0.5em rgba(0, 0, 0, 0.75),
                 0 0 2em rgba(0, 0, 0, 0.5),
                 0 0 5em rgba(0, 0, 0, 0.25)
                   !important;
}

.reveal .color-hl {
    color: tomato;
}

.reveal pre {
    width: 100%;
    font-weight: normal;
    margin: 0;
}

.reveal code {
    background: black;
}

.reveal tt {
    font-family: TypoPRO Iosevka Term, monospace;
}

.reveal pre code,
.reveal pre.highlight {
    font-family: TypoPRO Iosevka Term, monospace;
    padding: 1.0em;
    line-height: 150%;
    max-height: 100%;
    box-sizing: border-box;
    overflow: hidden !important;
    font-size: 1.5rem;
}

.reveal .hljs-ln-numbers {
    opacity: 0.25;
    padding-right: 1em;
}

.reveal .slides section .left-side {
    padding: 0;
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    width: 49%;
    left: 0;
    margin: 0;
    height: 100%;
    vertical-align: middle;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.reveal .slides section .right-side {
    position: relative;
    display: inline-block;
    box-sizing: border-box;
    width: 49%;
    margin: 0;
    right: 0;
    vertical-align: middle;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.reveal .flexy {
    display: flex;
    height: 100%;
}

.reveal .flexy-col {
    flex: 1;
}

.reveal .fragment.underline {
    opacity: 1;
    visibility: inherit;
}
.reveal .fragment.underline.visible {
  text-decoration: underline;
}

@keyframes spaghetti-img-anim {
    from { transform: rotate(30deg); }
    to { transform: rotate(-30deg); }
}
@keyframes spaghetti-child-anim {
    from { transform: translate(-0%, -10%); }
    20% { transform: translate(-10%, -10%); }
    40% { transform: translate(-10%, -0%); }
    80% { transform: translate(-0%, -0%); }
    to { transform: translate(-0%, -10%); }
}
@keyframes spaghetti-anim {
    from { transform: scale(2); }
    50% { transform: scale(1.7); }
    to { transform: scale(2); }
}
@keyframes spaghetti-container-anim {
    from { transform: scale(0); }
    to { transform: scale(4); }
}
.spaghetti-container {
    position: absolute;
    left: 45%;
    right: 0%;
    top: 35%;
    bottom: 0;
    transform-origin: 0% 0% 0;
    animation: spaghetti-container-anim 20s 1 forwards;
}
.spaghetti {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    animation: spaghetti-anim 1s infinite alternate;
}
.spaghetti-child {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    animation: spaghetti-child-anim 2s infinite alternate;
}
.spaghetti-img {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    animation: spaghetti-img-anim 0.5s infinite alternate;
}

/* hack to get the dog animating */
@keyframes goya-perro-anim {
    from { background-position: center; }
    to { background-position: bottom; }
}
.goya-perro .slide-background-content {
    animation: 5s ease-in-out forwards goya-perro-anim;
}

.alex-right #bg .right-side {
}
