.customtheme-floating-element {
  --overlap-size: 30px;
  --filter-shadow: drop-shadow(2px 2px 4px rgba(0,0,0,0.25));
  --overlap-opacity: 0.66;
  position: fixed;
  z-index: 12;
  opacity: var(--overlap-opacity);
  transition: all 0.6s ease;
}
.customtheme-floating-element.no-overlap {
  opacity: 1;
}
.customtheme-floating-element.show,
.customtheme-floating-element:hover {
  opacity: 1;
  transition: all 0.3s ease;
}
.customtheme-floating-element.position-top {
  top: calc(-1 * var(--overlap-size));
  transition: all 0.6s ease;
}
.customtheme-floating-element.position-top.show,
.customtheme-floating-element.position-top:hover {
  top: 0;
  transition: all 0.3s ease;
}
.customtheme-floating-element.position-right {
  right: calc(-1 * var(--overlap-size));
  transition: all 0.6s ease;
}
.customtheme-floating-element.position-right.show,
.customtheme-floating-element.position-right:hover {
  right: 0;
  transition: all 0.3s ease;
}
.customtheme-floating-element.position-bottom {
  bottom: calc(-1 * var(--overlap-size));
  transition: all 0.6s ease;
}
.customtheme-floating-element.position-bottom.show,
.customtheme-floating-element.position-bottom:hover {
  bottom: 0;
  transition: all 0.3s ease;
}
.customtheme-floating-element.position-left {
  left: calc(-1 * var(--overlap-size));
  transition: all 0.6s ease;
}
.customtheme-floating-element.position-left.show,
.customtheme-floating-element.position-left:hover {
  left: 0;
  transition: all 0.3s ease;
}
.customtheme-floating-element.from-top {
  top: 0;
}
.customtheme-floating-element.from-right {
  right: 0;
}
.customtheme-floating-element.from-bottom {
  bottom: 0;
}
.customtheme-floating-element.from-left {
  left: 0;
}
.customtheme-floating-element img {
  display: block;
  filter: var(--filter-shadow);
}
@media (min-width: 1500px) {
  .customtheme-floating-element.position-top {
    top: 0;
    opacity: 1;
  }
  .customtheme-floating-element.position-right {
    right: 0;
    opacity: 1;
  }
  .customtheme-floating-element.position-bottom {
    bottom: 0;
    opacity: 1;
  }
  .customtheme-floating-element.position-left {
    left: 0;
    opacity: 1;
  }
}
