.ghost {
  opacity:0;
}
.need-extra-mt {margin-top: 3rem;}
.timeline {
  width:100%;
  position:relative;
  padding:1px 0;
  list-style:none;
  font-size: 18px;
}
.timeline-title {
	font-size: 2rem;
	margin-bottom: 1.125rem;
	text-align: center;
	text-transform: uppercase;
}
.timeline .timeline-label {
  position:relative;
  float:left;
  clear:left;
  top:1px;
  width:100%;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:2.5rem;
  padding:0;
  text-align:center;
}
.timeline .timeline-label .label {
  font-size:2.25rem;
  font-weight:700;
  padding:1rem 2.675rem;
  border-radius:3rem;
  background-color:#740A3C;
  color:#FFFFFF;
  box-shadow:0 0 0 4px white,inset 0 2px 0 rgba(0,0,0,0.08),0 3px 0 4px rgba(0,0,0,0.05);
}
.timeline .timeline-label:before,
.timeline .timeline-label:after {
  content:"";
  display:table;
}
.timeline .timeline-label:after {
  clear:both;
}
.timeline .timeline-label:last-child {
  margin-bottom:0 !important;
}
.timeline .timeline-label + .timeline-item {
  margin-top:0;
}
.timeline .timeline-item {
  padding-left:0;
  padding-right:3rem;
  position:relative;
  float:left;
  clear:left;
  width:50%;
  margin-bottom:2rem;
}
.timeline .timeline-item .timeline-event {
  width:100%;
  background:white;
  border-radius:3px;
  padding:1em;
  box-shadow:0 3px 0 rgba(0,0,0,0.05);
  transform:translateZ(0);
}
.timeline .timeline-item .timeline-event h3,
.timeline .timeline-item .timeline-event h4 {
  margin-top:0;
}
.timeline .timeline-item .timeline-event p,
.timeline .timeline-item .timeline-event ul > li {
  font-size:1rem;
}
@media (max-width:992px) {
  .timeline .timeline-item .timeline-event p,
  .timeline .timeline-item .timeline-event ul > li {
    font-size:0.9rem;
  }
}
@media (max-width:768px) {
  .timeline .timeline-item .timeline-event p,
  .timeline .timeline-item .timeline-event ul > li {
    font-size:0.85rem;
  }
}
.timeline .timeline-item:nth-of-type(2) {
  margin-top:3rem;
}
.timeline .timeline-label + .timeline-item + .timeline-item {
  margin-top:3rem;
}
.timeline .timeline-item.need-extra-mt {
  margin-top:3rem;
}
.timeline .timeline-item.timeline-item-right,
.timeline .timeline-item:nth-of-type(even):not(.timeline-item-left) {
  padding-left:3rem;
  padding-right:0;
  float:right;
  clear:right;
}
.timeline .timeline-item > .timeline-point {
  position:absolute;
  width:14px;
  height:14px;
  border-radius:50%;
  background-color:#740A3C;
  box-shadow:0 0 0 3px white,inset 0 2px 0 rgba(0,0,0,0.08),0 3px 0 4px rgba(0,0,0,0.05);
  transform:translateZ(0);
}
.timeline .timeline-item > .timeline-point {
  top:18px;
  right:-7px;
}
.timeline .timeline-item.timeline-item-right > .timeline-point,
.timeline .timeline-item:nth-of-type(even):not(.timeline-item-left) > .timeline-point {
  top:18px;
  left:-7px;
}
.timeline .timeline-item > .timeline-event {
  position:relative;
  float:left;
}
.timeline .timeline-item > .timeline-event:before {
  border-left-color:#FFFFFF;
  border-right-color:#FFFFFF;
}
.timeline .timeline-item > .timeline-event:after {
  border-left-color:#FFFFFF;
  border-right-color:#FFFFFF;
}
.timeline .timeline-item > .timeline-event:before,
.timeline .timeline-item > .timeline-event:after {
  content:"";
  display:inline-block;
  position:absolute;
}
.timeline .timeline-item.timeline-item-right > .timeline-event,
.timeline .timeline-item:nth-of-type(even):not(.timeline-item-left) > .timeline-event {
  float:right !important;
}
.timeline .timeline-item.timeline-item-right > .timeline-event:before,
.timeline .timeline-item:nth-of-type(even):not(.timeline-item-left) > .timeline-event:before,
.timeline .timeline-item.timeline-item-right > .timeline-event:after,
.timeline .timeline-item:nth-of-type(even):not(.timeline-item-left) > .timeline-event:after {
  right:auto !important;
  border-left-width:0 !important;
}
.timeline .timeline-item.timeline-item-right > .timeline-event:before,
.timeline .timeline-item:nth-of-type(even):not(.timeline-item-left) > .timeline-event:before {
  left:-14px !important;
  border-right-width:15px !important;
}
.timeline .timeline-item.timeline-item-right > .timeline-event:after,
.timeline .timeline-item:nth-of-type(even):not(.timeline-item-left) > .timeline-event:after {
  left:-14px !important;
  border-right-width:14px !important;
}
.timeline .timeline-item > .timeline-event:before {
  top:10px;
  right:-14px;
  border-top:14px solid transparent;
  border-left-width:14px;
  border-left-style:solid;
  border-right-width:0;
  border-right-style:solid;
  border-bottom:14px solid transparent;
}
.timeline .timeline-item > .timeline-event:after {
  top:10px;
  right:-14px;
  border-top:14px solid transparent;
  border-left-width:14px;
  border-left-style:solid;
  border-right-width:0;
  border-right-style:solid;
  border-bottom:14px solid transparent;
}
.timeline .timeline-item.timeline-item-left,
.timeline .timeline-item.timeline-item-right {
  clear:both !important;
}
.timeline .timeline-item:before,
.timeline .timeline-item:after {
  content:"";
  display:table;
}
.timeline .timeline-item:after {
  clear:both;
}
.timeline .timeline-item:last-child {
  margin-bottom:0 !important;
}
.timeline:before {
  border-right-style:solid;
  content:"";
  position:absolute;
  top:0;
  left:0;
  bottom:0;
  width:50%;
  height:100% !important;
  margin-left:2px;
  border-right-width:4px;
  border-right-style:solid;
  border-right-color:rgba(52,40,104,0.1);
}
.timeline.timeline-line-solid:before {
  border-right-style:solid;
}
.timeline.timeline-line-dotted:before {
  border-right-style:dotted;
}
.timeline.timeline-line-dashed:before {
  border-right-style:dashed;
}
.timeline:before,
.timeline:after {
  content:" ";
  display:block;
}
.timeline:after {
  clear:both;
}
@media screen and (max-width:768px) {
  .timeline {
    width:100%;
    max-width:100%;
  }
  .timeline .timeline-item {
    padding-left:62px;
    padding-right:0;
    width:100%;
    margin-bottom:2rem;
  }
  .timeline .timeline-item:nth-of-type(even) {
    margin-top:0;
  }
  .timeline .timeline-item.need-extra-mt {
    margin-top:0;
  }
  .timeline .timeline-item.timeline-item-right,
  .timeline .timeline-item:nth-of-type(even):not(.timeline-item-left) {
    padding-left:62px;
    padding-right:0;
  }
  .timeline .timeline-item .timeline-event {
    width:100%;
  }
  .timeline .timeline-item > .timeline-event {
    float:right !important;
  }
  .timeline .timeline-item > .timeline-event:before,
  .timeline .timeline-item > .timeline-event:after {
    right:auto !important;
    border-left-width:0 !important;
  }
  .timeline .timeline-item > .timeline-event:before {
    left:-14px !important;
    border-right-width:14px !important;
  }
  .timeline .timeline-item > .timeline-event:after {
    left:-14px !important;
    border-right-width:14px !important;
  }
  .timeline .timeline-item > .timeline-point {
    left:24px !important;
    margin-left:0;
  }
  .timeline .timeline-label {
    text-align:left;
  }
  .timeline .timeline-label .label {
    font-size:2.25rem;
    font-weight:700;
    padding:1rem 2.675rem;
    display:block;
    text-align:center;
  }
  .timeline .timeline-label + .timeline-item + .timeline-item {
    margin-top:0;
  }
  .timeline .time-right {
    left:0;
  }
  .timeline:before {
    left:30px;
    width:0;
    margin-left:-1px;
  }
}
.timeline-event.timeline__content--bounce-in {
  visibility:visible;
  animation:bounce-2 0.6s;
}
.timeline-item:nth-child(even) .timeline-event.timeline__content--bounce-in {
  animation:bounce-2-inverse 0.6s;
}
.timeline__divider--bounce-in,
.timeline__dots--bounce-in {
  visibility:visible;
  animation:bounce-1 0.6s;
}
@keyframes bounce-1 {
  0% {
    opacity:0;
    transform:scale(0.5);
  }
  60% {
    opacity:1;
    transform:scale(1.2);
  }
  100% {
    transform:scale(1);
  }
}
@keyframes bounce-2 {
  0% {
    opacity:0;
    transform:translateX(-100px);
  }
  60% {
    opacity:1;
    transform:translateX(20px);
  }
  100% {
    transform:translateX(0);
  }
}
@keyframes bounce-2-inverse {
  0% {
    opacity:0;
    transform:translateX(100px);
  }
  60% {
    opacity:1;
    transform:translateX(-20px);
  }
  100% {
    transform:translateX(0);
  }
}