
/*****************************************************************
 *
 * Appearance for Reveal.js 
 * Version 1.3.1
 * 
 * @author: Martijn De Jongh (Martino), martijn.de.jongh@gmail.com
 * https://github.com/martinomagnifico
 *
 * @license 
 * MIT licensed
 * 
 * Copyright (C) 2023 Martijn De Jongh (Martino)
 *
 ******************************************************************/

/* Custom Appearance animation keyframes */
@keyframes skidLeft {
  from {
    transform: translate3d(-20%, 0, 0) skewX(0deg);
    opacity: 0;
  }
  50% {
    transform: translate3d(2%, 0, 0) skewX(-10deg);
    opacity: 1;
  }
  75% {
    transform: translate3d(-1%, 0, 0) skewX(10deg);
  }
  to {
    transform: translate3d(0, 0, 0) skewX(0deg);
  }
}
@keyframes skidLeftBig {
  from {
    transform: translate3d(-100%, 0, 0) skewX(0deg);
    opacity: 0;
  }
  50% {
    transform: translate3d(2%, 0, 0) skewX(-10deg);
    opacity: 1;
  }
  75% {
    transform: translate3d(-1%, 0, 0) skewX(10deg);
  }
  to {
    transform: translate3d(0, 0, 0) skewX(0deg);
  }
}
@keyframes skidRight {
  from {
    transform: translate3d(20%, 0, 0) skewX(0deg);
    opacity: 0;
  }
  50% {
    transform: translate3d(-2%, 0, 0) skewX(10deg);
    opacity: 1;
  }
  75% {
    transform: translate3d(1%, 0, 0) skewX(-10deg);
  }
  to {
    transform: translate3d(0, 0, 0) skewX(0deg);
  }
}
@keyframes skidRightBig {
  from {
    transform: translate3d(100%, 0, 0) skewX(0deg);
    opacity: 0;
  }
  50% {
    transform: translate3d(-2%, 0, 0) skewX(10deg);
    opacity: 1;
  }
  75% {
    transform: translate3d(1%, 0, 0) skewX(-10deg);
  }
  to {
    transform: translate3d(0, 0, 0) skewX(0deg);
  }
}
@keyframes shrinkIn {
  from {
    transform: scale3d(1.3, 1.3, 1.3);
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes shrinkInBig {
  from {
    transform: scale3d(1.6, 1.6, 1.6);
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes shrinkInBlur {
  from {
    transform: scale3d(1.3, 1.3, 1.3);
    opacity: 0;
    filter: blur(5px);
  }
  75% {
    opacity: 1;
    filter: blur(0.5px);
  }
  100% {
    transform: scale3d(1, 1, 1);
  }
}
/* Custom Appearance animation classes */
.skidRight, .animate__skidRight {
  animation-name: skidRight;
}

.skidRightBig, .animate__skidRightBig {
  animation-name: skidRightBig;
}

.skidLeft, .animate__skidLeft {
  animation-name: skidLeft;
}

.skidLeftBig, .animate__skidLeftBig {
  animation-name: skidLeftBig;
}

.shrinkIn, .animate__shrinkIn {
  animation-name: shrinkIn;
}

.shrinkInBig, .animate__shrinkInBig {
  animation-name: shrinkInBig;
}

.shrinkInBlur, .animate__shrinkInBlur {
  animation-name: shrinkIn;
}

.shrinkInBlurAnyway, .animate__shrinkInBlurAnyway {
  backface-visibility: hidden;
  perspective: 1000;
  transform: translate3d(0, 0, 0) translateZ(0);
  animation-name: shrinkInBlur;
}

/* Animate.css overrides */
section:not(.stack):not([data-appearance-can-start]) .animate__animated, section:not(.stack):not([data-appearance-can-start]) .animated {
  opacity: 0;
  animation: none;
}

section:not(.stack)[data-appearance-can-start] .animate__animated:not(.fragment), section:not(.stack)[data-appearance-can-start] .animated:not(.fragment) {
  opacity: 1;
}

/* Animations inside fragments */
section:not(.stack):not([data-appearance-can-start]) .animate__animated,
section:not(.stack):not([data-appearance-can-start]) .animated,
.fragment:not(.visible) .animate__animated,
.fragment:not(.visible) .animated {
  opacity: 0;
  animation: none;
  will-change: animation;
}
.reveal.overview section:not(.stack):not([data-appearance-can-start]) .animated,
.reveal.overview section:not(.stack):not([data-appearance-can-start]) .animate__animated,
.reveal.overview .fragment:not(.visible) .animated,
.reveal.overview .fragment:not(.visible) .animate__animated {
  visibility: visible;
  animation: none;
  opacity: 1;
}

/* Animations which are also fragments */
.reveal .fragment.animate__animated:not(.visible), .reveal .fragment.animated:not(.visible) {
  transition: all 0.2s ease;
  opacity: 0;
  animation: none;
  will-change: animation;
}
.reveal .fragment.animate__animated.visible:not(.animationended), .reveal .fragment.animated.visible:not(.animationended) {
  transition: none;
}
.reveal .fragment.animate__animated.visible.animationended, .reveal .fragment.animated.visible.animationended {
  animation: none;
  transition: all 0.2s ease;
}

i.animate__animated, i.animated, span.animate__animated, span.animated {
  display: inline-block;
}

.animate__animated[data-auto-animate-target]:not([data-auto-animate-target=unmatched]) {
  animation: none;
}

[data-auto-animate=running] .animate__animated[data-auto-animate-target]:not([data-auto-animate-target=unmatched]) {
  opacity: 1 !important;
}

.fast, .animate__fast {
  animation-duration: calc(var(--animate-duration) * 0.8);
}

.faster, .animate__faster {
  animation-duration: calc(var(--animate-duration) / 2);
}

.slow, .animate__slow {
  animation-duration: calc(var(--animate-duration) * 2);
}

.slower, .animate__slower {
  animation-duration: calc(var(--animate-duration) * 3);
}

.print-pdf .animated, .print-pdf .animate__animated,
.print-pdf section:not(.stack):not([data-appearance-can-start]) .animated,
.print-pdf section:not(.stack):not([data-appearance-can-start]) .animate__animated {
  opacity: 1;
  visibility: visible;
  animation: none;
}
.print-pdf .reveal .fragment {
  opacity: 1;
}

.reveal.sv .animated, .reveal.sv .animate__animated,
.reveal.sv section:not(.stack):not([data-appearance-can-start]) .animated:not(.fragment),
.reveal.sv section:not(.stack):not([data-appearance-can-start]) .animate__animated:not(.fragment),
.reveal.sv section:not(.stack):not([data-appearance-can-start]) .animated.fragment.visible,
.reveal.sv section:not(.stack):not([data-appearance-can-start]) .animate__animated.fragment.visible, .reveal-viewport.sv .animated, .reveal-viewport.sv .animate__animated,
.reveal-viewport.sv section:not(.stack):not([data-appearance-can-start]) .animated:not(.fragment),
.reveal-viewport.sv section:not(.stack):not([data-appearance-can-start]) .animate__animated:not(.fragment),
.reveal-viewport.sv section:not(.stack):not([data-appearance-can-start]) .animated.fragment.visible,
.reveal-viewport.sv section:not(.stack):not([data-appearance-can-start]) .animate__animated.fragment.visible {
  opacity: 1;
  visibility: visible;
  animation: none;
}