.timeline .timeline-toptitle {
	width: 100%;
	text-align: center;
}

.timeline .timeline-toptitle .title {
	padding-bottom: 2.3rem;
	display: inline-block;
	position: relative;
}

.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-item {
	width: 50%;
	padding: 2rem 3rem;
}

.timeline .timeline-item.right {
	margin: 0 0 0 auto;
}

.timeline .timeline-item .body {
	position: relative;
	border-top: 2px solid;
}

.timeline .timeline-item .body .timeline-res .post-image {
	margin-bottom: 0;
}

.timeline .timeline-item .body .bullet {
	display: block;
	width: 3rem;
	height: 2px;
	position: absolute;
	top: -2px;
}

.timeline .timeline-item.left .body .bullet {
	right: -3rem;
}

.timeline .timeline-item.right .body .bullet {
	left: -3rem;
}

.timeline .timeline-item .body .bullet > span {
	display: inline-block;
 	height: 1.4rem;
  	width: 1.4rem;
  	border: none;
  	border-radius: 50%;
	position: absolute;
	top: -0.6rem;
}

.timeline .timeline-item.left .body .bullet > span {
	right: -0.7rem;
}

.timeline .timeline-item.right .body .bullet > span {
	left: -0.7rem;
}

.timeline .timeline-content img {
	width: 100%;
	display: block;
}

.timeline .timeline-item .body .timeline-title {	
  	padding: 3rem;  	
}

.timeline .timeline-item .body .generic-text {
	padding: 3rem;
}

.timeline .timeline-item .body .footer {
	padding: 3rem;
	display: table;
	width: 100%;
}

.timeline .timeline-item .body .timeline-title + .generic-text {
	margin-top: -4.4rem;
}

.timeline .timeline-item .body .timeline-title + .footer,
.timeline .timeline-item .body .generic-text + .footer {
	margin-top: -3.4rem;
}

.timeline .timeline-item .body .footer .left-side,
.timeline .timeline-item .body .footer .right-side {
	display: table-cell;
	vertical-align: middle;
}

.timeline .timeline-item .body .footer .left-side {
	width: 30%;
	padding-right: 1rem;
}

.timeline .timeline-item .body .footer .right-side {
	width: 70%;
	text-align: right;
}

.timeline .timeline-item .body .footer .left-side .dates {
	font-size: 1.5rem;
  	font-weight: 700;
	font-family: 'Montserrat', sans-serif;
  	display: inline-block;
  	white-space: nowrap;
}

.timeline .timeline-item .body .footer .right-side .btn {
  	max-width: 100%;
  	white-space: initial;
}

.timeline .timeline-item .body audio {
	width: 100%;
}

@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: 2.2rem;
		padding-bottom: 1.8rem;
	}
	.timeline .timeline-content .line {
		top: 0;
		left: 0;
		margin-left: 0;
	}
	.timeline .timeline-item {
		width: 100%;
		padding: 2rem 0 2rem 3rem;
	}
	.timeline .timeline-item.left .body .bullet {
		right: auto;
		left: -3rem;
	}
	.timeline .timeline-item.left .body .bullet > span {
		right: auto;
		left: -0.6rem;
	}
	.timeline .timeline-item.right .body .bullet > span {
	    left: -0.6rem;
	}
}

@media (max-width: 480px) {
	.timeline .timeline-toptitle .title {
	  	font-size: 2rem;
		padding-bottom: 1.4rem;
	}
	.timeline .timeline-item .body .timeline-title {
		font-size: 2rem;
		line-height: 2rem;
	  	padding: 2rem;
	}
	.timeline .timeline-item .body .generic-text {
		padding: 2rem;
	}
	.timeline .timeline-item .body .footer {
		padding: 2rem;
	}
	.timeline .timeline-item .body .timeline-title + .generic-text {
		margin-top: -2.7rem;
	}
	.timeline .timeline-item .body .timeline-title + .footer,
	.timeline .timeline-item .body .generic-text + .footer {
		margin-top: -0.8rem;
	}
	.timeline .timeline-item .body .footer .left-side .dates {
		font-size: 1.4rem;
	}
}

@media (max-width: 420px) {
	.timeline .timeline-item .body .footer {
		display: block;
	}
	.timeline .timeline-item .body .footer .left-side,
	.timeline .timeline-item .body .footer .right-side {
		display: block;
		vertical-align: initial;
		width: 100%;
	}
	.timeline .timeline-item .body .footer .left-side {
		padding-right: 0;
	}
	.timeline .timeline-item .body .footer .right-side {
		text-align: left;
	}
	.timeline .timeline-item .body .footer .left-side .dates {
	  	white-space: initial;
	}
	.timeline .timeline-item .body .footer .right-side .btn {
	  	margin-top: 1rem;
	}
}