.teaser {
    display: flex;
    align-items: stretch;
    width: 100%;
    flex-wrap: wrap;
}

.ast-single-post .entry-content .teaser a,
.editor-styles-wrapper .is-root-container .teaser a {
    color: inherit;
    text-decoration: none;
}

.teaser--column {
    display: flex;
    flex-direction: column;
}

.teaser--row {
    display: flex;
}

.teaser__item {
    display: flex;
}

.teaser__item--left {
    flex-grow: 1;
}

.teaser__item--right {
    flex-direction: row-reverse;
    flex-grow: 1;
}

.teaser__item--top {
    flex-direction: column;
}

.teaser__item--bottom {
    flex-direction: column-reverse;
}

.teaser__image {
    width: 100%;
    height: 50%;
    max-height: 350px;
    background-color: var(--color-grey-25);
}

.teaser .teaser__item--hide_text .teaser__image {
    height: 100%;
    max-height: unset;
}

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

.teaser__content-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.teaser__content {
    padding: 25px;
    height: 100%;
}

.teaser__title {
    font-family: var(--font-family-main);
    font-weight: 700;
    font-size: 25px;
    line-height: 130%;
    margin-bottom: 10px;
    opacity: 0.9;
}

.teaser__description {
    font-family: var(--font-family-main);
    font-weight: 400;
    font-size: 15px;
    line-height: 130%;
}

.teaser__button {
    display: flex;
    margin-top: 20px;
    font-style: normal;
    font-weight: 700;
    font-size: 15px;
    line-height: 135%;
}

.teaser__button a {
    display: flex;
    gap: 10px;
    box-sizing: border-box;
    padding: 15px 25px;
    border-radius: 50px;
    background: transparent;
    font-size: 15px;
    align-items: center;
    text-decoration: none !important; /* Override astra theme link styling */
    cursor: pointer;
}

.teaser__button a span[class^="icon-"] {
    font-weight: 700;
}

@media only screen and (min-width: 1201px) {
    .teaser--row {
        flex: 1;
    }
    .teaser__item {
        flex: 1 1 0px;
    }
}

@media only screen and (max-width: 1200px) {
    .teaser {
        flex-wrap: wrap;
    }

    .teaser--row {
        width: 100%;
        flex-wrap: wrap;
    }

    .teaser__item {
        width: 100%;
    }

    .teaser__item--hide_text {
        display: none;
    }

    .teaser__title {
        font-size: 18px;
        line-height: 150%;
    }
}

@media only screen and (min-width: 640px) and (max-width: 1200px) {
    .teaser__item--top {
        flex-direction: row;
    }

    .teaser__item--bottom {
        flex-direction: row-reverse;
    }

    .teaser__image {
        width: 50%;
        min-height: 250px;
        height: 100%;
    }
}

@media only screen and (max-width: 640px) {
    .teaser--row {
        align-items: flex-start; /* disable auto equal-height on mobile */
    }

    .teaser__item--bottom {
        flex-direction: column;
    }

    .teaser__content-wrapper {
        flex: unset;
    }

    .teaser__image img {
        max-height: 280px;
    }
}
