.at-heroBanner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr;
}

.at-heroBanner__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    grid-column: 1 / -1;
    grid-row: 2;
    padding: 2rem;
}

.at-heroBanner__content--withBackground {
    background-color: rgba(32, 163, 223, 0.3);
}

.at-heroBanner__innerContent {
    display: flex;
    flex-direction: column;
    align-items: baseline;
}

.at-heroBanner__title {
    margin: 0 0 1rem;
    color: #fff;
}

.at-heroBanner__subTitle {
    margin: 0;
    color: #fff;
    font-size: clamp(1rem, 5vw, 2rem);
    font-weight: 300;
    order: -1;
}

.at-heroBanner__image {
    position: absolute;
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    display: block;
    width: 100%;
    height: 100% !important; /** Used important to override the "height: auto !important" from the UI */
    object-fit: cover;
    min-height: 0;
    z-index: -1;
}

.at-heroBanner__content--boxed .at-heroBanner__innerContent {
    max-width: 30rem;
    padding: 1.5rem;
    border-radius: .5rem;
    background-color: rgba(0, 0, 0, 0.4);
}

@media (min-width: 1024px) {
    .at-heroBanner {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr;
    }

    .at-heroBanner__content {
        grid-column: 2;
        grid-row: 1;
        padding: 2rem 5rem 2rem 3rem;
    }

    .at-heroBanner__innerContent {
        margin-block: 12vh;
    }
}

@media (min-width: 1680px) {
    .at-heroBanner__content:not(.at-heroBanner__content--boxed) {
        padding-right: 20vw;
    }
}
