/* ReStart: scroll-to-top action. Rooted entirely in the component. */
.r1-back-to-top {
    position: fixed;
    z-index: 120;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: var(--r1-back-to-top-radius, 10px);
    background: var(--r1-back-to-top-color, var(--r1-primary, #0A95AE));
    color: #fff;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(6px);
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease, filter .16s ease;
    box-shadow: 0 4px 16px rgba(15,23,42,.12);
    -webkit-tap-highlight-color: transparent;
}
.r1-back-to-top--right {right: var(--r1-back-to-top-x, 30px);left: auto;}
.r1-back-to-top--left {left: var(--r1-back-to-top-x, 0px);right: auto;}
.r1-back-to-top--bottom {bottom: calc(var(--r1-back-to-top-y, 30px) + env(safe-area-inset-bottom, 0px));top: auto;}
.r1-back-to-top--top {top: calc(var(--r1-back-to-top-y, 0px) + env(safe-area-inset-top, 0px));bottom: auto;}
.r1-back-to-top.is-visible {opacity: 1;visibility: visible;pointer-events: auto;transform: translateY(0);}
.r1-back-to-top:hover {background:var(--r1-hover,#087F95);filter:none;}
.r1-back-to-top:focus-visible {outline: 2px solid var(--r1-primary, #0A95AE);outline-offset: 3px;}
.r1-back-to-top__icon {display: block;flex: 0 0 auto;stroke: currentColor;}
@media (prefers-reduced-motion: reduce) {
    .r1-back-to-top {transition: none;transform: none;}
}
