.paragraph--type--galerie {
    margin-bottom: 30px !important;
}

.paragraph--type--paragraph-slider {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
}

.paragraph--type--paragraph-slider .paragraph--type--slide {
    max-width: 100%;
}

.paragraph--type--galerie .slick-prev,
.paragraph--type--galerie .slick-next,
.paragraph--type--paragraph-slider .slick-prev,
.paragraph--type--paragraph-slider .slick-next {
    background-color: transparent !important;
    color: transparent;
}

.paragraph--type--galerie .slick-prev:before,
.paragraph--type--paragraph-slider .slick-prev:before {
    filter: none;
    content: url(/themes/custom/ejs/images/galery_arrow_prev.svg) !important;
    display: block;
    width: 75px;
    height: 100px;
    padding-top: 16px;
    padding-left: 52px;
}

.paragraph--type--galerie .slick-next:before,
.paragraph--type--paragraph-slider .slick-next:before {
    filter: none;
    content: url(/themes/custom/ejs/images/galery_arrow_next.svg) !important;
    display: block;
    width: 75px;
    height: 100px;
    padding-top: 16px;
    padding-left: 27px;
}


.paragraph--type--galerie .slick.slick--field-medien.slick--optionset--paragraph-slider,
.paragraph--type--paragraph-slider .slick--optionset--paragraph-slider {
    position: relative;
}

.paragraph--type--galerie .slick__arrow,
.paragraph--type--paragraph-slider .slick__arrow {
    top: 33%;
    position: absolute;
    width: 100%;
    z-index: 20;
    pointer-events: none;
}

.paragraph--type--galerie .slick__arrow .slick-prev,
.paragraph--type--paragraph-slider .slick__arrow .slick-prev {
    left: 0;
    position: absolute !important;
}

.paragraph--type--paragraph-slider .slick__arrow .slick-next {
    right: 0;
    position: absolute;
}

.paragraph--type--galerie .slick__arrow .slick-next {
    right: 117px;
    position: absolute;
}


.paragraph--type--galerie .slick__arrow .slick-prev,
.paragraph--type--galerie .slick__arrow .slick-next,
.paragraph--type--paragraph-slider .slick__arrow .slick-prev,
.paragraph--type--paragraph-slider .slick__arrow .slick-next {
    clip: auto !important;
    width: 75px !important;
    height: 100px !important;
    overflow: visible !important;
    word-wrap: normal !important;
    z-index: 20;
    pointer-events: auto !important;
    border-radius: 50%;
    transition: background-color 0.2s ease;
}

/* Hover-Hintergrund als eigenes ::after-Pseudo-Element statt ueber
   background-color auf dem Button selbst: an anderer Stelle existiert eine
   Alt-Regel ".slick-prev, .slick-next { background-color: transparent
   !important }", die mit background-color auf dem Button kollidiert. Ein
   ::after ist davon unberuehrt (andere Kaskaden-Zielflaeche), daher robuster. */
.paragraph--type--galerie .slick__arrow .slick-prev,
.paragraph--type--galerie .slick__arrow .slick-next,
.paragraph--type--paragraph-slider .slick__arrow .slick-prev,
.paragraph--type--paragraph-slider .slick__arrow .slick-next {
    position: absolute !important;
}

.paragraph--type--galerie .slick__arrow .slick-prev::after,
.paragraph--type--galerie .slick__arrow .slick-next::after,
.paragraph--type--paragraph-slider .slick__arrow .slick-prev::after,
.paragraph--type--paragraph-slider .slick__arrow .slick-next::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    width: 75px;
    height: 100px;
    background-color: transparent;
    transition: background-color 0.2s ease;
    pointer-events: none;
}

.paragraph--type--galerie .slick__arrow .slick-prev:hover::after,
.paragraph--type--galerie .slick__arrow .slick-next:hover::after,
.paragraph--type--paragraph-slider .slick__arrow .slick-prev:hover::after,
.paragraph--type--paragraph-slider .slick__arrow .slick-next:hover::after {
    background-color: rgba(255, 255, 255, 0.25);
}


.paragraph--type--galerie .slick__arrow .slick-prev.slick-disabled:hover::after,
.paragraph--type--galerie .slick__arrow .slick-next.slick-disabled:hover::after,
.paragraph--type--paragraph-slider .slick__arrow .slick-prev.slick-disabled:hover::after,
.paragraph--type--paragraph-slider .slick__arrow .slick-next.slick-disabled:hover::after {
    background-color: transparent !important;
    cursor: default;
}

.paragraph--type--galerie .slick-dots,
.paragraph--type--paragraph-slider .slick-dots {
    position: static !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    list-style: none !important;
    width: 100% !important;
    max-width: 100%;
    height: auto !important;
    margin: 24px 0 0 !important;
    padding: 0 !important;
}

.paragraph--type--galerie .slick-dots li,
.paragraph--type--paragraph-slider .slick-dots li {
    display: block !important;
    position: static !important;
    visibility: visible !important;
    flex: 0 0 12px !important;
    box-sizing: content-box !important;
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
    margin: 0 6px !important;
    padding: 0 !important;
}

.paragraph--type--galerie .slick-dots li:before,
.paragraph--type--galerie .slick-dots li button:before,
.paragraph--type--paragraph-slider .slick-dots li:before,
.paragraph--type--paragraph-slider .slick-dots li button:before {
    content: none !important;
    display: none !important;
}

.paragraph--type--galerie .slick-dots li button,
.paragraph--type--paragraph-slider .slick-dots li button {
    display: block !important;
    box-sizing: border-box !important;
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
    min-height: 12px !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    background-color: transparent !important;
    background-image: url(/themes/custom/ejs/images/dot_inactive.svg) !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: contain !important;
    cursor: pointer;
}

.paragraph--type--galerie .slick-dots li.slick-active button,
.paragraph--type--paragraph-slider .slick-dots li.slick-active button {
    background-image: url(/themes/custom/ejs/images/dot_active.svg) !important;
}

.paragraph-slider--only-zentriert-unten.paragraph--type--paragraph-slider {
    margin-bottom: 40px !important;
}

.paragraph-slider--only-zentriert-unten.paragraph--type--paragraph-slider .slick-dots {
    margin: 154px 0 0 !important;
}

.paragraph--type--galerie .slick-list {
    box-sizing: border-box !important;
    padding-right: 10% !important;
}

.paragraph--type--galerie .slick-slide {
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

.paragraph--type--galerie .slick-slide.slick-current,
.paragraph--type--galerie .slick-slide.slick-active {
    opacity: 1;
}



.textReBildLi.paragraph--view-mode--zeilen-teaser .bildTextBild {
    margin-right: 20px;
}

.textLiBildRe.paragraph--view-mode--zeilen-teaser .bildTextBild {
    margin-left: 20px;
}

.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser h2 {
    font-size: 18px;
    line-height: 20px;
    margin-bottom: 10px;
}

.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser a {
    color: #000 !important;
}

.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser p {
    margin-bottom: 0;
}

.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser {
    margin-bottom: 20px !important;
    max-width: 1128px;
    padding-right: 0 !important;
}

.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser .changeDirection {
    padding: 18px;
    margin-left: -18px;
}

.textLiBildRe.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser .changeDirection {
    margin-right: -18px;
}

.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser .changeDirection .bildTextBild img,
.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser .changeDirection .bildTextBild {
    width: 210px !important;
    height: auto;
}

.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser .changeDirection .px-12.pt-8.pb-12.bildTextText {
    width: 100% !important;
    padding: 0 !important;
}

.textLiBildRe.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser .changeDirection .px-12.pt-8.pb-12.bildTextText {
    width: 100% !important;
    padding: 0 0 0 186px !important;
}

.textReBildLi.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser .changeDirection .px-12.pt-8.pb-12.bildTextText {
    width: 100% !important;
    padding: 0 210px 0 0 !important;
}

#block-mainpagecontent .paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser .btn-default {
    font-family: "ProfileProRegular";
    margin-top: 18px;
}

@media (min-width: 1024px) {
    .textLiBildRe.paragraph--type--teaser-mit-bild-horizontal {
        padding-left: 0 !important;
    }
}

@media (max-width: 767px) {
    #block-mainpagecontent .paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser .bildTextBild {
        width: 100% !important;
        margin-left: 0;
    }

    #block-mainpagecontent .paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser img {
        width: 100% !important;
        height: auto;
        margin-bottom: 18px;
    }

    #block-mainpagecontent .paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser p {
        margin-bottom: 18px;
    }
}

.bg-grau-ejs.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser {
    background: transparent;
    background: linear-gradient(to right, transparent 90px, #f1f1f1 90px);
}

.bg-grau-ejs.textLiBildRe.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser {
    background: transparent;
    background: linear-gradient(to left, transparent 90px, #f1f1f1 90px);
}



.paragraph--type--paragraph-slider {
    margin-bottom: 200px !important;
}

/* Slick klippt per overflow:hidden alles, was ueber die Slide-Hoehe hinausragt.
   Die "haengende" Box (zentriert-unten) braucht darunter Platz, sonst wird sie
   abgeschnitten. Reserviert daher zusaetzliche Hoehe im scrollenden Bereich. */
.paragraph--type--paragraph-slider .slick-list {
    padding-bottom: 220px;
    margin-bottom: -220px;
}

.paragraph--type--paragraph-slider .slick-dots li::before {
    display: none;
}

/* ------------------- SLIDE (Paragraph-Slider) ------------------- */

.paragraph--type--slide {
    position: relative;
    overflow: visible;
}

.slideMedia img {
    width: 100%;
    height: auto;
    display: block;
}

.slideContent {
    background: #A20D49;
    position: absolute;
    padding: 30px;
    box-sizing: border-box;
    z-index: 2;
}

.slideContent * {
    color: #fff !important;
}

.slideContent h1,
.slideContent h2,
.slideContent h3 {
    font-family: ProfileProBold;
    font-size: 2rem;
    line-height: 1.2;
    margin: 0 0 16px;
}

.slideContent p {
    font-size: 1.0625rem;
    line-height: 1.6;
    margin: 0 0 3rem 0;
    max-width: 40rem;
}


.paragraph--view-mode--text-ohne-hintergrund .slideContent,
.paragraph--view-mode--text-mit-hintergrund-links-auf-bild .slideContent {
    top: 12%;
    /* Bild ist immer 100% breit, die Box soll aber unabhaengig von der
       Bildbreite buendig mit dem Logo im Header stehen. Der Header-Container
       (und .pagepadding, dieselbe Regel) hat laut sitejweitem CSS DREI
       Breakpoint-Stufen, kein fester Wert - .ejsLogo selbst hat
       padding-left:0, sitzt also direkt auf dieser Kante:
         < 1024px:  kein max-width-Cap, nur padding-left: 8.334%
         >=1024px:  max-width: 1024px; margin: 0 auto; padding-left: 8.334%
         >=1280px:  max-width: 1440px; margin: 0 auto; padding-left: 8.334%
       Exakt dieselbe Stufung hier nachbilden, sonst passt es nur zufaellig
       bei einer Breite. Die "- Xpx" Korrekturen gleichen aus, dass vw die
       Scrollbar mitzaehlt, die echte Breite (an der sich Logo/Container
       orientieren) aber nicht - per Messung exakt bestimmt (0/1024/1280
       Breakpoints je mit anderem Korrekturwert, da (100vw-max)/2 den Fehler
       verdoppelt). Gilt fuer beide Modi ohne haengende/mittige Box (links auf
       Bild UND ohne Hintergrund), da beide linksbuendig am Logo starten. */
    left: calc(8.334vw - 1.25px);
}

.paragraph--view-mode--text-ohne-hintergrund .slideContent {
    background: transparent;
    padding: 0;
    width: 44%;
}

.paragraph--view-mode--text-mit-hintergrund-links-auf-bild .slideContent {
    width: 100%;
    background: rgba(162, 13, 73, 0.7);
    width: 59%;
    max-width: 760px;
}

@media (min-width: 1024px) {

    .paragraph--view-mode--text-ohne-hintergrund .slideContent,
    .paragraph--view-mode--text-mit-hintergrund-links-auf-bild .slideContent {
        left: calc(max(0px, (100vw - 1024px) / 2) + 8.334vw - 8.75px);
    }
}

@media (min-width: 1280px) {

    .paragraph--view-mode--text-ohne-hintergrund .slideContent,
    .paragraph--view-mode--text-mit-hintergrund-links-auf-bild .slideContent {
        left: calc(max(0px, (100vw - 1440px) / 2) + 8.334vw - 8.75px);
    }
}



.paragraph--view-mode--text-mit-hintergrund-zentriert-unten .slideContent {
    width: 760px;
    max-width: 88%;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
}

.slideContent .field--name-field-button {
    display: flex;
    flex-wrap: wrap;
    margin-top: 24px;
}

.slideContent .field--name-field-button .field__item:nth-child(2) a {
    background-color: #fff !important;
    border-color: #fff !important;
    color: #A20D49 !important;
    background-image: none !important;
}

.slideContent .field--name-field-button .field__item:nth-child(2) a:after {
    content: none !important;
}

.slideContent .field--name-field-button .field__item:nth-child(2) a {
    padding-right: 45px !important;
    background-image: url(/themes/custom/ejs/assets/arrow_red.svg) !important;
    background-repeat: no-repeat;
    background-position: right 8px center !important;
}

.slideContent .btn-tile,
.slideContent .btn-tile:hover {
    width: auto !important;
    font-family: ProfileProRegular;
    border-color: transparent;
    padding-right: 0 !important;
    background-image: none !important;
    background: none !important;
    background-color: transparent !important;
    padding: 0 !important;
    height: auto !important;
}

.slideContent .btn-tile:after {
    margin: 0 !important;
    content: none !important;
}

.slideContent .btn-tile a,
.slideContent .btn-tile div:nth-child(2) a:hover {
    width: auto !important;
    font-family: ProfileProRegular;
    border-color: #fff !important;
    padding-right: 45px !important;
    background-image: url(/themes/custom/ejs/assets/arrow.svg) !important;
    background-repeat: no-repeat;
    background-position: right 8px center !important;
    color: #fff !important;
    background-color: transparent;
    padding-right: 45px !important;
    font-size: 1.25rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    text-decoration: none !important;
    border-width: 1px;
    margin-right: 25px;
}

.slideContent .btn-tile a:hover,
.slideContent .btn-tile div:nth-child(2) a {
    border-color: #fff !important;
    background-image: url(/themes/custom/ejs/assets/arrow_red.svg) !important;
    background-repeat: no-repeat;
    background-position: right 8px center !important;
    color: #a20d49 !important;
    background-color: #fff;
}



/*Responsive*/

@media (max-width:767px) {

    .paragraph--view-mode--text-mit-hintergrund-zentriert-unten,
    .paragraph--view-mode--text-ohne-hintergrund,
    .paragraph--view-mode--text-mit-hintergrund-links-auf-bild {
        display: flex;
        flex-direction: column-reverse;
    }

    .paragraph--view-mode--text-mit-hintergrund-zentriert-unten .slideContent {
        position: static !important;
        max-width: 100%;
        width: 100%;
        transform: none;
    }

    .paragraph--view-mode--text-ohne-hintergrund .slideContent {
        position: static;
        width: 100%;
        padding: 30px;
    }

    .paragraph--view-mode--text-ohne-hintergrund .slideContent * {
        color: #000 !important;
    }

    .paragraph--view-mode--text-mit-hintergrund-links-auf-bild .slideContent {
        position: static;
        width: 100%;
        padding: 30px;
        background: rgba(162, 13, 73, 1);
    }

    .paragraph--type--galerie .slick-prev:before,
    .paragraph--type--paragraph-slider .slick-prev:before {
        transform: none !important;
    }

    .paragraph--type--paragraph-slider .slick__arrow {
        top: 19%;
    }

    .paragraph--type--galerie .slick__arrow {
        top: 19%;
    }

    .paragraph--type--galerie .slick__arrow .slick-next {
        right: 50px;
    }

    .paragraph--type--galerie .slick-next:before {
        padding-left: 0;
    }

    .paragraph--type--galerie .slick-prev:before,
    .paragraph--type--paragraph-slider .slick-prev:before {
        padding-left: 0;
    }

    .paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser {
        width: 100%;
    }

    .bg-grau-ejs.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser {
        background: #f1f1f1 !important;
    }

    .textReBildLi.paragraph--view-mode--zeilen-teaser .bildTextBild {
        margin-right: 0px;
    }

    .paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser .changeDirection {
        padding: 0;
        margin-left: 0;
    }

    .textReBildLi.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser .changeDirection .px-12.pt-8.pb-12.bildTextText,
    .textLiBildRe.paragraph--type--teaser-mit-bild-horizontal.paragraph--view-mode--zeilen-teaser .changeDirection .px-12.pt-8.pb-12.bildTextText {
        padding: 30px !important;
    }
}

.paragraph--type--galerie iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
    border: none;
}