#kpis { isolation: isolate; }
@media (min-width: 900px)	 { #kpis { margin: 100px 0; } }
@media (max-width: 899.99px) { #kpis { margin: 75px 0; } }

/*------------------------------------------------------------------------*/

#kpis > .header {
	text-align: center;
	font-weight: 500;
	color: #1C3558;
}
#kpis > .header > * {
	max-width: 650px;
	margin: 0 auto;
}
#kpis > .header > :not(:last-child) { margin-bottom: 25px; }
#kpis > .header > .hook {
	line-height: 130%;
	font-weight: 500;
}
#kpis > .header > .title {
	line-height: 100%;
	font-weight: 500;
}
@media (min-width: 900px) {
	#kpis > .header { margin-bottom: 65px; }
	#kpis > .header > .hook { font-size: 20px; }
	#kpis > .header > .title { font-size: 50px; }
}
@media (max-width: 899.99px) {
	#kpis > .header { margin-bottom: 35px; }
	#kpis > .header > .hook { font-size: 20px; }
	#kpis > .header > .title { font-size: 36px; }
}

/*------------------------------------------------------------------------*/

#kpis > .marquee {
    position: relative;
    overflow: hidden;
	
	isolation: isolate;
}
#kpis > .marquee:not(:last-child) {
	margin-bottom: 10px;
}
#kpis > .marquee > .marquee-track {
    display: flex; width: max-content;
    will-change: transform;
}
#kpis > .marquee > .marquee-track > .marquee-group {
    display: flex;
}
#kpis > .marquee > .marquee-track > .marquee-group > .r-wrapper {
    display: flex;
    flex-shrink: 0;
}
#kpis > .marquee > .marquee-track > .marquee-group > .r-wrapper > .kpi {
	position: relative;
    flex: 0 0 400px; overflow: hidden;
    margin-right: 10px;
	
	border-radius: 5px;
	
	isolation: isolate;
}
#kpis > .marquee > .marquee-track > .marquee-group > .r-wrapper > .kpi:before {
	content: '';
	display: block;
}
#kpis > .marquee > .marquee-track > .marquee-group > .r-wrapper > .kpi > * {
	position: absolute; top: 0; left: 0;
	height: 100%; width: 100%;
}
#kpis > .marquee > .marquee-track > .marquee-group > .r-wrapper > .kpi > .illustration { z-index: -1; }
#kpis > .marquee > .marquee-track > .marquee-group > .r-wrapper > .kpi > .overlay {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	padding: 30px;
	
	background-image: linear-gradient(to top right, rgba(0,0,0,.3), transparent 75%);
	
	font-weight: 500;
	color: #FFF;
}
#kpis > .marquee > .marquee-track > .marquee-group > .r-wrapper > .kpi > .overlay > * { max-width: 50%; }
#kpis > .marquee > .marquee-track > .marquee-group > .r-wrapper > .kpi > .overlay > .number { line-height: 30px; }
#kpis > .marquee > .marquee-track > .marquee-group > .r-wrapper > .kpi > .overlay > .number > .value { font-size: 50px; }
#kpis > .marquee > .marquee-track > .marquee-group > .r-wrapper > .kpi > .overlay > .number > .unit { font-size: 25px; }
#kpis > .marquee > .marquee-track > .marquee-group > .r-wrapper > .kpi > .overlay > .description {
	text-transform: uppercase;
	line-height: 110%;
	font-size: 14px;
}
@media (min-width: 900px)	 { #kpis > .marquee > .marquee-track > .marquee-group > .r-wrapper > .kpi:before { padding-top: 60%; } }
@media (max-width: 899.99px) { #kpis > .marquee > .marquee-track > .marquee-group > .r-wrapper > .kpi:before { padding-top: 50%; } }