.a_progress {
  --a_progress_height: 1rem;
  --a_progress_font_size: 0.75rem;
  --a_progress_bg: var(--a_color_gray_200);
  --a_progress_border_radius: var(--a_border_radius);
  --a_progress_box_shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);
  --a_progress_bar_color: var(--a_color_white);
  --a_progress_bar_bg: var(--a_color_primary);
  --a_progress_bar_transition: width 0.6s ease;
  display: flex;
  height: var(--a_progress_height);
  overflow: hidden;
  font-size: var(--a_progress_font_size);
  background-color: var(--a_progress_bg);
  border-radius: var(--a_progress_border_radius);
}
.a_progress_reverse {
  flex-direction: row-reverse;
}
.a_progress_small {
  --a_progress_height: .75rem;
  --a_progress_font_size: .6rem;
}
.a_progress_medium {
  --a_progress_height: 1.25rem;
  --a_progress_font_size: 1rem;
}
.a_progress_large {
  --a_progress_height: 1.5rem;
  --a_progress_font_size: 1.25rem;
}
.a_progress__bar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  color: var(--a_progress_bar_color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--a_progress_bar_bg);
  transition: var(--a_progress_bar_transition);
}
.a_progress__bar_indeterminate {
  position: relative;
  animation: 4s a_progress_bar_indeterminate infinite;
}

.a_progress__bar_striped {
  background-image: linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);
  background-size: var(--a_progress_height) var(--a_progress_height);
  &.a_progress__bar_striped_flow {
    animation: 1s linear infinite a_progress_bar_flow;
  }
}

@keyframes a_progress_bar_flow {
  0% {
    background-position-x: 1rem
  }
}

@keyframes a_progress_bar_indeterminate {
  0% {
    left: -100%
  }

  to {
    left: 100%
  }
}
