:root {
	--page: #ffb703;
	--surface: #fff;
	--ink: #000;
	--text: #333;
	--text-muted: #666;
	/* The brand #ff6600 darkened to 5.1:1 on white, so it passes as text. */
	--accent: #b84d00;
	--link: #0066cc;
	--link-visited: #743399;
	--nav-bg: #000;
	--nav-text: #aaa;
	--nav-text-active: #fff;
	--nav-hover: #333;
	--caption-bg: #f1f1f1;
}
html {
	-webkit-text-size-adjust: 100%;
}
html,
body,
div,
span,
h1,
h2,
h3,
p,
a,
em,
img,
strong,
ul,
ol,
li,
figure,
figcaption {
	background: transparent;
	border: 0;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
h1,
h2,
h3 {
	clear: both;
	font-weight: normal;
	text-wrap: balance;
}
#container {
	float: left;
	margin: 0 -240px 0 0;
	width: 100%;
}
#content {
	color: var(--text);
	font-size: 1.125rem;
	line-height: 1.6;
	margin: 0 280px 36px 20px;
}
#primary {
	float: right;
	overflow: hidden;
	width: 220px;
}
#footer {
	clear: both;
	margin-bottom: 20px;
	width: 100%;
}
body {
	background: var(--page);
	color: var(--text-muted);
	font-family: Georgia, serif;
	font-size: 0.75rem;
	line-height: 1.5;
}
#access .menu,
#site-info,
#site-title,
.entry-title,
.entry-content h2,
.caption-text {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
}
#colophon,
#branding,
#main,
#wrapper {
	margin: 0 auto;
	max-width: 940px;
}
#wrapper {
	background: var(--surface);
	margin-top: 20px;
	padding: 0 20px;
}
#site-info {
	float: left;
	font-size: 0.875rem;
	font-weight: bold;
	width: 700px;
}
p {
	margin-bottom: 18px;
}
ul {
	list-style: square;
	margin: 0 0 18px 1.5em;
}
ul ul {
	margin-bottom: 0;
}
ol {
	margin: 0 0 18px 1.5em;
}
strong {
	font-weight: bold;
}
em {
	font-style: italic;
}
a:link {
	color: var(--link);
}
a:visited {
	color: var(--link-visited);
}
a {
	text-underline-offset: 0.15em;
}
a:active,
a:hover {
	color: var(--accent);
}
:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}
::selection {
	background: var(--page);
	color: var(--ink);
}
.center {
	text-align: center;
}
.screen-reader-text {
	position: absolute;
	left: -9000px;
}
.screen-reader-text:focus-within {
	left: auto;
	z-index: 100000;
}
#access .screen-reader-text a {
	background: var(--surface);
	color: var(--ink);
}
#header {
	padding: 30px 0 0 0;
}
#site-title {
	float: left;
	font-size: 1.875rem;
	line-height: 1.2;
	margin: 0 0 18px 0;
	width: 700px;
}
#site-title a {
	color: var(--ink);
	font-weight: bold;
	text-decoration: none;
}
#site-description {
	clear: right;
	float: right;
	font-style: italic;
	margin: 15px 0 18px 0;
	width: 220px;
}
#branding img {
	display: block;
	float: left;
	max-width: 100%;
	height: auto;
}
#access {
	background: var(--nav-bg);
	display: block;
	float: left;
	margin: 0 auto;
	width: 100%;
}
#access .menu-header {
	font-size: 0.8125rem;
	margin: 0 auto 0 12px;
}
#access .menu-header ul {
	list-style: none;
	margin: 0;
}
#access .menu-header li {
	float: left;
	position: relative;
}
#access a {
	color: var(--nav-text);
	display: block;
	line-height: 2.375rem;
	padding: 0 10px;
	text-decoration: none;
}
#access ul ul {
	box-shadow: 0px 3px 3px rgba(0,0,0,0.2);
	display: none;
	position: absolute;
	top: 2.375rem;
	left: 0;
	float: left;
	width: 180px;
	z-index: 99999;
}
#access ul ul li {
	min-width: 180px;
}
#access ul ul a {
	background: var(--nav-hover);
	line-height: 1.3;
	padding: 10px;
	width: 160px;
	height: auto;
}
#access li:hover > a,
#access li:focus-within > a,
#access ul ul :hover > a {
	background: var(--nav-hover);
	color: var(--nav-text-active);
}
#access ul li:hover > ul,
#access ul li:focus-within > ul {
	display: block;
}
/* Escape hides an open dropdown; menu.js sets the class. */
#access ul li.menu-closed > ul {
	display: none;
}
#access ul li.current > a {
	color: var(--nav-text-active);
}
#main {
	clear: both;
	overflow: hidden;
	padding: 40px 0 0 0;
}
#content p,
#content ul,
#content ol {
	margin-bottom: 1.6em;
	text-wrap: pretty;
}
#content ul ul {
	margin-bottom: 0;
}
#content h1,
#content h2,
#content h3 {
	color: var(--ink);
	line-height: 1.25;
	margin: 0 0 10px 0;
}
.hentry {
	margin: 0 0 48px 0;
}
#content .entry-title {
	color: var(--ink);
	font-size: 1.75rem;
	font-weight: bold;
	line-height: 1.25;
	margin-bottom: 0;
}
/* Section headings and highlighted words carry the brand orange. */
#content .entry-content h2 {
	color: var(--accent);
	font-size: 1.375rem;
	font-weight: bold;
	margin: 32px 0 8px;
}
.entry-content > :first-child {
	margin-top: 0;
}
.accent {
	color: var(--accent);
}
.entry-content {
	clear: both;
	padding: 12px 0 0 0;
}
img.size-full,
img.size-medium {
	max-width: 100%;
	height: auto;
}
.alignleft,
img.alignleft {
	display: inline;
	float: left;
	margin-right: 24px;
	margin-top: 4px;
}
.alignright,
img.alignright {
	display: inline;
	float: right;
	margin-left: 24px;
	margin-top: 4px;
}
.aligncenter,
img.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
img.alignleft,
img.alignright,
img.aligncenter {
	margin-bottom: 12px;
}
.caption {
	background: var(--caption-bg);
	line-height: 1.5;
	margin-bottom: 20px;
	max-width: 632px !important;
	padding: 4px;
	text-align: center;
}
.caption img {
	margin: 5px 5px 0;
}
.caption .caption-text {
	color: var(--text-muted);
	font-size: 0.75rem;
	margin: 5px;
}
.widget-area ul {
	list-style: none;
	margin-left: 0;
}
.widget-container {
	margin: 0 0 18px 0;
}
#main .widget-area ul {
	margin-left: 0;
	padding: 0 20px 0 0;
}
#colophon {
	border-top: 4px solid var(--ink);
	margin-top: -4px;
	overflow: hidden;
	padding: 18px 0;
}
#site-info a {
	color: var(--ink);
	text-decoration: none;
}
#content img {
	max-width: 100%;
	height: auto;
}
/* Touch screens get 44px tap targets in the menu. */
@media (pointer: coarse) {
	#access a {
		line-height: 2.75rem;
	}
	#access ul ul {
		top: 2.75rem;
	}
	#access ul ul a {
		padding: 15px 10px;
	}
}
/* Below tablet width the sidebar moves under the page and everything runs full width. */
@media (max-width: 767px) {
	#wrapper {
		margin-top: 0;
		padding: 0 16px;
	}
	#header {
		padding-top: 16px;
	}
	#site-title,
	#site-description,
	#site-info,
	#container,
	#primary {
		float: none;
		margin: 0;
		width: auto;
	}
	#site-title {
		margin-bottom: 8px;
	}
	#site-description {
		margin-bottom: 12px;
	}
	#access .menu-header {
		font-size: 0.9375rem;
		margin-left: 0;
	}
	#main {
		padding-top: 24px;
	}
	#content {
		margin: 0 0 36px;
	}
	#main .widget-area ul {
		padding: 0;
	}
	.widget-container > div {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		gap: 16px 24px;
	}
	.widget-container > div > * {
		margin: 0;
	}
	.caption {
		box-sizing: border-box;
		max-width: 100% !important;
	}
}
/* Too narrow for text beside a picture, on a phone or beside the tablet sidebar: pictures sit on their own line. */
@media (max-width: 599px), (min-width: 768px) and (max-width: 899px) {
	#content .alignleft,
	#content .alignright {
		display: block;
		float: none;
		margin: 4px auto 12px;
	}
}
@media print {
	body {
		background: none !important;
	}
	#wrapper {
		clear: both !important;
		display: block !important;
		float: none !important;
		position: relative !important;
	}
	#header {
		border-bottom: 2pt solid #000;
		padding-bottom: 18pt;
	}
	#colophon {
		border-top: 2pt solid #000;
	}
	#site-title,
	#site-description {
		float: none;
		line-height: 1.4em;
		margin: 0;
		padding: 0;
	}
	#site-title {
		font-size: 13pt;
	}
	.entry-content {
		font-size: 14pt;
		line-height: 1.6em;
	}
	.entry-title {
		font-size: 21pt;
	}
	#access,
	#branding img,
	.widget-area {
		display: none !important;
	}
	#container,
	#header,
	#footer {
		margin: 0;
		width: 100%;
	}
	#content {
		margin: 24pt 0 0;
		width: 100%;
	}
	.caption .caption-text {
		font-size: 11pt;
	}
	#site-info {
		float: none;
		width: auto;
	}
	#colophon {
		width: auto;
	}
	#main {
		display: inline;
	}
}
