// Disable animation if transitions are disabled
@if $enable-transitions {
  @keyframes progress-bar-stripes {
    from { background-position: $progress-height 0; }
    to { background-position: 0 0; }
  }
}

.progress {
  display: flex;
  height: $progress-height;
  overflow: hidden; // force rounded corners by cropping it
  line-height: 0;
  @include font-size($progress-font-size);
  @include border-radius($progress-border-radius);
  @include box-shadow($progress-box-shadow);

  @include themes($progress-theme-map, $create: parent) {
    background-color: themes-get-value("progress-bg");
  }
}

.progress-bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  text-align: center;
  white-space: nowrap;
  @include transition($progress-bar-transition);

  @include themes($progress-theme-map, $create: parent) {
    color: themes-get-value("progress-bar-color");
    background-color: themes-get-value("progress-bar-bg");
  }
}

.progress-bar-striped {
  @include gradient-striped();
  background-size: $progress-height $progress-height;
}

@if $enable-transitions {
  .progress-bar-animated {
    animation: progress-bar-stripes $progress-bar-animation-timing;

    @if $enable-prefers-reduced-motion-media-query {
      @media (prefers-reduced-motion: reduce) {
        animation: none;
      }
    }
  }
}

.progress-xs {
  height: 4px;
}

.progress-sm {
  height: 8px;
}

// White progress bar
.progress.progress-white {
  background-color: rgba(255, 255, 255, .2);
  .progress-bar {
    background-color: $white;
  }
}
