/* USING REM UNIT (BASE 16px) */

.mdc-progress-track {
    --progress-color: var(--foreground-color);

    display: block;
    padding: 0;
    margin: 0;
    height: 0.25rem;
    position: relative;
    background-color: transparent;
    overflow: hidden;
    transition: height 0.2s;
}

.mdc-progress-track::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0.32;
    background-color: rgb(var(--progress-color));
}

.mdc-progress-track.buffer::before {
    display: none;
}

.mdc-progress-track.buffer > .buffered {
    float: left;
    height: 100%;
    width: 0;
    transition: width 0.2s;
    opacity: 0.32;
    background-color: rgb(var(--progress-color));
}
html[dir="ltr"] .mdc-progress-track.buffer > .buffered, html[dir] .mdc-progress-track.buffer[dir="ltr"] > .buffered {
    float: left;
}
html[dir="rtl"] .mdc-progress-track.buffer > .buffered, html[dir] .mdc-progress-track.buffer[dir="rtl"] > .buffered {
    float: right;
}

.mdc-progress-track.buffer > .buffer-indicator {
    float: left;
    height: 100%;
    opacity: 0.32;
    background-color: rgb(var(--progress-color));
    transition: width 0.2s;
    -webkit-animation: buffer 3s infinite linear;
    animation: buffer 3s infinite linear;

    background: radial-gradient(rgb(var(--progress-color)) 0, rgb(var(--progress-color)) 16%, transparent 42%);
    background-size: 0.625rem 0.625rem;
    background-position: 0 -1.4375rem;
}
html[dir="ltr"] .mdc-progress-track.buffer > .buffer-indicator, html[dir] .mdc-progress-track.buffer[dir="ltr"] > .buffer-indicator {
    float: left;
    -webkit-animation: buffer 3s infinite linear;
    animation: buffer 3s infinite linear;
}
html[dir="rtl"] .mdc-progress-track.buffer > .buffer-indicator, html[dir] .mdc-progress-track.buffer[dir="rtl"] > .buffer-indicator {
    float: right;
    -webkit-animation: buffer-rtl 3s infinite linear;
    animation: buffer-rtl 3s infinite linear;
}

.mdc-progress-track > .indicator {
    height: 100%;
    width: 0;
}

.mdc-progress-track.buffer > .indicator {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 0;
    height: auto;
    transition: width 0.2s;
    background-color: rgb(var(--progress-color));
}
html[dir="ltr"] .mdc-progress-track.buffer > .indicator, html[dir] .mdc-progress-track.buffer[dir="ltr"] > .indicator {
    left: 0;
    right: auto;
}
html[dir="rtl"] .mdc-progress-track.buffer > .indicator, html[dir] .mdc-progress-track.buffer[dir="rtl"] > .indicator {
    left: auto;
    right: 0;
}

.mdc-progress-track > .determinate {
    transition: width 0.2s;
    background-color: rgb(var(--progress-color));
}

.mdc-progress-track > .indeterminate {
    height: 0;
    width: 100%;
}

.mdc-progress-track > .indeterminate::before {
    content: '';
    position: absolute;
    background-color: rgb(var(--progress-color));
    top: 0;
    left: 0;
    bottom: 0;
    will-change: left, right;
    -webkit-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
    animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
}
html[dir="ltr"] .mdc-progress-track > .indeterminate::before, html[dir] .mdc-progress-track[dir="ltr"] > .indeterminate::before {
    left: 0;
    right: auto;
    -webkit-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
    animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
}
html[dir="rtl"] .mdc-progress-track > .indeterminate::before, html[dir] .mdc-progress-track[dir="rtl"] > .indeterminate::before {
    left: auto;
    right: 0;
    -webkit-animation: indeterminate-rtl 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
    animation: indeterminate-rtl 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
}

.mdc-progress-track > .indeterminate::after {
    content: '';
    position: absolute;
    background-color: rgb(var(--progress-color));
    top: 0;
    left: 0;
    bottom: 0;
    will-change: left, right;
    -webkit-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
    animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
    -webkit-animation-delay: 1.15s;
    animation-delay: 1.15s;
}
html[dir="ltr"] .mdc-progress-track > .indeterminate::after, html[dir] .mdc-progress-track[dir="ltr"] > .indeterminate::after {
    left: 0;
    right: auto;
    -webkit-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
    animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
    -webkit-animation-delay: 1.15s;
    animation-delay: 1.15s;
}
html[dir="rtl"] .mdc-progress-track > .indeterminate::after, html[dir] .mdc-progress-track[dir="rtl"] > .indeterminate::after {
    left: auto;
    right: 0;
    -webkit-animation: indeterminate-short-rtl 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
    animation: indeterminate-short-rtl 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
    -webkit-animation-delay: 1.15s;
    animation-delay: 1.15s;
}

@-webkit-keyframes indeterminate {
    0% {
        left: -35%;
        right: 100%;
    }
    60% {
        left: 100%;
        right: -90%;
    }
    100% {
        left: 100%;
        right: -90%;
    }
}

@-webkit-keyframes indeterminate-rtl {
    0% {
        right: -35%;
        left: 100%;
    }
    60% {
        right: 100%;
        left: -90%;
    }
    100% {
        right: 100%;
        left: -90%;
    }
}

@keyframes indeterminate {
    0% {
        left: -35%;
        right: 100%;
    }
    60% {
        left: 100%;
        right: -90%;
    }
    100% {
        left: 100%;
        right: -90%;
    }
}

@keyframes indeterminate-rtl {
    0% {
        right: -35%;
        left: 100%;
    }
    60% {
        right: 100%;
        left: -90%;
    }
    100% {
        right: 100%;
        left: -90%;
    }
}

@-webkit-keyframes indeterminate-short {
    0% {
        left: -200%;
        right: 100%;
    }
    60% {
        left: 107%;
        right: -8%;
    }
    100% {
        left: 107%;
        right: -8%;
    }
}

@-webkit-keyframes indeterminate-short-rtl {
    0% {
        right: -200%;
        left: 100%;
    }
    60% {
        right: 107%;
        left: -8%;
    }
    100% {
        right: 107%;
        left: -8%;
    }
}

@keyframes indeterminate-short {
    0% {
        left: -200%;
        right: 100%;
    }
    60% {
        left: 107%;
        right: -8%;
    }
    100% {
        left: 107%;
        right: -8%;
    }
}

@keyframes indeterminate-short-rtl {
    0% {
        right: -200%;
        left: 100%;
    }
    60% {
        right: 107%;
        left: -8%;
    }
    100% {
        right: 107%;
        left: -8%;
    }
}

@-webkit-keyframes buffer {
    0% {
        opacity: 0.32;
        background-position: 0 -1.4375rem;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 0.32;
        background-position: -12.5rem -1.4375rem;
    }
}

@-webkit-keyframes buffer-rtl {
    0% {
        opacity: 0.32;
        background-position: -12.5rem -1.4375rem;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 0.32;
        background-position: 0 -1.4375rem;
    }
}

@keyframes buffer {
    0% {
        opacity: 0.32;
        background-position: 0 -1.4375rem;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 0.32;
        background-position: -12.5rem -1.4375rem;
    }
}

@keyframes buffer-rtl {
    0% {
        opacity: 0.32;
        background-position: -12.5rem -1.4375rem;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 0.32;
        background-position: 0 -1.4375rem;
    }
}

.mdc-progress-wrapper {
    display: inline-block;
    position: relative;
    width: 2rem;
    height: 2rem;
}

.mdc-progress-wrapper.mini {
    width: 1.5rem;
    height: 1.5rem;
}

.mdc-progress-wrapper.active {
    -webkit-animation: container-rotate 1568ms linear infinite;
    animation: container-rotate 1568ms linear infinite;
}

.mdc-progress-wrapper > .spinner {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    border-color: rgb(var(--progress-color));
}

.mdc-progress-wrapper.active > .spinner {
    opacity: 1;
    -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.mdc-progress-wrapper > .spinner > .circle-clipper {
    /* display: inline-block; */
    position: relative;
    width: 50%;
    height: 100%;
    overflow: hidden;
    border-color: inherit;
    float: left;
}

.mdc-progress-wrapper > .spinner > .circle-clipper ~ .circle-clipper {
    float: right;
}

.mdc-progress-wrapper > .spinner > .circle-clipper > .circle {
    width: 200%;
    height: 100%;
    border-width: 3px;
    border-style: solid;
    border-color: inherit;
    border-bottom-color: transparent !important;
    border-radius: 50%;
    -webkit-animation: none;
    animation: none;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-right-color: transparent !important;
    -webkit-transform: rotate(129deg);
    transform: rotate(129deg);
}

.mdc-progress-wrapper.mini > .spinner > .circle-clipper > .circle {
    border-width: 2px;
}

.mdc-progress-wrapper.active > .spinner > .circle-clipper > .circle {
    -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.mdc-progress-wrapper > .spinner > .circle-clipper ~ .circle-clipper > .circle {
    left: -100%;
    border-left-color: transparent !important;
    -webkit-transform: rotate(-129deg);
    transform: rotate(-129deg);
}

.mdc-progress-wrapper.active > .spinner > .circle-clipper ~ .circle-clipper > .circle {
    -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
    animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
}

.mdc-progress-wrapper > .spinner > .gap-patch {
    position: absolute;
    top: 0;
    left: 45%;
    width: 10%;
    height: 100%;
    overflow: hidden;
    border-color: inherit;
}

.mdc-progress-wrapper > .spinner > .gap-patch > .circle {
    border-radius: 50%;
    width: 1000%;
    left: -450%;
}

@-webkit-keyframes container-rotate {
    to {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes container-rotate {
    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-webkit-keyframes fill-unfill-rotate {
    12.5% {
        -webkit-transform: rotate(135deg);
    }
    25% {
        -webkit-transform: rotate(270deg);
    }
    37.5% {
        -webkit-transform: rotate(405deg);
    }
    50% {
        -webkit-transform: rotate(540deg);
    }
    62.5% {
        -webkit-transform: rotate(675deg);
    }
    75% {
        -webkit-transform: rotate(810deg);
    }
    87.5% {
        -webkit-transform: rotate(945deg);
    }
    100% {
        -webkit-transform: rotate(1080deg);
    }
}

@keyframes fill-unfill-rotate {
    12.5% {
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg);
    }
    25% {
        -webkit-transform: rotate(270deg);
        transform: rotate(270deg);
    }
    37.5% {
        -webkit-transform: rotate(405deg);
        transform: rotate(405deg);
    }
    50% {
        -webkit-transform: rotate(540deg);
        transform: rotate(540deg);
    }
    62.5% {
        -webkit-transform: rotate(675deg);
        transform: rotate(675deg);
    }
    75% {
        -webkit-transform: rotate(810deg);
        transform: rotate(810deg);
    }
    87.5% {
        -webkit-transform: rotate(945deg);
        transform: rotate(945deg);
    }
    100% {
        -webkit-transform: rotate(1080deg);
        transform: rotate(1080deg);
    }
}

@-webkit-keyframes left-spin {
    0% {
        -webkit-transform: rotate(130deg);
    }
    50% {
        -webkit-transform: rotate(-5deg);
    }
    100% {
        -webkit-transform: rotate(130deg);
    }
}

@keyframes left-spin {
    0% {
        -webkit-transform: rotate(130deg);
        transform: rotate(130deg);
    }
    50% {
        -webkit-transform: rotate(-5deg);
        transform: rotate(-5deg);
    }
    100% {
        -webkit-transform: rotate(130deg);
        transform: rotate(130deg);
    }
}

@-webkit-keyframes right-spin {
    0% {
        -webkit-transform: rotate(-130deg);
    }
    50% {
        -webkit-transform: rotate(5deg);
    }
    100% {
        -webkit-transform: rotate(-130deg);
    }
}

@keyframes right-spin {
    0% {
        -webkit-transform: rotate(-130deg);
        transform: rotate(-130deg);
    }
    50% {
        -webkit-transform: rotate(5deg);
        transform: rotate(5deg);
    }
    100% {
        -webkit-transform: rotate(-130deg);
        transform:rotate(-130deg);
    }
}
