.kw-slideshow-module {
	position: relative;
	width: 100%;
	background: #111820;
	overflow: hidden;
}

.kw-slideshow-viewport {
	position: relative;
	width: 100%;
	aspect-ratio: var(--kw-slide-ratio, 1440 / 180);
	background: #111820;
	overflow: hidden;
}

.kw-slideshow-track {
	position: relative;
	width: 100%;
	height: 100%;
}

.kw-slide,
.kw-slide a,
.kw-slide picture,
.kw-slide img {
	display: block;
	width: 100%;
	height: 100%;
}

.kw-slide img {
	object-fit: cover;
	background: #111820;
}

.kw-fit-contain .kw-slide img {
	object-fit: contain;
}

.kw-fit-fill .kw-slide img {
	object-fit: fill;
}

.kw-effect-crossfade .kw-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--kw-slide-duration, 450ms) ease, visibility var(--kw-slide-duration, 450ms) ease;
}

.kw-effect-crossfade .kw-slide.is-active {
	opacity: 1;
	visibility: visible;
}

.kw-effect-carouselhorizontal .kw-slideshow-track,
.kw-effect-carouselvertical .kw-slideshow-track {
	display: flex;
	transition: transform var(--kw-slide-duration, 450ms) ease;
	will-change: transform;
}

.kw-effect-carouselhorizontal .kw-slideshow-track {
	flex-direction: row;
}

.kw-effect-carouselvertical .kw-slideshow-track {
	flex-direction: column;
}

.kw-effect-carouselhorizontal .kw-slide,
.kw-effect-carouselvertical .kw-slide {
	position: relative;
	flex: 0 0 100%;
	min-width: 100%;
	opacity: 1;
	visibility: visible;
}

.kw-effect-carouselvertical .kw-slide {
	min-height: 100%;
}

.kw-slideshow-timer {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 3;
	height: 3px;
	background: rgba(255, 255, 255, .18);
	pointer-events: none;
}

.kw-slideshow-timer span {
	display: block;
	width: 100%;
	height: 100%;
	background: #d71920;
	transform: scaleX(0);
	transform-origin: left center;
}

.kw-slideshow-module.is-running .kw-slideshow-timer span {
	transform: scaleX(1);
	transition: transform var(--kw-slide-interval, 6000ms) linear;
}

.kw-slideshow-nav {
	position: absolute;
	right: 10px;
	bottom: 8px;
	left: auto;
	top: auto;
	z-index: 4;
	display: flex;
	align-items: center;
	gap: 3px;
	padding: 3px;
	background: rgba(17, 24, 32, .66);
	backdrop-filter: blur(3px);
}

.kw-counter-bottom-left .kw-slideshow-nav {
	right: auto;
	left: 10px;
	top: auto;
	bottom: 8px;
}

.kw-counter-top-left .kw-slideshow-nav {
	right: auto;
	left: 10px;
	top: 8px;
	bottom: auto;
}

.kw-counter-top-right .kw-slideshow-nav {
	right: 10px;
	left: auto;
	top: 8px;
	bottom: auto;
}

.kw-slide-dots {
	display: flex;
	align-items: center;
	gap: 2px;
}

.kw-slide-dot,
.kw-slide-arrow,
.kw-slide-pause {
	appearance: none;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
	font: inherit;
}

.kw-slide-dot {
	width: auto;
	min-width: 23px;
	height: 21px;
	padding: 0 5px;
	color: rgba(255, 255, 255, .72);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 21px;
	text-align: center;
	text-indent: 0;
	overflow: visible;
}

.kw-slide-dot:hover,
.kw-slide-dot:focus {
	color: #fff;
	background: rgba(255, 255, 255, .12);
	outline: 0;
}

.kw-slide-dot.is-active {
	color: #111820;
	background: #fff;
}

.kw-slide-arrow {
	position: relative;
	width: 19px;
	height: 21px;
	padding: 0;
}

.kw-slide-arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 7px;
	height: 7px;
	border-top: 2px solid currentColor;
	border-left: 2px solid currentColor;
	transform: translate(-35%, -50%) rotate(-45deg);
}

.kw-slide-next::before {
	transform: translate(-65%, -50%) rotate(135deg);
}

.kw-slide-arrow:hover,
.kw-slide-arrow:focus,
.kw-slide-pause:hover,
.kw-slide-pause:focus {
	background: rgba(255, 255, 255, .12);
	outline: 0;
}

.kw-slide-pause {
	height: 21px;
	padding: 0 6px;
	color: rgba(255, 255, 255, .78);
	font-size: 10px;
	font-weight: 700;
}

@media (max-width: 700px) {
	.kw-slideshow-viewport {
		aspect-ratio: var(--kw-slide-mobile-ratio, var(--kw-slide-ratio, 1440 / 180));
	}

	.kw-mobile-fit-cover .kw-slide img {
		object-fit: cover;
	}

	.kw-mobile-fit-contain .kw-slide img {
		object-fit: contain;
	}

	.kw-mobile-fit-fill .kw-slide img {
		object-fit: fill;
	}

}

@media (prefers-reduced-motion: reduce) {
	.kw-effect-crossfade .kw-slide,
	.kw-effect-carouselhorizontal .kw-slideshow-track,
	.kw-effect-carouselvertical .kw-slideshow-track,
	.kw-slideshow-module.is-running .kw-slideshow-timer span {
		transition: none;
	}
}
