.timeline-container {
  width: 100%;
  max-width: 1170px;
  margin: auto;
}

.timeline-container::after {
  content:"";
  position: absolute;
  top: 0%;
  bottom: 0;
  left: 50%;
  border-left: 3px dotted #fff; 
  height: 100%;
  z-index: 0;
}

#timeline {
  position: relative;
  margin-top: 2em;
  margin-bottom: 2em;
}

#timeline::before {
  position: absolute;
  border-bottom: 3px dotted #fff;
  top: -50%;
  left: -7.5%;
  color: #fff;
  height: 100%;
  width: 4px;
  color: #fff;
  -webkit-transform: rotate(90deg);
     -moz-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
       -o-transform: rotate(90deg);
          transform: rotate(90deg);
}

.timeline-item-left {
  z-index: 1;
}

.timeline-item-right {
  z-index: 1;
}

.timeline-item-center {
  z-index: 1;
 
}

.timeline-item-left:after {
  content:"";
  position: absolute;
  top: 0;
  width: 50%;
  top: 50%;
  bottom: 0;
  left: 95%;
  border-top: 3px dotted #fff; 
}

.timeline-content {
  background-color: #fff;
  position: relative;
  margin: 1em;
  padding: 1em;
}

.timeline-content h2 {
  color: #3FA9F5;
  font-size: 24px;
}

@media only screen and (min-width: 1170px) {
  #timeline {
    margin-top: 3em;
    margin-bottom: 3em;
  }
  #timeline::before {
    left: 50%;
  }
}