.timeline {
	position: relative;
}

.timeline > .timeline-divider:before {
	top: 0;
	bottom: 0;
	position: absolute;
	content: " ";
	width: 3px;
	background-color: #eee;
	left: 50%;
	margin-left: -1.5px;
}

.timeline > .timeline-body {
  list-style: none;
  padding: 1.5em 0 1.5em;
}

.timeline > .timeline-body > .timeline-event {
	position: relative;
	margin-bottom: 5em;
}

.timeline > .timeline-body > .timeline-event:before,
.timeline > .timeline-body > .timeline-event:after {
	content: " ";
	display: table;
}

.timeline > .timeline-body > .timeline-event:nth-child(odd) {
	clear: right;
}

.timeline > .timeline-body > .timeline-event:nth-child(even) {
	clear: left;
}

.timeline > .timeline-body > .timeline-event > .timeline-badge {
	color: #fff;
	width: 50px;
	height: 50px;
	line-height: 50px;
	font-size: 1.4em;
	text-align: center;
	position: absolute;
	top: 16px;
	left: 50%;
	margin-left: -25px;
	background-color: #999;
	z-index: 100;
	border-top-right-radius: 50%;
	border-top-left-radius: 50%;
	border-bottom-right-radius: 50%;
	border-bottom-left-radius: 50%;
}

.timeline > .timeline-body > .timeline-event > .timeline-badge.news {
    background-color: #2e6da4 !important;
}

.timeline > .timeline-body > .timeline-event > .timeline-badge.reservation {
    background-color: #3f903f !important;
}

.timeline > .timeline-body > .timeline-event > .timeline-badge.birthday {
    background-color: #f0ad4e !important;
}

.timeline > .timeline-body > .timeline-event > .timeline-badge.event {
    background-color: #d9534f !important;
}

.timeline > .timeline-body > .timeline-event > .timeline-badge.chargierevent {
    background-color: #5bc0de !important;
}

.timeline > .timeline-body > .timeline-event > .timeline-badge.deceased {
    background-color: #222 !important;
}

.timeline > .timeline-body > .timeline-event > .timeline-badge.wedding {
    background-color: #984FD8 !important;
}

.timeline > .timeline-body > .timeline-event > .timeline-panel {
	position: relative;
	border: 1px solid #ccc;
	border-radius: 0;
	overflow: inherit;
}

.timeline > .timeline-body > .timeline-event > .timeline-panel {
	width: 46%;
}

.timeline > .timeline-body > .timeline-event:nth-child(odd) > .timeline-panel {
	float: right;
}

.timeline > .timeline-body > .timeline-event:nth-child(even) > .timeline-panel {
	float: left;
}

.timeline > .timeline-body > .timeline-event > .timeline-panel.with-badge:before {
	position: absolute;
	top: 26px;
	right: -15px;
	display: inline-block;
	border-top: 15px solid transparent;
	border-left: 15px solid #ccc;
	border-right: 0 solid #ccc;
	border-bottom: 15px solid transparent;
	content: " ";
}

.timeline > .timeline-body > .timeline-event:nth-child(odd) > .timeline-panel.with-badge:before {
	border-left-width: 0;
	border-right-width: 15px;
	left: -15px;
	right: auto;
}

.timeline > .timeline-body > .timeline-event > .timeline-panel.with-badge:after {
	position: absolute;
	top: 27px;
	right: -14px;
	display: inline-block;
	border-top: 14px solid transparent;
	border-left: 14px solid #fff;
	border-right: 0 solid #fff;
	border-bottom: 14px solid transparent;
	content: " ";
}

.timeline > .timeline-body > .timeline-event:nth-child(odd) > .timeline-panel.with-badge:after {
	border-left-width: 0;
	border-right-width: 14px;
	left: -14px;
	right: auto;
}

.timeline > .timeline-body > .timeline-event > .timeline-panel.full-width {
	width: 100%;
	float: left;
}

.timeline > .timeline-body > .timeline-event > .timeline-panel .card-header {
	background-color: transparent;
	border-color: transparent;
}

.timeline > .timeline-body > .timeline-event > .timeline-panel .card-body {
	padding: 0 1em 1em 1em;
}

@media (max-width: 991px) {
  .timeline > .timeline-divider:before {
    left: 40px;
  }

	.timeline > .timeline-body > .timeline-event:nth-child(even) {
		clear: right;
	}

  .timeline > .timeline-body > .timeline-event > .timeline-badge {
    left: 15px;
    margin-left: 0;
    top: 16px;
  }

  .timeline > .timeline-body > .timeline-event > .timeline-panel {
    width: calc(100% - 90px);
    width: -moz-calc(100% - 90px);
    width: -webkit-calc(100% - 90px);
  }

	.timeline > .timeline-body > .timeline-event:nth-child(even) > .timeline-panel {
		float: right;
	}

	.timeline > .timeline-body > .timeline-event > .timeline-panel.with-badge:before {
		border-left-width: 0;
		border-right-width: 15px;
		left: -15px;
		right: auto;
	}

	.timeline > .timeline-body > .timeline-event > .timeline-panel.with-badge:after {
		border-left-width: 0;
		border-right-width: 14px;
		left: -14px;
		right: auto;
	}
}

.timeline > .timeline-footer {
	clear: both;
}
