.at-contentBanner {
    position: relative;
    overflow: hidden;
}

.at-contentBanner:not(.at-contentBanner--noContent) {
    margin-bottom: 2rem;
    padding-bottom: 12rem;
}

.at-contentBanner__inner {
    position: relative;
    padding: 17vh 0 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.at-contentBanner__inner::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: .5;
    content: '';
    background: #000;
    background: linear-gradient(180deg, rgba(0, 0, 0, .65) 0%, transparent 33%, transparent 100%);
}

.at-contentBanner__inner::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: .5;
    content: '';
    background: #000;
    background: linear-gradient(0deg, rgba(0, 0, 0, .5) 0%, transparent 33%, transparent 100%);
}

.at-contentBanner--noContent .at-contentBanner__inner {
    height: 10rem;
}

.at-contentBanner__inner--hasTitle {
    padding: 3rem 0 0 0;
}

.at-contentBanner__title {
    position: relative;
    font-weight: 400;
    font-size: 1.4rem;
    color: var(--baseLight100);
    text-shadow: 0 1px 2px rgba(0, 0, 0, .75);
    transition: all var(--transitionTime) ease-in-out;
}

.at-contentBanner__article {
    position: relative;
    z-index: 1;
    bottom: -10rem;
    padding: 1.5rem;
    border-radius: var(--borderRadiusLarge);
    box-shadow: 0 -6px 30px rgba(0, 0, 0, .14), 0 -1px 4px rgba(0, 0, 0, .26);
    background: var(--lightBlue);
}

/*
* Tags
*/
.at-contentBanner__article .wl-tagcloud__tag {
    background-color: rgba(var(--primaryRGBColor900), .1);
    border: none;
}

.at-contentBanner__article .wl-tagcloud__tag:hover {
    background-color: rgba(var(--primaryRGBColor900), .15);
}

/**/

@media (min-width: 640px) {
    .at-contentBanner--noContent .at-contentBanner__inner {
        height: 20rem;
    }

    .at-contentBanner__article {
        margin: 0 auto;
        padding: 2rem;
        max-width: 90%;
    }

    .at-contentBanner__title {
        margin-left: 2rem;
    }
}

@media (min-width: 1000px) {
    .at-contentBanner__inner--hasTitle {
        padding: 2rem 0 0 0;
    }

    .at-contentBanner__title {
        margin-left: 5rem;
        font-size: var(--h2Size);
    }
}

@media (min-width: 1430px) {
    .at-contentBanner__contentWrapper {
        position: relative;
    }

    .at-contentBanner__content {
        position: relative;
        z-index: 1;
    }

    .at-contentBanner__contentWrapper::before,
    .at-contentBanner__contentWrapper::after {
        position: absolute;
        content: '';
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
    }

    .at-contentBanner__contentWrapper::before {
        left: 0;
        bottom: 0;
        width: 284px;
        height: 227px;
        background-image: url('banner-element-left.png');
    }

    .at-contentBanner__contentWrapper::after {
        right: 0;
        bottom: 0;
        width: 498px;
        height: 227px;
        background-image: url('banner-element-right.png');
    }

    .at-contentBanner--noContent .at-contentBanner__inner::after,
    .at-contentBanner--noContent .at-contentBanner__contentWrapper::before,
    .at-contentBanner--noContent .at-contentBanner__contentWrapper::after {
        content: none;
    }
}
