/**
 * Timeline for Elementor
 * -----------------------------------------------------------------------------
 * Layout is driven entirely by custom properties, so the orientation and the
 * side of each item can be swapped per breakpoint without duplicating the
 * structural rules.
 */

:root {
	--etl-line-width: 3px;
	--etl-line-pos: 50%;
	--etl-line-gap: 30px;
	--etl-item-gap: 40px;
	--etl-per-view: 3;
	--etl-dash: 10px;
	--etl-dash-gap: 8px;
	--etl-progress: 0%;

	--etl-marker-size: 18px;
	--etl-marker-active-scale: 1.25;

	--etl-card-width: 100%;
	--etl-card-align: start;
	--etl-card-lift: 0px;

	--etl-image-width: 100%;
	--etl-image-height: 180px;
	--etl-image-fit: cover;
	--etl-image-gap: 18px;
	--etl-image-zoom: 1;

	--etl-date-gap: 8px;
	--etl-date-offset: 30px;
	--etl-title-gap: 10px;
	--etl-desc-gap: 0px;

	--etl-connector-size: 12px;
	--etl-connector-color: #ffffff;
	--etl-connector-line-width: 2px;
	--etl-connector-line-color: #d9dee8;

	--etl-arrow-size: 44px;
	--etl-arrow-icon-size: 16px;
	--etl-arrow-gap: 10px;
	--etl-arrow-group-dir: row;
	--etl-arrow-disabled-opacity: 0.35;

	--etl-dot-size: 10px;
	--etl-dot-gap: 10px;
	--etl-dot-active-width: 28px;
	--etl-dots-offset: 28px;
	--etl-dots-justify: center;
	--etl-dots-dir: row;

	--etl-transition-speed: 450ms;
	--etl-anim-duration: 600ms;
	--etl-anim-distance: 40px;
}

.etl-wrap {
	position: relative;
}

.etl-wrap *,
.etl-wrap *::before,
.etl-wrap *::after {
	box-sizing: border-box;
}

.etl-timeline {
	position: relative;
}

.etl-viewport {
	position: relative;
	height: var(--etl-vp-h, auto);
	overflow: var(--etl-vp-overflow, hidden);
}

.etl-track {
	display: flex;
	flex-direction: var(--etl-track-dir, column);
	gap: var(--etl-item-gap);
	height: var(--etl-track-h, auto);
	transition: transform var(--etl-transition-speed) cubic-bezier(0.4, 0, 0.2, 1);
	will-change: transform;
}

.etl-wrap.is-dragging .etl-track {
	transition: none;
	cursor: grabbing;
}

.etl-item {
	position: relative;
	display: grid;
	grid-template-columns: var(--etl-gtc, 1fr);
	grid-template-rows: var(--etl-gtr, auto);
	flex: var(--etl-item-flex, 0 0 auto);
	height: var(--etl-item-h, auto);
	min-width: 0;
}

/* ---------------------------------------------------------------------------
 * Centre line
 * ------------------------------------------------------------------------ */
.etl-line {
	position: absolute;
	z-index: 1;
	pointer-events: none;
	background-color: #d9dee8;
	top: var(--etl-line-top, 0);
	right: var(--etl-line-right, auto);
	bottom: var(--etl-line-bottom, 0);
	left: var(--etl-line-left, 50%);
	width: var(--etl-line-w, var(--etl-line-width));
	height: var(--etl-line-h, auto);
	transform: var(--etl-line-tf, translateX(-50%));
}

.etl-linedash-yes .etl-line {
	-webkit-mask-image: repeating-linear-gradient(var(--etl-dash-dir, to bottom), #000 0, #000 var(--etl-dash), transparent var(--etl-dash), transparent calc(var(--etl-dash) + var(--etl-dash-gap)));
	mask-image: repeating-linear-gradient(var(--etl-dash-dir, to bottom), #000 0, #000 var(--etl-dash), transparent var(--etl-dash), transparent calc(var(--etl-dash) + var(--etl-dash-gap)));
}

.etl-line__progress {
	position: absolute;
	top: 0;
	left: 0;
	width: var(--etl-progress-w, 100%);
	height: var(--etl-progress-h, var(--etl-progress));
	background-color: #3b5bfd;
	transition: width var(--etl-transition-speed) ease, height var(--etl-transition-speed) ease;
}

.etl-line__progress {
	display: none;
}

.etl-progress-yes .etl-line__progress {
	display: block;
}

/* ---------------------------------------------------------------------------
 * Orientation switches.
 * Every structural rule reads these variables, so switching orientation at a
 * breakpoint only means re-declaring this block inside a media query.
 * ------------------------------------------------------------------------ */
.etl-orientation-vertical {
	--etl-mode: vertical;
	--etl-track-dir: column;
	--etl-track-h: auto;
	--etl-vp-h: var(--etl-vmode-h, auto);
	--etl-vp-overflow: var(--etl-vmode-overflow, hidden);
	--etl-item-flex: 0 0 auto;
	--etl-item-h: auto;
	--etl-gtc: var(--etl-line-pos) minmax(0, 1fr);
	--etl-gtr: auto;

	--etl-line-top: 0;
	--etl-line-right: auto;
	--etl-line-bottom: 0;
	--etl-line-left: var(--etl-line-pos);
	--etl-line-w: var(--etl-line-width);
	--etl-line-h: auto;
	--etl-line-tf: translateX(-50%);
	--etl-progress-w: 100%;
	--etl-progress-h: var(--etl-progress);
	--etl-dash-dir: to bottom;

	--etl-marker-left: var(--etl-line-pos);
	--etl-marker-top: 50%;






	--etl-prev-x: 50%;
	--etl-prev-y: 0%;
	--etl-next-x: 50%;
	--etl-next-y: 100%;
	--etl-arrows-x: 50%;
	--etl-arrows-y: 100%;
}

.etl-orientation-vertical .etl-item {
	--etl-cw-col: var(--etl-col);
	--etl-cw-row: 1;
	--etl-cw-just: var(--etl-just);
	--etl-cw-align: stretch;
	--etl-cw-pt: 0px;
	--etl-cw-pr: var(--etl-pr);
	--etl-cw-pb: 0px;
	--etl-cw-pl: var(--etl-pl);
	--etl-do-col: var(--etl-dcol);
	--etl-do-row: 1;
	--etl-do-just: var(--etl-djust);
	--etl-do-align: center;
	--etl-do-pt: 0px;
	--etl-do-pr: var(--etl-dpr);
	--etl-do-pb: 0px;
	--etl-do-pl: var(--etl-dpl);
	--etl-conn-top: var(--etl-cv-top);
	--etl-conn-right: var(--etl-cv-right);
	--etl-conn-bottom: var(--etl-cv-bottom);
	--etl-conn-left: var(--etl-cv-left);
	--etl-conn-tf: var(--etl-cv-tf);
	--etl-cl-top: var(--etl-lv-top);
	--etl-cl-right: var(--etl-lv-right);
	--etl-cl-bottom: var(--etl-lv-bottom);
	--etl-cl-left: var(--etl-lv-left);
	--etl-cl-w: var(--etl-lv-w);
	--etl-cl-h: var(--etl-lv-h);
	--etl-cl-tf: var(--etl-lv-tf);
	--etl-anim-x: calc(var(--etl-anim-sign, 1) * var(--etl-anim-distance));
	--etl-anim-y: 0px;
}

.etl-orientation-horizontal {
	--etl-mode: horizontal;
	--etl-track-dir: row;
	--etl-track-h: 100%;
	--etl-vp-h: var(--etl-viewport-h, 520px);
	--etl-vp-overflow: hidden;
	--etl-item-flex: 0 0 calc((100% - (var(--etl-per-view) - 1) * var(--etl-item-gap)) / var(--etl-per-view));
	--etl-item-h: 100%;
	--etl-gtc: minmax(0, 1fr);
	--etl-gtr: var(--etl-line-pos) minmax(0, 1fr);

	--etl-line-top: var(--etl-line-pos);
	--etl-line-right: 0;
	--etl-line-bottom: auto;
	--etl-line-left: 0;
	--etl-line-w: auto;
	--etl-line-h: var(--etl-line-width);
	--etl-line-tf: translateY(-50%);
	--etl-progress-w: var(--etl-progress);
	--etl-progress-h: 100%;
	--etl-dash-dir: to right;

	--etl-marker-left: 50%;
	--etl-marker-top: var(--etl-line-pos);






	--etl-prev-x: 0%;
	--etl-prev-y: 50%;
	--etl-next-x: 100%;
	--etl-next-y: 50%;
	--etl-arrows-x: 50%;
	--etl-arrows-y: 100%;
}

.etl-orientation-horizontal .etl-item {
	--etl-cw-col: 1;
	--etl-cw-row: var(--etl-row);
	--etl-cw-just: center;
	--etl-cw-align: var(--etl-align);
	--etl-cw-pt: var(--etl-pt);
	--etl-cw-pr: 0px;
	--etl-cw-pb: var(--etl-pb);
	--etl-cw-pl: 0px;
	--etl-do-col: 1;
	--etl-do-row: var(--etl-drow);
	--etl-do-just: center;
	--etl-do-align: var(--etl-dalign);
	--etl-do-pt: var(--etl-dpt);
	--etl-do-pr: 0px;
	--etl-do-pb: var(--etl-dpb);
	--etl-do-pl: 0px;
	--etl-conn-top: var(--etl-ch-top);
	--etl-conn-right: var(--etl-ch-right);
	--etl-conn-bottom: var(--etl-ch-bottom);
	--etl-conn-left: var(--etl-ch-left);
	--etl-conn-tf: var(--etl-ch-tf);
	--etl-cl-top: var(--etl-lh-top);
	--etl-cl-right: var(--etl-lh-right);
	--etl-cl-bottom: var(--etl-lh-bottom);
	--etl-cl-left: var(--etl-lh-left);
	--etl-cl-w: var(--etl-lh-w);
	--etl-cl-h: var(--etl-lh-h);
	--etl-cl-tf: var(--etl-lh-tf);
	--etl-anim-x: 0px;
	--etl-anim-y: calc(var(--etl-anim-sign, 1) * var(--etl-anim-distance));
}

.etl-vmode-stack {
	--etl-vmode-h: auto;
	/* The stack grows with the page, so the vertical axis stays open. The
	 * horizontal one is clipped: fade-side parks every item one animation
	 * distance to the side, and on a narrow screen that offset would widen the
	 * document and let the page scroll sideways into empty space. `clip` is
	 * what makes this possible; `hidden` would force the other axis to `auto`. */
	--etl-vmode-overflow: clip visible;
}

.etl-vmode-slider {
	--etl-vmode-h: var(--etl-viewport-h, 520px);
	--etl-vmode-overflow: hidden;
}

.etl-item,
.etl-sides-alternate .etl-item:nth-child(even),
.etl-sides-end .etl-item {
	--etl-col: 2;
	--etl-just: flex-start;
	--etl-pl: var(--etl-line-gap);
	--etl-pr: 0px;
	--etl-row: 2;
	--etl-align: flex-start;
	--etl-pt: var(--etl-line-gap);
	--etl-pb: 0px;
	--etl-dcol: 1;
	--etl-djust: flex-end;
	--etl-dpl: 0px;
	--etl-dpr: var(--etl-date-offset);
	--etl-drow: 1;
	--etl-dalign: flex-end;
	--etl-dpt: 0px;
	--etl-dpb: var(--etl-date-offset);
	--etl-anim-sign: 1;
	--etl-cv-top: 50%;
	--etl-cv-right: auto;
	--etl-cv-bottom: auto;
	--etl-cv-left: 0px;
	--etl-cv-tf: translate(-50%, -50%) rotate(45deg);
	--etl-ch-top: 0px;
	--etl-ch-right: auto;
	--etl-ch-bottom: auto;
	--etl-ch-left: 50%;
	--etl-ch-tf: translate(-50%, -50%) rotate(45deg);
	--etl-lv-top: 50%;
	--etl-lv-right: auto;
	--etl-lv-bottom: auto;
	--etl-lv-left: 0px;
	--etl-lv-w: var(--etl-line-gap);
	--etl-lv-h: var(--etl-connector-line-width);
	--etl-lv-tf: translateY(-50%);
	--etl-lh-top: 0px;
	--etl-lh-right: auto;
	--etl-lh-bottom: auto;
	--etl-lh-left: 50%;
	--etl-lh-w: var(--etl-connector-line-width);
	--etl-lh-h: var(--etl-line-gap);
	--etl-lh-tf: translateX(-50%);
}

.etl-sides-alternate .etl-item:nth-child(odd),
.etl-sides-start .etl-item {
	--etl-col: 1;
	--etl-just: flex-end;
	--etl-pl: 0px;
	--etl-pr: var(--etl-line-gap);
	--etl-row: 1;
	--etl-align: flex-end;
	--etl-pt: 0px;
	--etl-pb: var(--etl-line-gap);
	--etl-dcol: 2;
	--etl-djust: flex-start;
	--etl-dpl: var(--etl-date-offset);
	--etl-dpr: 0px;
	--etl-drow: 2;
	--etl-dalign: flex-start;
	--etl-dpt: var(--etl-date-offset);
	--etl-dpb: 0px;
	--etl-anim-sign: -1;
	--etl-cv-top: 50%;
	--etl-cv-right: 0px;
	--etl-cv-bottom: auto;
	--etl-cv-left: auto;
	--etl-cv-tf: translate(50%, -50%) rotate(45deg);
	--etl-ch-top: auto;
	--etl-ch-right: auto;
	--etl-ch-bottom: 0px;
	--etl-ch-left: 50%;
	--etl-ch-tf: translate(-50%, 50%) rotate(45deg);
	--etl-lv-top: 50%;
	--etl-lv-right: 0px;
	--etl-lv-bottom: auto;
	--etl-lv-left: auto;
	--etl-lv-w: var(--etl-line-gap);
	--etl-lv-h: var(--etl-connector-line-width);
	--etl-lv-tf: translateY(-50%);
	--etl-lh-top: auto;
	--etl-lh-right: auto;
	--etl-lh-bottom: 0px;
	--etl-lh-left: 50%;
	--etl-lh-w: var(--etl-connector-line-width);
	--etl-lh-h: var(--etl-line-gap);
	--etl-lh-tf: translateX(-50%);
}

/* ---------------------------------------------------------------------------
 * Item, card and content
 * ------------------------------------------------------------------------ */
.etl-card-wrap {
	position: relative;
	grid-column: var(--etl-cw-col, 1);
	grid-row: var(--etl-cw-row, 1);
	display: flex;
	justify-content: var(--etl-cw-just, flex-start);
	align-items: var(--etl-cw-align, stretch);
	padding: var(--etl-cw-pt, 0px) var(--etl-cw-pr, 0px) var(--etl-cw-pb, 0px) var(--etl-cw-pl, 0px);
	min-width: 0;
}

.etl-card {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: var(--etl-card-dir, column);
	align-items: var(--etl-card-cross, var(--etl-card-align));
	gap: var(--etl-image-gap);
	width: var(--etl-card-width);
	max-width: 100%;
	min-width: 0;
	text-align: var(--etl-card-align);
	background-color: #ffffff;
	transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.etl-item:hover .etl-card {
	transform: translateY(var(--etl-card-lift, 0px));
}

.etl-content {
	width: 100%;
	min-width: 0;
	flex: 1 1 auto;
}

.etl-imgpos-top .etl-card {
	--etl-card-dir: column;
	--etl-card-cross: var(--etl-card-align);
}

.etl-imgpos-bottom .etl-card {
	--etl-card-dir: column-reverse;
	--etl-card-cross: var(--etl-card-align);
}

.etl-imgpos-left .etl-card {
	--etl-card-dir: row;
	--etl-card-cross: flex-start;
}

.etl-imgpos-right .etl-card {
	--etl-card-dir: row-reverse;
	--etl-card-cross: flex-start;
}

.etl-image {
	position: relative;
	overflow: hidden;
	flex: 0 0 auto;
	width: var(--etl-image-width);
	max-width: 100%;
	line-height: 0;
}

.etl-image img {
	display: block;
	width: 100%;
	height: var(--etl-image-height, auto);
	object-fit: var(--etl-image-fit, cover);
	transition: transform 0.4s ease;
}

.etl-item:hover .etl-image img {
	transform: scale(var(--etl-image-zoom, 1));
}

/* ---------------------------------------------------------------------------
 * Markers and connectors
 * ------------------------------------------------------------------------ */
.etl-marker {
	position: absolute;
	z-index: 3;
	top: var(--etl-marker-top, 50%);
	left: var(--etl-marker-left, 50%);
	width: var(--etl-marker-size);
	height: var(--etl-marker-size);
	background-color: #ffffff;
	transform: translate(-50%, -50%);
	transition: transform 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.etl-item.is-active .etl-marker {
	transform: translate(-50%, -50%) scale(var(--etl-marker-active-scale, 1));
}

.etl-connector-arrow .etl-card::after,
.etl-connector-both .etl-card::after {
	content: "";
	position: absolute;
	z-index: 2;
	top: var(--etl-conn-top);
	right: var(--etl-conn-right);
	bottom: var(--etl-conn-bottom);
	left: var(--etl-conn-left);
	width: var(--etl-connector-size);
	height: var(--etl-connector-size);
	background-color: var(--etl-connector-color);
	transform: var(--etl-conn-tf);
}

.etl-connector-line .etl-card-wrap::after,
.etl-connector-both .etl-card-wrap::after {
	content: "";
	position: absolute;
	z-index: 0;
	top: var(--etl-cl-top);
	right: var(--etl-cl-right);
	bottom: var(--etl-cl-bottom);
	left: var(--etl-cl-left);
	width: var(--etl-cl-w);
	height: var(--etl-cl-h);
	background-color: var(--etl-connector-line-color);
	transform: var(--etl-cl-tf);
}

/* ---------------------------------------------------------------------------
 * Date, title, description
 * ------------------------------------------------------------------------ */
.etl-date {
	display: inline-block;
	margin-bottom: var(--etl-date-gap);
	color: #3b5bfd;
	line-height: 1.4;
}

.etl-date--opposite {
	grid-column: var(--etl-do-col, 1);
	grid-row: var(--etl-do-row, 1);
	justify-self: var(--etl-do-just, center);
	align-self: var(--etl-do-align, center);
	padding: var(--etl-do-pt, 0px) var(--etl-do-pr, 0px) var(--etl-do-pb, 0px) var(--etl-do-pl, 0px);
	margin-bottom: 0;
	white-space: nowrap;
}

.etl-title {
	margin: 0 0 var(--etl-title-gap) 0;
}

.etl-title:last-child {
	margin-bottom: 0;
}

.etl-title a {
	color: inherit;
	text-decoration: none;
	transition: color 0.3s ease;
}

.etl-description {
	margin-top: var(--etl-desc-gap);
}

.etl-description > *:first-child {
	margin-top: 0;
}

.etl-description > *:last-child {
	margin-bottom: 0;
}

/* ---------------------------------------------------------------------------
 * Reveal animation. The hiding rules only apply once the script has flagged
 * the widget, so items stay visible if JavaScript never runs.
 * ------------------------------------------------------------------------ */
.etl-wrap.etl-anim-ready .etl-item {
	opacity: 0;
	transition: opacity var(--etl-anim-duration) ease, transform var(--etl-anim-duration) ease;
}

.etl-anim-fade-side .etl-wrap.etl-anim-ready .etl-item {
	transform: translate(var(--etl-anim-x, 0px), var(--etl-anim-y, 0px));
}

.etl-anim-zoom .etl-wrap.etl-anim-ready .etl-item {
	transform: scale(0.92);
}

/* Declared last, and with matching specificity, so revealing always wins. */
.etl-wrap.etl-anim-ready .etl-item.is-visible,
.etl-anim-fade-side .etl-wrap.etl-anim-ready .etl-item.is-visible,
.etl-anim-zoom .etl-wrap.etl-anim-ready .etl-item.is-visible {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.etl-wrap .etl-track,
	.etl-wrap .etl-item,
	.etl-wrap .etl-card,
	.etl-wrap .etl-marker,
	.etl-wrap .etl-image img,
	.etl-wrap .etl-line__progress {
		transition-duration: 1ms !important;
	}

	.etl-wrap.etl-anim-ready .etl-item {
		opacity: 1;
		transform: none;
	}
}

/* ---------------------------------------------------------------------------
 * Navigation. Arrows are absolutely placed inside the stage, which matches the
 * viewport box exactly, so anchor + offset can move them anywhere.
 * ------------------------------------------------------------------------ */
.etl-stage {
	position: relative;
}

.etl-arrowlayout-split .etl-arrows {
	display: contents;
}

.etl-arrowlayout-group .etl-arrows {
	position: absolute;
	z-index: 10;
	display: flex;
	flex-direction: var(--etl-arrow-group-dir, row);
	align-items: center;
	gap: var(--etl-arrow-gap);
	left: var(--etl-arrows-x, 50%);
	top: var(--etl-arrows-y, 100%);
	transform:
		translate(calc(-1 * var(--etl-arrows-x, 50%)), calc(-1 * var(--etl-arrows-y, 100%)))
		translate(var(--etl-arrows-dx, 0px), var(--etl-arrows-dy, 0px));
}

.etl-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--etl-arrow-size);
	height: var(--etl-arrow-size);
	padding: 0;
	margin: 0;
	border: 0;
	background-color: #ffffff;
	color: #11172b;
	font-size: var(--etl-arrow-icon-size);
	line-height: 1;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
}

.etl-arrowlayout-split .etl-arrow {
	position: absolute;
	z-index: 10;
}

.etl-arrowlayout-split .etl-arrow--prev {
	left: var(--etl-prev-x, 0%);
	top: var(--etl-prev-y, 50%);
	transform:
		translate(calc(-1 * var(--etl-prev-x, 0%)), calc(-1 * var(--etl-prev-y, 50%)))
		translate(var(--etl-prev-dx, 0px), var(--etl-prev-dy, 0px));
}

.etl-arrowlayout-split .etl-arrow--next {
	left: var(--etl-next-x, 100%);
	top: var(--etl-next-y, 50%);
	transform:
		translate(calc(-1 * var(--etl-next-x, 100%)), calc(-1 * var(--etl-next-y, 50%)))
		translate(var(--etl-next-dx, 0px), var(--etl-next-dy, 0px));
}

.etl-arrow__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: inherit;
	transition: transform 0.3s ease;
}

.etl-arrow__icon svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}

.etl-arrow__icon i {
	font-size: inherit;
}

.etl-orientation-vertical.etl-rotatearrows-yes .etl-arrow__icon {
	transform: rotate(90deg);
}

.etl-arrow[disabled] {
	opacity: var(--etl-arrow-disabled-opacity);
	cursor: default;
	pointer-events: none;
}

.etl-arrows-no .etl-arrow {
	display: none;
}

/* Dots */
.etl-dots {
	display: flex;
	flex-direction: var(--etl-dots-dir, row);
	flex-wrap: wrap;
	align-items: center;
	justify-content: var(--etl-dots-justify, center);
	gap: var(--etl-dot-gap);
}

.etl-dotspos-flow .etl-dots {
	margin-top: var(--etl-dots-offset);
}

.etl-dotspos-free .etl-dots {
	position: absolute;
	z-index: 10;
	flex-wrap: nowrap;
	left: var(--etl-dots-x, 50%);
	top: var(--etl-dots-y, 100%);
	transform:
		translate(calc(-1 * var(--etl-dots-x, 50%)), calc(-1 * var(--etl-dots-y, 100%)))
		translate(var(--etl-dots-dx, 0px), var(--etl-dots-dy, 0px));
}

.etl-dot {
	flex: 0 0 var(--etl-dot-size);
	width: var(--etl-dot-size);
	height: var(--etl-dot-size);
	padding: 0;
	margin: 0;
	border: 0;
	background-color: #d9dee8;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: flex-basis 0.3s ease, width 0.3s ease, height 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
}

.etl-dot.is-active {
	/* flex-basis drives the main axis, so the pill grows sideways in a row of
	   dots and downwards in a column. */
	flex-basis: var(--etl-dot-active-width);
}

.etl-dots-no .etl-dots {
	display: none;
}

/* ---------------------------------------------------------------------------
 * Responsive layer. Elementor adds -tablet- / -mobile- prefixed classes for
 * every responsive control, so each breakpoint simply re-declares the same
 * variables.
 * ------------------------------------------------------------------------ */
@media (max-width: 1024px) {
	.etl-tablet-orientation-vertical {
		--etl-mode: vertical;
		--etl-track-dir: column;
		--etl-track-h: auto;
		--etl-vp-h: var(--etl-vmode-h, auto);
		--etl-vp-overflow: var(--etl-vmode-overflow, hidden);
		--etl-item-flex: 0 0 auto;
		--etl-item-h: auto;
		--etl-gtc: var(--etl-line-pos) minmax(0, 1fr);
		--etl-gtr: auto;

		--etl-line-top: 0;
		--etl-line-right: auto;
		--etl-line-bottom: 0;
		--etl-line-left: var(--etl-line-pos);
		--etl-line-w: var(--etl-line-width);
		--etl-line-h: auto;
		--etl-line-tf: translateX(-50%);
		--etl-progress-w: 100%;
		--etl-progress-h: var(--etl-progress);
		--etl-dash-dir: to bottom;

		--etl-marker-left: var(--etl-line-pos);
		--etl-marker-top: 50%;






		--etl-prev-x: 50%;
		--etl-prev-y: 0%;
		--etl-next-x: 50%;
		--etl-next-y: 100%;
		--etl-arrows-x: 50%;
		--etl-arrows-y: 100%;
	}

	.etl-tablet-orientation-vertical .etl-item {
		--etl-cw-col: var(--etl-col);
		--etl-cw-row: 1;
		--etl-cw-just: var(--etl-just);
		--etl-cw-align: stretch;
		--etl-cw-pt: 0px;
		--etl-cw-pr: var(--etl-pr);
		--etl-cw-pb: 0px;
		--etl-cw-pl: var(--etl-pl);
		--etl-do-col: var(--etl-dcol);
		--etl-do-row: 1;
		--etl-do-just: var(--etl-djust);
		--etl-do-align: center;
		--etl-do-pt: 0px;
		--etl-do-pr: var(--etl-dpr);
		--etl-do-pb: 0px;
		--etl-do-pl: var(--etl-dpl);
		--etl-conn-top: var(--etl-cv-top);
		--etl-conn-right: var(--etl-cv-right);
		--etl-conn-bottom: var(--etl-cv-bottom);
		--etl-conn-left: var(--etl-cv-left);
		--etl-conn-tf: var(--etl-cv-tf);
		--etl-cl-top: var(--etl-lv-top);
		--etl-cl-right: var(--etl-lv-right);
		--etl-cl-bottom: var(--etl-lv-bottom);
		--etl-cl-left: var(--etl-lv-left);
		--etl-cl-w: var(--etl-lv-w);
		--etl-cl-h: var(--etl-lv-h);
		--etl-cl-tf: var(--etl-lv-tf);
		--etl-anim-x: calc(var(--etl-anim-sign, 1) * var(--etl-anim-distance));
		--etl-anim-y: 0px;
	}

	.etl-tablet-orientation-horizontal {
		--etl-mode: horizontal;
		--etl-track-dir: row;
		--etl-track-h: 100%;
		--etl-vp-h: var(--etl-viewport-h, 520px);
		--etl-vp-overflow: hidden;
		--etl-item-flex: 0 0 calc((100% - (var(--etl-per-view) - 1) * var(--etl-item-gap)) / var(--etl-per-view));
		--etl-item-h: 100%;
		--etl-gtc: minmax(0, 1fr);
		--etl-gtr: var(--etl-line-pos) minmax(0, 1fr);

		--etl-line-top: var(--etl-line-pos);
		--etl-line-right: 0;
		--etl-line-bottom: auto;
		--etl-line-left: 0;
		--etl-line-w: auto;
		--etl-line-h: var(--etl-line-width);
		--etl-line-tf: translateY(-50%);
		--etl-progress-w: var(--etl-progress);
		--etl-progress-h: 100%;
		--etl-dash-dir: to right;

		--etl-marker-left: 50%;
		--etl-marker-top: var(--etl-line-pos);






		--etl-prev-x: 0%;
		--etl-prev-y: 50%;
		--etl-next-x: 100%;
		--etl-next-y: 50%;
		--etl-arrows-x: 50%;
		--etl-arrows-y: 100%;
	}

	.etl-tablet-orientation-horizontal .etl-item {
		--etl-cw-col: 1;
		--etl-cw-row: var(--etl-row);
		--etl-cw-just: center;
		--etl-cw-align: var(--etl-align);
		--etl-cw-pt: var(--etl-pt);
		--etl-cw-pr: 0px;
		--etl-cw-pb: var(--etl-pb);
		--etl-cw-pl: 0px;
		--etl-do-col: 1;
		--etl-do-row: var(--etl-drow);
		--etl-do-just: center;
		--etl-do-align: var(--etl-dalign);
		--etl-do-pt: var(--etl-dpt);
		--etl-do-pr: 0px;
		--etl-do-pb: var(--etl-dpb);
		--etl-do-pl: 0px;
		--etl-conn-top: var(--etl-ch-top);
		--etl-conn-right: var(--etl-ch-right);
		--etl-conn-bottom: var(--etl-ch-bottom);
		--etl-conn-left: var(--etl-ch-left);
		--etl-conn-tf: var(--etl-ch-tf);
		--etl-cl-top: var(--etl-lh-top);
		--etl-cl-right: var(--etl-lh-right);
		--etl-cl-bottom: var(--etl-lh-bottom);
		--etl-cl-left: var(--etl-lh-left);
		--etl-cl-w: var(--etl-lh-w);
		--etl-cl-h: var(--etl-lh-h);
		--etl-cl-tf: var(--etl-lh-tf);
		--etl-anim-x: 0px;
		--etl-anim-y: calc(var(--etl-anim-sign, 1) * var(--etl-anim-distance));
	}

	.etl-tablet-imgpos-top .etl-card {
		--etl-card-dir: column;
		--etl-card-cross: var(--etl-card-align);
	}

	.etl-tablet-imgpos-bottom .etl-card {
		--etl-card-dir: column-reverse;
		--etl-card-cross: var(--etl-card-align);
	}

	.etl-tablet-imgpos-left .etl-card {
		--etl-card-dir: row;
		--etl-card-cross: flex-start;
	}

	.etl-tablet-imgpos-right .etl-card {
		--etl-card-dir: row-reverse;
		--etl-card-cross: flex-start;
	}

	.etl-tablet-sides-alternate .etl-timeline .etl-item:nth-child(even),
	.etl-tablet-sides-end .etl-timeline .etl-item {
		--etl-col: 2;
		--etl-just: flex-start;
		--etl-pl: var(--etl-line-gap);
		--etl-pr: 0px;
		--etl-row: 2;
		--etl-align: flex-start;
		--etl-pt: var(--etl-line-gap);
		--etl-pb: 0px;
		--etl-dcol: 1;
		--etl-djust: flex-end;
		--etl-dpl: 0px;
		--etl-dpr: var(--etl-date-offset);
		--etl-drow: 1;
		--etl-dalign: flex-end;
		--etl-dpt: 0px;
		--etl-dpb: var(--etl-date-offset);
		--etl-anim-sign: 1;
		--etl-cv-top: 50%;
		--etl-cv-right: auto;
		--etl-cv-bottom: auto;
		--etl-cv-left: 0px;
		--etl-cv-tf: translate(-50%, -50%) rotate(45deg);
		--etl-ch-top: 0px;
		--etl-ch-right: auto;
		--etl-ch-bottom: auto;
		--etl-ch-left: 50%;
		--etl-ch-tf: translate(-50%, -50%) rotate(45deg);
		--etl-lv-top: 50%;
		--etl-lv-right: auto;
		--etl-lv-bottom: auto;
		--etl-lv-left: 0px;
		--etl-lv-w: var(--etl-line-gap);
		--etl-lv-h: var(--etl-connector-line-width);
		--etl-lv-tf: translateY(-50%);
		--etl-lh-top: 0px;
		--etl-lh-right: auto;
		--etl-lh-bottom: auto;
		--etl-lh-left: 50%;
		--etl-lh-w: var(--etl-connector-line-width);
		--etl-lh-h: var(--etl-line-gap);
		--etl-lh-tf: translateX(-50%);
	}

	.etl-tablet-sides-alternate .etl-timeline .etl-item:nth-child(odd),
	.etl-tablet-sides-start .etl-timeline .etl-item {
		--etl-col: 1;
		--etl-just: flex-end;
		--etl-pl: 0px;
		--etl-pr: var(--etl-line-gap);
		--etl-row: 1;
		--etl-align: flex-end;
		--etl-pt: 0px;
		--etl-pb: var(--etl-line-gap);
		--etl-dcol: 2;
		--etl-djust: flex-start;
		--etl-dpl: var(--etl-date-offset);
		--etl-dpr: 0px;
		--etl-drow: 2;
		--etl-dalign: flex-start;
		--etl-dpt: var(--etl-date-offset);
		--etl-dpb: 0px;
		--etl-anim-sign: -1;
		--etl-cv-top: 50%;
		--etl-cv-right: 0px;
		--etl-cv-bottom: auto;
		--etl-cv-left: auto;
		--etl-cv-tf: translate(50%, -50%) rotate(45deg);
		--etl-ch-top: auto;
		--etl-ch-right: auto;
		--etl-ch-bottom: 0px;
		--etl-ch-left: 50%;
		--etl-ch-tf: translate(-50%, 50%) rotate(45deg);
		--etl-lv-top: 50%;
		--etl-lv-right: 0px;
		--etl-lv-bottom: auto;
		--etl-lv-left: auto;
		--etl-lv-w: var(--etl-line-gap);
		--etl-lv-h: var(--etl-connector-line-width);
		--etl-lv-tf: translateY(-50%);
		--etl-lh-top: auto;
		--etl-lh-right: auto;
		--etl-lh-bottom: 0px;
		--etl-lh-left: 50%;
		--etl-lh-w: var(--etl-connector-line-width);
		--etl-lh-h: var(--etl-line-gap);
		--etl-lh-tf: translateX(-50%);
	}


	.etl-tablet-arrows-yes .etl-arrow {
		display: inline-flex;
	}

	.etl-tablet-arrows-no .etl-arrow {
		display: none;
	}

	.etl-tablet-dots-yes .etl-dots {
		display: flex;
	}

	.etl-tablet-dots-no .etl-dots {
		display: none;
	}
}
@media (max-width: 767px) {
	.etl-mobile-orientation-vertical {
		--etl-mode: vertical;
		--etl-track-dir: column;
		--etl-track-h: auto;
		--etl-vp-h: var(--etl-vmode-h, auto);
		--etl-vp-overflow: var(--etl-vmode-overflow, hidden);
		--etl-item-flex: 0 0 auto;
		--etl-item-h: auto;
		--etl-gtc: var(--etl-line-pos) minmax(0, 1fr);
		--etl-gtr: auto;

		--etl-line-top: 0;
		--etl-line-right: auto;
		--etl-line-bottom: 0;
		--etl-line-left: var(--etl-line-pos);
		--etl-line-w: var(--etl-line-width);
		--etl-line-h: auto;
		--etl-line-tf: translateX(-50%);
		--etl-progress-w: 100%;
		--etl-progress-h: var(--etl-progress);
		--etl-dash-dir: to bottom;

		--etl-marker-left: var(--etl-line-pos);
		--etl-marker-top: 50%;






		--etl-prev-x: 50%;
		--etl-prev-y: 0%;
		--etl-next-x: 50%;
		--etl-next-y: 100%;
		--etl-arrows-x: 50%;
		--etl-arrows-y: 100%;
	}

	.etl-mobile-orientation-vertical .etl-item {
		--etl-cw-col: var(--etl-col);
		--etl-cw-row: 1;
		--etl-cw-just: var(--etl-just);
		--etl-cw-align: stretch;
		--etl-cw-pt: 0px;
		--etl-cw-pr: var(--etl-pr);
		--etl-cw-pb: 0px;
		--etl-cw-pl: var(--etl-pl);
		--etl-do-col: var(--etl-dcol);
		--etl-do-row: 1;
		--etl-do-just: var(--etl-djust);
		--etl-do-align: center;
		--etl-do-pt: 0px;
		--etl-do-pr: var(--etl-dpr);
		--etl-do-pb: 0px;
		--etl-do-pl: var(--etl-dpl);
		--etl-conn-top: var(--etl-cv-top);
		--etl-conn-right: var(--etl-cv-right);
		--etl-conn-bottom: var(--etl-cv-bottom);
		--etl-conn-left: var(--etl-cv-left);
		--etl-conn-tf: var(--etl-cv-tf);
		--etl-cl-top: var(--etl-lv-top);
		--etl-cl-right: var(--etl-lv-right);
		--etl-cl-bottom: var(--etl-lv-bottom);
		--etl-cl-left: var(--etl-lv-left);
		--etl-cl-w: var(--etl-lv-w);
		--etl-cl-h: var(--etl-lv-h);
		--etl-cl-tf: var(--etl-lv-tf);
		--etl-anim-x: calc(var(--etl-anim-sign, 1) * var(--etl-anim-distance));
		--etl-anim-y: 0px;
	}

	.etl-mobile-orientation-horizontal {
		--etl-mode: horizontal;
		--etl-track-dir: row;
		--etl-track-h: 100%;
		--etl-vp-h: var(--etl-viewport-h, 520px);
		--etl-vp-overflow: hidden;
		--etl-item-flex: 0 0 calc((100% - (var(--etl-per-view) - 1) * var(--etl-item-gap)) / var(--etl-per-view));
		--etl-item-h: 100%;
		--etl-gtc: minmax(0, 1fr);
		--etl-gtr: var(--etl-line-pos) minmax(0, 1fr);

		--etl-line-top: var(--etl-line-pos);
		--etl-line-right: 0;
		--etl-line-bottom: auto;
		--etl-line-left: 0;
		--etl-line-w: auto;
		--etl-line-h: var(--etl-line-width);
		--etl-line-tf: translateY(-50%);
		--etl-progress-w: var(--etl-progress);
		--etl-progress-h: 100%;
		--etl-dash-dir: to right;

		--etl-marker-left: 50%;
		--etl-marker-top: var(--etl-line-pos);






		--etl-prev-x: 0%;
		--etl-prev-y: 50%;
		--etl-next-x: 100%;
		--etl-next-y: 50%;
		--etl-arrows-x: 50%;
		--etl-arrows-y: 100%;
	}

	.etl-mobile-orientation-horizontal .etl-item {
		--etl-cw-col: 1;
		--etl-cw-row: var(--etl-row);
		--etl-cw-just: center;
		--etl-cw-align: var(--etl-align);
		--etl-cw-pt: var(--etl-pt);
		--etl-cw-pr: 0px;
		--etl-cw-pb: var(--etl-pb);
		--etl-cw-pl: 0px;
		--etl-do-col: 1;
		--etl-do-row: var(--etl-drow);
		--etl-do-just: center;
		--etl-do-align: var(--etl-dalign);
		--etl-do-pt: var(--etl-dpt);
		--etl-do-pr: 0px;
		--etl-do-pb: var(--etl-dpb);
		--etl-do-pl: 0px;
		--etl-conn-top: var(--etl-ch-top);
		--etl-conn-right: var(--etl-ch-right);
		--etl-conn-bottom: var(--etl-ch-bottom);
		--etl-conn-left: var(--etl-ch-left);
		--etl-conn-tf: var(--etl-ch-tf);
		--etl-cl-top: var(--etl-lh-top);
		--etl-cl-right: var(--etl-lh-right);
		--etl-cl-bottom: var(--etl-lh-bottom);
		--etl-cl-left: var(--etl-lh-left);
		--etl-cl-w: var(--etl-lh-w);
		--etl-cl-h: var(--etl-lh-h);
		--etl-cl-tf: var(--etl-lh-tf);
		--etl-anim-x: 0px;
		--etl-anim-y: calc(var(--etl-anim-sign, 1) * var(--etl-anim-distance));
	}

	.etl-mobile-imgpos-top .etl-card {
		--etl-card-dir: column;
		--etl-card-cross: var(--etl-card-align);
	}

	.etl-mobile-imgpos-bottom .etl-card {
		--etl-card-dir: column-reverse;
		--etl-card-cross: var(--etl-card-align);
	}

	.etl-mobile-imgpos-left .etl-card {
		--etl-card-dir: row;
		--etl-card-cross: flex-start;
	}

	.etl-mobile-imgpos-right .etl-card {
		--etl-card-dir: row-reverse;
		--etl-card-cross: flex-start;
	}

	.etl-mobile-sides-alternate .etl-timeline .etl-track .etl-item:nth-child(even),
	.etl-mobile-sides-end .etl-timeline .etl-track .etl-item {
		--etl-col: 2;
		--etl-just: flex-start;
		--etl-pl: var(--etl-line-gap);
		--etl-pr: 0px;
		--etl-row: 2;
		--etl-align: flex-start;
		--etl-pt: var(--etl-line-gap);
		--etl-pb: 0px;
		--etl-dcol: 1;
		--etl-djust: flex-end;
		--etl-dpl: 0px;
		--etl-dpr: var(--etl-date-offset);
		--etl-drow: 1;
		--etl-dalign: flex-end;
		--etl-dpt: 0px;
		--etl-dpb: var(--etl-date-offset);
		--etl-anim-sign: 1;
		--etl-cv-top: 50%;
		--etl-cv-right: auto;
		--etl-cv-bottom: auto;
		--etl-cv-left: 0px;
		--etl-cv-tf: translate(-50%, -50%) rotate(45deg);
		--etl-ch-top: 0px;
		--etl-ch-right: auto;
		--etl-ch-bottom: auto;
		--etl-ch-left: 50%;
		--etl-ch-tf: translate(-50%, -50%) rotate(45deg);
		--etl-lv-top: 50%;
		--etl-lv-right: auto;
		--etl-lv-bottom: auto;
		--etl-lv-left: 0px;
		--etl-lv-w: var(--etl-line-gap);
		--etl-lv-h: var(--etl-connector-line-width);
		--etl-lv-tf: translateY(-50%);
		--etl-lh-top: 0px;
		--etl-lh-right: auto;
		--etl-lh-bottom: auto;
		--etl-lh-left: 50%;
		--etl-lh-w: var(--etl-connector-line-width);
		--etl-lh-h: var(--etl-line-gap);
		--etl-lh-tf: translateX(-50%);
	}

	.etl-mobile-sides-alternate .etl-timeline .etl-track .etl-item:nth-child(odd),
	.etl-mobile-sides-start .etl-timeline .etl-track .etl-item {
		--etl-col: 1;
		--etl-just: flex-end;
		--etl-pl: 0px;
		--etl-pr: var(--etl-line-gap);
		--etl-row: 1;
		--etl-align: flex-end;
		--etl-pt: 0px;
		--etl-pb: var(--etl-line-gap);
		--etl-dcol: 2;
		--etl-djust: flex-start;
		--etl-dpl: var(--etl-date-offset);
		--etl-dpr: 0px;
		--etl-drow: 2;
		--etl-dalign: flex-start;
		--etl-dpt: var(--etl-date-offset);
		--etl-dpb: 0px;
		--etl-anim-sign: -1;
		--etl-cv-top: 50%;
		--etl-cv-right: 0px;
		--etl-cv-bottom: auto;
		--etl-cv-left: auto;
		--etl-cv-tf: translate(50%, -50%) rotate(45deg);
		--etl-ch-top: auto;
		--etl-ch-right: auto;
		--etl-ch-bottom: 0px;
		--etl-ch-left: 50%;
		--etl-ch-tf: translate(-50%, 50%) rotate(45deg);
		--etl-lv-top: 50%;
		--etl-lv-right: 0px;
		--etl-lv-bottom: auto;
		--etl-lv-left: auto;
		--etl-lv-w: var(--etl-line-gap);
		--etl-lv-h: var(--etl-connector-line-width);
		--etl-lv-tf: translateY(-50%);
		--etl-lh-top: auto;
		--etl-lh-right: auto;
		--etl-lh-bottom: 0px;
		--etl-lh-left: 50%;
		--etl-lh-w: var(--etl-connector-line-width);
		--etl-lh-h: var(--etl-line-gap);
		--etl-lh-tf: translateX(-50%);
	}


	.etl-mobile-arrows-yes .etl-arrow {
		display: inline-flex;
	}

	.etl-mobile-arrows-no .etl-arrow {
		display: none;
	}

	.etl-mobile-dots-yes .etl-dots {
		display: flex;
	}

	.etl-mobile-dots-no .etl-dots {
		display: none;
	}
}

/* Per item side override. */
.etl-timeline .etl-track .etl-item.etl-item.etl-item.etl-force-end {
	--etl-col: 2;
	--etl-just: flex-start;
	--etl-pl: var(--etl-line-gap);
	--etl-pr: 0px;
	--etl-row: 2;
	--etl-align: flex-start;
	--etl-pt: var(--etl-line-gap);
	--etl-pb: 0px;
	--etl-dcol: 1;
	--etl-djust: flex-end;
	--etl-dpl: 0px;
	--etl-dpr: var(--etl-date-offset);
	--etl-drow: 1;
	--etl-dalign: flex-end;
	--etl-dpt: 0px;
	--etl-dpb: var(--etl-date-offset);
	--etl-anim-sign: 1;
	--etl-cv-top: 50%;
	--etl-cv-right: auto;
	--etl-cv-bottom: auto;
	--etl-cv-left: 0px;
	--etl-cv-tf: translate(-50%, -50%) rotate(45deg);
	--etl-ch-top: 0px;
	--etl-ch-right: auto;
	--etl-ch-bottom: auto;
	--etl-ch-left: 50%;
	--etl-ch-tf: translate(-50%, -50%) rotate(45deg);
	--etl-lv-top: 50%;
	--etl-lv-right: auto;
	--etl-lv-bottom: auto;
	--etl-lv-left: 0px;
	--etl-lv-w: var(--etl-line-gap);
	--etl-lv-h: var(--etl-connector-line-width);
	--etl-lv-tf: translateY(-50%);
	--etl-lh-top: 0px;
	--etl-lh-right: auto;
	--etl-lh-bottom: auto;
	--etl-lh-left: 50%;
	--etl-lh-w: var(--etl-connector-line-width);
	--etl-lh-h: var(--etl-line-gap);
	--etl-lh-tf: translateX(-50%);
}

.etl-timeline .etl-track .etl-item.etl-item.etl-item.etl-force-start {
	--etl-col: 1;
	--etl-just: flex-end;
	--etl-pl: 0px;
	--etl-pr: var(--etl-line-gap);
	--etl-row: 1;
	--etl-align: flex-end;
	--etl-pt: 0px;
	--etl-pb: var(--etl-line-gap);
	--etl-dcol: 2;
	--etl-djust: flex-start;
	--etl-dpl: var(--etl-date-offset);
	--etl-dpr: 0px;
	--etl-drow: 2;
	--etl-dalign: flex-start;
	--etl-dpt: var(--etl-date-offset);
	--etl-dpb: 0px;
	--etl-anim-sign: -1;
	--etl-cv-top: 50%;
	--etl-cv-right: 0px;
	--etl-cv-bottom: auto;
	--etl-cv-left: auto;
	--etl-cv-tf: translate(50%, -50%) rotate(45deg);
	--etl-ch-top: auto;
	--etl-ch-right: auto;
	--etl-ch-bottom: 0px;
	--etl-ch-left: 50%;
	--etl-ch-tf: translate(-50%, 50%) rotate(45deg);
	--etl-lv-top: 50%;
	--etl-lv-right: 0px;
	--etl-lv-bottom: auto;
	--etl-lv-left: auto;
	--etl-lv-w: var(--etl-line-gap);
	--etl-lv-h: var(--etl-connector-line-width);
	--etl-lv-tf: translateY(-50%);
	--etl-lh-top: auto;
	--etl-lh-right: auto;
	--etl-lh-bottom: 0px;
	--etl-lh-left: 50%;
	--etl-lh-w: var(--etl-connector-line-width);
	--etl-lh-h: var(--etl-line-gap);
	--etl-lh-tf: translateX(-50%);
}

/* ---------------------------------------------------------------------------
 * Dot paging. With more than one item per view the last items share the final
 * position, so the script hides the dots beyond it. Declared last to win over
 * the per breakpoint display rules above.
 * ------------------------------------------------------------------------ */
.etl-dot[hidden] {
	display: none;
}

.etl-dots.etl-dots--single {
	display: none;
}
