/**
 * EK Timeline — vertical + horizontal layouts, markers, reveal.
 *
 * BEM: .ekfa-timeline*
 * Horizontal strip: shared .ekfa-carousel utility (do not duplicate).
 */

.ekfa-timeline {
	--ekfa-tl-line-color: currentColor;
	--ekfa-tl-marker-color: var(--ekfa-tl-accent, currentColor);
	--ekfa-tl-marker-color-hover: var(--ekfa-tl-marker-color);
	--ekfa-tl-marker-border: var(--ekfa-tl-marker-color);
	--ekfa-tl-marker-border-hover: var(--ekfa-tl-marker-border);
	--ekfa-tl-marker-size: 16px;
	/* Rail size stays on the root only — never override per item — so the line
	   and every marker (any size) share one center axis. */
	--ekfa-tl-rail-size: var(--ekfa-tl-marker-size);
	--ekfa-tl-rail-center: calc(var(--ekfa-tl-rail-size) / 2);
	--ekfa-tl-marker-border-width: 2px;
	--ekfa-tl-line-thickness: 2px;
	--ekfa-tl-spacing: 32px;
	--ekfa-tl-card-bg: transparent;
	--ekfa-tl-card-bg-hover: var(--ekfa-tl-card-bg);
	--ekfa-tl-label-color: var(--ekfa-tl-accent, inherit);
	--ekfa-tl-title-color: inherit;
	--ekfa-tl-title-color-hover: var(--ekfa-tl-title-color);
	--ekfa-tl-label-size: 0.85em;
	--ekfa-tl-label-line-height: 1.3;
	--ekfa-tl-label-letter-spacing: 0.02em;
	--ekfa-tl-label-transform: none;
	--ekfa-tl-title-size: 1.15em;
	--ekfa-tl-title-line-height: 1.3;
	--ekfa-tl-title-letter-spacing: normal;
	--ekfa-tl-title-transform: none;
	--ekfa-tl-arrow-color: inherit;
	--ekfa-tl-arrow-color-hover: var(--ekfa-tl-arrow-color);
	--ekfa-tl-arrow-size: 36px;
	--ekfa-arrow-border-width: 1px;
	--ekfa-arrow-border-style: solid;
	--ekfa-arrow-border-color: currentColor;
	--ekfa-arrow-border-color-hover: var(--ekfa-arrow-border-color);
	--ekfa-arrow-border-radius: 18px;
	position: relative;
	width: 100%;
}

.ekfa-timeline--empty,
.ekfa-timeline__editor-warning {
	padding: 0.75rem 1rem;
	border: 1px dashed currentColor;
	opacity: 0.85;
	font-size: 0.9em;
}

.ekfa-timeline__list {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.ekfa-timeline__item {
	position: relative;
	margin: 0;
	padding: 0;
}

.ekfa-timeline .ekfa-carousel__btn {
	width: var(--ekfa-tl-arrow-size);
	height: var(--ekfa-tl-arrow-size);
	color: var(--ekfa-tl-arrow-color);
	/* Keep default glyph ~16px at the 36px arrow size (legacy 2.25rem button). */
	font-size: calc(var(--ekfa-tl-arrow-size) / 2.25);
	border-width: var(--ekfa-arrow-border-width, 1px);
	border-style: var(--ekfa-arrow-border-style, solid);
	border-color: var(--ekfa-arrow-border-color, currentColor);
	border-radius: var(--ekfa-arrow-border-radius, 50%);
}

.ekfa-timeline .ekfa-carousel__btn:hover {
	color: var(--ekfa-tl-arrow-color-hover);
	border-color: var(--ekfa-arrow-border-color-hover, var(--ekfa-arrow-border-color, currentColor));
}

.ekfa-timeline--arrow-filled .ekfa-carousel__btn {
	background: rgba(127, 127, 127, 0.14);
	background: color-mix(in srgb, currentColor 14%, transparent);
}

.ekfa-timeline--arrow-filled .ekfa-carousel__btn:hover {
	background: rgba(127, 127, 127, 0.22);
	background: color-mix(in srgb, currentColor 22%, transparent);
}

.ekfa-timeline--arrow-outline .ekfa-carousel__btn {
	background: transparent;
}

.ekfa-timeline--arrow-outline:not(.ekfa-timeline--arrow-border-custom) .ekfa-carousel__btn {
	border-color: currentColor;
}

.ekfa-timeline--arrow-outline:not(.ekfa-timeline--arrow-border-custom):not(.ekfa-timeline--arrow-border-hover-custom) .ekfa-carousel__btn:hover {
	border-color: currentColor;
}

.ekfa-timeline--arrow-outline.ekfa-timeline--arrow-border-hover-custom .ekfa-carousel__btn:hover {
	border-color: var(--ekfa-arrow-border-color-hover);
}

.ekfa-timeline .ekfa-carousel__btn i,
.ekfa-timeline .ekfa-carousel__btn span {
	font-size: inherit;
	line-height: 1;
}

.ekfa-timeline__marker {
	position: absolute;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--ekfa-tl-marker-size);
	height: var(--ekfa-tl-marker-size);
	color: var(--ekfa-tl-marker-color);
	line-height: 1;
	pointer-events: none;
}

.ekfa-timeline__item--linked:hover .ekfa-timeline__marker,
.ekfa-timeline__item--linked:focus-within .ekfa-timeline__marker {
	color: var(--ekfa-tl-marker-color-hover);
}

.ekfa-timeline__marker-dot {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: var(--ekfa-tl-marker-color);
	border: var(--ekfa-tl-marker-border-width) solid var(--ekfa-tl-marker-border);
}

.ekfa-timeline__item--linked:hover .ekfa-timeline__marker-dot,
.ekfa-timeline__item--linked:focus-within .ekfa-timeline__marker-dot {
	background: var(--ekfa-tl-marker-color-hover);
	border-color: var(--ekfa-tl-marker-border-hover);
}

.ekfa-timeline__marker-icon {
	font-size: calc(var(--ekfa-tl-marker-size) * 0.65);
	line-height: 1;
}

.ekfa-timeline__marker-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	border-radius: 50%;
}

.ekfa-timeline__card {
	background: var(--ekfa-tl-card-bg);
	transition: background-color 0.2s ease;
}

.ekfa-timeline__item:hover .ekfa-timeline__card,
.ekfa-timeline__item:focus-within .ekfa-timeline__card {
	background: var(--ekfa-tl-card-bg-hover);
}

.ekfa-timeline--card-boxed .ekfa-timeline__card {
	padding: 1rem 1.25rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 4px;
}

.ekfa-timeline--card-shadow .ekfa-timeline__card {
	padding: 1rem 1.25rem;
	border-radius: 4px;
	box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
}

.ekfa-timeline__label {
	display: block;
	margin-bottom: 0.35em;
	font-family: var(--ekfa-tl-label-font-family, inherit);
	font-weight: var(--ekfa-tl-label-font-weight, 600);
	font-style: var(--ekfa-tl-label-font-style, inherit);
	font-size: var(--ekfa-tl-label-size);
	line-height: var(--ekfa-tl-label-line-height);
	letter-spacing: var(--ekfa-tl-label-letter-spacing);
	text-transform: var(--ekfa-tl-label-transform);
	color: var(--ekfa-tl-label-color);
}

.ekfa-timeline__title {
	margin: 0 0 0.4em;
	font-family: var(--ekfa-tl-title-font-family, inherit);
	font-weight: var(--ekfa-tl-title-font-weight, inherit);
	font-style: var(--ekfa-tl-title-font-style, inherit);
	font-size: var(--ekfa-tl-title-size);
	line-height: var(--ekfa-tl-title-line-height);
	letter-spacing: var(--ekfa-tl-title-letter-spacing);
	text-transform: var(--ekfa-tl-title-transform);
	color: var(--ekfa-tl-title-color);
}

.ekfa-timeline__title-link {
	color: inherit;
	text-decoration: none;
}

.ekfa-timeline__title-link:hover,
.ekfa-timeline__title-link:focus-visible {
	color: var(--ekfa-tl-title-color-hover);
	text-decoration: underline;
}

.ekfa-timeline__content {
	font-size: 0.95em;
	line-height: 1.55;
}

.ekfa-timeline__content > *:last-child {
	margin-bottom: 0;
}

/* -------------------------------------------------------------------------
   Vertical
   Line is per-item connectors (::after) from this marker center to the next,
   so the first/last marker centers sit on the line tips (no overhang).
   ------------------------------------------------------------------------- */

.ekfa-timeline--vertical .ekfa-timeline__list {
	padding-left: 0;
}

.ekfa-timeline--vertical .ekfa-timeline__item {
	padding-bottom: var(--ekfa-tl-spacing);
}

.ekfa-timeline--vertical .ekfa-timeline__item:last-child {
	padding-bottom: 0;
}

/* Connector: this marker center → next marker center.
   Item padding-bottom is --ekfa-tl-spacing, so bottom:0 is already the next
   item's top — only extend by the next marker's half-height. */
.ekfa-timeline--vertical .ekfa-timeline__item:not(:last-child)::after {
	content: "";
	position: absolute;
	z-index: 1;
	width: var(--ekfa-tl-line-thickness);
	background: var(--ekfa-tl-line-color);
	opacity: 0.45;
	top: calc(var(--ekfa-tl-marker-size) / 2);
	bottom: calc(-1 * var(--ekfa-tl-next-marker-half, var(--ekfa-tl-rail-center)));
	pointer-events: none;
}

.ekfa-timeline--vertical.ekfa-timeline--line-left .ekfa-timeline__item:not(:last-child)::after {
	left: var(--ekfa-tl-rail-center);
	transform: translateX(-50%);
	transform-origin: top center;
}

.ekfa-timeline--vertical.ekfa-timeline--line-right .ekfa-timeline__item:not(:last-child)::after {
	left: auto;
	right: var(--ekfa-tl-rail-center);
	transform: translateX(50%);
	transform-origin: top center;
}

.ekfa-timeline--vertical.ekfa-timeline--line-center .ekfa-timeline__item:not(:last-child)::after {
	left: 50%;
	transform: translateX(-50%);
	transform-origin: top center;
}

/* Center every marker (any size) on the shared rail / line axis. */
.ekfa-timeline--vertical.ekfa-timeline--line-left .ekfa-timeline__marker {
	top: 0;
	left: var(--ekfa-tl-rail-center);
	transform: translateX(-50%);
}

.ekfa-timeline--vertical.ekfa-timeline--line-left .ekfa-timeline__card {
	margin-left: calc(var(--ekfa-tl-rail-center) + (var(--ekfa-tl-marker-size) / 2) + 1rem);
}

.ekfa-timeline--vertical.ekfa-timeline--line-right .ekfa-timeline__marker {
	top: 0;
	left: auto;
	right: var(--ekfa-tl-rail-center);
	transform: translateX(50%);
}

.ekfa-timeline--vertical.ekfa-timeline--line-right .ekfa-timeline__card {
	margin-right: calc(var(--ekfa-tl-rail-center) + (var(--ekfa-tl-marker-size) / 2) + 1rem);
	margin-left: 0;
	text-align: right;
}

.ekfa-timeline--vertical.ekfa-timeline--line-center .ekfa-timeline__marker {
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.ekfa-timeline--vertical.ekfa-timeline--line-center .ekfa-timeline__item--side-right .ekfa-timeline__card {
	width: calc(50% - (var(--ekfa-tl-marker-size) / 2) - 1rem);
	margin-left: calc(50% + (var(--ekfa-tl-marker-size) / 2) + 0.75rem);
}

.ekfa-timeline--vertical.ekfa-timeline--line-center .ekfa-timeline__item--side-left .ekfa-timeline__card {
	width: calc(50% - (var(--ekfa-tl-marker-size) / 2) - 1rem);
	margin-right: calc(50% + (var(--ekfa-tl-marker-size) / 2) + 0.75rem);
	margin-left: 0;
	text-align: right;
}

.ekfa-timeline--vertical.ekfa-timeline--line-center:not(.ekfa-timeline--alternate) .ekfa-timeline__card {
	width: calc(50% - (var(--ekfa-tl-marker-size) / 2) - 1rem);
	margin-left: calc(50% + (var(--ekfa-tl-marker-size) / 2) + 0.75rem);
	margin-right: 0;
	text-align: left;
}

/* Center → left-line collapse: instance <style> in PHP (Avada visibility_medium). */

/* -------------------------------------------------------------------------
   Horizontal (shared carousel)
   First marker at line start, last at line end, middles centered.
   ------------------------------------------------------------------------- */

.ekfa-timeline--horizontal .ekfa-carousel {
	align-items: stretch;
}

.ekfa-timeline--horizontal .ekfa-carousel__track.ekfa-timeline__list {
	align-items: stretch;
	padding: 0.5rem 0;
}

.ekfa-timeline--horizontal .ekfa-timeline__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: 1fr auto 1fr;
	align-items: stretch;
	min-height: 0;
	padding: 0;
}

.ekfa-timeline--horizontal .ekfa-timeline__item::before {
	content: "";
	grid-row: 2;
	grid-column: 1;
	align-self: center;
	justify-self: start;
	height: var(--ekfa-tl-line-thickness);
	background: var(--ekfa-tl-line-color);
	opacity: 0.45;
	z-index: 1;
	pointer-events: none;
	transform-origin: left center;
}

/*
 * One connector per gap: this marker center → next marker center (same idea as
 * vertical). Avoids the old half+half draw between two dots.
 * % widths are this slide’s width; equal flex basis makes that match the next.
 */
.ekfa-timeline--horizontal .ekfa-timeline__item:last-child::before,
.ekfa-timeline--horizontal .ekfa-timeline__item:only-child::before {
	display: none;
}

/* Exactly 2 items: first (start) → last (end). */
.ekfa-timeline--horizontal .ekfa-timeline__item:first-child:nth-last-child(2)::before {
	margin-left: calc(var(--ekfa-tl-marker-size) / 2);
	width: calc(200% - var(--ekfa-tl-marker-size) + var(--ekfa-carousel-gap, 0.5rem));
}

/* 3+ items: first (start) → next (center). */
.ekfa-timeline--horizontal .ekfa-timeline__item:first-child:not(:nth-last-child(2)):not(:only-child)::before {
	margin-left: calc(var(--ekfa-tl-marker-size) / 2);
	width: calc(150% - (var(--ekfa-tl-marker-size) / 2) + var(--ekfa-carousel-gap, 0.5rem));
}

/* Middle → middle. */
.ekfa-timeline--horizontal .ekfa-timeline__item:not(:first-child):not(:last-child):not(:nth-last-child(2))::before {
	margin-left: 50%;
	width: calc(100% + var(--ekfa-carousel-gap, 0.5rem));
}

/* Middle → last (penultimate when 3+). */
.ekfa-timeline--horizontal .ekfa-timeline__item:nth-last-child(2):not(:first-child)::before {
	margin-left: 50%;
	width: calc(150% - (var(--ekfa-tl-marker-size) / 2) + var(--ekfa-carousel-gap, 0.5rem));
}

.ekfa-timeline--horizontal .ekfa-timeline__marker {
	grid-row: 2;
	grid-column: 1;
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	align-self: center;
	transform: none;
	margin: 0;
	z-index: 2;
	background-color: #fff;
	border-radius: 50%;
}

.ekfa-timeline--horizontal .ekfa-timeline__item:first-child:not(:only-child) .ekfa-timeline__marker {
	justify-self: start;
}

.ekfa-timeline--horizontal .ekfa-timeline__item:last-child:not(:only-child) .ekfa-timeline__marker {
	justify-self: end;
}

.ekfa-timeline--horizontal .ekfa-timeline__item:not(:first-child):not(:last-child) .ekfa-timeline__marker,
.ekfa-timeline--horizontal .ekfa-timeline__item:only-child .ekfa-timeline__marker {
	justify-self: center;
}

.ekfa-timeline--horizontal .ekfa-timeline__card {
	width: 100%;
	min-width: 0;
	padding-bottom: 0.75rem;
	padding-top: 0.75rem;
	text-align: center;
}

.ekfa-timeline--horizontal .ekfa-timeline__item:first-child:not(:only-child) .ekfa-timeline__card {
	text-align: left;
}

.ekfa-timeline--horizontal .ekfa-timeline__item:last-child:not(:only-child) .ekfa-timeline__card {
	text-align: right;
}

.ekfa-timeline--horizontal .ekfa-timeline__item--card-above .ekfa-timeline__card {
	grid-row: 1;
	grid-column: 1;
	align-self: end;
	padding-bottom: 0.75rem;
	padding-top: 0;
}

.ekfa-timeline--horizontal .ekfa-timeline__item--card-below .ekfa-timeline__card {
	grid-row: 3;
	grid-column: 1;
	align-self: start;
	padding-top: 0.75rem;
	padding-bottom: 0;
}

/* -------------------------------------------------------------------------
   Reveal (progressive enhancement):
   Stylesheet alone NEVER hides items. Pre-hide requires .ekfa-timeline--js,
   which a minimal inline boot adds synchronously before first paint when
   animate is on. No JS → no --js → fully visible. Live omits animate.
   ------------------------------------------------------------------------- */

.ekfa-timeline--animate.ekfa-timeline--js .ekfa-timeline__card {
	opacity: 0;
}

.ekfa-timeline--animate-slide.ekfa-timeline--js .ekfa-timeline__card {
	transform: translateY(12px);
}

.ekfa-timeline--animate .ekfa-timeline__item.is-visible .ekfa-timeline__card {
	opacity: 1;
	transform: none;
	transition: opacity 0.45s ease, transform 0.45s ease;
}

.ekfa-timeline--animate.ekfa-timeline--js .ekfa-timeline__marker {
	opacity: 0;
	transform: scale(0.6);
}

.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--js.ekfa-timeline--line-left .ekfa-timeline__marker,
.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--js.ekfa-timeline--line-center .ekfa-timeline__marker {
	transform: translateX(-50%) scale(0.6);
}

.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--js.ekfa-timeline--line-right .ekfa-timeline__marker {
	transform: translateX(50%) scale(0.6);
}

.ekfa-timeline--animate .ekfa-timeline__item.is-marker-in .ekfa-timeline__marker {
	opacity: 1;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.ekfa-timeline--horizontal.ekfa-timeline--animate .ekfa-timeline__item.is-marker-in .ekfa-timeline__marker {
	transform: scale(1);
}

.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-left .ekfa-timeline__item.is-marker-in .ekfa-timeline__marker,
.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-center .ekfa-timeline__item.is-marker-in .ekfa-timeline__marker {
	transform: translateX(-50%) scale(1);
}

.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-right .ekfa-timeline__item.is-marker-in .ekfa-timeline__marker {
	transform: translateX(50%) scale(1);
}

/* Vertical: connector grows top → bottom. */
.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--js .ekfa-timeline__item:not(:last-child)::after {
	transform: translateX(-50%) scaleY(0);
	transform-origin: top center;
	transition: transform 0.45s ease;
}

.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--js.ekfa-timeline--line-right .ekfa-timeline__item:not(:last-child)::after {
	transform: translateX(50%) scaleY(0);
	transform-origin: top center;
}

.ekfa-timeline--vertical.ekfa-timeline--animate .ekfa-timeline__item.is-line-drawn:not(:last-child)::after {
	transform: translateX(-50%) scaleY(1);
}

.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-right .ekfa-timeline__item.is-line-drawn:not(:last-child)::after {
	transform: translateX(50%) scaleY(1);
}

/* Horizontal: segment grows left → right. */
.ekfa-timeline--horizontal.ekfa-timeline--animate.ekfa-timeline--js .ekfa-timeline__item:not(:last-child)::before {
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.45s ease;
}

.ekfa-timeline--horizontal.ekfa-timeline--animate .ekfa-timeline__item.is-line-drawn:not(:last-child)::before {
	transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {
	.ekfa-timeline--animate.ekfa-timeline--js .ekfa-timeline__card,
	.ekfa-timeline--animate .ekfa-timeline__item.is-visible .ekfa-timeline__card,
	.ekfa-timeline--animate.ekfa-timeline--js .ekfa-timeline__marker,
	.ekfa-timeline--animate .ekfa-timeline__item.is-marker-in .ekfa-timeline__marker {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--js.ekfa-timeline--line-left .ekfa-timeline__marker,
	.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--js.ekfa-timeline--line-center .ekfa-timeline__marker,
	.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-left .ekfa-timeline__item.is-marker-in .ekfa-timeline__marker,
	.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-center .ekfa-timeline__item.is-marker-in .ekfa-timeline__marker {
		transform: translateX(-50%);
	}

	.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--js.ekfa-timeline--line-right .ekfa-timeline__marker,
	.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-right .ekfa-timeline__item.is-marker-in .ekfa-timeline__marker {
		transform: translateX(50%);
	}

	.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--js .ekfa-timeline__item:not(:last-child)::after,
	.ekfa-timeline--vertical.ekfa-timeline--animate .ekfa-timeline__item.is-line-drawn:not(:last-child)::after {
		transform: translateX(-50%) scaleY(1);
		transition: none;
	}

	.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--js.ekfa-timeline--line-right .ekfa-timeline__item:not(:last-child)::after,
	.ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-right .ekfa-timeline__item.is-line-drawn:not(:last-child)::after {
		transform: translateX(50%) scaleY(1);
	}

	.ekfa-timeline--horizontal.ekfa-timeline--animate.ekfa-timeline--js .ekfa-timeline__item:not(:last-child)::before,
	.ekfa-timeline--horizontal.ekfa-timeline--animate .ekfa-timeline__item.is-line-drawn:not(:last-child)::before {
		transform: scaleX(1);
		transition: none;
	}

	.ekfa-timeline__card {
		transition: none;
	}
}

/* Live canvas belt-and-suspenders if --animate ever appears without JS. */
body.fusion-builder-live-preview .ekfa-timeline--animate .ekfa-timeline__card,
body.fusion-builder-live-preview .ekfa-timeline--animate .ekfa-timeline__marker,
body.fusion-builder-live-preview-only .ekfa-timeline--animate .ekfa-timeline__card,
body.fusion-builder-live-preview-only .ekfa-timeline--animate .ekfa-timeline__marker {
	opacity: 1;
	transform: none;
	transition: none;
}

body.fusion-builder-live-preview .ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-left .ekfa-timeline__marker,
body.fusion-builder-live-preview .ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-center .ekfa-timeline__marker,
body.fusion-builder-live-preview-only .ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-left .ekfa-timeline__marker,
body.fusion-builder-live-preview-only .ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-center .ekfa-timeline__marker {
	transform: translateX(-50%);
}

body.fusion-builder-live-preview .ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-right .ekfa-timeline__marker,
body.fusion-builder-live-preview-only .ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-right .ekfa-timeline__marker {
	transform: translateX(50%);
}

body.fusion-builder-live-preview .ekfa-timeline--vertical.ekfa-timeline--animate .ekfa-timeline__item:not(:last-child)::after,
body.fusion-builder-live-preview-only .ekfa-timeline--vertical.ekfa-timeline--animate .ekfa-timeline__item:not(:last-child)::after {
	transform: translateX(-50%) scaleY(1);
	transition: none;
}

body.fusion-builder-live-preview .ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-right .ekfa-timeline__item:not(:last-child)::after,
body.fusion-builder-live-preview-only .ekfa-timeline--vertical.ekfa-timeline--animate.ekfa-timeline--line-right .ekfa-timeline__item:not(:last-child)::after {
	transform: translateX(50%) scaleY(1);
}

body.fusion-builder-live-preview .ekfa-timeline--horizontal.ekfa-timeline--animate .ekfa-timeline__item:not(:last-child)::before,
body.fusion-builder-live-preview-only .ekfa-timeline--horizontal.ekfa-timeline--animate .ekfa-timeline__item:not(:last-child)::before {
	transform: scaleX(1);
	transition: none;
}
