/*
 background: #931420
*/

/* normalize.css */
main { display: block; max-width: 40em; margin: 0 auto;}
hr { box-sizing: content-box; height: 0; overflow: visible; display: block; height: 1px; border: 0; border-top: 1px solid #ccc;  margin: 1em 0; padding: 0; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
strong { font-weight: bolder; }
audio, canvas, iframe, img, svg, video { vertical-align: middle; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
textarea { overflow: auto; resize: vertical; }

a { background-color: transparent; color: #931420; }
a:hover { background: #FFA; }
.b { font-weight: bold; }
.c { text-align: center; }

html {
  color: #222;
  font-size: 1.05em;
  font-family: 'ainslie', Verdana, sans-serif;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: #F9F9F9;
}
h1,h2,h3,h4 { margin: 0; line-height: 1.1; }
h1 { color: #931420; font-size: 2.4em; text-align: center; margin: .6em }
h2 { color: #004063; font-size: 1.7em; text-align: center; margin: 2em .3em .3em .3em }
h3 { color: #004063; font-size: 1.3em; padding-top: 1em; }

p {
  color: #222;
  background-color: #F9F9F9;
  margin-left: 1em;
}
label { display: block; font-weight: bolder; text-align: left;}
input { display: block; }

#tfrm {
	min-width: 10em;
	border: 1px solid #004063;
	margin: .6em;
	padding: 7px;
	border-radius: 1em;
}
#tfrm div.outer {
	padding: 1em;
	background-color: #f1efea;
	border-radius: .8em;
}
#tfrm a {
	margin-top: 0;
	color: #004063;
}
#tfrm label {
	min-width: 6em;
	color: #004063;
	padding: .4em 0;
}
#tfrm p {
	color: #004063;
	background-color: inherit;
	font-family: Arial, Helvetica, sans-serif;
}
#tfrm input {
	width: calc(100% - 2.5em);
	margin: 0 0 1em 1em;
}
#tfrm input[type=date] {
	width: 50%;
}
#tfrm input[type="button"], #tfrm input[type="reset"], #tfrm input[type="submit"] {
	margin-top: 2em;
	margin-bottom: 2em;
	padding: 1em;
	font-weight: bold;
	color: #931420;
}
#tfrm input[type="image"] {
	width: 100px;
	display: inline-block;
	margin: 0.5em;
}

#tfrm input.half {
	width: 50%;
}
#tfrm select {
	margin: 0 0 1em 1em;
	min-width: 50%;
	max-width: calc(100% - 2.5em);
	padding: 3px;
}


#tfrm textarea {
	width:calc(100% - 2.5em);
	margin: 0 1em 2em 1em;
	height: 8em;
	padding: 0.4em;
	font-size: 90%
}
#tfrm .frmtxt, .invalid, .notice {
	display: inline-block;
	padding: 1em;
	width: auto;
	background-color: #f1efea;
	border: none;
	margin: 0;
}
.invalid, .notice {
	border: 1px solid #004063;
	background-color: #FFF;
	display: block;
	text-align: center;
	font-weight: bold;
	margin: .4em auto;
}
.invalid {
	color: red;
}
.notice {
	color: green;
}
.notice span {
	color: #004063;
}
#tfrm [type="text"], #tfrm [type="email"], #tfrm [type="number"] {
	padding: .5em;
}

img#faculty {
	margin-left: 2em;
}

.updated th, .updated td {
	background-color: #004063;
}
.updated th {
	color: #FFF;
	padding-left: 3px;
}
#role {
	margin: 3px auto;
	padding: 3px;
	border: 1px solid #004063;
	text-align: center;
	color: #004063;
	background-color: #FFF;
}
@media only screen and (max-width: 650px) {
	img#faculty { margin: 0 1em; }
}
@media only screen and (max-width: 450px) {
	h1 { font-size: calc(100vw / 13); }
}


table {
	border-spacing: 0;
	border-collapse: collapse;
	width: 100%;
}
th {
	color: #931420;
	text-align: left;
	width: 30%;
	padding-right: 6px;
}
td {
	width: 70%;
	padding: 0;
	border: 1px solid #004063;	
}
table a, table div {
	display: block;
	padding: 6px;
}
table a {
	background-color: #FFF;
}
table div {
	background-color: #e4ebf3;
}
table.sup tr {
	vertical-align: top;
}
table.sup th, table.sup td {
	 padding: 3px;
}
table.sup td.supl {
	padding: 0;
	font-weight: bold;
}
table.sup tr > td:nth-child(2) {
	font-size: 80%;
	vertical-align:middle;
	background-color: #FFF;
	text-align: center;
	white-space: nowrap;
}
table.sup tr > td:nth-child(2).supl {
	font-size: 100%;
	text-align: left;
	white-space: normal;
}
@media only screen and (max-width: 500px) {
	table th {
		display: inline-block;
		width: 100%;
	}
	table td {
		display: inline-block;
		margin: 6px 0 1em 2em;
		width: calc(100% - 2em);
	}
	table.sup td {
		display:table-cell;
	}
}

#student-submit {
	text-align: center;
	display: block;
	margin: 2em auto !important;
	width: 50% !important;
	min-width: 13em;
	font-weight: bold;
	padding: 0.5em;
	background-color: #FFF;
	color: #004063;
	border: 2px solid #004063;
}
#student-submit:hover {
	text-decoration: underline;
}
fieldset { border: 1 px solid #004063; padding:1em; margin: 2em 0; }
legend { color:#FFF; font-weight: bold; padding: 3px; background-color: #004063; border: 3px solid #f1efea; padding: 0 0.4em; text-align: center;}

#tfrm div.approval-checkbox {
	padding: 0.4em;
	margin: 0.5em;
	border: 1px solid #004063;
	text-align: right;
	background-color: #FFF;
}
#tfrm div.approval-checkbox input {
	display: inline; margin: 0 0.5em; width: auto;
}
#tfrm div.approval-checkbox label {
	min-width: auto;
	text-align: inherit;
	color: #931420;	
}

#tfrm2 legend { background-color: #931420; }
#tfrm2 input { color: #931420; border-color: #931420; width: 10em !important;}

@media only screen and (max-width: 420px) {
}

.fwpic {
	display: block;
	height: 33vw;
}
.fwpic img {
	width: 100%;
	height: 100%;
	aspect-ratio: 1800 / 600;
}

.mw, #yt, #wy, #hta {
	margin: 0 auto;
	padding: 0 .3em;
	max-width: 42em;
}

div#sia {
	background-color: #f1efea;
	padding: 1em;
	border: 1px solid #b4babe;
}
div#sia p {
	background-color: inherit;
}

select.fixedwidth {
	font-variant-numeric: tabular-nums lining-nums;
}

/*
span.ballot-empty {
	color: #931420;
	cursor: not-allowed;
}
span.ballot-checked {
	color: green;
	cursor: pointer;
}
span.ballot-empty, span.ballot-checked {
	font-weight: bold;
	font-size: 120%;
	background-color: #FFF;
	padding: 0 2px;
}
*/
img#logo {
	width: 240px;
	margin: 1em auto 2em auto;
	display: block;
}
/* IntList */
table.int {
	border-spacing: 0;
	border-collapse: collapse;
	width: 100%;
}
table.int th {
	color: #931420;
	text-align: left;
	width: 30%;
	padding-right: 6px;
}
table.int td {
	width: 70%;
	padding: 0;
	border: 1px solid #004063;	
}
table.int a, table.int div {
	display: block;
	padding: 6px;
}
table.int a {
	background-color: #FFF;
}
table.int div {
	background-color: #d3d3d3;
}
table.int .spl {
	border-left: 0;
	border-right: 0;
	border-top: 0;
	padding: 20px 0 8px 0;
	font-weight: bold;
	color: #931420;
	font-size: 110%;
}
div.sint {
	display:flex;
	justify-content:center;
	margin-bottom: 1em;
	border: 1px solid #666;
	background-color: #FDFDFD;
	border-radius: 20px;
	padding: 8px;
}
div.sint h2 {
	margin-top: 15px;
}


@media only screen and (min-width: 421px) and (max-width: 800px) {
	.mw { padding: 0 .6em; } 
	fieldset { border: 3px solid #004063; padding:.1em; margin: .2em 0; }
	div { margin: none;}
}
@media only screen and (min-width: 801px) and (max-width: 1200px) { .mw { padding: 0 .9em; } }
@media only screen and (min-width: 1201px) { .mw { padding: 0 1.2em; } }

footer {
	text-align: center;
	margin: 4em 1em 2em 1em;
	border-top: 1px dotted gray;
}

/* change text-selection style. cannot combine */
::-moz-selection { background: #931420; text-shadow: none; color: white; }
::selection { background: #931420; text-shadow: none; color: white; }


.wysi-editor {
	color: #222;
	font-family:inherit;
}

div#changes {
	max-height: 800px;
	overflow-x: auto;
	font-size: 90%;
}
div#changes 
div#changes th, div#changes td {
	width: auto;
	padding: 1px 4px;
}
span.cold {
	color: maroon;
}
span.cnew {
	color: green;
}