html {
    scroll-padding-top: 100px
}

.white {
    color: white
}

.schwarz {
    color: #585858
}

body {
    color: #585858
}

body.lila {
    background-color: #6b3877
}

body.lila .p a {
    color: #6b3877
}

body.lila .p a:hover,
body.lila .p a:focus {
    color: #BFBFBF !important
}

body.lila .schriftfarbe {
    color: #6b3877 !important
}

body.lila .schriftfarbe a {
    color: #6b3877 !important
}

body.lila .backgroundfarbe {
    background-color: #6b3877 !important
}

body.lila .backgroundfarbe.collapsed {
    background-color: white !important
}

body.lila .backgroundfarbe:not(.collapsed) .akk-schrift {
    color: white !important
}

body.lila .backgroundfarbe.accordion-collapse:not(.collapsing) {
    background-color: white !important
}

body.lila .backgroundfarbe.accordion-collapse:not(.collapsing).show {
    background-color: #6b3877 !important
}

body.lila .backgroundfarbe.collapsed {
    background-color: white !important
}

body.lila .backgroundtransfarbe {
    background-color: rgba(108, 56, 119, 0.7) !important
}

body.lila .bordercolor {
    border-color: #6b3877 !important
}

body.lila .button {
    color: white;
    background: #6b3877
}

body.lila .button.white {
    color: #6b3877 !important;
    background: white
}

body.lila .button.white:hover {
    color: white !important;
    background: #6b3877 !important
}

body.lila .button:hover {
    background: white !important;
    color: #6b3877 !important
}

body.lila a:hover .button {
    background: white !important;
    color: #6b3877 !important
}

body.lila a:hover .button.white {
    color: white !important;
    background: #6b3877 !important
}

body.lila .backgroundhellgrau * {
    color: #6b3877 !important
}

body.lila svg .a,
body.lila svg .b {
    stroke: #6b3877 !important
}

body.lila .download a .downloadtext {
    color: #6b3877 !important
}

body.lila .download a:hover svg path {
    stroke: #BFBFBF !important
}

body.lila .download a:hover .downloadtext {
    color: #BFBFBF !important
}

body.lila .download a svg path {
    stroke: #6b3877 !important
}

body.lila .p li::marker {
    color: #6b3877;
    font-weight: 500
}

body.lila .backgroundfarbe li::marker {
    color: white
}

body.lila .slbArrow::before {
    background: white
}

body.lila .slbCloseBtn {
    color: white
}

body.lila .accordion-button::after {
    border-color: #6b3877;
    background: #6b3877
}

body.lila .accordion-button::before {
    border-color: #6b3877
}

body.lila .filterselectionn button:not(.active) {
    color: #6b3877
}

body.lila .filterselectionn .filter-icon line,
body.lila .filterselectionn .filter-icon circle {
    stroke: #6b3877
}

body.lila .linktree a.button {
    margin: 7px;
    white-space: nowrap;
    display: inline-block
}

body.lila .linktree a.button:hover {
    color: white !important;
    background: #6b3877 !important
}

body.lila .linktree a.button:not(.active) {
    color: #6b3877;
    background: transparent
}

body.lila .contentrechtsklein::after {
    background: rgba(108, 56, 119, 0.7)
}

body.lila .link-banner a {
    background: white;
    color: #6b3877
}

body.lila .link-banner a:hover,
body.lila .link-banner a:focus {
    background: #6b3877 !important;
    color: white !important
}

body.lila .news-container .filter-container::after {
    color: #6b3877
}

body.lila .news-container .filter-container .button.active,
body.lila .news-container .filter-container .button.active button {
    background: #6b3877 !important;
    color: white !important
}

body.lila .news-container .filter-container button {
    border-radius: 20px;
    background: #6b3877;
    color: white
}

body.lila .news-container .filter-container.active button {
    background: transparent;
    color: #6b3877
}

body.lila .news-container .news-item time {
    color: #6b3877
}

body.lila .headerslider .scrolldown-btn svg .x,
body.lila .headerslider .scrolldown-btn svg .xxx {
    fill: white !important
}

body.lila .headerslider .scrolldown-btn svg .x {
    stroke: #6b3877 !important
}

body.gruen {
    background-color: #96b422;
    background-color: #697D17;
}

body.gruen .p a {
    color: #96b422;
    color: #697D17
}

body.gruen .p a:hover,
body.gruen .p a:focus {
    color: #BFBFBF !important
}

body.gruen .schriftfarbe,
body.gruen .schriftfarbe a  {
    color: #96b422 !important;
    color: #697D17 !important;
}

body.gruen .backgroundfarbe {
    background-color: #96b422 !important;
    background-color: #697D17 !important;
}

body.gruen .backgroundfarbe.collapsed {
    background-color: white !important
}

body.gruen .backgroundfarbe:not(.collapsed) .akk-schrift {
    color: white !important
}

body.gruen .backgroundfarbe.accordion-collapse:not(.collapsing) {
    background-color: white !important
}

body.gruen .backgroundfarbe.accordion-collapse:not(.collapsing).show {
    background-color: #96b422 !important;
    background-color: #697D17 !important;
}

body.gruen .backgroundfarbe.collapsed {
    background-color: white !important
}

body.gruen .backgroundtransfarbe {
    background-color: rgba(150, 180, 34, 0.7) !important;
    background-color: rgba(105, 125, 23, 0.7) !important
}

body.gruen .bordercolor {
    border-color: #96b422 !important;
    border-color: #697D17 !important
}

body.gruen .button,
body.gruen a:hover .button.white  {
    color: white;
    background: #96b422;
    background: #697D17;
}

body.gruen .button.white,
body.gruen .button:hover,
body.gruen a:hover .button {
    color: #96b422 !important;
    color: #697D17 !important;
    background: white !important;
}

body.gruen .button.white:hover {
    color: white !important;
    background: #96b422 !important;
    background: #697D17 !important;
}

body.gruen .backgroundhellgrau * {
    color: #96b422 !important;
    color: #697D17 !important;
}

body.gruen svg .a,
body.gruen svg .b,
body.gruen .download a svg path  {
    stroke: #96b422 !important;
    stroke: #697D17 !important;
}

body.gruen .download a .downloadtext {
    color: #96b422 !important;
    color: #697D17 !important;
}

body.gruen .download a:hover svg path {
    stroke: #BFBFBF !important
}

body.gruen .download a:hover .downloadtext {
    color: #BFBFBF !important
}

body.gruen .p li::marker {
    color: #96b422;
    color: #697D17;
    font-weight: 500
}

body.gruen .backgroundfarbe li::marker {
    color: white
}

body.gruen .slbArrow::before {
    background: #96b422;
    background: #697D17;
}

body.gruen .slbCloseBtn {
    color: #96b422;
    color: #697D17;
}

body.gruen .accordion-button::after {
    border-color: #96b422;
    background: #96b422;
    border-color: #697D17;
    background: #697D17;
}

body.gruen .accordion-button::before {
    border-color: #96b422;
    border-color: #697D17;
}

body.gruen .filterselectionn button:not(.active) {
    color: #96b422;
    color: #697D17;
}

body.gruen .filterselectionn .filter-icon line,
body.gruen .filterselectionn .filter-icon circle {
    stroke: #96b422;
    stroke: #697D17;
}

body.gruen .linktree a.button {
    margin: 7px;
    white-space: nowrap;
    display: inline-block
}

body.gruen .linktree a.button:hover {
    color: white !important;
    background: #96b422 !important;
    background: #697D17 !important
}

body.gruen .linktree a.button:not(.active) {
    color: #96b422;
    color: #697D17;
    background: transparent
}

body.gruen .contentrechtsklein::after {
    background: rgba(151, 180, 34, 0.7)
}

body.gruen .link-banner a {
    background: white;
    color: #96b422;
    color: #697D17;
}

body.gruen .link-banner a:hover,
body.gruen .link-banner a:focus {
    background: #96b422 !important;
    background: #697D17 !important;
    color: white !important
}

body.gruen .news-container .filter-container::after {
    color: #96b422;
    color: #697D17
}

body.gruen .news-container .filter-container .button.active,
body.gruen .news-container .filter-container .button.active button,
body.gruen .news-container .filter-container button {
    background: #96b422 !important;
    background: #697D17 !important;
    color: white !important
}

body.gruen .news-container .filter-container button {
    border-radius: 20px;
}

body.gruen .news-container .filter-container.active button {
    background: transparent;
    color: #96b422;
    color: #697D17
}

body.gruen .news-container .news-item time {
    color: #96b422;
    color: #697D17
}

body.gruen .headerslider .scrolldown-btn svg .x,
body.gruen .headerslider .scrolldown-btn svg .xxx {
    fill: white !important
}

body.gruen .headerslider .scrolldown-btn svg .x {
    stroke: #96b422 !important;
    stroke: #697D17 !important
}

body.dunkelgruen {
    background-color: #16bba8
}

body.dunkelgruen .p a {
    color: #16bba8
}

body.dunkelgruen .p a:hover,
body.dunkelgruen .p a:focus {
    color: #BFBFBF !important
}

body.dunkelgruen .schriftfarbe {
    color: #16bba8 !important
}

body.dunkelgruen .schriftfarbe a {
    color: #16bba8 !important
}

body.dunkelgruen .backgroundfarbe {
    background-color: #16bba8 !important
}

body.dunkelgruen .backgroundfarbe.collapsed {
    background-color: white !important
}

body.dunkelgruen .backgroundfarbe:not(.collapsed) .akk-schrift {
    color: white !important
}

body.dunkelgruen .backgroundfarbe.accordion-collapse:not(.collapsing) {
    background-color: white !important
}

body.dunkelgruen .backgroundfarbe.accordion-collapse:not(.collapsing).show {
    background-color: #16bba8 !important
}

body.dunkelgruen .backgroundfarbe.collapsed {
    background-color: white !important
}

body.dunkelgruen .backgroundtransfarbe {
    background-color: rgba(22, 187, 168, 0.7) !important
}

body.dunkelgruen .bordercolor {
    border-color: #16bba8 !important
}

body.dunkelgruen .button {
    color: white;
    background: #16bba8
}

body.dunkelgruen .button.white {
    color: #16bba8 !important;
    background: white
}

body.dunkelgruen .button.white:hover {
    color: white !important;
    background: #16bba8 !important
}

body.dunkelgruen .button:hover {
    background: white !important;
    color: #16bba8 !important
}

body.dunkelgruen a:hover .button {
    background: white !important;
    color: #16bba8 !important
}

body.dunkelgruen a:hover .button.white {
    color: white !important;
    background: #16bba8 !important
}

body.dunkelgruen .backgroundhellgrau * {
    color: #16bba8 !important
}

body.dunkelgruen svg .a,
body.dunkelgruen svg .b {
    stroke: #16bba8 !important
}

body.dunkelgruen .download a .downloadtext {
    color: #16bba8 !important
}

body.dunkelgruen .download a:hover svg path {
    stroke: #BFBFBF !important
}

body.dunkelgruen .download a:hover .downloadtext {
    color: #BFBFBF !important
}

body.dunkelgruen .download a svg path {
    stroke: #16bba8 !important
}

body.dunkelgruen .p li::marker {
    color: #16bba8;
    font-weight: 500
}

body.dunkelgruen .backgroundfarbe li::marker {
    color: white
}

body.dunkelgruen .slbArrow::before {
    background: #16bba8
}

body.dunkelgruen .slbCloseBtn {
    color: #16bba8
}

body.dunkelgruen .accordion-button::after {
    border-color: #16bba8;
    background: #16bba8
}

body.dunkelgruen .accordion-button::before {
    border-color: #16bba8
}

body.dunkelgruen .filterselectionn button:not(.active) {
    color: #16bba8
}

body.dunkelgruen .filterselectionn .filter-icon line,
body.dunkelgruen .filterselectionn .filter-icon circle {
    stroke: #16bba8
}

body.dunkelgruen .linktree a.button {
    margin: 7px;
    white-space: nowrap;
    display: inline-block
}

body.dunkelgruen .linktree a.button:hover {
    color: white !important;
    background: #16bba8 !important
}

body.dunkelgruen .linktree a.button:not(.active) {
    color: #16bba8;
    background: transparent
}

body.dunkelgruen .contentrechtsklein::after {
    background: rgba(22, 187, 168, 0.7)
}

body.dunkelgruen .link-banner a {
    background: white;
    color: #16bba8
}

body.dunkelgruen .link-banner a:hover,
body.dunkelgruen .link-banner a:focus {
    background: #16bba8 !important;
    color: white !important
}

body.dunkelgruen .news-container .filter-container::after {
    color: #16bba8
}

body.dunkelgruen .news-container .filter-container .button.active,
body.dunkelgruen .news-container .filter-container .button.active button {
    background: #16bba8 !important;
    color: white !important
}

body.dunkelgruen .news-container .filter-container button {
    border-radius: 20px;
    background: #16bba8;
    color: white
}

body.dunkelgruen .news-container .filter-container.active button {
    background: transparent;
    color: #16bba8
}

body.dunkelgruen .news-container .news-item time {
    color: #16bba8
}

body.dunkelgruen .headerslider .scrolldown-btn svg .x,
body.dunkelgruen .headerslider .scrolldown-btn svg .xxx {
    fill: white !important
}

body.dunkelgruen .headerslider .scrolldown-btn svg .x {
    stroke: #16bba8 !important
}

body.rot {
    background-color: #d6361b
}

body.rot .p a {
    color: #d6361b
}

body.rot .p a:hover,
body.rot .p a:focus {
    color: #BFBFBF !important
}

body.rot .schriftfarbe {
    color: #d6361b !important
}

body.rot .schriftfarbe a {
    color: #d6361b !important
}

body.rot .backgroundfarbe {
    background-color: #d6361b !important
}

body.rot .backgroundfarbe.collapsed {
    background-color: white !important
}

body.rot .backgroundfarbe:not(.collapsed) .akk-schrift {
    color: white !important
}

body.rot .backgroundfarbe.accordion-collapse:not(.collapsing) {
    background-color: white !important
}

body.rot .backgroundfarbe.accordion-collapse:not(.collapsing).show {
    background-color: #d6361b !important
}

body.rot .backgroundfarbe.collapsed {
    background-color: white !important
}

body.rot .backgroundtransfarbe {
    background-color: rgba(214, 55, 27, 0.7) !important
}

body.rot .bordercolor {
    border-color: #d6361b !important
}

body.rot .button {
    color: white;
    background: #d6361b
}

body.rot .button.white {
    color: #d6361b !important;
    background: white
}

body.rot .button.white:hover {
    color: white !important;
    background: #d6361b !important
}

body.rot .button:hover {
    background: white !important;
    color: #d6361b !important
}

body.rot a:hover .button {
    background: white !important;
    color: #d6361b !important
}

body.rot a:hover .button.white {
    color: white !important;
    background: #d6361b !important
}

body.rot .backgroundhellgrau * {
    color: #d6361b !important
}

body.rot svg .a,
body.rot svg .b {
    stroke: #d6361b !important
}

body.rot .download a .downloadtext {
    color: #d6361b !important
}

body.rot .download a:hover svg path {
    stroke: #BFBFBF !important
}

body.rot .download a:hover .downloadtext {
    color: #BFBFBF !important
}

body.rot .download a svg path {
    stroke: #d6361b !important
}

body.rot .p li::marker {
    color: #d6361b;
    font-weight: 500
}

body.rot .backgroundfarbe li::marker {
    color: white
}

body.rot .slbArrow::before {
    background: white
}

body.rot .slbCloseBtn {
    color: white
}

body.rot .accordion-button::after {
    border-color: #d6361b;
    background: #d6361b
}

body.rot .accordion-button::before {
    border-color: #d6361b
}

body.rot .filterselectionn button:not(.active) {
    color: #d6361b
}

body.rot .filterselectionn .filter-icon line,
body.rot .filterselectionn .filter-icon circle {
    stroke: #d6361b
}

body.rot .linktree a.button {
    margin: 7px;
    white-space: nowrap;
    display: inline-block
}

body.rot .linktree a.button:hover {
    color: white !important;
    background: #d6361b !important
}

body.rot .linktree a.button:not(.active) {
    color: #d6361b;
    background: transparent
}

body.rot .contentrechtsklein::after {
    background: rgba(214, 55, 27, 0.7)
}

body.rot .link-banner a {
    background: white;
    color: #d6361b
}

body.rot .link-banner a:hover,
body.rot .link-banner a:focus {
    background: #d6361b !important;
    color: white !important
}

body.rot .news-container .filter-container::after {
    color: #d6361b
}

body.rot .news-container .filter-container .button.active,
body.rot .news-container .filter-container .button.active button {
    background: #d6361b !important;
    color: white !important
}

body.rot .news-container .filter-container button {
    border-radius: 20px;
    background: #d6361b;
    color: white
}

body.rot .news-container .filter-container.active button {
    background: transparent;
    color: #d6361b
}

body.rot .news-container .news-item time {
    color: #d6361b
}

body.rot .headerslider .scrolldown-btn svg .x,
body.rot .headerslider .scrolldown-btn svg .xxx {
    fill: white !important
}

body.rot .headerslider .scrolldown-btn svg .x {
    stroke: #d6361b !important
}

body.blau {
    background-color: #00727a
}

body.blau .p a {
    color: #00727a
}

body.blau .p a:hover,
body.blau .p a:focus {
    color: #BFBFBF !important
}

body.blau .schriftfarbe {
    color: #00727a !important
}

body.blau .schriftfarbe a {
    color: #00727a !important
}

body.blau .backgroundfarbe {
    background-color: #00727a !important
}

body.blau .backgroundfarbe.collapsed {
    background-color: white !important
}

body.blau .backgroundfarbe:not(.collapsed) .akk-schrift {
    color: white !important
}

body.blau .backgroundfarbe.accordion-collapse:not(.collapsing) {
    background-color: white !important
}

body.blau .backgroundfarbe.accordion-collapse:not(.collapsing).show {
    background-color: #00727a !important
}

body.blau .backgroundfarbe.collapsed {
    background-color: white !important
}

body.blau .backgroundtransfarbe {
    background-color: rgba(0, 114, 122, 0.7) !important
}

body.blau .bordercolor {
    border-color: #00727a !important
}

body.blau .button {
    color: white;
    background: #00727a
}

body.blau .button.white {
    color: #00727a !important;
    background: white
}

body.blau .button.white:hover {
    color: white !important;
    background: #00727a !important
}

body.blau .button:hover {
    background: white !important;
    color: #00727a !important
}

body.blau a:hover .button {
    background: white !important;
    color: #00727a !important
}

body.blau a:hover .button.white {
    color: white !important;
    background: #00727a !important
}

body.blau .backgroundhellgrau * {
    color: #00727a !important
}

body.blau svg .a,
body.blau svg .b {
    stroke: #00727a !important
}

body.blau .download a .downloadtext {
    color: #00727a !important
}

body.blau .download a:hover svg path {
    stroke: #BFBFBF !important
}

body.blau .download a:hover .downloadtext {
    color: #BFBFBF !important
}

body.blau .download a svg path {
    stroke: #00727a !important
}

body.blau .p li::marker {
    color: #00727a;
    font-weight: 500
}

body.blau .backgroundfarbe li::marker {
    color: white
}

body.blau .slbArrow::before {
    background: #00727a
}

body.blau .slbCloseBtn {
    color: #00727a
}

body.blau .accordion-button::after {
    border-color: #00727a;
    background: #00727a
}

body.blau .accordion-button::before {
    border-color: #00727a
}

body.blau .filterselectionn button:not(.active) {
    color: #00727a
}

body.blau .filterselectionn .filter-icon line,
body.blau .filterselectionn .filter-icon circle {
    stroke: #00727a
}

body.blau .linktree a.button {
    margin: 7px;
    white-space: nowrap;
    display: inline-block
}

body.blau .linktree a.button:hover {
    color: white !important;
    background: #00727a !important
}

body.blau .linktree a.button:not(.active) {
    color: #00727a;
    background: transparent
}

body.blau .contentrechtsklein::after {
    background: rgba(0, 114, 122, 0.7)
}

body.blau .link-banner a {
    background: white;
    color: #00727a
}

body.blau .link-banner a:hover,
body.blau .link-banner a:focus {
    background: #00727a !important;
    color: white !important
}

body.blau .news-container .filter-container::after {
    color: #00727a
}

body.blau .news-container .filter-container .button.active,
body.blau .news-container .filter-container .button.active button {
    background: #00727a !important;
    color: white !important
}

body.blau .news-container .filter-container button {
    border-radius: 20px;
    background: #00727a;
    color: white
}

body.blau .news-container .filter-container.active button {
    background: transparent;
    color: #00727a
}

body.blau .news-container .news-item time {
    color: #00727a
}

body.blau .headerslider .scrolldown-btn svg .x,
body.blau .headerslider .scrolldown-btn svg .xxx {
    fill: white !important
}

body.blau .headerslider .scrolldown-btn svg .x {
    stroke: #00727a !important
}

.backgroundhellgrau {
    background-color: #EFEFEF
}

[data-title]:hover::before {
    content: attr(data-title);
    position: absolute;
    bottom: -30px;
    display: inline-block;
    padding: 3px 10px;
    border-radius: 5px;
    background: #EFEFEF;
    color: #585858;
    font-size: 13px;
    font-weight: 400;
    font-family: "Maven Pro", Sans-Serif;
    white-space: nowrap
}

* {
    font-family: "Maven Pro", Sans-Serif
}

.segoe {
    font-family: "Segoe Script", "Caveat", Sans-Serif
}

h1 {
    font-size: clamp(2.19rem, calc(1.52rem + 2.14vw), 3.13rem)
}

h2 {
    font-size: clamp(1.56rem, calc(0.67rem + 2.86vw), 2.81rem)
}

h3 {
    font-size: clamp(1.25rem, calc(0.80rem + 1.43vw), 1.88rem)
}

h3 button {
    font-size: 30px
}

h2,
h3 {
    font-weight: 600;
    margin: 0
}

h4 {
    font-weight: 600;
    font-size: 22px
}

h5 {
    font-weight: 600;
    font-size: 17px
}

p,
.p {
    font-size: 17px;
    font-family: "Open Sans", Sans-Serif;
    line-height: 155%;
    color: #585858
}

strong {
    font-family: "Open Sans", Sans-Serif;
    font-weight: 600
}

a:hover {
    color: #BFBFBF !important;
    border-color: #BFBFBF !important
}

.fl {
    float: left
}

.fr {
    float: right
}

img {
    max-width: 100%
}

.padding {
    padding-left: 80px;
    padding-right: 80px
}

.innerpadding {
    padding-left: 30px;
    padding-right: 30px;
    position: relative
}

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

.minusmargin>div {
    margin-left: 15px;
    margin-right: 15px
}

.row {
    width: 100%
}

.bodyinner {
    max-width: 2200px;
    background-color: white;
    overflow: hidden
}

.navi {
    overflow-y: auto;
    position: fixed;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    z-index: 9;
    background: rgba(255, 255, 255, 0.9);
    transition: 0.5s
}

.navi .navilogo {
    padding: 35px;
    padding-top: 0;
    width: 100%
}

.navi>ul {
    float: left;
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 0;
    min-height: 100vh !important
}

.navi li.textzoom a svg,
.navi li.textzoom button svg {
    stroke: none
}

.navi li {
    font-family: "Open Sans", Sans-Serif;
    list-style-type: none !important;
    margin-top: 11px;
    margin-bottom: 11px;
    width: 260px;
    padding-left: 35px;
    padding-right: 25px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.navi li.active {
    font-weight: 500
}

.navi li.active a {
    color: #BFBFBF
}

.navi li.active svg * {
    stroke: #BFBFBF
}

.navi li.mitpfeil svg {
    height: 19px
}

.navi li a {
    color: #585858;
    text-transform: none;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    position: relative;
    max-width: 160px
}

.navi li a:not(.collapsed),
.navi li a:not(.collapsed)+svg *,
.navi li a:hover,
.navi li a:hover+svg * {
    color: #BFBFBF;
    stroke: #BFBFBF
}

.navi .ersteebene {
    overflow: auto
}

.navi .ersteebene .closeall {
    height: 0;
    widows: 0;
    padding: 0;
    margin: 0
}

.navi .ersteebene #collapse999 {
    display: none !important
}

.navi .ersteebene li:first-of-type {
    display: none
}

.navi .ersteebene li:nth-of-type(4) {
    margin-bottom: 27px
}

.navi .ersteebene .textzoom {
    margin-top: 40px;
    justify-content: flex-start;
    padding-left: 27px
}

.navi .ersteebene .textzoom>* {
    position: relative;
    border: none;
    cursor: pointer;
    border-radius: 50%;
    padding: 5px
}

.navi .ersteebene .textzoom div>svg {
    height: 30px
}

.navi .ersteebene .textzoom>*>svg {
    width: 30px;
    height: 30px
}

.navi .ersteebene .textzoom>*:not(:first-child) {
    margin-left: 10px
}

.navi .ersteebene .textzoom .inner {
    background: transparent;
    display: flex;
    cursor: pointer
}

.navi .ersteebene .textzoom .inner.backgroundfarbe svg * {
    fill: white
}

.navi .ersteebene,
.navi .zweiteebene,
.navi .dritteebene,
.navi .vierteebene {
    box-shadow: 2px 0px 10px 0px rgba(0, 0, 0, 0.2);
    max-width: 260px
}

.navi .zweiteebene,
.navi .dritteebene,
.navi .vierteebene {
    padding-top: 130px;
    position: relative;
    z-index: 11
}

.navi .zweiteebene {
    z-index: 13
}

.navi .zweiteebene:focus {
    background: white !important
}

.navi .dritteebene {
    z-index: 12
}

.navi .vierteebene {
    z-index: 11
}

.navi .zweiteebene a,
.navi .dritteebene a,
.navi .vierteebene a {
    color: white
}

.navi .zweiteebene svg *,
.navi .dritteebene svg *,
.navi .vierteebene svg * {
    stroke: white
}

.navi .closemobile {
    position: absolute;
    font-size: 50px;
    top: -5px;
    right: 15px;
    color: white;
    font-weight: 400;
    display: none
}

.closebutton {
    display: inline-block;
    position: absolute;
    top: 28px;
    left: -37px;
    width: 24px;
    transition: 1s
}

.closebutton .navistrichs {
    display: block;
    border-radius: 20px;
    width: 30px;
    height: 2px;
    margin: 6px 0;
    border-radius: 5px;
    transition: 0.3s ease-out;
    border: none;
    background-color: white
}

.closebutton #ns1s {
    transform: rotate(45deg);
    transition: 0.3s ease-out;
    position: relative;
    top: 4px;
    left: -2px
}

.closebutton #ns2s {
    transform: rotate(-45deg);
    transition: 0.3s ease-out;
    position: relative;
    top: -4px;
    left: -2px
}

.news-container .padding>h2 {
    margin-bottom: 20px
}

.news-container .news-item {
    margin-bottom: 50px
}

.news-container .news-item img {
    width: 100%;
    max-height: 250px;
    object-fit: cover;
    object-position: center;
    margin-bottom: 20px
}

.news-container .news-item h3 {
    margin-bottom: 20px
}

.news-container .news-item .p {
    margin-bottom: 30px
}

.news-container .news-item time {
    font-family: "Maven Pro", sans-serif;
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 10px
}

.news-container .page-container:not(:empty) {
    display: flex;
    justify-content: center;
    align-items: center
}

.news-container .page-container:not(:empty) * {
    margin: 0 15px
}

.news-container .page-container:not(:empty) a img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    object-position: center
}

.news-container .page-container:not(:empty) a.prev {
    transform: scaleX(-1)
}

.news-container .filter-container:empty {
    display: none
}

.news-container .filter-container {
    width: fit-content;
    margin-bottom: 40px;
    line-height: unset !important;
    position: relative;
    border: none;
    isolation: isolate;
    padding: 0
}

.news-container .filter-container::after {
    content: "";
    background: white;
    border: 1px solid currentColor;
    border-radius: inherit;
    position: absolute;
    top: 0;
    left: 0;
    width: var(--w, 100%);
    height: var(--h, 100%);
    z-index: -1;
    transition: height 0.25s ease, width 0.25s ease
}

.news-container .filter-container .filters {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: calc(100% + 0.25em);
    padding: 0 20px;
    width: max-content
}

.news-container .filter-container .filters a {
    text-decoration: none;
    color: #585858;
    margin-bottom: 5px
}

.news-container .filter-container .filters a:last-child {
    margin-bottom: 10px
}

.news-container .filter-container:not(.active) .filters {
    display: none
}

.news-container .filter-container button {
    color: inherit;
    background: none;
    border: none;
    font-size: inherit;
    text-align: left;
    padding: 8px 20px;
    font-family: inherit;
    font-weight: inherit;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center
}

.news-container .filter-container button::after {
    content: "";
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    margin-left: 1em;
    margin-bottom: 0.2em;
    transform: rotate(45deg);
    transition: transform 0.25s ease, margin 0.25s ease;
    width: 0.7em;
    height: 0.7em;
    display: inline-block
}

.news-container .filter-container button:hover::after,
.news-container .filter-container button:focus-visible::after,
.active .news-container .filter-container button::after {
    transform: rotate(-135deg);
    margin-bottom: -0.35em
}

.news-container .filter-container.active button::after {
    transform: rotate(-135deg);
    margin-bottom: -0.35em
}

.naviopener .navistrich {
    display: block;
    border-radius: 20px;
    width: 30px;
    height: 3px;
    margin: 6px 0;
    border-radius: 5px;
    transition: 0.3s ease-out;
    border: none;
    background-color: #839b28
}

.naviopener #ns1 {
    transform: rotate(0deg);
    transition: 0.3s ease-out;
    position: relative;
    top: 0px
}

.naviopener.open #ns1 {
    transform: rotate(-45deg);
    transition: 0.5s ease-out;
    position: relative;
    top: 9px;
    transition-delay: 0.1s
}

.naviopener #ns2 {
    position: relative;
    right: 0px;
    transition: 0.3s ease-out
}

.naviopener.open #ns2 {
    position: relative;
    right: -35px;
    transition: 0.5s ease-out;
    transition-delay: 0.1s
}

.naviopener #ns3 {
    transform: rotate(0deg);
    transition: 0.3s ease-out;
    position: relative;
    bottom: 0px
}

.naviopener.open #ns3 {
    transform: rotate(45deg);
    transition: 0.5s ease-out;
    position: relative;
    bottom: 9px;
    transition-delay: 0.1s
}

.background {
    position: fixed;
    top: 0;
    left: 0;
    height: 0;
    width: 0;
    z-index: 8
}

.background.naviopen {
    width: 100%;
    height: 100%
}

.headerslider {
    position: relative
}

.headerslider .headersliderimg {
    width: 100%;
    object-fit: cover
}

.headerslider .headersliderimg.small {
    height: 500px
}

.headerslider .headersliderimg.tall {
    height: 96vh
}

.headerslider .headertext {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding-top: 60px;
    padding-bottom: 60px
}

.headerslider .headertext h1 {
    color: white;
    margin: 0
}

.headerslider .headertext .p {
    margin-top: 20px
}

.headerslider .headertext .p>:last-child {
    margin-bottom: 0
}

.headerslider .headertext .p * {
    color: white
}

.textblock h2 {
    margin-top: 5px
}

.textblock .p {
    margin-top: 20px
}

.textblock .p>:last-child {
    margin-bottom: 0
}

ol,
ul {
    padding-left: 20px
}

.button {
    font-size: 14px;
    height: unset;
    padding: 8px 20px;
    border-radius: 20px;
    text-decoration: none;
    line-height: 1.36;
    font-weight: 500
}

.button.absolute {
    position: absolute;
    bottom: 50px;
    left: 30px
}

.button:hover {
    cursor: pointer
}

.button.white {
    color: white;
    border-color: white
}

.button.white:hover {
    color: white;
    border-color: white
}

.button.gruen,
.button.gruen:hover {
    color: #96b422;
    border-color: #96b422;
    color: #697D17;
    border-color: #697D17;
}

.button.lila,
.button.lila:hover  {
    color: #6b3877;
    border-color: #6b3877
}

.button.intext {
    margin-top: 30px;
    display: inline-block
}

.breadcrumb-navi {
    padding: 20px 0;
    word-wrap: normal;
    font-weight: 500
}

.breadcrumb-navi>div {
    display: flex;
    flex-wrap: wrap
}

.breadcrumb-navi a {
    display: flex;
    color: #585858;
    text-decoration: none
}

.breadcrumb-navi a:not(:first-child) {
    margin-left: 5px
}

.breadcrumb-navi a span:first-child {
    margin-right: 5px;
    flex-shrink: 0
}

.servicebild .card .backgroundhellgrau .p * {
    color: #585858 !important
}

.servicebild .padding {
    margin: 0 -15px
}

.servicebild .row {
    margin-left: 0;
    margin-right: 0
}

.servicebild.gross .card {
    min-height: 500px
}

.servicebild .card {
    border: none;
    border-radius: 0;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px
}

.servicebild .card img {
    height: 100%;
    object-fit: cover
}

.servicebild .card .backgroundfarbe *,
.servicebild .card .bild * {
    color: white
}

.servicebild .card .card-body {
    top: 0;
    width: 100%;
    height: 100%;
    color: white
}

.servicebild .card .card-body .inner {
    padding-top: 30px;
    padding-bottom: 30px;
    height: 100%;
    display: flex;
    flex-direction: column
}

.servicebild .card .card-body .inner .button {
    margin-top: auto;
    width: fit-content;
    margin-bottom: 0
}

.servicebild .card .card-body .inner .p {
    margin-bottom: 30px
}

.servicebild .card .card-body .inner .p:not(:empty) {
    margin-top: 20px
}

.servicebild .card .card-body .inner .p>:last-child {
    margin-bottom: 0
}

.servicebild .card .card-body.bild .button {
    color: white;
    border-color: white
}

.servicebild .einzelservicebild h2,
.servicebild .einzelservicebild h3 {
    margin-bottom: 0
}

.servicebild .einzelservicebild a {
    height: 100%;
    text-decoration: none
}

.sponsors {
    padding-top: 100px;
    padding-bottom: 100px;
    background: #EFEFEF
}

.sponsors+.sponsors {
    padding-top: 0
}

.sponsors .row {
    --bs-gutter-y: 1.5rem
}

.sponsors h2 {
    margin-bottom: 50px
}

.sponsors .item {
    background: white;
    padding: 15%;
    height: 100%;
    aspect-ratio: 1
}

.sponsors .item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center
}

.teaser {
    padding-top: 50px;
    padding-bottom: 50px
}

.teaser .padding * {
    max-width: 980px
}

.teaser.gross {
    min-height: 500px
}

.teaser.gross h2 {
    margin-bottom: 200px
}

.teaser.klein {
    min-height: 150px
}

.teaser.klein h2 {
    margin-bottom: 0px
}

.teaser.klein h2.marginbottom {
    margin-bottom: 50px
}

.teaser h2,
.teaser h3 {
    color: white
}

.teaser .button {
    margin-top: 20px;
    display: inline-block
}

.floater {
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 10;
    width: 250px;
    height: 200px
}

.floater img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center
}

.floater a {
    display: block;
    width: 100%;
    height: 100%;
    transition: opacity 0.5s ease
}

.floater a:hover,
.floater a:focus {
    opacity: 0.75
}

.textbild {
    display: inline-block
}

.textbild .row {
    padding: 0;
    margin: 0
}

.textbild .textbildimg {
    padding: 0
}

.textbild .textbildimg img {
    object-fit: cover;
    width: 100%
}

.textbild .textpadding {
    padding-top: 50px;
    padding-bottom: 50px
}

.textbild .textpadding.fl {
    padding-right: 50px;
    padding-left: 0px
}

.textbild .textpadding.fr {
    padding-right: 50px;
    padding-left: 50px
}

.textbild h2 {
    margin-top: 10px
}

.textbild .p {
    margin-top: 30px;
    display: inline-block;
    width: 100%
}

.newsletterapi {
    padding-left: 340px !important
}

.footer * {
    color: white;
    text-decoration: none
}

.footer .innercolor {
    padding-top: 50px;
    padding-bottom: 30px;
    display: inline-block;
    width: 100%
}

.footer .innercolor .footertext {
    color: white;
    margin-bottom: 50px;
    display: flex;
    flex-wrap: wrap;
    gap: 30px 100px
}

.footer .navilogo {
    max-width: 200px;
    margin-bottom: 50px;
    filter: contrast(0) brightness(100)
}

.footer .footlink {
    display: inline-block
}

.footer .footlink a {
    margin-right: 45px;
    font-weight: 500;
    margin-bottom: 50px;
    display: inline-block
}

.footer .footlink.unten a {
    margin-bottom: 6px
}

#textzoom1 {
    transition: 0.5s;
    opacity: 1
}

.none {
    opacity: 0 !important
}

.bold {
    font-weight: 500
}

.drehen {
    transform: rotate(90deg);
    display: inline-block;
    font-size: 40px;
    border: 1px solid white;
    text-align: center;
    border-radius: 20px;
    padding: 7px;
    font-family: monospace;
    height: 75px;
    color: white
}

.p li {
    font-family: "Open Sans", Sans-Serif;
    list-style-type: square;
    break-inside: avoid
}

.p li::marker {
    color: #96b422;
     color: #697D17
}

.p ol li {
    font-family: "Open Sans", Sans-Serif;
    list-style-type: decimal;
    break-inside: avoid
}

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

.gallery a {
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
    overflow: hidden
}

.gallery a img {
    width: 100%;
    object-fit: cover;
    object-position: center;
    transition: 0.5s
}

.gallery a img:hover,
.gallery a img:active {
    transform: scale(1.05)
}

#myBtn svg {
    width: 50px;
    height: 26px
}

.linktree {
    /* margin-top: 50px; */
    margin-top: 100px;
    margin-bottom: 50px;
    margin-left: -7px;
    margin-right: -7px;
    white-space: nowrap;
    overflow: auto
}

.linktree a {
    margin: 7px;
    white-space: nowrap;
    display: inline-block
}

h3+.download,
h2+.download {
    margin-top: 20px
}

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

.download a {
    display: inline-block;
    padding-left: 15px;
    padding-right: 15px;
    text-decoration: none;
    margin-bottom: 10px
}

.download a svg {
    min-width: 28px
}

.download a .downloadtext {
    position: relative;
    top: 2px;
    margin-left: 10px;
    font-weight: 600
}

.overflow {
    display: inline-block;
    overflow: hidden;
    width: 100%
}

.slbImage {
    max-height: 800px !important
}

.slbArrow {
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1
}

.slbArrow::before {
    mask-position: center;
    mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-image: url("../../media/icon_pfeil.svg");
    -webkit-mask-image: url("../../media/icon_pfeil.svg");
    border: none;
    width: 40px;
    height: 40px;
    position: static;
    background: white
}

.slbArrow.prev::before {
    transform: rotate(180deg)
}

.slbCloseBtn {
    color: white
}

.servicebild .card .card-body {
    padding: 0
}

.slbCaption {
    font-size: 17px
}

.sucheingabe {
    padding: 100px 0
}

.sucheingabe.padding {
    padding: 100px 0 400px
}

.sucheingabe h3 {
    color: white
}

.search_it-flex .eingabe {
    width: 100%;
    background: transparent;
    border: none;
    border-bottom: 1px solid white;
    color: white;
    font-size: clamp(1.56rem, calc(0.67rem + 2.86vw), 2.81rem);
    margin-bottom: 100px;
    outline: none;
    font-weight: 600
}

.search_it-flex .eingabe::placeholder {
    color: white;
    opacity: 0.5
}

.suchergebnisse {
    padding: 100px 0
}

.suchergebnisse h2 {
    font-weight: 600;
    margin-bottom: 100px
}

.suchergebnisse .search_it-results {
    padding: 0;
    margin: 0
}

.suchergebnisse .search_it-results .search_it-article {
    list-style-type: none;
    margin-bottom: 50px
}

.suchergebnisse .search_it-results .search_it-article .schriftfarbe {
    font-weight: 400
}

.suchergebnisse .search_it-results .search_it-article .schriftfarbe a {
    text-decoration: none;
    font-weight: 500
}

.suchergebnisse .search_it-results .search_it-article .search_it-url {
    margin-bottom: 0
}

.link-banner {
    position: fixed;
    z-index: 8;
    top: 0;
    left: 0;
    overflow-x: auto;
    width: 100%;
    max-width: 2200px
}

.link-banner .backgroundfarbe {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 15px
}

.link-banner a {
    background: white;
    margin-left: 15px;
    font-size: 14px;
    height: unset;
    padding: 8px 20px
}

.project-wrapper .project-shuffle .filterDivNews {
    border: none;
    float: left
}

.project-wrapper .project-shuffle .filterDivNews .card-body {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0
}

.project-wrapper .project-shuffle .filterDivNews a {
    text-decoration: none
}

.project-wrapper .project-shuffle .filterDivNews .obernews {
    margin-bottom: 35px;
    overflow: hidden
}

.project-wrapper .project-shuffle .filterDivNews .obernews img {
    object-fit: cover;
    transition: 0.5s;
    height: 300px
}

.project-wrapper .project-shuffle .filterDivNews .obernews img:hover {
    transform: scale(1.05)
}

.project-wrapper .project-shuffle .filterDivNews.show {
    display: block
}

.project-wrapper .project-shuffle .filterDivNews.hide {
    display: none
}

.project-wrapper .project-shuffle .filterDivNews .button {
    left: 20px
}

.leichtesprache li {
    font-family: "Open Sans", Sans-Serif
}

.leichtesprache li::marker {
    color: currentColor !important
}

.leichtesprache .row:not(:last-child) {
    margin-bottom: 100px
}

.leichtesprache img {
    max-height: 200px
}

.aplatz {
    position: static;
    width: 100%;
    min-height: 60px
}

.aplatz .button {
    bottom: 0
}

.filterselectionn {
    margin-bottom: 100px;
    margin-top: 50px
}

.filterselectionn button {
    margin-right: 15px;
    color: #96b422;
    color: #697D17;
    font-weight: 500;
    text-align: center;
    background: transparent;
    border: none
}

.filterselectionn button.active {
    color: #585858
}

.filterselectionn .filter-icon {
    width: 30px;
    height: 30px;
    padding: 0;
    margin: 0;
    display: none
}

.filterselectionn .filter-icon line,
.filterselectionn .filter-icon circle {
    stroke: #96b422;
    stroke: #697D17;
}

.filterselectionn .filter-buttons {
    display: block
}

.news-boss .row {
    margin-right: -20px;
    margin-left: -20px;
    width: unset
}

.mehrladen {
    position: relative;
    display: inline-block;
    width: 100%;
    text-align: center;
    margin-top: 50px;
    min-height: 50px;
    margin-bottom: 100px
}

.mehrladen a {
    bottom: 0 !important;
    position: static !important
}

.project-wrapper .project-shuffle .filterDivNews.show.newload {
    display: none
}

.headerslider.voll .headertext {
    height: 100%
}

.headerslider.voll .headertext h3 {
    margin-bottom: 30px
}

.headerslider.voll .headertext .p p {
    color: white
}

.headerslider.voll .headertext .p p a {
    color: white;
    text-decoration: none
}

.contentrechtsklein {
    float: right;
    position: absolute;
    right: 150px;
    bottom: 50px;
    z-index: 2
}

.contentrechtsklein::after {
    content: "";
    position: absolute;
    bottom: -50px;
    left: -50px;
    height: 530px;
    width: calc(100% + 150px + 50px);
    background: rgba(108, 56, 119, 0.7);
    z-index: -1
}

.contentrechtsklein h3 {
    margin-bottom: 20px
}

.slick-track .button {
    font-size: 21px;
}
div.slick-track {width:100% !important;}

/*
.headerslid {
    height: 500px;
    position: relative;
    background-position: center;
    background-size: cover
} */
.headerslid {
    height: 530px;
    position: relative;
    background-position: 31%;
    background-size: cover
}

.headerslid .headertext {
    height: 100%
}

.headerslid .headertext *,
.headerslid .headertext a,
.headerslid .headertext .p a {
    color: white;
    text-decoration: none
}

.search_it-button {
    border: none
}

.team {
    display: inline-block;
    width: 100%;
    background: #EFEFEF;
    padding-top: 100px;
    padding-bottom: 100px
}

.team h2 {
    width: 100%;
    margin-bottom: 20px;
    color: #007695 !important
}

.team .teamtext {
    padding: 30px
}

.team .teamtext h3 {
    margin-bottom: 10px
}

.team .teamtext p {
    font-weight: 400;
    margin-bottom: 30px
}

.team .teamtext p span {
    font-weight: 600;
    display: block
}

.team .teamtext a {
    text-decoration: none;
    color: #585858
}

.team img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.back-to-top {
    position: fixed;
    bottom: 10px;
    right: 50px;
    padding: 1em;
    z-index: 100
}

.back-to-top svg {
    width: 25px;
    height: 25px;
    transform: rotate(-90deg)
}

.accordion .contentmitte h3+h2 {
    margin-top: 5px
}

.accordion .accordion-collapse {
    background: #16bba8
}

.accordion .accordion-item {
    border: none
}

.accordion .accordion-item .accordion-header .padding {
    display: inline-block;
    width: 100%
}

.accordion .accordion-item button {
    font-size: inherit
}

.accordion .accordion-item button span {
    font-size: inherit;
    font-weight: 600;
    color: #16bba8
}

.accordion .accordion-item .accordion-body {
    color: white;
    padding-top: 10px;
    padding-bottom: 50px;
    font-size: 17px
}

.accordion .accordion-item .accordion-body span {
    display: inline-block
}

.accordion .accordion-item .accordion-body span * {
    color: white
}

.accordion .accordion-item .accordion-collapse {
    transition: 0.6s;
    transition-delay: 0.1s
}

.accordion .accordion-button {
    box-shadow: none;
    padding-top: 70px
}

.accordion .accordion-button:not(.collapsed) {
    background-color: #16bba8;
    transition: 0.2s
}

.accordion .accordion-button:not(.collapsed) span {
    color: white
}

.accordion .accordion-button::after {
    content: "";
    mask-position: center;
    mask-size: contain;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-image: url("../../media/icon_pfeil-acc.svg");
    -webkit-mask-image: url("../../media/icon_pfeil-acc.svg");
    border: 1px solid #16bba8;
    border-radius: 20px;
    background: #16bba8;
    width: 60px;
    height: 30px
}

.accordion .accordion-button::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 325px;
    width: calc(100% - 495px);
    border-bottom: 1px solid black
}

.accordion .accordion-button:not(.collapsed)::after {
    border: 1px solid #ffffff;
    background: white;
    transform: scale(-1)
}

.iconwithttext .iconueberschrift {
    margin-bottom: 70px
}

.iconwithttext .icontextblock {
    margin-bottom: 100px;
    display: flex
}

.iconwithttext .icontextblock .iconinhalt {
    padding: 0 20px
}

.iconwithttext .icontextblock .iconinhalt h3 {
    margin-bottom: 20px
}

.iconwithttext .iconbild div {
    width: 100%;
    height: 100px
}

.vorteile {
    background-size: cover;
    background-position: center;
    position: relative
}

.vorteile * {
    color: white
}

.vorteile .padding {
    padding-top: 100px;
    padding-bottom: 100px
}

.vorteile .colorback {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.vorteile .ueberschrift {
    margin-bottom: 70px
}

.vorteile .vorteiltextblock h3 {
    margin-bottom: 30px
}

.vorteile .row {
    margin-left: -30px;
    margin-right: -30px
}

.vorteile .row .card {
    border: none;
    background: transparent;
    padding-left: 30px;
    padding-right: 30px;
    margin-bottom: 70px
}

.vid-txt .row {
    --bs-gutter-x: 50px;
    width: unset
}

.vid-txt .video-container {
    position: relative;
    width: 100%
}

.vid-txt .video-container::before {
    content: "";
    display: block;
    padding-top: 56.25%
}

.vid-txt .video-container>* {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.vid-txt .video-container video {
    object-fit: contain;
    object-position: center
}

.vid-txt h3 {
    margin-bottom: 20px
}

.vid-txt .yt-notice {
    height: 100%;
    width: 100%
}

.vid-txt .yt-notice[style] p {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: white;
    background: rgba(0, 0, 0, 0.5)
}

.vid-txt .yt-notice[style] span {
    color: white
}

.vid-txt .yt-notice p {
    text-align: center;
    margin: 0
}

.vid-txt iframe:not([src]) {
    display: none
}

.vid-txt iframe {
    width: 100%;
    height: 100%
}

.vid-txt .textside {
    padding-top: 50px
}

.vid-txt .p>:last-child {
    margin-bottom: 0
}

.vid-txt a.button {
    margin-top: 30px;
    display: inline-block
}

.job-widget {
        padding-left: 15px;
}

@media (max-width:1800px) {
    .innerpadding {
        padding-top: 30px !important
    }

    .servicebild .button.absolute {
        left: 30px;
        bottom: 30px
    }
}

@media (max-width:1660px) {
    .slbCloseBtn {
        right: 0px;
        top: 0px
    }

    .p li {
        font-family: "Open Sans", Sans-Serif;
        list-style-type: square
    }

    .p li::before {
        content: "";
        display: none
    }
}

@media (max-width:1400px) {
    .team .teamtext {
        width: 100%;
        padding: 30px 0
    }

    .team .fle>div:first-of-type {
        width: 100%
    }
}

@media (max-width:1199px) {
    .navi li {
        width: 244px
    }

    .servicebild.gross .card {
        min-height: 400px
    }

    .teaser.gross {
        min-height: 400px
    }

    .padding {
        padding-left: 50px;
        padding-right: 50px
    }

    .row11 {
        flex-direction: row-reverse;
        flex-wrap: wrap-reverse
    }

    .textbild.contentrechts .textbildimg img {
        height: 400px !important
    }

    .headerslider .headersliderimg.tall {
        height: 75vh
    }

    .accordion-button::before {
        left: 295px !important;
        width: calc(100% - 465px) !important
    }
}

@media (min-width:993px) {
    .contentfull {
        width: 100%
    }

    .contentmitte {
        /* padding-left: 260px; */
        /* max-width: 1400px */
        margin-left: 260px;
        max-width: 1400px;
    }

    .contentmitte.zweispaltig {
        max-width: unset
    }

    .contentmitte.zweispaltig .p {
        column-count: 2
    }

    .contentrechts {
        padding-left: 260px;
        width: 100%
    }

    .naviopener,
    .responsiveclose {
        display: none
    }

    .responsivelogo {
        display: none
    }

    .naviopenerout {
        display: none
    }

    .closebutton {
        display: none
    }

    .accordion-button::after {
        margin-right: 150px
    }
}

@media (max-width:992px) {
    .fr {
        float: left
    }
    .headerslid {
	height: 450px;
	position: relative;
	background-position: 40%;
	background-size: cover;
	top: 75px;
    }

    .textbild .textpadding.links,
    .textbild .textpadding.rechts {
        padding-left: 30px;
        padding-right: 30px
    }

    .link-banner {
        padding: 0;
        top: 75px
    }

    .navi {
        left: -100%;
        background: white
    }

    .navi ul {
        width: 260px
    }

    .navi ul li {
        margin-right: 20px
    }

    .navi.open {
        left: 0
    }

    .navi .closemobile {
        display: block;
        top: 28px;
        opacity: 1;
        font-size: 16px;
        transition: 1s;
        white-space: nowrap;
        overflow: hidden
    }

    .navi .closemobile svg {
        width: 9px;
        transform: rotate(180deg);
        margin-right: 10px;
        position: relative;
        top: -2px
    }

    .navi .closemobile .backtext {
        opacity: 0;
        transition: 1s;
        color: white;
        display: inline-block;
        width: 0;
        font-weight: 500
    }

    .navi .ersteebene {
        z-index: 9;
        padding-top: 100px
    }

    .navi .zweiteebene,
    .navi .dritteebene,
    .navi .vierteebene {
        position: absolute;
        padding-top: 100px
    }

    .navi .zweiteebene li,
    .navi .dritteebene li,
    .navi .vierteebene li {
        opacity: 1;
        transition: 1s
    }

    .navi .zweiteebene {
        z-index: 11
    }

    .navi .dritteebene {
        z-index: 12
    }

    .navi .vierteebene {
        z-index: 13
    }

    .navi .navilogoa {
        display: none
    }

    .navi .closebutton .navistrichs {
        transition: 2s;
        opacity: 1
    }

    .navi .collapse.show li {
        opacity: 1
    }

    .navi .collapse.show .closemobile {
        opacity: 1
    }

    .navi .collapse.show .closemobile .backtext {
        opacity: 1;
        width: 70px
    }

    .navi .collapse.show .closebutton {
        left: 37px
    }

    .navi .collapse.show .closebutton .navistrichs {
        opacity: 1
    }

    .responsiveclose.open {
        display: block;
        top: 0;
        left: 0;
        width: 100%;
        height: 90vh;
        position: fixed;
        z-index: 7
    }

    .naviopener {
        position: fixed;
        top: 23px;
        left: 30px;
        z-index: 11;
        overflow: hidden;
        display: inline-block
    }

    .responsivelogo img {
        width: 160px;
        margin-bottom: 10px
    }

    .naviopenerout {
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        background: white;
        z-index: 10;
        padding-top: 10px;
        padding-bottom: 10px
    }

    .naviopenerout .inner {
        width: 32px;
        display: inline-block;
        top: 13px;
        left: 60px;
        position: relative;
        border-radius: 20px;
        padding: 3px;
        padding-top: 2px
    }

    .naviopenerout .inner.backgroundfarbe svg * {
        stroke: white
    }

    .naviopenerout .responsivelogo {
        float: right
    }

    .padding {
        padding-left: 30px;
        padding-right: 30px
    }

    .innerpadding {
        padding-left: 30px;
        padding-right: 30px
    }

    #background {
        display: none !important
    }

    .col-lg-6,
    .textbild {
        width: 100%
    }

    .newsletterapi {
        padding-left: 30px !important
    }

    .contentmitte.zweispaltig .p {
        column-count: 1
    }

    .textbild .textpadding.fr {
        padding-right: 30px;
        padding-left: 30px
    }

    .textbild.contentvoll .textbildimg img {
        height: 400px !important
    }

    .download a {
        display: flex;
        flex-flow: nowrap
    }

    .accordion-button::before {
        left: 35px !important;
        width: calc(100% - 55px) !important
    }

    .leichtesprache .row:not(:last-child) {
        margin-bottom: 50px
    }

    .leichtesprache img {
        margin-bottom: 15px
    }
}

@media (max-width:767px) {
    .naviopenerout .inner {
        left: 65px
    }

    .padding {
        padding-left: 15px;
        padding-right: 15px
    }

    .innerpadding {
        padding-left: 15px;
        padding-right: 15px
    }

    .servicebild .card .card-body .inner {
        padding-bottom: 30px
    }

    .textbild .textpadding.links,
    .textbild .textpadding.rechts {
        padding-left: 15px;
        padding-right: 15px
    }

    .textbild .textpadding.fr {
        padding-right: 15px;
        padding-left: 15px
    }

    .headerslider .headertext h1 {
        color: white
    }

    .servicebild .button.absolute {
        left: 15px
    }

    .footer .footlink.unten a {
        display: block
    }

    .footer .footlink a:first-child {
        display: block;
        width: fit-content;
        margin-bottom: 20px
    }

    .footer .footlink a {
        margin-right: 15px
    }

    .contentrechtsklein {
        float: left;
        bottom: 0;
        right: unset
    }

    .contentrechtsklein::after {
        bottom: 0;
        left: -15px;
        width: 100vw;
        height: 500px
    }

    .headerslider.voll {
        min-height: 500px
    }

    .headerslider.voll img {
        height: 100% !important
    }

    .filterselectionn {
        margin: 30px 0
    }

    .filterselectionn .filter-icon {
        display: block
    }

    .filterselectionn button {
        display: block
    }

    .filterselectionn .filter-buttons {
        overflow: hidden;
        max-height: 0px;
        transition: max-height 0.5s ease, padding 0.5s ease
    }

    .filterselectionn .filter-buttons.visible {
        max-height: var(--height);
        padding-top: 10px
    }

    .filterselectionn .filter-buttons button {
        padding: 5px 0
    }

    .accordion-button::before {
        left: 20px !important;
        width: calc(100% - 40px) !important
    }

    .floater {
        width: 125px;
        height: 100px
    }
}

@media (max-width:575px) {
    .servicebild .row {
        margin-left: 0px;
        margin-right: 0px
    }

    .gallery {
        margin-left: 0;
        margin-right: 0
    }

    .gallery a {
        padding-left: 0;
        padding-right: 0
    }

    .accordion .accordion-item .accordion-button span.padding {
        font-size: 20px
    }

    .iconwithttext .icontextblock {
        display: block;
        margin-bottom: 50px
    }

    .iconwithttext .icontextblock .iconbild {
        width: 100%
    }

    .iconwithttext .icontextblock .iconbild div {
        height: 70px;
        margin-bottom: 10px
    }

    .iconwithttext .icontextblock .iconinhalt {
        padding: 0
    }
}