.cpr-staffel {
	--cpr-groen: #406539;
	--cpr-spoor: rgba(64, 101, 57, .16);
	--cpr-tekst: #2c3a29;
	background: var(--e-global-color-b321ae1, #f3f1ec);
	border-radius: 14px;
	padding: 30px 28px 24px;
	margin: 0 0 34px;
	color: var(--cpr-tekst);
}

.cpr-staffel__badge {
	display: table;
	margin: 0 auto 26px;
	padding: 7px 18px;
	border-radius: 999px;
	background: var(--minimog-color-button-background, #406539);
	color: var(--minimog-color-button-text, #fff);
	font-size: 16px;
	line-height: 1.3;
	font-weight: 600;
	text-align: center;
}

.cpr-staffel__balk {
	position: relative;
	margin: 0 0 8px;
}

.cpr-staffel__spoor,
.cpr-staffel__vulling {
	position: absolute;
	top: 21px;
	left: 0;
	height: 4px;
	border-radius: 4px;
}

.cpr-staffel__spoor {
	right: 0;
	background: var(--cpr-spoor);
}

.cpr-staffel__vulling {
	width: var(--cpr-fill, 0%);
	background: var(--cpr-groen);
	transition: width .4s ease;
}

.cpr-staffel__stappen {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
	min-height: 124px;
}

.cpr-staffel__stap {
	position: absolute;
	top: 0;
	left: var(--cpr-pos, 0%);
	transform: translateX(-50%);
	width: 150px;
	margin: 0;
	text-align: center;
}

.cpr-staffel__bol {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin: 0 auto 10px;
	border-radius: 50%;
	background: #fff;
	box-shadow: inset 0 0 0 2px var(--cpr-spoor);
	color: rgba(64, 101, 57, .4);
	font-size: 17px;
	transition: background .3s ease, color .3s ease, box-shadow .3s ease;
}

.cpr-staffel__bol i {
	font-family: "Font Awesome 5 Pro";
	font-weight: 900;
	font-style: normal;
	line-height: 1;
}

.cpr-staffel__aantal {
	position: absolute;
	top: -3px;
	right: -5px;
	min-width: 23px;
	padding: 2px 5px;
	border-radius: 999px;
	background: #fff;
	box-shadow: inset 0 0 0 2px var(--cpr-spoor);
	color: rgba(64, 101, 57, .5);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
}

.cpr-staffel__stap.is-behaald .cpr-staffel__bol {
	background: var(--cpr-groen);
	box-shadow: inset 0 0 0 2px var(--cpr-groen);
	color: #fff;
}

.cpr-staffel__stap.is-behaald .cpr-staffel__aantal {
	box-shadow: inset 0 0 0 2px var(--cpr-groen);
	color: var(--cpr-groen);
}

.cpr-staffel__label {
	display: block;
	line-height: 1.35;
}

.cpr-staffel__label strong {
	display: block;
	font-size: 15px;
	font-weight: 600;
	color: rgba(44, 58, 41, .6);
}

.cpr-staffel__label em {
	display: block;
	margin-top: 2px;
	font-size: 17px;
	font-weight: 600;
	font-style: normal;
	color: rgba(44, 58, 41, .5);
}

.cpr-staffel__stap.is-behaald .cpr-staffel__label strong {
	color: var(--cpr-groen);
}

.cpr-staffel__stap.is-behaald .cpr-staffel__label em {
	color: rgba(64, 101, 57, .7);
}

.cpr-staffel__melding {
	margin: 24px 0 0;
	text-align: center;
	font-size: 18px;
	color: var(--e-global-color-text, rgba(44, 58, 41, .75));
}

@media (max-width: 767px) {

	.cpr-staffel {
		padding: 24px 20px 20px;
	}

	.cpr-staffel__spoor,
	.cpr-staffel__vulling {
		display: none;
	}

	.cpr-staffel__stappen {
		min-height: 0;
	}

	.cpr-staffel__stap {
		position: relative;
		left: auto;
		transform: none;
		width: auto;
		display: flex;
		align-items: center;
		gap: 14px;
		text-align: left;
		margin-top: 22px;
	}

	.cpr-staffel__stap:first-child {
		margin-top: 0;
	}

	.cpr-staffel__stap:not(:first-child)::before {
		content: "";
		position: absolute;
		left: 22px;
		top: -22px;
		width: 2px;
		height: 22px;
		background: var(--cpr-spoor);
	}

	.cpr-staffel__stap.is-behaald:not(:first-child)::before {
		background: var(--cpr-groen);
	}

	.cpr-staffel__bol {
		margin: 0;
		flex: 0 0 46px;
	}

	.cpr-staffel__label strong {
		font-size: 16px;
	}

	.cpr-staffel__label em {
		font-size: 18px;
	}

	.cpr-staffel__melding {
		margin-top: 26px;
		text-align: left;
	}
}
