/* -----------------------------------------------------------------------------------
Basics
----------------------------------------------------------------------------------- */
/* inter-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/inter-v20-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
		 url('../fonts/inter-v20-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
  }
  /* inter-700 - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Inter';
	font-style: normal;
	font-weight: 700;
	src: url('../fonts/inter-v20-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
		 url('../fonts/inter-v20-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* newsreader-300 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Newsreader';
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/newsreader-v26-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
		 url('../fonts/newsreader-v26-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
  }
  /* newsreader-300italic - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Newsreader';
	font-style: italic;
	font-weight: 300;
	src: url('../fonts/newsreader-v26-latin-300italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
		 url('../fonts/newsreader-v26-latin-300italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
  }
  /* newsreader-regular - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Newsreader';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/newsreader-v26-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
		 url('../fonts/newsreader-v26-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
  }
  /* newsreader-italic - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Newsreader';
	font-style: italic;
	font-weight: 400;
	src: url('../fonts/newsreader-v26-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
		 url('../fonts/newsreader-v26-latin-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* jetbrains-mono-300 - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'JetBrains Mono';
	font-style: normal;
	font-weight: 300;
	src: url('../fonts/jetbrains-mono-v24-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
		 url('../fonts/jetbrains-mono-v24-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
  }
  /* jetbrains-mono-regular - latin */
  @font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'JetBrains Mono';
	font-style: normal;
	font-weight: 400;
	src: url('../fonts/jetbrains-mono-v24-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
		 url('../fonts/jetbrains-mono-v24-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
  }

* {
	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: "Inter", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 1.5; font-weight: 400; color: #061c32;
    background-color: #eef1f4;
}

h1,h2,h3,.h2-headline {
	margin:0; padding:0;
	font-family: "Newsreader", Helvetica, Arial, sans-serif; font-weight: 400; line-height: 1.3;
    text-wrap: balance;
}
h1 em,h2 em {
	color: #3f6c98;
}

h1 {
	margin-bottom: 30px;
	font-size: clamp(40px, 5.5vw, 80px);
	letter-spacing: -0.022em;
}
h2, .h2-headline {
	margin-bottom: 20px;
    margin: 0 0 28px;
    font-size: clamp(28px, 2.6vw, 38px);
    line-height: 1.05; letter-spacing: -0.018em;
}
h2.headline,
.h2-headline {
	display: block;
	font-size: clamp(40px, 3.5vw, 60px);
	letter-spacing: -0.022em;
}
h3 {
	margin-bottom: 15px;
	font-size: 22px; letter-spacing: -0.012em;
}
h3.sub-headline {
	margin: 18px 0 0;
	font-size: clamp(20px, 1.8vw, 28px); font-style: italic;
}
span.mini-headline {
	display: block;
	margin-bottom: 12px;
	font-family: "JetBrains Mono", Helvetica, Arial, sans-serif; font-size: 10px; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; color: #7a8593;
}
@media (min-width: 768px) {
    h3 {
        font-size: 24px;
    }
}

a,
a:hover,
a:focus {
	color: #061c32; text-decoration: none;
	outline: none;
    text-decoration-color: #3f6c98; /* optional */
    text-underline-offset: 4px; /* Abstand nach unten */
}
main a,
main a:hover,
main a:focus {
	text-decoration: underline;
} 

p {
    margin-bottom: 30px;
    text-wrap: pretty;
}

strong {
	font-weight: 700;
}

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

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

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

a.button,
a.button:hover,
a.button:focus,
button.button {
	display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 18px 30px;
    font-size: 14px; line-height: 1; font-weight: 400; color: #fff; text-decoration: none;
    background-color: #3f6c98;
    border: 1px solid #3f6c98; border-radius: 100px;
	transition: all .2s ease;
}
    a.button::after,
    button.button::after {
        content: "→";
        display: inline-block;
		font-size: 16px;
        transition: transform .2s ease;
    }
    a.button:hover::after,
    a.button:focus::after,
    button.button:hover::after,
    button.button:focus::after {
        transform: translateX(4px);
    }

/* Outline-Variante (ohne Pfeil) */
a.button.outline,
button.button.outline {
    color: #061c32;
    background-color: transparent;
    border: 1px solid #061c32;
}
a.button.outline::after,
button.button.outline::after {
    content: none;
}
a.button.outline:hover,
a.button.outline:focus,
button.button.outline:hover,
button.button.outline:focus {
	color: #fff;
	background-color: #061c32;
	border-color: #061c32;
}

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

/* Icons */
i.bi {
    display: inline-block;
    position: relative;
    margin-right: 5px;
}
i.bi:before {
    display: inline-block;
    width: 16px; height: 16px;
    content: '';
    vertical-align: -3px;
}
i.bi.lg:before {
    width: 24px; height: 24px;
}
i.bi.bi-phone-white:before {
    background-image: url("data:image/svg+xml,<svg viewBox='0 0 16 16' fill='%23fff' 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-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='%231d4f74' 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;
}

.text-small {
    font-size: 14px;
}

.hide {
    display: none;
}

hr {
    margin: 0 0 30px 0;
    height: 1px;
    background-color: #061c32;
    border: none;
}


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

main .module-icon-text-boxen-spalten ul,
main .module-foto-gross-text 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 .textabschnitt ul li {
        position: relative;
        padding-left: 27px;
    }
    main .module-icon-text-boxen-spalten ul li::before,
    main .module-foto-gross-text ul li::before,
    main .textabschnitt ul li::before {
        content: "";
        position: absolute; left: 0; top: 13px;
        width: 11px; height: 11px;
        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='%23061c32' 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;
}


/* -----------------------------------------------------------------------------------
Container
----------------------------------------------------------------------------------- */
.container-fluid {
	position: relative;
}
.container-fluid.sm {
    max-width: 1280px;
}
.container-fluid.xl {
	max-width: 1400px;
}
.container-fluid.xxl {
	max-width: 1700px;
}
.container-fluid,
.container {
    padding: 0 20px;
}

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

    .row [class^="col-"] {
        padding-left: 20px; padding-right: 20px;
}
.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: 70px;
    }
    
    .container {
        padding-right: 30px; padding-left: 30px;
    }
    .container.xxl {
        max-width: 1620px;
    }
    .container-fluid {
        padding-left: 30px; padding-right: 30px;
    }
}
@media (min-width: 992px) {
    .container {
        padding-right: 40px; padding-left: 40px;
        max-width: 780px;
    }
    .container.lg {
        max-width: 1200px;
    }
    .container.xl {
        max-width: 1400px;
    }
    .container-fluid {
        padding-left: 40px; padding-right: 40px;
    }
}
@media (min-width: 1600px) {
    .container,
	.container-fluid {
        padding-right: 60px; padding-left: 60px;
    }
}

.bg-hell {
	padding-top: 90px; padding-bottom: 90px;
	background-color: #f6f8fa;
}

/* -----------------------------------------------------------------------------------
Navigation
-------------------------------------------------------------------------------------
Aufbau:
  1. Basis (alle Breakpoints): Container, Brand, Toggle, Nav-Links, Dropdown
  2. Mobile / Tablet (max-width: 1199px)
  3. Brand-Größe nach Breakpoint (768px, 992px)
  4. Desktop ab 1200px (Logo links, Navigation + Aktionen rechts)
----------------------------------------------------------------------------------- */

/* ----- 1. Basis (alle Breakpoints) ----- */
.navbar {
    padding-left: 0; padding-right: 0;
}
.navbar-light.bg-light {
    background-color: transparent !important;
    box-shadow: none;
}
.navbar-light .navbar-brand img {
    height: 60px; width: auto;
}

.navbar-actions {
    display: flex;
    align-items: center;
    gap: 18px;
}
.navbar-actions a.button {
    display: inline-flex; align-items: center;
    padding: 12px 25px;
}

.navbar-toggler {
    padding: 0;
    border: none;
    background: transparent !important;
}
    .navbar-toggler .icon-bar {
        display: block;
        width: 29px; height: 2px;
        margin-top: 6px;
        background-color: #061c32;
        transition: all 0.2s;
    }
    .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: "JetBrains Mono", Helvetica, Arial, sans-serif; font-size: 16px; color: #061c32; font-weight: 300; letter-spacing: 1px; text-transform: uppercase;
    transition: all .2s ease;
}
.navbar-light .navbar-nav a.nav-link:hover,
.navbar-light .navbar-nav a.nav-link:focus {
    color: #3f6c98;
}

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

.navbar-light .navbar-nav .dropdown-menu {
    padding: 20px 25px;
    background-color: #fff;
    border: none;
}
    .navbar-light .navbar-nav .dropdown-menu a {
        padding: 4px 20px 4px 0;
        font-family: "JetBrains Mono", Helvetica, Arial, sans-serif; font-size: 14px; color: #061c32; font-weight: 300; letter-spacing: 0.08em; text-transform: uppercase;
        background-color: transparent;
        transition: all .2s ease;
    }
    .navbar-light .navbar-nav .dropdown-menu a:hover,
    .navbar-light .navbar-nav .dropdown-menu a:focus {
        color: #061c32;
    }
    .navbar-light .navbar-nav .dropdown-menu a.active {
        color: #3f6c98;
    }

/* ----- 2. Mobile / Tablet (bis 1199px) ----- */
@media (max-width: 1199px) {
    .navbar-light.bg-light {
    }
    .navbar-collapse {
        padding-top: 10px; padding-bottom: 20px;
        max-height: calc(100vh - 100px);
        overflow-y: auto;
    }
    .navbar-light .navbar-nav a.nav-link {
        margin: 0; padding-top: 5px; padding-bottom: 5px;
    }
    .navbar-light .navbar-nav .dropdown-menu {
        margin-bottom: 15px;
    }
    .navbar-light .navbar-nav .dropdown-menu a {
        padding: 5px 20px 5px 0;
    }
    .navbar-light .navbar-nav .dropdown-menu .dropdown-item {
        white-space: normal;
    }
    .navbar-actions {
        align-items: flex-start;
        margin-top: 0;
    }
    /* Kontakt-Button mobil wie ein normaler Menüpunkt darstellen */
    .navbar-actions a.button {
        padding: 5px 0;
        font-family: "JetBrains Mono", Helvetica, Arial, sans-serif;
        font-size: 16px; line-height: 1.5; font-weight: 300; letter-spacing: 1px; text-transform: uppercase;
        color: #061c32;
        background-color: transparent;
        border: none; border-radius: 0;
    }
    .navbar-actions a.button:hover,
    .navbar-actions a.button:focus {
        color: #3f6c98;
    }
    .navbar-actions a.button::after {
        content: none;
    }
}

/* ----- 3. Brand-Größe nach Breakpoint ----- */
@media (min-width: 768px) {
    .navbar-light .navbar-brand img {
        height: 70px;
    }
}
@media (min-width: 992px) {
    .navbar-toggler {
        margin-top: 20px;
    }
    .navbar-light .navbar-brand img {
        margin-top: 5px; margin-bottom: 5px;
    }
}
@media (min-width: 1400px) {
    .navbar-light .navbar-brand img {
        height: 80px;
    }
}

/* ----- 4. Desktop (ab 1200px) ----- */
@media (min-width: 1200px) {

    .navbar > .container-fluid {
        align-items: center;
    }
    .navbar-collapse {
        flex: 1 1 auto;
        display: flex !important;
        align-items: center;
    }
    .navbar-nav-wrap {
        flex: 1 1 auto;
        display: flex;
        justify-content: center;
    }
    .navbar-light .navbar-nav {
        position: static;
        transform: none;
    }
    .navbar-light .navbar-nav a.nav-link {
        margin: 0 11px;
        padding: 8px 0;
        font-size: 14px; line-height: 22px;
        letter-spacing: 0.08em;
        border-bottom: 1px solid transparent;
    }
    .navbar-light .navbar-nav a.nav-link.active {
        color: #061c32;
        border-bottom: 1px solid #3f6c98;
    }

    .navbar-actions {
        flex: 0 0 auto;
        margin-left: 28px;
    }

    .navbar-light .navbar-nav .dropdown-menu {
        min-width: 370px;
        overflow: hidden;
    }
    .navbar-light .navbar-nav .dropdown-menu .dropdown-item {
        white-space: normal;
    }
}

/* 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;
}


/* -----------------------------------------------------------------------------------
Header (Unterseite)
----------------------------------------------------------------------------------- */
header.unterseite {
    position: relative;
    overflow: hidden;
    /* Skaliert die Hero-Höhe sanft mit jeder Browserbreite. */
    min-height: calc(380px + 20vw);
    display: flex;
    /* Textbox liegt unten im Bild, bleibt aber im normalen Dokumentfluss. */
    align-items: flex-end;
    margin-bottom: 90px;
}
    header.unterseite::after {
        position: absolute; inset: 0; z-index: 1;
        content: "";
        /* Verlaufs-Overlay: unten dunkel, nach oben transparent (Lesbarkeit des Texts). */
        background: linear-gradient(to top, rgba(20, 25, 31, 0.60), transparent);
    }

    header.unterseite .image-box,
    header.unterseite .image-box .jarallax {
        /* Bild füllt den Header als Hintergrundfläche. */
        position: absolute; inset: 0;
        width: 100%; height: 100%;
    }

        header.unterseite .image-box .jarallax img {
            width: 100%; height: 100%;
            object-fit: cover;
        }

    header.unterseite .textbox {
        position: relative; z-index: 2;
        /* Unterer Abstand skaliert leicht mit der Bildschirmbreite. */
		margin-bottom: 60px;
        width: 100%;
        color: #fff;
    }

        header.unterseite .textbox .container-fluid {
            max-width: 900px;
            margin-left: 0; margin-right: auto;
        }

        header.unterseite .textbox p {
            font-family: "Newsreader", Helvetica, Arial, sans-serif; font-size: 22px; color: rgba(255, 255, 255, 0.82); font-style: italic;
        }

        header.unterseite .button:first-of-type {
            margin-right: 12px;
        }

        /* Outline-Button im Header: weiß, da er auf dem dunklen Foto liegt */
        header.unterseite .button.outline {
            color: #fff;
            border-color: #fff;
        }
        header.unterseite .button.outline:hover,
        header.unterseite .button.outline:focus {
            color: #061c32;
            background-color: #fff;
            border-color: #fff;
        }
@media (max-width: 767px) {
    header.unterseite {
        margin: 0 -20px 60px -20px;
    }
    header.unterseite .textbox span.headline {
        font-size: 44px;
    }
}


/* -----------------------------------------------------------------------------------
Module: Foto + Text Boxen (Spalten)
----------------------------------------------------------------------------------- */
.module-foto-text-boxen-spalten {
    margin-bottom: 60px; }

    .module-foto-text-boxen-spalten figure {
        height: 100%; overflow: hidden;
        background-color: #fff;
        margin: 0; }

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

    .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;
}

/* Horizontales Layout: Foto links, Text rechts (ab Tablet) */
@media (min-width: 768px) {
    .module-foto-text-boxen-spalten.layout-horizontal figure {
        display: flex;
        flex-direction: row;
        align-items: stretch;
    }

        .module-foto-text-boxen-spalten.layout-horizontal figure > a.image-hover-effect,
        .module-foto-text-boxen-spalten.layout-horizontal figure > a {
            flex: 0 0 45%;
            max-width: 45%;
            display: block;
        }

        .module-foto-text-boxen-spalten.layout-horizontal figure .image-container {
            height: 100%;
        }

            .module-foto-text-boxen-spalten.layout-horizontal figure .image-container img {
                width: 100%; height: 100%;
                object-fit: cover;
            }

        .module-foto-text-boxen-spalten.layout-horizontal figure figcaption {
            flex: 1 1 55%;
            padding: 30px 35px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

            .module-foto-text-boxen-spalten.layout-horizontal figure figcaption .container {
                padding: 0;
            }
}

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

	.module-foto-gross-text.bg-hell {
		padding-top: 90px; padding-bottom: 90px;
	}
	

    .module-foto-gross-text .image-box {
        position: relative;
        align-self: flex-start; }

        /* Volle Spaltenbreite auch bei zu klein hochgeladenen Bildern */
        .module-foto-gross-text .image-box img.image {
            width: 100%; height: auto;
        }

		.module-foto-gross-text .image-box  .bild-hinweis {
			position: absolute; left: 20px; bottom: 20px; z-index: 2;
			max-width: 380px;
			padding: 20px;
			background-color: #fff;
			border-left: 4px solid #3f6c98; }

			.module-foto-gross-text .image-box  .bild-hinweis p {
				margin-bottom: 0;
				font-family: "Newsreader", Helvetica, Arial, sans-serif; font-size: 17px; font-style: italic;
	}

    .module-foto-gross-text .zusatzinfos {
        margin: 50px 0;
    }

        .module-foto-gross-text .zusatzinfos .zusatzinfo-item {
            display: flex; align-items: flex-start;
            padding: 20px 0;
            border-top: 1px solid #c9d2dc;
        }
        .module-foto-gross-text .zusatzinfos .zusatzinfo-item:last-child {
            border-bottom: 1px solid #c9d2dc;
        }

            .module-foto-gross-text .zusatzinfos .info-nummer {
                flex: 0 0 70px;
				padding-top: 2px;
                font-family: "JetBrains Mono", Helvetica, Arial, sans-serif;
                font-size: 13px; font-weight: 400; letter-spacing: 0.08em;
                color: #3f6c98;
            }

			.module-foto-gross-text .zusatzinfos .zusatzinfo-item .info-content h3 {
				margin-bottom: 5px;
			}

            .module-foto-gross-text .zusatzinfos p {
                margin-bottom: 0;
            }
@media (max-width: 991px) {
	.module-foto-gross-text .image-box {
		margin-bottom: 30px;
	}
	.module-foto-gross-text .zusatzinfos .info-nummer {
		flex-basis: 56px;
	}
}
@media (min-width: 768px) {
    .module-foto-gross-text .container-fluid .textbox-wrapper {
		margin: 0 auto;
		max-width: 740px;
	}
}

/* -----------------------------------------------------------------------------------
Module: Logos
----------------------------------------------------------------------------------- */
.module-logos {
    margin-bottom: 120px;
}
    .module-logos .headline {
        margin-bottom: 28px;
    }
    .module-logos .logos-intro {
        max-width: 52ch;
        margin-bottom: clamp(40px, 5vw, 64px);
    }
    .module-logos .logos-intro p:last-child {
        margin-bottom: 0;
    }
    .module-logos .logos-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: clamp(20px, 3vw, 45px);
    }
    .module-logos .logo-box {
        position: relative;
        display: flex; align-items: center; justify-content: center;
        aspect-ratio: 4 / 3;
        padding: 32px;
        background-color: #f4f6f9;
        border: 1px dashed #c9d2dc;
    }
    /* Der Link soll kein eigenes Layout erzeugen – so gelten die
       Größenangaben des Logos immer relativ zur Box, mit und ohne Link */
    .module-logos .logo-box a {
        display: contents;
    }
    /* Unsichtbare Klickfläche über der gesamten Box */
    .module-logos .logo-box a::after {
        content: "";
        position: absolute;
        inset: 0;
    }
    .module-logos .logo-box .logo {
        max-width: 70%; max-height: 60%;
        width: auto; height: auto;
        object-fit: contain;
}
@media (min-width: 768px) {
    .module-logos .logos-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* -----------------------------------------------------------------------------------
Impressionen — Mosaik
----------------------------------------------------------------------------------- */
.impressionen-section {
    padding: clamp(70px, 9vw, 140px) 0;
}
    .impressionen-section .impressionen-head {
        margin-bottom: clamp(48px, 5vw, 72px);
        text-align: center;
    }

    .impressionen-section .impressionen-lede {
        max-width: 60ch;
        margin: 28px auto 0;
    }

/* Mosaik:
   gap: 0 ist hier wichtig — sonst werden bei aspect-ratio die internen
   Grid-Gaps in die Item-Breiten eingerechnet und Items in derselben
   Reihe wären um ein paar Pixel unterschiedlich hoch.
   Den optischen Abstand erzeugen wir über einen Border in Body-Farbe
   (border-box rechnet ihn in die aspect-ratio mit ein, die Höhen
   bleiben in jeder Reihe pixelgenau identisch). */
.impressionen-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0;
}
    .impressionen-item {
        position: relative;
        margin: 0;
        overflow: hidden;
        background-color: #e2e7ed;
        border: 6px solid #eef1f4;
        box-sizing: border-box;
    }
    .impressionen-item.size-a { grid-column: span 4; aspect-ratio: 4 / 3; }
    .impressionen-item.size-b { grid-column: span 2; aspect-ratio: 2 / 3; }
    .impressionen-item.size-c { grid-column: span 3; aspect-ratio: 3 / 2; }
    .impressionen-item.size-d { grid-column: span 3; aspect-ratio: 3 / 2; }
    .impressionen-item.size-e { grid-column: span 2; aspect-ratio: 1 / 1; }
    .impressionen-item.size-f { grid-column: span 4; aspect-ratio: 2 / 1; }

    /* höhere Spezifität als die globalen .image-hover-effect-Regeln,
       damit Bild im Ruhezustand den Container füllt (nicht erst beim Hover) */
    .impressionen-item > a.image-hover-effect {
        display: block;
        position: absolute; inset: 0;
        height: 100%;
    }
    .impressionen-item a.image-hover-effect .image-container {
        position: absolute; inset: 0;
        width: 100%; height: 100%;
        margin: 0;
        border-radius: 0;
        overflow: hidden;
    }
    .impressionen-item a.image-hover-effect .image-container img {
        position: absolute; inset: 0;
        width: 100%; height: 100%;
        max-width: none;
        margin: 0;
        object-fit: cover;
    }
    .impressionen-item .impressionen-label {
        position: absolute;
        left: 14px; bottom: 14px;
        z-index: 2;
        margin: 0;
        padding: 6px 10px;
        background-color: #fff;
        font-family: "JetBrains Mono", Helvetica, Arial, sans-serif;
        font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
        color: #061c32;
        pointer-events: none;
    }
    @media (max-width: 767px) {
        .impressionen-item .impressionen-label {
            left: 8px; bottom: 8px;
            padding: 4px 8px;
            font-size: 9px; letter-spacing: 0.12em;
        }
    }

/* Auf Mobile bleibt das Mosaik erhalten — nur der "Gap"-Border wird
   etwas dünner, damit die Bilder bei wenig Platz nicht zu eng wirken. */
@media (max-width: 767px) {
    .impressionen-item {
        border-width: 4px;
    }
}
@media (max-width: 480px) {
    .impressionen-item {
        border-width: 3px;
    }
}


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

    .textabschnitt img.image {
        margin-top: 5px; margin-bottom: 30px;
	}
	.textabschnitt.einleitung p {
		font-family: "Newsreader", Helvetica, Arial, sans-serif; font-style: italic; text-align: center;
		font-size: clamp(17px, 1.4vw, 21px); color: #7a8593;
}


/* -----------------------------------------------------------------------------------
Module: Icon-Text-Boxen
----------------------------------------------------------------------------------- */
.module-icon-text-boxen-spalten { margin-bottom: clamp(40px, 5vw, 80px); }
.module-icon-text-boxen-spalten .row [class*="col-"] { margin-bottom: 24px; }
.module-icon-text-boxen-spalten .text-box {
    height: 100%;
    padding: 36px 32px 28px;
    text-align: center;
    background-color: #fff;
}
.module-icon-text-boxen-spalten .icon-box {
    display: flex; align-items: center; justify-content: center;
    width: 56px; height: 56px;
    margin: 0 auto 22px;
    background-color: #eef1f4;
    border-radius: 50%;
}
.module-icon-text-boxen-spalten .icon-box img.image {
    width: 26px; height: 26px;
}


/* -----------------------------------------------------------------------------------
Kontaktseite
-------------------------------------------------------------------------------------
Aufbau:
  1. Hero – große, zentrierte Headline + Lead
  2. Formular-Karte (links) + Karten-Karte (rechts) im Bootstrap-Row-Stretch
----------------------------------------------------------------------------------- */


/* ----- 2. Formular-Karte + Karten-Karte ----- */
.formular-karte-container {
	margin-bottom: 100px;;
 }

/* Karte füllt die Bootstrap-Spalte komplett aus → beide Karten gleich hoch */
.kontakt-card {
    display: flex; flex-direction: column;
    width: 100%;
    background-color: #fff;
    overflow: hidden;
}
.kontakt-card.karte {
    border: 1px solid #c9d2dc; }

	.kontakt-card .container-fluid {
		padding-top: 40px; padding-bottom: 40px; }




/* Bild + Marker + Copyright */
.kontakt-card-map-figure {
    position: relative;
    flex: 1;
    min-height: 0; }

	.kontakt-card-map-figure img.image {
		position: absolute; inset: 0;
		width: 100%; height: 100%;
		object-fit: cover;
	}
	.kontakt-card-map-figure button.marker {
		position: absolute; top: 50%; left: 50%; z-index: 1;
		width: 36px; height: 36px;
		margin: -16px 0 0 -16px; padding: 0;
		background: transparent;
		border: 0;
		cursor: pointer;
	}
	.kontakt-card-map-copyright {
		position: absolute; right: 14px; bottom: 14px; z-index: 1;
		padding: 4px 10px;
		font-size: 11px;
		background-color: #fff;
}
/* Karten untereinander unter 992 px → Karten-Bild bekommt eine sinnvolle Höhe */
@media (max-width: 991px) {
    .kontakt-card-map-figure { aspect-ratio: 16 / 10; }
}


/* Popover-Style für den Karten-Marker */
.popover {
    --bs-popover-max-width: 260px;
    --bs-popover-font-size: 14px;
    --bs-popover-border-color: #3f6c98;
    --bs-popover-header-bg: #3f6c98;
    --bs-popover-header-color: #fff;
    --bs-popover-header-padding-y: 10px;
    --bs-popover-header-padding-x: 14px;
    --bs-popover-body-padding-y: 14px;
    --bs-popover-body-padding-x: 14px;
    z-index: 1080;
}
.popover-header {
    font-weight: 700;
    border-bottom: none;
}
.popover-body {
    color: #061c32;
    line-height: 1.5;
}
.popover-body a {
    color: #061c32;
    text-decoration: underline;
    text-decoration-color: #b70908;
    text-underline-offset: 4px;
}

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


fieldset {
    margin-bottom: 40px;
}

.form-label {
    display: inline-block;
    margin-bottom: 6px;
    font-size: 14px; font-weight: 700; color: #1b2457;
}
.required-marker {
    color: #b70908;
}
.field-error {
    margin: 6px 0 0 0;
    font-size: 13px; line-height: 18px; color: #b70908;
}

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

    .form-control,
    .has-success .form-control,
    .has-error .form-control {
        padding: 20px;
        height: auto;
        font-size: 16px; line-height: normal; color: #1b2457; font-weight: 400;
        background-color: #fff;
        border: 1px solid #1b2457;
        -webkit-box-shadow: none;
                box-shadow: none;
    }
    .form-control:focus,
    .has-success .form-control:focus,
    .has-error .form-control:focus {
        border-color: #1b2457;
        -webkit-box-shadow: none;
                box-shadow: none;
    }
    .form-control:focus-visible,
    .has-success .form-control:focus-visible,
    .has-error .form-control:focus-visible {
		border: 1px solid #b70908;
    }
    .form-control.has-error,
    .form-control.has-error:focus {
        background-color: #fbeaee;
        border-color: #b70908;
}


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

/* 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: 50%; right: 20px;
	margin-top: -6px;
	font-size: 12px;
	content: '\25BC';
	pointer-events: none;
}
.custom-select:has(> label.form-label)::after {
    top: auto; bottom: 22px; margin-top: 0;
}

.form-control::placeholder {
  font-size: 16px; color: #1b2457; font-weight: 400;
  opacity: 1;
}
.form-control.error::placeholder {
  color: #b70908;
}

/* Nur für das Kirby Uniform Plugin notwendig */
.uniform__potty,
.uniform__potty-wrap {
    position: absolute;
    left: -9999px;
    width: 1px; height: 1px;
    overflow: hidden;
}


/* -----------------------------------------------------------------------------------
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)
}


/* -----------------------------------------------------------------------------------
Call-to-Action (über dem Footer)
----------------------------------------------------------------------------------- */
.cta-section {
    padding: clamp(70px, 9vw, 140px) 0 clamp(80px, 9vw, 140px) 0;
    color: #061c32;
    background-color: #f6f8fa;
    border-top: 1px solid #c9d2dc;
}
    .cta-section .cta-grid {
        gap: clamp(40px, 5vw, 80px) 0;
    }

    .cta-section h2 {
        font-size: clamp(40px, 5.5vw, 80px);
        line-height: 1; letter-spacing: -0.022em;
    }
    .cta-section .cta-lead {
        max-width: 600px; }

		.cta-section .cta-lead p {
			font-family: "Newsreader", Helvetica, Arial, sans-serif;
			font-style: italic;
			font-size: clamp(20px, 1.8vw, 26px); letter-spacing: -0.012em;
	}
    .cta-section .cta-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
    }


/* Rechte Spalte: Kontakt-Liste */
.cta-section .cta-info-list {
    margin: 0; padding: 0;
}
.cta-section .cta-line {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 24px;
    align-items: baseline;
    padding: 18px 0;
    border-bottom: 1px solid #c9d2dc;
}
.cta-section .cta-line:first-child {
    border-top: 1px solid #c9d2dc;
}
.cta-section .cta-label {
    margin: 0;
    font-family: "JetBrains Mono", Helvetica, Arial, sans-serif;
    font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
    color: #7a8593;
}
.cta-section .cta-value {
    margin: 0;
    font-family: "Newsreader", Helvetica, Arial, sans-serif;
    font-size: 22px; letter-spacing: -0.012em;
}
.cta-section .cta-value small {
    display: block;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;
    font-size: 14px; letter-spacing: 0;
}
.cta-section .cta-value a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color .15s ease;
}
.cta-section .cta-value a:hover,
.cta-section .cta-value a:focus {
    border-bottom-color: #3f6c98;
}

@media (max-width: 575px) {
    .cta-section .cta-line {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 14px 0;
    }
    .cta-section .cta-value {
        font-size: 19px;
    }
}


/* -----------------------------------------------------------------------------------
Trust-Strip (über dem Footer)
----------------------------------------------------------------------------------- */
.trust-strip {
    padding: 24px 0;
    color: rgba(255, 255, 255, 0.8);
    background-color: #061c32;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-family: "JetBrains Mono", Helvetica, Arial, sans-serif;
    font-size: 11px; font-weight: 400; letter-spacing: 0.12em; text-transform: uppercase;
}
.trust-strip .trust-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px 32px;
    align-items: center;
}
.trust-strip .trust-pill {
    display: flex; gap: 10px; align-items: center;
}
.trust-strip .dot {
    width: 6px; height: 6px;
    background-color: #3f6c98;
    border-radius: 50%;
    flex-shrink: 0;
}


/* -----------------------------------------------------------------------------------
Footer
----------------------------------------------------------------------------------- */
footer {
    padding: 28px 0;
    color: rgba(255, 255, 255, 0.8);
    background-color: #061c32;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-family: "JetBrains Mono", Helvetica, Arial, sans-serif;
    font-size: 11px; font-weight: 400; letter-spacing: 0.10em; text-transform: uppercase;
}
    footer a,
    footer a:hover,
    footer a:focus {
        color: rgba(255, 255, 255, 0.8);
        text-decoration: none;
        transition: color .15s ease;
    }
    footer a:hover,
    footer a:focus {
        color: #fff;
    }

footer .footer-grid {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 24px;
    align-items: center;
}
/* Erst wenn genug Platz ist: äußere Spalten gleich breit, damit die Links exakt mittig stehen */
@media (min-width: 1200px) {
    footer .footer-grid {
        grid-template-columns: 1fr auto 1fr;
    }
}
footer .footer-links {
    display: flex; flex-wrap: wrap; gap: 24px;
    justify-content: center;
}
footer .footer-social {
    text-align: right;
}
footer .footer-social a {
    display: inline-flex; align-items: center; justify-content: center;
}
footer .footer-social svg {
    display: block;
}

@media (max-width: 767px) {
    footer {
        padding: 32px 0;
        text-align: center;
    }
    footer .footer-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    footer .footer-social {
        text-align: center;
    }
    footer .footer-links {
        justify-content: center;
    }
}


/* -----------------------------------------------------------------------------------
Modal
----------------------------------------------------------------------------------- */
.modal-header {
    padding: 30px 30px 0 0;
    border: none;
}
.modal-body {
    padding-left: 20px; padding-right: 20px;
}
.modal-footer {
    padding-left: 20px; padding-right: 20px; padding-bottom: 30px;
    border: none;
}
@media (min-width: 768px) {
    .modal-body {
        padding-left: 40px; padding-right: 40px;
    }
    .modal-footer {
        padding-left: 40px; padding-right: 40px;
    } 
}

/* -----------------------------------------------------------------------------------
Popup / Hinweis
----------------------------------------------------------------------------------- */
.modal-backdrop.show {
    background-color: #1d4f74;
    opacity: .55;
}
#sitePopup .modal-content {
    border: none;
    box-shadow: 0 20px 60px rgba(0,0,0,.2);
}
#sitePopup .modal-header h2 {
    margin: 0;
    color: #3f6c98;
}
#sitePopup .modal-body a.button {
    margin-top: 5px;
}
#sitePopup .modal-footer {
    justify-content: center;
}
.site-popup-dismiss {
    padding: 15px 30px;
    font-weight: 700; color: #061c32;
    background: none; border: 1.5px solid #3f6c98; border-radius: 100px; cursor: pointer;
}


/* -----------------------------------------------------------------------------------
Fullscreen Lightbox v3.6.0 Pro
----------------------------------------------------------------------------------- */
.fslightbox-container{
    background: #fff !important;
}
.fslightbox-svg-path{
	fill: #1d4f74 !important;
}
.fslightbox-slide-number-container{
	color: #1d4f74 !important; display: none !important;
}
.fslightbox-slash{
	background: #1d4f74 !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: #1d4f74 !important;
    font-size: 16px !important;
}