.dw-im-animate-hover,
[data-dw-im-animate-hover] {
  position: relative;
  display: inline-block;
  vertical-align: top;
}

.dw-im-animate-hover img,
[data-dw-im-animate-hover] img {
  display: block;
}

.dw-image-hover-stage {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 150;
}

.dw-image-hover-stage canvas {
  width: 100%;
  height: 100%;
  display: block;
}

.dw-image-hover-svg-stage {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
}

.dw-image-hover-svg-stage .dw-image-hover-svg-preview {
  display: block;
}

.dw-image-hover-svg-preview {
  opacity: 0;
  transition: opacity 160ms ease;
}

.dw-image-hover-source {
  opacity: 1;
  transition: opacity 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .dw-image-hover-host.dw-image-hover-ready.dw-image-hover-renderable .dw-image-hover-source {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dw-image-hover-stage {
    display: none !important;
  }

  .dw-image-hover-host .dw-image-hover-source {
    opacity: 1;
  }
}
