
html {
	overflow: revert; /* Drupal override */
	-webkit-text-size-adjust: 100%;
}

body {
	background: #fff;
	color: #333;
	margin: 0;
}

/* Drupal override */
:where(.templateContainer) :is(main, nav, header, footer),
article:where(.content),
.ui-widget { font: 1em/1.5 FreeSans, Helmet, sans-serif; }

a {
	text-decoration: none;
	transition: color .2s linear;
}
:where(.templateContainer, article.content) a { color: #2353ba; }
:where(.templateContainer, article.content) a:is(:hover, :focus) { color: #15396c; }

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
[tabindex]:focus {
	outline: 1px solid;
	outline-offset: 1px;
}

[tabindex="-1"]:focus { outline: 0; }
:focus:not(:focus-visible) { outline: 0; }

a:hover,
a:active {
	outline: 0;
	text-decoration: underline;
}

/* Drupal override */
body :where(.templateContainer, article.content, .ui-widget) :is(a, li, p) {
	font-family: inherit;
	line-height: revert;
}

abbr[title] { border-bottom: 1px dotted; }
@supports (text-decoration: underline dotted) {
	abbr[title] { border-bottom: 0; }
}

:where(.templateContainer, article.content, .ui-widget) address { font-style: revert; } /* Drupal override */

address,
dl,
dt,
form,
h2,
h3,
h4,
h5,
h6,
hr,
.imageFormat,
.message-box,
ol,
.oversized > li,
p,
.pod,
pre,
table,
ul { margin: 1.5em 0 .25em; }

[align] {
	float: none;
	text-align: inherit;
}

b,
.bold,
strong { font-weight: bolder !important; } /* !important is Drupal override */

basefont,
font {
	color: inherit;
	font: inherit;
}

[bgcolor] { background-color: inherit; }

big { font-size: inherit; }

blockquote {
	background: #f6f6f6;
	border-radius: 3px;
	margin: 1.5em;
	padding: 1em;
}

blockquote p:first-child,
dt:first-child,
li ol,
li ul { margin-top: .25em; }

center { text-align: inherit; }

code {
	background: #eee;
	color: inherit; /* Drupal override */
	padding: 1px;
}

code,
kbd,
pre,
samp {
	border-radius: 3px;
	font-family: Consolas, Monaco, monospace, monospace; /* duplication is intentional */
}

code,
pre,
samp {
	font-size: .875em;
	tab-size: 5;
	white-space: pre-wrap;
}

del { opacity: .8; }

:where(.templateContainer, article.content, .ui-widget) :is(h1, h1 a, h2, h2 a) { font-family: inherit; } /* Drupal override */

h1,
h1 a,
h3,
h3 a { font-weight: revert; } /* Drupal override */

h1 { font-size: revert; } /* Drupal override */

h2 {
	font-size: revert; /* Drupal override */
	line-height: 1.25;
}
h2,
h2 a { font-weight: revert; } /* Drupal override */

#mainColumn h3, /* specificity is Drupal override */
h3 {
	font-size: 1.1875rem;
	line-height: 1.263158;
}
h3,
h3 a { letter-spacing: revert; } /* Drupal override */

h3,
h4,
h5,
h6,
h3 a { font-family: inherit; } /* Drupal override */

.mainColumn h4, /* specificity is Drupal override */
h4,
.h4 {
	font-size: revert; /* Drupal override */
	line-height: 1.3125;
}

.mainColumn h5, /* specificity is Drupal override */
h5,
.h5 {
	font-size: .875rem;
	font-weight: 700; /* Drupal override */
	line-height: 1.357143;
}

.mainColumn h6, /* specificity is Drupal override */
h6,
.h6 {
	font-size: .8125rem;
	font-weight: 700; /* Drupal override */
	line-height: 1.384615;
}

hr {
	border-top-color: revert; /* Drupal override */
	border-width: 1px 0 0;
	clear: both;
	overflow: visible;
}
.heavy { border-top-width: 3px; }

[hspace] { margin-inline: 0; }

kbd {
	background: #555;
	border: 4px solid;
	border-color: #444 #333;
	color: #fff;
	font-size: .875em;
	padding: 1px 6px 2px 2px;
}

mark,
.mark {
	background-color: revert; /* Drupal override */
	padding: revert; /* Drupal override */
}

samp {
	background: #222b33;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	color: #01ff70;
	padding: 1px 2px;
}

::selection {
	background: #222b33;
	color: #ddd;
	text-shadow: none;
}

:where(.templateContainer, article.content, .ui-widget) :is(small, .small) {
	font-size: .8125em;
	font-weight: inherit; /* Drupal override */
}

strike { text-decoration: inherit; }

sub,
sup {
	font-size: .75em;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub { bottom: -.25em; }
sup { top: -.5em; }

var { color: #85144b; }

[valign] { vertical-align: initial; }
td[valign],
th[valign] { vertical-align: top; }

[vspace] { margin-block: 0; }


/* structure */
.site-header form { margin: 0; } /* Drupal reversion */
.site-header .form-submit { padding: .375rem .75rem; } /* Drupal reversion */

:where(.templateContainer, article.content, .ui-widget) #ui-id-1 { width: auto; } /* Drupal override */

.usa-banner p,
.region-secondary-menu ul,
.menu--footer-policies ul,
.social-nav,
.site-footer__top p,
.site-footer__top ul { margin-top: 0; } /* Drupal reversion */

.templateContainer {
	box-sizing: content-box; /* Drupal override */
	margin: 0 auto;
	max-width: 1000px;
	padding: 0 1%;
}
body > .templateContainer { margin-block-start: 1rem; }

nav ul,
.pageToolsContainer ul,
.pod > ul,
.pagination {
	list-style: none;
	padding-left: 0;
}

.vNav {
	margin: 0 0 3em;
	width: fit-content;
}

.vNav a {
	border-top: 1px solid #ededed;
	display: block;
	padding: .357143em 0;
}

.vNav .here {
	align-items: center;
	background: #fff;
	color: inherit;
	display: flex;
	font-weight: 700;
	justify-content: space-between;
	padding-right: 0;
	text-decoration: none;
}

.vNav ul { margin: 0; }

.vNav > ul > li > a { /* top-level menu item */
	border: 0;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.277777;
	padding: 0 0 8px;
}

.vNav ul ul { font-size: .875rem; }

.vNav ul ul ul {
	background: #f3f3f3;
	font-size: .8125rem;
}

.vNav ul ul ul > li > a {
	padding-left: 1em;
	padding-right: .25em;
}

.vNav ul ul ul ul {
	background: rgba(255, 255, 255, .5);
	font-size: .75rem;
	margin-left: 1em;
}

.vNav ul ul ul ul ul { font-size: .6875rem; }


.mainColumn { background: revert; } /* Drupal override */

.default .mainColumn,
.noRightSidebar .mainColumn { max-width: 760px; }

.breadcrumbs {
	border-bottom: 1px solid #ededed;
	font-size: .875rem;
	margin: 0;
	padding: 0 0 9px 1px;
}

.hGroup {
	margin-bottom: 9px;
	max-width: 520px;
	transition: .2s linear;
	width: 100%;
}

#content {
	clear: both;
	display: flow-root; /* prevent margin collapsing */
	width: 100%;
}

.noLeftSidebar .hGroup,
.noSidebars .hGroup,
.noLeftSidebar #content { max-width: 760px; }

.default #content { max-width: 520px; }

#content > footer {
	background: inherit; /* Drupal override */
	clear: both;
	display: flex;
	flex-direction: column;
	min-height: 5em;
}

.pageTitle {
	letter-spacing: -1px;
	line-height: 1.09375;
	margin: 2px 0;
	text-wrap: balance;
}
.pageSubtitle {
	color: #444;
	font-size: 1.75rem;
	letter-spacing: -1px;
	line-height: 1.142857;
	margin: 2px 0;
	text-wrap: balance;
}

.rightSidebar {
	margin-bottom: 3em;
	width: 220px;
}

.pageToolsContainer {
	display: flex;
	margin-top: 15px;
	max-height: 18px;
}

.pageTools,
.shareGroup {
	display: flex;
	margin: 0;
	min-height: revert; /* Drupal override */
}

.pageTools > :nth-child(n+2) { margin-left: 1.75rem; }

.pageTools .share svg {
	display: block;
	fill: #1da1f2;
}
.noJS .pageTools .print { display: none; }
.pageTools .print button {
	background: 0;
	border: 0;
	padding: 0;
}

.pageTools a,
.pageTools img { display: block; }

.shareGroup { margin-left: 2em; }
.shareGroup li {
	align-self: center;
	font-size: .75rem;
	font-weight: 700;
	line-height: 1rem;
}
.shareGroup > :nth-child(n+2) { margin-left: .5rem; }
.shareGroup a {
	border-radius: 2px;
	border: 1px solid #ccc;
	color: inherit;
	display: block;
	padding: 2px 3px;
	text-decoration: none;
}
.shareGroup svg {
	height: 13px;
	vertical-align: text-top;
	width: 13px;
}

.shareGroup .facebook a {
	background: linear-gradient(#4b68b9, #3b55a0);
	border-color: #3b55a0;
	color: #fff;
}
.shareGroup .facebook a:hover,
.shareGroup .facebook a:focus { background: linear-gradient(#5979d2, #4965b3); }

.shareGroup .twitter a { background: linear-gradient(#fefefe, #dfdfdf); }
.shareGroup .twitter a:hover,
.shareGroup .twitter a:focus { background: linear-gradient(#f7f7f7, #d9d9d9); }

.shareGroup .twitter svg { width: 16px; }


/* pod */
.pod {
	background: #f8f8f8;
	border: 1px solid #ddd;
}

.pod > h2 {
	background: #15396c;
	color: #fff;
	margin: 0;
	padding: 5px;
}
.pod.alt > h2 { background: #0076c0; }
.pod.alt2 > h2 { background: #222b33; }

.pod > h2 a { color: inherit; }

.pod > div { padding: 1px 5px; }

.pod > ul {
	margin-top: .25em;
	padding: 5px;
}
.pod > ul li { padding: 3px 0; }


/* lists */
dt { font-weight: 700; }

dd {
	margin-bottom: revert; /* Drupal override */
	margin-left: 2em;
}

ol,
ul { padding-left: 2em; }

ol ol:not([type]) { list-style: lower-alpha; }
ol ol ol:not([type]) { list-style: lower-roman; }

.more {
	font-size: .875em;
	font-weight: 400;
	list-style: none;
	margin-top: .5em;
}
.more a { font-weight: 700; }


/* images and videos */
/* Drupal override */
:where(.templateContainer, article.content, .ui-widget) img {
	border-style: revert;
	box-sizing: initial;
	vertical-align: revert;
}

img,
video {
	height: auto;
	max-width: 100%;
}

/* Drupal override */
:where(.templateContainer, .ui-widget) .content img,
.content:where(article) img { margin-block: revert; }

img[border] { border: initial; }
img[usemap] { max-width: initial; }

img.border {
	border: 1px solid !important; /* !important is Drupal override */
	max-width: calc(100% - 2px);
}

img.left {
	float: left;
	margin: .25em 1em 1em 0;
}
img.right {
	float: right;
	margin: .25em 0 1em 1em;
}


/* forms (normalization) */
button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font-family: inherit;
	font-size: 100%;
	margin: 0;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
	overflow: visible;
}

::-moz-focus-inner {
	border: 0;
	padding: 0;
}

[type="checkbox"],
[type="radio"] {
	min-height: 1.5em;
	vertical-align: top;
}

[type="file"] {
	border: 0;
	padding: 0;
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button { height: auto; }

[type="search"],
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

:where(.templateContainer, article.content, .ui-widget) fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
}

label { margin-block-end: revert; } /* Drupal override */

legend {
	color: inherit;
	font-size: inherit; /* Drupal override */
	margin-bottom: revert; /* Drupal override */
	padding: 0;
	width: auto; /* Drupal override */
}
textarea {
	min-width: 18em;
	overflow: auto;
	resize: vertical;
}

::placeholder {
	color: #595959;
	opacity: 1;
}


/* forms (template-specific) */
button,
input,
select,
textarea {
	border: 1px solid #767676;
	line-height: 1.25;
	max-width: 100%;
	padding: 1px 2px;
}
select { padding-inline: revert; }

button:hover,
button:focus,
input:hover,
input:focus,
select:hover,
select:focus,
textarea:hover,
textarea:focus { border-color: currentColor; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	background: #efefef;
	border-radius: 3px;
	font-weight: 700;
	padding: 1px .5em;
}

:where(.usa-banner) button { font-weight: inherit; }

:where(.templateContainer, article.content, .ui-widget) button:is(:hover, :focus), /* rule must be separate for specificity */
:where(.templateContainer, article.content, .ui-widget) :is(input[type="button"], input[type="reset"], input[type="submit"]):is(:hover, :focus) { background: #e5e5e5; }

button:active,
input[type="button"]:active,
input[type="image"]:active,
input[type="reset"]:active,
input[type="submit"]:active { transform: translate(1px, 1px); }

input[type="image"] {
	border: 0;
	padding: 0;
	vertical-align: top;
}

button.secondary,
input.secondary { font-weight: 400; }

/* precedes :disabled for cascade */
input:read-only:where(:not(
	[type="button"],
	[type="reset"],
	[type="submit"]
)),
textarea:read-only,
[contenteditable]:read-only {
	background: 0;
	border-color: transparent;
	text-overflow: ellipsis;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
	background: rgba(239, 239, 239, .3);
	border-color: rgba(118, 118, 118, .3);
	color: #545454;
}

optgroup:not(:last-child) { padding-bottom: 4px; }
optgroup::before { color: #595959; }

option { padding-inline: 2px; }


/* forms (layout class) */
.layout span.required {
	color: #a00;
	font-size: 1.5em;
	font-weight: 700;
	line-height: 0;
	position: relative;
	top: 2px;
}

.layout .formRow,
.layout fieldset {
	border: 1px solid transparent;
	border-radius: 3px;
}

.layout .formRow,
.layout .optionGroup { padding: 8px 4px; }
.layout fieldset .formRow,
.layout fieldset .optionGroup { padding-inline: 3px; }

.layout.striped .formRow:nth-child(odd) { background: #fff; }
.layout.striped .formRow:nth-child(even),
.layout:not(.striped) .formRow.altBg { background: #f6f6f6; }

.layout fieldset {
	margin: .5em 0;
	padding: 0;
}

.layout .formRow.border,
.layout fieldset.border { border-color: #c0c0c0; }

.layout legend {
	font-size: 1.0625em;
	font-weight: 700;
	margin: 0 10px;
	padding: 0 10px;
}
.layout legend ~ fieldset legend {
	font-size: 1em;
	font-weight: 400;
}

.layout label,
.layout .optionGroup span.label { display: block; }

.layout label.secondary.secondary { /* specificity */
	font-size: .875em;
	margin: 0;
	padding-top: 2px;
	width: auto;
}

.layout .caption {
	font-size: .875em;
	font-style: italic;
	margin-top: .25em;
}
.layout span.caption { display: block; }

.layout label + :is(input, select, textarea) { max-width: calc(98vw - 16px); }

.layout .optionGroup label {
	display: inline-block;
	width: calc(100% - 1.5em);
}


/* tables */
table {
	border: 1px solid #aaa; /* visible if cell borders are not displayed */
	border-collapse: collapse;
}
table.strict {
	table-layout: fixed;
	width: 100%;
}
table[width] { width: revert; }

td,
th {
	border: 1px solid #aaa;
	padding: 4px 6px;
	text-align: inherit;
	vertical-align: top;
}

th { background-color: revert; } /* Drupal override */

table caption { /* specificity is Drupal override */
	background: revert; /* Drupal override */
	color: inherit; /* Drupal override */
	font-weight: 700;
	margin: revert; /* Drupal override */
	text-align: left; /* Drupal override */
}
caption.header {
	background: #222b33;
	border: inherit;
	border-bottom: none;
	color: #fff;
	margin: 0;
	text-align: center;
}

thead td, /* specificity is Drupal override */
thead th {
	background: #15396c;
	color: #fff;
}
thead tr + tr td, /* specificity is Drupal override */
thead tr + tr th { background: #0076c0; }

thead tr + tr + tr td, /* specificity is Drupal override */
thead tr + tr + tr th {
	background: #c8e0f8;
	color: #222b33;
}

:not(.striped) > tbody > .altBg,
:not(.striped) > tbody > .alt-bg,
.striped > tbody tr:nth-child(even) { background: rgba(51, 51, 51, .1); }

.hover > tbody tr:hover { background: #f8f0a0; }

tfoot tr {
	background: #15396c;
	color: #fff;
	font-size: .875em;
	font-weight: 700;
}

thead a:link,
thead a:visited,
tfoot a:link,
tfoot a:visited { color: inherit; }

table.centered,
tr.centered,
td.centered,
th.centered { text-align: center; }

table.left,
tr.left,
td.left,
th.left { text-align: left; }

table.right,
tr.right,
td.right,
th.right { text-align: right; }

/* responsive */
[role="region"][aria-labelledby][tabindex] {
	background:
		linear-gradient(to right, #fff 30%, rgba(255, 255, 255, 0)),
		linear-gradient(to right, rgba(255, 255, 255, 0), #fff 70%) 0 100%,
		radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)),
		radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0)) 0 100%;
	background-attachment: local, local, scroll, scroll;
	background-color: #fff;
	background-position: 0 0, 100%, 0 0, 100%;
	background-repeat: no-repeat;
	background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
	overflow: auto;
}

/* move margin to the responsive container */
[role="region"][aria-labelledby][tabindex]:has(> table) { margin-block: 1.5em .25em; }
[role="region"][aria-labelledby][tabindex]:has(> table.join) { margin-block: .25em; }
[role="region"][aria-labelledby][tabindex]:has(> table) > table { margin-block: 0; }


/* feeds */
.feed h2 a {
	background: 0 50% no-repeat;
	padding-left: 30px;
	padding-right: 0;
}

.feed > ul {
	margin: 0;
	max-height: 362px;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 0;
}
.feed > ul > li { padding: 8px 5px; }
.feed > ul > li:nth-child(even) { background: #fff; }

.feed li p { margin-top: .25em; }

.feed small a {
	background: 0 50% no-repeat;
	padding: 0 0 0 18px;
}


/* imageFormat() */
.imageFormat.s2,
.imageFormat.s3 {
	background: #f6f6f6;
	border: 1px solid;
	padding: 2px;
}

.imageFormat img { display: block; }

.imageFormat figcaption {
	font-size: .875em;
	font-style: italic;
}

/* Drupal override */
:where(.templateContainer, article.content, .ui-widget) figcaption {
	font-size: inherit;
	font-weight: inherit;
}

figure.left {
	float: left;
	margin: 1.5em 1.5em 1em 0;
}
figure.center { margin-inline: auto; }
figure.right {
	float: right;
	margin: 1.5em 0 1em 1.5em;
}


/* message boxes */
.message-box {
	background: #f9f9f9 9px 20px no-repeat;
	border-color: #e8e8e8 #ddd #ddd #e8e8e8;
	border-style: solid;
	border-width: 1px 2px 2px 1px;
	border-radius: 3px;
	box-shadow: 0 0 2em rgba(51, 51, 51, .1) inset;
	font-size: .875em;
	margin-top: 1.5rem;
	min-height: 3em;
	padding: 1px 1em 1em 3em;
	position: relative;
}
.message-box.failure {
	background-color: #ffecee;
	background-image: url("../img/chalkwork/stop_24x24.png");
}
.message-box.info {
	background-color: #f1f8ff;
	background-image: url("../img/chalkwork/info_24x24.png");
}
.message-box.loading {
	background-color: #f6f6f6;
	background-image: url("../img/loadingCircle.gif");
}
.message-box.success {
	background-color: #e9f9e8;
	background-image: url("../img/chalkwork/confirm_24x24.png");
}
.message-box.warning {
	background-color: #ffefc5;
	background-image: url("../img/chalkwork/warning_24x24.png");
}


/* page messages */
.pageMessages {
	background: #0a2245;
	overflow: hidden;
}

.pageMessage {
	background: #f6f6f6 25px 15px no-repeat;
	border: 3px solid #fff;
	border-radius: 3px;
	margin: 1.5em 0;
	padding: 1em 5.5em;
	position: relative;
}
.pageMessage h2 {
	font-family: Rockwell, Arvo, serif;
	margin: 0;
}
.pageMessage.debugging { background-image: url("../img/chalkwork/tools_32x32.png"); }
.pageMessage.cms {
	background-color: #f5f2ed;
	background-image: url("../img/chalkwork/control_panel_32x32.png");
}
.pageMessage.cms .addNews {
	background: url("../img/chalkwork/document_add_custom_13x16.png") 0 50% no-repeat;
	padding-left: 17px;
}
.pageMessage.cms .addMedia {
	background: url("../img/chalkwork/movie_add_custom_16x16.png") 0 50% no-repeat;
	padding-left: 20px;
}
.pageMessage.switchTemplate {
	background-color: #fff;
	background-image: url("../img/chalkwork/template_32x32.png");
}

.message-box > .close,
.pageMessage > .close {
	background: 0;
	border: 0;
	border-radius: 0 0 0 3px;
	bottom: auto;
	color: inherit;
	font-size: 1.5em;
	font-weight: 400;
	opacity: .33;
	padding: 0 .2em;
	position: absolute;
	right: 0;
	top: 0;
	transition: .2s linear;
}
.message-box:hover > .close,
.pageMessage:hover > .close {
	background: rgba(200, 200, 200, .33);
	opacity: .66;
}

.message-box > .close:hover,
.message-box > .close:focus,
.pageMessage > .close:hover,
.pageMessage > .close:focus {
	background: rgba(200, 200, 200, .66);
	opacity: 1;
}


/* helper classes and utilities */
:where(.templateContainer, article.content, .ui-widget) .alert {
	border: revert; /* Drupal override */
	border-radius: revert; /* Drupal override */
	color: #a00;
	margin-bottom: revert; /* Drupal override */
	padding: revert; /* Drupal override */
	position: revert; /* Drupal override */
}

ul.anchorDown,
ul.anchorDown ul,
ul.anchorUp,
ul.anchorUp ul { list-style: none; }

a.anchorDown::before,
ul.anchorDown a::before {
	content: "\1F863";
	opacity: .66;
	padding-right: .5ch;
}

a.anchorUp::before,
ul.anchorUp a::before {
	content: "\1F861";
	opacity: .66;
	padding-right: .5ch;
}

ul.anchorDown a::before,
ul.anchorUp a::before {
	display: inline-block;
	margin-left: -2em;
	text-align: right;
	width: 2em;
}

p.center { text-align: center; }

.clear::before,
.clear::after {
	content: "";
	display: table;
}
.clear::after { clear: both; }

.desaturate { filter: grayscale(1); } /* desaturate template when dialog is open */

/* documentViewer() fallback */
a[href*="."]:last-child::after { font-size: .875em; }

a[href$=".csv" i]:last-child::after { content: " (CSV)"; }

a:is(
	[href$=".doc" i],
	[href$=".docm" i],
	[href$=".docx" i],
	[href$=".dot" i],
	[href$=".rtf" i]
):last-child::after { content: " (MS Word)"; }

a[href$=".epub" i]:last-child::after { content: " (ePub)"; }
a[href$=".fml" i]:last-child::after { content: " (OmniForm)"; }
a[href$=".mobi" i]:last-child::after { content: " (MOBI)"; }
a[href$=".mp3" i]:last-child::after { content: " (MP3)"; }
a[href$=".mp4" i]:last-child::after { content: " (MP4)"; }
a[href$=".pdf" i]:last-child::after { content: " (PDF)"; }

a:is(
	[href$=".pps" i],
	[href$=".ppsx" i],
	[href$=".ppt" i],
	[href$=".pptx" i]
):last-child::after { content: " (MS PowerPoint)"; }

a[href$=".swf" i]:last-child::after { content: " (SWF)"; }
a[href$=".txt" i]:last-child::after { content: " (TXT)"; }
a[href$=".wav" i]:last-child::after { content: " (WAV)"; }
a[href$=".wma" i]:last-child::after { content: " (WMA)"; }
a[href$=".wmv" i]:last-child::after { content: " (WMV)"; }

a:is(
	[href$=".xls" i],
	[href$=".xlsm" i],
	[href$=".xlsx" i]
):last-child::after { content: " (MS Excel)"; }

a[href$=".xml" i]:last-child::after { content: " (XML)"; }
a[href$=".zip" i]:last-child::after { content: " (Zip)"; }

/* exit link icon */
@media screen {
	[href^="/exit/"] {
		background: url("../img/external.svg") calc(100% + .125em) 50% / 1.25em no-repeat;
		padding-right: 1em;
	}
	[href^="/exit/"][style],
	.descendantImage { /* class added by JS */
		background-image: none;
		padding-right: 0;
	}
}

.hide,
.hidden,
.columnSplit { display: none; }

.join,
.oversized.join > li:first-child { margin-top: .25em; }

/* Drupal override */
:where(.templateContainer, article.content) .modal {
	display: revert;
	outline: revert;
	overflow: revert;
	position: revert;
}
.modal.search {
	background: url("../img/chalkwork/search_16x16.png") 100% 50% no-repeat;
	padding-right: 20px;
}

.noWrap { white-space: nowrap; }

p.right { text-align: right; }

.roundAll { border-radius: 6px; }
.roundBottom { border-radius: 0 0 6px 6px; }
.roundLeft { border-radius: 6px 0 0 6px; }
.roundRight { border-radius: 0 6px 6px 0; }
.roundTop { border-radius: 6px 6px 0 0; }

.sticky {
	position: sticky;
	top: 1rem;
}

.twoColumn,
.threeColumn {
	align-items: flex-start;
	display: flex;
	flex-flow: column wrap;
	justify-content: space-between;
}

.uppercase { text-transform: uppercase; }

/* remain available for screen readers */
.visuallyHidden { position: absolute; }
.visuallyHidden[href="#content"] {
	background: #0a2245;
	color: #fff;
	left: .5em;
	padding: 6px;
	top: .5em;
	transition: .3s linear;
	z-index: 1;
}
.visuallyHidden:not(:focus) {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	white-space: nowrap;
	width: 1px;
}


/* Document Library */
#searchAdvisoryCirculars,
#searchForms,
#searchOrdersNotices {
	background: #d3e5f5;
	padding: .5em 0;
}


/* jQuery UI customizations */
.ui-helper-reset { line-height: inherit; }

.ui-widget,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
	font-family: FreeSans, Helmet, sans-serif; /* Drupal override */
	font-size: inherit;
}

.ui-widget-content,
.ui-widget.ui-widget-content {
	border: 4px solid #e6e6e6;
	color: inherit;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
	background-image: none;
	border: 4px solid #e6e6e6;
	transition: .2s linear;
}

.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus { background: #f6f6f6; }

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
.ui-state-active a:link,
.ui-state-active a:visited {
	background: #fff;
	color: inherit;
}

.ui-widget-header { font-size: inherit; } /* Drupal override */

.ui-accordion-content a,
.ui-dialog-content a,
.ui-tabs-panel a { color: #2353ba; }
.ui-accordion-content a:hover,
.ui-accordion-content a:focus,
.ui-dialog-content a:hover,
.ui-dialog-content a:focus,
.ui-tabs-panel a:hover,
.ui-tabs-panel a:focus { color: #15396c; }

.ui-accordion { margin: 1.5em 0 .25em; }
.ui-accordion .ui-accordion-header {
	font-weight: 700;
	padding: .25em .5em;
}
.ui-accordion .ui-state-active { border-bottom-width: 3px; }
.ui-accordion .ui-accordion-content { padding: 1px 1em; }

.ui-autocomplete-loading {
	background-image: url("../img/loadingCircle.gif");
	background-position: 100% 50%;
	background-repeat: no-repeat;
	background-size: 20px 20px;
}

.ui-autocomplete {
	max-height: 368px;
	max-width: 280px;
	overflow-y: auto;
	padding: 3px;
}

.ui-button-icon-only { overflow: hidden; }

.ui-datepicker { padding: .5em; }
.ui-datepicker table { margin: 0; }

.ui-dialog {
	border-radius: 4px;
	box-shadow: 0 0 100px rgba(255, 255, 255, .66);
	max-width: calc(100% - 1em);
	padding: 0;
	transition: .2s linear;
}

.ui-dialog .ui-dialog-titlebar {
	background: #0f3062;
	border: 0;
	border-radius: 0;
	color: #fff;
}
.ui-dialog .ui-dialog-title {
	font-size: 1rem;
	width: calc(100% - 12px);
}

.ui-dialog .ui-dialog-content { padding-top: 1px; }

.ui-dialog .ui-dialog-content:empty,
.ui-tabs .ui-tabs-panel:empty {
	background: #fff url("../img/loadingBar.gif") 50% 50% no-repeat;
	min-height: 60px;
	padding: 0;
}

/* used by autocomplete */
.ui-menu .ui-menu-item-wrapper {
	border-radius: 3px;
	display: block;
	transition: none;
}
.ui-menu .ui-menu-item .ui-state-active {
	background: #0f3062;
	border: 0;
	color: #fff;
	margin: 0;
	text-decoration: none;
}

.ui-widget-content.ui-tabs {
	background: 0;
	border: 0;
	margin: 1.5em 0 .25em;
	padding: 0;
}

.ui-tabs .ui-tabs-nav {
	background: 0;
	border: 0;
	color: inherit;
	padding: 0 0 0 .5em;
}
.ui-tabs .ui-tabs-nav li {
	font-weight: 700;
	margin-top: 0;
	top: 3px;
}

.ui-tabs .ui-tabs-nav .ui-tabs-anchor { padding: .25em .5em; }

.ui-tabs .ui-tabs-panel {
	border-width: 4px;
	padding: 1px 1em;
}

.ui-tabs.vertical { display: flex; }
.ui-tabs.vertical .ui-tabs-nav {
	padding: .5em 0 0;
	width: 27%;
}
.ui-tabs.vertical .ui-tabs-nav li {
	border-bottom-width: 4px;
	border-right-width: 0;
	border-radius: 4px 0 0 4px;
	float: none;
	margin: 0 -4px .2em 0;
	padding-bottom: 0;
	top: 0;
	white-space: normal;
}
.ui-tabs.vertical .ui-tabs-nav .ui-tabs-anchor {
	display: block;
	float: none;
	padding: .5em .25em;
}

.ui-tabs.vertical .ui-tabs-panel {
	border-radius: 0 4px 4px 0;
	width: 73%;
}

.ui-widget-overlay {
	background: currentColor;
	opacity: .75;
}

.ui-widget-shadow { box-shadow: none; }


/* pagination */
.pagination { overflow: hidden; }

/* Drupal overrides */
:where(.templateContainer, article.content, .ui-widget) .pagination {
	border-radius: revert;
	display: revert;
	margin-bottom: .25em;
}

.pagination li { float: left; }
.pagination li:nth-child(n+2) { margin-left: .25em; }

.pagination a {
	color: inherit;
	transition: none;
}

.pagination a,
.pagination span {
	border: 1px solid transparent;
	display: block;
	padding: 2px 8px 1px;
}

.pagination a:hover,
.pagination a:focus {
	background: linear-gradient(#555, #222);
	border-color: #111;
	color: #fff;
	text-decoration: none;
}

.pagination span {
	background: #eee;
	border-color: #cacaca;
}

.pagination .arrows span {
	background: 0;
	border-color: transparent;
}

.pagination [aria-disabled] {
	background: inherit;
	border-color: transparent;
	color: #aaa;
}


/* screen */
@media screen {
	.forPrint { display: none; }
}


/* responsive design */
@media (min-width: 370px) {
	.pageTools > :nth-child(n+2) { margin-left: 2.25rem; }
}

@media (min-width: 440px) {
	.twoColumn { flex-direction: row; }
	.twoColumn > div { width: calc(50% - 1em); }
}

@media (min-width: 510px) {
	.threeColumn { flex-direction: row; }
	.threeColumn > div { width: calc(100% / 3 - 1em); }
}

@media (min-width: 531px) {
	.layout .formRow,
	.layout .optionGroup { padding-block: 4px; }

	.layout .optionGroup,
	.layout .formRow.noLabel { padding-left: 161px; }

	.layout fieldset .optionGroup,
	.layout fieldset .formRow.noLabel { padding-left: 160px; }

	.layout .optionGroup legend { margin-left: -147px; }

	.layout label { padding-top: 1px; }

	.layout label,
	.layout .optionGroup span.label {
		display: inline-block;
		margin-right: 3px;
		text-align: right;
		vertical-align: top;
		width: 150px;
	}

	.layout .optionGroup span.label { margin-left: -157px; }

	.layout .optionGroup label {
		margin: 0;
		padding: 0;
		text-align: left;
	}

	.layout label + :is(input, select, textarea) { max-width: 345px; }

	.layout .caption { margin-left: 157px; }
}

@media (min-width: 770px) {
	.ui-autocomplete { max-width: 355px; }
}

@media (min-width: 776px) {
	.default .hGroup,
	.noRightSidebar .hGroup {
		float: left;
		padding-top: 8px;
	}

	.default .pageToolsContainer,
	.noRightSidebar .pageToolsContainer {
		flex-direction: column;
		float: right;
		width: 220px;
	}

	.default .pageToolsContainer ul,
	.noRightSidebar .pageToolsContainer ul { justify-content: flex-end; }

	.default .shareGroup li,
	.noRightSidebar .shareGroup li { margin-top: 8px; }

	.default #content { float: left; }

	:is(.noLeftSidebar, .noRightSidebar) .layout label + :is(input, select, textarea) { max-width: 585px; }

	.default .rightSidebar {
		float: right;
		margin-bottom: 5em;
		margin-left: 20px;
	}
}

@media (min-width: 1020px) {
	.mainColumn {
		float: right;
		width: 100%; /* prevent float shrink-wrapping */
	}

	.hGroup {
		float: left;
		padding-top: 8px;
	}

	.pageToolsContainer {
		flex-direction: column;
		float: right;
		width: 220px;
	}

	.pageToolsContainer ul { justify-content: flex-end; }

	.shareGroup li { margin-top: 8px; }

	.noSidebars .layout label + :is(input, select, textarea) { max-width: 825px; }

	#content { float: left; }

	#content > footer { flex-direction: column-reverse; }

	.rightSidebar {
		float: right;
		margin-bottom: 5em;
		margin-left: 20px;
	}

	.vNav {
		float: left;
		margin: 0 20px 5em 0;
		width: 220px;
	}

	.vNav > ul > li > ul:first-child { margin-top: 30px; } /* no top-level menu item */

	.vNav .here::after {
		color: #aaa;
		content: "\21e8";
		font: 2em/.33 Arial, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Symbol";
		height: .5em;
	}
}

@media (max-width: 1020px) {
	:where(.noSidebars) :is(img, figure):is(.left, .right):where(:not(.keepFloated)) {
		display: block;
		float: none;
		margin-inline: 0;
	}
}

@media (max-width: 775px) {
	:where(.noLeftSidebar, .noRightSidebar) :is(img, figure):is(.left, .right):where(:not(.keepFloated)) {
		display: block;
		float: none;
		margin-inline: 0;
	}
}

@media (max-width: 530px) {
	:is(img, figure):is(.left, .right):where(:not(.keepFloated)) {
		display: block;
		float: none;
		margin-inline: 0;
	}
}


/* override @media rules */
.layout .noLabel .caption,
.layout .optionGroup .caption { margin-left: 0; }


/* print */
@media print {
	* {
		background: #fff !important;
		box-shadow: none !important;
		color: #000 !important;
		text-shadow: none !important;
	}

	a { text-decoration: underline; }

	abbr[title]::after {
		content: " (" attr(title) ")";
		font-size: .875em;
	}

	blockquote,
	figure,
	img,
	pre,
	tr { break-inside: avoid; }

	blockquote,
	pre { border: 1px solid #999; }

	h2,
	h3,
	h4,
	h5,
	h6 { break-after: avoid; }

	p {
		orphans: 3;
		widows: 3;
	}

	nav,
	.pageTools,
	.shareGroup,
	.rightSidebar,
	.noPrint { display: none; }

	.templateContainer,
	.mainColumn,
	.mainColumn #content {
		float: none;
		padding: 0;
		width: auto;
	}
}
