.ib-scroll-top {
  --ib-top-size: 48px;
  --ib-top-edge: 30px;
  position: fixed;
  bottom: calc(24px + var(--ib-top-lift, 0px) + env(safe-area-inset-bottom, 0px));
  z-index: 9050;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: var(--ib-top-size);
  height: var(--ib-top-size);
  margin: 0;
  padding: 0;
  border: 1px solid var(--ib-line, rgba(15, 17, 21, .12));
  border-radius: min(var(--ib-radius, 16px), 50%);
  background: var(--ib-bg, #fff);
  color: var(--ib-accent, #008f76);
  box-shadow: 0 10px 28px rgba(12, 14, 18, .14), 0 2px 6px rgba(12, 14, 18, .08);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .3s var(--ib-ease, ease), transform .3s var(--ib-ease, ease), visibility .3s, background-color .2s, color .2s, border-color .2s;
  -webkit-tap-highlight-color: transparent;
}

.ib-scroll-top--right {
  right: calc(var(--ib-top-edge) + env(safe-area-inset-right, 0px));
}

.ib-scroll-top--left {
  left: calc(var(--ib-top-edge) + env(safe-area-inset-left, 0px));
}

.ib-scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.ib-scroll-top:hover {
  border-color: transparent;
  background: var(--ib-accent, #008f76);
  color: var(--ib-accent-contrast, #fff);
}

.ib-scroll-top:focus-visible {
  outline: 3px solid var(--ib-accent, #008f76);
  outline-offset: 3px;
}

.ib-scroll-top__icon {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.has-ib-contact-widget--right .ib-scroll-top--right,
.has-ib-contact-widget--left .ib-scroll-top--left {
  bottom: calc(var(--ib-cw-offset, 24px) + var(--ib-cw-lift, 0px) + var(--ib-cw-clear, 76px) + env(safe-area-inset-bottom, 0px));
}

.is-ib-contact-widget-open .ib-scroll-top.is-visible,
body.has-drawer .ib-scroll-top.is-visible {
  opacity: 0;
  visibility: hidden;
}

@media (max-width: 959px) {
  .ib-scroll-top {
    --ib-top-lift: var(--ib-cookie-space, 0px);
  }
}

@media (max-width: 767px) {
  .ib-scroll-top {
    --ib-top-size: 44px;
    --ib-top-edge: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ib-scroll-top {
    transform: none;
    transition: opacity .2s, visibility .2s;
  }
}
