/*
github.com/necolas/normalize.css, v8.0.1
*/

html {
	line-height: 1.15; /*all*/
	-webkit-text-size-adjust: 100%; /*prevent adjustments of font size after orientation changes in iOS*/
}

/*body {margin: 0}*/ /*all*//*disabled by DWS*/

main {
	display: block; /*IE*/
}

h1 { /*correct h1 within section & article in Chrome, Firefox, Safari*/
	font-size: 2em;
	margin: 0.67em 0;
}

hr {
	box-sizing: content-box; /*add correct box sizing in Firefox*/
	height: 0; /*Firefox*/
	overflow: visible; /*show overflow in Edge, IE*/
}

pre,
code,
kbd,
samp {
	font-family: monospace, monospace; /*correct inheritance and scaling of font size in all browsers*/
	font-size: 1em; /*correct odd em font sizing in all browsers*/
}

a {
	background-color: transparent; /*remove gray background on active links in IE 10*/
}

abbr[title] {
	border-bottom: none; /*remove bottom border in Chrome 57-*/
	/*add correct text decoration in Chrome, Edge, IE, Opera, and Safari*/
	text-decoration: underline;
	text-decoration: underline dotted;
}

b,
strong {
	font-weight: bolder; /*add correct font weight in Chrome, Edge, and Safari*/
}

small {
	font-size: 80%; /*add correct font size in all browsers*/
}

/*prevent `sub` and `sup` elements from affecting line height in all browsers*/
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {bottom: -0.25em}
sup {top: -0.5em}

img {
	border-style: none; /*remove border on images inside links in IE 10*/
}

button,
input,
optgroup,
select,
textarea {
	/*change font in all browsers*/
	font-family: inherit;
	font-size: 1rem; /*DWS: original was 100%*/
	line-height: 1.15;
	margin: 0; /*remove margin in Firefox, Safari*/
}

button,
input {
	overflow: visible; /*show the overflow in Edge*/
}

button,
select { /* 1 */
	text-transform: none; /*remove inheritance of text transform in Firefox*/
}

button,
[type="button"],
[type="reset"],
[type="submit"] { /*correct inability to style clickable types in iOS, Safari*/
	-webkit-appearance: button;
}

details {
	display: block; /*Edge, IE 10+, Firefox*/
}

summary {
	display: list-item; /*all browsers*/
}

template {
	display: none; /*IE 10+*/
}

[hidden] {
	display: none; /*IE 10*/
}

fieldset {
	padding: 0.35em 0.75em 0.625em; /*Firefox*/
}

/*
1. Correct the text wrapping in Edge and IE.
2. Correct the color inheritance from `fieldset` elements in IE.
3. Remove the padding so developers are not caught out when they zero out fieldset elements in all browsers.
*/
legend {
	box-sizing: border-box; /*1*/
	color: inherit; /*2*/
	display: table; /*1*/
	max-width: 100%; /*1*/
	padding: 0; /*3*/
	white-space: normal; /*1*/
}

progress {
	vertical-align: baseline; /*Chrome, Firefox, and Opera*/
}

textarea {
	overflow: auto; /*remove default vertical scrollbar in IE 10+*/
}

[type="checkbox"],
[type="radio"] {
	box-sizing: border-box; /*add correct box sizing in IE 10*/
	padding: 0; /*remove padding in IE 10*/
}

/*correct cursor style of increment and decrement buttons in Chrome*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

[type="search"] {
	-webkit-appearance: textfield; /*correct odd appearance in Chrome and Safari*/
	outline-offset: -2px; /*correct outline style in Safar*/
}

[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none; /*remove the inner padding in Chrome and Safari on macOS*/
}

::-webkit-file-upload-button {
	-webkit-appearance: button; /*correct inability to style clickable types in iOS, Safari*/
	font: inherit; /*change font properties to inherit in Safari*/
}

/*DWS created:*/

main a {
	white-space: nowrap;
}

button {
	-moz-user-select: none;
	-webkit-user-select: none;
	user-select: none;
}

/*regex tp find occurances of these rules: [."' ]u- casesens*/

.u-fmt input[type="checkbox"],
.u-fmt input[type="radio"] {
	font-size: inherit;
	width: 1em;
	height: 1em;
}
.u-fmt input[type="checkbox"]:hover,
.u-fmt input[type="radio"]:hover {
	outline: 2px dotted;
	outline-offset: -2px;
}

button.u-btn,
.u-btn button {
	border: 2px solid #777;
	border-radius: .5em;
	padding: .25em .67em;
	white-space: nowrap;
	font-family: Arial, Verdana, sans-serif;
	font-size: 1rem;
	font-weight: bold;
	color: #000;
	background-color: #d8e8f8;
}
button.u-btn:hover,
.u-btn button:hover {
	background-color: #9cf;
}

.u-btnEl,
gg-button {
	display: inline-block;
	border: 2px solid #777;
	border-radius: .5em;
	padding: .25em .67em;
	line-height: inherit;
	white-space: nowrap;
	text-align: center;
	text-decoration: none;
	font-family: Arial, Verdana, sans-serif;
	font-size: inherit;
	font-weight: bold;
	color: #000;
	background-color: #def;
    -webkit-box-shadow: 0px 1px 3px 1px rgba(0,0,0,0.20);
    box-shadow: 0px 1px 3px 1px rgba(0,0,0,0.20); /*20190920*/
	cursor: default;
	-moz-user-select: none;
	-webkit-user-select: none;
	user-select: none;
}
.u-btnEl:hover,
gg-button:hover {
	background-color: #9cf;
}
.u-btnEl:active,
gg-button:active {
	color: #fff;
	background-color: #016fdc;
}

.u-btnBar {
	display: table;
	margin: .25em auto;
}
.u-btnBar .u-btn {
	margin: .25em 1em;
}

.u-btnElClose {
	display: block;
	position:absolute;
	top: 0;
	right: 0;
	border: 2px solid #555;
	border-radius: .5em;
	padding: 0 4px;
	text-align: center;
	font-size: 1rem;
	font-weight: bold;
	font-style: normal;
	color: #fff;
	background-color: #f00;
	cursor: default;
	-moz-user-select: none;
	-webkit-user-select: none;
	user-select: none;
}
.u-btnElClose::before {
	content: "\2715";
}
.u-btnElClose:hover {
	background-color: #8be;
}
.u-btnElClose:active {
	background-color: #016fdc;
}

.u-btnChar {
	display: inline-block;
	min-width: 2.5ch;
	border: 1px solid #00f;
	border-radius: 1em;
	text-align: center;
	font-family: Times,serif;
	font-size: inherit;
	font-style: normal;
	font-weight: bold;
	color: #00f;
	background-color: #f8f8f8;
	cursor: pointer;
	-moz-user-select: none;
	-webkit-user-select: none;
	user-select: none;
}

.u-linkEl {
	display: inline;
	white-space: nowrap;
	font-weight: bold;
	text-decoration: underline;
	color: inherit;
	cursor: pointer;
}
.u-linkEl:hover {
	text-decoration: underline dotted #bdf;
}
.u-linkEl:active {
	color: #fff;
	background-color: #016fdc;
}

.u-err {
	margin: .5em 1em;
	border: 1px solid #888;
	border-radius: 6px;
	padding: .5em 1em;
	text-align: center;
	background-color: #ff0;
	color: #f00;
}
.u-err:empty {
	display: none;
}

.u-chkboxScale {
	transform: scale(1.4);
	zoom: 1.2; /*for Safari*/
	position: relative;
	top: -2px;
}

/* <label class="u-labelChkBox"><input type="checkbox">Checkbox</label> */
.u-labelChkBox {
	vertical-align: middle;
	white-space: nowrap;
	font-family: Verdana, Arial, sans-serif;
	font-size: inherit;
	font-weight: normal;
	font-style: normal;
}
.u-labelChkBox > input[type="checkbox"] {
	margin-right: .2em;
	vertical-align: middle;
	font-size: 125%;
}

/* <label class="u-labelChkBoxSpan"><input type="checkbox"><span>Checkbox</span></label> */
.u-labelChkBoxSpan {
	white-space: nowrap;
	font-family: Verdana, Arial, sans-serif;
	font-size: 1rem;
	font-weight: normal;
	font-style: normal;
}
.u-labelChkBoxSpan > input {
	display:none;
}
.u-labelChkBoxSpan > input + span:before {
	content: "\2610";
	margin-right: .04em;
	font-size: 200%;
	vertical-align: -.1em;
}
.u-labelChkBoxSpan > input:checked + span:before {
	content: "\2611";
}

.u-sticky {
	position: -webkit-sticky;
	position: -moz-sticky;
	position: sticky;
	top: 0;
	background-color: #fff;
	opacity: 1;
	z-index: 100;
}

.u-table {
	border-collapse: collapse;
	border-spacing: 0px;
	margin-left: auto;
	margin-right: auto;
	--header-bg-color: #ddd;
}
.u-table,
.u-table caption,
.u-table thead,
.u-table tbody,
.u-table tfoot,
.u-table tr,
.u-table th,
.u-table td {
	box-sizing: border-box;
}
.u-table caption {
	border-top: 1px solid #888;
	border-left: 1px solid #888;
	border-right: 1px solid #888;
	padding: .125em .25em;
}
.u-table caption,
.u-table thead {
	text-align: center;
	font-weight: bold;
	background-color: var(--header-bg-color);
}
.u-table th,
.u-table td {
	border: 1px solid #888;
	padding: .125em .25em; /* .15em .4em */
}

.u-tableFlds th,
.u-tableFlds td {
	white-space: nowrap;
	overflow: hidden;
}
.u-tableFlds td {
	padding: .125em .4em;
	text-overflow: ellipsis;
}
.u-tableFlds td a {
	text-decoration: none;
}
.u-tableFlds tbody tr:hover {
	background-color: #def !important;
}

.u-tableHeadSticky {
	/* Add this to the <table> along with the u-table class */
	/* https://stackoverflow.com/questions/50361698/border-style-do-not-work-with-sticky-position-element */
}
.u-tableHeadSticky thead {
	position: -webkit-sticky;
	position: -moz-sticky;
	position: sticky;
	top: 0;
	opacity: 1;/*added20211121*/
	z-index: 1;/*added20211121*/
}
.u-tableHeadSticky thead th {
	/*text-overflow: clip;*/
	background-clip: padding-box; /*fixes Firefox (as of 64.x) missing borders because of position:sticky*/
}

.u-theadSticky {
	/* Add this to a table <thead> */
	position: -webkit-sticky;
	position: -moz-sticky;
	position: sticky;
	top: 0;
	opacity: 1;/*added20211121*/
	z-index: 1;/*added20211121*/
}
.u-theadSticky th {
	/*text-overflow: clip;*/
	background-clip: padding-box; /*fixes Firefox (as of 64.x) missing borders because of position:sticky*/
}

.u-pageTitle {
	margin: 8px 0;
	text-align: center;
	font-size: 1rem;
	font-weight: bold;
}

@media print {
	body {
		color: #000;
		background-color: #fff;
		background-image: none;
	}
	button, .noPrint, .u-btnEl { display: none !important; }
	.u-sticky, .u_theadSticky, .u-tableHeadSticky { position: static }
}
@media screen {
	.u-onlyPrint { display: none !important }
}

ul.u-menuDrop,
ul.u-menuDrop ul,
ul.u-menuDrop li {
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.u-menuDrop {
	position: relative;
	float: left;
	/*current defaults*/
	font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
	font-size: 14px;
}
ul.u-menuDrop li {
	float: left;
	min-height: 1px;
	line-height: 175%;
	vertical-align: middle;
	cursor: default;
	/* current defaults: */
	border: 1px solid #777;
	border-radius: 4px;
	padding: 0 6px;
	background-color: #eee;
}
ul.u-menuDrop ul {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 10;
	border: 1px solid #888;
	padding: .1em 0;
	color: #000;
	background-color: #ddd;
}
ul.u-menuDrop ul li {
	float: none;
	padding: 0 .9em;
	white-space: nowrap;
	z-index: 999;
}
ul.u-menuDrop ul ul {
	top: 1px;
	left: 99%;
}
ul.u-menuDrop li a {
	text-decoration: none;
}
ul.u-menuDrop li:hover {
	background-color: #aaa;
}
ul.u-menuDrop li:hover > ul {
	display: block;
}
