/* -----------------------------------------------------------------------------------
Basics
----------------------------------------------------------------------------------- */
/* figtree-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: 'Figtree';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/figtree-v9-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/figtree-v9-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* figtree-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: 'Figtree';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/figtree-v9-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/figtree-v9-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* figtree-500 - 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: 'Figtree';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/figtree-v9-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/figtree-v9-latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* figtree-600 - 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: 'Figtree';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/figtree-v9-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/figtree-v9-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* figtree-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: 'Figtree';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/figtree-v9-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('../fonts/figtree-v9-latin-700.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: "Figtree", Helvetica, Arial, sans-serif; font-size: 16px; line-height: 26px; font-weight: 300; color: #022647;
    background-color: #f5f3f2;
}

h1,h2,h3 {
	margin:0; padding:0;
	font-weight: 400;
}
h1 {
	margin-bottom: 30px;
	font-size: 28px; line-height: 38px;
}
h2 {
	margin-bottom: 20px;
	font-size: 24px; line-height: 34px;
}
h2.more-margin {
	margin-bottom: 25px;
}
h3 {
	margin-bottom: 15px;
	font-size: 22px; line-height: 32px;
}
@media (min-width: 768px) {		
    h1 {
        font-size: 32px; line-height: 42px;
    }
    h2 {
        font-size: 28px; line-height: 38px;
    }
    h3 {
        font-size: 24px; line-height: 34px;
    }
}

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

p {
    margin-bottom: 30px;
}

strong {
	font-weight: 500;
}

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,
button.button {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin-top: 10px;
    padding-left: 70px; padding-right: 30px;
    height: 48px; /* Höhe = Kreisgröße */
    font-size: 15px; font-weight: 500; letter-spacing: 1.5px; color: #022647; text-decoration: none !important; text-transform: uppercase;
    background: #fff;
    border: none; border-radius: 100px;
}
/* goldener Kreis links */
.button::before {
    content: "";
    position: absolute; left: 0; top: 50%;
    width: 48px; height: 48px;
    background: #b89d67;
    border-radius: 50%;
    transform: translateY(-50%);
}
/* Pfeil (Chevron) im Kreis */
.button::after {
    content: "";
    position: absolute; left: 14px; top: 50%;
    width: 14px; height: 14px;
    border-top: 1px solid #fff; border-right: 1px solid #fff;
    transform: translateY(-50%) rotate(45deg); /* ergibt „>“ */
}

a.footer-button-doctolib {
    position: fixed; bottom: 20px; right: 20px; z-index: 1000;
    display: inline-flex; align-items: center; gap: 7px;
    padding: 10px 30px;
    font-size: 15px; font-weight: 400; color: #fff;
    background: #1a75bb;
    border: none; border-radius: 100px;
}
a.footer-button-doctolib::after {
    content: "";
    flex: 0 0 auto; transform: translateY(-1px);
    display: inline-block;
    height: 14px; width: calc(14px * (472 / 115)); /* Verhältnis aus viewBox */
    background: no-repeat center / contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 472 115'><path fill='%23ffffff' fill-rule='evenodd' clip-rule='evenodd' d='M51.1433 0.315498C103.422 5.86633 103.422 38.7676 100.394 55.4201C98.6787 65.2098 89.7973 114.057 30.5548 114.158C7.14039 114.158 3.60804 111.433 4.81913 106.185C5.40168 103.79 13.498 73.5401 19.3372 51.7237C22.6025 39.5236 25.162 29.9608 25.3067 29.3817C27.0693 22.3316 33.9476 23.3816 35.3618 23.5975C35.4862 23.6165 35.5684 23.629 35.601 23.629C35.8029 23.7299 35.9038 23.9318 35.9038 24.1336C35.3774 28.6454 28.9682 63.2996 25.693 81.0088C24.5724 87.0679 23.8186 91.1433 23.7929 91.3491C22.8846 97.3037 23.7929 97.9092 31.1604 97.9092C67.594 97.9092 80.8151 72.7791 84.4483 52.5942C90.6047 17.6745 56.4923 7.27927 8.75518 11.5181C8.70805 11.5181 8.62377 11.5208 8.50943 11.5246L8.50911 11.5246L8.50897 11.5246C7.64343 11.5529 5.05765 11.6373 3.80989 11.0135C1.99325 10.2061 0.47939 7.98574 0.0756932 6.77465C-0.0252311 6.37095 -0.0252311 5.86633 0.0756932 5.66448C0.176617 5.46263 0.277542 5.26078 0.47939 5.26078C15.9208 2.53583 37.3167 -1.09744 51.1433 0.315498ZM217.971 91.7024C217.996 91.7276 218.022 91.7529 218.072 91.7529C218.375 91.9547 218.173 92.4593 217.87 92.7621C214.54 104.368 204.144 112.341 192.134 112.644C182.042 113.149 171.849 107.396 167.509 98.6157C165.793 95.2852 164.784 91.7529 164.38 87.4131C162.866 88.1196 161.252 88.7251 159.637 89.2298C157.517 95.0834 153.884 100.432 148.939 104.167C138.241 112.039 123.809 114.461 110.89 107.295C95.0454 96.2945 96.9629 74.192 108.065 61.1728C119.166 48.1536 139.553 46.0342 149.746 52.3924C156.71 56.8331 160.343 64.6042 161.353 72.5773C162.866 71.568 164.178 70.256 165.692 68.4394C167.105 66.7237 169.931 62.5858 169.931 62.5858C171.647 60.0627 173.564 57.7414 175.886 55.7229C180.528 51.585 186.483 49.5665 192.538 49.5665C197.786 49.5665 203.034 51.0804 207.677 54.209C209.191 55.1174 209.594 55.7229 209.09 56.5303C208.484 57.7414 207.677 58.8516 206.869 59.8608C205.255 61.8793 203.539 61.1728 202.429 60.6682C202.227 60.5673 202.025 60.4663 201.924 60.4663C196.777 58.6497 192.538 59.0534 188.198 61.6774C178.812 67.4301 177.299 78.5318 179.115 87.1103C180.932 95.7898 185.776 98.8176 189.51 99.7259C196.474 101.442 205.658 97.7074 211.512 90.8445C213.329 88.7251 215.953 90.1381 217.87 91.6519C217.921 91.6519 217.946 91.6772 217.971 91.7024ZM119.772 92.6612C127.139 97.9092 138.947 95.1843 144.7 86.7066C148.737 80.7521 152.37 70.8615 146.214 63.2922C139.149 54.6127 126.433 57.5395 119.166 65.6135C112.001 73.6874 111.9 87.0094 119.772 92.6612ZM311.023 52.2915C300.83 45.9332 280.443 48.0527 269.341 61.0719C262.479 69.0449 259.148 80.5502 261.268 90.7436C257.432 94.2759 252.891 96.6981 247.239 95.487C244.211 94.8815 240.78 91.4501 241.89 86.0002C242.092 84.9909 246.432 61.5765 250.57 38.8686C250.822 38.8686 251.099 38.8433 251.377 38.8181L251.377 38.8181C251.655 38.7929 251.932 38.7676 252.184 38.7676C261.974 38.1621 283.471 36.5473 286.398 34.9325C289.829 33.0149 289.627 29.9872 289.324 28.7761C289.224 28.4734 289.022 28.2715 288.719 28.2715C286.196 28.1706 273.479 27.666 263.892 27.3632C261.167 27.2623 257.13 27.2623 252.588 27.2623C254.607 16.1606 256.322 6.27002 257.13 0.820117C257.231 0.618268 257.029 0.315496 256.827 0.315496C256.221 0.214572 255.616 0.113647 254.909 0.113647C251.579 0.113647 247.946 1.93028 246.936 5.26078C246.936 5.26078 244.211 14.7477 240.78 27.2623C235.193 27.2623 229.975 27.3083 226.583 27.3381C224.95 27.3525 223.741 27.3632 223.118 27.3632C222.815 27.3632 222.614 27.565 222.513 27.8678C222.109 29.7854 221.1 36.5473 225.137 38.4649C227.66 39.6759 232.201 39.8778 237.348 39.6759C231.999 59.2552 226.348 81.0549 225.54 87.4131C224.632 94.4778 226.953 101.542 231.697 105.882C239.165 112.846 251.377 114.259 259.955 109.011C262.781 107.295 265.304 105.378 267.525 103.359C268.837 104.671 270.25 105.983 271.865 107.093C284.783 114.259 299.215 111.837 309.913 103.965C316.877 98.7166 321.317 90.0371 322.327 81.5595C324.042 70.7606 320.611 58.4478 311.023 52.2915ZM305.775 86.7066C300.022 95.1843 288.214 97.9092 280.847 92.6612C272.975 87.0094 273.076 73.6874 280.241 65.6135C287.508 57.5395 300.224 54.6127 307.289 63.2922C313.445 70.8615 309.812 80.7521 305.775 86.7066ZM386.313 23.629L385.707 24.5373C383.487 28.4734 382.982 33.3177 386.615 35.9417C389.845 38.0612 393.882 37.0519 396.405 35.1344C398.121 33.8223 399.231 31.7029 399.534 29.3817C399.837 26.9595 399.332 23.5281 396.607 21.8124C395.497 21.2068 394.286 20.904 393.075 20.904C391.157 20.904 389.139 21.5096 387.524 22.5188C387.12 22.8216 386.716 23.2253 386.313 23.629ZM459.281 103.965C466.346 98.7166 470.685 90.0371 471.695 81.5595C473.108 70.7606 469.676 58.4478 460.189 52.2915C452.923 47.7499 440.408 47.548 429.811 52.5942C431.493 43.4511 434.554 22.6985 436.38 10.3148C437.074 5.6116 437.59 2.11556 437.784 0.921041V0.920858C437.784 0.719132 437.784 0.618238 437.683 0.517344C437.582 0.41642 437.481 0.315496 437.38 0.315496C436.775 0.214572 436.169 0.113647 435.564 0.113647C432.233 0.113647 428.6 1.93028 427.591 5.26078C427.591 5.26078 408.213 83.6789 407.507 87.4131C402.965 94.3769 397.515 97.1018 391.662 95.2852C386.901 93.7974 387.111 90.0678 387.216 88.2153L387.221 88.1196C387.332 86.516 388.927 77.0657 390.496 67.7695C391.791 60.0985 393.068 52.5324 393.478 49.5665C393.579 49.1628 393.276 48.7591 392.873 48.6582C391.864 48.4564 390.753 48.3554 389.643 48.3554C386.111 48.3554 382.377 49.6674 380.156 55.1173C380.055 55.3192 373.697 77.6234 372.486 82.4678C372.436 82.7705 372.36 83.0733 372.284 83.376C372.209 83.6788 372.133 83.9816 372.082 84.2844C367.339 91.4501 360.072 97.6064 349.576 95.3861C346.549 94.6796 343.218 92.4593 344.227 85.8992C344.53 84.1835 354.118 28.5743 356.944 10.8116C356.944 10.5088 356.843 10.4079 356.641 10.307C356.035 10.2061 355.329 10.1051 354.723 10.1051C351.393 10.1051 347.76 11.9218 346.75 15.2523C346.75 15.2523 331.41 71.568 328.079 87.4131C326.566 94.4778 327.575 101.24 333.832 106.791C339.585 111.938 350.686 113.552 359.971 109.717C365.32 107.497 369.761 103.763 372.89 100.634C376.927 108.708 386.615 113.956 395.497 111.837C402.36 110.222 407.608 105.277 411.039 101.038C412.351 102.955 413.966 104.772 415.682 106.084C423.554 112.442 434.857 113.552 444.95 110.525C450.097 109.415 455.042 107.093 459.281 103.965ZM429.609 66.8246C436.775 58.7506 449.592 55.7229 456.657 64.5033C462.813 72.0726 459.079 82.0641 455.042 87.9177C449.289 96.3954 436.169 99.524 428.802 94.2759C420.829 88.6242 422.444 74.8985 429.609 66.8246Z'/></svg>");
}

a.footer-button-doctolib:hover { opacity: .95; }
a.footer-button-doctolib:active { transform: translateY(1px); }
a.footer-button-doctolib:focus-visible {
  outline: 2px solid rgba(255,255,255,.6);
  outline-offset: 3px;
}


.btn-text,
.btn-text:active,
.btn-text:hover {
    position: relative;
	display: inline-block;
    margin-bottom: 30px; padding-right: 25px;
	color: #022647; font-weight: 500; letter-spacing: 1.5px; text-decoration: none; text-transform: uppercase;
    border-bottom: 1px solid #b89d67;
    -webkit-transition: all .1s ease;
            transition: all .1s ease;
}
.btn-text::after {
    position: absolute; top: 8px; right: 0;
    content: "";
    width: 7px; height: 7px;
    border: none; border-top: 1px solid #022647; border-right: 1px solid #022647;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}
.bg-blau .btn-text,
.bg-blau .btn-text:active,
.bg-blau .btn-text:hover {
	color: #fff;
}
.bg-blau .btn-text::after {
    border-color: #fff;
}


/* Selection */
::selection {
    color: #fff;
    background: #b89d67; /* WebKit/Blink Browsers */
}
::-moz-selection {
    color: #fff;
    background: #b89d67; /* 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-doctolib:before {
    width: 20px; height: 20px;
    background-image: url("../images/icons/doctolib.png");
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: -5px;
}
i.bi.bi-online-doctor:before {
    width: 20px; height: 20px;
    background-image: url("../images/icons/online-doctor.png");
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: -5px;
}
i.bi.bi-doctolib-white:before {
    width: 20px; height: 20px;
    background-image: url("../images/icons/doctolib-white.png");
    background-repeat: no-repeat;
    background-size: contain;
}
i.bi.bi-online-doctor-white:before {
    width: 20px; height: 20px;
    background-image: url("../images/icons/online-doctor-white.png");
    background-repeat: no-repeat;
    background-size: contain;
}
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='%23958d83' 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: 16px; line-height: 26px;
}

.hide {
    display: none;
}

hr {
    margin: 0 0 30px 0;
    height: 1px;
    background-color: #022647;
    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='%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;
}

/* Blockquote */
 blockquote {
    margin: 0 0 30px 0;
    padding: 40px 20px;
    font-size: 18px; line-height: 28px; font-weight: 400;
    background-color: #fff;
    border-left: 3px solid #b89d67; border-radius: 20px; }

     blockquote p {
         margin: 0; }

        blockquote p a,
        blockquote p a:hover {
}
@media (min-width: 768px) {
     blockquote {
         padding: 50px 40px;
         font-size: 20px; line-height: 30px;
    }
}

.table {
  --bs-table-color: #022647;
  --bs-table-bg: transparent;
  --bs-table-border-color: transparent;
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: transparent;
  --bs-table-striped-bg: transparent;
  --bs-table-active-color: var(--bs-body-color);
  --bs-table-active-bg: rgba(0, 0, 0, 0.1);
  --bs-table-hover-color: var(--bs-body-color);
  --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
    margin-bottom: 40px;
    max-width: 350px;
}
.table > :not(caption) > * > * {
  padding: 1px 0;
}

.table td:first-child {
  font-weight: 500;
  width: 35%;
}

/* -----------------------------------------------------------------------------------
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: 50px; padding-bottom: 20px;
        background-color: #eae6e4;
    }
    
    .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;
    }
}

.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: 45px; margin-bottom: 7px;
            max-height: 75px; width: auto;
        }

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

            .navbar-toggler .icon-bar {
                width: 29px; 
                height: 2px;
                background-color: #022647;
                display: block;
                transition: all 0.2s;
                margin-top: 6px
            }
            .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-size: 17px; line-height: 27px; color: #022647; font-weight: 400; letter-spacing: 0.5px; text-transform: uppercase;
            -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: #b89d67;
        }

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

            .navbar-light .navbar-nav .dropdown-menu {
                padding: 20px 25px 25px 25px;
                background-color: #fff;
                border: none; border-radius: 15px; }

                .navbar-light .navbar-nav .dropdown-menu a {
                    padding: 4px 20px 4px 0;
                    font-size: 17px; line-height: 27px; font-weight: 400; color: #022647; 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: #022647;
                }
                .navbar-light .navbar-nav .dropdown-menu a.active {
                    color: #b89d67;
}
@media (max-width:1199px) {
    .navbar-light.bg-light {
        background-color: #fff !important; }

        /* Fix: */
        .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;
            font-size: 21px; line-height: 31px; text-transform: none; }

            .navbar-light .navbar-nav .dropdown-menu {
                margin-bottom: 15px;
                background-color: #f5f3f2; }

                .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: 60px; margin-bottom: 15px;
        max-height: 115px;
    }
}
@media (min-width: 992px) {
        .navbar-toggler {
            margin-top: 20px;
    }
    
    .navbar-light .navbar-brand img {
        margin-top: 15px; margin-bottom: 15px;
    }
}


@media (min-width:1200px) {
    .navbar-light .navbar-nav a.nav-link {
		margin-top: 75px; margin-left: 25px; margin-bottom: 10px; padding: 0;
        border-bottom: 1px solid transparent;
    }
    .navbar-light .navbar-nav a.nav-link.active {
        color: #022647;
        border-bottom: 1px solid #b89d67;
    }
    .navbar-light .navbar-nav a.nav-link[href*="kontakt"] {
        margin-top: 62px;
        display: inline-block;
        padding: 12px 30px 10px 30px;
        border-radius: 9999px;
        background-color: #fff;
    }
    .navbar-light .navbar-nav a.nav-link.active[href*="kontakt"] {
        border-color: transparent;
    }

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

/* Head Links */
@media (max-width: 991px) {
    .navbar-light .head-links {
        position: absolute; left: 0; right: 0; top: -8px;
        margin-right: -200px;
        width: 100%;
        display: flex;
        align-items: stretch;
        justify-content: flex-start; /* mittleren Abstand steuern wir per margin */
        padding: 0;                  /* kein Innenabstand, damit „kleben“ */
        gap: 0;                      /* kein Spalt */
        background: #e9e6e4;         /* dein Leisten-Hintergrund */ }

        .navbar-light .head-links a {
            display: flex;
            align-items: center;
            justify-content: flex-start;  /* Icon links, Text daneben */
            padding: 6px 20px;
            text-decoration: none;
            font-size: 13px; color: #0f172a; font-weight: 500;

            /* WICHTIG für dynamisches Kürzen */
            flex: 0 1 auto;   /* darf schrumpfen */
            min-width: 0;     /* erlaubt echtes Schrumpfen im Flex-Layout */
            white-space: nowrap;
        }

        /* Schiebt den rechten Link nach ganz rechts, ohne ihn zu „verkeilen“ */
        .navbar-light .head-links a:first-child {
            margin-right: auto; }

            .navbar-light .head-links a i {
                flex: 0 0 auto;
                margin-right: 10px;
            }
            .navbar-light .head-links a i.bi:before {
                vertical-align: -5px; }

                /* Ellipsis nur auf dem Text-Span */
                .navbar-light .head-links a span {
                    flex: 1 1 auto;
                    min-width: 0;
                    overflow: hidden;
                    text-overflow: ellipsis;
    }
}
@media (min-width: 768px) {
    .navbar-light .head-links a {
        padding: 10px 30px;
        font-size: 15px; font-weight: 400;
    }
}
@media (min-width: 992px) { 
    .navbar-light .head-links {
        position: absolute; top: 25px; right: 40px; z-index: 1;
        display: flex;
        gap: 30px; }

        .navbar-light .head-links a {
            padding: 0; }
    
            .navbar-light .head-links a i.bi:before {
                vertical-align: -5px;
        }
}
@media (min-width: 1200px) {
	.navbar-light .head-links {
        top: 25px; right: 70px;
	}
}


/* -----------------------------------------------------------------------------------
Header (Unterseite)
----------------------------------------------------------------------------------- */
header.unterseite {
    margin-bottom: 40px;  }

        header.unterseite .image-box .jarallax {
            width: 100%; height: 100%;
            aspect-ratio: 1400/1050;
    }

    header.unterseite .textbox {
        padding-top: 30px; padding-bottom: 1px;
        font-size: 18px; line-height: 28px; font-weight: 500; }

        header.unterseite .textbox span.headline {
            display: block;
            margin-bottom: 15px;
            font-size: 25px; line-height: 35px; color: #b89d67; font-weight: 400;
}
@media (min-width: 768px) and (max-width: 1199px) {
    header.unterseite {
        padding-top: 60px;}
}
@media (max-width: 767px) {
    header.unterseite {
        margin: 0 -20px 60px -20px; }

        header.unterseite .textbox {
            position: relative; z-index: 1000;
            margin: -40px 20px 0 20px;
            background-color: #fff;
            border-radius: 15px;
    }
}
@media (min-width: 768px) {
    header.unterseite .image-box {
        max-height: 860px; overflow: hidden;
        border-radius: 30px;
    }
    
    header.unterseite .textbox {
        margin: 0 auto;
        max-width: 640px; }

        header.unterseite .textbox .container {
            padding-right: 0; }
    
            header.unterseite .textbox span.headline {
                margin-bottom: 30px;
                font-size: 30px; line-height: 40px;
    }
}
@media (min-width: 1200px) {
    header.unterseite .textbox {
        padding-top: 60px; padding-bottom: 30px; }
    
        header.unterseite .textbox span.headline {
            font-size: 40px; line-height: 50px;
    }
}
@media (min-width: 1400px) {
    header.unterseite .textbox span.headline {
        font-size: 50px; line-height: 60px;
    }
}


/* -----------------------------------------------------------------------------------
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;
        border-radius: 30px; }

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


/* -----------------------------------------------------------------------------------
Module: Großes Foto + Text
----------------------------------------------------------------------------------- */
.module-foto-gross-text {
    margin-bottom: 120px;
} 
@media (max-width: 767px) {
    .module-foto-gross-text .image-box img.image {
        border-top-left-radius: 15px; border-top-right-radius: 15px;
    }
    
    .module-foto-gross-text .container-fluid .textbox {
        padding-top: 30px; padding-bottom: 10px;
        background-color: #fff;
        border-bottom-left-radius: 15px; border-bottom-right-radius: 15px;
    }
}
@media (min-width: 768px) {
    .module-foto-gross-text .image-box img.image {
		width: 100%; height: 100%; overflow: hidden;
		object-fit: cover;
        border-radius: 40px;
    }
    .module-foto-gross-text .container-fluid .textbox {
        padding-top: 30px; }

        .module-foto-gross-text .container-fluid .textbox .container {
            padding: 0;
            max-width: 580px;
    }
}


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

    .impressionen-container a.image-hover-effect .image-container {
        margin-bottom: 20px;
        border-radius: 20px;
}


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

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


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


/* -----------------------------------------------------------------------------------
Ansprechpartner
----------------------------------------------------------------------------------- */
.ansprechpartner-wrapper {
    background-color: #eae6e4; }

    .ansprechpartner-wrapper .ansprechpartner .textbox h3 {
        margin-bottom: 10px;
        font-size: 19px; line-height: 29px; color: #b89d67; font-weight: 500;
    }
    .ansprechpartner-wrapper .ansprechpartner .textbox span.headline {
        display: block;
        margin-bottom: 15px;
        font-size: 22px; line-height: 32px; font-weight: 400;
}
    .ansprechpartner-wrapper .ansprechpartner .textbox span.headline strong {
        font-weight: 500;
}
@media (max-width: 767px) {
    .ansprechpartner-wrapper .ansprechpartner {
        margin: 0 -20px; }
    
        .ansprechpartner-wrapper .ansprechpartner .textbox {
            padding-top: 40px; padding-bottom: 60px;
    }
}
@media (min-width: 768px) {
    .ansprechpartner-wrapper {
        padding: 60px 0; }

       .ansprechpartner-wrapper .ansprechpartner .image-box {
            overflow: hidden;
            border-radius: 30px; }

            .ansprechpartner-wrapper .ansprechpartner .image-box img.image {
                width: 100%; height: 100%;
                object-fit: cover;
        }

        .ansprechpartner-wrapper .ansprechpartner .textbox {
            margin: 0 auto;
            max-width: 620px; }

            .ansprechpartner-wrapper .ansprechpartner .textbox .container {
                padding-right: 0; }

                .ansprechpartner-wrapper .ansprechpartner .textbox span.headline {
                    margin-bottom: 40px;
    }
}
@media (min-width: 1200px) {
    .ansprechpartner-wrapper {
        padding: 100px 0; }

        .ansprechpartner-wrapper .ansprechpartner .textbox span.headline {
            font-size: 25px; line-height: 35px;
    }
}


/* -----------------------------------------------------------------------------------
Footer
----------------------------------------------------------------------------------- */
footer {
    padding: 100px 0 80px 0;
    color: #fff;
    background-color: #958d83; }

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

    footer .kontakt-spalten h3 {
        margin-bottom: 5px;
        font-size: 19px; line-height: 29px; color: #fff; opacity: 0.5;
}
@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;
			max-height: 70px; width: auto;
    }
}
@media (min-width: 768px) {
    footer .content {
        margin-right: 40px;
    }
    footer .rechte-spalte {
        text-align: right; }
    
        footer .kontakt-spalten .rechte-spalte img {
            margin-right: 10px;
            max-height: 75px; width: auto;
    }
}
@media (min-width: 1400px) {
    footer .content {
        margin-right: 60px;
    }
}


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


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