.timeline {
   position: relative;
}

.timeline__content {
   position: relative;
   padding: 2em 0;
   margin-top: 2em;
   margin-bottom: 2em;
}

.timeline__content:before {
   content: "";
   position: absolute;
   top: 0;
   left: 18px;
   height: 100%;
   width: 1px;
   background: #d7e4ed;
}

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

.timeline-block {
   position: relative;
   margin: 2em 0;
}
.timeline-block:after {
   clear: both;
   content: "";
   display: table;
}
.timeline-block:first-child {
   margin-top: 0;
}
.timeline-block:last-child {
   margin-bottom: 0;
}
@media only screen and (min-width: 1170px) {
   .timeline-block {
      margin: 150px 0;
   }
   .timeline-block:first-child {
      margin-top: 0;
   }
   .timeline-block:last-child {
      margin-bottom: 0;
   }
}

.timeline-number {
   position: absolute;
   top: 0;
   left: calc(50% - 35px);
   width: 70px;
   height: 70px;
   border-radius: 8px;
   display: flex;
   align-items: center;
   justify-content: center;
   background: #fff;
   box-shadow: 0px 12px 24px 0px #0000000F;
   top: calc(50% - 35px);
}

.timeline-number span {
   display: block;
   position: relative;
   font-size: 28px;
   font-weight: 700;
}

.timeline-block:nth-child(1) .timeline-number span,
.timeline-block:nth-child(3n + 1) .timeline-number span {
   color: #000;
}

.timeline-block:nth-child(3n+2) .timeline-number span {
   color: #ff6600;
}

.timeline-block:nth-child(3n+3) .timeline-number span {
   color: #009cb6;
}

@media(max-width: 1169px) {
   .timeline-number {
      top: 0;
      width: 40px;
      left: 0;
      height: 40px;
   } 
   .timeline-number span {
      font-size: 20px;
   }
   .timeline-img {
      display: none !important;
   }
  .timeline-img.timeline-video {
      display: flex !important;
      margin-top: 2rem;
    }
   }
}

@media only screen and (min-width: 1170px) {
   .timeline-number {
      width: 60px;
      height: 60px;
      left: 0;
      margin-left: -30px;
      -webkit-transform: translateZ(0);
      -webkit-backface-visibility: hidden;
   }
}

.timeline-text {
   position: relative;
   margin-left: 60px;
   border-radius: 0.25em;
   padding: 0.7em 1em;
}
.timeline-text:after {
   clear: both;
   content: "";
   display: table;
}

.timeline-img {
   display: inline-block;
   vertical-align: middle;
}

.timeline-img img, .timeline-video.rounded iframe {
   max-width: 100%;
   border-radius: 10px;
  overflow: hidden;
}

@media only screen and (min-width: 1170px) {
   .timeline-text {
      margin-left: 0;
      width: 45%;
      padding: 1.6em 1.6em 1.6em 0;
   }
   .timeline-text .arrow-link {
      float: left;
   }
   .timeline-text .timeline-img {
      position: absolute;
      width: 100%;
      left: 122%;
      top: 6px;
      font-size: 16px;
      font-size: 1rem;
   }
   .timeline-block:nth-child(even) .timeline-text {
      float: right;
      padding: 1.6em 1.6em 1.6em 0;
   }
   .timeline-block:nth-child(even) .timeline-text .timeline-img {
      left: auto;
      right: 122%;
      text-align: right;
   }
}
