/* Timeline CSS */

:root {
	--timeline-line-color: rgba(0, 0, 0, 0.1);
	--timeline-line-width: 4px;
	--timeline-icon-size: 20px;
	--timeline-icon-padding: calc(0.3 * var(--timeline-icon-size));
	--timeline-item-container-padding: 40px;
}

.timeline-container {
	position: relative;
}

.timeline-container>.timeline-line {
	position: absolute;
	height: 100%;
	width: var(--timeline-line-width);
	background-color: var(--timeline-line-color);
	border-color: var(--timeline-line-color);
	border-style: none;
}

.timeline-container>.timeline-line::after {
	content: '';
	height: calc(var(--timeline-line-width) * 4);
	width: calc(var(--timeline-line-width) * 4);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 100%);
	background-color: inherit;
	border-radius: 50%;
}

.timeline-align-right>.timeline-line {
	left: calc(var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width) / 2);
	transform: none;
}

.timeline-align-left>.timeline-line {
	left: calc(100% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width));
	transform: translateX(-50%);
}

.timeline-align-right-alternate>.timeline-line,
.timeline-align-left-alternate>.timeline-line {
	left: 50%;
	transform: translateX(-50%);
}

.timeline-align-right>div:nth-child(n)>.timeline-item-container {
	position: relative;
	width: auto;
	left: 0;
	padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2 + var(--timeline-item-container-padding));
	padding-right: 0;
}

.timeline-align-left>div:nth-child(n)>.timeline-item-container {
	position: relative;
	width: auto;
	left: 0;
	padding-right: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2 + var(--timeline-item-container-padding));
	padding-left: 0;
}

.timeline-align-right-alternate>div:nth-child(even)>.timeline-item-container {
	position: relative;
	width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
	left: 50%;
	padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) + var(--timeline-item-container-padding));
	padding-right: 0;
}

.timeline-align-right-alternate>div:nth-child(odd)>.timeline-item-container {
	position: relative;
	width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
	left: 0;

	padding-left: 0;
}

.timeline-align-left-alternate>div:nth-child(even)>.timeline-item-container {
	position: relative;
	width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
	left: 0;

	padding-left: 0;
}

.timeline-align-left-alternate>div:nth-child(odd)>.timeline-item-container {
	position: relative;
	width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
	left: 50%;
	padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) + var(--timeline-item-container-padding));
	padding-right: 0;
}

.timeline-container>div>.el-timeline-icon {
	position: absolute;
	background-color: #fff;
	border-radius: 50%;
	border-width: var(--timeline-line-width);
	padding: var(--timeline-icon-padding);
	border-style: solid;
}

.timeline-align-right>div>.el-timeline-icon {
	left: 0;
}

.timeline-align-left>div>.el-timeline-icon {
	left: calc(100% - (var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2);
}

.timeline-align-right-alternate>div>.el-timeline-icon,
.timeline-align-left-alternate>div>.el-timeline-icon {
	left: calc(50% - var(--timeline-icon-size) - var(--timeline-line-width) - var(--timeline-icon-padding));
}

.timeline-align-right>div>.timeline-icon-default,
.timeline-align-left-alternate>div>.timeline-icon-default,
.timeline-align-right-alternate>div>.timeline-icon-default {
	margin-left: var(--timeline-icon-size);
}

.timeline-align-left>div>.timeline-icon-default {
	margin-left: var(--timeline-icon-size);
}

@media (min-width: 640px) {
	.timeline-align-right\@s>.timeline-line {
		left: calc(var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width) / 2);
		transform: none;
	}

	.timeline-align-left\@s>.timeline-line {
		left: calc(100% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width));
		transform: translateX(-50%);
	}

	.timeline-align-right-alternate\@s>.timeline-line {
		left: 50%;
		transform: translateX(-50%);
	}

	.timeline-align-left-alternate\@s>.timeline-line {
		left: 50%;
		transform: translateX(-50%);
	}


	.timeline-align-right\@s>div:nth-child(n)>.timeline-item-container {
		width: auto;
		left: 0;
		padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2 + var(--timeline-item-container-padding));
		padding-right: 0;
	}

	.timeline-align-left\@s>div:nth-child(n)>.timeline-item-container {
		width: auto;
		left: 0;
		padding-right: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2 + var(--timeline-item-container-padding));
		padding-left: 0;
	}

	.timeline-align-right-alternate\@s>div:nth-child(even)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 50%;
		padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) + var(--timeline-item-container-padding));
		padding-right: 0;
	}

	.timeline-align-right-alternate\@s>div:nth-child(odd)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 0;

		padding-left: 0;
	}

	.timeline-align-left-alternate\@s>div:nth-child(even)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 0;

		padding-left: 0;
	}

	.timeline-align-left-alternate\@s>div:nth-child(odd)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 50%;
		padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) + var(--timeline-item-container-padding));
		padding-right: 0;
	}

	.timeline-align-right\@s>div>.el-timeline-icon {
		left: 0;
	}

	.timeline-align-left\@s>div>.el-timeline-icon {
		left: calc(100% - (var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2);
	}

	.timeline-align-right-alternate\@s>div>.el-timeline-icon,
	.timeline-align-left-alternate\@s>div>.el-timeline-icon {
		left: calc(50% - var(--timeline-icon-size) - var(--timeline-line-width) - var(--timeline-icon-padding));
	}

	.timeline-align-right\@s>div>.timeline-icon-default,
	.timeline-align-left-alternate\@s>div>.timeline-icon-default,
	.timeline-align-right-alternate\@s>div>.timeline-icon-default {
		margin-left: var(--timeline-icon-size);
	}

	.timeline-align-left\@s>div>.timeline-icon-default {
		margin-left: var(--timeline-icon-size);
	}
}

@media (min-width: 960px) {

	.timeline-align-right\@m>.timeline-line {
		left: calc(var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width) / 2);
		transform: none;
	}

	.timeline-align-left\@m>.timeline-line {
		left: calc(100% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width));
		transform: translateX(-50%);
	}

	.timeline-align-right-alternate\@m>.timeline-line {
		left: 50%;
		transform: translateX(-50%);
	}

	.timeline-align-left-alternate\@m>.timeline-line {
		left: 50%;
		transform: translateX(-50%);
	}


	.timeline-align-right\@m>div:nth-child(n)>.timeline-item-container {
		width: auto;
		left: 0;
		padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2 + var(--timeline-item-container-padding));
		padding-right: 0;
	}

	.timeline-align-left\@m>div:nth-child(n)>.timeline-item-container {
		width: auto;
		left: 0;
		padding-right: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2 + var(--timeline-item-container-padding));
		padding-left: 0;
	}

	.timeline-align-right-alternate\@m>div:nth-child(even)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 50%;
		padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) + var(--timeline-item-container-padding));
		padding-right: 0;
	}

	.timeline-align-right-alternate\@m>div:nth-child(odd)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 0;

		padding-left: 0;
	}

	.timeline-align-left-alternate\@m>div:nth-child(even)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 0;

		padding-left: 0;
	}

	.timeline-align-left-alternate\@m>div:nth-child(odd)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 50%;
		padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) + var(--timeline-item-container-padding));
		padding-right: 0;
	}

	.timeline-align-right\@m>div>.el-timeline-icon {
		left: 0;
	}

	.timeline-align-left\@m>div>.el-timeline-icon {
		left: calc(100% - (var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2);
	}

	.timeline-align-right-alternate\@m>div>.el-timeline-icon,
	.timeline-align-left-alternate\@m>div>.el-timeline-icon {
		left: calc(50% - var(--timeline-icon-size) - var(--timeline-line-width) - var(--timeline-icon-padding));
	}

	.timeline-align-right\@m>div>.timeline-icon-default,
	.timeline-align-left-alternate\@m>div>.timeline-icon-default,
	.timeline-align-right-alternate\@m>div>.timeline-icon-default {
		margin-left: var(--timeline-icon-size);
	}

	.timeline-align-left\@m>div>.timeline-icon-default {
		margin-left: var(--timeline-icon-size);
	}
}

@media (min-width: 1200px) {

	.timeline-align-right\@l>.timeline-line {
		left: calc(var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width) / 2);
		transform: none;
	}

	.timeline-align-left\@l>.timeline-line {
		left: calc(100% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width));
		transform: translateX(-50%);
	}

	.timeline-align-right-alternate\@l>.timeline-line {
		left: 50%;
		transform: translateX(-50%);
	}

	.timeline-align-left-alternate\@l>.timeline-line {
		left: 50%;
		transform: translateX(-50%);
	}


	.timeline-align-right\@l>div:nth-child(n)>.timeline-item-container {
		width: auto;
		left: 0;
		padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2 + var(--timeline-item-container-padding));
		padding-right: 0;
	}

	.timeline-align-left\@l>div:nth-child(n)>.timeline-item-container {
		width: auto;
		left: 0;
		padding-right: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2 + var(--timeline-item-container-padding));
		padding-left: 0;
	}

	.timeline-align-right-alternate\@l>div:nth-child(even)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 50%;
		padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) + var(--timeline-item-container-padding));
		padding-right: 0;
	}

	.timeline-align-right-alternate\@l>div:nth-child(odd)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 0;

		padding-left: 0;
	}

	.timeline-align-left-alternate\@l>div:nth-child(even)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 0;

		padding-left: 0;
	}

	.timeline-align-left-alternate\@l>div:nth-child(odd)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 50%;
		padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) + var(--timeline-item-container-padding));
		padding-right: 0;
	}

	.timeline-align-right\@l>div>.el-timeline-icon {
		left: 0;
	}

	.timeline-align-left\@l>div>.el-timeline-icon {
		left: calc(100% - (var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2);
	}

	.timeline-align-right-alternate\@l>div>.el-timeline-icon,
	.timeline-align-left-alternate\@l>div>.el-timeline-icon {
		left: calc(50% - var(--timeline-icon-size) - var(--timeline-line-width) - var(--timeline-icon-padding));
	}

	.timeline-align-right\@l>div>.timeline-icon-default,
	.timeline-align-left-alternate\@l>div>.timeline-icon-default,
	.timeline-align-right-alternate\@l>div>.timeline-icon-default {
		margin-left: var(--timeline-icon-size);
	}

	.timeline-align-left\@l>div>.timeline-icon-default {
		margin-left: var(--timeline-icon-size);
	}
}

@media (min-width: 1600px) {

	.timeline-align-right\@xl>.timeline-line {
		left: calc(var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width) / 2);
		transform: none;
	}

	.timeline-align-left\@xl>.timeline-line {
		left: calc(100% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width));
		transform: translateX(-50%);
	}

	.timeline-align-right-alternate\@xl>.timeline-line {
		left: 50%;
		transform: translateX(-50%);
	}

	.timeline-align-left-alternate\@xl>.timeline-line {
		left: 50%;
		transform: translateX(-50%);
	}

	.timeline-align-right\@xl>div:nth-child(n)>.timeline-item-container {
		width: auto;
		left: 0;
		padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2 + var(--timeline-item-container-padding));
		padding-right: 0;
	}

	.timeline-align-left\@xl>div:nth-child(n)>.timeline-item-container {
		width: auto;
		left: 0;
		padding-right: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2 + var(--timeline-item-container-padding));
		padding-left: 0;
	}

	.timeline-align-right-alternate\@xl>div:nth-child(even)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 50%;
		padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) + var(--timeline-item-container-padding));
		padding-right: 0;
	}

	.timeline-align-right-alternate\@xl>div:nth-child(odd)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 0;

		padding-left: 0;
	}

	.timeline-align-left-alternate\@xl>div:nth-child(even)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 0;

		padding-left: 0;
	}

	.timeline-align-left-alternate\@xl>div:nth-child(odd)>.timeline-item-container {
		width: calc(50% - var(--timeline-icon-size) - var(--timeline-icon-padding) - var(--timeline-line-width) - var(--timeline-item-container-padding));
		left: 50%;
		padding-left: calc((var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) + var(--timeline-item-container-padding));
		padding-right: 0;
	}

	.timeline-align-right\@xl>div>.el-timeline-icon {
		left: 0;
	}

	.timeline-align-left\@xl>div>.el-timeline-icon {
		left: calc(100% - (var(--timeline-icon-size) + var(--timeline-icon-padding) + var(--timeline-line-width)) * 2);
	}

	.timeline-align-right-alternate\@xl>div>.el-timeline-icon,
	.timeline-align-left-alternate\@xl>div>.el-timeline-icon {
		left: calc(50% - var(--timeline-icon-size) - var(--timeline-line-width) - var(--timeline-icon-padding));
	}

	.timeline-align-right\@xl>div>.timeline-icon-default,
	.timeline-align-left-alternate\@xl>div>.timeline-icon-default,
	.timeline-align-right-alternate\@xl>div>.timeline-icon-default {
		margin-left: var(--timeline-icon-size);
	}

	.timeline-align-left\@xl>div>.timeline-icon-default {
		margin-left: var(--timeline-icon-size);
	}
}