/* Course pages (canvas/*/course.html): brings the module-by-module course pages onto the
   website style guide. Loaded AFTER each page's inline <style>, so these rules win.
   One box only: the purple course title and the purple module bars. Everything else is
   plain text with headings, lists and tables. Instructor notes use the grey rail. */
body{font-family:'DM Sans',Arial,sans-serif;font-size:15px;color:#26221f;line-height:1.65}
h1,h2,h3,h4,.mnum,.ltitle,.banner h1{font-family:'Lora',Georgia,serif}
main,.wrap{max-width:1000px;margin:0 auto;padding:2.4rem 1.5rem 1.4rem}
/* tabs: plain text, underline under the word only */
.tabs{border-bottom:1px solid #d9c9e0;margin:0 0 1.7rem;display:flex;flex-wrap:wrap;gap:.35rem 1.4rem}
.tabs a.tab{font-family:'DM Sans',sans-serif;font-size:.9rem;font-weight:500;letter-spacing:.02em;line-height:1.1;color:#6d635f;padding:0 0 .05rem;margin-bottom:-1px;border-bottom:2px solid transparent;text-decoration:none}
.tabs a.tab:hover,.tabs a.tab[aria-current='page']{color:#7a5080;border-bottom-color:#7a5080;font-weight:500}
/* the one title box */
.banner{background:#7a5080;color:#fff;padding:1.4rem 1.6rem;border-radius:8px;margin:0 0 1.4rem}
.banner h1{font-family:'Lora',Georgia,serif;font-size:1.9rem;font-weight:600;color:#fff;margin:0;line-height:1.15}
.banner p{font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:600;letter-spacing:.08em;color:#fff;margin:.4rem 0 0}
/* type */
p,li{font-size:1.03rem;line-height:1.6}
p{margin:0 0 .9rem}
h2,.aibox h2,h2.sec,.instructor-zone h2,h2.tbox{font-family:'Lora',Georgia,serif;font-size:1.2rem;font-weight:600;color:#456546;text-transform:none;letter-spacing:0;background:none;border-radius:0;padding:0;margin:2.2rem 0 .6rem}
.lbody h3.modsec,.instr h3,.instructor-zone h3{font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6d635f;border:0;padding:0;margin:1.6rem 0 .4rem}
.lbody h4,.part h4,.instructor-zone h4,.lbody .el h4{font-family:'DM Sans',sans-serif;font-size:1.03rem;font-weight:700;color:#26221f;margin:1.2rem 0 .3rem}
.lbody p,.lbody li,.aibox p,.aibox li,.timebox p,.part p,.part li,.lbody .el p,.lbody .el li,.instrnote li,.instr li,.lbody .instrnote li{font-size:1.03rem;line-height:1.6;color:#26221f}
b,strong,.timebox b,.lbody .el>b:first-child,.lbody .el p.ih b,.lbody .el b,.lbody .dl b,.due b,.resnote b,.instrnote>b:first-child,.lbody .instrnote>b:first-child{font-family:inherit;color:inherit;font-weight:700}
/* no boxes */
.timebox,.aibox,.lbody .el,.lbody .el.inter,.lbody .el.sim,.lbody .due,.lbody .dl,.due,.dl,.part,.jump,.resnote{background:none;border:0;border-radius:0;padding:0;margin:0 0 1.1rem;font-size:1.03rem;color:#26221f}
.lbody .el{margin:1.3rem 0}
.lbody .el p.ih{margin:0 0 .3rem;font-size:1.03rem}
/* instructor notes: grey rail, not a box */
.instrnote,.lbody .instrnote,.instr,.instructor-zone .instr{background:none;border:0;border-left:3px solid #6d635f;border-radius:0;padding:.1rem 0 .1rem 1rem;margin:1rem 0 1.4rem;color:#26221f;font-size:1.03rem}
.instrnote p.inh{font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6d635f;margin:0 0 .3rem}
.instructor-zone{border-top:1px solid #d9c9e0;margin-top:2.4rem;padding-top:.6rem}
/* lists: bullet at the margin, wrapped text lines up under the first word */
main ul,.wrap ul{list-style:none;padding:0 0 0 1.25rem;margin:.3rem 0 1.1rem}
main ul>li,.wrap ul>li{position:relative;margin:0 0 .45rem}
main ul>li::before,.wrap ul>li::before{content:"\2022";color:#456546;font-weight:700;position:absolute;left:-1.25rem}
main ol,.wrap ol{list-style:decimal;padding:0 0 0 1.5rem;margin:.3rem 0 1.1rem}
main ol>li,.wrap ol>li{margin:0 0 .45rem}
main ol>li::before{content:none}
/* lists that are not bullet lists */
.tabs ul,.site-nav ul,.foot-links ul,.lbody ul.obj,.lbody ol.obj,.toc ul,.jump ul{list-style:none;padding:0;margin:.3rem 0 1.1rem}
.lbody ul.obj>li::before,.toc li::before,.jump li::before,.lbody ol.obj>li::before{content:none}
.lbody ul.obj li b{color:#456546}
ul.out li{padding:.35rem 0 .35rem 2.4rem;border-bottom:1px solid #d9c9e0}
ul.out li::before,ul.out li:before{background:none;color:#456546;font:700 .95rem 'DM Sans',sans-serif;padding:0;left:0;top:.4rem}
.toc a,.jump a{font-weight:500}
/* labels are text, not pills */
.lbody .chip,.lbody .chip.open,.lbody .chip.link,.lbody .chip.mine,.lbody .chip.todo{background:none;border:0;padding:0;margin-left:.4rem;font-size:.875rem;font-weight:600;color:#6d635f}
/* tables */
table,table.dt,.lbody table,.aibox table{font-size:1rem;border-collapse:collapse;width:100%}
th,td,table.dt th,table.dt td{font-family:'DM Sans',sans-serif;text-align:left;padding:.5rem .55rem;border:0;border-bottom:1px solid #d9c9e0;vertical-align:top;font-size:1rem}
th,table.dt th{font-weight:600;color:#26221f;background:#f7f4f8;text-transform:none;letter-spacing:0}
th[scope=row],table.dt tbody th{background:#fff;font-weight:600;width:auto}
caption,table.dt caption{font-family:'DM Sans',sans-serif;font-weight:700;color:#26221f;font-size:1rem}
/* module bars: the collapsed modules keep their purple bar */
details.lesson{border:1px solid #d9c9e0;border-radius:8px;margin:0 0 .75rem}
details.lesson>summary{background:#7a5080;padding:.8rem 1.1rem}
.mnum{font-family:'DM Sans',sans-serif;font-size:.875rem;font-weight:700;color:#fff;letter-spacing:.04em}
.ltitle{font-family:'Lora',Georgia,serif;font-size:1.08rem;font-weight:600;color:#fff}
.mwk,.mwk-t{font-family:'DM Sans',sans-serif;font-size:.875rem;color:#fff}
.lbody{padding:.6rem 1.25rem 1.2rem}
.lbody a,.aibox a,a{color:#7a5080}
.lbody a{font-weight:500}
blockquote,.aibox blockquote{border-left:3px solid #6d635f;padding:.1rem 0 .1rem 1rem;margin:.6rem 0 1rem;color:#26221f;font-size:1.03rem}
.small{font-size:.9375rem;color:#6d635f}
.viewbar{font-family:'DM Sans',sans-serif}
@media(max-width:520px){main,.wrap{padding:1.6rem 1rem 1.2rem}.banner h1{font-size:1.6rem}.lbody{padding:.5rem .9rem 1rem}}
/* list margins: beat the older per-box rules so every list starts at the text margin */
.lbody ul,.lbody ol,.aibox ul,.aibox ol,.timebox ul,.part ul,.part ol,.instrnote ul,.instrnote>ul,.lbody .instrnote ul,.instr ul,.lbody .el ul,.lbody .el ol,.dl ul,.after ul{margin-left:0;margin-right:0}
.lbody ul,.aibox ul,.part ul,.instrnote ul,.instrnote>ul,.lbody .instrnote ul,.instr ul,.lbody .el ul,.dl ul{padding-left:1.25rem}
.lbody ol,.aibox ol,.part ol,.lbody .el ol{padding-left:1.5rem}
/* jump and table-of-contents lists: bullets at the margin like every other list */
main .jump ul,main .toc ul{padding-left:1.25rem;margin-left:0}
/* every h3 in a course page uses the site H3: small grey caps, no rule under it */
html body main h3:not(.vh),html body .wrap h3:not(.vh){font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6d635f;border:0;padding:0;margin:1.6rem 0 .4rem}
html body main summary h3,html body main h3[style]{font-family:'Lora',Georgia,serif;font-size:1.08rem;letter-spacing:0;text-transform:none;color:#fff;margin:0}
/* page title strips copied from Canvas pages inside a module: plain heading here, the module bar is the box */
.lbody div[style*="background-color:#7a5080"]{background:none!important;padding:0!important;margin:1.6rem 0 .5rem!important;border-top:1px solid #d9c9e0!important;padding-top:1rem!important}
html body .lbody div[style*="background-color:#7a5080"] h3[style]{color:#26221f!important;font-family:'Lora',Georgia,serif;font-size:1.1rem!important}
/* inline Canvas styles inside modules: deadline boxes become plain text, tables use the site rules */
.lbody div[style*="border:2px solid #7a5080"],.lbody p[style*="border:2px solid #7a5080"]{background:none!important;border:0!important;padding:0!important;margin:.6rem 0 1rem!important}
.lbody th[style*="border:1px solid #999999"],.lbody td[style*="border:1px solid #999999"]{border:0!important;border-bottom:1px solid #d9c9e0!important;padding:.5rem .55rem!important}
.lbody th[style*="background-color:#f2f2f2"]{background:#f7f4f8!important}
/* list classes from the course builds: same bullets, same size, no boxes or rules */
html body main .lbody ul.oer,html body main .lbody ul.due{list-style:none;background:none;border:0;border-radius:0;padding:0 0 0 1.25rem;margin:.3rem 0 1.1rem}
html body main .lbody ul.oer li,html body main .lbody ul.due li{font-size:1.03rem;line-height:1.6;padding:0;margin:0 0 .45rem;border:0}
html body main .lbody p.measures{border:0;padding:0}
html body main .lbody p.meas,html body main .lbody p.meta,html body main .lbody p.dlh,html body main .lbody p.small{font-size:1.03rem;color:#26221f;font-weight:400}
html body main .lbody p.meta{color:#6d635f}
html body main caption,html body main table.dt caption,html body main caption[style]{color:#26221f!important;font-family:'DM Sans',sans-serif;font-weight:700;font-size:1rem}
html body main .lbody .el p.ih b{color:#26221f;font-family:inherit}
html body main .lbody ul.obj li b,html body main .lbody ol.obj li b{color:#456546}
/* One view only: instructor notes always show, as one box per module. No view switcher. */
.viewbar{display:none!important}
[data-instr],body:not(.show-notes) .instrnote,.instrnote,.lbody .instrnote,.instr{display:block!important}
.instrnote,.lbody .instrnote,.instr,.instructor-zone .instr{background:#f7f4f8!important;border:1px solid #d9c9e0!important;border-radius:8px!important;padding:.9rem 1.1rem .6rem!important;margin:.6rem 0 1.4rem!important}
/* Instructor notes: one collapsible box per module (<details class="instrnote"><summary>Instructor notes</summary>…</details>) */
details.instrnote{background:#f7f4f8!important;border:1px solid #d9c9e0!important;border-radius:8px!important;padding:0!important;margin:.6rem 0 1.4rem!important}
details.instrnote>summary{cursor:pointer;list-style:none;font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6d635f;padding:.75rem 1.1rem}
details.instrnote>summary::-webkit-details-marker{display:none}
details.instrnote>summary::before{content:"\25B8" / "";margin-right:.45rem}
details.instrnote[open]>summary::before{content:"\25BE" / ""}
details.instrnote>summary:focus-visible{outline:3px solid #7a5080;outline-offset:2px}
details.instrnote>.inbody{padding:0 1.1rem .8rem}
details.instrnote h4{font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:700;color:#26221f;margin:.8rem 0 .3rem}

/* ---- Breadcrumbs: Home > section > page, directly above the H1 inside main.
   Small muted DM Sans, plum links, no boxes. The negative top margin and small
   bottom gap cancel the crumb's own height, so the H1 stays at its standard spot.
   The separator is CSS content with empty alt text, so screen readers skip it. ---- */
nav.crumbs{font-family:'DM Sans',sans-serif;font-size:.78rem;line-height:1.4;color:var(--muted,#6d635f);margin:-1.5rem 0 .4rem;max-width:none;background:none;border:0;padding:0}
nav.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;max-width:none}
main nav.crumbs ol li{list-style:none;margin:0;padding:0;font-size:.78rem;line-height:1.4;color:var(--muted,#6d635f)}
main nav.crumbs ol li::marker{content:""}
main nav.crumbs ol li::before{content:none}
main nav.crumbs ol li+li::before{content:"\203A";content:"\203A" / "";position:static;margin:0 .45rem;color:var(--muted,#6d635f);font-weight:400}
nav.crumbs a,nav.crumbs a:link,nav.crumbs a:visited{color:var(--plum,#7a5080);text-decoration:none;border:0;padding:0}
nav.crumbs a:hover{text-decoration:underline}
/* course pages: the crumb sits above the tab bar, so give the tabs a little air */
main nav.crumbs + nav.tabs{margin-top:.7rem}
