.site-block {
    min-width: 0;
}

:root {
    --site-h1-size: 4.25rem;
    --site-h2-size: 3.25rem;
    --site-h3-size: 2.25rem;
    --site-h4-size: 1.55rem;
    --site-h5-size: 1.08rem;
    --site-h6-size: 0.95rem;
    --site-heading-font-weight: 400;
}

.public-site :is(h1, h2, h3, h4, h5, h6),
.public-page :is(h1, h2, h3, h4, h5, h6),
.cms-page-render :is(h1, h2, h3, h4, h5, h6) {
    max-width: var(--site-heading-width);
    color: var(--site-heading-color);
    line-height: 1.05;
    letter-spacing: 0;
    font-weight: var(--site-heading-font-weight) !important;
}

.public-site :is(h1, h2, h3, h4, h5, h6) *,
.public-page :is(h1, h2, h3, h4, h5, h6) *,
.cms-page-render :is(h1, h2, h3, h4, h5, h6) * {
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit;
}

.public-site h1,
.public-page h1,
.cms-page-render h1 {
    font-size: var(--site-h1-size);
}

.public-site h2,
.public-page h2,
.cms-page-render h2 {
    font-size: var(--site-h2-size);
}

.public-site h3,
.public-page h3,
.cms-page-render h3 {
    font-size: var(--site-h3-size);
}

.public-site h4,
.public-page h4,
.cms-page-render h4 {
    font-size: var(--site-h4-size);
}

.public-site h5,
.public-page h5,
.cms-page-render h5 {
    font-size: var(--site-h5-size);
}

.public-site h6,
.public-page h6,
.cms-page-render h6 {
    font-size: var(--site-h6-size);
    text-transform: uppercase;
}

@media (max-width: 960px) {
    :root {
        --site-h1-size: 3.15rem;
        --site-h2-size: 2.45rem;
        --site-h3-size: 1.85rem;
    }
}

@media (max-width: 760px) {
    .cms-mud-expansion-panel {
        margin-inline: 0 !important;
    }

    .cms-mud-expansion-panel summary {
        padding: 1rem 1.1rem;
    }

    .cms-mud-expansion-content {
        padding: 1.1rem;
    }

    .cms-mud-expansion-content .cms-layout-columns.mud-grid {
        gap: var(--cms-layout-grid-gap, 1rem);
    }

    .cms-mud-expansion-content .cms-layout-columns.mud-grid > .cms-layout-grid-item.mud-grid-item {
        flex-basis: 100%;
        max-width: 100%;
        padding-inline: 0.75rem !important;
    }

    .cms-mud-expansion-content .cms-layout-column {
        padding: 0.35rem 0 !important;
    }

    .cms-mud-expansion-content .site-block > :is(.cms-text-section, .cms-site-check-list, .cms-mud-simple-list) {
        box-sizing: border-box;
        padding-inline: 0.35rem;
    }

    .cms-mud-expansion-content .cms-site-check-list ul,
    .cms-mud-expansion-content .cms-mud-simple-list ul,
    .cms-mud-expansion-content .cms-mud-simple-list ol {
        gap: 0.75rem;
        padding-inline: 0.15rem;
    }

    .cms-mud-expansion-content .cms-site-check-list li,
    .cms-mud-expansion-content .cms-mud-simple-list li {
        gap: 0.8rem;
        padding: 0.35rem 0.1rem;
        overflow-wrap: anywhere;
    }

    .cms-mud-expansion-content :is(h1, h2, h3, h4, h5, h6, p, li) {
        overflow-wrap: anywhere;
    }

    .public-section .cms-layout-columns.mud-grid {
        row-gap: var(--cms-layout-grid-gap, 1.25rem);
    }

    .public-section .cms-layout-columns.mud-grid > .cms-layout-grid-item.mud-grid-item {
        flex-basis: 100% !important;
        max-width: 100% !important;
        padding-inline: 0.85rem !important;
    }

    .public-section .cms-layout-column > .site-block > :is(.cms-text-section, .cms-mud-simple-list) {
        box-sizing: border-box;
        max-width: 100% !important;
        padding-inline: clamp(0.85rem, 3vw, 1.1rem) !important;
    }

    .public-section .cms-layout-column > .site-block > .cms-mud-simple-list :is(ul, ol) {
        padding-left: 1.35rem;
        padding-right: 0.25rem;
    }
}

@media (max-width: 640px) {
    :root {
        --site-h1-size: 2.2rem;
        --site-h2-size: 2rem;
        --site-h3-size: 1.55rem;
    }

    .public-hero .cms-layout-columns.mud-grid,
    .cms-layout-columns.mud-grid {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        gap: var(--cms-layout-grid-gap, 1rem) !important;
    }

    .public-hero .cms-layout-columns.mud-grid > .cms-layout-grid-item.mud-grid-item,
    .cms-layout-columns.mud-grid > .cms-layout-grid-item.mud-grid-item {
        padding: 0 !important;
    }

    .public-hero :is(.cms-text-section, .rich-text, h1, h2, h3, h4, h5, h6, p) {
        width: 100%;
        max-width: min(100%, calc(100vw - 3.25rem)) !important;
        overflow-wrap: anywhere;
    }

    .public-hero .cms-text-section :is(h1, h2, h3, h4, h5, h6, p),
    .public-hero .rich-text :is(h1, h2, h3, h4, h5, h6, p) {
        max-width: min(100%, calc(100vw - 3.25rem)) !important;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 420px) {
    :root {
        --site-h1-size: 2rem;
        --site-h2-size: 1.8rem;
    }
}

.site-block-root {
    display: block;
}

.site-block-root.site-block-full {
    width: 100%;
    max-width: none;
    margin-inline: 0;
}

.site-block-nested,
.cms-layout-grid-item > .site-block,
.cms-layout-column > .site-block,
.cms-composable-stack > .site-block,
.cms-mud-tab-panel > .site-block,
.cms-mud-expansion-content > .site-block,
.content-rotator__slide-content > .site-block {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-inline: 0;
}

.cms-text-section,
.cms-text-section .rich-text,
.cms-text-section .rich-text > :is(p, ul, ol, blockquote),
.cms-mud-simple-list,
.cms-mud-simple-list :is(ul, ol, li) {
    color: var(--site-heading-color);
}

.cms-text-section :is(h1, h2, h3, h4, h5, h6),
.cms-text-section .rich-text :is(h1, h2, h3, h4, h5, h6) {
    color: var(--site-heading-color);
}

[style*="--cms-block-text"] :is(.rich-text, .rich-text > p, .rich-text > ul, .rich-text > ol, .rich-text > blockquote, .cms-mud-simple-list, .cms-mud-simple-list ul, .cms-mud-simple-list ol, .cms-mud-simple-list li) {
    color: var(--cms-block-text);
}

:root[data-site-theme="light"] [style*="--cms-block-light-text"] :is(.rich-text, .rich-text > p, .rich-text > ul, .rich-text > ol, .rich-text > blockquote, .cms-mud-simple-list, .cms-mud-simple-list ul, .cms-mud-simple-list ol, .cms-mud-simple-list li) {
    color: var(--cms-block-light-text);
}

:root[data-site-theme="dark"] [style*="--cms-block-dark-text"] :is(.rich-text, .rich-text > p, .rich-text > ul, .rich-text > ol, .rich-text > blockquote, .cms-mud-simple-list, .cms-mud-simple-list ul, .cms-mud-simple-list ol, .cms-mud-simple-list li) {
    color: var(--cms-block-dark-text);
}

.site-block-nested > :is(.public-section, .public-hero, .public-image-block, .public-video-block, .public-card-block, .cms-mud-paper-block, .cms-mud-expansion-panel, .public-alert-block, .cms-layout-stack, .cms-layout-columns, .cms-mud-tabs, .cms-mud-simple-list, .cms-mud-table-block, .cms-mud-quote-block, .cms-mud-nav-links, .cms-mud-menu-list, .cms-mud-tree-view, .cms-mud-timeline, .cms-mud-stepper, .cms-mud-button-group, .cms-mud-toolbar-block, .cms-mud-progress-block, .cms-mud-rating-block, .cms-mud-skeleton-block),
.cms-layout-grid-item > .site-block > :is(.public-section, .public-hero, .public-image-block, .public-video-block, .public-card-block, .cms-mud-paper-block, .cms-mud-expansion-panel, .public-alert-block, .cms-layout-stack, .cms-layout-columns, .cms-mud-tabs, .cms-mud-simple-list, .cms-mud-table-block, .cms-mud-quote-block, .cms-mud-nav-links, .cms-mud-menu-list, .cms-mud-tree-view, .cms-mud-timeline, .cms-mud-stepper, .cms-mud-button-group, .cms-mud-toolbar-block, .cms-mud-progress-block, .cms-mud-rating-block, .cms-mud-skeleton-block),
.cms-layout-column > .site-block > :is(.public-section, .public-hero, .public-image-block, .public-video-block, .public-card-block, .cms-mud-paper-block, .cms-mud-expansion-panel, .public-alert-block, .cms-layout-stack, .cms-layout-columns, .cms-mud-tabs, .cms-mud-simple-list, .cms-mud-table-block, .cms-mud-quote-block, .cms-mud-nav-links, .cms-mud-menu-list, .cms-mud-tree-view, .cms-mud-timeline, .cms-mud-stepper, .cms-mud-button-group, .cms-mud-toolbar-block, .cms-mud-progress-block, .cms-mud-rating-block, .cms-mud-skeleton-block),
.cms-composable-stack > .site-block > :is(.public-section, .public-hero, .public-image-block, .public-video-block, .public-card-block, .cms-mud-paper-block, .cms-mud-expansion-panel, .public-alert-block, .cms-layout-stack, .cms-layout-columns, .cms-mud-tabs, .cms-mud-simple-list, .cms-mud-table-block, .cms-mud-quote-block, .cms-mud-nav-links, .cms-mud-menu-list, .cms-mud-tree-view, .cms-mud-timeline, .cms-mud-stepper, .cms-mud-button-group, .cms-mud-toolbar-block, .cms-mud-progress-block, .cms-mud-rating-block, .cms-mud-skeleton-block),
.cms-mud-tab-panel > .site-block > :is(.public-section, .public-hero, .public-image-block, .public-video-block, .public-card-block, .cms-mud-paper-block, .cms-mud-expansion-panel, .public-alert-block, .cms-layout-stack, .cms-layout-columns, .cms-mud-tabs, .cms-mud-simple-list, .cms-mud-table-block, .cms-mud-quote-block, .cms-mud-nav-links, .cms-mud-menu-list, .cms-mud-tree-view, .cms-mud-timeline, .cms-mud-stepper, .cms-mud-button-group, .cms-mud-toolbar-block, .cms-mud-progress-block, .cms-mud-rating-block, .cms-mud-skeleton-block),
.cms-mud-expansion-content > .site-block > :is(.public-section, .public-hero, .public-image-block, .public-video-block, .public-card-block, .cms-mud-paper-block, .cms-mud-expansion-panel, .public-alert-block, .cms-layout-stack, .cms-layout-columns, .cms-mud-tabs, .cms-mud-simple-list, .cms-mud-table-block, .cms-mud-quote-block, .cms-mud-nav-links, .cms-mud-menu-list, .cms-mud-tree-view, .cms-mud-timeline, .cms-mud-stepper, .cms-mud-button-group, .cms-mud-toolbar-block, .cms-mud-progress-block, .cms-mud-rating-block, .cms-mud-skeleton-block),
.content-rotator__slide-content > .site-block > :is(.public-section, .public-hero, .public-image-block, .public-video-block, .public-card-block, .cms-mud-paper-block, .cms-mud-expansion-panel, .public-alert-block, .cms-layout-stack, .cms-layout-columns, .cms-mud-tabs, .cms-mud-simple-list, .cms-mud-table-block, .cms-mud-quote-block, .cms-mud-nav-links, .cms-mud-menu-list, .cms-mud-tree-view, .cms-mud-timeline, .cms-mud-stepper, .cms-mud-button-group, .cms-mud-toolbar-block, .cms-mud-progress-block, .cms-mud-rating-block, .cms-mud-skeleton-block) {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    margin-inline: 0 !important;
}

@media (max-width: 760px) {
    .cms-layout-column > .site-block-type-columns .cms-layout-columns:has(.site-block-type-simple-list) {
        gap: 0.5rem !important;
        row-gap: 0.5rem !important;
        padding-block: 0 !important;
    }

    .cms-layout-column > .site-block-type-columns .cms-layout-columns:has(.site-block-type-simple-list) > .cms-layout-grid-item {
        padding-block: 0 !important;
        padding-inline: 0.35rem !important;
    }

    .public-section .cms-layout-column .site-block-type-simple-list > .cms-mud-simple-list,
    .cms-layout-column .site-block-type-simple-list > .cms-mud-simple-list {
        width: 100% !important;
        max-width: 100% !important;
        margin-block: 0 !important;
        padding-inline: 0 !important;
    }

    .public-section .cms-layout-column .site-block-type-simple-list > .cms-mud-simple-list :is(ul, ol),
    .cms-layout-column .site-block-type-simple-list > .cms-mud-simple-list :is(ul, ol) {
        margin-block: 0;
        padding-left: clamp(1.45rem, 6vw, 1.8rem) !important;
        padding-right: 0.25rem !important;
    }
}

.public-section.utility .cms-text-section :is(h1),
.public-section.utility .cms-text-section .rich-text :is(h1) {
    font-size: clamp(2rem, 4vw, 2.75rem) !important;
    line-height: 1.1;
}

.public-section.utility .cms-text-section :is(h2),
.public-section.utility .cms-text-section .rich-text :is(h2) {
    font-size: clamp(1.05rem, 1.8vw, 1.35rem) !important;
    line-height: 1.2;
}

.public-section.utility .cms-text-section :is(h3),
.public-section.utility .cms-text-section .rich-text :is(h3) {
    font-size: clamp(0.95rem, 1.4vw, 1.1rem) !important;
    line-height: 1.25;
}

.public-section.utility .cms-text-section :is(h4, h5, h6),
.public-section.utility .cms-text-section .rich-text :is(h4, h5, h6) {
    font-size: clamp(0.9rem, 1.2vw, 1rem) !important;
    line-height: 1.3;
}

.public-section.utility .cms-mud-divider {
    display: none;
}
