:root {
    --cd-color-3: hsl(5, 76%, 62%);
    --cd-color-3-h: 5;
    --cd-color-3-s: 76%;
    --cd-color-3-l: 62%;
    --cd-back-to-top-size: 40px;
    --cd-back-to-top-margin: 20px;
}

@supports (--css: variables) {
    @media (min-width: 64rem) {
        :root {
            --cd-back-to-top-size: 60px;
            --cd-back-to-top-margin: 30px;
        }
    }
}

.cd-top {
    position: fixed;
    bottom: 20px;
    bottom: var(--cd-back-to-top-margin);
    right: 20px;
    right: var(--cd-back-to-top-margin);
    display: inline-block;
    height: 40px;
    height: var(--cd-back-to-top-size);
    width: 40px;
    width: var(--cd-back-to-top-size);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    background: url(../img/cd-top-arrow.svg) no-repeat center 50%;
    background-color: hsla(5, 76%, 62%, 0.8);
	background-color: hsla(var(--cd-color-3-h), var(--cd-color-3-s), var(--cd-color-3-l), 0.8);
	border-radius: 50%;
}

.js .cd-top {
    visibility: hidden;
    opacity: 0;
    transition: opacity .3s, visibility .3s, background-color .3s;
}

.js .cd-top--is-visible {
    visibility: visible;
    opacity: 1;
    z-index: 9999999999;
}

.js .cd-top--fade-out {
    opacity: .5;
}

.js .cd-top:hover {
    background-color: hsl(5, 76%, 62%);
    background-color: var(--cd-color-3);
    opacity: 1;
}

.text-replace {
    overflow: hidden;
    color: transparent;
    text-indent: 100%;
    white-space: nowrap;
}