/* FreeTaxResources.com styles. Edit freely: the build does not touch this file. */
:root { --navy: #003d96; --navy-dark: #002b6b; --orange: #f57c00; --band: #edf2fa; --line: #d3dcec; }
body { margin: 0; background: #fff; color: #222; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; }
a { color: var(--navy); text-decoration: none; }
a:visited { color: #6a3d9a; }
a:hover { text-decoration: underline; color: var(--orange); }
ul { list-style: none; margin: 0; padding: 0; }
.wrap { max-width: 1800px; margin: 0 auto; padding: 0 14px; }

/* body: folder tabs on the left, newswire on the right (below on narrow screens) */
#mainrow { display: flex; align-items: flex-start; gap: 18px; }
#mainleft { flex: 1; min-width: 0; }
#news { flex: none; width: 290px; margin-top: 18px; position: sticky; top: 10px; max-height: calc(100vh - 20px);
        display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 0px; background: #fff; overflow: hidden; }
#news header { background: var(--navy); color: #fff; padding: 8px 10px 6px; }
#news h2 { margin: 0; font-size: 15px; letter-spacing: .3px; }
#news h2 .live { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; background: var(--orange); vertical-align: 1px; }
#newsfilter { display: flex; gap: 4px; margin-top: 6px; }
#newsfilter button { flex: 1; padding: 2px 0; border: 1px solid rgba(255, 255, 255, .5); border-radius: 3px; background: transparent; color: #fff; font-size: 12px; cursor: pointer; }
#newsfilter button[aria-pressed="true"] { background: #fff; color: var(--navy); font-weight: bold; }
#newslist { overflow-y: auto; padding: 0 10px; }
#newslist li { padding: 7px 0; border-bottom: 1px dotted #d6dbe6; line-height: 1.35; }
#newslist li[hidden] { display: none; }
#newslist a { font-size: 13px; }
.nmeta { display: block; margin-top: 2px; color: #777; font-size: 11px; }
.nmeta .ago { color: var(--orange); font-weight: bold; }
.nreg { margin-left: 4px; padding: 0 3px; border: 1px solid #c5cfe2; border-radius: 2px; color: #5b6b8c; font-size: 10px; }
#newsfoot { padding: 6px 10px; border-top: 1px solid var(--line); background: var(--band); color: #666; font-size: 11px; }
@media (max-width: 1000px) {
  #mainrow { flex-direction: column; align-items: stretch; }
  #news { width: auto; position: static; max-height: 460px; }
}

/* hero */
#hero { background: var(--band); border-bottom: 3px solid var(--orange); }
#hero .wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding-top: 12px; padding-bottom: 12px; }
#logo { margin: 0; line-height: 0; flex: none; }
#logo img { height: clamp(32px, 3.4vw, 48px); width: auto; display: block; }
#searchbox { flex: 1 1 340px; min-width: 260px; }
#sf { display: flex; gap: 6px; }
#q { flex: 1; min-width: 0; padding: 7px 9px; border: 1px solid #9fb3d6; border-radius: 4px; font-size: 15px; }
#q:focus { outline: 2px solid var(--orange); outline-offset: -1px; }
#scope { font-size: 13px; border: 1px solid #9fb3d6; border-radius: 4px; background: #fff; }
#sf button { padding: 0 14px; border: 0; border-radius: 4px; background: var(--orange); color: #fff; font-size: 14px; font-weight: bold; cursor: pointer; }
#sf button:hover { background: #d96d00; }
#quick { margin-top: 6px; font-size: 13px; }
#quick li { display: inline; }
#quick li + li:before { content: " \00b7 "; color: #8a9bb8; }
#legend { font-size: 11px; color: #555; margin-top: 4px; }
#calbox { flex: none; display: flex; gap: 10px; align-items: center; font-size: 12px; }
.cal { border-collapse: collapse; font-size: 11px; background: #fff; border: 1px solid var(--line); }
.cal th { color: #8a9bb8; font-weight: normal; padding: 0 4px; }
.cal td { text-align: center; padding: 0 4px; }
.cal td.today { background: var(--navy); color: #fff; }
.cal td.past { color: #bbb; }
.cal td.due a { color: var(--orange); font-weight: bold; }
.cal td.today.due a { color: #fff; }
#caltext { max-width: 130px; line-height: 1.35; }
#caltext b a { color: var(--navy); }
#nextdue { margin: 4px 0 0; color: #444; }

/* main */
.ban { background: var(--band); border-top: 2px solid var(--navy); margin: 12px 0 4px; padding: 3px 6px; font-size: 14px; font-weight: bold; text-align: left; color: var(--navy); }
.ban a, .ban a:visited { color: var(--navy); }
/* manila-folder tabs, one panel per section */
:root { --manila: #f3e2b3; --manila-dark: #e3cc8c; --manila-edge: #b9995a; --paper: #fffdf7; }
.tabs { display: flex; align-items: flex-end; margin: 18px 0 0; padding-left: 14px; overflow-x: auto; overflow-y: hidden; }
/* each tab is a trapezoid: the ::before shape is tilted back so it fans out at the bottom; the label stays upright */
.tab { position: relative; z-index: 1; margin: 0 0 -1px -14px; padding: 8px 28px 7px; border: 0; background: none; color: #5a4518;
       font: bold 14px "Helvetica Neue", Helvetica, Arial, sans-serif; white-space: nowrap; cursor: pointer; }
.tab::before { content: ""; position: absolute; inset: 0; z-index: -1; border: 1px solid var(--manila-edge); border-bottom: 0;
       border-radius: 9px 9px 0 0; background: linear-gradient(var(--manila), var(--manila-dark));
       box-shadow: 2px -1px 3px rgba(0, 0, 0, .1); transform: perspective(50px) rotateX(7deg); transform-origin: bottom; }
.tab:first-child { margin-left: 0; }
.tab:hover { color: var(--navy); }
.tab[aria-selected="true"] { z-index: 50; padding-top: 11px; color: var(--navy-dark); }
.tab[aria-selected="true"]::before { background: var(--paper); }
.tab:focus-visible { outline: none; }
.tab:focus-visible::before { border-color: var(--orange); box-shadow: 0 0 0 2px var(--orange); }
/* phones: a hamburger menu replaces the folder tabs */
.menubar { display: none; position: relative; margin-top: 14px; }
#menubtn { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px 12px; border: 1px solid var(--manila-edge); border-bottom: 0;
           border-radius: 8px 8px 0 0; background: linear-gradient(var(--manila), var(--manila-dark)); color: var(--navy-dark);
           font: bold 15px "Helvetica Neue", Helvetica, Arial, sans-serif; text-align: left; cursor: pointer; }
.burger, .burger::before, .burger::after { display: block; width: 18px; height: 2px; background: #5a4518; border-radius: 1px; }
.burger { position: relative; flex: none; }
.burger::before, .burger::after { content: ""; position: absolute; left: 0; }
.burger::before { top: -6px; } .burger::after { top: 6px; }
#menubtn[aria-expanded="true"] .burger { background: transparent; }
#menubtn[aria-expanded="true"] .burger::before { top: 0; transform: rotate(45deg); }
#menubtn[aria-expanded="true"] .burger::after { top: 0; transform: rotate(-45deg); }
#secmenu { position: absolute; z-index: 60; left: 0; right: 0; top: 100%; margin: 0; padding: 4px 0; list-style: none;
           background: var(--paper); border: 1px solid var(--manila-edge); border-radius: 0 0 8px 8px; box-shadow: 0 6px 14px rgba(0, 0, 0, .15); }
#secmenu[hidden] { display: none; }
.menuitem { display: block; width: 100%; padding: 11px 14px; border: 0; background: none; color: #5a4518; text-align: left;
            font: bold 15px "Helvetica Neue", Helvetica, Arial, sans-serif; cursor: pointer; }
.menuitem:hover, .menuitem:focus-visible { background: var(--manila); outline: none; }
.menuitem[aria-current="true"] { color: var(--navy-dark); box-shadow: inset 4px 0 0 var(--orange); }
.panel { position: relative; z-index: 10; background: var(--paper); border: 1px solid var(--manila-edge); border-radius: 0px;
         padding: 4px 16px 18px; box-shadow: 0 2px 6px rgba(0, 0, 0, .06); }
.sec[hidden] { display: none; }
@media (max-width: 600px) {
  .menubar { display: block; }
  .tabs { display: none; }
  .panel { border-radius: 0 0 8px 8px; }
}
.grid { display: grid; grid-template-columns: repeat(var(--ncols, 4), minmax(0, 1fr)); gap: 0 22px; }
.box ul { line-height: 1.5; padding: 0 2px; }
.box ul.two { columns: 2; column-gap: 10px; }
.box li { break-inside: avoid; }

/* tier markers */
sup.t { font-size: 9px; margin-left: 2px; font-weight: bold; }
.tP { color: #1a7f37; } .tS { color: #2a6fdb; } .tT { color: var(--orange); } .tU { color: #999; }
.badge { display: inline-block; min-width: 64px; margin-right: 6px; padding: 0 4px; border: 1px solid currentColor; border-radius: 3px; font-size: 11px; font-weight: bold; text-align: center; text-transform: lowercase; vertical-align: 1px; }
body.hidetiers sup.t { display: none; }

/* search view */
#searchview { display: none; }
body.searching #searchview { display: block; }
body.searching #cols { display: none; }
#filters { background: var(--band); border: 1px solid var(--line); padding: 5px 8px; font-size: 13px; display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: center; }
#filters label { white-space: nowrap; cursor: pointer; }
#filters .back { margin-left: auto; }
#localres li, #citeres li { padding: 3px 0; border-bottom: 1px dotted #ddd; }
#citeres a { font-weight: bold; }
.note { color: #666; font-size: 12px; }
.cat { color: #888; font-size: 12px; }
#setup { border: 1px solid #f3c58f; background: #fff6ea; padding: 8px 10px; font-size: 13px; line-height: 1.5; }
#gcse .gsc-control-cse { padding: 0; border: 0; }
#gcse .gs-title { line-height: 1.4; }
.tierhide-Primary #localres [data-tier="Primary"], .tierhide-Secondary #localres [data-tier="Secondary"],
.tierhide-Tertiary #localres [data-tier="Tertiary"], .tierhide-Unrated #localres [data-tier="Unrated"] { display: none; }
#webnote { margin: 0 0 6px; }

footer { margin-top: 28px; border-top: 3px solid var(--navy); background: var(--band); color: #444; font-size: 12px; text-align: center; padding: 12px 14px; line-height: 1.5; }
footer p { max-width: 900px; margin: 0 auto 6px; }
footer details { max-width: 900px; margin: 0 auto 6px; text-align: left; }
footer summary { text-align: center; cursor: pointer; color: var(--navy); }
@media (max-width: 640px) { #calbox { display: none; } }
