/**
 * Efeitos CMS v3 — visível por defeito; anima com .ibg-fx--play.
 */
@media (prefers-reduced-motion: reduce) {
  .ibg-fx [class*="ibg-fx-"] {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    opacity: 1 !important;
  }
}

.ibg-fx-media-wrap {
  overflow: hidden;
}

.ibg-fx-parallax-media,
.ibg-fx-parallax-text {
  will-change: transform;
  backface-visibility: hidden;
}

.ibg-fx--reveal.ibg-fx--play .ibg-fx-reveal-media {
  animation: ibgFxRevealMedia calc(1.1s * var(--ibg-fx-speed, 1)) cubic-bezier(0.22, 1, 0.36, 1) both;
}

.ibg-fx--reveal.ibg-fx--play .ibg-fx-reveal-text {
  animation: ibgFxFadeUp calc(0.9s * var(--ibg-fx-speed, 1)) cubic-bezier(0.22, 1, 0.36, 1) 0.14s both;
}

.ibg-fx--reveal[data-ibg-fx-dir="right"].ibg-fx--play .ibg-fx-reveal-media {
  animation-name: ibgFxRevealMediaRight;
}

.ibg-fx--reveal[data-ibg-fx-dir="up"].ibg-fx--play .ibg-fx-reveal-media {
  animation-name: ibgFxRevealMediaUp;
}

.ibg-fx--reveal[data-ibg-fx-dir="down"].ibg-fx--play .ibg-fx-reveal-media {
  animation-name: ibgFxRevealMediaDown;
}

.ibg-fx--stagger.ibg-fx--play .ibg-fx-stagger-item {
  animation: ibgFxFadeUp calc(0.7s * var(--ibg-fx-speed, 1)) cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: calc(var(--ibg-fx-i, 0) * var(--ibg-fx-stagger, 90ms));
}

.ibg-fx--stagger[data-ibg-fx-dir="down"].ibg-fx--play .ibg-fx-stagger-item {
  animation-name: ibgFxFadeDown;
}

.ibg-fx--stagger[data-ibg-fx-dir="left"].ibg-fx--play .ibg-fx-stagger-item {
  animation-name: ibgFxFadeLeft;
}

.ibg-fx--stagger[data-ibg-fx-dir="right"].ibg-fx--play .ibg-fx-stagger-item {
  animation-name: ibgFxFadeRight;
}

@keyframes ibgFxFadeUp {
  from {
    opacity: 0;
    transform: translate3d(0, 22px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes ibgFxFadeDown {
  from {
    opacity: 0;
    transform: translate3d(0, -22px, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes ibgFxFadeLeft {
  from {
    opacity: 0;
    transform: translate3d(24px, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes ibgFxFadeRight {
  from {
    opacity: 0;
    transform: translate3d(-24px, 0, 0);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes ibgFxRevealMedia {
  from {
    clip-path: inset(0 78% 0 0);
    transform: scale(1.06);
    opacity: 0.85;
  }
  to {
    clip-path: inset(0 0 0 0);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes ibgFxRevealMediaRight {
  from {
    clip-path: inset(0 0 0 78%);
    transform: scale(1.06);
    opacity: 0.85;
  }
  to {
    clip-path: inset(0 0 0 0);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes ibgFxRevealMediaUp {
  from {
    clip-path: inset(78% 0 0 0);
    transform: scale(1.06);
    opacity: 0.85;
  }
  to {
    clip-path: inset(0 0 0 0);
    transform: scale(1);
    opacity: 1;
  }
}

@keyframes ibgFxRevealMediaDown {
  from {
    clip-path: inset(0 0 78% 0);
    transform: scale(1.06);
    opacity: 0.85;
  }
  to {
    clip-path: inset(0 0 0 0);
    transform: scale(1);
    opacity: 1;
  }
}

@media (max-width: 768px) {
  .ibg-fx--parallax .ibg-fx-parallax-media,
  .ibg-fx--parallax .ibg-fx-parallax-text {
    transform: none !important;
  }
}
