/* ------------------------------ */
/* ----------- Teaser ----------- */
/* ------------------------------ */

.teaser {
    position: relative;
}

.teaser__content {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.teaser p {
    margin-bottom: 0;
}

.section > .section__title + .section__teaser--gallery {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.section__teaser--gallery .teaser {
    z-index: 1;
}

.section__teaser--gallery::after {
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 100%;
    height: 50%;
    background-color: var(--brand-color-2-special);
}



/* ------------------------------ */
/* -------- Media Queries ------- */
/* ------------------------------ */

@media all and (min-width: 1720px) {

    .section > div.section__teaser + .section__teaser {
        margin-top: var(--spacing-6);
        padding-top: var(--spacing-6);
    }

    .section > .section__title + .section__teaser--gallery {
        margin-top: var(--spacing-8);
    }
  
}

@media all and (max-width: 1719.98px) and (min-width: 1400px) {

    .section > .section__title + .section__teaser--gallery {
        margin-top: var(--spacing-8);
    }

}
  

@media all and (max-width: 1719.98px) and (min-width: 992px) {

    .section > div.section__teaser + .section__teaser {
        margin-top: var(--spacing-5);
        padding-top: var(--spacing-5);
    }
  
}


@media all and (min-width: 1536px) {

    .section__teaser .teaser__content {
        padding: var(--spacing-9) var(--spacing-5);
    }

    .section__teaser.section__teaser--reverse .teaser .teaser__content {
        padding-right: var(--spacing-7);
    }

    .section__teaser:not(.section__teaser--reverse) .teaser .teaser__content, .section__teaser.section__teaser--gallery .teaser .teaser__content {
        padding-left: var(--spacing-7);
    }

}


@media all and (max-width: 1535.98px) and (min-width: 768px) {

    .section__teaser .teaser__content {    
        padding: var(--spacing-8) var(--spacing-3);
    }

    .section__teaser.section__teaser--reverse .teaser .teaser__content {
        padding-right: var(--spacing-5);
    }

    .section__teaser:not(.section__teaser--reverse) .teaser .teaser__content, .section__teaser.section__teaser--gallery .teaser .teaser__content {
        padding-left: var(--spacing-5);
    }

}

@media all and (min-width: 1400px) {

    .teaser__content {
        min-height: 540px;
    }

}

@media all and (max-width: 1399.98px) and (min-width: 1240px) {

    .teaser__content {
        min-height: 500px;
    }

    .section > .section__title + .section__teaser--gallery {
        margin-top: var(--spacing-7);
    }

}

@media all and (max-width: 1239.98px) and (min-width: 992px) {

    .section > .section__title + .section__teaser--gallery {
        margin-top: var(--spacing-6-5);
    }

}

@media all and (max-width: 1239.98px) and (min-width: 768px) {

    .teaser__content {
        min-height: 445px;
    }

}

@media all and (min-width: 992px) {

    .teaser {
        padding: var(--spacing-6-5) 0;
    }

    .teaser__media {
        width: 72%;
    }

    .teaser__content {
        width: 42%;
    }

    .section__teaser:not(.section__teaser--reverse) .teaser__content {
        margin-left: 58%;
    }

}


@media all and (min-width: 768px) {

    .section > .section__title + .section__teaser--gallery {
        position: relative;
        padding-top: 0 !important;
    }

    .teaser__media {
        position: absolute;
        top: 0;
        height: 100%;
    }
    
    .section__teaser--reverse .teaser__media {
        right: 0;
    }
    
    .section__teaser:not(.section__teaser--reverse) .teaser__media {
        left: 0;
    }
    
    .teaser__media__container {
        position: relative;
        width: 100%;
        height: 100%;
        background-color: var(--brand-color-2);
    }
    
    .teaser__media img {
        -webkit-transition: var(--transition-1);
        -o-transition: var(--transition-1);
        transition: var(--transition-1);
    }
    
    .no-touchevents .teaser--linked:hover .teaser__media img {
        -webkit-transform: scale(1.05);
            -ms-transform: scale(1.05);
                transform: scale(1.05);
    }

    .teaser__content {
        background-color: var(--brand-light);
    }

    .teaser .button {
        margin-top: var(--spacing-5);
    }

}



@media all and (max-width: 991.98px) and (min-width: 768px) {

    .section > div.section__teaser + .section__teaser {
        margin-top: var(--spacing-3);
        padding-top: var(--spacing-3);
    }

    .teaser {
        padding: var(--spacing-5) 0;
    }

    .teaser__media, .teaser__content {
        width: 60%;
    }

    .section__teaser:not(.section__teaser--reverse) .teaser__content {
        margin-left: 40%;
    }

    .section > .section__title + .section__teaser--gallery {
        margin-top: var(--spacing-6);
    }

    .section__teaser .teaser__content {
        padding-top: var(--spacing-6);
        padding-bottom: var(--spacing-6);
    }

}


@media all and (max-width: 767.98px) {

    .section > div:not(.section).section__teaser {
        padding-left: 0;
        padding-right: 0;
    }

    section > .section__teaser:last-of-type .teaser__content {
        margin-bottom: 0;
    }

    .section > div:not(.section).section__teaser + .section__teaser {
        padding-top: 0;
    }

    .section__teaser .teaser__content {
        margin: calc(var(--spacing-7) * -1) var(--spacing-3-5) var(--spacing-4);
    }

    .teaser__content__inside {
        padding: var(--spacing-3-5) var(--spacing-3-5) var(--spacing-4);
        width: 100%;
        background-color: var(--brand-light);
    }

    .teaser .button {
        margin-top: var(--spacing-3-5);
    }

}