.portal-hero-surround,
.group-page-portal-body > .portal-hero-surround {
    display: flow-root;
    margin: 0;
    padding-top: var(--portal-hero-margin-top, 0px);
    background-color: var(--portal-hero-surround-background, transparent);
}
.group-page-portal-body > .portal-hero-surround {
    position: relative;
    isolation: isolate;
}
.group-page-portal-body > .portal-hero-surround::before {
    content: "";
    position: absolute;
    inset: 0 calc(50% - 50vw);
    z-index: -1;
    pointer-events: none;
    background-color: var(--portal-hero-surround-background, transparent);
}
/* Mirror the published group content width without importing group navigation CSS. */
.portal-preview-group-page .portal-hero-surround > .portal-hero-banner {
    width: 80%;
    max-width: 1375px;
    margin-left: auto;
    margin-right: auto;
}
.ONLINE.SOL_0 .portal-preview-group-page .portal-hero-surround > .portal-hero-banner {
    max-width: 1335px;
}
@media (max-width: 820px) {
    .portal-preview-group-page .portal-hero-surround > .portal-hero-banner {
        width: 100%;
    }
}
.hero-caption-controls { margin: 1.5rem 0 0; padding: 0; border: 0; }
.hero-caption-controls legend { font-size: 1rem; margin-bottom: .5rem; }
.hero-caption-controls p, .hero-caption-controls label, .hero-caption-controls .form-control { font-size: 1rem; }
.hero-caption-controls .form-control { width: 100%; box-sizing: border-box; }
.portal-hero-banner.portal-hero-caption .portal-image {
    box-sizing: border-box;
    min-height: var(--portal-hero-min-height, 312px);
    padding: var(--hero-caption-inset, 40px);
    align-items: flex-start;
    justify-content: flex-start;
}
.portal-hero-banner.portal-hero-caption .portal-hero-default-copy {
    position: relative;
    left: 0;
    box-sizing: border-box;
    width: var(--hero-caption-width, 55%);
    max-width: min(100%, var(--portal-hero-content-max-width, 1200px));
    margin: 0;
    padding: var(--hero-caption-padding, 20px);
    background: color-mix(in srgb, var(--hero-caption-color, #000000) var(--hero-caption-opacity, 85%), transparent);
    text-align: left;
}
.portal-hero-banner.portal-hero-caption .portal-hero-default-field { text-align: left; }
.portal-hero-banner.portal-hero-caption .portal-hero-title { margin: 0; overflow-wrap: break-word; }
.portal-hero-banner.portal-hero-caption .portal-hero-default-field:empty { display: none; }
.portal-hero-banner .portal-hero-title em { font-style: italic; }
@media (max-width: 600px) {
    .portal-hero-banner.portal-hero-caption .portal-image { padding: min(var(--hero-caption-inset, 40px), 15px); }
    .portal-hero-banner.portal-hero-caption .portal-hero-default-copy { width: 100%; padding: min(var(--hero-caption-padding, 20px), 20px); }
    .portal-hero-banner.portal-hero-caption .portal-hero-title { font-size: min(var(--portal-hero-item-font-size, 2.625rem), 1.5rem); }
}
