
body { padding-top: 0 !important; }
.site-micro-header { position: sticky !important; top: 0 !important; }
body { --cp-hdr-h: 61px; }
body:has(.site-micro-header) { --cp-hdr-h: 91px; }
.site-header-fixed { position: sticky !important; top: 0 !important; }
body:has(.site-micro-header) .site-header-fixed { top: 30px !important; }
.header-spacer { display: none !important; }

.site-micro-loc { gap: 6px !important; padding: 2px 9px !important; border: 1px solid rgba(255, 255, 255, .28) !important; border-radius: 6px; color: #f5f5f7 !important; }
.site-micro-loc:hover, .site-micro-loc:focus-visible { border-color: rgba(255, 255, 255, .6) !important; }
.site-micro-loc:focus-visible { outline: 2px solid #7db8ff; outline-offset: 2px; }
.site-micro-chev { width: 5px; height: 5px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .8; }

body > .oc-top-banner { position: static; margin: 0 !important; padding: 12px 16px 14px; background: transparent; }
body > .oc-top-banner:has([data-ad-status="unfilled"]) { padding: 0; }

@media screen and (min-width: 1200px) {
  .cdp-layout:has(> .cp-sn),
  .cdp-tool-shift:has(> .cp-sn) {
    display: grid !important;
    grid-template-columns: 248px 32px minmax(0, 1fr) 24px 320px !important;
    grid-template-rows: auto !important;
    grid-auto-flow: row;
    align-items: start !important;
    gap: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 24px 16px 0 24px !important;
    box-sizing: border-box;
  }
  .cdp-layout:has(> .cp-sn) > *,
  .cdp-tool-shift:has(> .cp-sn) > * { grid-column: 3 !important; min-width: 0; }
  .cdp-layout:has(> .cp-sn) > .cp-sn,
  .cdp-tool-shift:has(> .cp-sn) > .cp-sn { grid-column: 1 !important; grid-row: 1 !important; }
  .cdp-layout:has(> .cp-sn) > .cdp-main,
  .cdp-tool-shift:has(> .cp-sn) > .cdp-tool-body {
    grid-row: 1 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    flex: none !important;
  }
  .cdp-layout:has(> .cp-sn) > .cdp-sidebar,
  .cdp-tool-shift:has(> .cp-sn) > .cdp-tool-sidebar {
    grid-column: 5 !important;
    grid-row: 1 !important;
    position: sticky !important;
    top: calc(var(--cp-hdr-h) + 25px) !important;
    align-self: start !important;
    width: 320px !important;
    max-width: 320px !important;
    margin: 0 !important;
  }
  .cdp-layout:has(> .cp-sn) > .cdp-sidebar { display: flex !important; }
  .cdp-tool-shift:has(> .cp-sn) > .cdp-tool-sidebar { display: block !important; }
}

body:has(.cp-sn) .cal-year-hero { margin-top: 0 !important; margin-bottom: 0 !important; }
body:has(.cp-sn) main > .cdp-layout, body:has(.cp-sn) main > .cdp-tool-shift { margin-top: 0 !important; }
.skip-link:not(:focus) { top: -200px !important; }

@media print {
  .cdp-layout:has(> .cp-sn), .cdp-tool-shift:has(> .cp-sn) { display: block !important; padding: 0 !important; }
}
.cp-sn { background: #fff; color: #1d1d1f; font-size: 14px; box-sizing: border-box; }
.cp-sn-close, .cp-sn-open { font: inherit; cursor: pointer; }
.cp-sn-k { margin: 0 0 6px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5f6368; }
.cp-sn-tool { background: #f2f7ff; border-bottom: 1px solid #d6e6fb; padding: 14px 14px 12px; display: flex; flex-direction: column; gap: 6px; }
.cp-sn-tool .cp-sn-k + * { margin-bottom: 6px; }
.cp-sn-mc { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; text-align: center; font-size: 12px; font-variant-numeric: tabular-nums; }
.cp-sn-mc b { font-size: 10.5px; color: #5f6368; font-weight: 600; }
.cp-sn-mc span { padding: 3px 0; border-radius: 5px; }
.cp-sn-mc .w { color: #80868b; }
.cp-sn-mc .h { color: #b3261e; font-weight: 700; }
.cp-sn-mc .t { background: #0071e3; color: #fff; font-weight: 700; }
.cp-sn-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.cp-sn-list li { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 5px 0; border-top: 1px solid #dfe8f5; font-size: 13px; line-height: 1.35; }
.cp-sn-list li:first-child { border-top: 0; }
.cp-sn-list b { white-space: nowrap; font-variant-numeric: tabular-nums; }
.cp-sn-note { margin: 2px 0 0; font-size: 12px; color: #5f6368; }
.cp-sn-trib { margin: 0 0 6px; font-weight: 700; font-size: 13.5px; }
.cp-sn-freq li { padding: 0; }
.cp-sn-freqbtn { display: flex; width: 100%; justify-content: space-between; align-items: baseline; gap: 10px; padding: 6px 0; border: 0; background: none; color: #1d1d1f; text-align: left; font-size: 13px; line-height: 1.35; cursor: pointer; }
.cp-sn-freqbtn:hover span { text-decoration: underline; color: #0058b0; }
.cp-sn-freqbtn:focus-visible { outline: 2px solid #0071e3; outline-offset: 1px; }
.cp-sn-nav { padding: 12px 8px 16px; }
.cp-sn-k--nav { padding: 0 8px; }
.cp-sn-g summary { list-style: none; display: flex; align-items: center; gap: 9px; min-height: 40px; padding: 4px 8px; border-radius: 8px; font-weight: 700; cursor: pointer; }
.cp-sn-g summary::-webkit-details-marker { display: none; }
.cp-sn-g summary > i:first-child { width: 16px; text-align: center; color: #0058b0; font-size: 13px; }
.cp-sn-g summary:hover { background: #f1f4f8; }
.cp-sn-g summary:focus-visible { outline: 2px solid #0071e3; outline-offset: -2px; }
.cp-sn-n { margin-left: auto; font-size: 11.5px; color: #5f6368; font-weight: 600; }
.cp-sn-g[open] summary { color: #0058b0; }
.cp-sn-g ul { list-style: none; margin: 0 0 6px; padding: 0 0 0 25px; }
.cp-sn-g a { display: block; padding: 6px 10px; border-radius: 7px; color: #3c4043; text-decoration: none; line-height: 1.3; }
.cp-sn-g a:hover { background: #f1f4f8; color: #1d1d1f; }
.cp-sn-g a.is-current { background: #e7f1fd; color: #0058b0; font-weight: 700; }
.cp-sn-g a:focus-visible { outline: 2px solid #0071e3; outline-offset: -2px; }

.cp-sn-dhead, .cp-sn-loc, .cp-sn-bar { display: none; }
.cp-sn-loc { font: inherit; text-align: left; cursor: pointer; }

@media screen and (min-width: 1200px) {
  .cp-sn { position: sticky; top: calc(var(--cp-hdr-h, 91px) + 25px); align-self: start; max-height: calc(100vh - var(--cp-hdr-h, 91px) - 41px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; background: transparent; border-right: 1px solid #dde3ea; padding-right: 8px; }
  .cp-sn-tool { border: 1px solid #d6e6fb; border-radius: 12px; padding: 12px 10px 10px; }
  .cp-sn-nav { padding: 14px 0 16px; }
  .cp-sn-open, .cp-sn-close, .cp-sn-scrim, .cp-sn-bar { display: none !important; }
}
.cp-sn-cv { font-size: 10px; color: #80868b; transform: rotate(90deg); transition: transform .15s ease; }
.cp-sn-g[open] .cp-sn-cv { transform: rotate(-90deg); }
@media (max-width: 1199px) {
  .cp-sn-bar { display: block; padding: 16px 16px 12px; }
  .cp-sn-open { position: relative; z-index: 5; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; margin: 0; padding: 0 16px; border: 1px solid #d2d2d7; border-radius: 999px; background: #fff; color: #1d1d1f; font-size: 14px; font-weight: 600; }
  .cp-sn-open i { color: #0058b0; }
  .cp-sn-open:focus-visible { outline: 2px solid #0071e3; outline-offset: 2px; }
  .cp-sn { position: fixed; top: 0; bottom: 0; left: 0; z-index: 10060; width: min(320px, 86vw); overflow-y: auto; overscroll-behavior: contain; transform: translateX(-102%); visibility: hidden; transition: transform .2s ease, visibility 0s linear .2s; box-shadow: 0 0 40px rgba(0, 0, 0, .25); }
  .cp-sn.is-open { transform: none; visibility: visible; transition: transform .2s ease; }
  html.cp-sn-locked, body.cp-sn-locked { overflow: hidden !important; }
  .cp-sn-dhead { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 8px 8px 16px; border-bottom: 1px solid #e2e8f0; position: sticky; top: 0; background: inherit; z-index: 1; }
  .cp-sn-dtitle { font-weight: 700; font-size: 15px; }
  .cp-sn-close { width: 40px; height: 40px; border: 0; border-radius: 10px; background: #f1f4f8; color: #1d1d1f; }
  .cp-sn-close:focus-visible { outline: 2px solid #0071e3; outline-offset: 2px; }
  .cp-sn-loc { display: flex; flex-direction: column; gap: 2px; width: 100%; padding: 12px 16px; border: 0; border-bottom: 1px solid #e2e8f0; background: none; color: #1d1d1f; }
  .cp-sn-loc .cp-sn-k { margin: 0; }
  .cp-sn-locv { font-weight: 700; color: #0058b0; }
  .cp-sn-loc:focus-visible { outline: 2px solid #0071e3; outline-offset: -2px; }
  .cp-sn-scrim { position: fixed; inset: 0; z-index: 10059; background: rgba(0, 0, 0, .4); }
}
@media (prefers-reduced-motion: reduce) { .cp-sn, .cp-sn-cv { transition: none; } }
@media print { .cp-sn, .cp-sn-bar, .cp-sn-open, .cp-sn-scrim { display: none !important; } }

body.dark-mode .cp-sn { background: #1c1c1e; color: #f5f5f7; border-right-color: #2c2c2e; }
body.dark-mode .cp-sn-k, body.dark-mode .cp-sn-n, body.dark-mode .cp-sn-note, body.dark-mode .cp-sn-mc b { color: #a1a1a6; }
body.dark-mode .cp-sn-tool { background: #16202c; border-bottom-color: #2c3e55; }
body.dark-mode .cp-sn-list li { border-top-color: #2c3e55; }
body.dark-mode .cp-sn-mc .w { color: #8e8e93; }
body.dark-mode .cp-sn-mc .h { color: #ff8a80; }
body.dark-mode .cp-sn-freqbtn { color: #f5f5f7; }
body.dark-mode .cp-sn-freqbtn:hover span { color: #7db8ff; }
body.dark-mode .cp-sn-g summary > i:first-child, body.dark-mode .cp-sn-g[open] summary { color: #7db8ff; }
body.dark-mode .cp-sn-g summary:hover, body.dark-mode .cp-sn-g a:hover { background: #2c2c2e; }
body.dark-mode .cp-sn-g a { color: #d1d1d6; }
body.dark-mode .cp-sn-g a.is-current { background: #1e3550; color: #7db8ff; }
body.dark-mode .cp-sn-open, body.dark-mode .cp-sn-close { background: #2c2c2e; border-color: #3a3a3c; color: #f5f5f7; }
body.dark-mode .cp-sn-dhead, body.dark-mode .cp-sn-loc { border-color: #2c2c2e; color: #f5f5f7; }
body.dark-mode .cp-sn-locv { color: #7db8ff; }
body.dark-mode .cp-sn-cv { color: #a1a1a6; }
@media screen and (min-width: 1200px) {
  body.dark-mode .cp-sn { background: transparent; border-right-color: #3a3a3c; }
  body.dark-mode .cp-sn-tool { border-color: #2c3e55; }
}

@media screen and (min-width: 1200px) {
  body:not(:has(.site-micro-header)) .cp-sn-loc { display: flex; flex-direction: column; gap: 2px; width: 100%; margin: 0 0 12px; padding: 10px 12px; border: 1px solid #dde3ea; border-radius: 12px; background: none; color: inherit; }
  body:not(:has(.site-micro-header)) .cp-sn-loc .cp-sn-k { margin: 0; }
  body:not(:has(.site-micro-header)) .cp-sn-locv { font-weight: 700; color: #0058b0; }
  body.dark-mode:not(:has(.site-micro-header)) .cp-sn-loc { border-color: #3a3a3c; }
  body.dark-mode:not(:has(.site-micro-header)) .cp-sn-locv { color: #7db8ff; }
}
