/*
 * ProgressIndicator component
 *
 */
/*
 * Utilities
 */
.eufemia-scope--10_104_0 .dnb-progress-indicator {
  --progress-indicator-timing: cubic-bezier(0.5, 0, 0.5, 0.99);
  --progress-indicator-circular-circle: 314.159265359%;
  --progress-indicator-circular-circle-offset--min: 314.159265359%;
  --progress-indicator-circular-circle-offset--max: 1%;
  --progress-indicator-circular-size: 2rem;
  --progress-indicator-circular-stroke-width: calc(
    var(--progress-indicator-circular-size) / 8
  );
  --progress-indicator-circular-background-color: grey;
  --progress-indicator-circular-bar-color: var(--color-black);
  --progress-indicator-linear-size: 0.5rem;
  --progress-indicator-linear-background-color: grey;
  --progress-indicator-linear-bar-color: var(--color-black);
  position: relative;
  display: inline-flex;
  align-items: center;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator--vertical {
  flex-direction: column;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator--horizontal {
  justify-content: center;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__label {
  display: inline-flex;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__label .dnb-p {
  align-self: center;
}
.eufemia-scope--10_104_0 .dnb-spacing .dnb-progress-indicator .dnb-p,
.eufemia-scope--10_104_0 .dnb-spacing .dnb-progress-indicator .dnb-p:not([class*=dnb-space]) {
  margin: 0;
}

.eufemia-scope--10_104_0 .dnb-progress-indicator--horizontal .dnb-progress-indicator__label {
  padding-left: 1rem;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator--horizontal.dnb-progress-indicator--small .dnb-progress-indicator__label {
  padding-left: 0.5rem;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator--vertical .dnb-progress-indicator__label {
  padding-top: 0.5rem;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator--inside .dnb-progress-indicator__label {
  position: absolute;
  width: 100%;
  justify-content: center;
  padding: var(--progress-indicator-circular-stroke-width);
}
.eufemia-scope--10_104_0 .dnb-progress-indicator--small {
  --progress-indicator-circular-size: 1rem;
  --progress-indicator-linear-size: 0.25rem;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator--medium {
  --progress-indicator-circular-size: 1.5rem;
  --progress-indicator-linear-size: 1rem;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator--large {
  --progress-indicator-circular-size: 3.5rem;
  --progress-indicator-linear-size: 1.5rem;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator--huge {
  --progress-indicator-circular-size: 20rem;
  --progress-indicator-linear-size: 2rem;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular {
  position: relative;
  width: var(--progress-indicator-circular-size);
  height: var(--progress-indicator-circular-size);
  transform: rotate(-90deg);
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular svg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: calc(var(--progress-indicator-circular-stroke-width) / 2);
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular svg:not(:root) {
  overflow: visible;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular__background-padding {
  display: block;
  height: 100%;
  padding: calc(var(--progress-indicator-circular-stroke-width) / 2);
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular__background {
  display: block;
  height: 100%;
  background-color: transparent;
  border-radius: 50%;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular__line {
  animation-duration: 2s;
  animation-delay: 200ms;
  animation-timing-function: var(--progress-indicator-timing);
  animation-iteration-count: infinite;
}
@media (prefers-reduced-motion: reduce) {
  .eufemia-scope--10_104_0 .dnb-progress-indicator__circular__line {
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
  }
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular__line.background {
  stroke-dashoffset: var(--progress-indicator-circular-circle-offset--max);
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular__line.light {
  animation-name: progress-indicator-circular-line-light;
  stroke-dasharray: var(--progress-indicator-circular-circle), var(--progress-indicator-circular-circle);
  stroke-dashoffset: var(--progress-indicator-circular-circle-offset--max);
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular__line.dark {
  animation-name: progress-indicator-circular-line-dark;
  stroke-dasharray: var(--progress-indicator-circular-circle), var(--progress-indicator-circular-circle);
  stroke-dashoffset: var(--progress-indicator-circular-circle-offset--min);
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular__line.paused {
  animation-play-state: paused;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular--has-progress-value .dnb-progress-indicator__circular__line.dark {
  transition: stroke-dashoffset 600ms var(--progress-indicator-timing);
}
@media (prefers-reduced-motion: reduce) {
  .eufemia-scope--10_104_0 .dnb-progress-indicator__circular--has-progress-value .dnb-progress-indicator__circular__line.dark {
    transition-duration: 0.01ms;
  }
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular__circle {
  stroke-linecap: round;
  stroke-width: var(--progress-indicator-circular-stroke-width);
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular__line.light .dnb-progress-indicator__circular__circle {
  stroke: var(--progress-indicator-circular-background-color);
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__circular__line.dark .dnb-progress-indicator__circular__circle {
  stroke: var(--progress-indicator-circular-bar-color);
  stroke-width: calc(var(--progress-indicator-circular-stroke-width) - 0.5px);
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__linear {
  background-color: var(--progress-indicator-linear-background-color);
  position: relative;
  overflow: hidden;
  width: 100%;
  will-change: transform;
  height: var(--progress-indicator-linear-size);
  border-radius: calc(var(--progress-indicator-linear-size) / 2);
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__linear__bar {
  background-color: var(--progress-indicator-linear-bar-color);
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
  transform-origin: left;
  border-radius: inherit;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__linear__bar-transition {
  transition: transform 0.2s linear;
}
@media (prefers-reduced-motion: reduce) {
  .eufemia-scope--10_104_0 .dnb-progress-indicator__linear__bar-transition {
    transition-duration: 0.01ms;
  }
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__linear__bar1-animation {
  width: auto;
  animation: progress-indicator-linear-bar-1 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
}
@media (prefers-reduced-motion: reduce) {
  .eufemia-scope--10_104_0 .dnb-progress-indicator__linear__bar1-animation {
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
  }
}
.eufemia-scope--10_104_0 .dnb-progress-indicator__linear__bar2-animation {
  width: auto;
  animation: progress-indicator-linear-bar-2 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .eufemia-scope--10_104_0 .dnb-progress-indicator__linear__bar2-animation {
    animation-duration: 0.01ms;
    animation-iteration-count: 1;
  }
}
html[data-visual-test] .eufemia-scope--10_104_0 .dnb-progress-indicator__linear__bar1-animation {
  left: -35%;
  right: 100%;
  animation-duration: 0ms;
  animation-iteration-count: 0;
}
html[data-visual-test] .eufemia-scope--10_104_0 .dnb-progress-indicator__linear__bar2-animation {
  left: -200%;
  right: 100%;
  animation-duration: 0ms;
  animation-iteration-count: 0;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator, .eufemia-scope--10_104_0 .dnb-progress-indicator--visible {
  opacity: 0;
  animation: progress-indicator-fade-in 200ms ease-out 1 forwards;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator--complete:not(.dnb-progress-indicator--visible) {
  animation: progress-indicator-fade-out 600ms ease-out 1 forwards;
}
@media (prefers-reduced-motion: reduce) {
  .eufemia-scope--10_104_0 .dnb-progress-indicator {
    animation-duration: 0.01ms !important;
  }
}
html[data-visual-test] .eufemia-scope--10_104_0 .dnb-progress-indicator {
  opacity: 1;
  animation-duration: 0ms;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator--no-animation, .eufemia-scope--10_104_0 .dnb-progress-indicator--no-animation.dnb-progress-indicator--complete {
  animation-duration: 0ms;
}
html[data-visual-test] .eufemia-scope--10_104_0 .dnb-progress-indicator__bar-transition {
  transition: none;
}
.eufemia-scope--10_104_0 .dnb-progress-indicator--full-width {
  width: 100%;
  min-width: 1rem;
}
@keyframes progress-indicator-fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes progress-indicator-fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes progress-indicator-circular-line-light {
  0% {
    stroke-dashoffset: var(--progress-indicator-circular-circle-offset--min);
  }
  50% {
    stroke-dashoffset: var(--progress-indicator-circular-circle-offset--min);
  }
  100% {
    stroke-dashoffset: var(--progress-indicator-circular-circle-offset--max);
  }
}
@keyframes progress-indicator-circular-line-dark {
  0% {
    stroke-dashoffset: var(--progress-indicator-circular-circle-offset--min);
  }
  50% {
    stroke-dashoffset: var(--progress-indicator-circular-circle-offset--max);
  }
  100% {
    stroke-dashoffset: var(--progress-indicator-circular-circle-offset--max);
  }
}
@keyframes progress-indicator-linear-bar-1 {
  0% {
    left: -35%;
    right: 100%;
  }
  60% {
    left: 100%;
    right: -90%;
  }
  100% {
    left: 100%;
    right: -90%;
  }
}
@keyframes progress-indicator-linear-bar-2 {
  0% {
    left: -200%;
    right: 100%;
  }
  60% {
    left: 107%;
    right: -8%;
  }
  100% {
    left: 107%;
    right: -8%;
  }
}