/* -------------------------------- 

Primary style

-------------------------------- */
html * {
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	}

*, *:after, *:before {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	}

/* -------------------------------- 

Main components 

-------------------------------- */
#cd-timeline {
	position:relative;
	padding:50px 0;
	margin-top:0px;
	margin-bottom:30px;
	}

#cd-timeline::before {
	/* this is the vertical line */
	content:'';
	position:absolute;
	top:0px;
	left:7px;
	width:4px;
	height:100%;
	background:#cccccc;
	}

@media only screen and (min-width:991px) {
	/*#cd-timeline {
		margin-top:30px;
		margin-bottom:30px;
	}*/
	#cd-timeline::before {
		left:50%;
		margin-left:-2px;
	}
}

.cd-timeline-block {
	position:relative;
	margin:0px auto;
	}

.cd-timeline-block:after {
	content:"";
	display:table;
	clear:both;
	}

.cd-timeline-block:first-child {
	margin-top:0;
	}

.cd-timeline-block:last-child {
	margin-bottom:0;
	}

@media only screen and (min-width:991px) {
	.cd-timeline-block {
		margin:0px auto;
		padding:0px 0px 0px;
	}
	.cd-timeline-block:first-child {
		margin-top:0;
	}
	.cd-timeline-block:last-child {
		margin-bottom:0;
	}
}

.cd-timeline-img {
	position:absolute;
	top:10px;
	left:0;
	width:18px;
	height:18px;
	overflow:hidden;
	border-radius:50%;
	background:#cccccc;
	}

@media only screen and (min-width:991px) {
	.cd-timeline-img {
		left:50%;
		top:15px;
		margin-left:-9px;
		/* Force Hardware Acceleration in WebKit */
		-webkit-transform:translateZ(0);
		-webkit-backface-visibility:hidden;
	}
	.cssanimations .cd-timeline-img.is-hidden {
		visibility:hidden;
	}
	.cssanimations .cd-timeline-img.bounce-in {
		visibility:visible;
		-webkit-animation:cd-bounce-1 0.6s;
		-moz-animation:cd-bounce-1 0.6s;
		animation:cd-bounce-1 0.6s;
	}
}

@-webkit-keyframes cd-bounce-1 {
	0% {
		opacity:0;
		-webkit-transform:scale(0.5);
	}

	60% {
		opacity:1;
		-webkit-transform:scale(1.2);
	}

	100% {
		-webkit-transform:scale(1);
	}
}
@-moz-keyframes cd-bounce-1 {
	0% {
		opacity:0;
		-moz-transform:scale(0.5);
	}

	60% {
		opacity:1;
		-moz-transform:scale(1.2);
	}

	100% {
		-moz-transform:scale(1);
	}
}
@keyframes cd-bounce-1 {
	0% {
		opacity:0;
		-webkit-transform:scale(0.5);
		-moz-transform:scale(0.5);
		-ms-transform:scale(0.5);
		-o-transform:scale(0.5);
		transform:scale(0.5);
	}

	60% {
		opacity:1;
		-webkit-transform:scale(1.2);
		-moz-transform:scale(1.2);
		-ms-transform:scale(1.2);
		-o-transform:scale(1.2);
		transform:scale(1.2);
	}

	100% {
		-webkit-transform:scale(1);
		-moz-transform:scale(1);
		-ms-transform:scale(1);
		-o-transform:scale(1);
		transform:scale(1);
	}
}
.cd-timeline-content {
	position:relative;
	margin-left:105px;
	line-height:24px;
	padding-left:30px;
	margin-top:40px;
	}

.cd-timeline-content h2 {
	padding-bottom:0px;
	}

.cd-timeline-content p, .cd-timeline-content ul {
	margin:0px auto;
	}

.cd-timeline-content::before {
	content:'';
	position:absolute;
	top:17px;
	right:100%;
	height:3px;
	width:90px;
	background:#cccccc;
	}

@media only screen and (min-width:768px) {
	}

@media only screen and (min-width:991px) {
	.cd-timeline-content {
		width:45%;
		margin-left:0;
		margin-top:0px;
		text-align:right;
		padding:0px 70px 0px 0px;
	}
	.cd-timeline-block.extra-space .cd-timeline-content {
		padding:0px 180px 0px 0px;
	}
	.cd-timeline-content::before {
		top:22px;
		right:-50px;
	}
	.cd-timeline-block.extra-space .cd-timeline-content::before {
		width:200px;
	}
	.cd-timeline-block h2, .cd-timeline-block p, .cd-timeline-block ul {
		text-align:right;
		}
	.cd-timeline-block:nth-child(odd) .cd-timeline-content {
		float:right;
		text-align:left;
		padding:0px 0px 0px 70px;
	}
	.cd-timeline-block:nth-child(odd).extra-space .cd-timeline-content {
		padding:0px 0px 0px 180px;
	}
	.cd-timeline-block:nth-child(odd) .cd-timeline-content::before {
		left:-50px;
		right:100%;
	}
	.cd-timeline-block:nth-child(odd) h2, .cd-timeline-block:nth-child(odd) p, .cd-timeline-block:nth-child(odd) ul {
		text-align:left;
		}
	.cssanimations .cd-timeline-content.is-hidden {
		visibility:hidden;
	}
	.cssanimations .cd-timeline-content.bounce-in {
		visibility:visible;
		-webkit-animation:cd-bounce-2 0.6s;
		-moz-animation:cd-bounce-2 0.6s;
		animation:cd-bounce-2 0.6s;
	}
}

@media only screen and (min-width:991px) {
	/* inverse bounce effect on even content blocks */
	.cssanimations .cd-timeline-block:nth-child(odd) .cd-timeline-content.bounce-in {
		-webkit-animation:cd-bounce-2-inverse 0.6s;
		-moz-animation:cd-bounce-2-inverse 0.6s;
		animation:cd-bounce-2-inverse 0.6s;
	}
}
@media only screen and (max-width:767px) {
	.cd-timeline-content::before {
		width:40px;
	}
	.cd-timeline-content {
		margin-left:50px;
	}
}
@-webkit-keyframes cd-bounce-2 {
	0% {
		opacity:0;
		-webkit-transform:translateX(-100px);
	}

	60% {
		opacity:1;
		-webkit-transform:translateX(20px);
	}

	100% {
		-webkit-transform:translateX(0);
	}
}
@-moz-keyframes cd-bounce-2 {
	0% {
		opacity:0;
		-moz-transform:translateX(-100px);
	}

	60% {
		opacity:1;
		-moz-transform:translateX(20px);
	}

	100% {
		-moz-transform:translateX(0);
	}
}
@keyframes cd-bounce-2 {
	0% {
		opacity:0;
		-webkit-transform:translateX(-100px);
		-moz-transform:translateX(-100px);
		-ms-transform:translateX(-100px);
		-o-transform:translateX(-100px);
		transform:translateX(-100px);
	}

	60% {
		opacity:1;
		-webkit-transform:translateX(20px);
		-moz-transform:translateX(20px);
		-ms-transform:translateX(20px);
		-o-transform:translateX(20px);
		transform:translateX(20px);
	}

	100% {
		-webkit-transform:translateX(0);
		-moz-transform:translateX(0);
		-ms-transform:translateX(0);
		-o-transform:translateX(0);
		transform:translateX(0);
	}
}
@-webkit-keyframes cd-bounce-2-inverse {
	0% {
		opacity:0;
		-webkit-transform:translateX(100px);
	}

	60% {
		opacity:1;
		-webkit-transform:translateX(-20px);
	}

	100% {
		-webkit-transform:translateX(0);
	}
}
@-moz-keyframes cd-bounce-2-inverse {
	0% {
		opacity:0;
		-moz-transform:translateX(100px);
	}

	60% {
		opacity:1;
		-moz-transform:translateX(-20px);
	}

	100% {
		-moz-transform:translateX(0);
	}
}
@keyframes cd-bounce-2-inverse {
	0% {
		opacity:0;
		-webkit-transform:translateX(100px);
		-moz-transform:translateX(100px);
		-ms-transform:translateX(100px);
		-o-transform:translateX(100px);
		transform:translateX(100px);
	}

	60% {
		opacity:1;
		-webkit-transform:translateX(-20px);
		-moz-transform:translateX(-20px);
		-ms-transform:translateX(-20px);
		-o-transform:translateX(-20px);
		transform:translateX(-20px);
	}

	100% {
		-webkit-transform:translateX(0);
		-moz-transform:translateX(0);
		-ms-transform:translateX(0);
		-o-transform:translateX(0);
		transform:translateX(0);
	}
}