/*
Theme Name: Attorney Directory
Description: Georgia injury law on a yellow legal pad. The first screen asks what happened and what the reader needs now, and what is ticked keeps the articles that fit, filed by what happened. An article stands on a page with a red margin, beside its table of authorities: the Georgia code sections and court decisions it names. No web fonts, one small script on the first screen.
Version: 2.0.0
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: attorney-directory
*/

/* A desk under a yellow pad by day, the same pad under a low lamp at night: navy ink, a red margin, manila for the files. */
:root {
	--attdir-ground: #efece2;
	--attdir-paper: #fffbee;
	--attdir-ink: #15233a;
	--attdir-ink-soft: #4a5468;
	--attdir-link: #0f4a8c;
	--attdir-rule: #dcd6c6;
	--attdir-rule-strong: #7f8798;
	--attdir-focus: #a31f26;
	--attdir-navy: #15233a;
	--attdir-navy-rule: #7a88a2;
	--attdir-on-navy: #f6f3e7;
	--attdir-on-navy-soft: #d5dae6;
	--attdir-pad: #fbf3b8;
	--attdir-pad-line: #a9c6d9;
	--attdir-margin: #b92c32;
	--attdir-manila: #ead9ab;
	--attdir-on-manila: #2a2110;
	--attdir-tick: #15233a;
	--attdir-on-tick: #fbf3b8;
	--attdir-wood: #e4dcc8;
	--attdir-steel: #4b3a2a;
	--attdir-steel-band: #d9b65e;
	--attdir-head: "Baskerville Old Face", Baskerville, "Libre Baskerville", "Times New Roman", serif;
	--attdir-body: Charter, "Bitstream Charter", Cambria, "Sitka Text", Georgia, serif;
	--attdir-note: "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive;
	--attdir-ui: "Trebuchet MS", "Segoe UI", Verdana, sans-serif;
	color-scheme: light dark;
}

@media (prefers-color-scheme:dark) {
	:root {
		--attdir-ground: #12141b;
		--attdir-paper: #1c1f28;
		--attdir-ink: #f0ecdc;
		--attdir-ink-soft: #c2c4cf;
		--attdir-link: #a9cdf5;
		--attdir-rule: #343843;
		--attdir-rule-strong: #8a8f9d;
		--attdir-focus: #f0d560;
		--attdir-navy: #0b0d13;
		--attdir-navy-rule: #6e7788;
		--attdir-on-navy: #f6f3e7;
		--attdir-on-navy-soft: #d5dae6;
		--attdir-pad: #2a2810;
		--attdir-pad-line: #5c5a36;
		--attdir-margin: #e0636a;
		--attdir-manila: #4a3f22;
		--attdir-on-manila: #f4e8c6;
		--attdir-tick: #f0d560;
		--attdir-on-tick: #221f08;
		--attdir-wood: #171a22;
		--attdir-steel: #b79b78;
		--attdir-steel-band: #e6c56e;
	}
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 1rem; }
body { margin: 0; background: var(--attdir-ground); color: var(--attdir-ink); font-family: var(--attdir-body); font-size: 1.09rem; font-variant-numeric: lining-nums; line-height: 1.62; overflow-wrap: break-word; }
img, svg, video { max-width: 100%; height: auto; }
a { color: var(--attdir-link); text-underline-offset: 0.15em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--attdir-focus); outline-offset: 2px; }
h1, h2, h3 { font-family: var(--attdir-head); font-weight: 700; line-height: 1.14; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.attdir-skipto:focus { position: fixed !important; top: 8px; left: 8px; z-index: 20; width: auto; height: auto; margin: 0; padding: 0.7rem 1rem; clip: auto; white-space: normal; background: var(--attdir-paper); color: var(--attdir-ink); }
.attdir-lane { width: 100%; max-width: 76rem; margin: 0 auto; padding: 0 1rem; }
.attdir-slim { max-width: 46rem; }

/* The bar over every page */
.attdir-bench { background: var(--attdir-navy); color: var(--attdir-on-navy); }
.attdir-bench-in { display: flex; flex-wrap: wrap; align-items: center; gap: 0.3rem 1.1rem; padding-top: 0.4rem; padding-bottom: 0.4rem; }
.attdir-sign { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; margin-right: auto; color: var(--attdir-on-navy); font-family: var(--attdir-head); font-size: 1.24rem; font-weight: 700; text-decoration: none; }
.attdir-sign-mark { font-size: 1.5rem; line-height: 1; }
.attdir-bench-links ul { display: flex; flex-wrap: wrap; gap: 0 1rem; margin: 0; padding: 0; list-style: none; }
.attdir-bench-links a { display: inline-flex; align-items: center; min-height: 44px; color: var(--attdir-on-navy); font-family: var(--attdir-ui); font-size: 0.97rem; }
.attdir-lookup { display: flex; flex: 1 1 15rem; max-width: 22rem; }
.attdir-lookup-box { flex: 1 1 auto; width: 100%; min-width: 0; min-height: 44px; padding: 0 0.7rem; border: 1px solid var(--attdir-navy-rule); border-right: 0; background: var(--attdir-paper); color: var(--attdir-ink); font: 0.98rem var(--attdir-ui); }
.attdir-lookup-box::placeholder { color: var(--attdir-ink-soft); opacity: 1; }
.attdir-lookup-go { flex: none; min-height: 44px; min-width: 44px; padding: 0 0.9rem; white-space: nowrap; border: 1px solid var(--attdir-navy-rule); background: var(--attdir-pad); color: var(--attdir-ink); font: 700 0.98rem var(--attdir-ui); cursor: pointer; }

/* The first screen: the yellow pad on the desk */
.attdir-desk { padding: 1.1rem 0 1.5rem; background: var(--attdir-wood); }
.attdir-pad { position: relative; display: flow-root; padding: 2rem 1rem 1.1rem 2.1rem; border-top: 26px solid var(--attdir-navy); border-radius: 4px; background-color: var(--attdir-pad); background-image: linear-gradient(90deg, transparent 1.45rem, var(--attdir-margin) 1.45rem, var(--attdir-margin) calc(1.45rem + 2px), transparent calc(1.45rem + 2px)), repeating-linear-gradient(transparent 0 calc(2rem - 1px), var(--attdir-pad-line) calc(2rem - 1px) 2rem); background-position: 0 0, 0 -0.45rem; }
.attdir-gavel { display: block; float: right; width: 34%; max-width: 19rem; margin: 0 0 0.4rem 0.8rem; }
.attdir-g-block, .attdir-g-top, .attdir-g-head, .attdir-g-handle { fill: var(--attdir-steel); }
.attdir-g-band { fill: var(--attdir-steel-band); }
.attdir-over { margin: 0; font-family: var(--attdir-note); font-size: 1.04rem; line-height: 2rem; }
/* Each line of the question sits on a blue rule of the pad. */
.attdir-desk-title { max-width: 19em; margin: 0; font-size: 1.86rem; line-height: 2rem; }
.attdir-desk-lede { max-width: 44rem; margin: 0; font-size: 1.1rem; line-height: 2rem; }
.attdir-sums { display: flex; flex-wrap: wrap; gap: 0 1.3rem; margin: 0; padding: 0; list-style: none; font-family: var(--attdir-ui); font-size: 0.98rem; line-height: 2rem; }
.attdir-sum-n { font-family: var(--attdir-head); font-size: 1.42em; font-weight: 700; line-height: 1; }

/* The pad's own questions */
.attdir-pick { clear: both; margin-top: 0.5rem; }
.attdir-pick-set { display: flex; flex-wrap: wrap; gap: 0.32rem; min-width: 0; margin: 0 0 0.5rem; padding: 0; border: 0; }
.attdir-pick-set legend { padding: 0; font-family: var(--attdir-note); font-size: 1.14rem; font-weight: 700; line-height: 2rem; }
.attdir-tick { display: inline-flex; align-items: center; gap: 0.42rem; min-height: 44px; padding: 0 0.7rem; border: 1px solid var(--attdir-ink); background: var(--attdir-paper); color: var(--attdir-ink); font-family: var(--attdir-ui); font-size: 0.98rem; line-height: 1.2; cursor: pointer; }
.attdir-tick input { flex: none; width: 18px; height: 18px; margin: 0; accent-color: var(--attdir-tick); }
.attdir-tick:has(input:checked) { background: var(--attdir-tick); color: var(--attdir-on-tick); font-weight: 700; }
.attdir-pick-out { display: flex; flex-wrap: wrap; align-items: center; gap: 0.2rem 1rem; }
.attdir-pick-say { margin: 0; font-family: var(--attdir-note); font-size: 1.2rem; font-weight: 700; line-height: 1.5; }
.attdir-pick-say:empty { display: none; }
.attdir-pick-go { display: inline-flex; align-items: center; min-height: 44px; font-family: var(--attdir-ui); font-weight: 700; }
.attdir-pick-wipe { min-height: 44px; padding: 0 0.85rem; border: 1px solid var(--attdir-ink); background: transparent; color: var(--attdir-ink); font: 700 0.95rem var(--attdir-ui); cursor: pointer; }

/* Every article, in manila files */
.attdir-big { margin: 0 0 0.8rem; font-size: clamp(1.66rem, 3.4vw, 2.3rem); }
.attdir-parts { margin-top: 1.9rem; }
.attdir-files { display: grid; gap: 1.4rem; }
.attdir-part { min-width: 0; }
.attdir-part-tab { display: inline-block; margin: 0; padding: 0.3rem 1.1rem 0.25rem; border-radius: 8px 8px 0 0; background: var(--attdir-manila); color: var(--attdir-on-manila); font-size: 1.2rem; }
.attdir-part-in { padding: 0.5rem 0.9rem 0.4rem; border-top: 8px solid var(--attdir-manila); background: var(--attdir-paper); }
.attdir-dockets { margin: 0; padding: 0; list-style: none; }
.attdir-docket { border-bottom: 1px solid var(--attdir-rule); }
.attdir-docket a { display: flex; align-items: center; min-height: 44px; padding: 0.2rem 0; line-height: 1.28; }
.attdir-unfold-sum { display: list-item; min-height: 44px; padding: 0.6rem 0; font-family: var(--attdir-ui); font-size: 0.97rem; font-weight: 700; cursor: pointer; }
.attdir-town { margin-top: 2.2rem; }
.attdir-town-list { display: grid; gap: 0 1.4rem; margin: 0; padding: 0; list-style: none; }
.attdir-town-list a { display: flex; align-items: center; min-height: 44px; line-height: 1.28; }
.attdir-nothing { font-weight: 700; }
.pagination { margin-top: 1.2rem; }
.nav-links { display: flex; flex-wrap: wrap; gap: 0.3rem; font-family: var(--attdir-ui); }
.nav-links a, .nav-links .current { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 0 0.7rem; }
.nav-links .current { background: var(--attdir-navy); color: var(--attdir-on-navy); }

/* An article: its top */
.attdir-top { padding: 0.35rem 0 1rem; background: var(--attdir-pad); border-bottom: 3px solid var(--attdir-margin); }
.attdir-backpath-list { display: flex; flex-wrap: wrap; gap: 0 0.35rem; margin: 0; padding: 0; list-style: none; font-family: var(--attdir-ui); font-size: 0.96rem; }
.attdir-backpath-list li + li::before { content: "\00A7"; margin-right: 0.35rem; }
.attdir-backpath-list a { display: inline-flex; align-items: center; min-height: 44px; }
.attdir-title { max-width: 24em; margin: 0.1rem 0 0.4rem; font-size: clamp(1.95rem, 4.4vw, 3rem); }
.attdir-stamp { display: flex; flex-wrap: wrap; gap: 0 1rem; margin: 0; font-family: var(--attdir-ui); font-size: 0.97rem; }

/* An article: a page with a red margin */
.attdir-duo { display: grid; gap: 1.6rem; margin-top: 1.4rem; }
.attdir-reading { min-width: 0; }
.attdir-leaf { max-width: 50rem; padding: 0.3rem 1rem 0.3rem 1.3rem; border-left: 2px solid var(--attdir-margin); background: var(--attdir-paper); }
.attdir-leaf p { margin: 0 0 1em; }
.attdir-leaf ul, .attdir-leaf ol { padding-left: 1.3rem; }
.attdir-leaf li { margin-bottom: 0.4em; }
.attdir-leaf img { display: block; }
.attdir-leaf h2 { margin: 2rem 0 0.55rem; font-size: 1.66rem; }
.attdir-leaf h3 { margin: 1.5rem 0 0.35rem; font-size: 1.3rem; }
.attdir-leaf .attdir-opening { font-size: 1.2rem; line-height: 1.52; }
.attdir-leaf .attdir-disclaim { font-size: 1.2rem; }
.attdir-leaf .attdir-sources + ul { padding-left: 1.1rem; font-size: 0.96rem; line-height: 1.42; }
.attdir-leaf .attdir-endnote { margin: 1.5rem 0 0.7rem; padding: 0.8rem 0.9rem; background: var(--attdir-pad); }
.attdir-grid { width: 100%; margin: 1rem 0 1.5rem; border-collapse: collapse; font-family: var(--attdir-ui); font-size: 0.94rem; line-height: 1.36; }
.attdir-grid th { padding: 0.45rem 0.55rem; background: var(--attdir-navy); color: var(--attdir-on-navy); text-align: left; vertical-align: bottom; }
.attdir-grid td { padding: 0.5rem 0.55rem; border-bottom: 1px solid var(--attdir-rule-strong); vertical-align: top; }
@media (max-width:699px) {
	.attdir-grid, .attdir-grid tbody, .attdir-grid tr, .attdir-grid td { display: block; width: 100%; }
	.attdir-grid thead, .attdir-grid tr:first-child:has(th) { display: none; }
	.attdir-grid tr { margin-bottom: 0.8rem; padding: 0.3rem 0 0.45rem; border-top: 4px solid var(--attdir-navy); }
	.attdir-grid td { padding: 0.25rem 0; border: 0; }
	.attdir-grid td::before { content: attr(data-attdir-col); display: block; color: var(--attdir-ink-soft); font-size: 0.88em; font-weight: 700; }
}

/* Read this as general information */
.attdir-caution { max-width: 50rem; margin-top: 1.6rem; padding: 0.9rem 1rem; background: var(--attdir-pad); }
.attdir-caution p { margin: 0 0 0.6em; }
.attdir-caution-title { margin: 0 0 0.4rem; font-size: 1.28rem; }
.attdir-kin { max-width: 50rem; margin-top: 1.7rem; }
.attdir-kin-title { margin: 0 0 0.3rem; font-size: 1.36rem; }
.attdir-kin-list { margin: 0; padding: 0; list-style: none; }
.attdir-kin-list li { border-bottom: 1px solid var(--attdir-rule); }
.attdir-kin-list a { display: flex; align-items: center; min-height: 44px; line-height: 1.28; }

/* What the article cites, then its sections */
.attdir-toa { display: grid; align-content: start; gap: 1rem; min-width: 0; font-size: 0.98rem; line-height: 1.3; }
.attdir-cited, .attdir-toa-go { padding: 0.8rem 0.9rem; border-top: 8px solid var(--attdir-navy); background: var(--attdir-paper); }
.attdir-toa-title { margin: 0 0 0.25rem; font-size: 1.18rem; }
.attdir-toa-parts { margin: 0; padding: 0; list-style: none; }
.attdir-toa-parts li + li { border-top: 1px dotted var(--attdir-rule-strong); }
.attdir-toa-parts a { display: flex; align-items: center; min-height: 44px; padding: 0.25rem 0; }
.attdir-toa-k { margin: 0.5rem 0 0.15rem; font-family: var(--attdir-ui); font-size: 0.9rem; font-weight: 700; }
.attdir-toa-list { margin: 0; padding: 0; list-style: none; font-size: 0.94rem; }
.attdir-toa-list li { padding: 0.18rem 0; border-bottom: 1px dotted var(--attdir-rule-strong); }
.attdir-toa-all { margin: 0.2rem 0 0; }
.attdir-toa-all a { display: flex; align-items: center; min-height: 44px; font-family: var(--attdir-ui); font-weight: 700; }
.attdir-toa-links { margin: 0; padding: 0; list-style: none; }
.attdir-toa-links a { display: flex; align-items: center; min-height: 44px; }

.attdir-flip { display: grid; gap: 0.6rem; margin: 2rem 0 0; }
.attdir-flip-page { display: block; padding: 0.7rem 0.9rem; border-left: 2px solid var(--attdir-margin); background: var(--attdir-paper); }
.attdir-flip-k { display: block; color: var(--attdir-ink-soft); font-family: var(--attdir-ui); font-size: 0.9rem; }

/* Reader comments, plain pages and a missing address */
.attdir-remarks { max-width: 50rem; margin-top: 2rem; }
.attdir-remarks input:not([type="submit"]):not([type="checkbox"]), .attdir-remarks textarea { width: 100%; min-height: 44px; padding: 0.4rem 0.6rem; border: 1px solid var(--attdir-rule-strong); background: var(--attdir-paper); color: var(--attdir-ink); font: inherit; }
.attdir-remarks input[type="submit"] { min-height: 44px; padding: 0 1rem; border: 0; background: var(--attdir-navy); color: var(--attdir-on-navy); font: 700 1rem var(--attdir-ui); cursor: pointer; }
.attdir-off, .attdir-simple { padding-top: 1.4rem; }
.attdir-off-title { margin-bottom: 0.7rem; }
.attdir-way { display: inline-flex; align-items: center; min-height: 46px; padding: 0 1.1rem; background: var(--attdir-navy); color: var(--attdir-on-navy); font-family: var(--attdir-ui); font-weight: 700; text-decoration: none; }
.attdir-way:hover { text-decoration: underline; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignleft { float: left; margin: 0.3rem 1rem 0.6rem 0; }
.alignright { float: right; margin: 0.3rem 0 0.6rem 1rem; }
.wp-caption-text, figcaption { color: var(--attdir-ink-soft); font-size: 0.94rem; }

/* The navy foot */
.attdir-end { margin-top: 3rem; padding: 1.3rem 0 1.2rem; background: var(--attdir-navy); color: var(--attdir-on-navy); }
.attdir-end a { color: var(--attdir-on-navy); }
.attdir-end-k { margin: 0; font-family: var(--attdir-head); font-size: 1.26rem; font-weight: 700; }
.attdir-end-list { display: flex; flex-wrap: wrap; gap: 0 1rem; margin: 0; padding: 0; list-style: none; }
.attdir-end-list a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
.attdir-end-foot { margin-top: 0.8rem; padding-top: 0.7rem; border-top: 1px solid var(--attdir-navy-rule); }
.attdir-end-site { margin: 0; font-family: var(--attdir-head); font-weight: 700; }
.attdir-end-say, .attdir-end-year { margin: 0.25rem 0 0; color: var(--attdir-on-navy-soft); font-size: 0.97rem; }
.attdir-end-links ul { display: flex; flex-wrap: wrap; gap: 0 1rem; margin: 0.25rem 0 0; padding: 0; list-style: none; }
.attdir-end-links a { display: inline-flex; align-items: center; min-height: 44px; }

@media (min-width:700px) {
	.attdir-pad { padding-left: 4rem; padding-right: 1.6rem; background-image: linear-gradient(90deg, transparent 3rem, var(--attdir-margin) 3rem, var(--attdir-margin) calc(3rem + 2px), transparent calc(3rem + 2px)), repeating-linear-gradient(transparent 0 calc(2rem - 1px), var(--attdir-pad-line) calc(2rem - 1px) 2rem); }
	.attdir-desk-title { font-size: 3.2rem; line-height: 4rem; }
	.attdir-files { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.attdir-town-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.attdir-flip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.attdir-flip-next { grid-column: 2; }
}
@media (min-width:1020px) {
	/* The citations pass with the page; the sections under them hold at the top while the article goes by. */
	.attdir-duo-toa { grid-template-columns: 20rem minmax(0, 1fr); gap: 2rem; }
	.attdir-duo-toa .attdir-reading { grid-column: 2; grid-row: 1; }
	.attdir-duo-toa .attdir-toa { grid-column: 1; grid-row: 1; }
	.attdir-toa-go { position: sticky; top: 0.8rem; }
}

@media print {
	:root { --attdir-ground: #fff; --attdir-paper: #fff; --attdir-ink: #000; --attdir-ink-soft: #222; --attdir-link: #000; --attdir-rule: #999; --attdir-rule-strong: #666; --attdir-pad: #fff; --attdir-navy: #fff; --attdir-on-navy: #000; --attdir-on-navy-soft: #222; }
	.attdir-bench, .attdir-end, .attdir-flip, .attdir-remarks, .attdir-gavel, .attdir-pick, .attdir-toa-go { display: none; }
}
