/* Röser Website Tools: only affects Divi's own Back To Top button when enabled. */
body.roeser-btt-enabled .et_pb_scroll_top.et-pb-icon {
    position: fixed !important;
    box-sizing: border-box !important;
    width: 52px !important;
    height: 52px !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: calc(52px - 2 * var(--rwt-btt-border-width, 4px)) !important;
    text-align: center !important;
    border: var(--rwt-btt-border-width, 4px) solid var(--rwt-btt-background) !important;
    border-radius: var(--rwt-btt-radius) !important;
    overflow: hidden;
    isolation: isolate;
    background: var(--rwt-btt-background) !important;
    color: var(--rwt-btt-icon) !important;
    bottom: var(--rwt-btt-bottom) !important;
    /* Set by back-to-top.js. Default keeps the track visible before JS runs. */
    --rwt-btt-percent: 0%;
    --rwt-btt-angle: 0deg;
    --rwt-btt-alpha: .82;
}
body.roeser-btt-enabled .et_pb_scroll_top.et-pb-icon {
    right: var(--rwt-btt-side) !important;
    left: auto !important;
}
body.roeser-btt-enabled .et_pb_scroll_top.et-pb-icon::before {
    position: relative;
    z-index: 2;
    color: var(--rwt-btt-icon) !important;
}
body.roeser-btt-enabled .et_pb_scroll_top.et-pb-icon::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    z-index: 1;
}
/* Ring: 4 px thick. Track uses 33% opacity; active progress starts at 82% opacity. */
body.roeser-btt-enabled.roeser-btt-ring .et_pb_scroll_top.et-pb-icon::after {
    background: conic-gradient(
        rgb(var(--rwt-btt-rgb) / var(--rwt-btt-alpha)) 0deg var(--rwt-btt-angle),
        rgb(var(--rwt-btt-rgb) / .33) var(--rwt-btt-angle) 360deg
    );
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3px));
    mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3px));
}
/* Fill: expands upwards while increasing opacity of the chosen end color. */
body.roeser-btt-enabled.roeser-btt-fill .et_pb_scroll_top.et-pb-icon::after {
    background: linear-gradient(
        to top,
        rgb(var(--rwt-btt-rgb) / var(--rwt-btt-alpha)) 0% var(--rwt-btt-percent),
        transparent var(--rwt-btt-percent) 100%
    );
}
body.roeser-btt-enabled.roeser-btt-off .et_pb_scroll_top.et-pb-icon::after {
    display: none;
}
