.affiliate-banner {
    position: relative;
    width: 100%;
    overflow: hidden;
    height: 20em;
    min-height: 60vmin;
}

.affiliate-banner img {
    width: auto;
    object-fit: scale-down;
    display: block;
    margin: auto;
    max-height: 100%;
}

.affiliate-banner-mobile {
    position: relative;
    overflow: hidden;
    max-height: 16em;

}

.affiliate-banner-mobile img {
    display: block;
    margin: 0 auto auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: fill;
}

.affiliate-intro {
    margin-top: 0;
    margin-bottom: 2em;
    font-size: 1.2em;
}

main > h1 {
    text-align: center;
}

.affiliate-video-wrapper {
    position: relative;
    width: 80%;
    padding-bottom: 48.25%;
    height: 0;
    overflow: hidden;
    margin: auto;
}

.affiliate-video-wrapper video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.affiliate-banner .ai-label-icon,
.affiliate-video-wrapper .ai-label-icon {
    position: absolute;
    bottom: 0.4rem;
    right: 0.4rem;
    z-index: 10;
    width: 2.5rem;
    height: auto;
    margin: 0;
    max-height: none;
}

.affiliate-video-wrapper .ai-label-icon {
    top: 1.8rem;
    bottom: auto;
}

.block-action-container--top {
    margin-top: 10px;
}

@media (max-width: 800px) {
    .affiliate-banner {
        height: 18em;
    }

    .affiliate-banner .ai-label-icon,
    .affiliate-video-wrapper .ai-label-icon {
        width: 2rem;
    }
    .affiliate-video-wrapper .ai-label-icon {
        top: 1.2rem;
    }
}