.timeline, .timeline.v1 {
  margin: 0px auto;
  overflow: hidden;
  height: auto;
  position: relative;
  padding: 0px;
  list-style-type: none;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEElEQVQIW2NMTEz8z8gABAAPKwIlXWq1kgAAAABJRU5ErkJggg==);
  background-repeat: repeat-y;
  background-position: 50% 0;
}
.timeline *, .timeline *:after, .timeline:after, .timeline *:before, .timeline:before, .timeline.v1 *, .timeline.v1 *:after, .timeline.v1:after, .timeline.v1 *:before, .timeline.v1:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.timeline .year, .timeline.v1 .year {
  background: #505050;
  font-size: 3em;
  max-width: 4em;
  clear: both;
  margin: 1em auto;
  color: white;
  border-radius: 30% / 100%;
  text-align: center;
  margin-top: 50px;
}
.timeline .year:first-of-type, .timeline.v1 .year:first-of-type {
  margin-top: 0 !important;
}
.timeline .year + .event, .timeline.v1 .year + .event {
  margin-top: -1.5em;
}
.timeline .event, .timeline.v1 .event {
  position: relative;
  text-align: center;
  float: right;
  clear: right;
  width: 45%;
  margin: 10px 2.5%;
  border-radius: 5px;
  list-style-type: none;
  display: block;
  padding: .4em;
  background: white;
  z-index: 15;
  color: #4d4d4d;
  border: 1px solid #d0d0d0;
  text-decoration: none;
  -webkit-transition: background .15s linear;
  -moz-transition: background .15s linear;
  -ms-transition: background .15s linear;
  -o-transition: background .15s linear;
  transition: background .15s linear;
}
.timeline .event.featured, .timeline.v1 .event.featured {
  width: 95% !important;
}
.timeline .event.featured:after, .timeline .event.featured:before, .timeline.v1 .event.featured:after, .timeline.v1 .event.featured:before {
  display: none;
}
@media all and (max-width: 600px) {
  .timeline .event, .timeline.v1 .event {
    width: 85%;
  }
}
.timeline .event.offset-first, .timeline.v1 .event.offset-first {
  margin-top: -1.5em;
}
.timeline .event img, .timeline.v1 .event img {
  margin-top: 10px;
  max-width: 100%;
}
.timeline .event:hover, .timeline.v1 .event:hover {
  background: #f6f6f6;
}
.timeline .event:hover:after, .timeline.v1 .event:hover:after {
  background: #505050;
}
.timeline .event:nth-of-type(2n), .timeline.v1 .event:nth-of-type(2n) {
  float: left;
  clear: left;
}
.timeline .event:nth-of-type(2n):after, .timeline.v1 .event:nth-of-type(2n):after {
  right: -5%;
  /* reset the standard declaration I defined before*/
  left: auto;
}
@media all and (min-width: 650px) {
  .timeline .event:after, .timeline.v1 .event:after {
    display: block;
    content: ' ';
    height: 9px;
    width: 9px;
    background: #9d9d9d;
    border-radius: 50%;
    position: absolute;
    left: -5%;
    top: 1.5em;
    border: 2px solid white;
  }
}
.timeline time, .timeline.v1 time {
  display: block;
  font-weight: bold;
}
.timeline.v2 .year, .timeline.v1.v2 .year {
  background: white;
  color: #505050;
  border: 2px solid #505050;
}
.timeline.v2 .event, .timeline.v1.v2 .event {
  border: none;
  background: #FAFAFA;
  border-bottom: 1px solid #cac4c4;
}

