/*
 * The donor theme turns three nested page wrappers into animated layers for its
 * legacy off-canvas navigation. Chromium-based browsers can rasterize their
 * shared edge as a one-device-pixel seam while the page scrolls. The shared
 * header no longer uses that navigation, so those layers are unnecessary.
 */
html,
body {
    overflow-x: clip !important;
}

.opal-wrapper,
#mp-pusher,
#page.site.scroller {
    -webkit-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    transition: none !important;
}

#page.site.scroller {
    left: 0;
    width: 100%;
    overflow-x: clip !important;
    overflow-y: visible !important;
    z-index: auto;
}

#mp-pusher::after,
.mp-pushed .scroller::before {
    display: none !important;
}

/* The home donor markup still contains three legacy off-canvas layers. At a
   fractional desktop scale their shared left edge is antialiased against the
   page background, producing a one-device-pixel grey seam beside the footer.
   Keep the DOM for compatibility, but remove the obsolete layout boxes. */
@media (min-width: 1025px) {
    body.home > .opal-wrapper,
    body.home > .opal-wrapper > #mp-pusher,
    body.home > .opal-wrapper > #mp-pusher > #page.site.scroller {
        display: contents !important;
    }
}

.dv-scroll-top {
    position: fixed;
    z-index: 999;
    right: clamp(18px, 2.2vw, 34px);
    bottom: max(clamp(18px, 2.2vw, 34px), env(safe-area-inset-bottom));
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #eb7025;
    box-shadow: 0 10px 28px rgba(34, 34, 34, .18);
    color: #fff;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity .24s ease, visibility .24s ease, transform .24s ease, background-color .2s ease, box-shadow .2s ease;
    pointer-events: none;
}

.dv-scroll-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.dv-scroll-top .ph {
    color: currentColor;
    font-family: "Phosphor" !important;
    font-size: 22px;
    line-height: 1;
}

.dv-scroll-top:hover {
    background: #222;
    box-shadow: 0 12px 30px rgba(34, 34, 34, .24);
}

.dv-scroll-top:focus-visible {
    outline: 2px solid #222;
    outline-offset: 4px;
}

.dv-scroll-top:active {
    transform: translateY(1px);
}

@media (prefers-reduced-motion: reduce) {
    .dv-scroll-top {
        transition: none;
    }
}

@media (max-width: 767px) {
    .dv-scroll-top {
        right: 16px;
        bottom: max(16px, env(safe-area-inset-bottom));
        width: 46px;
        height: 46px;
    }

    body .handheld-footer-bar {
        display: none !important;
    }

    body .opal-wrapper {
        margin-bottom: 0 !important;
    }
}
