section {
    max-width: 100%;
    overflow: hidden;
    padding-bottom: 60px;
}

@media screen and (min-width: 768px) {
    section {
        padding-bottom: 96px;
    }
}

/* 
Hero 
*/
.content {
    padding-top: 104px;
}
@media screen and (min-width: 900px) {
    .content {
        padding-top: 124px;
    }
}
.section-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 0;
    padding-bottom: 0;
    padding-bottom: 31px;
}
@media screen and (min-width: 768px) {
    .section-hero {
        padding-bottom: 105px;
    }
    /* .home .section-hero {
        padding-bottom: 75px;
    } */
}
.section-hero .slick-list {
    overflow: visible;
}
.hero-slider {
    width: 100%;
    max-width: 2360px;
    min-height: 290px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0;
    margin-bottom: 30px;
}

.hero-slider .slick-dots {
    bottom: 0;
    text-align: right;
    padding-right: 10px;
    width: 100%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
}

.section-carousel .slick-dots button:before {
    width: 10px;
    height: 10px;
}
@media screen and (min-width: 800px) {
    .hero-slider.slick-dotted {
        height: 600px;
        margin-bottom: 0;
    }
}
@media screen and (min-width: 1600px) {
    .hero-slider.slick-dotted {
        height: 630px;
    }
}
.hero-group {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
}
.hero-img-l {
    width: 35.14%;
    height: 290px;
}
@media screen and (min-width: 800px) {
    .hero-img-l {
        width: 35.67%;
        height: 600px;
    }
}
@media screen and (min-width: 1600px) {
    .hero-img-l {
        width: 40.43%;
        height: 630px;
    }
}
.hero-img-r {
    width: calc(64.86% - 10px);
    height: 290px;
}
@media screen and (min-width: 800px) {
    .hero-img-r {
        width: calc(64.33% - 10px);
        height: 600px;
    }
}
@media screen and (min-width: 1600px) {
    .hero-img-r {
        width: calc(59.57% - 10px);
        height: 630px;
    }
}
.hero-img-l img,
.hero-img-r img {
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100% !important;
    height: 290px !important;
}
@media screen and (min-width: 800px) {
    .hero-img-l img,
    .hero-img-r img {
        height: 600px !important;
    }
}
@media screen and (min-width: 1600px) {
    .hero-img-l img,
    .hero-img-r img {
        height: 630px !important;
    }
}
.section-hero img {
    width: 100%;
    max-width: none;
    display: block;
}
.hero-bubble {
    display: block;
    position: absolute;
}
.section-hero .slider-caption {
    position: absolute;
    bottom: 50px;
    left: 50px;
    max-width: 50%;
}

.bubble {
    background-image: radial-gradient(circle at 0% 0%, #a63a97 0%, #6d1b5e 141%, #6d1b5e 141%);
    box-shadow: 0 6px 24px 0 rgba(0, 0, 0, 0.35);
    border-radius: 0 14px 0 14px;
    font-size: 16px;
    color: #ffffff;
    letter-spacing: 0.6px;
    line-height: 22px;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 7px;
    padding-bottom: 7px;
    width: 100%;
    max-width: 238px;
}
.bubble p {
    margin-bottom: 0;
}
.gradient-purple {
    background-image: radial-gradient(circle at 0% 0%, #a63a97 0%, #6d1b5e 141%, #6d1b5e 141%) !important;
    box-shadow: 0 6px 24px 0 rgba(0, 0, 0, 0.35);
}
.gradient-yellow {
    background-image: radial-gradient(circle at 0% 0%, #f6b53b 0%, #df950b 141%, #6d1b5e 141%) !important;
    box-shadow: 0 6px 24px 0 rgba(0, 0, 0, 0.35);
}
.gradient-red {
    background-image: radial-gradient(circle at 0% 0%, #c6183d 0%, #94001f 141%) !important;
    box-shadow: 0 6px 24px 0 rgba(0, 0, 0, 0.35);
}
@media screen and (min-width: 768px) {
    .bubble {
        font-size: 32px;
        letter-spacing: 0.6px;
        line-height: 40px;
        padding-left: 52px;
        padding-right: 42px;
        padding-top: 37px;
        padding-bottom: 45px;
        border-radius: 0 20px 0 20px;
        max-width: 490px;
    }
}
.frame-herobubble {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin-left: auto;
    margin-right: auto;
}
.hero-bubble {
    position: absolute;
    left: 15px;
    bottom: -30px;
}

@media screen and (min-width: 800px) {
    .hero-bubble {
        left: 20px;
        bottom: -50px;
    }
}

@media screen and (min-width: 1220px) {
    .hero-bubble {
        left: -34px;
    }
}

.hero-caption {
    display: none;
    font-weight: 500;
}

@media screen and (min-width: 1000px) {
    .hero-caption {
        display: block;
        position: absolute;
        right: 80px;
        bottom: -47px;
        font-size: 14px;
        color: #6e6e6e;
        letter-spacing: 0.26px;
        text-align: right;
        line-height: 40px;
    }
}

.shape-bubble {
    border-radius: 0 14px 0 14px;
}

@media screen and (min-width: 768px) {
    .shape-bubble {
        border-radius: 0 20px 0 20px;
    }
}

.section-nohero {
    padding-bottom: 42px;
}

@media screen and (min-width: 768px) {
    .section-nohero {
        padding-bottom: 65px;
    }
}
/* 
Carousel
*/
.section-cards {
    padding-bottom: 0;
}
.section-cards .frame-wide {
    padding-bottom: 85px;
}
.bg-grey + .bg-white .frame-wide,
.bg-white + .bg-grey .frame-wide {
    padding-top: 85px;
}
.bg-grey .frame-wide {
    background-color: #f2f2f2;
}
@media screen and (min-width: 768px) {
    .section-cards .frame-wide {
        padding-top: 85px;
        padding-bottom: 85px;
    }
    .section-cards + .section-cards .frame-wide {
        padding-top: 0;
        padding-bottom: 85px;
    }
}
@media screen and (min-width: 800px) {
    .cards {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 40px;
        max-width: 680px;
        margin-left: auto;
        margin-right: auto;
    }

    .section-cards > .frame {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media screen and (min-width: 1080px) {
    .cards {
        max-width: 1080px;
    }
}
.cards .slick-list {
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible;
}

.cards-group .slick-dots {
    bottom: -10px;
}
/* .bg-white {
    background-color: #fff;
} */
.card-item {
    width: 100%;
    max-width: 100vw;
    padding-left: 30px;
    padding-right: 30px;
}

@media screen and (min-width: 800px) {
    .card-item {
        width: 320px;
        flex: 0 0 320px;
        padding-left: 0;
        padding-right: 0;
    }
}

.card-item-inner {
    border-radius: 0 20px 0 20px;
    overflow: hidden;
    /* -webkit-mask-image: -webkit-radial-gradient(white, black); */
    background: #ffffff;
    box-shadow: 0 6px 24px 0 rgba(0, 0, 0, 0.12);
    width: 320px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    height: 100%;
}
.card-img {
    height: 220px;
    overflow: hidden;
    margin-bottom: 32px;
}
@media screen and (min-width: 768px) {
    .card-img {
        height: 250px;
    }
}
.card-img img {
    display: block;
}
.card-content {
    padding-top: 0;
    padding-left: 18px;
    padding-right: 18px;
    padding-bottom: 12px;
    font-size: 16px;
    color: #3c3c3b;
    letter-spacing: 1px;
    line-height: 24px;
}

@media screen and (min-width: 768px) {
    .card-content {
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 20px;
    }
}

.card-content h3 {
    position: relative;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 16px;
    color: #c6183d;
    letter-spacing: 0.73px;
    text-align: center;
    padding-bottom: 12px;
    margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
    .card-content h3 {
        font-size: 22px;
        letter-spacing: 1px;
        margin-bottom: 18px;
    }
}
.threecols-hl {
    position: relative;
}
.card-content h3:after,
.threecols-hl:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin-left: auto;
    margin-right: auto;
    height: 1px;
    background-color: #979797;
    width: 24px;
}

.threecols-hl h4 {
    font-family: "Roboto Condensed", Helvetica, arial, sans-serif;
    color: #c6183d;
    margin-bottom: 12px;
    text-transform: none;
}

@media screen and (min-width: 768px) {
    .threecols-hl h4 {
        font-weight: 400;
        font-size: 22px;
        line-height: 26px;
        margin-bottom: 34px;
    }
}
.cards-slider {
    margin-bottom: 0;
}
@media screen and (min-width: 768px) {
    .cards-slider {
        margin-bottom: 30px;
    }
}

.team-group h2 {
    font-weight: 400;
}
/*
Carousel
*/

.section-carousel {
    position: relative;
}
@media screen and (min-width: 768px) {
    .section-carousel {
        padding-bottom: 120px;
    }
}

.carousel {
    margin-bottom: 30px;
}
.carousel-item {
    padding-right: 10px;
    height: 400px;
}
.carousel-item img {
    display: block;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    height: 100% !important;
}
.section-carousel .slider-nav {
    padding-left: 10px;
    padding-right: 10px;
}
.section-carousel .slick-dots {
    bottom: 8px;
}
.section-carousel .slick-dots li {
    width: 17px;
}

@media screen and (min-width: 768px) {
    .section-carousel .slick-dots li {
        width: 20px;
    }
}

.section-carousel .slick-dots {
    bottom: 2px;
}

/* Txt */

.section-txt {
    overflow-x: hidden;
}
.intro-home-content {
    position: relative;
    padding-bottom: 0;
}
.has_newsteaser .slick-dotted.slick-slider {
    margin-bottom: 25px;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (min-width: 950px) {
    .section-intro {
    }
    .intro-home-content {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 20px;
        padding-top: 20px;
    }

    .has_newsteaser {
        min-height: 500px;
        padding-bottom: 50px;
    }

    .intro-home-content .bubble {
        max-width: 330px;
    }
    .has_newsteaser .slick-dotted.slick-slider {
        margin-left: 0;
        margin-right: 0;
    }
}

.section-txt main {
    flex: 1 1 auto;
    width: 100%;
    max-width: 780px;
}
@media screen and (min-width: 768px) {
    .section-txt .bubble-right {
        justify-content: space-between;
    }
    .section-txt .bubble-right main {
        max-width: 530px;
    }
}
.newsteaser-slider .slick-list {
    overflow: visible !important;
}
.newsteaser-card-img {
    max-height: 164px;
    overflow: hidden;
}
.newsteaser-card {
    flex: 0 0 315px;
    width: 315px;
    max-width: 100%;
    position: relative;
    font-size: 16px;
    color: #ffffff;
    letter-spacing: 0;
    line-height: 24px;
    background-color: transparent;
}

@media screen and (min-width: 1270px) {
    .newsteaser-card {
        width: 320px;
        position: absolute;
        right: -70px;
        top: 30px;
        color: #ffffff;
    }
}

@media screen and (min-width: 1510px) {
    .newsteaser-card {
        right: -205px;
    }
}

.newsteaser-item {
    overflow: hidden;
    background-image: linear-gradient(216deg, #6e6e6e 0%, #444444 100%);
    box-shadow: 0 6px 24px 0 rgba(0, 0, 0, 0.35);
}
.newsteaser-card-img img {
    display: block;
}
.newsteaser-card-content {
    padding: 16px;
}

@media screen and (min-width: 768px) {
    .newsteaser-card-content {
        padding: 30px 32px;
    }
}
.newsteaser-card-content p {
    margin-bottom: 16px;
}
.newsteaser-card-content p:last-child {
    margin-bottom: 0;
}

.arrow-link {
    font-family: var(--sans);
    display: inline-flex;
    justify-content: flex-start;
    align-items: center;
    gap: 7px;
    position: relative;
    font-size: 14px;
    letter-spacing: 0.64px;
    line-height: 32px;
    text-decoration: none;
    text-transform: uppercase;
    padding-right: 12px;
    font-weight: 400;
}
@media screen and (min-width: 768px) {
    .arrow-link {
        font-size: 16px;
        letter-spacing: 0.73px;
        line-height: 32px;
    }
}
.arrow-link-black {
    color: #3c3c3b;
}

@media (hover: hover) {
    .arrow-link:hover {
        color: #6d1b5e;
    }
    .arrow-link:hover svg polygon {
        fill: #6d1b5e;
    }
}
/* .arrow-link:after {
    content: "";
    display: block;
    position: relative;
    background-image: url(../images/content/icn-arrowlink.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    width: 6px;
    height: 11px;
}
.arrow-link-black:after {
    background-image: url(../images/content/icn-arrowlink-black.svg);
} */

/* Mapteaser */
.section-mapteaser {
    overflow: visible;
}
.mapteaser-txt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    background-image: radial-gradient(circle at 0% 0%, #c6183d 0%, #94001f 141%);
    box-shadow: 0 6px 24px 0 rgba(0, 0, 0, 0.35);
    color: #fff;
    padding-top: 17px;
    padding-bottom: 17px;

    position: relative;
    z-index: 1;
}

@media screen and (min-width: 768px) {
    .mapteaser-txt {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 20px;
        width: 356px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-start;
        border-radius: 0 26px 0 26px;
        background-image: radial-gradient(circle at 0% 0%, #c6183d 0%, #94001f 141%);
        box-shadow: 0 6px 24px 0 rgba(0, 0, 0, 0.35);
        padding-top: 51px;
        padding-bottom: 51px;
        padding-left: 42px;
        padding-right: 53px;
    }
}

@media screen and (min-width: 1460px) {
    .mapteaser-txt {
        position: absolute;
        left: -10px;
    }
}

.mapteaser-txt p {
    margin-bottom: 0;
    width: 166px;
    font-size: 16px;
}

@media screen and (min-width: 768px) {
    .mapteaser-txt p {
        width: auto;
        font-size: 32px;
        letter-spacing: 0.6px;
        line-height: 40px;
    }
}

.mapteaser-txt .cta-ghost {
    padding: 5px;
    min-width: 126px;
    font-size: 14px;
}

@media screen and (min-width: 768px) {
    .mapteaser-txt .cta-ghost {
        padding: 15px;
        min-width: 172px;
        font-size: 16px;
        margin-left: auto;
        margin-right: auto;
    }
}
@media screen and (min-width: 768px) {
    .mapteaser-map {
        padding-top: 18px;
        padding-bottom: 18px;
    }
}
.mapteaser-map-inner {
    min-height: 235px;
    height: 235px;
    overflow: hidden;
}
@media screen and (min-width: 768px) {
    .mapteaser-map-inner {
        height: 374px;
        min-height: 374px;
    }
}
.mapteaser-map-inner img {
    display: block;
    position: relative;
    width: 100%;
    height: 100% !important;
    min-height: 260px !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}

/* Threecols */
@media screen and (min-width: 768px) {
    .threecolumns {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
    }
}
.threecols-item {
    flex: 0 0 100%;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 23px;
}

@media screen and (min-width: 768px) {
    .threecols-item {
        flex: 0 0 33.33%;
        padding-left: 20px;
        padding-right: 20px;
        max-width: 360px;
        margin-left: 0;
        margin-right: 0;
    }
}

.threecols-icn {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: 36px;
    height: 50px;
    padding-bottom: 12px;
    margin-bottom: 4px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (min-width: 768px) {
    .threecols-icn {
        margin-bottom: 18px;
    }
}
.threecols-icn img {
    max-height: 100% !important;
}

@media screen and (min-width: 768px) {
    .threecols-icn {
        width: 60px;
        height: 60px;
    }
}

/* .threecols-icn:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin-left: auto;
    margin-right: auto;
    height: 1px;
    background-color: #979797;
    width: 24px;
} */
.threecols-txt {
    font-size: 16px;
    color: #3c3c3b;
    letter-spacing: 0.48px;
    line-height: 24px;
}
@media screen and (min-width: 768px) {
    .threecols-txt {
        font-size: 18px;
        line-height: 26px;
    }
}

/* Download-Group */

@media screen and (min-width: 768px) {
    .section-threecolumns {
        padding-bottom: 85px;
    }
}

.download-intro {
    margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
    .download-intro {
        margin-bottom: 60px;
    }
}
.download-title h2 {
    margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
    .download-title h2 {
        margin-bottom: 24px;
    }
}

.threecols-icn + .threecols-hl:after {
    display: none;
}
.txt-content {
    max-width: 780px;
}
.download-group {
    margin-bottom: 33px;
}
@media screen and (min-width: 768px) {
    .download-group {
        margin-bottom: 52px;
    }
}

.threecols-txt p:last-child {
    margin-bottom: 0;
}
.download-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0 21px;
    border-top: 1px solid #f2f2f2;
    padding-top: 24px;
    padding-bottom: 20px;
    text-decoration: none;
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (min-width: 768px) {
    .download-item {
        padding-top: 8px;
        padding-bottom: 9px;
    }
}
.download-item:nth-child(even) {
    background-color: #f2f2f2;
}
.download-item:last-child {
    border-bottom: 1px solid #f2f2f2;
}
.download-item p {
    margin-bottom: 0;
}
.dl-info-group {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0 40px;
    width: 100%;
}
.dl-icn svg {
    display: block;
}
@media screen and (min-width: 768px) {
    .dl-icn {
        width: 115px;
        padding-left: 15px;
    }
}
.dl-title {
    display: block;
    width: 100%;
    flex: 0 0 100%;

    font-family: var(--sans);
    font-weight: 500;
    font-size: 17px;
    color: #c6183d;
    letter-spacing: 0.39px;
    line-height: 32px;
    text-transform: uppercase;
    margin-bottom: 2px;
}
@media screen and (min-width: 768px) {
    .dl-title {
        width: calc(38% - 40px);
        flex: 1 1 calc(38% - 40px);
    }
}
.dl-date,
.dl-type {
    font-size: 16px;
    color: #3c3c3b;
    letter-spacing: 0;
    line-height: 24px;
}
@media screen and (min-width: 768px) {
    .dl-date,
    .dl-type {
        font-size: 21px;
        color: #333333;
        line-height: 30px;
        flex: 1 1 calc(25% - 40px);
    }
    .dl-type {
        flex: 1 1 calc(18% - 40px);
    }
}
.dl-action {
    display: none;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;
    font-family: var(--sans);
    font-weight: 500;
    font-size: 17px;
    color: #c6183d;
    letter-spacing: 0.39px;
    line-height: 32px;
}

@media screen and (min-width: 768px) {
    .dl-action {
        display: flex;
        flex: 1 1 13%;
        font-size: 17px;
        letter-spacing: 0.39px;
        line-height: 32px;
    }
}

/* History */
.history-item {
    margin-bottom: 35px;
}
@media screen and (min-width: 768px) {
    .history-item {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        max-width: 720px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 65px;
    }
}
@media screen and (min-width: 768px) {
    .history-date {
        flex: 0 0 150px;
    }
}
.history-date h5 {
    font-size: 26px;
    color: #c6183d;
    font-weight: 400;
}

@media screen and (min-width: 768px) {
    .history-date h5 {
        font-size: 56px;
    }
}

@media screen and (min-width: 768px) {
    .history-content {
        flex: 1 1 auto;
    }
}

/* History  */
.col2txt-item {
    margin-bottom: 35px;
}
@media screen and (min-width: 768px) {
    .col2txt-item {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        max-width: 1130px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 65px;
        gap: 0 40px;
    }
}
@media screen and (min-width: 768px) {
    .col2txt-title {
        flex: 0 0 332px;
    }
}
.col2txt-title h5 {
    font-size: 26px;
    color: #c6183d;
    font-weight: 400;
    margin-bottom: 5px;
}

@media screen and (min-width: 768px) {
    .col2txt-title h5 {
        font-size: 56px;
        font-size: 32px;
        line-height: 100%;
        letter-spacing: 0;
        text-align: right;
    }
}

@media screen and (min-width: 768px) {
    .col2txt-content {
        flex: 1 1 auto;
        max-width: 536px;
    }
}

/* Accordion */

.accordion-trigger {
    position: relative;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-right: 40px;
    text-decoration: none;
    margin-left: auto;
    margin-right: auto;
    cursor: pointer;
}

@media screen and (min-width: 640px) {
    .accordion-trigger {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 0 21px;
    }
}

.accordion-trigger h3,
.accordion-trigger p {
    margin-bottom: 0;
}
.accordion-trigger h3 {
    flex: 0 0 40%;
    min-width: 300px;
}
.accordion-trigger p {
    flex: 0 0 30%;
    min-width: 300px;
}
.accordion-trigger:after {
    content: "";
    width: 18px;
    height: 11px;
    display: block;
    position: absolute;
    top: 20px;
    transform: rotate(0);
    right: 15px;
    background-image: url(../images/ui/accordion-arrow.svg);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    transition: all 0.2s ease-in-out;
}
@media screen and (min-width: 768px) {
    .accordion-trigger:after {
        top: 25px;
    }
}
.accordion-item.is_open .accordion-trigger:after {
    transform: rotate(180deg);
}

.accordion-content {
    padding-right: 40px;
}

@media screen and (min-width: 800px) {
    .accordion-content {
        padding-left: 0;
    }
}
.accordion-txt {
    max-width: 800px;
}
.accordion-content:not(.accordion-content-wohnung) p,
.accordion-content:not(.accordion-content-wohnung) li {
    font-size: 15px;
}

@media screen and (min-width: 800px) {
    .accordion-content:not(.accordion-content-wohnung) p,
    .accordion-content:not(.accordion-content-wohnung) li {
        font-size: 18px;
    }
}

.accordion-item {
    border-top: 1px solid #f2f2f2;
}
.accordion-item:last-child {
    border-bottom: 1px solid #f2f2f2;
}
.ppu-me {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    flex-wrap: wrap;
    margin-bottom: 35px;
}
.ppu-trigger {
    flex: 0 0 calc(50% - 10px);
}
@media screen and (min-width: 768px) {
    .ppu-trigger {
        flex: 0 0 calc(33.33% - 20px);
    }
}
.ppu-trigger img {
    display: block;
}

/* Accordion Wohnung */

.accordion-wohnung-intro {
    padding-bottom: 3px;
}
.acc-trigger-vermietet {
    font-weight: 500;
}

.section-accordion-wohnung .accordion-trigger {
    display: block;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 9px;
    padding-bottom: 9px;
}
@media (hover: hover) {
    .section-accordion-wohnung .accordion-trigger:hover {
        background-color: #f2f2f2;
    }
}
.section-accordion-wohnung p,
.section-accordion-wohnung h5 {
    margin-bottom: 0;
}
.section-accordion-wohnung .accordion-item {
    border-color: #c3c3c3;
}
.eof {
    position: absolute;
    right: 0;
    top: 0;
}
.acc-data-row {
    position: relative;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 9px;
    padding-bottom: 9px;
}
@media screen and (min-width: 768px) {
    .section-accordion-wohnung .accordion-trigger {
        display: flex;
        padding-left: 31px;
        padding-right: 31px;
        padding-top: 15px;
        padding-bottom: 17px;
        gap: 0;
    }
    .section-accordion-wohnung p,
    .section-accordion-wohnung h5 {
        font-size: 22px;
        margin-bottom: 0;
        line-height: 1.2;
    }

    .acc-data-row {
        position: relative;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        padding-left: 31px;
        padding-right: 31px;
        padding-top: 9px;
        padding-bottom: 9px;
        gap: 0;
    }
    .acc-data-row.is_red {
        color: #bc1435;
        font-weight: 400;
    }
    .acc-data-row.is_reg {
        font-weight: 400;
    }
    .section-accordion-wohnung .acc-trigger-titel,
    .acc-data-cell-title {
        flex: 1 0 0;
        line-height: 1.2;
        padding-right: 20px;
        max-width: 326px;
    }

    .section-accordion-wohnung .acc-trigger-wohnung,
    .acc-data-cell-txt {
        flex: 2 0 0;
    }

    .eof {
        position: absolute;
        right: 0;
        top: 0;
    }
    .accordion-data {
        padding-top: 26px;
    }
    .acc-trigger-vermietet {
        position: absolute;
        right: 0;
        width: 100px;
        min-width: 0;
        margin-right: 82px;
        text-align: right;
    }
    .section-accordion-wohnung .accordion-trigger:after {
        top: 25px;
    }
}
.acc-data-row:nth-child(odd) {
    background-color: #f2f2f2;
}

.accordion-content-wohnung {
    padding-right: 0;
}

/* acc-slider large */

.acc-slider-l {
    padding-top: 29px;
    margin-bottom: 79px;
}

.acc-slider-l .acc-slide-l img {
    display: block;
    width: 100%;
    height: auto;
}

.acc-slider-l .slick-dots {
    bottom: 0;
    position: relative;
    text-align: center;
}

/* content slider */

.section-contentslider {
    padding-bottom: 60px;
}

@media screen and (min-width: 768px) {
    .section-contentslider {
        padding-bottom: 96px;
    }
}

.contentslider {
    width: 100%;
    margin-bottom: 40px;
}

.contentslider .content-slide {
    width: 100%;
}

.contentslider .content-slide img {
    display: block;
    width: 100%;
    height: auto;
}

.contentslider .slick-dots {
    bottom: -4px;
    position: relative;
    text-align: center;
}

.cta-immomio {
    margin-bottom: 20px;
}

@media screen and (min-width: 768px) {
    .immomio-btn-container {
        display: flex;
        justify-content: flex-end;
    }

    .acc-slider-l + .immomio-btn-container .cta {
        transform: translateY(-50px);
        margin-bottom: -30px;
    }
}

/* Organigramm */

.organigramm-item {
    max-width: 360px;
    padding: 20px;
    border: 1px solid #000;
    margin-bottom: 1em;
}

.styled-txt .organigramm-name {
    text-transform: uppercase;
    color: #c6183d;
    margin-bottom: 0.3em;
}

@media screen and (min-width: 600px) {
    .organigramm-dbl {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 60px;
    }

    .orga-mid main {
        max-width: 100%;
    }

    .orga-mid .organigramm-dbl {
        justify-content: space-between;
    }

    .orga-mid .organigramm-single {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .orga-mid .organigramm-dbl,
    .orga-mid .organigramm-single {
        text-align: center;
    }
}

.organigramm-group {
    max-width: 360px;
    width: 100%;
    margin-bottom: 35px;
}

@media screen and (min-width: 600px) {
    .organigramm-group {
        width: calc(50% - 30px);
        flex: 0 0 calc(50% - 30px);
        margin-bottom: 55px;
    }
}

/* Posts */
.roof {
    margin-bottom: 0 !important;
}
.section-posts .hentry {
    padding-bottom: 35px;
    margin-bottom: 65px;
    border-bottom: 1px solid #d2d2d2;
}
.section-posts .hentry:last-child {
    border-bottom: none;
}
.post-title {
    margin-bottom: 20px !important;
}
@media screen and (min-width: 768px) {
    .post-title {
        margin-bottom: 24px !important;
    }
}
.post-title a {
    text-decoration: none !important;
}

/* Form */

label {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    max-width: 580px;
}

.frame-flip {
    width: 100%;
    max-width: 1920px;
}
.page-jahrbuch-100-jahre .container:before {
    display: none;
}
.df-bg {
    background-color: transparent !important;
}

span.wpcf7-quiz-label {
    font-family: arial;
}

/* Fullbleed */

.fullbleed-img {
    padding-top: 0 !important;
    margin-bottom: 35px;
}

button#dAopener {
    top: auto;
    bottom: 100px;
}
@media screen and (min-width: 768px) {
    button#dAopener {
        top: 50%;
        bottom: auto;
    }
}
