html, body {
	font-family: Verdana, Geneva, Arial, helvetica, sans-serif;
	background: #FFF;
	color: #000;
	height: 100%;
	margin: 0;
	padding: 0;
}
body {
	font-size: 80%;
}
a {
	text-decoration: none;
}
#sidebar a { 
	color: #003;
	font-weight: bold;
	text-decoration: none;
}
#sidebar a:hover {
	text-decoration: underline;
}
#content a {
	color: #003;
	text-decoration: underline;
}
#content a:hover {
	color: #F00;
	text-decoration: underline;
}

h1 a {
	color: #000;
}
h1 { 
	font-size: 300%;
	font-weight: bold;
}
h2 {
	font-size: 120%;
}
legend {
	font-weight: bold;
}
#root {
	min-height: 100%;
	position: relative;
}
#header {
	font-family: "Times New Roman", Times, serif;
	/*background: #369 url(/images/header_grad.png);*/
	/*background: #C96 url(/images/header_grad_brown.png);*/
	background: #A11 url(/images/header_grad_red.png);
	/*padding: 2em 0.5em 1em 0.5em;*/
	height: 90px;
	overflow: hidden;
	position: relative;
}
#header .staffribbon {
	position: absolute;
	top: 0;
	right: 0;
	width: 200px;
	height: 90px;
	background: url(/images/staff_ribbon.png) top right no-repeat;
}
#header div {
	padding: 1em 0.5em 0 0.5em;
}
#header h1, #header h2 {
	margin: 0;
}
#header h2 {
	font-style: italic;
}
#sidebar {
	width: 150px;
	background: #CCC;
	position: absolute;
	top: 90px;
	left: 0;
	min-height: 100%;
	padding: 0.3em 0 0 0;
	z-index: 5;
}
#sidebar h3 {
	display: none;
}
#sidebar h4 {
	margin: 0 0 0.8em 0;
	padding: 0.1em 0.3em;
	/*
	background: #AAA;
	color: #000;
	*/
	background: #666;
	color: #FFF;
	font-size: 100%;
	font-weight: bold;
}
#sidebar p {
	margin: 0 0.3em 1em 0.4em;
}
#sidebar form {
	margin: 0;
}
#sidebar p.search {
	text-align: center;
}
#sidebar p.search a {
	margin-right: 0.5em;
}
#sidebar p.search input.search {
	width: 95%;
}
#sidebar a.staff_vote {
	color: #C00;
}
#main {
	position: relative;
	margin-left: 150px;
	padding: 0;
}
#content {
	padding: 0.8em;
}
#content h3:first-child, #content h3.first {
	margin-top: 0;
}
h3 {
	font-size: 200%;
}
.pester {
	color: red;
}
.login.failure {
	color: #C00;
}
label {
	font-weight: bold;
}
label.soft {
	font-weight: normal;
}
a.selected {
	text-decoration: underline;
	cursor: default;
	color: black;
	font-weight: bold;
}
.minor {
	font-size: 80%;
}
.instructions, .info {
	font-style: italic;
}
.advisory {
	border-style: solid;
	border-width: 1px;
	padding: 0.4em;
	margin: 0.8em;
}
.advisory.error {
	background-color: #FCC;
	border-color: red;
	color: #900;
}
.advisory.warning {
	background-color: #FC3;
	border-color: #F60;
	color: black;
}
.advisory.success {
	background-color: #CFC;
	border-color: #060;
	color: #030;
}
.clearer {
	clear: both;
	margin: 0;
}
.autowidth {
	display: table;
}
span.fake_link {
	font-weight: bold;
	color: #CCC;
}

table.columns {
	border: none;
	border-collapse: collapse;
}
table.columns td {
	vertical-align: top;
	padding: 0 1em;
}
textarea.full { width: 99%; }

.guestheader { background: #FC6; padding: 0.4em; font-weight: bold; text-align: center; }
.guestheader p { margin: 0; }

/* UNDER DEVELOPMENT
table.browse_home {
	border: none;
	border-collapse: collapse;
}
table.browse_home td {
	vertical-align: top;
	padding: 0 2em;
}
table.browse_home ul {
	list-style-type: none;
}
table.browse_home ul.editions li {
	white-space: nowrap;
}
table.browse_home ul.departments li {
	float: left;
	width: 25em;
}
*/

.homelogo { float: right; background: white; }
.home div.group { margin-bottom: 2em; }
.home div.group h4 { margin: 0 0 0.3em 0; text-transform: uppercase; }
.home div.group p { margin: 0 0 0.2em 0; }
.home div.group.motd { border: solid #AAA 1px; padding: 0.4em; }
/*
.home div.group.motd { border: none #000 1px; background: #CDF; padding: 0.4em; }
.home div.group.newfeatures { border: none #000 1px; background: #BCE; padding: 0.4em; }
*/
.home div.group.feedback { border: none #000 1px; background: #ABD; padding: 0.4em 1em 0.4em 0.4em; }

.home div.group.featured { border: solid #AAA 1px; padding: 0.4em; }
.home div.group.featured h5 { margin: 0.3em 0; font-size: 150%; font-weight: bold; }
.home div.group.featured .blurb { margin-bottom: 1.5em; }

.home table.prereg { border-collapse: collapse; margin: 0.5em 0 0.5em 0; }
.home table.prereg td, .home table.prereg th { padding: 0.2em 0.4em; }
.home table.prereg th { text-align: right; font-weight: bold; }
.home table.prereg tr.closes td, .home table.prereg tr.closes th { border-top: solid black 1px; }

/* Search sidebar */
#search_sidebar { background: #CCC; width: 200px; padding: 0; z-index: 4; position: relative;  }
#search_sidebar { float: right; }
/*#search_sidebar { position: absolute; top: 0; right: 0; }*/
#search_sidebar.collapsed form { display: none; }
#search_sidebar { margin: 0 0 1em 1em; }
#search_sidebar form { margin: 5px; }
#search_sidebar input, #search_sidebar select { width: 180px; }
/* Note: put the background on h4 and not h4 a to get around IE6 bug */
#search_sidebar h4 { margin: 0 0 0.8em 0; background: #666 url(/images/arrow-down-white.gif) 5px center no-repeat; }
#search_sidebar.collapsed h4 { background-image: url(/images/arrow-right-white.gif); }
#search_sidebar h4 a {
	display: block;
	margin: 0;
	padding: 0.1em 0.3em 0.1em 20px;
	color: white;
	text-decoration: none;
	font-weight: bold;
	outline: none; /* Prevent horizontal scrollbar from appearing in Firefox when clicking the link */
}

/* New courses */
.newcourse { margin: 4em 0 5em 0; border-top: solid #999 1px; padding-top: 0.5em; }
.newcourse h4 { font-size: 170%; margin: 0; }
.newcourse .info { font-style: normal; }
.newcourse .info .coursecode { font-weight: bold; }
.newcourse .info .time { font-weight: bold; }
.newcourse .info .place { font-weight: bold; }

/* Tabular Browse */
table.browse { border-collapse: collapse; }
table.browse th, table.browse td { padding: 0.2em 0.4em; }
table.browse th { vertical-align: bottom; }
table.browse td { vertical-align: top; }
table.browse tbody td { border-bottom: solid #CCC 1px; }
table.browse thead th { border-bottom: solid #333 2px; text-align: left; font-weight: bold; color: #333; white-space: nowrap; }
table.browse td.num { text-align: right; }
table.browse td.edition { white-space: nowrap; }
table.browse tr.group_header td { color: #000; border-bottom: solid 1px #000; padding-top: 1em; font-style: italic; }
table.browse tr.odd { background: #EEE; }
table.browse tr.spacer { height: 1em; display: none; }
table.browse tr.spacer td { border-bottom: none; }
#content table.browse a { font-weight: normal; text-decoration: underline; } /* Explicitly say #content to override other CSS rules */
#content table.browse a:hover { color: #F00; }
table.browse span.featured { color: #960; font-weight: bold; cursor: default; font-size: 150%; padding-right: 0.1em; }

/* View Review */
.review .course_info { border: solid black 2px; padding: 0.5em; margin-bottom: 0.5em; }
.review .course_info label { font-weight: bold; color: #333; }
.review .course_info p { margin: 0 0 0.6em 0; }
.review .course_info p span.edition { margin-right: 1em; }
.review .course_info h3 { margin: 0 0 0.7em 0; }
.review .course_info p.featured { margin: 0 0 0.5em 0; font-weight: bold; color: #960; text-transform: uppercase; }
.review table.details { margin: 0; padding: 0; border-collapse: collapse; }
.review .details table { margin: 0; padding: 0; border-collapse: collapse; }
.review .details td { vertical-align: top; margin: 0; padding: 0 2em 0 0; }
.review .details ul { margin: 0; padding: 0; list-style-type: none; }
.review .details li { margin: 0; padding: 0; }
.review .details td.stats table { width: 100%; }
.review .details td.stats th { font-weight: bold; text-align: right; padding-right: 0.5em; color: #333; }
.review .details td.stats td { padding-right: 0.5em; }
.review .course_info .offered { margin-top: 1em; }
.review .course_info .resources { margin-top: 1em; margin-bottom: 0; }
.review .course_info .resources a { font-size: 150%; margin-right: 0.5em; }
.review .text { border: solid black 2px; padding: 0.5em; }
.review div.graph { float: right; margin: 0 0 1em 1em; text-align: right; vertical-align: bottom; }
.review div.graph p { margin: 0; padding: 0; }
.review div.graph p.avg label { margin-left: 1em; }
.review div.graph.collapsed img { display: none; }
.review div.graph img { margin: 0; padding: 0; border: none; }
.review div.graph img.graph { display: inline; }
.review div.graph a.expand { display: none; }
.review div.graph.collapsed a.expand { display: inline; }
.review div.graph.collapsed a.collapse { display: none; }

/* Special style for featured courses: */
.review.featured .course_info, .review.featured .text { border-color: #960; }

/*
 * Review Content
 */
.review_content p { margin: 1.0em 0 0 0; }
.review_content p.first { margin-top: 0; }
.review_content .diff-added { background: #CFC; }
.review_content .diff-modified { background: #FFA; }
.review_content .diff-removed { background: #FCC; }
/* Experimentation
.review_content p.first:first-letter {  float: left; font-size: 500%; margin-top: 0.1em; margin-right: 0.1em;  }
*/

/* Edit Review */
table.edit_review_form { width: 100%; }
table.edit_review_form td { padding: 0.2em; width: 100%; }
table.edit_review_form td.first { text-align: right; font-weight: bold; background: #EEE; white-space: nowrap; width: 0%; }
table.edit_review_form tr.section_head td { padding-left: 20px; text-align: left; font-weight: bold; background: #DDD url(/images/arrow-down.gif) 5px center no-repeat; cursor: pointer; }
table.edit_review_form tr.submit td { background: #AAA; }
table.edit_review_form .preview { border: solid #000 1px; padding: 0.5em; }

table.edit_review_form tbody.collapsed tr { display: none; }
table.edit_review_form tbody.inapplicable tr { display: none; }
table.edit_review_form tr.inapplicable { display: none; }
table.edit_review_form tbody.collapsed tr.section_head td { background-image: url(/images/arrow-right.gif); }
table.edit_review_form tbody tr.section_head { display: table-row; }
table.edit_review_form tbody tr.always_expanded { display: table-row; }
table.edit_review_form tbody tr.always_applicable { display: table-row; }
table.edit_review_form tbody.inaplicable tr.always_expanded { display: none; }
table.edit_review_form tbody.collapsed tr.always_applicable { display: none; }
table.edit_review_form textarea { width: 99%; }

table.edit_review_form table.diff { margin: 0; padding: 0; }
table.edit_review_form table.diff td { vertical-align: top; width: 50%; }

table.edit_reviews_list { width: 100%; margin: 0 0 1em 0; }
table.edit_reviews_list tr.inactive td { background: #DDF; }
table.edit_reviews_list tr.deficient td { background: #FCC; }
table.edit_reviews_list tr.unassigned td { background: #FFC; }
table.edit_reviews_list tr td.me { background: #AAF; font-weight: bold; }
table.edit_reviews_list tr td.unreturned { background: #FAA; }
table.edit_reviews_list tr td.deficient { background: #F88; }

.edit_reviews_list table.infotable { width: 100%; padding: 0; margin: 1.5em 0 0.5em 0; border-collapse: collapse; }
.edit_reviews_list table.infotable p { margin: 0; }
.edit_reviews_list p.batch_select { text-align: right; }
.edit_reviews_list.barcode tbody tr { display: none; }
.edit_reviews_list.barcode tbody tr.checked { display: table-row; }

select.writer_id option.special, select.editor_id option.special { font-style: italic; color: #900; }

button.remove { background: #FCC; border: none; color: #003; padding: 0; margin: 0; font-weight: bold; }
button.remove_confirm { border: solid red 2px; background: #F93; padding: 0; margin: 0; }

/* Staff voting */
.staff_vote .choice { border: solid #000 1px; margin-bottom: 1em; padding: 0.5em; margin-left: 2em; }
.staff_vote.admin .choice { margin-left: 0; }
.staff_vote .choice.collapsed .review .details { display: none; }
.staff_vote .choice.collapsed .review .graph { display: none; }
.staff_vote .choice h5 { font-size: 170%; font-weight: normal; margin-top: 0; margin-bottom: 0.3em; }
.staff_vote .choice h5 strong { font-weight: bold; }
.staff_vote .choice .text { border: none; padding: 0; }
.staff_vote .choice p.detailscommand { margin-bottom: 1em; }
.staff_vote .choice p.votecommand { margin-top: 1em; font-weight: bold; font-size: 140%; }
.staff_vote h4 { font-size: 200%; font-weight: bold; margin-bottom: 1em; }

/* FAQ */
div.faq-answer {
	margin-left: 1.5em;
}
/*
.faq-answer > p:first-child {
	text-indent: 0;
}
*/
.faq-answer p.noindent {
	text-indent: 0;
}
.faq-answer p {
	margin: 1.2em 0 0 0;
	text-indent: 2em;
}
.faq h4 {
	font-size: 150%;
	margin-top: 2em;
	margin-bottom: 0;
}

/* HISTORY */
.history q { font-style: italic; }
.history cite { font-style: normal; }
.history h4 { text-transform: uppercase; font-size: 100%; font-weight: bold; }

.contact p { margin-left: 1.5em; }

/* Staff Bios */
.bios h4 {
	font-size: 100%;
	font-weight: bold;
	border-bottom: solid #666 1px;
	margin: 1em 0 0 0;
	clear: both;
}
.bio {
	border-bottom: solid #666 1px;
	margin-left: 2em;
}
.bio .text {
	font-style: italic;
}
.bio h5 {
	font-size: 100%;
	font-weight: bold;
	margin: 1em 0 1em 0;
}
.bio img {
	float: left;
	margin: 0 1em 1em 0;
}
a.button {
	background: #CCC;
	padding: 0.3em;
	border: solid #369 1px;
}

table.quotes {
	border-collapse: collapse;
}
table.quotes td, table.quotes th {
	padding: 0.2em 0.4em;
}
table.quotes th {
	text-align: left;
	font-weight: bold;
	white-space: nowrap;
	border-bottom: double #666 3px;
}
table.quotes td {
	border-bottom: solid #999 1px;
}
table.quotes td.quote {
	/*
	background: url(/images/quote.gif) top left no-repeat;
	padding-left: 24px;
	*/
}
table.quotes td.edit {
	white-space: nowrap;
}
table.quotes td.published {
	text-align: center;
}
.edit_quotes .publish {
	text-align: right;
}
div.quote_inputs {
	height: 25em;
	overflow: auto;
	border: inset #CCC 2px;
}
div.quote_inputs p {
	margin: 0;
	border-bottom: solid #999 1px;
	padding: 0.3em;
}
div.quote_inputs textarea {
	vertical-align: top;
}

/* For testing IE compatability (comment out the rule above):
a.editbio { display: block; background: #FF0; width: 300px; padding-right: 250px; margin: 0 auto; }
*/


.loginform {
	border: solid black 1px;
	padding: 0.4em;
	margin: 0.8em;
	background: #EEE;
}


/* Staff central */
.staff_central table.columns { margin-bottom: 2em; }
.staff_central table.columns td { padding: 0 0.5em 0 0; }
.staff_central table.columns h4 { margin: 0 0 0.2em 0; border-bottom: solid black 2px; }
.staff_central table.columns ul { margin: 0; padding-left: 1em; }
.staff_central table.columns li { margin: 0.3em 0; }
.staff_central table.reviews { margin-right: 1em; }
.staff_central table.reviews td { padding: 0.1em 0.5em 0.1em 0; }
.staff_central table.reviews td.deficient { color: red; }

.english_dept_message { padding: 0.3em; border: solid #666 1px; background: #EEE; margin: 0 0 1em 0; }
.english_dept_message p { margin: 0; }

/* Prof fixup */
.prof-fixup h4 { font-size: 200%; }
.prof-fixup .course { margin-left: 3em; }
.prof-fixup .prof { margin-bottom: 5em; }
.prof-fixup h5 { font-size: 100%; font-weight: normal; }
.prof-fixup h5 strong { font-size: 150%; }
.prof-fixup h5 .count { margin-left: 5em; }
.prof-fixup .prof table { margin-left: 2em; border-collapse: collapse; }
.prof-fixup .prof table td { padding: 0.2em 0.4em; }
.prof-fixup .prof table td.verified label { font-weight: bold; }
.prof-fixup .prof table td.similar label { font-style: italic; }
.prof-fixup .prof table .course-label { margin-right: 1em; white-space: nowrap; }
.prof-fixup .prof table .course-label .match { font-weight: bold; }
.prof-fixup .prof table tr:nth-child(even) td { background: #E0E0E0; }
.prof-fixup .search-links { white-space: nowrap; vertical-align: middle; }
.prof-fixup .search-links img { border: none; }
.prof-fixup label { font-weight: normal; margin: 0; }

/* Staff schedule */
.staff-schedule { margin-bottom: 2em; }
.staff-schedule th { text-align: left; background: #777; color: white; }
.staff-schedule th, .staff-schedule td { padding: 0.2em 0.3em; }
.staff-schedule td.day, .staff-schedule td.date { font-weight: bold; }
.staff-schedule td.name { font-weight: bold; }
.staff-schedule tr.odd { background: #ddd; }
