[data-revo-slider] {
  isolation: isolate;
  position: relative;
}

[data-revo-slide] {
  inset: 0;
  position: absolute;
}

[data-revo-slide]:not(.is-active) {
  pointer-events: none;
  visibility: hidden;
}

[data-revo-slide].is-entering {
  opacity: 1 !important;
  pointer-events: none;
  transform: none !important;
  visibility: visible;
  z-index: 9;
}

[data-revo-slide].is-entering [data-revo-visual] { visibility: hidden; }

.revo-transition {
  display: grid;
  grid-template-columns: repeat(var(--revo-columns), 1fr);
  grid-template-rows: repeat(var(--revo-rows), 1fr);
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  z-index: 8;
}

.revo-transition i {
  display: block;
  height: 100%;
  overflow: hidden;
  position: relative;
  transform: translateZ(0);
  width: 100%;
  will-change: opacity, transform;
}

.revo-transition i img {
  display: block;
  max-width: none;
  position: absolute;
}

.revo-curtain i {
  filter: brightness(.45) saturate(1.25);
  transform: scaleY(0);
  transform-origin: center top;
  transition: transform .78s cubic-bezier(.77, 0, .175, 1), filter .78s ease;
  transition-delay: var(--revo-delay);
}

.revo-curtain i:nth-child(even) { transform-origin: center bottom; }
.revo-curtain.is-running i { filter: brightness(1) saturate(1); transform: scaleY(1); }

.revo-slotzoom i {
  opacity: 0;
  transform: scale(.64) translateY(var(--revo-shift)) rotateY(10deg);
  transition: opacity .7s ease, transform .9s cubic-bezier(.7, 0, .2, 1);
  transition-delay: var(--revo-delay);
}

.revo-slotzoom i:nth-child(odd) { transform-origin: center top; }
.revo-slotzoom i:nth-child(even) { transform-origin: center bottom; }
.revo-slotzoom.is-running i {
  opacity: 1;
  transform: scale(1) translateY(0) rotateY(0);
}

.revo-boxfade i {
  opacity: 0;
  transform: scale(.55) rotate(2deg);
  transition: opacity .55s ease, transform .78s cubic-bezier(.2, .8, .2, 1);
  transition-delay: var(--revo-delay);
}

.revo-boxfade.is-running i { opacity: 1; transform: scale(1) rotate(0); }

[data-revo-slide].is-active [data-revo-caption],
[data-revo-slide].is-entering [data-revo-caption] {
  animation: revo-caption-in .62s cubic-bezier(.16, 1, .3, 1) both;
  animation-delay: var(--revo-caption-delay, 0ms);
}

@keyframes revo-caption-in {
  from { filter: blur(5px); opacity: 0; transform: translate3d(45px, 18px, 0); }
  to { filter: blur(0); opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .revo-transition { display: none; }
  [data-revo-slide].is-active [data-revo-caption],
  [data-revo-slide].is-entering [data-revo-caption] { animation: none; }
}
