.tbi-fx {
  --tbi-fx-duration: 1200ms;
  --tbi-fx-delay: 0ms;
  --tbi-fx-distance: 30%;
  --tbi-fx-scale: 1.2;
}

.tbi-fx--target-image .elementor-widget-container {
  overflow: hidden;
}

.tbi-fx--target-image img,
.tbi-fx--target-element {
  transition-property: transform, opacity;
  transition-duration: var(--tbi-fx-duration);
  transition-delay: var(--tbi-fx-delay);
  transition-timing-function: cubic-bezier(.22, 1, .36, 1);
  will-change: transform, opacity;
}

.tbi-fx--ease-ease.tbi-fx--target-image img,
.tbi-fx--ease-ease.tbi-fx--target-element {
  transition-timing-function: ease;
}

.tbi-fx--ease-linear.tbi-fx--target-image img,
.tbi-fx--ease-linear.tbi-fx--target-element {
  transition-timing-function: linear;
}

.tbi-fx--reveal-up.tbi-fx--target-image:not(.tbi-fx--visible) img,
.tbi-fx--reveal-up.tbi-fx--target-element:not(.tbi-fx--visible) {
  transform: translateY(var(--tbi-fx-distance)) scale(var(--tbi-fx-scale));
}

.tbi-fx--reveal-down.tbi-fx--target-image:not(.tbi-fx--visible) img,
.tbi-fx--reveal-down.tbi-fx--target-element:not(.tbi-fx--visible) {
  transform: translateY(calc(var(--tbi-fx-distance) * -1)) scale(var(--tbi-fx-scale));
}

.tbi-fx--reveal-left.tbi-fx--target-image:not(.tbi-fx--visible) img,
.tbi-fx--reveal-left.tbi-fx--target-element:not(.tbi-fx--visible) {
  transform: translateX(var(--tbi-fx-distance)) scale(var(--tbi-fx-scale));
}

.tbi-fx--reveal-right.tbi-fx--target-image:not(.tbi-fx--visible) img,
.tbi-fx--reveal-right.tbi-fx--target-element:not(.tbi-fx--visible) {
  transform: translateX(calc(var(--tbi-fx-distance) * -1)) scale(var(--tbi-fx-scale));
}

.tbi-fx--zoom-out.tbi-fx--target-image:not(.tbi-fx--visible) img,
.tbi-fx--zoom-out.tbi-fx--target-element:not(.tbi-fx--visible) {
  transform: scale(var(--tbi-fx-scale));
}

.tbi-fx--zoom-in.tbi-fx--target-image:not(.tbi-fx--visible) img,
.tbi-fx--zoom-in.tbi-fx--target-element:not(.tbi-fx--visible) {
  transform: scale(.8);
}

.tbi-fx--fade-up.tbi-fx--target-image:not(.tbi-fx--visible) img,
.tbi-fx--fade-up.tbi-fx--target-element:not(.tbi-fx--visible) {
  opacity: 0;
  transform: translateY(var(--tbi-fx-distance));
}

.tbi-fx--fade.tbi-fx--target-image:not(.tbi-fx--visible) img,
.tbi-fx--fade.tbi-fx--target-element:not(.tbi-fx--visible) {
  opacity: 0;
}

.tbi-fx--visible.tbi-fx--target-image img,
.tbi-fx--visible.tbi-fx--target-element {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

@media (max-width: 767px) {
  .tbi-fx[data-tbi-no-mobile="yes"],
  .tbi-fx[data-tbi-no-mobile="yes"] img {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tbi-fx,
  .tbi-fx img {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

