.jet-timeline {
	position: relative;
	display: inline-block;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	
	&-item {
		position: relative;
		display: flex;
		flex-wrap: nowrap;
	}
	
	&__line {
		position: absolute;
		width: 2px;
		bottom: 0;
		top: 0;
		transform: translateX(-50%);
		left: 50%;
		overflow: hidden;
		
		&-progress {
			width: 100%;
			height: 20%;
		}
	}
	
	.timeline-item {
		&__card {
			position: relative;
			display: flex;
			flex-direction: column;
			
			&-inner{
				z-index: 1;
			}
			
			&-arrow {
				position: absolute;
				width: 20px;
				height: 20px;
			}

			&-btn-wrap {
				margin-top: 15px;
			}
		}
		
		&__meta {
			display: inline-block;
			
			&-content {
				display: inline-block;
			}
		}
		
		&__point {
			&-content {
				width: 40px;
				height: 40px;
				min-width: 10px;
				min-height: 10px;
				position: relative;
				display: flex;
				align-items: center;
				justify-content: center;
			}
		}
	}
	
	
	&--align-left {
		.timeline-item__point {
			flex-grow: 0;
			order: 0;
		}
		
		.timeline-item__card {
			flex-grow: 1;
			order: 1;
		}
		
		.jet-timeline__line {
			left: 0;
		}
		
		.timeline-item__card-arrow {
			left: 0;
			margin-left: -10px;
			border-top-width: 0!important;
			border-right-width: 0!important;
		}
		
		.timeline-item__meta:empty{
			display: none;
		}
		
		.jet-timeline-item {
			@include getInverseDirection();

			> .timeline-item__meta {
				display: none;
			}
		}
	}
	
	&--align-center {
		@media (min-width: 1025px) {
			.jet-timeline-item:nth-child(even) {
				flex-direction: row-reverse;
				
				.timeline-item__meta {
					text-align: $end;
				}
				
				.timeline-item__card-arrow {
					@include start(0);
					@include margin-start(-10px);
					border-top-width: 0!important;
					border-right-width: 0!important;
				}
			}
			
			.jet-timeline-item:nth-child(odd) {
				.timeline-item__meta {
					text-align: $start;
				}
				
				.timeline-item__card-arrow {
					@include end(0);
					@include margin-end(-10px);
					border-left-width: 0!important;
					border-bottom-width: 0!important;
				}
			}
			
			.timeline-item__meta {
				flex-grow: 1;
				flex-basis: 50%;
				max-width: 50%;
				order: 2;
			}
			
			.timeline-item__point {
				flex-shrink: 0;
				flex-grow: 0;
				order: 1;
			}
			
			.timeline-item__card {
				flex-grow: 1;
				flex-basis: 50%;
				max-width: 50%;
				order: 0;
			}
			
			.jet-timeline__line {
				left: 50%;
				margin: 0 !important;
			}
			
			.timeline-item__card-content {
				> .timeline-item__meta {
					display: none;
				}
			}

			.jet-timeline-item {
				&:not(.jet-timeline-item--image-inside):not(.jet-timeline-item--image-inside_after) {
					.timeline-item {
						&__card {
							
							&-inner {

								> .timeline-item__card-img {
									display: none;
								}
							}
						}
					}
				}
			}
		}
		
		@media (max-width: 1024px) {
			.timeline-item__point {
				flex-grow: 0;
				order: 0;
				margin-left: 0 !important;
			}
			
			.timeline-item__card {
				flex-grow: 1;
				order: 1;
				margin-left: 10px;
			}
			
			.jet-timeline__line {
				left: 0;
			}
			
			.timeline-item__card-arrow {
				left: 0;
				margin-left: -10px;
				border-top-width: 0!important;
				border-right-width: 0!important;
			}
			
			.jet-timeline-item {
				@include getInverseDirection();

				> .timeline-item__meta {
					display: none;
				}
			}
		}
	}
	
	&--align-right {
		.timeline-item__point {
			flex-grow: 0;
			order: 1;
		}
		
		.timeline-item__card {
			flex-grow: 1;
			order: 0;
		}
		
		.jet-timeline__line {
			left: auto;
			right: 0;
		}
		
		.timeline-item__meta:empty{
			display: none;
		}
		
		.timeline-item__card-arrow {
			right: 0;
			margin-right: -10px;
			border-bottom-width: 0!important;
			border-left-width: 0!important;
		}
		
		.jet-timeline-item {
			@include getInverseDirection();

			> .timeline-item__meta {
				display: none;
			}
		}
	}
	
	&--align-top {
		.jet-timeline-item {
			align-items: flex-start;
		}
		
		.timeline-item__card-arrow {
			top: 0;

			@if ( $direction == rtl ) {
				@media (min-width: 1025px) {
					transform: rotate(45deg);
				}
			} @else {
				transform: rotate(45deg);
			}
		}
	}
	
	&--align-middle {
		.jet-timeline-item {
			align-items: center;
		}
		
		.timeline-item__card-arrow {
			top: 50%;

			@if ( $direction == rtl ) {
				@media (min-width: 1025px) {
					transform: translateY(-50%) rotate(45deg);
				}
			} @else {
				transform: translateY(-50%) rotate(45deg);
			}
		}
	}
	
	&--align-bottom {
		.jet-timeline-item {
			align-items: flex-end;
		}
		
		.timeline-item__card-arrow {
			bottom: 0;

			@if ( $direction == rtl ) {
				@media (min-width: 1025px) {
					transform: rotate(45deg);
				}
			} @else {
				transform: rotate(45deg);
			}
		}
	}
}

.jet-timeline-item--animated {
	.timeline-item{
		&__card {
			-webkit-animation-duration: 1s;
			animation-duration: 1s;
			-webkit-animation-fill-mode: both;
			animation-fill-mode: both;
			opacity: 0;
		}
	}
}

// Animations for timeline cards
.jet-timeline {
	&--align-left {
		.jet-timeline-item--animated {
			&.is--show {
				.timeline-item__card {
					@extend .card-animation-right;
				}
			}
		}
	}
	&--align-center {
		.jet-timeline-item--animated {
			&.is--show {
				&:nth-child(even) {
					.timeline-item__card {
						@extend .card-animation-right;
					}
				}
				&:nth-child(odd) {
					.timeline-item__card {
						@extend .card-animation-left;
					}
				}
			}
		}
	}
	&--align-right {
		.jet-timeline-item--animated {
			&.is--show {
				.timeline-item__card {
					@extend .card-animation-left;
				}
			}
		}
	}
}

@-webkit-keyframes card-animation-right {
	0% {
		opacity: 0;
		-webkit-transform: translateX(400px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}

@keyframes card-animation-right {
	0% {
		opacity: 0;
		transform: translateX(400px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

.card-animation-right {
	-webkit-animation-name: card-animation-right;
	animation-name: card-animation-right;
}

@-webkit-keyframes card-animation-left {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-400px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateX(0);
	}
}

@keyframes card-animation-left {
	0% {
		opacity: 0;
		transform: translateX(-400px);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

.card-animation-left {
	-webkit-animation-name: card-animation-left;
	animation-name: card-animation-left;
}