.cms-external-content {
    align-items: flex-end;
    background: #e7eef2 var(--cms-external-background, none) center / cover no-repeat;
    display: flex;
    min-height: var(--cms-external-min-height, 380px);
    overflow: hidden;
    position: relative;
}

.cms-external-content::before {
    background: linear-gradient(180deg, transparent 20%, rgba(0, 0, 0, .34));
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.cms-external-consent {
    background: rgba(248, 248, 248, .96);
    margin-top: 5rem;
    padding: 1.25rem;
    position: relative;
    text-align: center;
    width: 100%;
    z-index: 1;
}

.cms-external-consent p { margin-bottom: .75rem; }
.cms-external-consent .button { margin-bottom: .25rem; }
.cms-external-content.is-loading .button { opacity: .65; pointer-events: none; }
.cms-external-content.is-loaded { background: transparent; display: block; }
.cms-external-content.is-loaded::before { display: none; }
.cms-external-runtime { min-height: var(--cms-external-min-height, 380px); width: 100%; }
.cms-external-content.is-loaded iframe,
.cms-external-content.is-loaded video,
.cms-external-content.is-loaded object,
.cms-external-content.is-loaded embed {
    border: 0;
    display: block;
    height: var(--cms-external-min-height, 380px);
    min-height: var(--cms-external-min-height, 380px);
    max-height: none;
    width: 100%;
}

.cms-external-runtime > p {
    margin: .75rem 0 0;
}

@media screen and (max-width: 39.9375em) {
    .cms-external-consent { margin-top: 2rem; padding: 1rem; }
}
