.ht-container-a2bf0c19 {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 50px; /* Space for nav arrows */
	width: 100%;
}

.ht-nav-a2bf0c19 {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--nav-bg, #ffffff);
	border: 1px solid var(--nav-border, #dddddd);
	color: var(--nav-color, #333333);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
	outline: none;
	padding: 0;
}

.ht-nav-a2bf0c19 i {
	font-size: 16px;
}

.ht-nav-a2bf0c19:hover {
	background: var(--nav-hover-bg, #f5f5f5);
	color: var(--nav-hover-color, #000000);
}

.ht-nav-a2bf0c19:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.ht-prev-a2bf0c19 { left: 0; }
.ht-next-a2bf0c19 { right: 0; }

.ht-wrapper-a2bf0c19 {
	width: 100%;
	overflow-x: auto;
	scroll-behavior: smooth;
	-ms-overflow-style: none; /* IE and Edge */
	scrollbar-width: none; /* Firefox */
	padding: 20px 0; /* Add padding for animations */
}

.ht-wrapper-a2bf0c19::-webkit-scrollbar {
	display: none; /* Chrome, Safari and Opera */
}

.ht-track-a2bf0c19 {
	display: flex;
	flex-wrap: nowrap;
	min-width: max-content;
}

.ht-item-a2bf0c19 {
	flex: 0 0 var(--item-width, 300px);
	display: grid;
	grid-template-rows: 1fr auto 1fr;
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.ht-item-a2bf0c19.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.ht-marker-wrapper-a2bf0c19 {
	grid-row: 2;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 80px; /* Provide enough space for large markers */
}

/* The Continuous Line */
.ht-marker-wrapper-a2bf0c19::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: var(--line-thickness, 4px);
	background: var(--line-color, #e0e0e0);
	transform: translateY(-50%);
	z-index: 1;
}

/* First and Last item line adjustments so line doesn't stick out */
.ht-item-a2bf0c19:first-child .ht-marker-wrapper-a2bf0c19::before {
	left: 50%;
	width: 50%;
}

.ht-item-a2bf0c19:last-child .ht-marker-wrapper-a2bf0c19::before {
	width: 50%;
}

.ht-marker-a2bf0c19 {
	position: relative;
	z-index: 2;
	width: var(--marker-size, 40px);
	height: var(--marker-size, 40px);
	background: var(--marker-bg, #ffffff);
	border: var(--marker-border-width, 3px) solid var(--marker-border-color, #333333);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--marker-color, #333333);
	font-weight: bold;
	transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.ht-marker-a2bf0c19 i {
	font-size: calc(var(--marker-size, 40px) * 0.45);
}

.ht-marker-a2bf0c19 svg {
	width: calc(var(--marker-size, 40px) * 0.45);
	height: calc(var(--marker-size, 40px) * 0.45);
	fill: var(--marker-color, #333333);
	transition: fill 0.3s ease;
}

.ht-item-a2bf0c19:hover .ht-marker-a2bf0c19 {
	transform: scale(1.15);
	background: var(--marker-hover-bg, #f5f5f5);
	border-color: var(--marker-hover-border-color, #000000);
	color: var(--marker-hover-color, #000000);
}

.ht-content-a2bf0c19 {
	padding: 0 20px;
}

.pos-top .ht-content-a2bf0c19 {
	grid-row: 1;
	align-self: end;
	padding-bottom: 20px;
}

.pos-bottom .ht-content-a2bf0c19 {
	grid-row: 3;
	align-self: start;
	padding-top: 20px;
}

.ht-title-a2bf0c19 {
	margin: 0 0 5px;
	color: var(--title-color, #333333);
}

.ht-date-a2bf0c19 {
	display: block;
	margin-bottom: 10px;
	color: var(--date-color, #777777);
	font-size: 0.9em;
	font-weight: 500;
}

.ht-desc-a2bf0c19 {
	color: var(--desc-color, #555555);
	margin: 0;
}

.ht-desc-a2bf0c19 p:last-child {
	margin-bottom: 0;
}
