.cd-top {
    visibility: hidden;
    opacity: 0;
    transition: opacity .3s, visibility .3s, background-color .3s;
}
.cd-top:hover {
    background-color: hsl(5, 76%, 62%);
    background-color: var(--cd-color-3);
    opacity: 1;
}

.cd-top {
    position: fixed;
 
    bottom: 120px;
    right: 35px;

    display: inline-block;
    height: 40px;
  
    width: 40px;

    box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
    background: url(../assets/img/cd-top-arrow.svg) no-repeat center 50%;
    background-color: #af402f;
    
}
.text-replace {
    overflow: hidden;
    color: transparent;
    text-indent: 100%;
    white-space: nowrap;
}
.cd-top--is-visible {
    visibility: visible;
    opacity: 1;
}

.cd-top--fade-out { // reduce button opacity if user keeps scrolling
  opacity: .5;
}


.text-replace {
    overflow: hidden;
    color: transparent;
    text-indent: 100%;
    white-space: nowrap;
}

@supports (--css: variables) {
    @media (min-width: 64rem) {
        :root {
            --cd-back-to-top-size: 60px;
            --cd-back-to-top-margin: 30px;
        }
    }
}
: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;
    --font-primary: 'Bitter', sans-serif;
    --font-secondary: 'Open Sans', sans-serif;
}
:root {
    --form-control-padding-x: var(--space-sm);
    --form-control-padding-y: var(--space-xs);
    --form-control-radius: 0.25em;
}

@supports (--css: variables) {
    @media (min-width: 64rem) {
        :root {
            --text-base-size: 1.25em;
            --text-scale-ratio: 1.25;
        }
    }
}

:root {
    --radius: 0.25em;
}
@supports (--css: variables) {
    @media (min-width: 64rem) {
        :root {
            --space-unit: 1.25em;
        }
    }
}

:root {
    --display: block;
}
:root {
    --zindex-header: 2;
    --zindex-popover: 5;
    --zindex-fixed-element: 10;
    --zindex-overlay: 15;
}
:root {
    --icon-xxs: 12px;
    --icon-xs: 16px;
    --icon-sm: 24px;
    --icon-md: 32px;
    --icon-lg: 48px;
    --icon-xl: 64px;
    --icon-xxl: 128px;
}
:root {
    --body-line-height: 1.4;
    --heading-line-height: 1.2;
}
:root {
    --radius-sm: calc(var(--radius, 0.25em) / 2);
    --radius-md: var(--radius, 0.25em);
    --radius-lg: calc(var(--radius, 0.25em) * 2);
    --shadow-sm: 0 1px 2px rgba(0, 0, 0, .085), 0 1px 8px rgba(0, 0, 0, .1);
    --shadow-md: 0 1px 8px rgba(0, 0, 0, .1), 0 8px 24px rgba(0, 0, 0, .15);
    --shadow-lg: 0 1px 8px rgba(0, 0, 0, .1), 0 16px 48px rgba(0, 0, 0, .1), 0 24px 60px rgba(0, 0, 0, .1);
    --bounce: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
    --ease-in: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    --ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
}

