.timeline {
  overflow-x: auto;
}

.timeline .timeline-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin: .5rem !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.timeline .timeline-item:not(:last-child):after {
  content: "";
  display: block;
  border-top: .25rem dotted #666;
  width: 40%;
  position: absolute;
  left: 85%;
  bottom: 1rem
}

.timeline .timeline-item .timeline-circle {
  border-radius: 1.5rem;
  height: 2.5rem;
  width: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 10px 2px rgba(0, 0, 0, .3);
}

.timeline .timeline-circle.past {
  background-color: #16d929;
}

.timeline .timeline-circle.current {
  background-color: #0000ff;
}

.timeline .timeline-circle.pending {
  background-color: #f3f3f3;
}

.timeline .timeline-title {
  font-size: .8em;
  min-height: 1rem;
  max-height: 2.22rem;
  line-height: 1;
  overflow: hidden;
}

.timeline .timeline-date {
  line-height: 1;
}

@media screen and (min-width: 1200px) {
  .timeline .timeline-item {
    -ms-flex: 0 0 10%;
    flex: 0 0 10%;
    max-width: 10%;
  }
}