/* Adding variables */
@import url("../../css/variables.css");

.timeline__main-container {
	width: var(--width);
	padding: var(--padding);
	margin: 0 auto;
}

.timeline__inner-container {
    display: flex;
    flex-direction: column;
    gap: var(--s-spacing);
    align-items: center;
    width: var(--full);
    padding: var(--xl-spacing) 0;
}

.timeline__headers-container {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.timeline__headers-container h2 {
    font-size: var(--h2);
    font-weight: var(--extralight);
    text-align: center;
    line-height: var(--lh-2);
}

.timeline__headers-container h2 strong {
    font-weight: var(--regular);
    color: var(--neopaleblue);
}

.timeline__headers-container h4 {
    font-size: var(--blocknav);
    font-weight: var(--light);
    text-align: center;
    line-height: var(--lh-3);
}

.timeline__headers-container small {
    font-weight: var(--semibold);
    text-align: center;
    line-height: var(--lh-3);
}

.timeline-wrap {
	width: var(--full);
	position: relative;
	padding: 0
}

.timeline {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	background-repeat: repeat-x;
	background-size: 10px 2px;
	background-position: center bottom 105px;
	background-image: -webkit-gradient(linear, left top, right top, color-stop(66%, #000), color-stop(0, transparent));
	background-image: linear-gradient(90deg, #000 66%, transparent 0);
	padding: 50px 0;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-flex: 1;
	-webkit-flex: 1 1 100%;
	-ms-flex: 1 1 100%;
	flex: 1 1 100%;
	flex-flow: row nowrap;
	transition: height .2s ease-out;
}

.timeline-title,
.timeline-content-title {
	font-weight: 600;
}

.timeline-item {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
	flex-flow: wrap;
	-webkit-transition: max-width .2s, -webkit-transform .4s ease-out;
	transition: max-width .2s, -webkit-transform .4s ease-out;
	transition: max-width .2s, transform .4s ease-out;
	transition: max-width .2s, transform .4s ease-out, -webkit-transform .4s ease-out;
	cursor: pointer;
	margin: 0 50px;
	height: auto;
}

.i-is-active.timeline-item {
	cursor: default;
}

.timeline-content {
	width: 100%;
}

.p-timeline-item:hover {
	transform: scale(1.1);
	transition: transform .3s ease;
}

.p-timeline-item:hover time,
.i-is-active time,
.timeline-content-title {
	color: var(--neoblue);
}

.p-timeline-item:hover time,
time {
	transition: color .3s ease;
}

.p-timeline-item.i-is-active {
	cursor: default;
}

.p-timeline-item:hover .p-timeline-block {
	background-color: var(--neopaleblue);
}

.p-timeline-block,
:hover .p-timeline-block {
	transition: background-color 1s ease;
}

.p-timeline-date,
.timeline__content-title,
.p-timeline-block {
	width: 100%;
}

.p-timeline-date {
	font-weight: 600;
	font-size: 20px;
}

.timeline__content-title {
	margin-top: 5px;
	margin-bottom: 10px;
    font-weight: var(--regular);
}

.p-timeline-block {
	min-width: 55px;
	min-height: 55px;
	max-width: 55px;
	max-height: 55px;
	background-color: var(--neoblue);
	border: solid 0px var(--neoblue);
	border-radius: 50%;
	position: relative;
	top: 10px;
	left: 48px;
	margin-bottom: 20px;
	
}

.p-timeline-item:hover .p-timeline-block:before {
	content: '';
	position: absolute;
	display: block;
	width: 300%;
	height: 300%;
	box-sizing: border-box;
	margin-left: -100%;
	margin-top: -100%;
	border-radius: 50%;
	background-color: #e3e3e3;
	animation: pulse-ring 1.25s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}

.p-timeline-item:hover .p-timeline-block:after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--neoblue);
	border-radius: 50%;
	box-shadow: 0 0 8px rgba(6, 80, 154, .3);
	animation: pulse-dot 1.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -.4s infinite;
}

@keyframes pulse-ring {
	0% {
		transform: scale(.33);
	}
	80%,
	100% {
		opacity: 0;
	}
}

@keyframes pulse-dot {
	0% {
		transform: scale(.8);
	}
	50% {
		transform: scale(1);
	}
	100% {
		transform: scale(.8);
	}
}

.i-is-active .p-timeline-block:before,
.i-is-active .p-timeline-block:after {
	animation: none;
	background-color: transparent;
	box-shadow: none;
}

.p-timeline-item {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	min-width: 150px;
	max-width: 150px;
	position: relative;
	text-align: center;
	transition: color .3s ease-in-out;
	transition: transform .3s ease;
}

.p-timeline-content {
	width: var(--full);
	height: 0;
	position: absolute;
	overflow: hidden;
	visibility: hidden;
	opacity: 0;
	transform: translateX(-1000px);
	-webkit-transition: all 1s ease-in-out;
	transition: all 1s ease-in-out;
	padding: var(--s-spacing) 0;
}

.i-is-active.p-timeline-content {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--l-spacing);
	color: #000;
	height: auto;
	position: relative;
	visibility: visible;
	opacity: 1;
	transform: translateX(0px);
	-webkit-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
}

.i-is-active.p-timeline-content h3,
.i-is-active.p-timeline-content time {
	width: 100%;
}

.i-is-active.p-timeline-content .timeline-content-card {
	display: flex;
    flex-direction: column;
    gap: var(--s-spacing);
    align-items: flex-start;
    width: 50%;
}

.i-is-active.p-timeline-content .timeline-content-image {
	display: flex;
    width: 50%;
}

.i-is-active.p-timeline-content .timeline-content-image:after {
	clear: both;
}

.i-is-active.p-timeline-item:hover {
	transform: none;
}

.i-is-active .p-timeline-item {
	transform: scale(1.1);
}

.i-is-active .p-timeline-block {
	background-color: var(--neopaleblue);
}

.i-is-active.p-timeline-content h3 {
	color: var(--neoblue);
}

.timeline-content-image img {
	width: 100%;
	height: auto;
	max-width: 100%;
}

.p-timeline-content time {
    font-family: var(--racing);
	font-size: var(--smalltext);
	font-weight: var(--regular);
	line-height: var(--lh-2);
    text-transform: uppercase;
    color: var(--neopaleblue);
}

.p-timeline-content p {
	font-size: var(--smalltext);
	line-height: var(--lh-3);
	font-weight: var(--light);
}

.timeline-content-title {
	font-size: var(--bigtext);
    font-weight: var(--light);
}

.close {
	position: absolute;
	right: 10px;
	top: var(--s-spacing);
	width: 32px;
	height: 32px;
	opacity: 0.7;
	cursor: pointer;
}

.close:hover {
	opacity: 1;
}

.close:before,
.close:after {
	position: absolute;
	left: 15px;
	content: ' ';
	height: 25px;
	width: 2px;
	background-color: var(--neodarkblue);
}

.close:before {
	transform: rotate(45deg);
}

.close:after {
	transform: rotate(-45deg);
}

.timeline__arrow i,
.timeline__arrow-mobile {
	font-size: var(--bigtext);
	color: var(--neoblue);
	cursor: pointer;
	transition: color .4s ease;
}

.timeline__arrow i:hover,
.timeline__arrow-mobile:hover {
	color: var(--neopaleblue);
}

.timeline__arrows-mobile-container {
	display: none;
}

/*Custom scrollbar styling*/
.timeline::-webkit-scrollbar {
	height: 8px;
}

.timeline::-webkit-scrollbar-track {
	box-shadow: inset 0 0 5px lightgrey;
	border-radius: 10px;
}

/* Track */
.timeline::-webkit-scrollbar-thumb {
	background: var(--neoblue);
	border-radius: 10px;
}

/* Handle */
/* ========== Media Queries ========== */
/* laptop resolutions*/
@media screen and (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 1) {
	.timeline {
		background-position: center top 60%;
	}

	.i-is-active.p-timeline-content .timeline-content-card {
		width: 48%;
	}

	.i-is-active.p-timeline-content .timeline-content-image {
		width: 50%;
	}
}

/*Tablet - Landscape*/
@media screen and (max-width: 1199px) {
	.timeline-content-title {
		font-size: 1.7em;
	}
}

/*Tablet - Portrait*/
@media screen and (max-width: 1020px) {
	.p-timeline-carmodel {
		margin: 0;
	}

	.wrap {
		padding: 0 40px;
	}

	.timeline-wrap {
		padding: 0;
	}

	.p-timeline-content {
		display: flex;
		flex-flow: column;
	}

	.i-is-active.p-timeline-content .timeline-content-card,
	.i-is-active.p-timeline-content .timeline-content-card,
	.i-is-active.p-timeline-content .timeline-content-image {
		width: 100%;
	}

	.i-is-active.p-timeline-content .timeline-content-image {
		padding: 0;
		/* order: 0; */
	}

	.i-is-active.p-timeline-content .timeline-content-card {
		padding: 0;
		/* order: 1; */
	}

	.i-is-active.p-timeline-content {
		padding-left: 0;
		padding-right: 0;
	}

	.timeline-content-button {
		width: 100%;
		padding: 10px 0px;
	}

	.timeline__arrow {
		display: none;
	}

	.timeline__arrows-mobile-container {
		display: flex;
		gap: var(--xl-spacing);
		align-items: center;
	}

	.timeline__arrow-mobile {
		display: flex;
		gap: var(--s-spacing);
		align-items: center;
		color: var(--neoblue);
		cursor: pointer;
		transition: color .4s ease;
	}

	.timeline__arrow-mobile:hover {
		color: var(--neopaleblue);
	}

	.timeline__arrow-mobile span {
		font-size: var(--blocknav);
	}
}

/* Mobile devices */
@media screen and (max-width: 768px) {
	body {
		padding: 0;
	}

	.timeline {
		background-position: center bottom 105px;
	}

	.timeline-item {
		margin: 0 10px;
	}

	.p-timeline-block {
		min-width: 45px;
		min-height: 45px;
		max-width: 45px;
		max-height: 45px;
	}

	.p-timeline-date {
		font-size: 16px;
	}

    .timeline__content-title {
        margin: 0;
        font-size: 13px;
        line-height: var(--lh-3);
    }

	.timeline-content-title {
		font-size: 1.5em;
		line-height: 1.3em;
	}

	.close {
		right: 0px;
	}

	.timeline-title {
		line-height: 1em;
		font-size: 1.5em;
	}

	.timeline::-webkit-scrollbar {
		height: 4px;
	}
}