@include b(timeline) {
  @include e(text-container) {
    display: flex;

    .#{$B}__text {
      padding: 0 8px;
      text-align: center;
    }
  }

  @include e(icon-container) {
    display: flex;

    .#{$B}__icon {
      position: relative;
      display: flex;
      flex: 1 0 0;
      align-items: center;
    }

    .#{$B}__separator {
      flex: 1 0 0;
      height: 2px;
    }
  }

  @include e(content) {
    display: flex;
    align-items: stretch;

    .#{$B}__text {
      display: inline-flex;
      align-items: center;
    }

    .#{$B}__icon {
      display: inline-flex;
      flex-direction: column;
      align-items: center;
    }

    .#{$B}__separator {
      flex: 1 0 0;
      width: 2px;
    }

    @include m(gap) {
      height: 20px;
    }
  }

  @include e(text) {
    flex: 1 0 0;

    @include m(left) {
      justify-content: flex-end;
      text-align: right;
    }
  }

  @include e(icon) {
    color: var(--#{$rd-prefix}color-primary);

    @include when(completed) {
      color: var(--#{$rd-prefix}color-success);
    }

    @include when(active) {
      color: var(--#{$rd-prefix}color-primary);
    }

    @include when(wait) {
      color: var(--#{$rd-prefix}color-disabled);
    }

    @include when(error) {
      color: var(--#{$rd-prefix}color-danger);
    }
  }

  @include e(dot) {
    position: relative;
    z-index: 5;
    width: 12px;
    height: 12px;
    background-color: var(--#{$rd-prefix}background-color);
    border: 2px solid currentcolor;
    border-radius: 50%;
  }

  @include e(separator) {
    background-color: var(--#{$rd-prefix}background-color-indicator);

    @include m(hidden) {
      background-color: transparent;
    }
  }
}
