/* The 44 checks page. Also linked by credit-unions.html for the rules table. */

.page-head h1 { max-width: 21ch; }

/* Tally of levels per charter */
.tally { margin-top: 40px; }
.tally table.form td .lvl { font-size: 10.5px; }
.tally td.n { font: 600 20px var(--mono); color: var(--ink); white-space: nowrap; }

/* Rule tables */
.rules { margin-top: 28px; }
.rules + .rules { margin-top: 36px; }
.rules table.form { table-layout: fixed; }
.rules th.no, .rules td.no { width: 64px; }
.rules th.lv, .rules td.lv { width: 172px; }
.rules td.no { font: 500 13px var(--mono); color: var(--ink-3); padding-top: 17px; }
.rules td b { display: block; font-size: 16px; line-height: 1.35; letter-spacing: -.005em; }
.rules td .why { display: block; margin-top: 4px; font-size: 14.5px; line-height: 1.5; }
.rules td .src { display: block; margin-top: 8px; font: 400 12px/1.5 var(--mono); color: var(--ink-3); }
.rules td .src::before { content: "Rule: "; color: var(--ink-2); font-weight: 500; }
.rules td .src.house::before { content: "Source: "; }
.rules td .note { display: block; margin-top: 6px; font: 400 12px/1.5 var(--mono); color: var(--ink-3); }
.rules td .lvl { font-size: 10.5px; padding: 3px 7px; }
.lvl.na { background: transparent; color: var(--ink-3); border: 1px dashed var(--rule); }
.rules .boxed-h b { font-weight: 600; color: var(--ink); }

/* Group index under Part 4 */
.groups { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 8px; }
.groups a { font: 500 12.5px var(--mono); border: 1px solid var(--rule); background: #fff; padding: 5px 10px; }
.groups a:hover { border-color: var(--ink); }
.groups a span { color: var(--ink-3); margin-left: 6px; }

/* Worked example extras */
.fixlist { list-style: none; margin-top: 10px; }
.fixlist li { display: grid; grid-template-columns: 54px minmax(0, 1fr); padding: 8px 0; border-top: 1px dotted var(--rule); font-size: 15px; color: var(--ink-2); line-height: 1.5; }
.fixlist li span { font: 500 12px var(--mono); color: var(--ink-3); padding-top: 2px; }
.fixlist li b { color: var(--ink); font-weight: 600; }

/* Disclaimer */
.disclaim { margin-top: 40px; border: 1px dashed var(--ink-3); padding: 18px 22px; font-size: 15px; color: var(--ink-2); max-width: 46em; }
.disclaim b { font: 600 11px var(--mono); text-transform: uppercase; letter-spacing: .05em; color: var(--ink); display: block; margin-bottom: 6px; }
.disclaim a { text-decoration: underline; color: var(--ink); }

@media (max-width: 760px) {
  .rules table.form, .rules tbody { display: block; }
  .rules thead { display: none; }
  .rules tr { display: grid; grid-template-columns: 44px minmax(0, 1fr); border-bottom: 1px solid var(--rule-2); padding: 14px 16px; }
  .rules tr:last-child { border-bottom: 0; }
  .rules td { display: block; border: 0 !important; padding: 0 !important; width: auto !important; }
  .rules td.no { grid-row: span 3; padding-top: 2px !important; }
  .rules td.lv { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
  .rules td.lv + td.lv { margin-top: 6px; }
  .rules td.lv::before { content: attr(data-l); font: 500 10.5px var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3); width: 104px; flex: none; }
  .tally table.form td, .tally table.form th { padding: 10px 12px; }
  .fixlist li { grid-template-columns: 46px minmax(0, 1fr); }
}

.subnote { margin-top: 16px; font-size: 14px; color: var(--ink-2); max-width: 46em; }
.subnote a { text-decoration: underline; color: var(--ink); }
