
section.key-features.center {
    padding: 0;
	overflow: hidden;
}
 
.key-features .grey-bg {
    background-color: #f7f9fa;
    padding: 45px 0;
}

.key-features .timeline {
	white-space: nowrap;
	
}

.key-features .timeline ol {
	font-size: 0;
	width: 100vw;
	padding: 104px 0;
	transition: all 1s;
}

.key-features .timeline ol li {
	position: relative;
	display: inline-block;
	list-style-type: none;
	width: 220px;
	width: 14%;
	height: 1px;
	background: #d6dadc;
}

.key-features .timeline ol li:last-child, .key-features .timeline ol li:first-child {
	width:  80px;
}

.key-features .timeline ol li:not(:first-child) {
	margin-left: 17px;
}

.key-features .timeline ol li:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 50%;
	left: calc(100% + 1px);
	bottom: 0;
	width: 12px;
	height: 12px;
	transform: translateY(-50%);
	border-radius: 50%;
	background: #1FAFE4;
	box-shadow: 0 0 0 4px rgb(255 255 255), 0 0 0 5px #1fafe4;
	 /* transition: box-shadow 0.3s ease-in-out; */
	transition: box-shadow 0.5s cubic-bezier(0.4, 0, 1, 1);
}
.key-features .timeline ol li:hover:not(:last-child)::after { 
	box-shadow: 0 0 0 7px #fff, 0 0 0 14px rgb(255 254 254), 0 0 0 15px #1fafe4;
    z-index: 10;
}
.key-features .timeline ol li div {
	position: absolute;
	left: calc(100% + -116px);
	width: 258px;
	padding: 15px; 
	white-space: normal; 
}
.key-features .timeline ol li div span{
	font-size: 16px;
    line-height: 1.5;
    white-space: normal;
    color: #525d66;
}
.key-features .timeline ol li div::before {
	content: '';
	position: absolute;
	top: 100%;
	left: 0;
	width: 0;
	height: 0;
	border-style: solid;
}

.key-features .timeline ol li:nth-child(odd) div {
	top: -20px;
	transform: translateY(-100%);
}

.key-features .timeline ol li:nth-child(odd) div::before {
	top: 100%;
	border-width: 8px 8px 0 0;
	border-color: white transparent transparent transparent;
}

.key-features .timeline ol li:nth-child(even) div {
	top: calc(100% + 20px);
}

.key-features .timeline ol li:nth-child(even) div::before {
	top: -8px;
	border-width: 8px 0 0 8px;
	border-color: transparent transparent transparent white;
}

.key-features .timeline time {
	display: block;
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 8px;
}

@media screen and (max-width: 599px) {
	.key-features .timeline ol,
	.key-features .timeline ol li {
		width: auto;
	}
	.key-features .timeline ol {
		padding: 0;
		transform: none !important;
	}
	.key-features .timeline ol li {
		display: block;
		height: auto;
		background: transparent;
	}
	.key-features .timeline ol li:first-child {
		margin-top: 25px;
	}
	.key-features .timeline ol li:not(:first-child) {
		margin-left: auto;
	}
	.key-features .timeline ol li div {
		width: 94%;
		height: auto !important;
		margin: 0 auto 25px;
	}
	.key-features .timeline ol li div {
		position: static;
	}
	.key-features .timeline ol li:nth-child(odd) div {
		transform: none;
	}
	.key-features .timeline ol li:nth-child(odd) div::before,
	.key-features .timeline ol li:nth-child(even) div::before {
		left: 50%;
		top: 100%;
		transform: translateX(-50%);
		border: none;
		border-left: 1px solid white;
		height: 25px;
	}
	.key-features .timeline ol li:last-child,
	.key-features .timeline ol li:nth-last-child(2) div::before,
	.key-features .timeline ol li:not(:last-child)::after,
	.key-features .timeline .arrows {
		display: none;
	}
}
@media (max-width: 800px){
	.key-features.center {
		position: relative;
		text-align: left;
	}

	 
	.key-features h2{ 
		max-width: 300px;
		width: 100%;
		margin: 0 auto;
	}
	.key-features .timeline { 
		margin-top: 35px; 
	}
	.key-features .timeline ol li div { 
    padding: 0 0 23px;
	}
	.key-features .timeline ol li div a {
		font-size: 13px;
	}
	.key-features .timeline ol { 
		padding: 164px 0;
	}
	.key-features .timeline ol li div { 
		left: calc(100% + -68px);
		width: 290px;
	}
	.key-features .timeline ol li:nth-child(odd) div::before, .key-features .timeline ol li:nth-child(even) div::before {
		left: 23px;
		top: 7%;
		transform: translateX(-50%);
		border: none;
		background-color: #00afef;
		border-left: 1px solid white;
		height: 12px;
		width: 12px;
		border-radius: 50px;
	}
 
 
}

@media (max-width: 550px) { 
 
	 
	.key-features .timeline ol {
	   padding: 0;
   }
	.key-features .timeline ol li:first-child { 
	   margin: 0 auto;
	   width: 100%;
   }
   .key-features .timeline ol li div a {
	   font-size: 17px;
	   margin: 0 auto;
   }
   .key-features .timeline ol li div {
	   left: calc(100% + -68px);
	   width: 250px;
	   margin: 0 auto;
   }
   .key-features .timeline ol li:nth-last-child(2) div::before{
	   display: block
   }
}