/* NAV1 (11 Oct 2026): the side menu for long pages. One file for every long page, English and Spanish. */
.sn{font-size:14.5px;line-height:1.4;color:var(--ink,#0E1A33);background:var(--surface,#fff);box-sizing:border-box}
.sn,.sn *{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}
.sn-title{margin:0 0 8px;font-weight:700;font-size:13px;letter-spacing:.08em;color:var(--ink-3,#5F6B82)}
.sn ul{list-style:none;margin:0;padding:0}
.sn ul ul{margin:2px 0 4px 10px;padding-left:8px;border-left:1px solid var(--rule,#DCE2EE)}
.sn li{margin:0;padding:0;position:relative}
.sn a{display:block;padding:5px 6px;color:var(--ink-2,#3A4660);text-decoration:none;border-radius:3px;overflow-wrap:break-word;word-break:normal;hyphens:manual}
.sn a:hover{background:var(--sea-soft,#E8EEF9);color:var(--ink,#0E1A33)}
.sn a:focus-visible,.sn-btn:focus-visible,.sn-tg:focus-visible,.sn-skip:focus-visible,.sn-back a:focus-visible{outline:2px solid var(--sea,#003399);outline-offset:2px}
.sn a[aria-current="location"]{color:var(--ink,#0E1A33);font-weight:700;background:var(--sea-soft,#E8EEF9);box-shadow:inset 3px 0 0 var(--sea,#003399)}
.sn > ul > li > a{font-weight:600;color:var(--ink,#0E1A33)}
.sn-skip{position:absolute;left:-9999px;top:0;background:var(--surface,#fff);color:var(--ink,#0E1A33);padding:8px 12px;z-index:10000;font:14px var(--display,system-ui,sans-serif)}
.sn-skip:focus{left:8px;top:8px}
.sn-back{margin:18px 0 6px;font:14px/1.3 var(--display,-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif)}
.sn-back a{color:var(--sea,#003399);text-decoration:underline;text-underline-offset:3px}
/* with JavaScript: each group has a button that opens and closes its items */
.sn.sn-js li.sn-g{padding-right:30px}
.sn.sn-js li.sn-g > ul{display:none}
.sn.sn-js li.sn-g.sn-open > ul{display:block}
.sn-tg{position:absolute;right:0;top:2px;width:28px;height:28px;border:0;background:transparent;cursor:pointer;color:var(--ink-2,#3A4660);border-radius:3px;padding:0}
.sn-tg:hover{background:var(--sea-soft,#E8EEF9)}
.sn-tg::before{content:"";display:block;width:7px;height:7px;margin:8px auto 0;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .12s}
.sn-open > .sn-tg::before{transform:rotate(45deg);margin-top:6px}
.sn-btn{display:none}
/* phone and narrow windows: the list sits at the top of the page behind a Contents button and opens over the page, so closing it moves nothing */
@media (max-width:1099.98px){
 .sn{position:relative;margin:12px auto;width:calc(100% - 24px);max-width:760px;border:1px solid var(--rule,#DCE2EE);border-radius:4px;padding:2px 4px}
 .sn.sn-js .sn-title{display:none}
 .sn.sn-js .sn-btn{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;padding:8px 10px;border:0;background:transparent;color:var(--ink,#0E1A33);font:600 16px -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;text-align:left;cursor:pointer}
 .sn.sn-js .sn-btn::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-4px 4px 0 8px;transition:transform .12s}
 .sn.sn-js .sn-btn[aria-expanded="true"]::after{transform:rotate(-135deg);margin-top:4px}
 .sn.sn-js .sn-list{display:none;position:absolute;left:-1px;right:-1px;top:100%;z-index:60;max-height:min(70vh,560px);overflow:auto;-webkit-overflow-scrolling:touch;background:var(--surface,#fff);border:1px solid var(--rule,#DCE2EE);border-radius:0 0 4px 4px;box-shadow:0 12px 28px rgba(0,0,0,.18);padding:6px 8px 10px}
 .sn.sn-js.sn-shown .sn-list{display:block}
 .sn:not(.sn-js){padding:8px 10px}
 .sn a{padding:9px 8px}
 /* SITE2 (20 Oct 2026; the owner 20 Oct 03:22, point 10): where the find bar sits above the Contents box (the long pages with a side menu), the box is as wide as the bar and starts at the same edge
    (the bar keeps 10 px each side; the box used to be centred at 760 px, narrower than the bar) */
 html body.fb-on:not(.fb-nomenu) nav.sn:not(:has(#fb)){margin:12px 10px;width:auto;max-width:none}
}
/* a computer: a sticky column on the left that keeps the reader's place */
@media (min-width:1100px){
 body.has-sn{padding-left:312px}
 .sn{position:fixed;left:0;top:0;bottom:0;width:300px;overflow:auto;padding:18px 12px 28px 16px;border-right:1px solid var(--rule,#DCE2EE);z-index:40;overscroll-behavior:contain}
 body:has(#hubbar) .sn{top:44px}
 .sn.sn-js .sn-btn{display:none}
}
h2[id],h3[id],h1[id]{scroll-margin-top:64px}
/* LANG3 (13 Oct 2026; LANG2F3-1 (b)): a page with this side menu does not also show the document's own contents rail; at computer width the two
   columns squeezed the text and cut off the right column of wide tables (front document, short version, texts). The side menu lists the same sections. */
@media (min-width:1100px){body.has-sn .shell>nav.rail{display:none!important}body.has-sn .shell{grid-template-columns:minmax(0,1fr)!important}body.has-sn .shell>.flow{grid-column:1!important}}
@media print{.sn,.sn-back,.sn-skip{display:none!important}body.has-sn{padding-left:0!important}}

/* WID1 (25 Oct 2026; the owner 25 Oct 14:58-15:12): on a computer the page sits next to the side menu and uses the width for tables, pictures and card grids;
   running text keeps its reading width. Phones and narrow windows (under 1100 px) are not touched. One block here, loaded by every page with this menu, English and Spanish.
   - the page's own column (the pages' .page, the hub's .wrap, a bare main, .shell) may be up to 1200 px and is centred in the space to the right of the menu (WID1E: equal space each side once the screen is wider than menu + column, never under the menu);
   - running text is held to a line of about 100 characters (62 of its own "0" widths; WID1E 26 Oct 2026, the owner 26 Oct 13:41 "1", was 56). It is set as a width, so a line is never longer than that and any smaller width a page sets itself still holds.
     Running text means: a paragraph with no class or with one of the text classes listed here, a quotation, a definition, a caption, and an item of a plain bullet or number list (a list with no
     class of its own, and the Laws in progress list of moved cards). Rows of buttons and labels, card lines, share and link rows and lists that have a class (rows, cards, chips, contents) keep their own widths; table cells are left alone,
     and a wide table still scrolls inside its own box. */
@media (min-width:1100px){
 body.has-sn{padding-right:12px}   /* WID1E: the menu is 300 px wide and the left padding 312 px, so 12 px on the right makes the column sit in the middle of the space right of the menu */
 body.has-sn .page{max-width:min(1200px,100%);margin-left:auto;margin-right:auto}
 body.has-sn .wrap:not(main#main){max-width:min(1200px,100%);margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px}   /* the hub's boxes that run out to the edge by 24 px each side need that much room */
 body.has-sn main:not(.wrap){max-width:min(1200px,100%);margin-left:auto;margin-right:auto}
 body.has-sn .shell,body.has-sn main#main.wrap{margin-left:auto;margin-right:auto}   /* the pages that already use the width stay next to the menu on a very wide screen too (their own largest width stands) */
 body.has-sn:has(main#main.lt2) header.mast .wrap{max-width:min(1120px,100%);padding-left:20px;padding-right:20px}   /* WID1EF1: Laws in progress keeps its own 1120 px column with 20 px padding (set in the page); the banner above it takes the same width and padding so the logo, title and the text below start on the same left edge */
 :where(body.has-sn) :where(p:not([class]),p[class="chg"],p.m,p.note,p.fn,p.alt,p.reason,p.cond,p.whyline,p.routeline,p.dek,p.card-chain,p.small,p.gov-credit,p.srcnote,p.s,p.intro,p.lede,p.stand,p.standfirst,p.seealso,p.statusline,p.ck-m,p.cd-how,p.pv,p.lhow,p.rg-note,p.srcfoot,p.src.ref,p.ft5l,p.askintro,pre.exact,p.when>span,div.full,div.df,div.plain,a.card>div.d,main>footer,ul.glegend>li>span,blockquote,dd,figcaption):not(:where(td,th,.sn,#fb,.sn-back,.qs,.toc,nav) *){width:min(100%,62ch)}
 :where(body.has-sn) p.gradeline>span.gwhy:not(:where(td,th,.sn,#fb,.sn-back,.qs,.toc,nav) *){width:min(100%,54ch)}   /* the grade label stands beside this text on the same line, so the text gets a little less */
 :where(body.has-sn) :where(ul:not([class]),ol:not([class]),ul.moved) > :where(li:not([class]),li.chg):not(:where(td,th,.sn,#fb,.sn-back,.qs,.toc,nav) *){width:min(100%,62ch)}
}
/* WID1 (25 Oct 2026; the owner 25 Oct 15:08 and 15:12, "option 1"): "Back to the menu" points at the menu, which is always on the screen from 1100 px; the link would do nothing, so it is hidden there. Phones keep it. */
@media (min-width:1100px){body.has-sn .sn-back{display:none}}
/* WID1B (26 Oct 2026; from WID1, the owner 25 Oct 15:01): the side menu's list scrolls only in the area below the find panel (findbox.css, topbar.css), so no item shows half-hidden under the panel's edge. */
