/* CMS reading surface. Deliberately scoped: UI tables, fields and dialogs keep their own styles. */
:is(#article-content-body, .cd-richtext).cd-richtext {
  --rt-body: var(--cd-type-reading, .8125rem);
  --rt-leading: var(--cd-type-reading-leading, 1.8);
  --rt-space: 1.15em;
  font: 400 var(--rt-body)/var(--rt-leading) var(--cd-font, 'Inter', 'Segoe UI', Arial, sans-serif);
  font-size: var(--rt-body) !important; line-height: var(--rt-leading) !important;
  color: var(--cd-ink, #183650);
  width: 100%; min-width: 0; max-width: 100%;
  overflow-wrap: anywhere; word-break: normal;
  text-align: justify;
  text-justify: inter-word;
}
:is(#article-content-body, .cd-richtext).cd-richtext.cd-richtext--compact { --rt-body: var(--cd-type-reading, .8125rem); --rt-leading: var(--cd-type-reading-leading, 1.8); color: inherit; }
.cd-builder-inverse :is(#article-content-body, .cd-richtext).cd-richtext { color: #f2f6fa; }
:is(#article-content-body, .cd-richtext).cd-richtext :where(p,li,div,span,a,strong,em,b,i,ul,ol,blockquote) {
  font-family: inherit !important; font-size: inherit !important;
  line-height: inherit !important; letter-spacing: normal !important;
  text-indent: 0 !important; word-spacing: normal !important;
}
:is(#article-content-body, .cd-richtext).cd-richtext :where(p,ul,ol,li) { text-align: justify !important; text-align-last: start; }
:is(#article-content-body, .cd-richtext).cd-richtext :where(p,div,blockquote,figure,ul,ol,pre) { max-width: 100% !important; }
:is(#article-content-body, .cd-richtext).cd-richtext :where(p,div):not(.carousel-item) { margin-inline: 0 !important; }
:is(#article-content-body, .cd-richtext).cd-richtext p { margin-block: 0 var(--rt-space) !important; padding: 0 !important; }
:is(#article-content-body, .cd-richtext).cd-richtext :where(h1,h2,h3,h4,h5,h6) {
  font-family: var(--cd-heading, 'Montserrat', 'Segoe UI', Arial, sans-serif) !important;
  font-weight: 700 !important; line-height: 1.4 !important;
  text-align: start;
  text-wrap: pretty; letter-spacing: -.015em !important;
  color: inherit !important; text-transform: none !important;
  margin: 1.7em 0 .65em !important; padding: 0 !important;
  border: 0 !important; width: auto !important; max-width: 100% !important;
  scroll-margin-top: 150px;
}
/* The page title rule has an ID selector. Match it only inside a CMS root. */
#public-content :is(#article-content-body, .cd-richtext).cd-richtext h1, :is(#article-content-body, .cd-richtext).cd-richtext h1 { font-size: var(--cd-type-content-h1, 1.5rem) !important; }
:is(#article-content-body, .cd-richtext).cd-richtext h2 { font-size: var(--cd-type-content-h2, 1.375rem) !important; }
:is(#article-content-body, .cd-richtext).cd-richtext h3 { font-size: var(--cd-type-content-h3, 1.25rem) !important; }
:is(#article-content-body, .cd-richtext).cd-richtext h4 { font-size: var(--cd-type-content-h4, 1.125rem) !important; }
:is(#article-content-body, .cd-richtext).cd-richtext h5 { font-size: var(--cd-type-content-h5, 1rem) !important; }
:is(#article-content-body, .cd-richtext).cd-richtext h6 { font-size: var(--cd-type-content-h6, .9375rem) !important; color: #52677a !important; }
.cd-builder-inverse :is(#article-content-body, .cd-richtext).cd-richtext h6 { color: #dbe6ef !important; }
:is(#article-content-body, .cd-richtext).cd-richtext :where(h1,h2,h3,h4,h5,h6) + :where(h1,h2,h3,h4,h5,h6) { margin-top: .9em !important; }
:is(#article-content-body, .cd-richtext).cd-richtext > :first-child { margin-top: 0 !important; }
:is(#article-content-body, .cd-richtext).cd-richtext > :last-child { margin-bottom: 0 !important; }
:is(#article-content-body, .cd-richtext).cd-richtext :where(ul,ol) { padding: 0 0 0 1.5em !important; margin: 0 0 var(--rt-space) !important; list-style-position: outside; }
:is(#article-content-body, .cd-richtext).cd-richtext li { margin: .4em 0 !important; padding: 0 !important; }
:is(#article-content-body, .cd-richtext).cd-richtext li > :where(ul,ol) { margin: .45em 0 .6em !important; }
:is(#article-content-body, .cd-richtext).cd-richtext li > p { margin-bottom: .45em !important; }
:is(#article-content-body, .cd-richtext).cd-richtext li::marker { color: currentColor; font-weight: 600; }
:is(#article-content-body, .cd-richtext).cd-richtext a:not(.btn) { color: #135e91; text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
:is(#article-content-body, .cd-richtext).cd-richtext a:not(.btn):hover { color: #183650; text-decoration-thickness: 2px; }
.cd-builder-inverse :is(#article-content-body, .cd-richtext).cd-richtext a:not(.btn) { color: #fff; }
:is(#article-content-body, .cd-richtext).cd-richtext a:focus-visible, :is(#article-content-body, .cd-richtext).cd-richtext [tabindex]:focus-visible { outline: 2px solid #9b7030; outline-offset: 4px; }
:is(#article-content-body, .cd-richtext).cd-richtext .btn { min-height: 44px; max-width: 100%; white-space: normal; text-align: center !important; line-height: 1.5 !important; }
:is(#article-content-body, .cd-richtext).cd-richtext blockquote { margin: 1.5em 0 !important; padding: .25em 0 .25em 1.25em !important; border: 0; border-inline-start: 1px solid #9b7030; font-style: italic; }
:is(#article-content-body, .cd-richtext).cd-richtext blockquote > :last-child { margin-bottom: 0 !important; }
:is(#article-content-body, .cd-richtext).cd-richtext hr { border: 0; border-top: 1px solid #cbd7e1; margin: 2em 0 !important; opacity: 1; }
:is(#article-content-body, .cd-richtext).cd-richtext img { max-width: 100% !important; height: auto !important; object-fit: contain !important; border-radius: 6px; box-shadow: none !important; margin: 0 auto !important; }
:is(#article-content-body, .cd-richtext).cd-richtext :where(figure,.custom-album-wrapper) { width: 100% !important; margin: 1.25rem 0 !important; }
:is(#article-content-body, .cd-richtext).cd-richtext figure > img { display: block; }
:is(#article-content-body, .cd-richtext).cd-richtext p > img { display: inline-block; vertical-align: middle; }
:is(#article-content-body, .cd-richtext).cd-richtext .carousel-item > img { display: block; width: 100%; max-height: 78svh; aspect-ratio: auto !important; }
:is(#article-content-body, .cd-richtext).cd-richtext .carousel-item > img[data-rt-small] { width: auto !important; }
:is(#article-content-body, .cd-richtext).cd-richtext :where(figcaption,.cd-album-caption,.carousel-caption,.custom-mobile-caption) { position: static !important; inset: auto !important; width: 100% !important; max-width: 100% !important; margin: .375rem 0 0 !important; padding: 0 !important; text-align: start !important; color: #52677a !important; background: none !important; font-size: var(--cd-type-media-caption, .75rem) !important; line-height: 1.6 !important; font-weight: 400 !important; opacity: 1 !important; text-shadow: none !important; }
:is(#article-content-body, .cd-richtext).cd-richtext :is(figcaption,.cd-album-caption,.carousel-caption,.custom-mobile-caption) :is(p,span,a,strong,em,b,i) { font-size: inherit !important; line-height: inherit !important; color: inherit !important; opacity: 1 !important; font-weight: inherit !important; text-align: start !important; }
:is(#article-content-body, .cd-richtext).cd-richtext :is(.cd-album-caption,.carousel-caption,.custom-mobile-caption) p { margin: 0 !important; }
:is(#article-content-body, .cd-richtext).cd-richtext .carousel-control-prev, :is(#article-content-body, .cd-richtext).cd-richtext .carousel-control-next { height: var(--cd-album-media-height, 100%); bottom: auto; min-width: 44px; opacity: 1; }
:is(#article-content-body, .cd-richtext).cd-richtext .carousel-indicators { bottom: auto; top: calc(var(--cd-album-media-height, 100%) - 30px); }
:is(#article-content-body, .cd-richtext).cd-richtext .cd-content-table-scroll { max-width: 100%; width: 100%; overflow-x: auto; margin: 1.5em 0; border: 1px solid #cbd7e1; border-radius: 6px; scrollbar-color: #849aaa #eef3f7; }
:is(#article-content-body, .cd-richtext).cd-richtext table { display: table !important; border-collapse: collapse; width: 100%; max-width: none !important; overflow: visible !important; white-space: normal !important; margin: 0 !important; font-size: .875rem; line-height: 1.65; font-variant-numeric: tabular-nums; color: #183650; background: #fff; }
:is(#article-content-body, .cd-richtext).cd-richtext :where(th,td) { text-align: start; vertical-align: top; padding: .8em 1em !important; border: 1px solid #d7e1e9; white-space: normal !important; overflow-wrap: normal; }
:is(#article-content-body, .cd-richtext).cd-richtext th { background: #eef3f7; font-weight: 600; }
:is(#article-content-body, .cd-richtext).cd-richtext tbody tr:nth-child(even) { background: #f8fafc; }
:is(#article-content-body, .cd-richtext).cd-richtext pre { padding: 1em !important; margin: 1.5em 0 !important; overflow-x: auto !important; white-space: pre !important; background: #f3f6f9; border-radius: 6px; color: #183650; font: .875rem/1.7 ui-monospace, monospace; }
:is(#article-content-body, .cd-richtext).cd-richtext code { white-space: inherit !important; overflow-wrap: normal; word-break: normal; font-family: ui-monospace, monospace; color: inherit; }
:is(#article-content-body, .cd-richtext).cd-richtext :where(iframe,video) { display: block; width: 100% !important; max-width: 100% !important; margin: 1.75em 0; border: 0; border-radius: 6px; }
:is(#article-content-body, .cd-richtext).cd-richtext iframe { height: auto !important; aspect-ratio: 16 / 9; }
:is(#article-content-body, .cd-richtext).cd-richtext iframe[src*="maps"] { aspect-ratio: 4 / 3; }
:is(#article-content-body, .cd-richtext).cd-richtext audio { max-width: 100%; }
:is(#article-content-body, .cd-richtext).cd-richtext ::selection { background: #d9e8f3; color: #183650; }
/* Editor gets the same type scale, without altering its HTML or toolbar. */
:is(#article-content-body, .cd-richtext).cd-richtext.cd-richtext--editor { padding: 20px !important; min-height: 300px; }
.cd-richtext--editor table { max-width: 100% !important; table-layout: fixed; }
@media (max-width: 767px) {
  :is(#article-content-body, .cd-richtext).cd-richtext { --rt-body: var(--cd-type-reading, .8125rem); --rt-leading: var(--cd-type-reading-leading, 1.8); }
  :is(#article-content-body, .cd-richtext).cd-richtext :where(h1,h2,h3,h4,h5,h6) { scroll-margin-top: 130px; }
  :is(#article-content-body, .cd-richtext).cd-richtext :where(th,td) { padding: .65em .8em !important; }
}

:is(#article-content-body, .cd-richtext).cd-richtext :is(h1,h2,h3,h4,h5,h6)[data-rt-align="center"] { text-align: center !important; }
:is(#article-content-body, .cd-richtext).cd-richtext :is(h1,h2,h3,h4,h5,h6)[data-rt-align="right"] { text-align: right !important; }

:is(#article-content-body, .cd-richtext).cd-richtext :is(.carousel-control-prev-icon,.carousel-control-next-icon) { width: 36px; height: 36px; background-color: #183650; background-size: 18px; border-radius: 50%; }

/* Reading media stays legible when a CMS block uses the inverse palette. */
.cd-builder-inverse :is(#article-content-body, .cd-richtext).cd-richtext :is(figcaption,.cd-album-caption,.carousel-caption,.custom-mobile-caption) { color: #dbe6ef !important; }
.cd-builder-inverse :is(#article-content-body, .cd-richtext).cd-richtext :is(table,pre) a:not(.btn) { color: #135e91; }

/* Authored inline/linked images keep their intrinsic size; wide media still fits. */
:is(#article-content-body, .cd-richtext).cd-richtext :is(p,a) > img { width: auto !important; }

/* Media already supplies its following gap; do not add another section margin. */
:is(#article-content-body, .cd-richtext).cd-richtext :where(figure,.custom-album-wrapper) + :where(h1,h2,h3,h4,h5,h6,p,ul,ol,blockquote) { margin-top: 0 !important; }

/* Read-only presentation for existing CMS contact callouts; editor HTML is untouched. */
:is(#article-content-body,.cd-richtext).cd-richtext .cd-content-contact {
  display: grid; grid-template-columns: minmax(0,1fr) minmax(12rem,.65fr); column-gap: 1.5rem; grid-template-rows: min-content 1fr; align-items: start;
  padding: 1.5rem !important; margin-block: 1.5rem !important; background: #f1f5f7 !important;
  border: 1px solid #cddae2 !important; border-radius: var(--cd-radius) !important; box-shadow: none !important;
}
:is(#article-content-body,.cd-richtext).cd-richtext .cd-content-contact > :is(h2,h3,h4) { font-size: 1.125rem !important; margin: 0 0 .625rem !important; line-height: 1.45 !important; }
:is(#article-content-body,.cd-richtext).cd-richtext .cd-content-contact > p { margin: 0 !important; text-align: left !important; }
:is(#article-content-body,.cd-richtext).cd-richtext .cd-content-contact > ul { grid-column: 2; grid-row: 1/span 2; padding: 0 !important; margin: 0 !important; list-style: none; align-self: center; }
:is(#article-content-body,.cd-richtext).cd-richtext .cd-content-contact > ul li { text-align: left !important; margin: .375rem 0 !important; overflow-wrap: anywhere; }
:is(#article-content-body,.cd-richtext).cd-richtext .cd-content-contact a[href^="tel:"] { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; font-size: 1rem !important; }
@media (max-width: 767px) {
  :is(#article-content-body,.cd-richtext).cd-richtext .cd-content-contact { grid-template-columns: minmax(0,1fr); padding: 1.125rem !important; }
  :is(#article-content-body,.cd-richtext).cd-richtext .cd-content-contact > ul { grid-column: 1; grid-row: auto; margin-top: .875rem !important; }
}
