.lay-imagehover-on-element[data-imageposition=rightbackground] {
  right: 0;
  left: auto;
  width: 50vw;
}

.lay-imagehover-on-element[data-imageposition=leftbackground] {
  right: auto;
  left: 0;
  width: 50vw;
}

.lay-imagehover-on-element[data-imageposition=fullsize] {
  width: 100%;
  height: 100%;
}

.lay-imagehover-on-element[data-imageposition=leftbackground] img,
.lay-imagehover-on-element[data-imageposition=leftbackground] video {
  width: 100%;
  left: 0;
  right: auto;
  height: 100vh;
  -o-object-fit: cover;
  object-fit: cover;
}

.lay-imagehover-on-element[data-imageposition=rightbackground] img,
.lay-imagehover-on-element[data-imageposition=rightbackground] video {
  width: 100%;
  right: 0;
  left: auto;
  height: 100vh;
  -o-object-fit: cover;
  object-fit: cover;
}

.lay-imagehover-on-element[data-imageposition=fullsize] img,
.lay-imagehover-on-element[data-imageposition=fullsize] video {
  width: 100vw;
  left: 0;
  top: 0;
  height: 100vh;
  -o-object-fit: cover;
  object-fit: cover;
}

.lay-imagehover-on-element {
  opacity: 0;
  position: fixed;
  pointer-events: none;
  top: 0;
  left: 0;
}

.fp-enabled .lay-imagehover-on-element {
  position: absolute !important;
}

.lay-imagehover-on-element.show {
  opacity: 1;
}

.lay-imagehover-on-element.transition[data-transition=fade2] {
  transition: opacity 200ms ease;
}

.lay-imagehover-on-element.transition[data-transition=fade] {
  transition: opacity 200ms ease;
}

.lay-imagehover-on-element.transition[data-transition=clip] img,
.lay-imagehover-on-element.transition[data-transition=clip] video {
  animation: 200ms forwards clipanimation;
}

.lay-imagehover-on-element.transition[data-transition=blur] {
  animation: 200ms forwards bluranimation;
}

.lay-imagehover-on-element.transition[data-transition=zoom] img,
.lay-imagehover-on-element.transition[data-transition=zoom] video {
  animation: 200ms forwards zoomanimation;
}

@keyframes zoomanimation {
  from {
    opacity: 0;
    transform: scale(0.9);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes clipanimation {
  from {
    opacity: 0;
    clip-path: inset(20px 20px);
  }
  to {
    opacity: 1;
    clip-path: inset(0 0);
  }
}
@keyframes bluranimation {
  from {
    opacity: 0;
    filter: blur(50px);
  }
  to {
    opacity: 1;
    filter: blur(0);
  }
}
a.lay-imagehover-on-element.show {
  pointer-events: auto;
  z-index: 3;
}