/* SOWERO Slider – eigenständige Styles, basierend auf der gelieferten Vorlage. */
.swg {
	--swg-blue:#0f5082;
	--swg-blue-2:#1d5283;
	--swg-red:#a4545b;
	--swg-gold:#d5b15b;
	--swg-ink:#0b2d4d;
	--swg-ratio:960/350;
	--swg-ratio-m:4/3;
	--swg-time:6s;
	position:relative;
	width:100%;
	max-width:960px;
	margin:0 auto 12px;
	font-family:inherit;
	background:#fff;
	overflow:hidden
}
.swg * {
	box-sizing:border-box
}
.swg-sr {
	position:absolute!important;
	width:1px;
	height:1px;
	margin:-1px;
	padding:0;
	overflow:hidden;
	clip:rect(0 0 0 0);
	white-space:nowrap;
	border:0
}
.swg-stage {
	position:relative;
	width:100%;
	aspect-ratio:var(--swg-ratio);
	overflow:hidden;
	background:#eee;
	touch-action:pan-y
}
.swg-slide {
	position:absolute;
	inset:0;
	z-index:0;
	opacity:0;
	pointer-events:none;
	transform:translateZ(0);
	backface-visibility:hidden
}
.swg-slide.is-prev {
	z-index:1;
	opacity:1
}
.swg-slide.is-active {
	z-index:2;
	opacity:1;
	pointer-events:auto;
	transition:opacity .8s ease-in-out
}
.swg-slide .swg-cap {
	transform:translateY(12px);
	opacity:0;
	transition:transform .7s ease .25s,opacity .7s ease .25s
}
.swg-slide.is-active .swg-cap {
	transform:none;
	opacity:1
}
.swg-slide img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover
}
.swg-slide::after {
	content:"";
	position:absolute;
	inset:0;
	background: linear-gradient(
        90deg,
        rgba(15, 40, 70, .78) 0%,
        rgba(15, 40, 70, .48) 35%,
        rgba(15, 40, 70, .12) 60%,
        rgba(15, 40, 70, 0) 78%
    );
	pointer-events:none
}
.swg-cap {
	position:absolute;
	left:0;
	bottom:0;
	z-index:2;
	width:100%;
	max-width:640px;
	padding:0 40px 58px;
	color:#fff
}
.swg-badge {
	display:inline-block;
	margin:0 0 10px;
	padding:4px 10px;
	background:var(--swg-gold);
	color:var(--swg-ink);
	font-size:13px;
	font-weight:700;
	letter-spacing:.06em;
	text-transform:uppercase;
	border-radius:2px
}
.swg-badge--highlight {
	background:var(--swg-gold);
	color:var(--swg-ink)
}
.swg-badge--info {
	background:var(--swg-red);
	color:#fff
}
.swg-title {
	margin:0 0 8px;
	font-size:34px;
	line-height:1.2;
	font-weight:700;
	color:#fff;
	text-shadow:0 1px 3px rgba(0,0,0,.35)
}
.swg-text {
	margin:0 0 20px;
	font-size:19px;
	line-height:1.45;
	color:#fff;
	text-shadow:0 1px 3px rgba(0,0,0,.35)
}
.swg-btn {
	display:inline-flex;
	align-items:center;
	gap:8px;
	padding:11px 22px;
	background:var(--swg-red);
	color:#fff;
	font-size:17px;
	font-weight:700;
	text-decoration:none;
	border-radius:2px;
	transition:background .2s,color .2s
}
.swg-btn:hover,.swg-btn:focus-visible {
	background:#8c444b;
	color:#fff
}
.swg-btn:focus-visible {
	outline:2px solid #fff;
	outline-offset:2px
}
.swg-btn span[aria-hidden] {
	transition:transform .2s
}
.swg-btn:hover span[aria-hidden] {
	transform:translateX(3px)
}
.swg-tabs {
	display:flex;
	margin:0;
	padding:0;
	list-style:none;
	background:#fff;
	border-bottom:1px solid #ccc
}
.swg-tabs li {
	flex:1 1 0;
	min-width:0
}
.swg-tab {
	position:relative;
	display:block;
	width:100%;
	height:36px;
	padding:0 6px;
	border:0;
	border-right:1px solid #e6e6e6;
	background:#fff;
	color:#444;
	font:inherit;
	font-size:13px;
	font-weight:600;
	line-height:36px;
	letter-spacing:.04em;
	text-transform:uppercase;
	text-align:center;
	cursor:pointer;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis
}
.swg-tabs li:last-child .swg-tab {
	border-right:0
}
.swg-tab:hover {
	color:var(--swg-blue);
	background:#f2f6fa
}
.swg-tab:focus-visible {
	outline:2px solid var(--swg-gold);
	outline-offset:-2px
}
.swg-tab.is-active {
	color:#fff;
	background:var(--swg-blue-2)
}
.swg-tab i {
	position:absolute;
	left:0;
	top:0;
	height:3px;
	width:0;
	background:var(--swg-red)
}
.swg-tab.is-active i {
	animation:swg-bar var(--swg-time) linear forwards
}
.swg.is-paused .swg-tab.is-active i,.swg.is-stopped .swg-tab.is-active i {
	animation-play-state:paused
}
@keyframes swg-bar {
	from {
		width:0
	}
	to {
		width:100%
	}
}
@media (max-width:767px) {
	/* Mobil: Bild im Format 4:3 (zugeschnitten), Text groesser auf dem Bild */
.swg-stage {
		aspect-ratio:var(--swg-ratio-m)
	}
	.swg-slide::after {
		 background: linear-gradient(
			0deg,
			rgba(15, 40, 70, .85) 0%,
			rgba(15, 40, 70, .60) 35%,
			rgba(15, 40, 70, .15) 65%,
			rgba(15, 40, 70, 0) 85%
		);
	}
	.swg-cap {
		max-width:none;
		padding:0 16px 26px
	}
	.swg-badge {
		margin-bottom:8px;
		padding:3px 8px;
		font-size:12px
	}
	.swg-title {
		margin-bottom:5px;
		font-size:max(20px,5.8vw)
	}
	.swg-text {
		margin-bottom:12px;
		font-size:max(14px,4vw);
		line-height:1.35
	}
	.swg-btn {
		gap:6px;
		padding:9px 16px;
		font-size:max(14px,4vw)
	}
	.swg-tab {
		height:40px;
		line-height:40px;
		padding:0 2px;
		font-size:11px;
		letter-spacing:.02em
	}
}
@media (prefers-reduced-motion:reduce) {
	.swg-slide,.swg-slide .swg-cap {
		transition:none!important;
		transform:none
	}
}
@media (prefers-reduced-motion:reduce) {
	.swg-tab.is-active i {
		animation:none
	}
}

/* Das Picture-Element muss die komplette Slide-Fläche einnehmen. */
.swg-slide picture {
    display: block;
    width: 100%;
    height: 100%;
}

/* HTML-Überschriften und Absätze übernehmen die Slider-Typografie. */
.swg-title > :first-child,
.swg-text > :first-child {
	margin-top:0;
}
.swg-title > :last-child,
.swg-text > :last-child {
	margin-bottom:0;
}
.swg-title h1,
.swg-title h2,
.swg-title h3,
.swg-title p,
.swg-title span {
	font:inherit;
	color:inherit;
	line-height:inherit;
}
