.scroll_trail { position: relative; }

.scroll_trail .track {
	width: 8px;
	background-color: #fff;
	
	position: absolute;
	top: 0px;
	bottom: 0px;
	left: 50%;
	
	margin-left: -4px;
	
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.scroll_trail .beam {
	width: 0px;
	border: 4px solid #ffdd00;
	background-color: #ffdd00;
	
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.scroll_trail .item {
	width: 50%;
	border-top: 8px solid transparent;
	padding: 25px 0px 60px 0px;
	position: relative;
	
	-webkit-transition: border-color 400ms ease-in-out;
	-moz-transition: border-color 400ms ease-in-out;
	-ms-transition: border-color 400ms ease-in-out;
	-o-transition: border-color 400ms ease-in-out;
	transition: border-color 400ms ease-in-out;
}

.scroll_trail .item.visible { border-color: #ffdd00; }

.scroll_trail .item .inner {
	opacity: 0;
	
	-webkit-transition: opacity 400ms ease-in-out;
	-moz-transition: opacity 400ms ease-in-out;
	-ms-transition: opacity 400ms ease-in-out;
	-o-transition: opacity 400ms ease-in-out;
	transition: opacity 400ms ease-in-out;
}

.scroll_trail .item.visible .inner { opacity: 1; }

.scroll_trail .item:last-child { padding-bottom: 0px; }

.scroll_trail .item .bullet {
	content: '';
	position: absolute;
	z-index: 3;
	top: -4px;
}

.scroll_trail .item .bullet::before
, .scroll_trail .item .bullet::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 0; 
	height: 0;
	border-top: 30px solid transparent;
	border-bottom: 30px solid transparent;
	
	transform: translate3d(-50%, -50%, 0px);
	-moz-transform: translate3d(-50%, -50%, 0px);
	-ms-transform: translate3d(-50%, -50%, 0px);
	-o-transform: translate3d(-50%, -50%, 0px);
	transform: translate3d(-50%, -50%, 0px);
	
	-webkit-transition: border-color 400ms ease-in-out;
	-moz-transition: border-color 400ms ease-in-out;
	-ms-transition: border-color 400ms ease-in-out;
	-o-transition: border-color 400ms ease-in-out;
	transition: border-color 400ms ease-in-out;
}

.scroll_trail .item .bullet::before {
	margin-left: 10px;
	border-left: 20px solid #fff;
}

.scroll_trail .item .bullet::after {
	margin-left: -10px;
	border-right: 20px solid #fff;
}

.scroll_trail .item:last-child::before {
	content: '';
	
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 0;
	
	width: 12px;
	height: 100%;
	background-color: #fff;
}

.scroll_trail .item.visible .bullet::before
, .scroll_trail .item.visible .bullet::after {
	border-left-color: #ffdd00;
	border-right-color: #ffdd00;
}

@media (min-width: 769px) {
	.scroll_trail .item:nth-child(even) .bullet { left: 100%; }
	.scroll_trail .item:nth-child(odd) .bullet { left: 0%; }

	.scroll_trail .item:nth-child(even) {
		margin: 0px auto 0px 0px;
		text-align: left;
		padding-right: 65px;
	}

	.scroll_trail .item:nth-child(odd) {
		margin: 0px 0px 0px auto;
		text-align: right;
		padding-left: 65px;
	}

	.scroll_trail .item:nth-child(even):last-child::before { right: -4px; }
	.scroll_trail .item:nth-child(odd):last-child::before { left: -4px; }
}

@media only screen and (max-width: 768px) {
	.scroll_trail .track { left: 40px; }
	.scroll_trail .item .bullet { left: 20px; }

	.scroll_trail .item {
		width: calc(100% - 20px);
		margin: 0px 0px 0px auto;
		text-align: right;
		padding-left: 65px;
		padding-bottom: 100px;
	}

	.scroll_trail .item:last-child::before { left: 14px; }
}