/* Shared presentation for the public documentation hub and articles. */
.cvc-docs-page #main-content { background: #f5f7f5; padding-block: 0 60px; }
.cvc-docs-page .navbar { background: #fff; }
.cvc-docs-page .navbar .container-fluid { max-width: 1320px; }
.cvc-docs-hub, .cvc-docs { color: #505663; font-size: 16px; max-width: 1320px; }
.cvc-docs :where(nav), .cvc-docs-hub :where(nav) { display: block; background: transparent; padding: 0; justify-content: flex-start; }
.cvc-docs-hub { padding-top: 24px; }
.cvc-docs-hub h1 { font-family: var(--cvc-font-base); font-size: 42px; font-weight: 700; letter-spacing: -.5px; }
.cvc-docs-hub h2, .cvc-docs h1, .cvc-docs h2, .cvc-docs h3, .cvc-docs-card h3 { font-family: var(--cvc-font-cond); font-weight: 700; }
.cvc-docs-hub h2 { font-size: 29px; margin-bottom: 16px; }
.cvc-docs-hub .lead, .cvc-docs-heading .lead { font-size: 19px; font-weight: 400; margin: 10px 0 0; }
.cvc-docs-breadcrumbs { font-size: 13px; color: #6e7873; margin-bottom: 24px; }
.cvc-docs-breadcrumbs ol { display: flex; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; gap: 0; }
.cvc-docs-breadcrumbs li + li::before { content: '/'; margin-inline: 12px; color: #7b8580; }
.cvc-docs-breadcrumbs a { color: inherit; text-decoration: none; }
.cvc-docs-breadcrumbs a:hover { text-decoration: underline; }
.cvc-docs-hub-nav, .cvc-docs-nav { display: flex; gap: 34px; border-bottom: 1px solid #d8e1dc; overflow-x: auto; scrollbar-width: thin; }
.cvc-docs-hub-nav { margin: 30px 0 20px; }
.cvc-docs-hub-nav a, .cvc-docs-nav a { padding-block: 12px; white-space: nowrap; text-decoration: none; color: #505663; border-bottom: 2px solid transparent; }
.cvc-docs-hub-nav a[aria-current], .cvc-docs-nav a[aria-current] { border-color: #004901; color: #004901; font-weight: 700; }
.cvc-docs-hub > section { scroll-margin-top: 95px; }
.cvc-docs-hub > section + section { margin-top: 30px; }
.cvc-docs-guide-grid, .cvc-docs-project-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.cvc-docs-policies-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.cvc-docs-card { border: 1px solid #dce3df; border-radius: 4px; background: #fff; padding: 22px 26px; min-width: 0; }
.cvc-docs-card h3 { font-size: 24px; margin: 0; }
.cvc-docs-card h3 a { display: flex; align-items: flex-start; text-decoration: none; line-height: 1.3; }
.cvc-docs-card h3 a > span { flex: 1; min-width: 0; }
.cvc-docs-card h3 a > i:first-child { font-size: 30px; width: 35px; flex-shrink: 0; line-height: 1.1; }
.cvc-docs-card h3 a > .fa-arrow-right { font-size: 16px; align-self: center; }
.cvc-docs-card p { margin: 14px 0 0; line-height: 1.5; }
.cvc-docs-quick-links { padding: 0; margin: 13px 0 0; list-style: none; font-weight: 500; line-height: 1.85; }
.cvc-docs-quick-links i { font-size: 13px; }
.cvc-docs-platform { background: transparent; margin-top: 18px; }
.cvc-docs-platform p, .cvc-docs-platform .cvc-docs-inline-links { margin-left: 43px; }
.cvc-docs-policies-grid h3, .cvc-docs-project-grid h3 { font-size: 21px; }
.cvc-docs-policies-grid p, .cvc-docs-project-grid p { margin-left: 43px; font-size: 15px; }
.cvc-docs-inline-links { display: flex; flex-wrap: wrap; gap: 10px 26px; list-style: none; padding: 0; margin-top: 14px; margin-bottom: 0; }
.cvc-docs-nav { padding-top: 2px; margin-bottom: 23px; font-family: var(--cvc-font-cond); gap: 25px; }
.cvc-docs-layout { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 40px; }
.cvc-docs-sidebar { border-right: 1px solid #e3e8e4; padding-right: 24px; }
.cvc-docs-sidebar-inner { position: sticky; top: 85px; max-height: calc(100vh - 105px); overflow-y: auto; padding-bottom: 10px; }
.cvc-docs-toc { font-size: 14px; }
.cvc-docs-toc summary { color: #004901; font-weight: 500; margin-bottom: 12px; }
.cvc-docs-toc ol { padding: 0; margin: 0; list-style: none; counter-reset: toc; }
.cvc-docs-toc li { counter-increment: toc; }
.cvc-docs-toc a { display: block; padding: 7px 10px; border-left: 2px solid transparent; text-decoration: none; color: #505663; }
.cvc-docs-toc a::before { content: counter(toc) '. '; }
.cvc-docs-toc a[aria-current], .cvc-docs-directory a[aria-current] { background: #edf4e8; border-color: #004901; color: #004901; }
.cvc-docs-directory { margin-top: 32px; border-top: 1px solid #d8e1dc; padding-top: 23px; }
.cvc-docs-directory h2 { font-family: var(--cvc-font-base); font-size: 15px; font-weight: 500; }
.cvc-docs-directory ul { list-style: none; padding: 0; margin: 15px 0 0; }
.cvc-docs-directory ul + ul { border-top: 1px solid #d8e1dc; padding-top: 15px; }
.cvc-docs-directory a { display: flex; align-items: flex-start; padding: 8px 10px; border-left: 2px solid transparent; color: #505663; text-decoration: none; font-size: 13px; }
.cvc-docs-directory i { width: 20px; font-size: 19px; color: #004901; flex-shrink: 0; }
.cvc-docs-mobile-toc { display: none; }
.cvc-docs-body { min-width: 0; counter-reset: article; line-height: 1.65; }
.cvc-docs-body h1 { font-size: 39px; letter-spacing: -.4px; line-height: 1.15; }
.cvc-docs-heading { border-bottom: 1px solid #e0e6e2; padding-bottom: 22px; margin-bottom: 24px; }
.cvc-docs-updated { margin: 13px 0 0; color: #6e7873; font-size: 12px; }
.cvc-docs-body > section { margin-top: 28px; scroll-margin-top: 95px; counter-increment: article; }
.cvc-docs-body > section > h2 { display: flex; gap: 20px; font-size: 27px; line-height: 1.3; margin-bottom: 12px; }
.cvc-docs-body > section > h2::before { content: counter(article) '.'; color: #788200; font-size: 21px; min-width: 23px; padding-top: 3px; }
.cvc-docs-body p, .cvc-docs-body li { overflow-wrap: anywhere; }
.cvc-docs-body > section > p { margin-left: 43px; max-width: 75ch; }
.cvc-docs-body h3 { font-size: 22px; }
.cvc-docs-code { position: relative; margin-bottom: 1rem; }
.cvc-docs-code pre { padding: 1rem 3rem 1rem 1rem; border: 1px solid #dce3df; border-radius: 4px; background: #eff2ed; font-size: 13px; line-height: 1.55; overflow-x: auto; }
.cvc-docs-copy { position: absolute; top: .5rem; right: .5rem; }
.cvc-docs-table { font-size: 14px; --bs-table-bg: #fff; }
.cvc-docs-table th { color: #004901; font-weight: 500; }
.cvc-docs-table td, .cvc-docs-table th { padding: 10px 12px; }
.cvc-docs-table td:first-child code { white-space: nowrap; }
.cvc-docs-related { border-top: 1px solid #d8e1dc; margin-top: 32px; padding-top: 22px; }
.cvc-docs-related h2 { font-size: 20px; }
.cvc-docs-related nav { display: flex; flex-wrap: wrap; gap: 15px 26px; font-size: 14px; }
.cvc-docs-back { display: inline-block; margin-top: 24px; font-size: 14px; }
.cvc-docs-operator { display: grid; grid-template-columns: minmax(150px,1fr) 2fr; gap: 12px 24px; background: #fff; border: 1px solid #dce3df; border-radius: 4px; padding: 22px; margin-top: 18px; font-size: 15px; }
.cvc-docs-operator dt { font-weight: 500; color: #004901; }
.cvc-docs-operator dd { margin: 0; overflow-wrap: anywhere; }
.cvc-docs-brand { display: flex; align-items: center; flex-wrap: wrap; gap: 30px; background: #fff; padding: 24px; border: 1px solid #dce3df; border-radius: 4px; }
.cvc-docs-logo { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.cvc-docs-logo img { object-fit: contain; }
.cvc-docs-brand ul { list-style: none; padding: 0; margin: 0; font-size: 15px; line-height: 2.2; }
.cvc-docs-palette { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.cvc-docs-color { display: flex; align-items: center; text-align: left; gap: 13px; padding: 16px; color: #004901; background: #fff; border: 1px solid #dce3df; border-radius: 4px; }
.cvc-docs-color strong, .cvc-docs-color code { display: block; }
.cvc-docs-color strong { font-size: 15px; }
.cvc-docs-color code { font-size: 13px; color: #505663; }
.cvc-docs-swatch { width: 38px; height: 38px; flex-shrink: 0; border-radius: 3px; }
.cvc-docs-green .cvc-docs-swatch { background: #004901; }
.cvc-docs-olive .cvc-docs-swatch { background: #a2ac08; }
.cvc-docs a:focus-visible, .cvc-docs-hub a:focus-visible, .cvc-docs button:focus-visible, .cvc-docs summary:focus-visible { outline: 2px solid #004901; outline-offset: 3px; }
@media (max-width: 1199px) {
    .cvc-docs-layout { grid-template-columns: 240px minmax(0,1fr); gap: 26px; }
    .cvc-docs-card { padding: 20px; }
    .cvc-docs-policies-grid { gap: 16px; }
    .cvc-docs-policies-grid h3 { font-size: 20px; }
    .cvc-docs-body h1 { font-size: 35px; }
}
@media (max-width: 991px) {
    .cvc-docs-layout { display: block; }
    .cvc-docs-sidebar { display: none; }
    .cvc-docs-mobile-toc { display: block; border: 1px solid #dce3df; background: #fff; padding: 16px; border-radius: 4px; }
    .cvc-docs-toc ol { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 12px; }
    .cvc-docs-toc summary { margin: 0; cursor: pointer; }
    .cvc-docs-toc[open] summary { margin-bottom: 12px; }
    .cvc-docs-policies-grid { grid-template-columns: 1fr; }
    .cvc-docs-hub h1 { font-size: 37px; }
    .cvc-docs-body > section > p { margin-left: 0; }
    .cvc-docs-hub .lead { font-size: 18px; }
}
@media (max-width: 575px) {
    .cvc-docs-page #main-content { padding-bottom: 35px; }
    .cvc-docs, .cvc-docs-hub { padding-inline: 18px; font-size: 15px; }
    .cvc-docs-hub h1 { font-size: 32px; }
    .cvc-docs-hub h2 { font-size: 27px; }
    .cvc-docs-hub .lead, .cvc-docs-heading .lead { font-size: 17px; }
    .cvc-docs-hub-nav { font-size: 14px; gap: 24px; }
    .cvc-docs-nav { font-size: 14px; gap: 22px; }
    .cvc-docs-guide-grid, .cvc-docs-project-grid, .cvc-docs-palette { grid-template-columns: 1fr; gap: 16px; }
    .cvc-docs-card h3 { font-size: 22px; }
    .cvc-docs-platform p, .cvc-docs-platform .cvc-docs-inline-links { margin-left: 0; }
    .cvc-docs-inline-links { font-size: 14px; }
    .cvc-docs-breadcrumbs { font-size: 12px; }
    .cvc-docs-breadcrumbs li + li::before { margin-inline: 7px; }
    .cvc-docs-body h1 { font-size: 32px; }
    .cvc-docs-body > section > h2 { font-size: 25px; gap: 12px; }
    .cvc-docs-body > section > h2::before { font-size: 18px; min-width: 20px; }
    .cvc-docs-toc ol { grid-template-columns: 1fr; }
    .cvc-docs-toc a { padding: 8px; }
    .cvc-docs-operator { display: block; padding: 18px; }
    .cvc-docs-operator dd + dt { margin-top: 12px; }
    .cvc-docs-table { min-width: 520px; }
    .cvc-docs-related nav { flex-direction: column; align-items: flex-start; }
}
