.backgrounds .slide-background {
    display: block !important;
}

pre + pre {
    box-shadow: none !important;
    margin-top: -20px !important;
}

.reveal section .fragment h1 {
    margin-bottom: 0;
    margin-top: 40px;
}

.ex h1 {
    margin: 0 !important;
}

.reveal section .fragment.init_visible {
    visibility: visible;
    opacity: 1;
}

.reveal section .fragment.highlight {
    transition-duration: 1s;
}

.reveal section var {
    font-style: normal;
    font-family: monospace;
    background: #3F3F3F;
    color: #DCDCDC;
    padding: 0 5px;
    border-radius: 10px;
    white-space: nowrap;
}

.highlight.fragment.visible,
.highlight.static {
    color: #000;
    border-radius: 10px;
    padding: 0 5px;
}

.highlight.yellow.fragment.visible,
.highlight.yellow.static {
    background-color: #ff0;
}

.highlight.blue.fragment.visible,
.highlight.static.blue {
    background-color: deepskyblue;
}

.highlight.green.fragment.visible,
.highlight.static.green {
    background-color: greenyellow;
}

.t-blue {
    color: deepskyblue !important;
}

.t-green {
    color: greenyellow !important;
}

.t-yellow {
    color: #ff0 !important;
}

.t-pink {
    color: hotpink !important;
}

/* ================================ */

.disclaimer {
    width: 650px;
    margin: 0 auto !important;
    text-align: justify;
    text-shadow: 1.5px 1.5px #000;
    transform: scaleX(.8);
}

.disclaimer h1 {
    text-shadow: 2px 5px #000;
    text-align: center;
    margin-top: 30px;
}

/* ================================ */

.oops {
    font-style: italic !important;
    opacity: .25;
}

.oops.visible {
    opacity: .25 !important;
}

/* ================================ */

.zoom.fragment {
    transition: all 1s ease-in-out !important;
}

.zoom.fragment.visible {
    font-size: 600px;
    margin-top: -50px;
}

.no-js-top {
    top: 0 !important;
}

/* ================================ */

html body .reveal .fragment .condensed {
    font-family: 'Impact';
}

html body .reveal .fragment .bold {
    font-family: 'Arial', serif;
    font-weight: bolder;
}

html body .reveal .fragment .italic {
    font-family: 'Helvetica', sans-serif;
    font-style: italic;
}

html body .reveal .fragment .serif {
    font-family: serif;
}

html body .reveal .fragment .sans {
    font-family: sans-serif;
}

html body .reveal .fragment .cursive {
    font-family: cursive;
}

html body .reveal .fragment .fantasy {
    font-family: fantasy;
}

html body .reveal .fragment .mono {
    font-family: monospace;
}

/* ================================ */

.font_attrs {
    position: relative;
}

.font_attrs > div {
    transition: all .5s ease-in-out;
}

.font_attrs .italic {
    -webkit-animation: skew 2s infinite;
}

@-webkit-keyframes skew {
    0% {
        transform: skewX(0deg);
    }
    50% {
        transform: skewX(12deg);
    }
    100% {
        transform: skewX(0deg);
    }
}

.font_attrs .bold {
    -webkit-animation: bolding 2s infinite;
}

@-webkit-keyframes bolding {
    0% {
        text-shadow: none;
    }
    50% {
        text-shadow: -3px -3px 0 #00BFFF, 3px -3px 0 #00BFFF, -3px 3px 0 #00BFFF, 3px 3px 0 #00BFFF,
        -2px -2px 0 #00BFFF, 2px -2px 0 #00BFFF, -2px 2px 0 #00BFFF, 2px 2px 0 #00BFFF;
    }
    100% {
        text-shadow: none;
    }
}

.font_attrs .condensed {
    -webkit-animation: stretch 2s infinite;
}

@-webkit-keyframes stretch {
    0% {
        letter-spacing: 0;
        transform: scaleX(.6);
    }
    50% {
        letter-spacing: 4px;
        transform: scaleX(1.2);
    }
    100% {
        letter-spacing: 0;
        transform: scaleX(.6);
    }
}

.reveal .circle_conclusion {
    position: absolute;
    width: 300px;
    height: 300px;
    line-height: 300px;
    top: 50%;
    left: 50%;

    margin: -150px 0 0 -150px;

    border-radius: 50%;
    color: #000;
    transform: scale(0);
    opacity: 0;

    transition: all .5s ease-in-out;
}

.font_attrs .circle_conclusion {
    background: deepskyblue;
}

.font_attrs.visible > div:not(.circle_conclusion) {
    opacity: 0 !important;
}

.font_attrs.visible > div:nth-child(1) {
    transform: translate(50%, 50%) !important;
}

.font_attrs.visible > div:nth-child(2) {
    transform: translate(-50%, 50%) !important;
}

.font_attrs.visible > div:nth-child(3) {
    transform: translate(0%, -50%) !important;
}

.font_attrs.visible .circle_conclusion {
    transform: scale(1);
    opacity: 1;
}

/* ================================ */

.font_sizes > div {
    padding-top: 180px;
    position: relative;
}

.pulse_font,
.pulse_line,
.pulse_words,
.pulse_letters {
    width: 100%;
    top: 20px;
    position: absolute;
}

.pulse_font {
    line-height: 180px !important;
    -webkit-animation: pulse_font 3s ease-in-out infinite;
}

@-webkit-keyframes pulse_font {
    0% {
        font-size: 50px;
    }
    50% {
        font-size: 130px;
    }
    100% {
        font-size: 50px;
    }
}

.pulse_line {
    -webkit-animation: pulse_line 3s ease-in-out infinite;
}

@-webkit-keyframes pulse_line {
    0% {
        line-height: .5;
    }
    50% {
        line-height: 2.5;
    }
    100% {
        line-height: .5;
    }
}

.pulse_words {
    line-height: 180px !important;
    -webkit-animation: pulse_words 3s ease-in-out infinite;
}

@-webkit-keyframes pulse_words {
    0% {
        word-spacing: -15px;
    }
    50% {
        word-spacing: 15px;
    }
    100% {
        word-spacing: -15px;
    }
}

.pulse_letters {
    line-height: 180px !important;
    transform: scaleY(2.5);
    -webkit-animation: pulse_letters 3s ease-in-out infinite;
}

@-webkit-keyframes pulse_letters {
    0% {
        letter-spacing: 0;
    }
    50% {
        letter-spacing: 30px;
    }
    100% {
        letter-spacing: 0;
    }
}

/* ================================ */

.visible .vector_cat {
    -webkit-animation: swing 5s ease-in-out infinite;
}

@-webkit-keyframes swing {
    15% {
        transform: translateX(15px);
    }
    30% {
        transform: translateX(-15px);
    }
    50% {
        transform: translateX(8px) rotate(5deg);
    }
    65% {
        transform: translateX(-8px) rotate(-5deg);
    }
    80% {
        transform: translateX(5px);
    }
    100% {
        transform: translateX(0);
    }
}

/* ================================ */

.dino {
    display: inline-block;
    position: relative;
}

.visible .dino:after {
    bottom: 60%;
    position: absolute;
    display: block;
    content: '';
    -webkit-animation: dino 10s linear infinite;
    height: 0;
    width: 80px;
    background: url('../img/dino.png') 50% 0 / 100% no-repeat;
}

@-webkit-keyframes dino {
    60% {
        height: 0;
    }
    65% {
        height: 60px;
    }
    75% {
        transform: scaleX(1)
    }
    80% {
        transform: scaleX(-1);
    }
    85% {
        transform: scaleX(-1);
    }
    90% {
        transform: scaleX(1);
    }
    95% {
        transform: rotate(-15deg);
        height: 60px;
    }
    100% {
        transform: rotate(0deg);
        height: 0;
    }
}

/* ================================ */

.font_styles {
    background: url('../img/font_styles.gif') no-repeat;
    background-size: 100% auto;
    height: 140px;
    display: inline-block;
    width: 90%;
}

.font_styles.italic {
    background-position: 50% 50%;
}

.font_styles.bold {
    background-position: 50% 0;
}

.font_styles.cond {
    background-position: 50% 100%;
}

/* ================================ */

.font_families {
    position: relative;
}

.font_families > div {
    margin-bottom: 30px;
}

.font_families .circle_conclusion {
    background: #ff0;
}

.font_families.visible > div:not(.circle_conclusion) {
    opacity: 0 !important;
}

.font_families.visible > div:nth-child(1) {
    transform: translate(50%, 100%) !important;
}

.font_families.visible > div:nth-child(2) {
    transform: translate(-50%, 100%) !important;
}

.font_families.visible > div:nth-child(3) {
    transform: translate(50%, 0) !important;
}

.font_families.visible > div:nth-child(4) {
    transform: translate(-50%, 0) !important;
}

.font_families.visible > div:nth-child(5) {
    transform: translate(0%, -100%) !important;
}

.font_families.visible .circle_conclusion {
    transform: scale(1);
    opacity: 1;
}

/* ================================ */

.css-font .prop {
    color: hotpink;
    background: none;
}

.css-font .fragment.current-fragment {
    background: greenyellow;
    color: #000;
}

.show_required.visible ~ *:not(.required) {
    opacity: .2 !important;
}

/* ================================ */

.line-height-example {
    font-size: 20px !important;
    width: 600px;
    display: inline-block;
}

.line-height-example p {
    line-height: inherit !important;
}

.line-height-example.p-30 p {
    font-size: 30px;
}

.line-height-mult {
    line-height: 1.5 !important;
}

.line-height-em {
    line-height: 1.5em !important;
}

.line-height-pixel {
    line-height: 30px !important;
}

/* ================================ */

.elips table {
    font-size: 40px;
    font-weight: normal;
}

.elips td,
.elips th {
    max-width: 150px;
}

.overflow {
    overflow: hidden;
    background-color: #3F3F3F;
}

.t-overflow {
    text-overflow: ellipsis;
}

/* ================================ */

.shrink ~ .w50 {
    position: relative;
    top: -200px;
    margin: 0 40px;
    vertical-align: top;
    width: 400px;
    transition: width 5s linear !important;
}

.shrink.visible ~ .w50 {
    width: 100px;
}

/* ================================ */

.lists > ul {
    vertical-align: top;
    margin: 20px 40px;
}

.f-line::first-line {
    font: 25px Courier New !important;
    letter-spacing: 6px;
}

.f-letter::first-letter {
    font: italic 50px Times New Roman;
    margin: 15px;
    padding: 10px;
    color: #f00;
    background: #00f;
    border: 4px dashed #0f0;
}