:root {
	--num_ele_caroussel: 3;
	--caroussel_track_gap: 20px;
	--caroussel_element_img_original_width: 600px;
	--caroussel_element_img_original_height: 350px;
	--caroussel_element_img_760px_width: 400px;
	--caroussel_element_img_760px_height: 250px;
	--caroussel_element_img_460px_width: 300px;
	--caroussel_element_img_460px_height: 200px;
	--main_elements_total_width: calc(
		(var(--caroussel_element_img_original_width) * var(--num_ele_caroussel)) + 
		(var(--caroussel_track_gap) * (var(--num_ele_caroussel) - 1))
	);
	--main_elements_total_width_760px: calc(
		(var(--caroussel_element_img_760px_width) * var(--num_ele_caroussel)) + 
		(var(--caroussel_track_gap) * (var(--num_ele_caroussel) - 1))
	);
	--main_elements_total_width_460px: calc(
		(var(--caroussel_element_img_460px_width) * var(--num_ele_caroussel)) + 
		(var(--caroussel_track_gap) * (var(--num_ele_caroussel) - 1))
	);
}

@keyframes initial_caroussel_animation {
	0% {
		transform: translateX(calc((100% - var(--main_elements_total_width)) / 2));
	}
	100% {
		transform: translateX(calc(((-1 * var(--caroussel_element_img_original_width)) - var(--caroussel_track_gap)) * var(--num_ele_caroussel)));
	}
}

@keyframes caroussel_animation {
	0% {
		transform: translateX(0);
	}
	100% {
		transform: translateX(calc(((-1 * var(--caroussel_element_img_original_width)) - var(--caroussel_track_gap)) * var(--num_ele_caroussel)));
	}
}

.caroussel {
	gap: 0;
	padding: 0;
	width: 100%;
	border: none;
	outline: none;
	display: flex;
	overflow: hidden;
	flex-wrap: nowrap;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	background-color: var(--cor3);
}

.caroussel_m {
	margin: 0 0 52px 0;
}

.caroussel_track_wrap {
	padding: 0;
	border: none;
	outline: none;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	width: clamp(0%, 100%, 1840px);

	/*
	&::before,
	&::after {
		z-index: 2;
		content: "";
		width: 90px;
		height: 100%;
		position: absolute;
		background: linear-gradient(to right, var(--cor3) 0%, transparent 100%);
	}

	&::after {
		top: 0;
		right: 0;
		transform: rotateZ(180deg);
	}

	&::before {
		top: 0;
		left: 0;
	}
	*/
}

.caroussel_track_wrap:hover > .caroussel_track {
	-webkit-animation-play-state: paused;
	-moz-animation-play-state: paused;
	-o-animation-play-state: paused;
	animation-play-state: paused;
}

.caroussel_track {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	border: none;
	outline: none;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: var(--caroussel_track_gap);
	transform: translateX(calc((100% - var(--main_elements_total_width)) / 2));
	animation: initial_caroussel_animation 17s linear 1 5s, caroussel_animation 20s linear infinite 22s;
}

.caroussel_element {
	gap: 0;
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
	display: flex;
	flex-wrap: nowrap;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
}

.caroussel_element_img {
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
	overflow: hidden;
	position: relative;
	transition: all 0.2s ease;
	width: var(--caroussel_element_img_original_width);
	height: var(--caroussel_element_img_original_height);
}

.caroussel_element_img img {
	top: 50%;
	left: 50%;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	transform: translate(-50%, -50%);
}

@media screen and (max-width: 760px) {
	@keyframes initial_caroussel_animation {
		0% {
			transform: translateX(calc((100% - var(--main_elements_total_width_760px)) / 2));
		}
		100% {
			transform: translateX(calc(((-1 * var(--caroussel_element_img_760px_width)) - var(--caroussel_track_gap)) * var(--num_ele_caroussel)));
		}
	}
	@keyframes caroussel_animation {
		0% {
			transform: translateX(0);
		}
		100% {
			transform: translateX(calc(((-1 * var(--caroussel_element_img_760px_width)) - var(--caroussel_track_gap)) * var(--num_ele_caroussel)));
		}
	}
	/*
	.caroussel_track_wrap {
		&::before,
		&::after {
			width: 60px;
		}
	}
	*/
	.caroussel_track {
		transform: translateX(calc((100% - var(--main_elements_total_width_760px)) / 2));
	}
	.caroussel_element_img {
		width: var(--caroussel_element_img_760px_width);
		height: var(--caroussel_element_img_760px_height);
	}
}

@media screen and (max-width: 460px) {
	@keyframes initial_caroussel_animation {
		0% {
			transform: translateX(calc((100% - var(--main_elements_total_width_460px)) / 2));
		}
		100% {
			transform: translateX(calc(((-1 * var(--caroussel_element_img_460px_width)) - var(--caroussel_track_gap)) * var(--num_ele_caroussel)));
		}
	}
	@keyframes caroussel_animation {
		0% {
			transform: translateX(0);
		}
		100% {
			transform: translateX(calc(((-1 * var(--caroussel_element_img_460px_width)) - var(--caroussel_track_gap)) * var(--num_ele_caroussel)));
		}
	}
	/*
	.caroussel_track_wrap {
		&::before,
		&::after {
			width: 30px;
		}
	}
	*/
	.caroussel_track {
		transform: translateX(calc((100% - var(--main_elements_total_width_460px)) / 2));
	}
	.caroussel_element_img {
		width: var(--caroussel_element_img_460px_width);
		height: var(--caroussel_element_img_460px_height);
	}
}