.ve-progress {
  --ve-size-offset: 0px;
  --ve-circular-default-size: 40px;
  --ve-size: calc(var(--ve-circular-default-size) + var(--ve-size-offset));
  position: relative;
  vertical-align: middle;
  transition: 0.6s linear;
  border-radius: 100px;
}
.ve-progress--size-x-small {
  --ve-size-offset: -8px;
}
.ve-progress--size-small {
  --ve-size-offset: -4px;
}
.ve-progress--size-medium {
  --ve-size-offset: 0px;
}
.ve-progress--size-large {
  --ve-size-offset: 8px;
}
.ve-progress--size-x-large {
  --ve-size-offset: 16px;
}
.ve-progress--start {
  margin-inline-end: 8px;
}
.ve-progress--end {
  margin-inline-start: 8px;
}
.ve-progress--variant-circular {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--ve-size);
  width: var(--ve-size);
}
.ve-progress--indeterminate:not(.ve-progress--visible), .ve-progress--indeterminate:not(.ve-progress--visible) {
  animation-play-state: paused !important;
}
.ve-progress--variant-linear {
  display: flex;
  align-items: center;
  height: auto;
  width: 100%;
}
.ve-progress .ve-progress-circular {
  width: 100%;
  height: 100%;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.ve-progress .ve-progress-linear {
  flex: 1 0 auto;
}
.ve-progress-linear + .ve-progress__wrapper {
  min-width: 40px;
}
.ve-progress__wrapper {
  display: flex;
  align-items: center;
  justify-content: end;
  border-radius: 0;
}