/*/////////////////////////////////////////////
//// BEGIN: Hero Carousel
/////////////////////////////////////////////*/
.section-hero__image:has(.course-carousel) {
	width: 505px;
}

.course-carousel {
	position: relative;
	perspective: 1500px;
	perspective-origin: 50%;
	transform-style: preserve-3d;
	margin-bottom: 20px;
}

.course-carousel__slide,
.course-carousel__slide-spacer {
	opacity: 0.6;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transition: opacity 0.2s;
}

.course-carousel__slide.active {
	opacity: 1;
}

.course-carousel__slide-spacer {
	opacity: 0;
	position: relative;
	height: 480px;
}

.course-carousel__slide .course-list__item-header {
	flex-direction: column-reverse;
	justify-content: flex-start;
}

.course-carousel__slide .course-list__item-content p {
	min-height: 40px;
}

/* BEGIN: Arrows
-----------------------------------*/
.course-carousel-container .carousel__arrow--left {
	transform: translateX(-80%);
}

.course-carousel-container .carousel__arrow--right {
	transform: translateX(80%);
}

/* BEGIN: Dot Container
-----------------------------------*/
.dot__container {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	margin-bottom: 35px;
	gap: 15px;
}

.dot {
	position: relative;
	border-radius: 50%;
	width: 8px;
	height: 8px;
	background-color: #D9D9D9;
	cursor: pointer;
}

.dot.dot--active {
	background: var(--tu-primary-green);
}

/* BEGIN: Sponsors
-----------------------------------*/
.section-hero__sponsors {
	position: relative;
	width: 100%;
	max-width: 100%;
	margin-top: 20px;
	padding: 32px 50px 32px 0;
	background: var(--tu-gray);
}

.section-hero__sponsors:before,
.section-hero__sponsors:after {
	content: '';
	position: absolute;
	top: 0;
	right: calc(100% - 2px);
	width: 110%;
	height: 100%;
	background: inherit;
	z-index: -1;
}

.section-hero__sponsors:after {
	left: calc(100% - 2px);
	right: auto;
}

.section-hero__sponsors > div {
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	gap: 20px 50px;
}

.section-hero__sponsors .section-hero__sponsors--text {
	flex-shrink: 0;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.section-hero__sponsors .section-hero__sponsors--logos {
	flex-wrap: nowrap;
	gap: 30px 50px;
}

.section-hero__sponsors .section-hero__sponsors--logos li {
	height: 43px;
}

.section-hero__sponsors .section-hero__sponsors--logos img,
.section-hero__sponsors .section-hero__sponsors--logos svg {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/*/////////////////////////////////////////////
//// BEGIN: Media Queries
/////////////////////////////////////////////*/

/* BEGIN: Hovers
-----------------------------------*/
@media screen and (min-width: 992px) {
}

/* BEGIN: Mobile
-----------------------------------*/
@media screen and (max-width: 991px) {

	.course-carousel__slide-spacer {
		height: 480px;
		min-height: 360px;
	}
}


/* BEGIN: Mobile
-----------------------------------*/
@media screen and (max-width: 767px) {

	.section-hero--carousel .section-hero__image {
		max-width: 80%;
		/* padding: 20px; */
	}

	.course-carousel__slide,
	.course-carousel__slide-spacer {
		max-width: 100%;
	}

	.section-hero__sponsors {
		max-width: 100%;
		margin: 0 auto;
		padding: 20px;
	}

	.section-hero__sponsors:before,
	.section-hero__sponsors:after {
		display: none;
	}

	.section-hero__sponsors > div,
	.section-hero__sponsors .section-hero__sponsors--logos {
		flex-wrap: wrap;
		justify-content: center;
	}
}

/* BEGIN: Mobile
-----------------------------------*/
@media screen and (max-width: 675px) {

	.course-carousel__slide-spacer {
		height: 80vw;min-height: 360px;
	}
}
/* FIN */