:root {
    --newsColor: #006093;
    --weblogColor: #951b81;
    --themeColor: #78b58c;
}

.postListIntro__post {
    position: relative;
    margin-bottom: 2rem;
    border-radius: 14px;
    overflow: hidden;
    background: var(--newsColor);
}

.postListIntro__post--weblog {
    background: var(--weblogColor);
}

.postListIntro__post--theme {
    background: var(--themeColor);
}

.postListIntro__tagWrapper {
    flex-basis: 100%;
    padding: .2rem 1rem;
    height: 2rem;
    text-align: right;
    color: #fff;
}

.postListIntro__columnWrapper {
    height: calc(100% - 2rem);
    padding-top: 1rem;
    border-top-right-radius: 14px;
    border-top-left-radius: 14px;
    background: #e6f4fb;
}

.postListIntro__image {
    display: block;
    margin-left: 1rem;
    border-radius: 50% !important; /** overwrite Prodesign option image rounded corners **/
    box-shadow: 0 3px 0 var(--newsColor);
}

.postListIntro__post--weblog .postListIntro__image {
    box-shadow: 0 3px 0 var(--weblogColor);
}

.postListIntro__post--theme .postListIntro__image {
    box-shadow: 0 3px 0 var(--themeColor);
}

.postListIntro__text {
    display: flex;
    flex-direction: column;
    padding: 2rem 1rem .5rem 1rem;
}

.postListIntro__title {
    margin: 0 0 0.7rem 0;
    font-size: 1.3rem;
}

.postListIntro__post--weblog .postListIntro__title,
.postListIntro__post--weblog .postListIntro__link {
    color: var(--weblogColor);
}

.postListIntro__post--theme .postListIntro__title,
.postListIntro__post--theme .postListIntro__link {
    color: var(--themeColor);
}

.postListIntro__introduction p {
    margin-bottom: .5rem;
}

.postListIntro__link {
    text-decoration: none;
}

.postListIntro__link::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: '';
}

.postListIntro .weblogMeta {
    margin-top: auto;
    text-align: right;
    color: #999;
}

.postListIntro__readMore,
.postListIntro__readMore:hover::after {
    text-decoration: none;
}

.postListIntro__readMore::after {
    display: inline-block;
    margin-left: 1rem;
}

@media (min-width: 800px) {
    .variantDefault .postListIntro__postWrapper,
    .fullWidth .postListIntro__postWrapper {
        display: flex;
        flex-wrap: wrap;
        margin-left: -2rem;
    }

    .variantDefault .postListIntro__post,
    .fullWidth .postListIntro__post {
        flex-basis: calc(50% - 2rem);
        margin-left: 2rem;
    }

    .postListIntro__text {
        flex: 1;
    }

    .postListIntro__readMoreWrapper {
        text-align: right;
    }
}

@media (min-width: 1100px) {
    .postListIntro__columnWrapper {
        display: flex;
        flex-wrap: wrap;
    }

    .postListIntro__image {
        flex-basis: 115px;
    }
}
