.ace-wrap {
	position: relative;
	padding: 40px 10px 10px;
}

.ace-steps {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}

.ace-step {
	text-align: center;
	width: 100%;
	position: relative;
}

.ace-dot {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	margin: 0 auto 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: 600;
	transition: all .4s ease;
}

.ace-title {
	font-size: 15px;
	color: #2b3a33;
}

.ace-line {
	position: absolute;
	top: 68px;
	left: 0;
	right: 0;
	height: 4px;
	background: #e5ebe7;
	z-index: 1;
}

.ace-line-fill {
	height: 100%;
	width: 0%;
	transition: width 1.2s ease;
}

.ace-step.active .ace-dot {
	transform: scale(1.12);
	box-shadow: 0 8px 18px rgba(0,0,0,.12);
}

/* responsive */
@media (max-width: 767px) {
	.ace-steps {
		flex-direction: column;
		gap: 30px;
	}
	.ace-line {
		display: none;
	}
}
