.at-videoBanner {
    position: relative;
    margin-top: 0;
    padding: 2em 0;
    text-align: center;
    color: #fff;
    overflow: hidden;
    border: none;
}

.at-videoBanner::after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: '';
    background: rgba(0, 0, 0, 0.3);
}

.at-videoBanner__contentWrapper {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 0 1rem;
}

.at-videoBanner__content {
    max-width: 50rem;
    padding: 2rem;
    background-color: rgba(132,14,34, 0.75);
}

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

.at-videoBanner__description {
    margin-bottom: 0;
}

.at-videoBanner__button {
    margin: 1rem 0 0 0;
}

.at-videoBanner__videoWrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
}

.at-videoBanner__video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    transform: translate(-50%, -50%);
    border: none;
}

@media (min-aspect-ratio: 16/9), (max-aspect-ratio: 16/9) {
    .at-videoBanner__video {
        height: 56.25vw;
    }
}

@media (max-aspect-ratio: 4/4) {
    .at-videoBanner__video {
        width: 177.78vh;
        height: 100vw;
    }
}

@media (min-width: 500px) {
    .at-videoBanner {
        padding: 4em 0;
    }

    .at-videoBanner--small {
        padding: 2em 0;
    }

    .at-videoBanner--large {
        padding: 6em 0;
    }

    .at-videoBanner--xlarge {
        padding: 8em 0;
    }
}

@media (min-width: 1000px) {
    .at-videoBanner {
        padding: 10em 0;
    }

    .at-videoBanner--small {
        padding: 5em 0;
    }

    .at-videoBanner--large {
        padding: 12em 0;
    }

    .at-videoBanner--xlarge {
        padding: 14em 0;
    }
}

/* large banner when there is no text, because it is a good size for the customer */
.at-videoBanner--xlarge:not(:has(.at-videoBanner__contentWrapper)) {
    padding: clamp(8em, 21vw, 14em) 0;
}
