.timeline .timeline-toptitle {
	width: 100%;
	text-align: center;
}

.timeline .timeline-toptitle .title {
	display: inline-block;
  	font-size: 2rem;
  	font-weight: 300;
  	padding: 2px 1rem 3px;
  	cursor: pointer;
  	-webkit-border-radius: 4px;
  	-moz-border-radius: 4px;
  	border-radius: 4px;
}

.timeline .timeline-content {
	position: relative;
}

.timeline .timeline-content .line {
	position: absolute;
	width: 0;
	bottom: 0;
	top: 0;
	border: 1px solid;
	left: 50%;
	margin-left: -1px;
}

.timeline .timeline-content .timeline-item {
	width: 50%;
	padding: 2rem 3rem;
}

.timeline .timeline-content .timeline-item .body {
	position: relative;
}

.timeline .timeline-content .timeline-item.right {
	margin: 0 0 0 auto;
}

.timeline .timeline-content .timeline-item .body .timeline-body {
	border: 1px solid;
}

.timeline .timeline-content .timeline-item .body .timeline-res + .timeline-body {
	border-top: none;
}

.timeline .timeline-content .timeline-item .body .bullet {
	display: block;
	width: 3rem;
	height: 2px;
	position: absolute;
	opacity: 0;
}

.timeline .timeline-content .timeline-item.left .body .bullet {
	right: -3rem;
	top: 3rem;
	opacity: 1;
}

.timeline .timeline-content .timeline-item .body .bullet > span {
	display: inline-block;
 	height: 1.5rem;
  	width: 1.5rem;
  	border: none;
  	-webkit-border-radius: 50%;
  	-moz-border-radius: 50%;
  	border-radius: 50%;
	position: absolute;
}

.timeline .timeline-content .timeline-item.left .body .bullet > span {
	right: -0.7rem;
  	top: -0.7rem;
}

.timeline .timeline-content .timeline-item.right .body .bullet {
	left: -3rem;
	top: 3rem;
	opacity: 1;
}

.timeline .timeline-content .timeline-item.right .body .bullet > span {
	left: -0.7rem;
  	top: -0.7rem;
}

.timeline .timeline-content img {
	width: 100%;
	display: block;
}

.timeline .timeline-content .timeline-item .body .timeline-title {
	font-size: 2rem;
  	font-weight: 400;
  	padding: 2.5rem 2.4rem 1rem;
  	margin-bottom: 0;
}

.timeline .timeline-content .timeline-item .body .generic-text {
	padding: 0.5rem 2.4rem 0.5rem;
}

.timeline .timeline-content .timeline-item .body .footer {
	padding: 0.5rem 2.4rem 2.4rem;
}

.timeline .timeline-content .timeline-item .body .footer .dates {
	font-size: 1.5rem;
  	font-weight: 400;
  	position: relative;
  	top: 1rem;
}

.timeline .timeline-content .timeline-item .body .footer .btn {
  	float: right;
  	position: relative;
  	top: -1.5rem;
}

.timeline .timeline-content .timeline-item .body audio {
	width: 100%;
}

@media (max-width: 991px) {
	.timeline .timeline-content .timeline-item .body .footer .btn {
	  	top: -1.3rem;
	}
}

@media (max-width: 767px) {
	.module-timeline .row {
		margin-left: 0;
		margin-right: 0;
	}
	.timeline .timeline-toptitle {
		text-align: left;
	}
	.timeline .timeline-toptitle .title {
	  	font-size: 1.8rem;
	}
	.timeline .timeline-content .line {
		top: 0;
		left: 0;
		margin-left: 0;
	}
	.timeline .timeline-content .timeline-item.left .body .bullet {
		left: -3rem;
		top: 3rem;
	}
	.timeline .timeline-content .timeline-item.left .body .bullet > span {
		left: -0.7rem;
	}
	.timeline .timeline-content .timeline-item {
		width: 100%;
		padding: 2rem 0 2rem 3rem;
	}
	.timeline .timeline-content .timeline-item .body .timeline-title {
		font-size: 1.8rem;
	  	padding: 1.8rem 1.5rem 0.7rem;
	}
	.timeline .timeline-content .timeline-item .body .generic-text {
		padding: 0.5rem 1.5rem 0.5rem;
	}
	.timeline .timeline-content .timeline-item .body .footer {
		padding: 1rem 1.5rem 2rem;
	}
	.timeline .timeline-content .timeline-item .body .footer .dates {
		font-size: 1.4rem;
	  	padding-bottom: 1.3rem;
	}
}