.cdf-timeline-widget {
	--cdf-timeline-stage-width: var(--cdf-timeline-stage-width-base, 3200px);
	--cdf-timeline-stage-height: var(--cdf-timeline-stage-height-base, 920px);
	--cdf-timeline-line-y: var(--cdf-timeline-line-y-base, 620px);
	--cdf-timeline-art-width: var(--cdf-timeline-art-width-base, 6154);
	--cdf-timeline-viewport-width: var(--cdf-timeline-viewport-width-base, 1511px);
	--cdf-event-badge-width: calc(var(--cdf-timeline-stage-width) * 322 / var(--cdf-timeline-art-width));
	--cdf-event-badge-height: calc(var(--cdf-timeline-stage-width) * 90 / var(--cdf-timeline-art-width));
	--cdf-event-content-gap: 10px;
	--cdf-event-content-indent: 14px;
	--cdf-timeline-photo-paper-width: 157px;
	--cdf-timeline-photo-paper-height: 162px;
	--cdf-timeline-photo-padding-top: 10px;
	--cdf-timeline-photo-padding-x: 11.5px;
	--cdf-timeline-photo-padding-bottom: 34px;
	--cdf-timeline-photo-image-width: 134px;
	--cdf-timeline-photo-image-height: 118px;
	--cdf-timeline-modal-image-width: 344px;
	--cdf-timeline-modal-image-height: 518px;
	--cdf-timeline-stage-bottom-padding: 72px;
	--cdf-timeline-photo-offset-x: 0px;
	--cdf-timeline-mobile-photo-offset-x: 22px;
	--cdf-timeline-mobile-photo-offset-y: 0px;
	--cdf-timeline-shadow: 0 4px 17.1px 4px rgba(0, 0, 0, 0.2);
	--cdf-timeline-paper: #ffffff;
	position: relative;
}

.cdf-timeline-widget__viewport {
	position: relative;
	width: min(100%, var(--cdf-timeline-viewport-width));
	margin: 0 auto;
	overflow-x: auto;
	overflow-y: hidden;
	cursor: grab;
	user-select: none;
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.cdf-timeline-widget__viewport::-webkit-scrollbar {
	display: none;
}

.cdf-timeline-widget__viewport.is-dragging {
	cursor: grabbing;
}

.cdf-timeline-widget__stage {
	position: relative;
	width: max(100%, var(--cdf-timeline-stage-width));
	height: var(--cdf-timeline-stage-height-auto, var(--cdf-timeline-stage-height));
	min-height: var(--cdf-timeline-stage-height-auto, var(--cdf-timeline-stage-height));
	padding-bottom: var(--cdf-timeline-stage-bottom-padding);
	box-sizing: content-box;
	overflow: visible;
}

.cdf-timeline-widget__line {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	max-width: none;
	height: auto;
	transform: none;
	pointer-events: none;
	user-select: none;
	z-index: 1;
}

.cdf-timeline-widget__line-picture {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: var(--cdf-timeline-stage-width);
	min-width: var(--cdf-timeline-stage-width);
	height: auto;
	pointer-events: none;
	user-select: none;
	z-index: 1;
}

.cdf-timeline-widget__line-picture .cdf-timeline-widget__line {
	position: relative;
	display: block;
	width: var(--cdf-timeline-stage-width);
	min-width: var(--cdf-timeline-stage-width);
	max-width: none;
	height: auto;
}

.cdf-timeline-widget__event {
	position: absolute;
	left: var(--cdf-event-x);
	top: var(--cdf-event-top);
	width: var(--cdf-event-width);
	color: #4b4b4b;
	overflow: visible;
	z-index: 2;
}

.cdf-timeline-widget__event-card {
	position: relative;
	padding: calc(var(--cdf-event-badge-height) + var(--cdf-event-content-gap)) 0 0 var(--cdf-event-content-indent);
	border-radius: 0;
	isolation: isolate;
	background: transparent;
}

.cdf-timeline-widget__event-badge {
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 80px;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
	pointer-events: none;
	z-index: 1;
}

.cdf-timeline-widget__event-badge span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-family: 'Chalkduster', cursive;
	font-size: 50px;
	line-height: 1;
	color: #fff;
	text-align: center;
	white-space: nowrap;
	position: relative;
	z-index: 1;
}

.cdf-timeline-widget__event-content {
	position: relative;
	z-index: 1;
	font-size: 15px;
	line-height: 1.4;
	font-family: "raleway";
	color: #3E3E3E;
	max-width: calc(var(--cdf-event-width) - var(--cdf-event-content-indent));
}

.cdf-timeline-widget__event-content p {
	margin: 0 0 1em;
}

.cdf-timeline-widget__event-content p:last-child {
	margin-bottom: 0;
}

.cdf-timeline-widget__photo {
	position: absolute;
	left: calc(var(--cdf-photo-x) + var(--cdf-timeline-photo-offset-x));
	top: var(--cdf-photo-top);
	display: block;
	width: var(--cdf-timeline-photo-paper-width);
	height: var(--cdf-timeline-photo-paper-height);
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	appearance: none;
	-webkit-appearance: none;
	line-height: 0;
	font-size: 0;
	cursor: pointer;
	transform: rotate(var(--cdf-photo-rotate));
	transform-origin: center center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	z-index: 3;
}

.cdf-timeline-widget__photo:hover,
.cdf-timeline-widget__photo:focus,
.cdf-timeline-widget__photo:focus-visible,
.cdf-timeline-widget__photo:active {
	border: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

.cdf-timeline-widget__photo:hover {
	transform: rotate(var(--cdf-photo-rotate)) translateY(-4px);
}

.cdf-timeline-widget__photo-paper {
	display: block;
	box-sizing: border-box;
	position: relative;
	width: var(--cdf-timeline-photo-paper-width);
	height: var(--cdf-timeline-photo-paper-height);
	padding: var(--cdf-timeline-photo-padding-top) var(--cdf-timeline-photo-padding-x) var(--cdf-timeline-photo-padding-bottom);
	background: #fff;
	box-shadow: var(--cdf-timeline-shadow);
	overflow: hidden;
}

.cdf-timeline-widget__photo-image {
	display: block;
	width: var(--cdf-timeline-photo-image-width) !important;
	min-width: var(--cdf-timeline-photo-image-width);
	max-width: var(--cdf-timeline-photo-image-width) !important;
	height: var(--cdf-timeline-photo-image-height) !important;
	min-height: var(--cdf-timeline-photo-image-height);
	max-height: var(--cdf-timeline-photo-image-height) !important;
	object-fit: cover;
	flex: none;
	background: #f3f4f6;
}

.cdf-timeline-widget__hint {
	margin: 20px 0 0;
	font-size: 16px;
	line-height: 1.4;
	text-align: center;
	color: #575757;
}

.cdf-timeline-widget__modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: transparent !important;
	isolation: isolate;
}

.cdf-timeline-widget__modal[hidden] {
	display: none;
}

.cdf-timeline-widget__modal button {
	margin: 0;
	font: inherit;
	color: inherit;
	text-shadow: none !important;
}

.cdf-timeline-widget__modal-backdrop {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	background: rgba(36, 36, 36, 0.52) !important;
	appearance: none;
	-webkit-appearance: none;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
}

.cdf-timeline-widget__modal-dialog {
	position: relative;
	z-index: 1;
	width: fit-content;
	max-width: calc(100vw - 32px);
	margin: min(6vh, 48px) auto;
	padding: 24px 72px 28px;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.cdf-timeline-widget__modal-close {
	position: absolute;
	top: 4px;
	right: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 47px;
	height: 47px;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	appearance: none;
	-webkit-appearance: none;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	cursor: pointer;
}

.cdf-timeline-widget__modal-close:hover,
.cdf-timeline-widget__modal-close:focus,
.cdf-timeline-widget__modal-close:focus-visible,
.cdf-timeline-widget__modal-close:active {
	border: 0 !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

.cdf-timeline-widget__modal-close-icon {
	display: block;
	width: 47px;
	height: 47px;
	max-width: none;
}

.cdf-timeline-widget__modal-figure {
	margin: 0;
	display: grid;
	justify-items: center;
	gap: 18px;
}

.cdf-timeline-widget__modal-image {
	display: block;
	width: min(var(--cdf-timeline-modal-image-width), calc(100vw - 144px));
	height: auto;
	aspect-ratio: 344 / 518;
	max-height: calc(100vh - 180px);
	box-shadow: 0 28px 44px rgba(0, 0, 0, 0.26);
	object-fit: contain;
}

.cdf-timeline-widget__modal-caption {
	max-width: min(var(--cdf-timeline-modal-image-width), calc(100vw - 144px));
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
	color: #fff;
}

.cdf-timeline-widget__modal-thumbs {
	display: flex;
	flex-wrap: nowrap;
	gap: 18px;
	justify-content: center;
	margin-top: 26px;
	overflow-x: auto;
	padding-bottom: 8px;
	scrollbar-width: none;
}

.cdf-timeline-widget__modal-thumbs::-webkit-scrollbar {
	display: none;
}

.cdf-timeline-widget__modal-thumb {
	flex: 0 0 auto;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
	opacity: 0.72;
	transform: rotate(var(--cdf-thumb-rotate, 0deg));
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.cdf-timeline-widget__modal-thumb.is-active {
	opacity: 1;
}

.cdf-timeline-widget__modal-thumb:hover {
	opacity: 1;
	transform: rotate(var(--cdf-thumb-rotate, 0deg)) translateY(-4px);
}

.cdf-timeline-widget__modal-thumb-paper {
	display: block;
	width: 120px;
	padding: 10px 10px 22px;
	background: #fff;
	box-shadow: var(--cdf-timeline-shadow);
}

.cdf-timeline-widget__modal-thumb img {
	display: block;
	width: 100px;
	height: 100px;
	object-fit: cover;
}

.cdf-timeline-modal-open {
	overflow: hidden;
}

@media (max-width: 1024px) {
	.cdf-timeline-widget__event-content {
		font-size: 16px;
	}
}

@media (max-width: 767px) {
	.cdf-timeline-widget {
		--cdf-timeline-art-width: var(--cdf-timeline-art-width-mobile, var(--cdf-timeline-art-width-base, 6154));
		--cdf-timeline-stage-width: var(--cdf-timeline-art-width-mobile, calc(var(--cdf-timeline-stage-width-base) * var(--cdf-timeline-mobile-scale)));
		--cdf-timeline-stage-height: var(--cdf-timeline-art-height-mobile, calc(var(--cdf-timeline-stage-height-base) * var(--cdf-timeline-mobile-scale)));
		--cdf-timeline-line-y: calc(var(--cdf-timeline-line-y-base) * var(--cdf-timeline-mobile-scale));
		--cdf-timeline-viewport-width: 100%;
		--cdf-event-content-gap: 38px;
		--cdf-event-content-indent: 38px;
		--cdf-timeline-photo-paper-width: calc(157px * var(--cdf-timeline-mobile-scale));
		--cdf-timeline-photo-paper-height: calc(162px * var(--cdf-timeline-mobile-scale));
		--cdf-timeline-photo-padding-top: calc(10px * var(--cdf-timeline-mobile-scale));
		--cdf-timeline-photo-padding-x: calc(11.5px * var(--cdf-timeline-mobile-scale));
		--cdf-timeline-photo-padding-bottom: calc(34px * var(--cdf-timeline-mobile-scale));
		--cdf-timeline-photo-image-width: calc(134px * var(--cdf-timeline-mobile-scale));
		--cdf-timeline-photo-image-height: calc(118px * var(--cdf-timeline-mobile-scale));
		--cdf-timeline-stage-bottom-padding: calc(92px * var(--cdf-timeline-mobile-scale));
	}

	.cdf-timeline-widget--mobile-dedicated {
		--cdf-timeline-art-width: var(--cdf-timeline-art-width-mobile, var(--cdf-timeline-art-width-base, 6154));
		--cdf-timeline-stage-width: var(--cdf-timeline-stage-width-base);
		--cdf-timeline-stage-height: calc(var(--cdf-timeline-art-height-mobile, var(--cdf-timeline-stage-height-base, 920)) * 1px * var(--cdf-timeline-mobile-native-scale));
		--cdf-timeline-line-y: calc(var(--cdf-timeline-line-y-base) * var(--cdf-timeline-mobile-native-scale));
		--cdf-event-content-gap: 38px;
		--cdf-event-content-indent: 38px;
		--cdf-timeline-photo-paper-width: calc(157px * var(--cdf-timeline-mobile-native-scale));
		--cdf-timeline-photo-paper-height: calc(162px * var(--cdf-timeline-mobile-native-scale));
		--cdf-timeline-photo-padding-top: calc(10px * var(--cdf-timeline-mobile-native-scale));
		--cdf-timeline-photo-padding-x: calc(11.5px * var(--cdf-timeline-mobile-native-scale));
		--cdf-timeline-photo-padding-bottom: calc(34px * var(--cdf-timeline-mobile-native-scale));
		--cdf-timeline-photo-image-width: calc(134px * var(--cdf-timeline-mobile-native-scale));
		--cdf-timeline-photo-image-height: calc(118px * var(--cdf-timeline-mobile-native-scale));
		--cdf-timeline-stage-bottom-padding: calc(92px * var(--cdf-timeline-mobile-native-scale));
	}

	.cdf-timeline-widget__stage {
		min-height: max(380px, var(--cdf-timeline-stage-height));
	}

	.cdf-timeline-widget--mobile-dedicated .cdf-timeline-widget__stage {
		width: var(--cdf-timeline-stage-width);
		min-width: var(--cdf-timeline-stage-width);
	}

	.cdf-timeline-widget--mobile-dedicated .cdf-timeline-widget__line-picture {
		width: var(--cdf-timeline-stage-width);
		min-width: var(--cdf-timeline-stage-width);
	}

	.cdf-timeline-widget--mobile-dedicated .cdf-timeline-widget__line-picture .cdf-timeline-widget__line {
		width: var(--cdf-timeline-stage-width);
		min-width: var(--cdf-timeline-stage-width);
		max-width: none;
	}

	.cdf-timeline-widget__event {
		left: var(--cdf-event-x-mobile, calc(var(--cdf-event-x) * var(--cdf-timeline-mobile-scale)));
		top: var(--cdf-event-top-mobile, calc(var(--cdf-event-top) * var(--cdf-timeline-mobile-scale)));
		width: var(--cdf-event-width-mobile, calc(var(--cdf-event-width) * var(--cdf-timeline-mobile-scale)));
	}

	.cdf-timeline-widget--mobile-dedicated .cdf-timeline-widget__event {
		left: calc(var(--cdf-event-x-mobile, var(--cdf-event-x)) * var(--cdf-timeline-mobile-native-scale));
		top: calc(var(--cdf-event-top-mobile, var(--cdf-event-top)) * var(--cdf-timeline-mobile-native-scale));
		width: calc(var(--cdf-event-width-mobile, var(--cdf-event-width)) * var(--cdf-timeline-mobile-native-scale));
	}

	.cdf-timeline-widget__event-card {
		display: block !important;
		box-sizing: border-box;
		padding-top: 0 !important;
		padding-right: 0 !important;
		padding-bottom: 0 !important;
		padding-left: 0 !important;
	}

	.cdf-timeline-widget__photo {
		left: calc(var(--cdf-photo-x-mobile, calc(var(--cdf-photo-x) * var(--cdf-timeline-mobile-scale))) + var(--cdf-timeline-mobile-photo-offset-x));
		top: var(--cdf-photo-top-mobile, calc(var(--cdf-photo-top) * var(--cdf-timeline-mobile-scale)));
	}

	.cdf-timeline-widget--mobile-dedicated .cdf-timeline-widget__photo {
		left: calc((var(--cdf-photo-x-mobile, var(--cdf-photo-x)) * var(--cdf-timeline-mobile-native-scale)) + var(--cdf-timeline-mobile-photo-offset-x));
		top: calc(var(--cdf-photo-top-mobile, var(--cdf-photo-top)) * var(--cdf-timeline-mobile-native-scale));
	}

	.cdf-timeline-widget__event-badge span {
		font-size: 30px;
		font-weight: 400;
		line-height: 1;
		text-align: center;
	}

	.cdf-timeline-widget__event-content {
		display: block;
		padding-top: calc(var(--cdf-event-badge-height) + 38px);
		padding-left: var(--cdf-event-content-indent);
		margin-top: 0 !important;
		max-width: calc(100% - var(--cdf-event-content-indent));
		font-family: "Raleway", sans-serif;
		font-size: 12px;
		font-weight: 400;
		line-height: 1.4;
	}

	.cdf-timeline-widget__hint {
		font-size: 14px;
	}

	.cdf-timeline-widget__modal-dialog {
		width: fit-content;
		max-width: calc(100vw - 20px);
		padding: 18px 42px 22px;
	}

	.cdf-timeline-widget__modal-close {
		top: 2px;
		right: 2px;
	}

	.cdf-timeline-widget__modal-thumb-paper {
		width: 92px;
		padding: 8px 8px 18px;
	}

	.cdf-timeline-widget__modal-thumb img {
		width: 76px;
		height: 76px;
	}
}
