/* Common reading layout for fixed pages and news articles. */
.content-body-shell > article.prose.content-body {
    box-sizing: border-box;
    width: min(880px, 100%);
    max-width: 880px;
    margin: 0;
    padding: 28px 0 72px;
    float: none;
    text-align: left;
    line-height: 1.9;
    overflow-wrap: anywhere;
}
article.content-body > :first-child {
    margin-top: 0;
}
article.content-body > div:first-child > :first-child {
    margin-top: 0;
}
article.content-body h2 {
    margin-top: 40px;
    margin-bottom: 20px;
    line-height: 1.5;
}
article.content-body h3 {
    margin-top: 30px;
    margin-bottom: 16px;
    line-height: 1.5;
}
article.content-body > h2:first-child,
article.content-body > h3:first-child {
    margin-top: 0;
}
article.content-body p {
    margin: 0 0 24px;
}
article.content-body img {
    max-width: 100%;
    height: auto;
}
article.content-body .article-image {
    width: auto;
    max-height: 520px;
    object-fit: contain;
    margin: 0 auto 32px;
}
article.content-body ul,
article.content-body ol {
    padding-left: 1.5em;
    margin-block: 0 24px;
}
@media (max-width: 600px) {
    .content-body-shell > article.prose.content-body {
        width: min(880px, 100%);
        padding: 20px 0 48px;
    }
    article.content-body h2 {
        font-size: 24px;
        margin-top: 32px;
    }
    article.content-body > h2:first-child {
        margin-top: 0;
    }
}

/* Restore user-agent link colors and decoration for body text links. */
article.prose.content-body a[href]:not(.download):not(.primary):not(.secondary) {
    color: revert !important;
    text-decoration: revert !important;
}
article.prose.content-body a[href]:not(.download):not(.primary):not(.secondary) * {
    color: inherit !important;
}

/* Google Maps embeds must fit the article on mobile screens. */
.prose iframe{display:block;max-width:100%;width:100%;border:0;margin:1rem 0;}

/* Reusable content styles shared with the HTML editor. */
:is(.prose.content-body,.rich-body) .content-box{padding:20px;margin:20px 0;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;}
:is(.prose.content-body,.rich-body) .content-note{padding:16px;margin:20px 0;border-left:4px solid #2563eb;background:#eff6ff;}
:is(.prose.content-body,.rich-body) .content-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:20px 0;}
:is(.prose.content-body,.rich-body) .content-columns>*{min-width:0;}
:is(.prose.content-body,.rich-body) figure{margin:20px 0;}
:is(.prose.content-body,.rich-body) figcaption{margin-top:8px;font-size:.9em;color:#475569;text-align:center;}
:is(.prose.content-body,.rich-body) img{max-width:100%;}
:is(.prose.content-body,.rich-body) .content-table{width:100%;border-collapse:collapse;}
:is(.prose.content-body,.rich-body) .content-table th,:is(.prose.content-body,.rich-body) .content-table td{padding:10px;border:1px solid #cbd5e1;}
:is(.prose.content-body,.rich-body) .content-table th{background:#eff6ff;}
:is(.prose.content-body,.rich-body) .content-table-scroll{overflow-x:auto;}
:is(.prose.content-body,.rich-body) [id^="content-"]{scroll-margin-top:100px;}
:is(.prose.content-body,.rich-body) iframe{display:block;width:100%;max-width:100%;border:0;margin:20px 0;}
:is(.prose.content-body,.rich-body) iframe[src^="https://www.youtube.com/embed/"],:is(.prose.content-body,.rich-body) iframe[src^="https://www.youtube-nocookie.com/embed/"]{aspect-ratio:16/9;height:auto;min-height:0;}
@media(max-width:640px){:is(.prose.content-body,.rich-body) .content-columns{grid-template-columns:1fr;gap:16px;}}
