:root {
    --cd-color-1: hsl(53, 29%, 95%);
    --cd-color-1-h: 53;
    --cd-color-1-s: 29%;
    --cd-color-1-l: 95%;
    --cd-color-2: hsl(330, 13%, 42%);
    --cd-color-2-h: 330;
    --cd-color-2-s: 13%;
    --cd-color-2-l: 42%;
    --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-2-h), var(--cd-color-2-s), var(--cd-color-2-l), 0.8);
    visibility: hidden;
    opacity: 0;
    transition:opacity .3s, visibility .3s, background-color .3s;
    z-index:2000;
}

.cd-top--is-visible {
    visibility: visible;
    opacity:1
}

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

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