.mpc-timeline { 
	/* background-image: url({{ section.settings.bgimage | img_url: '2500x' }}); */
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	padding: 2rem 0 0;
}
.mpc-timeline .carousel { padding: 0 25vw; }
.mpc-timeline .flickity-viewport { overflow: visible; }
.mpc-timeline .carousel-cell {
	width: 17rem!important;
	padding-left: 3.125rem;
	padding-right: 2rem;
	height: 2rem;
	position: relative;
}
body.page .mpc-timeline .carousel-cell { height: 40rem; position: absolute; }
.mpc-timeline .carousel-cell:before {
	content: '';
	width: 100%;
	height: 3px;
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	background: #fff;
}
.mpc-timeline .carousel-cell:last-child:before { display: none; }
.timeline_text {
	position: absolute;
	left: 1.2rem;
	text-align: center;
	transform: translate(-50%,0);
	z-index: 1;
}
.timeline_text.text_above { bottom: calc(50% + 6rem); }
.timeline_text:not(.text_above) { top: calc(50% + 6rem); }
.timeline_text:not(.text_above) { padding-top: 1rem; }
.timeline_text:before {
	content: '';
	width: 1px;
	height: 6rem;
	position: absolute;
	left: calc(50% - 1px);
	border-left: 3px dotted #fff;
}
.timeline_text:not(.text_above):before { top: -6rem; }
.timeline_text.text_above:before { bottom: -6rem; }
.mpc-timeline p, .mpc-timeline h3 { color: #fff; line-height: 1.25; font-size: 0.95rem; }
.mpc-timeline h3 { font-weight: bold; font-family: inherit; text-transform: uppercase; }
.timeline_icon {
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 2.4rem;
	position: absolute;
	top: calc(50% - 1.2rem);
	left: 0;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}
.mpc-timeline .carousel-cell:last-child .timeline_icon { background: #fff; }
.timeline_icon img {
	width: calc(100% + 8.4rem);
	/*height: calc(100% + 8.4rem);*/
	max-width: calc(100% + 8.4rem);
	/*max-height: calc(100% + 8.5rem);*/
	border-radius: 5.4rem;
	object-fit: cover;
	object-position: center center;
}
.mpc-timeline .flickity-prev-next-button {
	color: #fff;
	border: 1px solid #fff;
	border-radius: 1.5em;
	opacity: 1;
	padding: 0 0.25em;
	top: 0;
	height: 2.5em;
	background-color: transparent;
	background-size: auto 60%!important;
	cursor: pointer;
	transition: ease all 0.25s;
	width: 7em;
	text-transform: uppercase;
	font-size: 0.7rem;
	letter-spacing: 0.075em;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
.mpc-timeline .flickity-prev-next-button::before { margin-right: 0.25em; }
.mpc-timeline .flickity-prev-next-button.previous::before, .mpc-timeline .flickity-prev-next-button.next::after { margin-bottom: 2px; }
.mpc-timeline .flickity-prev-next-button svg { display: none; }
.mpc-timeline .flickity-button:disabled { opacity: 0.5; }
.mpc-timeline .flickity-prev-next-button.previous { left: calc(50% - 7em - 0.5rem); }
.mpc-timeline .flickity-prev-next-button.previous::before { content: '\00ab'; }
.mpc-timeline .flickity-prev-next-button.previous::after { content: 'Prev'; }
.mpc-timeline .flickity-prev-next-button.next { right: calc(50% - 7em - 0.5rem); }
.mpc-timeline .flickity-prev-next-button.next::before { content: 'Next'; }
.mpc-timeline .flickity-prev-next-button.next::after { content: '\00bb'; }
.mpc-timeline .flickity-prev-next-button:hover { background-color: #fff!important; color: var(--bs-charcoal); }

body hr.tilted_line {
	position: absolute;
	top: 50%;
	left: calc(2.4rem + 6rem); /* the icon width */
	width: 0;
	margin: 0;
	border-left: 3px dotted #fff!important;
	background: none;
	transform-origin: top center;
}
body hr.tilted_line.above { transform-origin: bottom center; top: 0.25rem; }
.timeline_text > div { position: relative; }
.timeline_text > div:first-child { box-sizing: content-box; padding-right: 1.5rem; }
.text_above.d-flex { align-items: flex-end; }
.mpc-timeline .carousel-cell.double { width: calc(17rem + 6rem)!important; }
.mpc-timeline .carousel-cell.double .timeline_icon { left: 6rem; }
.mpc-timeline .carousel-cell.double .timeline_text { left: calc(1.2rem + 6rem); }