/* -----------------------------------------------------------------------------------
Basics
----------------------------------------------------------------------------------- */
/* Metropolis-Light */
@font-face {
    font-display: swap;
    font-family: 'Metropolis';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/Metropolis-Light.woff') format('woff'),
         url('../fonts/Metropolis-Light.ttf') format('truetype');
}
/* Metropolis Regular */
@font-face {
    font-display: swap;
    font-family: 'Metropolis';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/Metropolis-Regular.woff') format('woff'),
         url('../fonts/Metropolis-Regular.ttf') format('truetype');
    
}
/* Metropolis-Medium */
@font-face {
    font-display: swap;
    font-family: 'Metropolis';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/Metropolis-Medium.woff') format('woff'),
         url('../fonts/Metropolis-Medium.ttf') format('truetype');
}
/* Metropolis-SemiBold */
@font-face {
    font-display: swap;
    font-family: 'Metropolis';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/Metropolis-SemiBold.woff') format('woff'),
         url('../fonts/Metropolis-SemiBold.ttf') format('truetype');
}
/* Metropolis-Bold */
@font-face {
    font-display: swap;
    font-family: 'Metropolis';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/Metropolis-Bold.woff') format('woff'),
         url('../fonts/Metropolis-Bold.ttf') format('truetype');
}

* {
	margin:0; padding:0;
	outline:0;
}

.btn:focus,
.nav-link:focus,
.dropdown-toggle:focus {
    outline: none !important;
    box-shadow: none !important;
}

img {
    transform: translateZ(0); /* Zur besseren Schärfe */
}

body {
	font-family: "Metropolis", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 26px; font-weight: 400; color: #1f355a;
}

h1,h2,h3,h4,
span.h1,span.h2,span.h3 {
	margin: 0; padding: 0;
	font-family: "Metropolis", Helvetica, Arial, sans-serif; font-weight: 600;
}
h1 span.light,
h2 span.light,
h3 span.light {
    font-weight: 400;
}
h1 {
	margin-bottom: 30px;
	font-size: 28px; line-height: 38px;
}
h2,
span.h2 {
    display: block;
	margin-bottom: 15px;
	font-size: 26px; line-height: 36px;
}
h2.more-margin {
	margin-bottom: 25px;
}
h2.tuerkis {
	color: #0dadc7;
}
h3,
span.h3 {
    display: block;
	margin-bottom: 10px;
	font-size: 19px; line-height: 29px;
}
h3.more-margin {
    margin-bottom: 20px;
}
h4 {
	margin-bottom: 5px;
	font-size: 18px; line-height: 28px;
}
@media (max-width: 991px) {		
    h1, h2, h3, h4 {
        hyphens: auto; 
    }
}
@media (min-width: 768px) {		
    h1 {
        font-size: 32px; line-height: 42px;
    }
}

a,
a:hover,
a:focus {
	color: #1f355a; text-decoration: none;
	outline: none;
}
main a,
main a:hover,
main a:focus {
	text-decoration: underline;
} 

p {
    margin-bottom: 30px;
}
@media (max-width: 576px) {
    p {
        hyphens: auto;
    }
}

strong {
	font-weight: 600;
}

/* Blockquote */
 blockquote {
    font-family: "Metropolis", Helvetica, Arial, sans-serif; font-size: 21px; line-height: 31px; font-weight: 600;
}

main ul {
	margin: -5px 0 30px 0;
}

main .module-icon-text-boxen-spalten ul,
main .module-foto-gross-text ul,
main .module-fragen-und-antworten ul,
main .textabschnitt ul {
    list-style: none;
    padding: 0; margin: 0 0 30px 0; }

    main .module-icon-text-boxen-spalten ul li,
    main .module-foto-gross-text ul li,
    main .module-fragen-und-antworten ul li,
    main .textabschnitt ul li {
        position: relative;
        padding-left: 20px;
    }
    main .module-icon-text-boxen-spalten ul li::before,
    main .module-foto-gross-text ul li::before,
    main .module-fragen-und-antworten ul li::before,
    main .textabschnitt ul li::before {
        content: "";
        position: absolute; left: 0; top: 13px;
        width: 10px; height: 10px;
        transform: translateY(-50%);
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 1200'><path fill='%23022647' d='m1080 600c0 171.49-91.488 329.95-240 415.69-148.51 85.746-331.49 85.746-480 0-148.51-85.742-240-244.2-240-415.69s91.488-329.95 240-415.69c148.51-85.746 331.49-85.746 480 0 148.51 85.742 240 244.2 240 415.69z'/></svg>");
        background-size: contain;
        background-repeat: no-repeat;
}

/* Nummerierung für dieses ol starten */
main ol {
    counter-reset: nr;                     /* Zähler auf 0 setzen */
    margin: 0 0 30px 0; padding: 0; }

    main ol li {
        position: relative;
        margin: 10px 0 20px 0; padding-left: 50px;
        line-height: 1.4;                      /* stabile Zeilenhöhe */
        list-style: none;
    }
    main ol li::before {
        position: absolute; left: 0; top: -1px;
        counter-increment: nr;                 /* Zähler erhöhen */
        content: counter(nr);                  /* Zahl ausgeben */
        width: 32px; height: 32px;
        border-radius: 50%;
        background: #0dadc7;
        color: #fff; font-weight: 600;
        display: inline-flex;                  /* Zahl zentrieren */
        align-items: center;
        justify-content: center;
        line-height: 1;                        /* saubere Zahlendarstellung */ }
        
        main ol li p {
            margin: 0;
}

img {
	border: none;
}
figure {
	margin: 0; padding: 0;
}

.text-center {
	text-align: center;
}

a.button,
button.button {
    position: relative;
	display: inline-block;
	padding: 20px 70px 20px 30px;
	font-family: "Metropolis", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 16px; color: #fff; font-weight: 500; cursor: pointer; text-decoration: none;
	outline: none;
	background-color: #0dadc7;
    border: none; border-radius: 80px;
    -webkit-transition: all .2s ease;
            transition: all .2s ease;
}
a.button:hover,
button.button:hover {
    color: #fff; text-decoration: none;
    background-color: #0dadc7;
}
/* Pfeil */
a.button::after,
button.button::after {
    position: absolute; top: 16px; right: 25px; z-index: 1;
    content: "";
    display: inline-block;
    width: 24px; height: 24px;
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 1200 1200' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='m903.75 333.75c0-3.75 0-7.5-3.75-11.25 0-3.75-3.75-7.5-7.5-11.25 0 0-3.75 0-3.75-3.75-3.75-3.75-3.75-3.75-7.5-3.75h-3.75c-3.75 0-7.5-3.75-11.25-3.75h-532.5c-22.5 0-37.5 15-37.5 37.5s15 37.5 37.5 37.5h438.75l-465 465c-15 15-15 37.5 0 52.5 7.5 7.5 18.75 11.25 26.25 11.25s18.75-3.75 26.25-11.25l465-465v438.75c0 22.5 15 37.5 37.5 37.5s37.5-15 37.5-37.5z'/></svg>");
}

a.button.white,
.bg-tuerkis a.button,
.bg-tuerkis button.button {
    color: #0dadc7;
	background-color: #fff;
}
a.button.white::after,
.bg-tuerkis a.button::after,
.bg-tuerkis button.button::after {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 1200 1200' fill='%230dadc7' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='m903.75 333.75c0-3.75 0-7.5-3.75-11.25 0-3.75-3.75-7.5-7.5-11.25 0 0-3.75 0-3.75-3.75-3.75-3.75-3.75-3.75-7.5-3.75h-3.75c-3.75 0-7.5-3.75-11.25-3.75h-532.5c-22.5 0-37.5 15-37.5 37.5s15 37.5 37.5 37.5h438.75l-465 465c-15 15-15 37.5 0 52.5 7.5 7.5 18.75 11.25 26.25 11.25s18.75-3.75 26.25-11.25l465-465v438.75c0 22.5 15 37.5 37.5 37.5s37.5-15 37.5-37.5z'/></svg>");
}

.btn-text,
.btn-text:active,
.btn-text:hover {
    position: relative;
	display: inline-block;
    padding-right: 35px;
	font-family: "Metropolis", Helvetica, Arial, sans-serif; color: #1f355a; font-weight: 600; cursor: pointer; text-decoration: none;
    border-bottom: 1px solid #0dadc7;
    -webkit-transition: all .1s ease;
            transition: all .1s ease;
}
.btn-text::after {
    position: absolute; top: 0; right: -4px; z-index: 1;
    content: "";
    display: inline-block;
    width: 24px; height: 24px;
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 1200 1200' fill='%231f355a' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='m903.75 333.75c0-3.75 0-7.5-3.75-11.25 0-3.75-3.75-7.5-7.5-11.25 0 0-3.75 0-3.75-3.75-3.75-3.75-3.75-3.75-7.5-3.75h-3.75c-3.75 0-7.5-3.75-11.25-3.75h-532.5c-22.5 0-37.5 15-37.5 37.5s15 37.5 37.5 37.5h438.75l-465 465c-15 15-15 37.5 0 52.5 7.5 7.5 18.75 11.25 26.25 11.25s18.75-3.75 26.25-11.25l465-465v438.75c0 22.5 15 37.5 37.5 37.5s37.5-15 37.5-37.5z'/></svg>");
}

.bg-blau .btn-text,
.bg-blau .btn-text:active,
.bg-blau .btn-text:hover {
	color: #fff;
}
.bg-blau .btn-text::after {
    border-color: #fff;
}

/* Für Such-Modal */
.btn-primary {
  --bs-btn-color: #fff;
  --bs-btn-bg: #0dadc7;
  --bs-btn-border-color: #0dadc7;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #0dadc7;
  --bs-btn-hover-border-color: #0dadc7;
  --bs-btn-focus-shadow-rgb: 49, 132, 253;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #0dadc7;
  --bs-btn-active-border-color: #0dadc7;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #fff;
  --bs-btn-disabled-bg: #0dadc7;
  --bs-btn-disabled-border-color: #0dadc7;
}

/* Pagination */
.pagination {
    --bs-pagination-border-radius: 0;
    --bs-pagination-padding-x: 0;
    --bs-pagination-padding-y: 0;
    --bs-pagination-font-size: 16px;
    --bs-pagination-color: #1f355a;
    --bs-pagination-hover-color: var(--bs-pagination-color);
    --bs-pagination-focus-color: var(--bs-pagination-color);
    --bs-pagination-focus-bg: transparent;
    --bs-pagination-hover-bg: transparent;
    --bs-pagination-bg: transparent;
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: #1f355a;
    margin-bottom: 100px;
}
.page-link {    
    font-weight: 600; line-height: 40px; text-align: center;
    width: 40px; height: 40px;
    border: none;
}
.page-link:hover {
    color: var(--bs-pagination-hover-color); text-decoration: none;
}
.page-link.active, .active > .page-link {  
    background-color: var(--bs-pagination-active-bg);
    border-radius: 100%;
}
.page-link.active, .active > .page-link:hover {
    color: var(--bs-pagination-active-color);
}
.page-item:first-child .page-link,
.page-item:last-child .page-link {
    border-radius: 100%;
}

/* Badge */
.badge {
    padding-top: 6px;
    font-size: 13px; line-height: 13px; font-weight: 500; text-transform: uppercase;
    background-color: #0dadc7;
}

/* Selection */
::selection {
    color: #fff;
    background: #0dadc7; /* WebKit/Blink Browsers */
}
::-moz-selection {
    color: #fff;
    background: #0dadc7; /* Gecko Browsers */
}

/* Icons */
i.bi {
    display: inline-block;
    position: relative;
    margin-right: 8px;
}
i.bi:before {
    display: inline-block;
    width: 16px; height: 16px;
    content: '';
    vertical-align: -3px;
}
i.bi.lg:before {
    width: 34px; height: 34px;
}
i.bi.bi-phone:before {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%231f355a' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z' clip-rule='evenodd'/></svg>");
    background-repeat: no-repeat;
}
i.bi.bi-search:before {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%231f355a' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0' clip-rule='evenodd'/></svg>");
    vertical-align: -2px;
    background-repeat: no-repeat;
}
i.bi.bi-phone-white:before {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M3.654 1.328a.678.678 0 0 0-1.015-.063L1.605 2.3c-.483.484-.661 1.169-.45 1.77a17.568 17.568 0 0 0 4.168 6.608 17.569 17.569 0 0 0 6.608 4.168c.601.211 1.286.033 1.77-.45l1.034-1.034a.678.678 0 0 0-.063-1.015l-2.307-1.794a.678.678 0 0 0-.58-.122l-2.19.547a1.745 1.745 0 0 1-1.657-.459L5.482 8.062a1.745 1.745 0 0 1-.46-1.657l.548-2.19a.678.678 0 0 0-.122-.58L3.654 1.328zM1.884.511a1.745 1.745 0 0 1 2.612.163L6.29 2.98c.329.423.445.974.315 1.494l-.547 2.19a.678.678 0 0 0 .178.643l2.457 2.457a.678.678 0 0 0 .644.178l2.189-.547a1.745 1.745 0 0 1 1.494.315l2.306 1.794c.829.645.905 1.87.163 2.611l-1.034 1.034c-.74.74-1.846 1.065-2.877.702a18.634 18.634 0 0 1-7.01-4.42 18.634 18.634 0 0 1-4.42-7.009c-.362-1.03-.037-2.137.703-2.877L1.885.511z' clip-rule='evenodd'/></svg>");
    background-repeat: no-repeat;
}
i.bi.bi-mail:before {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%231f355a' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2Zm13 2.383-4.708 2.825L15 11.105V5.383Zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741ZM1 11.105l4.708-2.897L1 5.383v5.722Z' clip-rule='evenodd'/></svg>");
    background-repeat: no-repeat;
}
i.bi.bi-mail-white:before {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M0 4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V4Zm2-1a1 1 0 0 0-1 1v.217l7 4.2 7-4.2V4a1 1 0 0 0-1-1H2Zm13 2.383-4.708 2.825L15 11.105V5.383Zm-.034 6.876-5.64-3.471L8 9.583l-1.326-.795-5.64 3.47A1 1 0 0 0 2 13h12a1 1 0 0 0 .966-.741ZM1 11.105l4.708-2.897L1 5.383v5.722Z' clip-rule='evenodd'/></svg>");
    background-repeat: no-repeat;
}
i.bi.bi-twitter-white:before {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z' clip-rule='evenodd'/></svg>");
    background-repeat: no-repeat;
}
i.bi.bi-facebook-white:before {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M16 8.049c0-4.446-3.582-8.05-8-8.05C3.58 0-.002 3.603-.002 8.05c0 4.017 2.926 7.347 6.75 7.951v-5.625h-2.03V8.05H6.75V6.275c0-2.017 1.195-3.131 3.022-3.131.876 0 1.791.157 1.791.157v1.98h-1.009c-.993 0-1.303.621-1.303 1.258v1.51h2.218l-.354 2.326H9.25V16c3.824-.604 6.75-3.934 6.75-7.951z' clip-rule='evenodd'/></svg>");
    background-repeat: no-repeat;
}
i.bi.bi-xing-white:before {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 512 512' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M77.835 101.13c-4.399 0-8.198 1.6-10.098 4.599-1.9 3.2-1.6 7.198 0.4 11.298l49.891 86.383c0.1 0.2 0.1 0.3 0 0.4l-78.385 138.573c-1.999 4.099-1.9 8.199 0 11.298 1.9 3 5.199 4.999 9.598 4.999h73.785c10.998 0 16.397-7.498 20.096-14.297 0 0 76.685-135.673 79.685-140.972-0.3-0.5-50.79-88.483-50.79-88.483-3.7-6.498-9.198-13.797-20.596-13.797h-73.585z'/><path d='M387.974 0.050c-10.998 0-15.797 6.899-19.796 14.097 0 0-159.069 282.045-164.268 291.343 0.3 0.5 104.879 192.462 104.879 192.462 3.7 6.498 9.298 14.097 20.596 14.097h73.786c4.399 0 7.899-1.7 9.798-4.699 2-3.2 1.899-7.298-0.2-11.398l-103.98-190.263c-0.1-0.2-0.1-0.3 0-0.5l163.468-289.043c2-4.099 2.099-8.198 0.2-11.398-1.899-2.999-5.399-4.699-9.798-4.699h-74.685z'/></svg>");
    background-repeat: no-repeat;
}
i.bi.bi-calendar:before {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%231f355a' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M14 0H2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zM1 3.857C1 3.384 1.448 3 2 3h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H2c-.552 0-1-.384-1-.857V3.857z'/><path d='M6.5 7a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm-9 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2zm3 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2z'/></svg>");
    background-repeat: no-repeat;
}
i.bi.bi-linkedin:before {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 512 512' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M256,0C114.615,0,0,114.615,0,256S114.615,512,256,512,512,397.385,512,256,397.385,0,256,0ZM183.435,382.667H126.381V203.653h57.054ZM154.908,180.208a32.1,32.1,0,1,1,32.1-32.1A32.1,32.1,0,0,1,154.908,180.208ZM389.2,382.667h-56l0-97.882c0-4.973.785-37.949-27.219-37.949a30.948,30.948,0,0,0-25.681,12.576,39.134,39.134,0,0,0-7.818,23.8v99.451H216.55V203.653h53.216v25.124c12.737-19.541,28.789-26.694,44.578-29.573,28.027-5.11,74.851,11.952,74.851,62.9Z'/></svg>");
    background-repeat: no-repeat;
}

.table {
  --bs-table-bg: transparent;
--bs-table-color: #1f355a;
  margin-top: 20px; margin-bottom: 30px;
    font-size: 14px; line-height: 24px;
  border-color: var(--bs-table-border-color);
}

.text-small {
    font-size: 15px; line-height: 25px;
}


/* -----------------------------------------------------------------------------------
Container
----------------------------------------------------------------------------------- */
.container-fluid {
	position: relative;
}
.container-fluid.sm {
    max-width: 1200px;
}
.container-fluid.lg {
	max-width: 1300px;
}
.container-fluid.xl {
	max-width: 1500px;
}
.container-fluid.xxl {
	max-width: 1900px;
}
.container-fluid,
.container {
    padding: 0 15px;
}

.row {
    margin-left: -15px; margin-right: -15px; }

    .row [class^="col"] {
        padding-left: 15px; padding-right: 15px;
}
.row.xs-space {
    margin-left: -10px; margin-right: -10px; }

    .row.xs-space [class^="col"] {
        padding: 0 10px;
}
.row.no-space {
    margin-left: 0; margin-right: 0; }

    .row.no-space [class^="no-space col"] {
        padding: 0;
}
@media (max-width: 767px) {
    .container-fluid.no-padding,
    .container.no-padding {
        padding: 0;
    }
}
@media (min-width: 768px) {
    .header-white-bg {
        margin-bottom: 50px; padding-bottom: 20px;
        background: linear-gradient(to left, #f3f3f1 60%, transparent 0);
    }
    
    .container {
        padding-right: 30px; padding-left: 30px;
    }
    .container-fluid {
        padding-left: 30px; padding-right: 30px;
    }
}
@media (min-width: 992px) {
    .container {
        padding-right: 40px; padding-left: 40px;
        max-width: 800px;
    }
    .container-fluid {
        padding-left: 40px; padding-right: 40px;
    }
    .row.lg-space {
        margin-left: -30px; margin-right: -30px; }

        .row.lg-space [class^="col"] {
            padding-left: 30px; padding-right: 30px;
    }
}

.einleitung {
    margin-bottom: 40px;
}

.bg-weiss {
    background-color: #fff;
}

/* -----------------------------------------------------------------------------------
Navigation
----------------------------------------------------------------------------------- */
.navbar {
    padding-left: 0; padding-right: 0;
}
.navbar-light.bg-light {
    background-color: transparent !important;
    -webkit-box-shadow: none;
            box-shadow: none; }

        .navbar-light .navbar-brand img {
            margin-top: 7px; margin-bottom: 7px;
            height: 75px; width: auto;
        }

        .navbar-toggler {
            margin-top: -10px; padding: 0;
            border: none;
            background: transparent !important; }

            .navbar-toggler .icon-bar {
                width: 29px; 
                height: 3px;
                background-color: #1f355a;
                display: block;
                transition: all 0.2s;
                margin-top: 5px
            }
            .navbar-toggler .icon-bar.top-bar {
                transform: rotate(45deg);
                transform-origin: 10% 10%;
            }
            .navbar-toggler .icon-bar.middle-bar {
                opacity: 0;
            }
            .navbar-toggler .icon-bar.bottom-bar {
                transform: rotate(-45deg);
                transform-origin: 10% 90%;
            }
            .navbar-toggler.collapsed .icon-bar.top-bar {
                transform: rotate(0);
            }
            .navbar-toggler.collapsed .icon-bar.middle-bar {
                opacity: 1;
            }
            .navbar-toggler.collapsed .icon-bar.bottom-bar {
                transform: rotate(0);
        }

        .navbar-light .navbar-nav a.nav-link {
            font-family: "Metropolis", Helvetica, Arial, sans-serif; font-size: 18px; line-height: 28px; color: #1f355a; font-weight: 500;
            -webkit-transition: all .2s ease;
                    transition: all .2s ease;
        }
        .navbar-light .navbar-nav a.nav-link:hover,
        .navbar-light .navbar-nav a.nav-link:focus {
            color: #0dadc7;
        }

            .dropdown-toggle::after {
                content: "";
                display: inline-block;
                margin-left: 10px;
                width: 7px; height: 7px;
                border: none; border-bottom: 1px solid #1f355a; border-right: 1px solid #1f355a;
                -webkit-transform: rotate(45deg);
                        transform: rotate(45deg);
            }

            .navbar-light .navbar-nav .dropdown-menu {
                padding: 20px 20px 0 20px;
                border: none; }

                .navbar-light .navbar-nav .dropdown-menu a {
                    padding: 6px 20px 6px 0;
                    font-family: "Metropolis", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 26px; font-weight: 500; color: #1f355a; text-decoration: none;
                    background-color: transparent;
                    -webkit-transition: all .2s ease;
                            transition: all .2s ease;
                }
                .navbar-light .navbar-nav .dropdown-menu a:hover,
                .navbar-light .navbar-nav .dropdown-menu a:focus {
                    color: #1f355a;
                }
                .navbar-light .navbar-nav .dropdown-menu a.active {
                    color: #0dadc7;
}
@media (max-width: 1399px) {
.navbar-light.bg-light {
    background-color: #fff !important; }
    
    /* Fix: */
    .navbar-collapse {
        padding-top: 20px; padding-bottom: 20px;
        max-height: calc(100vh - 100px);
        overflow-y: auto;
    }
    
    .navbar-light .navbar-nav a.nav-link {
        margin: 0; padding-top: 8px; padding-bottom: 8px;
        font-size: 20px; line-height: 30px; }
    
        .navbar-light .navbar-nav .dropdown-menu {
            margin-bottom: 15px; padding-top: 0; }
    
            .navbar-light .navbar-nav .dropdown-menu a {
                padding: 5px 20px 5px 0;
                font-size: 19px; line-height: 29px;
            }
            .navbar-light .navbar-nav .dropdown-menu .dropdown-item {
                white-space: normal;
    }
}
@media (min-width: 768px) {
    .navbar-light .navbar-brand img {
        margin-top: 15px; margin-bottom: 15px;
        height: 90px;
    }
}
@media (min-width: 1400px) {
    .navbar-light {
        margin-bottom: 30px;
        border-bottom: 1px solid #1f355a; }
    
        .navbar-light .navbar-brand img {
            height: 115px;
        }

        .navbar-light .navbar-nav a.nav-link {
            margin-top: 115px; margin-left: 25px; margin-bottom: 10px; padding: 0;
            border-bottom: 1px solid transparent;
        }
        .navbar-light .navbar-nav a.nav-link.active {
            color: #1f355a;
            border-bottom: 1px solid #0dadc7; }

            .navbar-light .navbar-nav .dropdown-menu {
                padding: 20px 25px 25px 25px;
                min-width: 370px; overflow: hidden;
                background-color: #fff;
                border: none; border-radius: 12px;
                box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1); }

                .navbar-light .navbar-nav .dropdown-menu .dropdown-item {
                    white-space: normal;
    }
}

/* Mega-Dropdown: Produkte & Lösungen  */
.navbar-light .navbar-nav .dropdown-menu.mega-menu .mega-grid {
    display: grid;
    grid-template-columns: 1fr; /* mobile: eine Spalte */ }

    .navbar-light .navbar-nav .dropdown-menu.mega-menu .mega-grid .mega-col a.mega-item {
        display: block;
        padding: 6px 0;
        color: #1f355a; }

        .navbar-light .navbar-nav .dropdown-menu.mega-menu .mega-grid .mega-col a.mega-item span.mega-title {
            display: block;
            margin-bottom: 4px;
        }
        .navbar-light .navbar-nav .dropdown-menu.mega-menu .mega-desc {
            display: block;
            max-width: 300px;
            font-family: "Metropolis", Helvetica, Arial, sans-serif; font-size: 15px; line-height: 23px; font-weight: 400; color: #6a768e;
}
@media (min-width: 1200px) {
    .navbar-light .navbar-nav .dropdown-menu.mega-menu {
        padding: 20px 0; }

        .navbar-light .navbar-nav .dropdown-menu.mega-menu {
            min-width: 800px; }

            .navbar-light .navbar-nav .dropdown-menu.mega-menu .mega-grid {
                grid-template-columns: 1fr 1fr; /* Desktop: zwei Spalten */ }

                .navbar-light .navbar-nav .dropdown-menu.mega-menu .mega-grid .mega-col {
                    padding: 0 30px;
                }
                .navbar-light .navbar-nav .dropdown-menu.mega-menu .mega-grid .mega-col + .mega-col {
                    border-top: 0;
                }
                .navbar-light .navbar-nav .dropdown-menu.mega-menu .mega-grid .mega-col.mega-col--right {
                    border-left: 1px solid #dfdfdf; }
    
                    .navbar-light .navbar-nav .dropdown-menu.mega-menu .mega-grid .mega-col a.mega-item {
                        margin-bottom: 10px; }
}

/* slideIn */
@keyframes slideIn {
  0% {
    transform: translateY(1rem);
    opacity: 0;
  }
  100% {
    transform:translateY(0rem);
    opacity: 1;
  }
  0% {
    transform: translateY(1rem);
    opacity: 0;
  }
}
.slideIn {
    -webkit-animation-delay: 0.1s;
            animation-delay: 0.1s;
    -webkit-animation-duration: 0.35s;
            animation-duration: 0.35s;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    -webkit-animation-name: slideIn;
            animation-name: slideIn;
}

/* Languages & Search */
.lang-search {
	position: absolute; top: 42px; right: 50px;
	display: flex;
	align-items: center;
	gap: 15px;
	font-family: "Metropolis", Helvetica, Arial, sans-serif; font-weight: 500; }

    /* Sprachlinks */
    .lang-search .languages {
        display: flex;
        gap: 10px;
        margin: 0; padding: 0; }

        .lang-search .languages li {
            list-style: none; }

            .lang-search .languages li a {
                color: #1f355a;
            }
            .lang-search .languages li a.active {
                font-weight: 700; color: #1f355a;
    }

    /* Vertikale Trennlinie vor dem CTA */
    .lang-search .get-in-touch {
        position: relative;
        padding-left: 15px;
    }
    .lang-search .get-in-touch::before {
        content: "";
        position: absolute; left: 0; top: 50%;
        transform: translateY(-50%);
        width: 1px; height: 28px;
        background-color: #1f355a;
    }

@media (min-width: 768px) {
	.lang-search {
		top: 59px; right: 70px;
	}
}
@media (min-width: 1400px) {
	.lang-search {
        top: 30px; right: 0;
	}
}


/* -----------------------------------------------------------------------------------
Header (Unterseite)
----------------------------------------------------------------------------------- */
header.unterseite {
  position: relative;
  margin: 0 auto 60px auto;
  width: 100%;        /* neu: immer so breit wie der Viewport */
  max-width: 1900px;  /* Limit nach oben beibehalten */
  overflow: hidden;   /* falls das Bild seitlich „zappelt“, nichts rausgucken lassen */
}
    /* Bild-Wrapper und Bildfüllung */
    header.unterseite .header-media {
        position: relative;
        width: 100%;        /* neu: füllt den Header komplett */
        max-width: 100%;    /* Sicherheit, falls irgendwo was vererbt wird */
        min-height: 280px;
        overflow: hidden;
        aspect-ratio: 1900 / 700;   /* wie zuvor vorgeschlagen */
    }
    /* Bild-Wrapper und Bildfüllung */
    header.unterseite.has-header-boxes .header-media {
    }
    /* Overlay NUR wenn Text über dem Bild liegt */
    header.unterseite .header-media.with-text-overlay::after {
        content: "";
        position: absolute; z-index: 1; /* über dem Bild, unter Text/Boxen */
        inset: 0;
        pointer-events: none;
        background: linear-gradient(39deg,rgba(0, 0, 0, 0.35) 30%, rgba(255, 255, 255, 0) 90%); }

        header.unterseite .header-media .parallax-image {
            position: absolute; z-index: 0;
            bottom: -2%; /* Bild etwas nach oben schieben */
            left: 0;
            width: 100%;
            height: 105%; /* größer als der Container -> genug Reserve fürs Parallax */
            object-fit: cover;
            will-change: transform;
    }

    /* Boxen/Text-Gruppe am unteren Bildrand */
    header.unterseite .header-boxes-wrapper {
        position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; /* über dem Overlay */
        padding: 0 15px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end; /* Inhalt nach unten schieben */
    }
    @media (min-width: 768px) {
        header.unterseite .header-boxes-wrapper {
            padding: 0 30px;
        }
    }
    @media (min-width: 992px) {
        header.unterseite .header-boxes-wrapper {
            padding: 0 40px;
        }
    }

        /* Text über Bild */
        header.unterseite .header-boxes-wrapper .header-bottom-text {
            margin-bottom: 40px;
            max-width: 800px;
            font-family: "Metropolis", Helvetica, Arial, sans-serif; font-size: 32px; line-height: 42px; font-weight: 600; color: #fff;
        }
        header.unterseite.has-header-boxes .header-boxes-wrapper .header-bottom-text {
            margin-bottom: 15px; }

            header.unterseite .header-boxes-wrapper .header-bottom-text em {
                display: inline-block;
                margin-top: 15px;
                font-size: 20px; line-height: 30px; font-style: normal;
        }
        @media (min-width: 1200px) {
            header.unterseite .header-boxes-wrapper .header-bottom-text {
                font-size: 60px; line-height: 70px; }
            
                header.unterseite .header-boxes-wrapper .header-bottom-text em {
                    font-size: 28px; line-height: 38px;
            }
        }

        /* Header Boxen */
        header.unterseite .header-boxes-wrapper .splide-header-boxes {
            margin-bottom: 60px; padding-top: 25px;
            border-top: 1px solid rgba(255, 255, 255, 1); }

            header.unterseite .header-boxes-wrapper .splide-header-boxes.no-nav .splide__slide:not(.splide__slide--clone):last-child {
                margin-right: 0 !important;
            }

            /* Navigation ausblenden, wenn nicht benötigt (per JS Klasse .no-nav) */
            header.unterseite .header-boxes-wrapper .splide-header-boxes.no-nav .splide__arrows,
            header.unterseite .header-boxes-wrapper .splide-header-boxes.no-nav .splide__pagination {
                display: none;
            }

            /* Bulletts */
            header.unterseite .header-boxes-wrapper .splide-header-boxes .splide__pagination {
                bottom: -37px; }
            
                header.unterseite .header-boxes-wrapper .splide-header-boxes .splide__pagination .splide__pagination__page {
                    margin: 4px; padding: 0;
                    width: 11px; height: 11px;
                    opacity: 1;
                    background: #fff;
                }
                header.unterseite .header-boxes-wrapper .splide-header-boxes .splide__pagination .splide__pagination__page.is-active {
                    background: #fff;
                    transform: scale(1.3);
            }

            /* Gleich hohe Boxen im Splide-Carousel */
            header.unterseite .header-boxes-wrapper .splide-header-boxes .splide__track .splide__list {
                align-items: stretch; }

                header.unterseite .header-boxes-wrapper .splide-header-boxes .splide__track .splide__list .splide__slide .header-box {
                    width: 100%; height: 100%;
                    padding: 20px 15px 1px 15px;
                    hyphens: auto;
                    background-color: #fff;
                    border-radius: 12px; }

                    header.unterseite .header-boxes-wrapper .splide-header-boxes .splide__track .splide__list .splide__slide .header-box span.headline {
                        display: block;
                        margin-bottom: 8px;
                        font-family: "Metropolis", Helvetica, Arial, sans-serif; font-size: 19px; line-height: 29px; font-weight: 600;
}
@media (min-width: 768px) {
    header.unterseite.has-header-boxes .header-boxes-wrapper .header-bottom-text {
        margin-bottom: 25px;
    }

    header.unterseite .header-boxes-wrapper .splide-header-boxes {
        padding-top: 40px;
    }
    
    header.unterseite .header-media {
        min-height: 460px;
        aspect-ratio: 1900 / 700;
    }
    
    header.unterseite .header-boxes-wrapper .splide-header-boxes .splide__track .splide__list .splide__slide .header-box {
        padding: 30px 30px 5px 30px; }
    
}
@media (min-width: 992px) {
    /* Text über Bild */
    header.unterseite .header-boxes-wrapper .header-bottom-text {
        margin-bottom: 100px;
    }
}
@media (min-width: 1940px) {
    header.unterseite .header-media {
        border-radius: 20px;
    }
}


/* -----------------------------------------------------------------------------------
Startseite
----------------------------------------------------------------------------------- */
.home-news-media {
    padding-top: 60px; padding-bottom: 20px;
    background-color: #f3f3f1;
}

.home-news-media .module-foto-gross-text {
    margin-bottom: 20px; }


.home-news-media .module-foto-text-boxen-spalten {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .home-news-media .module-foto-gross-text {
        margin-bottom: 60px;
    }
}


/* Social Icon */
.home-news-media .social-icon {
    margin-top: 20px; margin-bottom: 40px;
    max-width: 500px;
    font-family: "Metropolis", Helvetica, Arial, sans-serif; font-weight: 500; text-align: center; }

    .home-news-media .social-icon i.bi {
        margin-right: 20px;
    }
    .home-news-media .social-icon i.bi.bi-linkedin:before {
        background-image: url("data:image/svg+xml,<svg viewBox='0 0 512 512' fill='%230dadc7' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='M256,0C114.615,0,0,114.615,0,256S114.615,512,256,512,512,397.385,512,256,397.385,0,256,0ZM183.435,382.667H126.381V203.653h57.054ZM154.908,180.208a32.1,32.1,0,1,1,32.1-32.1A32.1,32.1,0,0,1,154.908,180.208ZM389.2,382.667h-56l0-97.882c0-4.973.785-37.949-27.219-37.949a30.948,30.948,0,0,0-25.681,12.576,39.134,39.134,0,0,0-7.818,23.8v99.451H216.55V203.653h53.216v25.124c12.737-19.541,28.789-26.694,44.578-29.573,28.027-5.11,74.851,11.952,74.851,62.9Z'/></svg>");
        background-repeat: no-repeat;
}


/* Europipe als Arbeitgeber */
.home-europipe-arbeitgeber {
    margin-bottom: 120px; padding-top: 60px; padding-bottom: 30px;
    font-family: "Metropolis", Helvetica, Arial, sans-serif; font-weight: 400; font-size: 26px; line-height: 36px; color: #fff;
    background-color: #0dadc7; }

    .home-europipe-arbeitgeber .image-box img.image {
		width: 100%; height: 100%; object-fit: cover;
        border-radius: 20px;
}
        .home-europipe-arbeitgeber .container-fluid .container h2.mini {
            font-size: 16px; line-height: 26px; font-weight: 400;
    }
@media (max-width: 767px) {
    .home-europipe-arbeitgeber .container-fluid .container {
        padding: 30px 0 1px 0;
    }
}
@media (min-width: 768px) {
    .home-europipe-arbeitgeber {
        padding-bottom: 60px;
        font-size: 32px; line-height: 42px; }
    
        .home-europipe-arbeitgeber .container-fluid .container {
            padding: 30px 0 0 0;
            max-width: 520px;
    }
}


/* -----------------------------------------------------------------------------------
Module: Foto + Text Boxen (Auch bei Referenzen, Wissen Übersicht, Startseite)
----------------------------------------------------------------------------------- */
.module-foto-text-boxen-spalten {
    margin-bottom: 60px; }


.module-foto-text-boxen-spalten figure {
        height: 100%; overflow: hidden;
        background-color: #f3f3f1;
        border-radius: 20px;
    }
.module-foto-text-boxen-spalten.bg-grau figure {
    background-color: #fff;
    }

        .module-foto-text-boxen-spalten figure figcaption {
            padding-top: 40px; padding-bottom: 10px;
    }

.module-foto-text-boxen-spalten figure figcaption time.date {
    display: block;
    margin-bottom: 15px;
    font-size: 15px; line-height: 25px;
}


    .module-foto-text-boxen-spalten .row [class*="col-"] {
        margin-bottom: 40px; }

        .module-foto-text-boxen-spalten .row [class*="col-"] a,
        .module-foto-text-boxen-spalten .row [class*="col-"] a:hover {
            text-decoration: none;
}                    


/* -----------------------------------------------------------------------------------
Module: Großes Foto + Text
----------------------------------------------------------------------------------- */
.module-foto-gross-text {
    margin-bottom: 120px; }

/* Türkis */
.module-foto-gross-text .container-fluid .bg-tuerkis {
    padding: 15px;
    color: #fff;
    background-color: #0dadc7;  
    border-radius: 20px;
}
/* Grau */
.module-foto-gross-text .container-fluid .bg-grau {
    padding: 15px;
    background-color: #f3f3f1;  
    border-radius: 20px;
}

    .module-foto-gross-text .image-box img.image {
		width: 100%; height: 100%; object-fit: cover;
        border-radius: 20px;
    }

.module-foto-gross-text .container-fluid .container time.date {
    display: block;
    margin-bottom: 15px;
    font-size: 15px; line-height: 25px;
}

/* Grosser Text */
.module-foto-gross-text.grosser-text {
    font-family: "Metropolis", Helvetica, Arial, sans-serif; font-weight: 400; font-size: 26px; line-height: 36px; }

    .module-foto-gross-text.grosser-text h2,
    .module-foto-gross-text.grosser-text h3 {
        font-size: 16px; line-height: 26px; font-weight: 400;
}
@media (min-width: 768px) {
    .module-foto-gross-text.grosser-text {
        font-size: 32px; line-height: 42px; }
}




@media (max-width: 767px) {
    .module-foto-gross-text .container-fluid .container {
        padding: 30px 0 1px 0;
    }
    
}
@media (min-width: 768px) {
    /* Türkis, Grau */
    .module-foto-gross-text .container-fluid .bg-tuerkis,
    .module-foto-gross-text .container-fluid .bg-grau {
        padding: 30px; }
    
        .module-foto-gross-text .container-fluid .container {
            padding: 30px 0 0 0;
            max-width: 520px;
    }
}
@media (min-width: 1200px) {
    /* Türkis, Grau */
    .module-foto-gross-text .container-fluid .bg-tuerkis,
    .module-foto-gross-text .container-fluid .bg-grau {
        padding: 40px;
    }
}


/* -----------------------------------------------------------------------------------
Impressionen
----------------------------------------------------------------------------------- */
.impressionen-container {
    margin-bottom: 100px; }

    /* Mehrspaltig */
    .impressionen-container a.image-hover-effect .image-container {
        overflow: hidden;
        margin-bottom: 40px;
        border-radius: 20px;
    }

    /* Einspaltig */
    .impressionen-container img.image {
        margin-bottom: 40px;
        border-radius: 20px;
}


/* -----------------------------------------------------------------------------------
Module: Text Boxen mit optionalem Icon
----------------------------------------------------------------------------------- */
.module-icon-text-boxen-spalten {
    margin-bottom: 60px; }

    .module-icon-text-boxen-spalten .row [class*="col-"] {
        margin-bottom: 40px; }

        .module-icon-text-boxen-spalten .text-box {
			padding-top: 40px; padding-bottom: 20px;
            height: 100%;
            background-color: #f3f3f1;
            border-radius: 20px;
        }
        .module-icon-text-boxen-spalten .text-box.bg-tuerkis {
            color: #fff;
            background-color: #0dadc7; }

            .module-icon-text-boxen-spalten .text-box.bg-tuerkis .icon-box img.image.icon-color {
                filter: brightness(0) invert(1); }

            .module-icon-text-boxen-spalten .text-box h3.more-margin {
                margin-bottom: 30px; }

                .module-icon-text-boxen-spalten .icon-box img.image {
                    margin-bottom: 20px;
                    width: 65px; height: 65px;
                }
                .module-icon-text-boxen-spalten .icon-box img.image.icon-color {
                    filter: invert(19%) sepia(18%) saturate(1747%) hue-rotate(178deg) brightness(97%) contrast(96%);
}

/* Einspaltig */
.module-icon-text-boxen-spalten .row > .col-12 .einspaltig {
    border-bottom: 1px solid #dfdfdf;
}
.module-icon-text-boxen-spalten .row > .col-12:last-child .einspaltig {
    border-bottom: none; }

    .module-icon-text-boxen-spalten .row [class*="col-"] .einspaltig [class*="col-"] {
        margin-bottom: 10px; }

        .module-icon-text-boxen-spalten .row [class*="col-"] .einspaltig [class*="col-"] .icon-box img.image {
            margin-bottom: 0; margin-right: 10px;
}


/* -----------------------------------------------------------------------------------
Module: Ablauf
----------------------------------------------------------------------------------- */
.module-ablauf {
    margin-bottom: 60px; }

    .module-ablauf .row [class*="col-"] {
        margin-bottom: 40px; }

        .module-ablauf .text-box {
            height: 100%;
            text-align: center; }

            .module-ablauf .icon-box img.image {
                margin-bottom: 20px;
                width: 130px; height: 130px;
}


/* -----------------------------------------------------------------------------------
Module: Textabschnitt
----------------------------------------------------------------------------------- */
.textabschnitt {
    margin-bottom: 100px;
}
.textabschnitt.einleitung {
    margin-bottom: 60px; }

    /* Blockquote */
     .textabschnitt blockquote {
        margin: 50px 0; padding: 40px 20px;
        color: #fff; text-align: center;
        background-color: #0dadc7;
        border-radius: 20px; }

        .textabschnitt blockquote p {
            margin: 0 auto;
            max-width: 500px;
    }

    .textabschnitt img.image {
        margin-top: 5px; margin-bottom: 30px;
        border-radius: 20px;
}


/* -----------------------------------------------------------------------------------
Module: Textabschnitt (Frage links, Antwort rechts)
----------------------------------------------------------------------------------- */
.textabschnitt-frage-antwort {
    margin-bottom: 90px; }

    .textabschnitt-frage-antwort .frage p {
        margin-bottom: 10px;
        font-size: 19px; line-height: 29px; font-weight: 600;
}


/* -----------------------------------------------------------------------------------
Fragen und Antworten (Accordion)
----------------------------------------------------------------------------------- */
.module-fragen-und-antworten {
    margin-bottom: 90px; }

    .accordion .accordion-eintrag {
        margin-bottom: 10px;
        background-color: #fff; }

	.accordion .accordion-eintrag button.accordion-button {
		margin: 0; padding: 20px;
		font-size: 17px; line-height: 27px; font-weight: 500;
		color: inherit;
		background-color: #f3f3f1;
    }
	.accordion .accordion-eintrag button.accordion-button::after {
		content: none;
    }
	.accordion .accordion-eintrag button.accordion-button:not(.collapsed) {
		color: #fff;
		background-color: #0dadc7;
		box-shadow: none; }

        .accordion .accordion-eintrag button.accordion-button .accordion-icon {
            display: block;
            margin-right: 40px;
        }
        .accordion .accordion-eintrag button.accordion-button .accordion-icon::before {
            position: absolute; left: 20px; top: 33px;
            content: '';
            display:inline-block;
            margin-top: -10px;
            width: 20px; height: 20px;
            background:
                linear-gradient(#0dadc7,#0dadc7),
                linear-gradient(#0dadc7,#0dadc7);
            background-position:center;
            background-size: 100% 1.5px, 1.5px 100%;
            background-repeat: no-repeat;
        }
        .accordion .accordion-eintrag button.accordion-button:not(.collapsed) .accordion-icon::before {
            background: linear-gradient(#fff, #fff);
            background-position: center;
            background-size: 100% 1.5px, 1.5px 100%;
            background-repeat: no-repeat;
        }

        .accordion .accordion-eintrag .content {
            padding: 30px 0 10px 0;
}


/* -----------------------------------------------------------------------------------
Karriere
----------------------------------------------------------------------------------- */
.stellenlst {
    font-family: "Metropolis", Helvetica, Arial, sans-serif; 
}

.stellenlsthead {
    padding: 20px;
    color: #fff; font-weight: 600;
    background-color: #0dadc7;
    border-radius: 12px;
}

.stellenlst span.headerlink.stellenlink {
    position: relative;
    display: block;
    padding: 20px 50px 20px 15px;
    font-size: 20px; line-height: 30px; font-weight: 600;
    border-bottom: 1px solid #dfdfdf;
    cursor: pointer;
    -webkit-transition: all .1s ease;
            transition: all .1s ease;
}
.stellenlst span.headerlink.stellenlink:hover {
    color: #0dadc7;
}
/* Pfeil */
.stellenlst span.headerlink.stellenlink::after {
    position: absolute; top: 21px; right: 15px; z-index: 1;
    content: "";
    display: inline-block;
    width: 30px; height: 30px;
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 1200 1200' fill='%230dadc7' xmlns='http://www.w3.org/2000/svg'><path fill-rule='evenodd' d='m903.75 333.75c0-3.75 0-7.5-3.75-11.25 0-3.75-3.75-7.5-7.5-11.25 0 0-3.75 0-3.75-3.75-3.75-3.75-3.75-3.75-7.5-3.75h-3.75c-3.75 0-7.5-3.75-11.25-3.75h-532.5c-22.5 0-37.5 15-37.5 37.5s15 37.5 37.5 37.5h438.75l-465 465c-15 15-15 37.5 0 52.5 7.5 7.5 18.75 11.25 26.25 11.25s18.75-3.75 26.25-11.25l465-465v438.75c0 22.5 15 37.5 37.5 37.5s37.5-15 37.5-37.5z'/></svg>");
}

/* Stellenbeschreibung */
.jobad {
    color: #1f355a !important; line-height: 26px !important;
}

.jobad .wrapper {
padding: 0 !important;
}
.jobad .wrapper .header {
    border-top-left-radius: 20px !important;
    border-top-right-radius: 20px !important;
    overflow: hidden !important;
}
.jobad .company p {
font-size: 16px !important; line-height: 26px !important;
}
.jobad .apply a {
width: auto !important;
font-weight: 500 !important;
padding: 20px 30px !important;
}

.concludis-bootstrap label,
.concludis-bootstrap strong {
    font-weight: 600 !important;
}


/* -----------------------------------------------------------------------------------
O-Töne Eintrag
----------------------------------------------------------------------------------- */
.o-ton-foto-gross-text {
    margin-bottom: 120px; }

    .o-ton-foto-gross-text .image-box img.image {
		width: 100%; height: 100%; object-fit: cover;
        border-radius: 20px;
    }

    /* Blockquote */
     .o-ton-foto-gross-text blockquote {
         font-size: 26px; line-height: 36px;
 }
@media (max-width: 767px) {
    .o-ton-foto-gross-text .container-fluid .textbox {
        padding: 30px 0 1px 0;
    }
}
@media (min-width: 768px) {
    .o-ton-foto-gross-text .container-fluid .textbox {
        padding: 30px 0 0 0;
        max-width: 520px;
    }
}


/* -----------------------------------------------------------------------------------
Image Hover Effect
----------------------------------------------------------------------------------- */
a.image-hover-effect,
a.image-hover-effect:hover {
    overflow: hidden;
    text-decoration: none;
    -webkit-transform: translateY(0);
            transform: translateY(0) }

    a.image-hover-effect .image-container,
    a.image-hover-effect .image-container img {
        position: relative;
        -webkit-transition: all .3s ease-in-out;
                transition: all .3s ease-in-out;
    }
    a.image-hover-effect .image-container {
        overflow: hidden;
    }
    a.image-hover-effect.inset-shadow .image-container:after {
        position: absolute; top: 0; right: 0; left: 0; bottom: 0;
        content: '';
        box-shadow: inset 0px 0px 60px rgba(44,45,47,0.2);}

        a.image-hover-effect .image-container img {
            display: block;
            margin: 0;
            width: 100%; height: auto; max-width: 100%;
            -webkit-transform: scale(1);
                    transform: scale(1)
        }
        a.image-hover-effect:hover .image-container img {
            -webkit-transform: scale(1.05);
                    transform: scale(1.05)
}


/* -----------------------------------------------------------------------------------
Blog Eintrag
----------------------------------------------------------------------------------- */
.date-time-container {
    margin-bottom: 20px;
    font-size: 14px; line-height: 24px; }

    .date-time-container time {
        margin-right: 20px;
}


/* -----------------------------------------------------------------------------------
Download Formular
----------------------------------------------------------------------------------- */
.downloadformular {
    margin-bottom: 100px; }

    .downloadformular .infobox {
        margin: 40px 0;
}


/* -----------------------------------------------------------------------------------
Zitat (Volle Breite)
----------------------------------------------------------------------------------- */
.zitat-volle-breite {
    margin-bottom: 120px; padding-top: 60px; padding-bottom: 30px; 
    font-size: 26px; line-height: 36px; font-weight: 600; color: #fff; text-align: center;
    background-color: #0dadc7;
}


/* -----------------------------------------------------------------------------------
Downloads
----------------------------------------------------------------------------------- */
/* Rahmen um die gesamte Liste */
.download-card{
    margin-bottom: 100px;
    border: 1px solid #dfdfdf; border-radius: 20px;
    overflow: hidden;
}

/* Einzelner Eintrag mit Trenner unten */
.download-card .download-item {
    position: relative; /* nötig für .stretched-link */
    padding: 30px;
    border-bottom: 1px solid #dfdfdf;
}

/* Beim letzten Eintrag den Trenner entfernen */
.download-card .download-item:last-child{
    border-bottom: 0;
}

/* Optional: Hover/Fokus-Feedback für gute UX/Barrierefreiheit */
.download-card .download-item:hover{ background: #fafbfc; }
.download-card .download-item:focus-within{
    outline: 2px solid #0d6efd;
    outline-offset: -2px;
}

/* Badges nicht umbrechen lassen (gleiche Höhe/rechte Flucht) */
.download-card .badge{
    white-space: nowrap;
}
@media (max-width: 767px) {
    .download-card .badge{
        margin-bottom: 20px;
    }
}


/* -----------------------------------------------------------------------------------
Kontakt
----------------------------------------------------------------------------------- */
    .kontakt-container {
        margin-bottom: 100px;
}

    .kontakt-container .anschrift {
        margin-bottom: 60px;
}

.kontakt-container .infobox {
        margin: 40px 0;
}

@media (min-width: 1200px) {
    .kontakt-container .anschrift {
        padding-left: 40px;
    }
}



/* -----------------------------------------------------------------------------------
Formulare
----------------------------------------------------------------------------------- */
.error-message {
    margin-bottom: 30px; padding: 20px 25px;
    color: #b82727;
    background-color: #fbeaee;
    border: 1px solid #b82727;
}

.form-group {
    margin-bottom: 20px; }

    .form-control,
    .has-success .form-control,
    .has-error .form-control {
        padding: 25px;
        height: auto;
        font-size: 16px; line-height: normal; color: #1f355a; font-weight: 400;
        background-color: #f3f3f1;
        border: 1px solid #f3f3f1;
        -webkit-box-shadow: none;
                box-shadow: none;
    }
    .form-control:focus,
    .has-success .form-control:focus,
    .has-error .form-control:focus {
        color: #1f355a;
        background-color: #f3f3f1;
        border-color: #1f355a; 
        -webkit-box-shadow: none;
                box-shadow: none;
    }
    .form-control.has-error,
    .form-control.has-error:focus {
        color: #b82727;
        background-color: #fbeaee;
        border-color: #b82727;
}

/* Custom Select */
.custom-select {
  position: relative;
  display: block;
  overflow: hidden; }

/* Reset Select */
.custom-select select {
	-webkit-appearance: none;
	   -moz-appearance: none;
	    -ms-appearance: none;
	        appearance: none;
	cursor: pointer;
}
/* Arrow */
.custom-select::after {
	position: absolute; top: 21px; right: 25px;
	font-size: 12px;
	content: '\25BC';
	pointer-events: none;
}

/* Checkbox */
.form-check-input {
    border: 1px solid #1f355a;
}
.form-check-input:checked {
    background-color: #0dadc7;
    border-color: #0dadc7;
}
.form-check-input[type=checkbox]:indeterminate {
    background-color: #0dadc7;
    border-color: #0dadc7;
}

.form-control::-webkit-input-placeholder {
  font-size: 16px; color: #1f355a; font-weight: 400;
  opacity: 1;
}
.form-control::-moz-placeholder {
  font-size: 16px; color: #1f355a; font-weight: 400;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  font-size: 16px; color: #1f355a; font-weight: 400;
  opacity: 1;
}
.form-control::-ms-input-placeholder {
  font-size: 16px; color: #1f355a; font-weight: 400;
  opacity: 1;
}
.form-control::placeholder {
  font-size: 16px; color: #1f355a; font-weight: 400;
  opacity: 1;
}
.form-control.has-error::-webkit-input-placeholder {
  color: #b82727;
}
.form-control.has-error::-moz-placeholder {
  color: #b82727;
}
.form-control.has-error:-ms-input-placeholder {
  color: #b82727;
}
.form-control.has-error::-ms-input-placeholder {
  color: #b82727;
}
.form-control.has-error::placeholder {
  color: #b82727;
}

/* Nur für das Kirby Uniform Plugin notwendig */
.uniform__potty {
    position: absolute;
    left: -9999px;
}


/* -----------------------------------------------------------------------------------
Footer
----------------------------------------------------------------------------------- */
footer {
    padding: 100px 0 80px 0;
    font-family: "Metropolis", Helvetica, Arial, sans-serif; font-size: 15px; line-height: 25px; color: #fff;
    background-color: #1f355a; }

    footer a,
    footer a:hover {
        color: #fff; text-decoration: none;
    }

        footer .kontakt-spalten {
            margin-bottom: 50px;
        }

        footer .kontakt-spalten h3 {
            margin-bottom: 5px;
            font-size: 19px; line-height: 29px;
            opacity: 0.5;
}
footer .abschlussleiste {
    text-align: center;
}

@media (max-width: 767px) {
    footer {
        text-align: center; }

        footer .content {
            margin-bottom: 40px;
        }
		footer .kontakt-spalten .rechte-spalte img {
			display: block;
			margin: 0 auto 50px auto;
			height: 90px; width: auto;
    }
}
@media (min-width: 768px) {
    footer .content {
        margin-right: 20px;
    }
    footer .rechte-spalte {
        text-align: right; }
    
        footer .kontakt-spalten .rechte-spalte img {
            float: right;
            margin-right: 10px;
            height: 90px; width: auto;
    }
}
@media (min-width: 1200px) {   
    footer .content {
        margin-right: 20px;
    }
}
@media (min-width: 1400px) {
    footer .content {
        margin-right: 50px;
    }
}






#liveResults mark { background: #ffe699; padding: 0 .1em; border-radius: .2em; }
#liveResults .list-group-item.active { outline: 2px solid #0d6efd; }


#liveResults .list-group-item small.d-block {
  opacity: .85;
}


mark {
  background: #ffe699;
  color: inherit;
  padding: 0 .15em;
  border-radius: .2em;
}


/* -----------------------------------------------------------------------------------
Fullscreen Lightbox v3.6.0 Pro
----------------------------------------------------------------------------------- */
.fslightbox-container{
    background: #fff !important;
}
.fslightbox-svg-path{
	fill: #1f355a !important;
}
.fslightbox-slide-number-container{
	color: #1f355a !important; display: none !important;
}
.fslightbox-slash{
	background: #1f355a !important;
}
.fslightbox-toolbar{
	background: rgba(255,255,255,.65) !important;
}
.fslightbox-slide-btn{
	background: rgba(35,35,35,.06) !important;
}
.fslightbox-toolbar-button:nth-child(1),
.fslightbox-toolbar-button:nth-child(2),
.fslightbox-toolbar-button:nth-child(3),
.fslightbox-toolbar-button:nth-child(4),
.fslightbox-toolbar-button:nth-child(5) {
	display: none !important;
}
.fslightboxc:after {
    background: none !important;
}
.fslightboxci {
    color: #1f355a !important;
    font-size: 16px !important;
}