/* back to top scroller with progress indicator | fkom version vom 25. Januar 2025 
================================================== */

/* hier können die Farben angepasst werden. starten bei grey und light-grey
================================================== */
:root {
    --red: #da2c4d;
    --yellow: #f8ab37;
    --green: #2ecc71;
    --white: #ffffff;
    --grey-light: #d3d7e5;
    --grey: #c0bccf;
    --black: #080808;
    --black-blue: #1f2029;
    --black-blue-light: #353746;
    --black-blue-light-2: #404255;
    --black-blue-light-3: #4b4d64;
    --black-light: #424455;
}

@-webkit-keyframes border-transform{
    0%,100% { border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%; } 
    14% { border-radius: 40% 60% 54% 46% / 49% 60% 40% 51%; } 
    28% { border-radius: 54% 46% 38% 62% / 49% 70% 30% 51%; } 
    42% { border-radius: 61% 39% 55% 45% / 61% 38% 62% 39%; } 
    56% { border-radius: 61% 39% 67% 33% / 70% 50% 50% 30%; } 
    70% { border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%; } 
    84% { border-radius: 46% 54% 50% 50% / 35% 61% 39% 65%; } 
}
@keyframes border-transform{
    0%,100% { border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%; } 
    14% { border-radius: 40% 60% 54% 46% / 49% 60% 40% 51%; } 
    28% { border-radius: 54% 46% 38% 62% / 49% 70% 30% 51%; } 
    42% { border-radius: 61% 39% 55% 45% / 61% 38% 62% 39%; } 
    56% { border-radius: 61% 39% 67% 33% / 70% 50% 50% 30%; } 
    70% { border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%; } 
    84% { border-radius: 46% 54% 50% 50% / 35% 61% 39% 65%; } 
}


/* Progress | Fortschrittsanzeige
================================================== */
.progress-wrap {
    position: fixed;
    padding: 0 !important;
    right: 20px; /* Abstand zum rechten Rand */
    bottom: 20px; /* Abstand zum unteren Rand */
    height: 35px; /*  Höhe */
    width: 35px; /*  Breite */
    cursor: pointer;
    display: block;
    border-radius: 50%;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.2);
      background-color: rgba(0, 0, 0, 0.01); /* Dunklerer Hintergrund */
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.progress-wrap::after {
    position: absolute;
    font-family: 'FontAwesome';
    content: '\f176';
    text-align: center;
    line-height: 35px; /* Zentrierung im Kreis */
    font-size: 18px; /* Größe des Icons angepasst */
    color: var(--grey);
    left: 0;
    top: 0;
    height: 35px;
    width: 35px;
    cursor: pointer;
    display: block;
    z-index: 1;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

.progress-wrap::before {
    position: absolute;
    font-family: 'FontAwesome';
    content: '\f176';
    text-align: center;
    line-height: 35px; /* Zentrierung im Kreis */
    font-size: 18px; /* Größe des Icons angepasst */
    opacity: 0;
    background-image: linear-gradient(298deg, var(--red), var(--yellow));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    left: 0;
    top: 0;
    height: 35px;
    width: 35px;
    cursor: pointer;
    display: block;
    z-index: 2;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

.progress-wrap:hover::before {
    opacity: 1;
}

.progress-wrap svg path {
    fill: none;
}

.progress-wrap svg.progress-circle path {
    stroke: var(--grey);
    stroke-width: 3; /* Dünnerer Rand passend zur Größe */
    box-sizing: border-box;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

body.light .progress-wrap {
    box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.2);
}

body.light .progress-wrap::after {
    color: var(--black-blue);
}

body.light .progress-wrap svg.progress-circle path {
    stroke: var(--black-blue);
}
