/* insert this line into the <head> section:

<link rel="stylesheet" type="text/css" href="lincmad.css" />

VERY VERY much Work In Progre...
*/

/* ACCESSIBILITY */

/*	.sr-only is for Screen Reader only; 
	text that SR should ignore should have 
		attribute [aria-hidden=true]
	details.sr has minimal visual formatting 
		just so it's not a complete mess visually
	abbr.readout is for commonly understood abbreviations 
		and symbols, where the visual tool-tip is not 
		necessary, but the <abbr> is provided for screen 
		reader substitution. For example, (t.b.a.), 
		— (m-dash for n/a, etc.), and 
		two-letter state abbreviations.
	.vis-alt is to override maladaptive screen reader
		interpretations; for example, read "a/b" as 
		"a or b" instead of "a slash b".
 */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	font-size: 0.01px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
abbr.readout {	
	color: inherit;
	text-decoration: none;
	border-block-end: none;
}

/* ChatGPT https://chatgpt.com/c/68731b04-3928-8001-b754-a919f24ad5ec 
	visually hidden text for screen readers 2025-09-16 ###P9G 
	USAGE: A/B
	<span>
		A<span 
			class="vis-alt" data-alt="or"><span 
			aria-hidden="true">/</span></span
		>B
	</span> 
	(Note: outer "span" is to prevent the screen reader from
	saying things like [blah blah blah] [A] [or] [B blah blah blah] 
	— except for the small fact that it doesn't work, nor does 
	div[style="display: inline-block;"] )
*/
.vis-alt::after {
	content: attr(data-alt);
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	/* border: 0; */
}

details.sr summary { 
	padding-inline: 0.5rem; 
	padding-block: 0.2rem;
}
details.sr { border: 2px solid gray; }
details.sr  details { margin-inline-start: 2rem; }
/* details > details > details {
	margin-inline-start: 2rem;
} */
details.sr p {
	margin-inline-start: 2rem;
}
/*	for reasons unknown, this works if it is in the individual file,
	but doesn't work if it is in this CSS file. -LM 2025-05-18 */
nav.sr-top {
	margin-inline: 2rem;
}

/* end of ACCESSIBILITY section */

:root {
	color-scheme:		light dark;
	box-sizing:			border-box;
	--alwaysRoundUp:	0.499;	/* fudge factor to round up instead of nearest */
	/* UNIVERSAL COLORS */
	--clr-text-dark:	hsl(0, 0%, 0%);		/* black */
	--clr-text-light:	hsl(60, 67%, 88%);		/* pale yellow */
	--clr-bg-light:		hsl(0, 0%, 100%);		/* white */
	--clr-bg-dark:		hsl(0, 0%, 0%);		/* black */
	--clr-bg-med:		hsl(0, 0%, 40%);
	--clr-bg-med-dark:	hsl(0, 0%, 25%);
	/* LIGHT MODE COLORS */
	--clr-bg-main:		var(--clr-bg-light);	/* White */
	--clr-text-main:	var(--clr-text-dark);	/* Black */
	--clr-bord-main:	hsl(0, 0%, 0%);		/* black, unless overridden */
	--clr-links:		hsl(240, 100%, 50%);	/* blue for links */
	--clr-visited:		hsl(300, 100%, 18%);	/* purple for visited links */
	--clr-bg-inv:		var(--clr-bg-med);		/* inverted color bkgd */
	--clr-text-inv:		var(--clr-text-light);		
	--clr-text-red:		hsl(0, 100%, 30%);		/* #900 darkish red */
	--clr-text-blue:	hsl(240, 100%, 40%);	/* #00C darkish blue */
	--clr-canadian:		var(--clr-text-blue);	
	--clr-notyet:		hsl(120, 100%, 20%);	/* #060 dark green, notyet */
	--clr-text-gray:	hsl(0, 0%, 35%);		/* half gray, nitpick, darkened for ADA */
	--clr-bord-gray:	var(--clr-text-gray);
	--clr-nitpick:		var(--clr-text-gray);
	--clr-defunct:		var(--clr-text-gray);		/* medium gray */
	--clr-dimgray:		hsl(0, 0%, 40%);		/* DimGray */
	--clr-updtime:		hsl(120, 100%, 30%);	/* dark-ish green, upd date */
	--clr-details:		hsl(30, 67%, 85%);		/* Linen, a little darker, for details */
	--clr-bg-gray:		hsl(0, 0%, 75%);		/* Silver, grayback */
	--clr-bg-pink:		hsl(0, 100%, 90%);		/* pink background */
	--clr-bg-yell:		hsl(60, 100%, 90%);	/* yellow background */
	--clr-bg-loc-jump:	hsl(280, 61%, 50%);	/* DarkOrchid, jump bg on loc pages */
	--clr-text-loc-jump:	var(--clr-text-light);		/* Gainsboro */
	--clr-link-loc-jump:	var(--clr-text-light);		/* links & visited links on loc pages */
	--clr-grayedout:	hsl(0, 0%, 83%);		/* light gray */
	--clr-bg-flag:		hsl(0, 0%, 86%);		/* Gainsboro */
	--clr-bg-b10d-keep7:	hsl(54, 77%, 75%);		/* Khaki */
	--clr-bg-b10d-keep10:	hsl(200, 49%, 81%);	/* pale blue */
	--clr-bg-yelspa:	hsl(60, 100%, 80%);	/* pale yellow */
	--clr-bg-yellah:	hsl(60, 100%, 90%);	/* paler yellow */
	--clr-text-tz:		hsl(0, 0%, 0%);		/* text for most time zones */
	--clr-bg-tz-pac:	hsl(108, 90%, 62%);	/* obnoxo green */
	--clr-bg-tz-mtn:	hsl(33, 100%, 20%);	/* dark brown */
	--clr-text-tz-mtn:	hsl(60, 100%, 70%);	/* Yellow txt on Mountain TZ */
	--clr-bg-tz-cen:	hsl(61, 97%, 77%);		/* bright yellow */
	--clr-bg-tz-est:	hsl(348, 79%, 74%);	/* pink */
	--clr-bg-tz-atl:	hsl(202, 93%, 65%);	/* blue */
	--clr-bg-tm-std:	hsl(193, 100%, 86%);	/* pale blue */
	--clr-bg-tm-dst:	hsl(44, 100%, 81%);	/* pale orange */
	--w-hdr-bgr:		hsl(0, 0%, 20%);		/* dark gray */
	--w-hdr-txt:		hsl(0, 0%, 100%);		/* white */
	--w-ftr-bgr:		hsl(0, 0%, 40%);		/* med gray */
	--w-ftr-txt:		hsl(0, 0%, 100%);		/* white */
	/* Specifically for NPA-DATES-2.HTML only */
	/* (same colors used for light & dark mode) */
	--clr-bg-npa-orig:	hsl(25, 76%, 31%);		/* SaddleBrown */
	--clr-bg-npa-1950:	hsl(120, 61%, 34%);	/* ForestGreen */
	--clr-bg-npa-n01x:	hsl(270, 50%, 40%);	/* RebeccaPurple */
	--clr-bg-npa-nxx:	hsl(0, 100%, 27%);		/* DarkRed */
	/* (except the newbies) */
	--clr-bg-npa-new:	hsl(54, 100%, 90%);	/* LemonChiffon */
	/* above colors are used only in npa-dates-2.html */
	/* Light Mode colors for SVG graphics */
	--clr-svg-tzbdy:	hsl(30, 100%, 75%);	/* orange for TZ boundary */
	--clr-svg-tblabel:	hsl(30, 75%, 85%);		/* paler orange */
	--clr-svg-npabdy:	hsl(0, 100%, 50%);		/* red */
	--clr-svg-stateline:	hsl(0, 0%, 75%);	/* pale gray */
	--clr-svg-water:	hsl(194, 83%, 93%);	/* light blue */
	/* other colors to be added later */
}

@media(prefers-color-scheme: dark) {
:root {
	color-scheme:		dark light;
	/* DARK MODE COLORS */
	--clr-bg-main:	hsl(0, 0%, 0%);		/* White becomes Black */
	--clr-text-main:	hsl(60, 67%, 88%);		/* Black becomes pale yellow */
	--clr-bord-main:	hsl(0, 0%, 85%);		/* ditto */
	--clr-links:		hsl(211, 53%, 62%);	/* regular links, change to #699BD1 */
	--clr-visited:		hsl(298, 28%, 64%);	/* visited links, change to #BB8ABD */
	--clr-bg-inv:		var(--clr-bg-med-dark);		/* inverted-color background */
	--clr-text-inv:		var(--clr-text-light);
	--clr-text-red:		hsl(0, 50%, 67%);		/* #900 darkish red, change to #D58181 */
	--clr-text-blue:	hsl(204, 89%, 83%);	/* #00C darkish blue, change to #ABDAFA */
	--clr-canadian:		var(--clr-text-blue);
	--clr-notyet:		hsl(120, 100%, 80%);	/* #060 dark green, notyet */
	--clr-text-gray:	hsl(0, 0%, 60%);		/* nitpick, etc. */
	--clr-bord-gray:	var(--clr-text-gray);	/* gray borders, same as gray text */
	--clr-nitpick:		var(--clr-text-gray);	
	--clr-defunct:		var(--clr-text-gray);	/* medium gray */
	--clr-dimgray:		hsl(0, 0%, 59%);		/* inverse of DimGray */
	--clr-updtime:		hsl(120, 100%, 70%);	/* lighter green, upd date */
	--clr-details:		hsl(30, 67%, 15%);		/* Linen, for details */
	--clr-bg-gray:		hsl(0, 0%, 25%);		/* Silver, grayback */
	--clr-bg-pink:		hsl(0, 100%, 10%);		/* pink background */
	--clr-bg-yell:		var(--clr-bg-main);		/* yellow bg doesn't work in dark mode, so use black */
	--clr-bg-flag:		hsl(0, 0%, 30%);		/* Gainsboro */
	--clr-bg-loc-jump:	hsl(280, 61%, 30%);	/* DarkOrchid, jump bg on loc pages */
	--clr-text-loc-jump:	var(--clr-text-light);		/* Gainsboro */
	--clr-link-loc-jump:	var(--clr-text-light);		/* links & visited links on loc pages */
	--clr-flagbg:		hsl(0, 0%, 14%);		/* Gainsboro */
	--clr-bg-b10d-keep7:		hsl(54, 77%, 20%);		/* Khaki */
	--clr-bg-b10d-keep10:		hsl(200, 49%, 33%);	/* pale blue */
	--clr-bg-yelspa:		hsl(60, 100%, 20%);	/* pale yellow */
	--clr-bg-yellah:		hsl(60, 100%, 10%);	/* paler yellow */
	--clr-text-tz:			var(--clr-text-main);	/* text for most tz's */
	--clr-bg-tz-pac:		hsl(108, 100%, 20%);	/* obnoxo green */
	--clr-bg-tz-mtn:		hsl(33, 100%, 80%);	/* dark brown */
	--clr-text-tz-mtn:		hsl(60, 100%, 10%);	/* Yellow txt on Mountain TZ */
	--clr-bg-tz-cen:		hsl(61, 90%, 20%);		/* bright yellow */
	--clr-bg-tz-est:		hsl(348, 79%, 26%);	/* pink */
	--clr-bg-tz-atl:		hsl(202, 93%, 35%);	/* blue */
	--clr-bg-tm-std:		hsl(193, 100%, 14%);	/* pale blue */
	--clr-bg-tm-dst:		hsl(44, 100%, 19%);	/* pale orange */
	--w-hdr-bgr:		hsl(0, 0%, 80%);		/* dark gray */
	--w-hdr-txt:		hsl(0, 0%, 0%);		/* white */
	--w-ftr-bgr:		hsl(0, 0%, 60%);		/* med gray */
	--w-ftr-txt:		hsl(0, 0%, 0%);		/* white */
	/* Specifically for NPA-DATES-2.HTML */
	/* --»»» (same colors for light & dark mode, except NPA-NEW) «««-- */
	/* --clr-bg-npa-orig:	hsl(25, 76%, 69%);	 */	/* SaddleBrown */
	/* --clr-bg-npa-1950:	hsl(120, 61%, 66%); */	/* ForestGreen */
	/* --clr-bg-npa-n01x:	hsl(270, 50%, 60%); */	/* RebeccaPurple */
	/* --clr-bg-npa-nxx:	hsl(0, 100%, 73%); */		/* DarkRed */
	--clr-bg-npa-new:	hsl(54, 100%, 10%);	/* LemonChiffon */
}
}

@media print {
	body {
		font-family: "Arial Narrow", "Helvetica Narrow", 
				Verdana, Arial, sans-serif;
	}
	.screen_only, div.screen_only, tr.screen_only { display: none; }
	tr,td,th {
		page-break-inside: avoid;
	}
	a {
		color: black;
	}
}

@media screen {
	body {
		font-family: Verdana, Arial, Helvetica, sans-serif;
	}
	.print_only, div.print_only, tr.print_only { display: none; }
	.updtime { color: var(--clr-updtime); }
	tr#hdr, tr.hdr {
		color: var(--clr-text-inv);
		background-color: var(--clr-bg-inv); /* dark gray */
	}
	a {
		color: var(--clr-links);
	}
	a:visited {
		color: var(--clr-visited);
	}
	/* put a 1-pixel box around a link to highlight it */
	a.box-link {
		border: 1px solid var(--clr-text-main);
		padding-inline: 0.5em;
	}
	tr.jump00 {
		color: var(--clr-text-loc-jump); /* Gainsboro */
		background-color: var(--clr-bg-loc-jump); /* DarkOrchid */
	}
	tr.jump00 :link, tr.jump00 :visited {
		color: var(--clr-text-inv);
	}
	
	details { margin-block-start: 1em; }
	details > summary { 
		background-color: var(--clr-details); /* Linen */
		font-size: 150%;
	}
	details > summary.nobiggie {
		font-size: 100%;
	}
}

/* END media-specific stuff */


/* styles from https://codepen.io/paulobrien/pen/LBrMxa */
html {
	box-sizing: border-box;
	-ms-scroll-chaining: none;
	overscroll-behavior: none;
}
/*	overscroll/scroll chaining: see 
	<https://developer.mozilla.org/en-US/docs/Web/CSS/overscroll-behavior>
	TLDR: scrolling to end does NOT cause outer container to scroll, 
	and scrolling to top does NOT cause page refresh
*/
*,
*:before,
*:after {
	box-sizing: inherit;
}
.intro {
	max-width: 1280px;
	margin: 1em auto;
} /* so far, not used 2022-04-05 */
/* end Paul O'Brien stuff */

/* !important classes */
.txl {
	text-align: left!important;
} /* left-aligned text !important */
.txr {
	text-align: right!important;
} /* right-aligned text !important */
time, .date, .nowrap {				
	white-space: nowrap!important; 
} /* !important */
.nobord {
	border: none!important;
} /* !important */
.grayback {
	background-color: var(--clr-bg-gray)!important;
} /* !important */
.grayback del {
	color: black;
} /* no gray text on gray background */
.grayback.notyet {
	font-weight: bold;
} /* embolden green text on gray background */
.yellback {
	background-color: var(--clr-bg-yell)!important;
} /* !important */
.pinkback {
	background-color: var(--clr-bg-pink)!important;
} /* !important */
.whiteback {
	background-color: var(--clr-bg-main)!important;
} /* !important */
.normal {
	color: var(--clr-text-main)!important;
	text-decoration: none!important;
	font-weight: normal;
} /* black text, no decoration !important */
/* (mostly) END !important styles */

body {
	color: var(--clr-text-main);
	background-color: var(--clr-bg-main);
}
table, th, td {
	border: 1px solid var(--clr-bord-main); /* unless overridden */
	border-collapse: collapse;
} /* ALWAYS collapse borders! */
.ctr {
	text-align: center;
	align-items: center;
	margin-inline: auto;
} /* centered */
.mauto {
	margin-inline: auto;
} /* center the object but not the text */
.mauto-vh {
	margin-inline: auto;
	margin-block: auto;
} /* the old behavior of .mauto, equivalent to margin: auto; */
.balance-text {
	text-wrap: balance;
}
.hanging-indent {
	/* for some reason, doesn't work in the overlay chart under the map */
	text-indent: -1em;
	padding-inline-start: 1em;
}
img.mauto, picture.mauto {
	display: block;
}
img.logo, img.bigmap {
	max-width: 90vw;
	max-height: 90vh;
	width: auto;
	height: auto;
	border: 0;
}
.twoemafter {
	padding-bottom: 2em;
} /* pad 2em after element */
.fullwide {
	width: 100%;
} /* w = 100% */
.maxwide {
	max-width: 100%;
}  /* max w = 100% */
span.nobord, span.topbord, span.btmbord, span.tandb
{
	display: block;
} /* "block" elements */
.topbord, .tandb {
	border-top: 1px solid var(--clr-bord-gray);
}
.btmbord, .tandb {
	border-bottom: 1px solid var(--clr-bord-gray);
}
.vtop {
	vertical-align: top;
}
.vmid {
	vertical-align: middle;
}
.vbot {
	vertical-align: bottom;
}
div.listing { 
	padding-left: 1.25em;
} /* africa.html */
p.listp {
	text-indent: -1.125em;
} /* africa.html */
.yelspa { 
	background-color: var(--clr-bg-yelspa);
	text-align: center;
	vertical-align: middle;
	letter-spacing: 0.375em;
	text-transform: uppercase;
	/* set line-height: xxx% in each file */
} /* yellow bkgd, S P A C E D */
.flagbord {
	border: 1px solid var(--clr-bord-gray);
}
/* leave a blank space between list items */
li:not(:last-of-type) {
	margin-block-end: 0.5em;
} 
/* or don't */
ul.tight li, ol.tight li {
	margin-block-end: 0;
}
/* ChatGPT https://chatgpt.com/c/68731b04-3928-8001-b754-a919f24ad5ec */
/* bullet list with bullets visible but not spoken, */
/* inline list with auto-commas, possible sub-list in parentheses not spoken */
/* 2025-09-24 */
/* SAMPLE CODE:

Regular bullet list, but don't speak "bullet" out loud

<ul class="custom-bullets">
	<li><span class="vis-bullet" aria-hidden="true">•</span> First item</li>
	<li><span class="vis-bullet" aria-hidden="true">•</span> Second item</li>
	<li><span class="vis-bullet" aria-hidden="true">•</span> Third item</li>
</ul>
producing "• First item\n• Second item\n•Third item"
but reads as "First item, Second item, Third item"

List of items inline, with a sub-list in parentheses, with
automatic commas between items but manual parentheses. 
NOTE that the line breaks must be EXACTLY as shown —— do NOT 
put any space or line break between the end of one tag and 
the beginning of the next, around the sub-list.

<ul class="inline-list no-bullets">
	<li> 1 </li>
	<li> 2
		<span class="vis-punct" aria-hidden="true">(</span
		><ul class="inline-list no-bullets"
			><li> 2a </li>
			<li> 2b </li
		></ul
		><span class="vis-punct" aria-hidden="true">)</span
	></li>
	<li> 3 </li>
</ul>
producing "1, 2 (2a, 2b), 3"

*/
.no-bullets {
	list-style: none;
}
.custom-bullets {
	list-style: none;				/* remove native bullets */
	padding-inline-start: 0.9em;	/* create indent for custom bullets */
	margin: 0;
}
.vis-bullet {
	display: inline-block;
	width: 1em;
	margin-inline-end: 0.4em;
	text-align: center;
	/* style the bullet as you like */
}
.inline-list,
.inline-list ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: inline;
}
.inline-list > li,
.inline-list ul > li {
	display: inline;
}
/* only inline lists inside table cells */
/* at top level, this results in screen reader announcing "comma" */
td ul.inline-list.no-bullets li:not(:last-child)::after {
	content: ',';
}
ul.inline-list.no-bullets.no-comma li:not(:last-child)::after {
	content: '';
}
.vis-punct {	/* kinda pointless, but marks what I'm doing */
	font: inherit;
}
/* end ChatGPT block of special list styles */

/*	styles I developed to give a bit of spacing and a border to 
	nav, section, h2, and possibly other elements
*/
/*	nav, section, h2 {
		padding-block: 1em;
		margin-block: 0.5em;
	}
 */
 .roomy {
	padding-block: 1em;
	margin-block: 0.5em;
}

/* BEGIN time zone colors */
td.tz, th.tz {			/* time zone info in tables */
	color: var(--clr-text-tz);	/* override other colors */
	font-weight: bold;
	text-align: center;
	direction: ltr;
	white-space: nowrap;
	border: 1px solid var(--clr-bord-gray); 
	border-width: thin; 
	border-collapse: collapse; 
	padding: 0.125em 0.5em 0.125em 0.5em;
} /* P M C E A Nfld */
/* new, more colorblind-friendly colors */
@media print {
	.pacific, .mountain, .central, 
	.eastern, .atlantic, .newfie {
	background-color: white;
	color: black;
	}
} /* tz black on white for print */
@media screen {
	.pacific {
		background-color: var(--clr-bg-tz-pac); /* green */
		color: var(--clr-text-tz);
		font-weight: bold;
	}
	.mountain, td.tz.mountain {
		background-color: var(--clr-bg-tz-mtn); /* medium brown */
		color: var(--clr-text-tz-mtn);	/* black on dark brown no es bueno */
		font-weight: bold;
	}
	.mountain a {
		color: var(--clr-text-tz-mtn);	/* dark blue on brown no es bueno neither */
		font-weight: bold;
	}
	.central {
		background-color: var(--clr-bg-tz-cen); /* yellow */
		color:	var(--clr-text-tz);
		font-weight: bold;
	}
	.eastern {
		background-color: var(--clr-bg-tz-est); /* pink */
		color: var(--clr-text-tz);
		font-weight: bold;
	}
	.atlantic {
		background-color: var(--clr-bg-tz-atl); /* blue */
		color: var(--clr-text-tz);
		font-weight: bold;
	}
	.newfie {
		background-color: var(--clr-bg-main);
		color: var(--clr-text-main);
		font-weight: bold;
	}
} /* tz colored background for screen */
.stan, .dsav, .spfwd, .fallbk {
	border: thin solid var(--clr-bord-main);
	text-align: center;
	white-space: nowrap;
}
.stan {
	background-color: var(--clr-bg-tm-std);
}
.dsav {
	background-color: var(--clr-bg-tm-dst);
}
.spfwd { /* March 8 = 22.8%, March 14 = 42.2% */
	background: linear-gradient(to right, 
		var(--clr-bg-tm-std) 0%, var(--clr-bg-tm-std) 22.8%, 
		var(--clr-bg-tm-dst) 42.2%, var(--clr-bg-tm-dst) 100%);
}
.fallbk { /* Nov 1 = 0.003%, Nov 7 = 20.3% */
	background: linear-gradient(to right, 
		var(--clr-bg-tm-dst) 0%, var(--clr-bg-tm-dst) 1%,
		var(--clr-bg-tm-std) 20.3%, var(--clr-bg-tm-std) 100%);
}
/* END tz colors */

/* BEGIN font styles and colors */
.allcaps {
	text-transform: uppercase;
}
.bold {
	font-weight: bold;
}
.ital {
	font-style: italic;
}
.canadian {
	color: var(--clr-canadian);
}
.defunct {
	color: var(--clr-defunct);
}
.notyet, .billed {
	color: var(--clr-notyet);
}
.permissive {
	color: var(--clr-text-blue);
}
.nitpick {
	font-size: smaller;
	font-weight: normal;
	color: var(--clr-nitpick);
	/* font-style: italic; */
}
.fnarrow {
	font-family: 'Arial Narrow','Helvetica Narrow',Sans-serif;
} /* narrow font for tables */
.pequeno {
	font-size: xx-small;
}
.fs78 {
	font-size: 78%;
}
.fs125 {
	font-size: 125%;
}
.fs150 {
	font-size: 150%;
}
.fs2x {
	font-size: 200%;
}
.fs3x {
	font-size: 300%;
}
.rednote, .bigred, .redbold, .newdig {
	color: var(--clr-text-red);
}
.bigbold, .bigred {
	text-transform: uppercase;
	font-weight: bold;
}
.redbold, .newdig { /* newdig for africa.html */
	font-weight: bold;
}
/*
rednote = red text
bigred = red bold caps
redbold = red bold
newdig = red bold
bigbold = bold caps
*/ /* combos */
ins {
	font-weight: bold;
	font-style: italic;
	text-decoration: none;
}
del {
	color: var(--clr-defunct);
	text-decoration: line-through double;
}
/* .zapped and .defuncxx are OBSOLETE: use <del> instead */

/* 
for monospaced text, requires 
<link href="https://fonts.googleapis.com/css?family=Oxygen Mono" rel="stylesheet">
*/
.mono {
	font-family: "Oxygen Mono", monospaced;
}
/* END font stylings */

/* horiz rules */
hr.leftquarter {
	width: 25%;
	margin-inline-start: 0;
}
hr.lefthalf {
	width: 50%;
	margin-inline-start: 0;
}
hr.middish {
	width: 55%;
}
/* for one-offs, set width and margin-left/right */

/* special styles for scrolling box */
div.scrollbox {
	height: 10em;	/* or override per instance */
	overflow-x: scroll;
	overflow-y: visible;
}
/* for maps, etc., larger than the screen */
div.bigscroll { 
	height: 90vh;
	width: 90vw;
	overflow: auto;
}
table.scrollwrap {
	border: none;
}
table.scrollwrap td {
	vertical-align: middle;
}
table.scrollwrap td:first-child {
	padding: 0px 0.5em 0px 0px;
}
table.horizbox {
	border: 1px solid var(--clr-bord-gray);
	border-collapse: collapse;
}
table.horizbox tr, table.horizbox td, table.horizbox th 
{
	border-bottom: thin solid var(--clr-bord-gray);
	border-collapse: collapse;
}

/* SYNTAX:

<div class="bigscroll" id="large_image">
<img src="..." alt="...">
</div><!-- scrolling image -->

<table class="scrollwrap" id="info_wrapper">
<tr>
<td><img src="/images/info-i.png" alt="&#x2139; info"></td><!-- (i) for info -->
<td><!-- the main content, all in one wrapper cell -->
<div class="scrollbox">
	<table class="horizbox notranslate" translate="no">
<tr><th>...</th></tr> <!-- headers -->
<tr><td>...</td></tr> <!-- each language -->
	</table>
</div><!-- scrolling infobox -->
</td><!-- main content -->
</tr><!-- (i) | content scroll scroll -->
</table><!-- scrollwrap -->
*/  /* SYNTAX */

/* BEGIN table styles */

/* mostly for world-rtl.html, now defunct 
table.ordinary {
	border: 1px solid;
}
table.ordinary td, table.ordinary th {
	border: 0px solid var(--clr-bg-main);
}
*/

table.biggie {
	border: thin solid var(--clr-bord-gray);
	border-spacing: 0px;
	border-collapse: collapse;
}
	table.biggie td, table.biggie th {
		border: thin solid var(--clr-bord-gray);
		border-collapse: collapse;
		padding: 0.2em 0.5em 0.2em 0.5em;
	}
	
/* basically same as biggie, but biggie sometimes behaves strangely */
table.npachart {
	border-width: thin;
	border-style: solid;
	border-collapse: collapse;
}
	table.npachart td, table.npachart th {
		border: 1px solid var(--clr-bord-gray);
		padding: 2px 3px 2px 3px;
	}
		
table.plainwhite {
	border: none;
}
	table.plainwhite td, table.plainwhite th {
		border: none;
		padding: 0px 0px 0px 0px;
	}

table.hitcount {
	border: none;
	text-align: center;
	margin-block: auto;
	margin-inline: auto;
	height: 3.75em;
}
table.hitcount td, table.hitcount th, table.hitcount tr 
{
	border: none;
}

table.statename {
	height: 100%;
	border: none;
	padding: 0px;
	text-align: center;
	margin-block: auto;
	margin-inline: auto;
}

td.acnum, th.acnum {		/* area code number in tables */
	text-align:center;
	direction:ltr;
	white-space:nowrap;
	border: 1px solid var(--clr-bord-gray); 
	border-width: thin; 
	border-collapse: collapse; 
	padding: 2px 3px 2px 3px;
}
td.stprov, th.stprov {		/* state/prov abbrev in tables */
	text-align:center;
	direction:ltr;
	white-space:nowrap;
	border: 1px solid var(--clr-bord-gray); 
	border-width: thin; 
	border-collapse: collapse; 
	padding: 2px 3px 2px 3px;
}
/* if a table cell starts with a <p>, zero upper margin */
td > p:first-child, th > p:first-child {
	margin-block-start: 0;
}
.skinnyb {	/* border specs for certain table elements */
	border: 1px solid var(--clr-bord-gray); 
	border-width: thin; 
	border-collapse: collapse; 
	padding: 0.125em 0.1875em 0.125em 0.1875em;
}
/*	originally for the list of area codes in each block of states
	on  cities.html  but can be used elsewhere, as for the list of 
	links to states or provinces on other pages. 
	Originally created as #crossref for the table of A-C/D-L/etc., 
	with: 
	#crossref { max-width: 95vw;   border-collapse: collapse; }
	#crossref th { max-width: 15 em; }
	#crossref td div.td { display: flex;   flex-wrap: wrap; }
	#crossref td div.td div 
		{ text-align: center;   flex-(grow/shrink): 0;   width: 3em; }
	#crossref td.tilde div.td div { width: 6em; }
	( .tilde  provides extra space for stuff like 627~CA instead of just 627 )
*/
div.listgrid {
	display: flex;
	flex-wrap: wrap;
}
div.listgrid div {
	text-align: center;
	flex-grow: 0;
	flex-shrink: 0;
	width: 2em;
}
/* END general table styles */

/*	style for legend for map or table notations 
	from <https://chatgpt.com/c/68731b04-3928-8001-b754-a919f24ad5ec> 
	2025-09-07 
*/

.legend {
	display: grid;
	grid-template-columns: auto 1fr; /* dt = narrow, dd = wide */
	gap: 0.25rem 0.75rem;           /* row gap / column gap */
	margin: 0;
	padding: 0;
}

.legend dt,
.legend dd {
	margin: 0;  /* remove default indent/margins */
}

.legend dt {
	text-align: center;
}

/* END legend styles */

/* special styling for inline and inline blocks */
div.new-inblock {
	display: inline-block;
}

div.inlined, span.inlined, p.inlined {
	display: inline;
}
ul.inlined {
	list-style-type: none;
	text-align: center;
	margin: 0;
	padding: 0;
	border: none;
}

ul.inlined li {
	display: inline;
	vertical-align: top;
	padding: 0;
	border: none;
	margin: 0;
}

li ul.inlined li {
	padding: 0;
	margin: 0;
}

/* SYNTAX: */
/*
<ul class="inlined">
<li>
<h2>Title</h2>
<table class="ccinner">...</table>
</li>
<li>
<h2>Title 2</h2>
	<ul class="inlined">
	<li>
	<table class="ccinner">...</table>
	</li> etc.
	</ul>
</li>
</ul>
*/

/* for multi-language entries:
	<div class="inlined nowrap">
		<span class="bold">Main Name</span>
		<span class="ital nitpick">
			<span lang="xyz">altname</span>
			<del><div class="sr-only" lang="en">formerly</div>
				<div class="sr-only" lang="fr">l'ancien</div>
				Old Name</del></span><span 
				aria-hidden="true"><span class="ital nitpick">)</span>,</span></div><!-- 
	entry for Main Name -->

*/

/* END inline blocks */


/* BEGIN more specific table styles */
table.afrouter, table.afrinner {
	border-width: 0px 0px 0px 0px;
	border-spacing: 0px;
	border-style: hidden hidden hidden hidden;
	border-collapse: collapse;
}
	table.afrouter td, table.afrouter th {
		border: 1px solid var(--clr-bord-gray);
		padding: 1px;
	}
	table.afrouter td.leftie {
		border: 1px solid var(--clr-bord-gray);
	}
	table.afrouter td.rightie {
		border: 1px solid var(--clr-bord-gray);
	}
	table.afrouter td.middie {
		border: 1px solid var(--clr-bord-gray);
	}
	table.afrouter td.slender {
		border: 1px solid var(--clr-bord-gray);
		padding: 0px 0px 0px 0px;
	}
	table.afrinner td, table.afrinner th {
		border: 0px;
		padding: 0px 0.5em;
	}
	table.afrinner td.leftie {
		border: 0px;
	}
	table.afrinner td.rightie {
		border: 0px;
	}
	table.afrinner td.middie {
		border: 0px;
	}
	table.afrinner td.slender {
		border: 0px;
		padding: 0px 0px 0px 0px;
	}
td.leftie {
	padding: 0px 0.625em 0px 0px;
	text-indent: 0px;
}
td.middie {
	padding: 0px 0.625em 0px 0.625em;
	text-indent: 0px;
}
td.rightie {
	padding: 0px 0px 0px 0.625em;
	text-indent: 0px;
}
td.slender {
	padding: 0px 0.2em 0px 0.2em;
	text-indent: 0px;
}

/* for world.html */
table.world { /* for world.html */
	border-width: 0px 0px 0px 0px;
	border-spacing: 0px;
	border-style: hidden hidden hidden hidden;
	border-collapse: collapse;
}	/* table ==> table.world */
table.world td, table.world th { 
	border: 1px solid var(--clr-bord-gray);
	padding: 0px 5px 0px 5px;
	font-size: 12px;
}
table.topt td, table.topt th {
	border: 0px solid var(--clr-bg-main);
}

/* for world-rtl.html */
table.wrouter, table.wrinner {
	border-width: thin;
	border-style: solid;
	border-collapse: collapse;
}
table.wrouter { 
	border-spacing: 0px;
}	/*changed outer to wrouter */
	table.wrouter td, table.wrouter th {
		border: 1px solid var(--clr-bord-gray);
		padding: 0px 0px 0px 0px;
	}
table.wrinner { /* for world-rtl.html */
	border-spacing: 1px;
}	/* changed inner to wrinner */
	table.wrinner td, table.wrinner th {
		border: thin solid var(--clr-bord-gray);
		padding: 0px 0.2em 0px 0.2em;
	}

/* for countrycodes.html */
table.ccouter, table.ccinner, table.icctld {
	border-width: thin;
	border-spacing: 0px;
	border-style: solid;
	border-collapse: collapse;
}
table.ccinner, table.icctld {
	margin-block: auto;
	margin-inline: auto;
}
	table.ccouter td, table.ccouter th {
		border: 1px solid var(--clr-bord-gray);
	}
	table.ccinner td, table.ccinner th {
		border: thin solid var(--clr-bord-gray);
		padding: 0px 0.2em 0px 0.2em;
	}
	table.icctld td, table.icctld th {
		border: 1px solid var(--clr-bord-gray);
		padding: 0px 0.2em 0px 0.2em;
		text-align: center;
	}
	table.icctld th {
		font-size: 78%;
	}

/* for ghana.html */
table caption.big { font-size: 200%; }
/* uses africa's table.afrouter, table.afrinner, td's, and th */

/* list styles */
ol.capa { list-style-type: upper-alpha; }
ol.lowa { list-style-type: lower-alpha; }
ol.capi { list-style-type: upper-roman; }
ol.lowi { list-style-type: lower-roman; }
ul.disc { list-style-type: disc; }
ul.circ { list-style-type: circle; }
ul.square { list-style-type: square; }

/* for mnemonic.html */
.yellah {
	background-color: var(--clr-bg-yellah);	/* pale yellow */
}
.serious {
	font-weight: bold;
}

/* language-specific styles */
/*	w3.org Nu validator complains about a parse error,
	but I think this is correct syntax, based on MDN:
	https://developer.mozilla.org/en-US/docs/Web/CSS/:lang
 */
:lang(ar, ary, arz, he, fa, yi, ur, ug, ps, 
	dv, ff, fuc, nqo, dyu, arc, ckb, mzn), 
	:lang("*-Arab"), :lang("*-Nqoo")
{
	direction: rtl;
	text-align: right;
}
/* general right-to-left text */
.trtl { 
	direction: rtl;
	text-align: right;
}
/* general left-to-right text */
.tltr { 
	direction: ltr;
	text-align: left;
}
