:root {
--akzentfarbe: rgb(65, 128, 159);
--akzentfarbe-rgb: 65, 128, 159;
--color-dark-blue: rgb(29, 39, 73);
--color-dark-blue-rgb: 29, 39, 73;
}

/* Aptos Regular */
@font-face {
    font-family: 'Aptos';
    src: url('/_shared/fonts/aptos-regular.woff2') format('woff2'),
         url('/_shared/fonts/aptos-regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Aptos Italic */
@font-face {
    font-family: 'Aptos';
    src: url('/_shared/fonts/aptos-italic.woff2') format('woff2'),
         url('/_shared/fonts/aptos-italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

/* Aptos Bold */
@font-face {
    font-family: 'Aptos';
    src: url('/_shared/fonts/aptos-bold.woff2') format('woff2'),
         url('/_shared/fonts/aptos-bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Aptos Bold Italic */
@font-face {
    font-family: 'Aptos';
    src: url('/_shared/fonts/aptos-bold-italic.woff2') format('woff2'),
         url('/_shared/fonts/aptos-bold-italic.woff') format('woff');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

/* Neue Kabel Pro Regular */
@font-face {
    font-family: 'Neue Kabel Pro';
    src: url('/_shared/fonts/neue-kabel-pro-regular.woff2') format('woff2'),
         url('/_shared/fonts/neue-kabel-pro-regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

body {
	font-family: 'Aptos', -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, Ubuntu, roboto, noto, segoe ui, arial, sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.5
}
a, a:link, a:visited, a:active, a:focus {
	color: var(--color-dark-blue);
	color: var(--akzentfarbe);
	text-decoration: none;
}
main .container { /* fuer den fall trig.js wird darauf angesetzt */
	display: block!important;
}
@media (min-width: 1200px) {
	main .container {
		max-width: 1140px;
		max-width: 1320px;
	}
}
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: 'Neue Kabel Pro', -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, Ubuntu, roboto, noto, segoe ui, arial, sans-serif;
	font-weight: 400;
	/*
	word-break: break-word;
	hyphens: auto;
	text-wrap: pretty;
	*/
}
.two-column-sub-module {
	& h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
		/* text-wrap: balance; */
	}
}
h3, h4, h5, h6, .h3, .h4, .h5, .h6 {
	font-weight: 300
}
.h1 .subline, .h2 .subline {
	font-family: 'Aptos', -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, Ubuntu, roboto, noto, segoe ui, arial, sans-serif;
	font-weight: 400;
}
h1, .h1 {
	font-size: clamp(2.03rem, calc(1.164rem + 4.855vw), 4.24rem);
}

h2, .h2, .main-headline-title h1, .main-headline-title .h1 {
	font-size: clamp(1.80rem, calc(1.182rem + 3.488vw), 3.39rem);
}

h3, .h3, .comp-title h2, .comp-title .h2, .container + section h2, .container + section .h2 {
	font-size: clamp(1.60rem, calc(1.285rem + 1.784vw), 2.71rem);
}

h4, .h4 {
	font-size: clamp(1.42rem, calc(1.211rem + 1.199vw), 2.17rem);
}

h5, .h5 {
	font-size: clamp(1.27rem, calc(1.132rem + 0.756vw), 1.74rem);
}

h6, .h6 {
	font-size: clamp(1.13rem, calc(1.050rem + 0.424vw), 1.39rem);
}

body, .base {
	font-size: clamp(1.00rem, calc(0.968rem + 0.179vw), 1.11rem);
	font-size: 1rem;
	line-height: 1.6;
}

small, .small {
	font-size: clamp(0.89rem, calc(0.889rem + -0.000vw), 0.89rem);
}
main strong {
	font-weight: 700
}

.tiny, .tiny {
	font-size: clamp(0.79rem, calc(0.813rem + -0.127vw), 0.71rem);
}

.navbar li.nav-item {
	font-size: clamp(1.13rem, calc(1.050rem + 0.424vw), 1.39rem);
}
footer li.nav-item {
	font-size: clamp(1.00rem, calc(0.968rem + 0.179vw), 1.11rem);
}
@media (min-width: 576px) { /* sm */
	#hero .vid-with-overlay .hero-image-overlay > img {
		margin-left: -3cqi;
	}
}
#hero .hero-title-overlay,
.subpage-teaser .card-body .title-overlay {
	background-color: rgba(var(--akzentfarbe-rgb),0.9);
	min-height: 7rem;
	display: flex;
	align-items: center;
}
.two-column-sub-module .btn-link {
	font-family: 'Neue Kabel Pro', -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, Ubuntu, roboto, noto, segoe ui, arial, sans-serif;
	text-transform: uppercase;
	font-weight: 600;
}
.two-column-sub-module .btn-link i.bi {
	font-size: 1.75em;
	vertical-align: middle;
}
.two-column-sub-module a.btn-link:link, .two-column-sub-module a.btn-link:visited, .two-column-sub-module a.btn-link:hover, .two-column-sub-module a.btn-link:active, .two-column-sub-module a.btn-link:focus {
	color: var(--akzentfarbe);
	text-decoration: none;
}
.comp-2-col-title-text, .comp-news-teaser, .main-headline-title, .main-headline-text, .comp-2-col-image-title-text {
	--bs-gutter-x: 3rem;
}

/* blog */
.comp-2-col-image-title-text .two-column-sub-module:first-of-type figure {
	text-align: right;
}
a.card.blog-teaser {
	text-decoration: none;
}
.card.blog-teaser {
	background-color: #f5f5f5;
}
.card.blog-teaser span.btn-primary {
	background-color: #e6e6e6;
	color: rgb(51, 51, 51);
	font-size: 3rem;
	padding: 0;
	line-height: 1;
}
.card.blog-teaser:hover span.btn-primary {
	background-color: var(--color-dark-blue);
	color: #fff;
}
.card.blog-teaser span.btn-primary i.bi {
	line-height: 1;
	font-weight:normal;
}
.card.blog-teaser span.btn-primary i.bi::before {
  line-height: 1;
  display: block;
}
.card.blog-teaser h3 {
	font-size: clamp(1.13rem, calc(1.050rem + 0.424vw), 1.39rem);
	margin-bottom: 1.25em;
}
.card.blog-teaser .card-category {
	font-family: 'Neue Kabel Pro', -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, Ubuntu, roboto, noto, segoe ui, arial, sans-serif;
	text-transform: uppercase;
	background-color: var(--akzentfarbe);
	color: #fff;
	line-height: 1;
}
.card.blog-teaser .card-category.aktuelles {
	background-color: var(--color-dark-blue);
}
.subpage-teaser .card-body .title-overlay a {
	color: #fff;
	text-decoration:none;
	font-size: 1.4rem;
	display: block;
	padding: 0 6rem !important;
	width: 100%;
	text-align: center;
}

/* accordions */
.accordion {
	padding-left: calc(var(--bs-gutter-x) * .5);
	padding-right: calc(var(--bs-gutter-x) * .5);
}
.accordion-item {
	border-bottom: 1px solid #000 !important;
}
.accordion-button {
	font-size: 1.334rem;
	padding: 2.5rem 1rem 1rem 1rem;
}
.accordion-button:not(.collapsed) {
	color: unset;
	background-color: unset;
	box-shadow: unset;
}
.accordion-button:focus {
	box-shadow: unset;
}
.accordion-body {
	padding-top: 0;
}
.comp-title + .comp-faq-list {
	padding-top: 0 !important;
	padding-bottom: 3rem !important;
}
.docID-729 .comp-title {
	padding-bottom: 0 !important;
}

@media (min-width: 992px) {
	.comp-2-col-title-text .two-column-sub-module img.float-lg-end {
		width: 40%;
	}
}

.comp-2-col-title-text .justify-content-end {
	clear: both;
}


.comp-2-col-text-text {
	align-items: end;
}

/* floating ribbon and off canvas element */
.floating-ribbon {
	position: absolute;
	top: 20%; /* Vertikale Position auf dem Bildschirm */
	left: -44px; /* Schiebt das Ribbon exakt vor den linken Rand des Offcanvas */
	width: 44px;
	padding-top: 1rem;
	padding-bottom: 1rem;
	background-color: var(--color-dark-blue); /* Bootstrap Primary Color */
	color: white;
	writing-mode: vertical-rl; /* Dreht den Text vertikal */
	text-orient: mixed;
	transform: rotate(180deg);
	text-transform: uppercase;
	font-weight: normal;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: 1px;
	cursor: pointer;

	/* Stellt sicher, dass das Ribbon immer sichtbar und klickbar ist */
	visibility: visible !important; 
	pointer-events: auto;
}
/* Macht das Offcanvas-Element sichtbar, auch wenn es geschlossen ist */
.offcanvas.offcanvas-end:not(.show) {
	visibility: visible !important;
}
/* Versteckt den echten Inhalt des Offcanvas, wenn es geschlossen ist, damit Box-Shadows oder Ränder nicht unschön am Bildschirmrand klemmen */
.offcanvas.offcanvas-end:not(.show) .offcanvas-header,
.offcanvas.offcanvas-end:not(.show) .offcanvas-body {
	visibility: hidden;
}
.offcanvas-body {
	text-align: center;
}
.offcanvas-body img {
	width: 50%;
}
.offcanvas-body figcaption {
	font-weight: 600;
	color: var(--akzentfarbe);
}
.offcanvas-body p {
	font-size: .9rem;
}
.offcanvas-body .bi {
	color: var(--akzentfarbe);
}

.btn-primary {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--akzentfarbe);
	--bs-btn-border-color: var(--akzentfarbe);
}
.btn-primary:hover {
	color: #fff;
	background-color: var(--color-dark-blue);
	border-color: var(--color-dark-blue);
}