.timeline-wrapper .container {
	margin: 0;
	padding: 0 50px;
}
.timeline{
	position:relative;
	display:flex;
	flex-direction:column;
	list-style:none;
	padding-top: 20px;
	padding-bottom: 20px;
}

.timeline-wrapper {
    background: #000;
	padding: 100px 0;
	position: relative;
	z-index: 90;
}

/* the timeline's center vertical line */
.timeline:before{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left: calc(50% - 1px);
    width: 2px;
    background-color: #183233;
}
.timeline li {
    border-top: 2px solid #183233;
    position: relative;
    width: 50%;
    min-height: 100px;
    margin-bottom: 20px;
    padding: 20px 20px 20px 0;
    text-align: right;
    transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1), 
                opacity 0.35s ease-out;
    opacity: 0;
    transform: translateY(60px); 
}
/* the rounded mark on each timeline item */
.timeline li:before {
	content:"";
	width: 10px;
	height: 10px;
	position: absolute;
	top: -1px;
    right: 0;
    background: #8fb4b5;
	border-radius:50%;
	box-sizing:border-box;
	transform: translate(50%,-50%);
}
.timeline-header {
	color: #ffffff;
    font-weight: 900;
    font-size: 200%;
    letter-spacing: 2px;
    text-transform: uppercase;
    text-align: center;
    padding-bottom: 30px;
}
.timeline h2 {
	color: #ffffff;
    font-weight: 900;
    font-size: 1.05rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
	text-transform: uppercase;
}
.timeline h3 {
	color: #8fb4b5;
    font-weight: 300;
    font-size: 1.05rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
	padding-bottom: 20px;
}
.timeline h4 {
	color: #8fb4b5;
    font-weight: 300;
    font-size: 0.95rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
	padding-bottom: 20px;
}
.timeline p {
  color: #ffffff;
  line-height: 1.5;
  font-size: 0.95rem!important;
  font-weight: 300;
}
.timeline li:nth-child(2n) {
    align-self: flex-end;
    padding: 20px 0 20px 20px;
    text-align: left;
}
.timeline li:nth-child(2n):before {
	left: 0;
  transform: translate(-50%,-50%);
}
.timeline li.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .timeline:before {
        left: 0; /* Move line to the left */
    }
    .timeline li {
        width: 100%;
        text-align: left !important;
        padding-left: 25px;
        padding-right: 0px;
        align-self: flex-start !important;
    }
    .timeline li:before {
        left: 1px !important;
        right: auto !important;
        transform: translate(-50%, -50%);
    }
	.timeline-wrapper {
    padding: 60px 0;
    }
	.timeline-wrapper .container {
	margin: 0;
	padding: 0 25px;
}
}


@media only screen 
and (min-device-width : 375px) 
and (max-device-width : 812px)
and (orientation: landscape) {
	
.timeline p {
  font-size: 0.95rem!important;
}
}