@use "design";

// Horizontal

.hTimeline {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: stretch;

  @include design.font-small;

  .timelineEntry {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 3;
    text-align: center;
  }

  .entryIcon {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 35px;

    width: 60px;
    height: 60px;
    margin-bottom: 15px;

    border-radius: 1000px;
    background: #fff;
    padding: 12px;

    svg {
      width: 100%;
      height: 100%;
    }
  }
}

.arrow {
  flex: 1;
  padding-top: 26px;
}

.growingArrow {
  display: flex;
  color: design.$text-grey;

  div {
    flex-grow: 1;
    border-top: 1.5px solid;
    margin-top: 5.5px;
  }

  svg {
    margin-left: -7px;
  }
}

// Vertical

.vTimeline {
  $lineBreathingRoom: 10px;

  .title {
    color: design.$color-brand-primary;
  }
  .description {
    color: design.$text-grey;
  }

  .icon {
    --iconHeight: 20px;
    &.hasIcon {
      --iconHeight: 25px;
    }

    position: relative;
    color: design.$color-brand-primary;
    width: 25px;
    text-align: center;

    svg {
      width: 25px;
      height: 25px;
    }

    .dot {
      display: inline-block;
      border: 2px solid design.$color-brand-primary;
      width: 12px;
      height: 12px;
      border-radius: 100%;
    }
  }

  > *:not(:last-child) {
    margin-bottom: $lineBreathingRoom;

    .content {
      padding-bottom: 22px;
    }

    .icon {
      &::after {
        content: "";
        position: absolute;
        background-color: design.$color-brand-primary;
        top: calc(var(--iconHeight) + #{$lineBreathingRoom});
        left: 50%;
        bottom: 0;
        width: 2px;
        margin-left: -1px;
        border-radius: 100px;
      }
    }
  }
}
