
/* css/timeline.css */
.roots-timeline {
	position: relative;
	max-width: 1400px;
	margin: 0 auto;
	padding: 40px 20px;
}

/* Vertical line */
.roots-timeline::after {
	content: "";
	position: absolute;
	width: 10px;
	background-color: #f00;
	top: 0;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
	border-radius: 5px;
}

.timeline-entry {
	display: flex;
	width: 100%;
	margin-bottom: 10px;
	position: relative;
	min-height: 100px;
}

/* Left side entries */
.timeline-left {
	padding-right: 51%;
	justify-content: flex-end;
}

.timeline-left .timeline-content {
	text-align: right;
	padding-right: 40px;
}

/* Left side triangles aligned with line */
.timeline-left .timeline-dot {
	right: -8px;
	border-top: 18px solid transparent;
	border-bottom: 18px solid transparent;
	border-right: 18px solid #f00;
}

/* Right side entries */
.timeline-right {
	padding-left: 51%;
	justify-content: flex-start;
}

.timeline-right .timeline-content {
	text-align: left;
	padding-left: 40px;
}

/* Right side triangles aligned with line */
.timeline-right .timeline-dot {
	left: -8px;
	border-top: 18px solid transparent;
	border-bottom: 18px solid transparent;
	border-left: 18px solid #f00;
}

.timeline-content {
	width: 90%;
	max-width: 500px;
	position: relative;
}

.timeline-date {
	font-family: Sonlight;
	font-size: 100px;
	line-height: 1;
	margin-bottom: -20px;
}

.timeline-text {
	font-size: 16px;
	line-height: 1.6;
	color: #333;
}

.timeline-dot {
	position: absolute;
	width: 0;
	height: 0;
	top: 30px;
	z-index: 2;
}

@media (max-width: 768px) {
	.roots-timeline::after {
		left: 24px;
		width: 10px;
	}
	
	.timeline-entry, .timeline-left, .timeline-right {
		padding-left: 40px;
		padding-right: 20px;
		justify-content: flex-start;
		margin-bottom: 30px;
	}
	
	.timeline-left .timeline-content, .timeline-right .timeline-content {
		text-align: left;
		padding-left: 20px;
	}
	
	.timeline-date {
		font-size: 70px;
	}
	
	.timeline-left .timeline-dot, .timeline-right .timeline-dot {
		left: 24px !important;
		/* Aligned exactly with the vertical line */
		top: 35px;
		border: none !important;
		border-top: 18px solid transparent !important;
		border-bottom: 18px solid transparent !important;
		border-left: 18px solid #f00 !important;
		transform: translateX(0);
	}
}

@media (max-width: 768px) {
	.roots-timeline::after {
		left: 24px;
		width: 10px;
	}
	
	.timeline-entry, .timeline-left, .timeline-right {
		padding-left: 40px;
		padding-right: 20px;
		justify-content: flex-start;
		margin-bottom: 30px;
	}
	
	.timeline-left .timeline-content, .timeline-right .timeline-content {
		text-align: left;
		padding-left: 20px;
	}
	
	.timeline-date {
		font-size: 70px;
	}
	
	.timeline-left .timeline-dot, .timeline-right .timeline-dot {
		display: none !important;
	}
}
