/* 42124 - Vertical Timeline Styles */
.timeline-42124-wrapper {
	position: relative;
	width: 100%;
}

.timeline-42124-line {
	position: absolute;
	top: 0;
	bottom: 0;
	border-left-width: 4px;
	border-left-style: solid;
	z-index: 1;
}

.timeline-42124-items {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
}

.timeline-42124-item {
	display: flex;
	position: relative;
	width: 100%;
	align-items: flex-start;
}

.timeline-42124-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-style: solid;
	border-radius: 50%;
	z-index: 3;
}

.timeline-42124-content {
	position: relative;
	width: 100%;
}

.timeline-42124-year {
	font-weight: 700;
	margin-bottom: 10px;
}

.timeline-42124-title {
	margin: 0 0 15px;
}

.timeline-42124-desc p:last-child {
	margin-bottom: 0;
}

/* Arrow Base */
.timeline-42124-arrow-yes .timeline-42124-content::before {
	content: '';
	position: absolute;
	top: 15px;
	width: 0;
	height: 0;
	border-style: solid;
}

/* Right Alignment */
.timeline-42124-align-right .timeline-42124-item {
	flex-direction: row;
}
.timeline-42124-align-right .timeline-42124-content {
	margin-left: 20px;
}
.timeline-42124-align-right.timeline-42124-arrow-yes .timeline-42124-content::before {
	left: -10px;
	border-width: 10px 10px 10px 0;
	border-color: transparent var(--arrow-color, var(--card-bg, #fff)) transparent transparent;
}

/* Left Alignment */
.timeline-42124-align-left .timeline-42124-item {
	flex-direction: row-reverse;
}
.timeline-42124-align-left .timeline-42124-content {
	margin-right: 20px;
}
.timeline-42124-align-left.timeline-42124-arrow-yes .timeline-42124-content::before {
	right: -10px;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent var(--arrow-color, var(--card-bg, #fff));
}

/* Alternating Alignment */
.timeline-42124-align-alternate .timeline-42124-item:nth-child(odd) {
	flex-direction: row;
	justify-content: flex-end;
}
.timeline-42124-align-alternate .timeline-42124-item:nth-child(even) {
	flex-direction: row-reverse;
	justify-content: flex-end;
}

.timeline-42124-align-alternate .timeline-42124-item:nth-child(odd) .timeline-42124-content {
	width: calc(50% - (var(--icon-size, 44px) / 2) - 20px);
	margin-left: 20px;
}
.timeline-42124-align-alternate .timeline-42124-item:nth-child(even) .timeline-42124-content {
	width: calc(50% - (var(--icon-size, 44px) / 2) - 20px);
	margin-right: 20px;
}

.timeline-42124-align-alternate .timeline-42124-icon {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.timeline-42124-align-alternate.timeline-42124-arrow-yes .timeline-42124-item:nth-child(odd) .timeline-42124-content::before {
	left: -10px;
	border-width: 10px 10px 10px 0;
	border-color: transparent var(--arrow-color, var(--card-bg, #fff)) transparent transparent;
}
.timeline-42124-align-alternate.timeline-42124-arrow-yes .timeline-42124-item:nth-child(even) .timeline-42124-content::before {
	right: -10px;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent var(--arrow-color, var(--card-bg, #fff));
}


/* Responsive Stack */
@media (max-width: 767px) {
	.timeline-42124-stack-mobile-yes .timeline-42124-line {
		display: none;
	}
	.timeline-42124-stack-mobile-yes .timeline-42124-item,
	.timeline-42124-stack-mobile-yes.timeline-42124-align-alternate .timeline-42124-item:nth-child(odd),
	.timeline-42124-stack-mobile-yes.timeline-42124-align-alternate .timeline-42124-item:nth-child(even) {
		flex-direction: column;
		align-items: flex-start;
	}
	.timeline-42124-stack-mobile-yes .timeline-42124-icon,
	.timeline-42124-stack-mobile-yes.timeline-42124-align-alternate .timeline-42124-icon {
		position: static;
		transform: none;
		margin-bottom: 15px;
	}
	.timeline-42124-stack-mobile-yes .timeline-42124-content,
	.timeline-42124-stack-mobile-yes.timeline-42124-align-alternate .timeline-42124-item:nth-child(odd) .timeline-42124-content,
	.timeline-42124-stack-mobile-yes.timeline-42124-align-alternate .timeline-42124-item:nth-child(even) .timeline-42124-content {
		width: 100%;
		margin: 0;
	}
	.timeline-42124-stack-mobile-yes.timeline-42124-arrow-yes .timeline-42124-content::before {
		display: none;
	}
}
