/* *** Notes by bsweeney 2005-02-01 ***
This CSS file uses the @media declaration for both print and screen styles. Common 
style definitions are contained in the "@media print, screen" section. I made this 
decision so that I could avoid developing for the incomplete implementation of CSS 
in older browsers. Trying to present a unified style to all browsers would have 
required using a number of hacks and work-arounds in order to target a specific CSS 
implementation. I also wanted to limit the complexity of the stylesheets in case any 
debugging needed to be done. The main consequence of this decision is that older 
browsers with CSS support will not apply styles to the documents. The browsers 
affected include Netscape Navigator 4.x and IE for the Mac.

In order to mitigate any usability problems the page structure for each document was 
designed with older browsers in mind. The markup uses a linear document flow and standard 
HTML elements (h1-h6, p, blockquote, strong, em, etc.) to provide structural context. 
Very little inline formatting was used so that the structure of the documents wouldn't be 
adversely affected. (The major exception being Contribute's use of inline margin styles 
to simulate the way MS Word treats an [Enter] as a single line break.)

Some information on specific style declarations:

	Declaration:
		box-sizing: border-box;
		-moz-box-sizing: border-box;
	Applied To:
		*
	Description:
		This style declaration relates to the box model. See 
		<http://www.quirksmode.org/css/box.html> for more detailed information 
		on the box model. The W3C-defined box model applies width to the content box. 
		I find it preferable to have the width applied further out in the box model. The 
		first declaration is a CSS3 declaration that adjusts the box model to apply to the 
		border box. Not many browsers, if any, support this declaration at the present 
		time. The second declaration is a mozilla-only version that adjusts the box model 
		in mozilla-based browsers (a hack until support for the W3C declaration is added).

	Declaration:
		font-size: 1em;
	Applied To:
		@media print, screen { table }
	Description:
		For some reason IE does not cascade font formatting to tables. This declaration 
		ensures that the font size used inside tables matches that used elsewhere in the 
		document.
	
	Declaration:
		line-height: .25em;
		font-size: .75em;
	Applied To:
		@media print, screen { sub, sup }
	Description:
		The default subscript and superscript stylings end up causing too much spacing 
		between the line it's on and the line above (for superscript) or below (for 
		subscript). This declaration ensures that the font size is small enough and 
		has a small line height so that line spacing remains relatively normal.
	
	Declaration:
		float: left;
	Applied To:
		@media print, screen { .excerpt .pageref }
	Description:
		Relevant sections of a textbook are included in blockquotes with a class of excerpt. 
		The last paragraph in these quotes is the reference. So that the references did not 
		appear to be part of the quoted text they are given special styling through the 
		pageref class. What really sets them apart, though, is this declaration. A floated 
		element is not considered when rendering its container. Since the reference is the 
		last item in the blockquote it ends up falling overlapping the margin of the 
		blockquote. With no width specified most browsers will fit the width of the float 
		to the size of the content. The affect is a box containing the reference that 
		overlaps the lower right margin of the quote.
	
	Declaration:
		line-height: 1.2em;
	Applied To:
		@media print, screen { .lineHeightAdjust }
	Description:
		This declaration is specific for the purpose of making sure the line-height of a 
		special character used does not exceed that of the rest of the text.
	
	Declaration:
		page-break-inside: avoid;
	Applied To:
		@media print { .excerpt }
	Description:
		For browsers that support it, this declaration instructs the browser no to insert a 
		page break inside the element to which it is applied.
*/

@media print, screen {
	* {
		box-sizing: border-box;
		-moz-box-sizing: border-box;
	}

	h1 {
		font-size: 1.75em;
		font-weight: bold;
	}
	
	h2 {
		font-size: 1.6em;
		font-weight: bold;
	}
	
	h3 {
		font-size: 1.45em;
		font-weight: bold;
		margin-top: 1em;
		margin-bottom: 1em;
	}
	
	h4 {
		font-size: 1.35em;
		font-weight: bold;
		margin-top: 1em;
		margin-bottom: 1em;
	}
	
	h5 {
		font-size: 1.2em;
		margin-top: 1em;
		margin-bottom: 1em;
	}
	
	h6 {
		font-size: 1.05em;
		margin-top: 1em;
		margin-bottom: 1em;
	}
	
	hr {
		clear: both;
	}
	
	sub, sup {
		line-height: .25em;
		font-size: .75em;
		font-weight: normal;
	}
	
	sub sup {
		font-size: 1.15em;
	}
	
	table {
		font-size: 1em;
	}
	
	
	#docBody {
		position: relative;
		left: 0px;
		top: 0px;
		width: 100%;
		margin: 0px;
		padding: 0px;
	}
	
	#footer {
		padding: 5px;
		width: 100%;
		margin-top: 50px;
		font-size: .80em;
		font-family: Verdana, Arial, Helvetica, sans-serif;
	}
	
	#footer p {
		margin: 0px;
	}
	
	
	.critSect {
		margin-bottom: -.75em;
	}
	
	.excerpt {
		font-size: .83em;
		font-family: Verdana, Arial, Helvetica, sans-serif;
		border: 1px solid #cccccc;
		padding: .5em;
		margin-top: 2em;
		margin-bottom: 3em;
	}
	
	.excerpt sub, .excerpt sup {
		font-size: .85em;
	}
	
	.excerpt .pageref {
		margin: 0em;
		margin-right: 1em;
		background-color: #ffffff;
		border: 1px solid #cccccc;
		padding: .25em;
		padding-left: 1em;
		padding-right: 1em;
		float: right;
		text-align: center;
		color: #333333;
	}
	
	.lineHeightAdjust {
		line-height: 1.2em;
	}
	
	.idea {
		font-weight: bold;
		margin-bottom: -1.1em;
	}
	
	.ideaCombined {
		font-weight: bold;
	}
	
	.indent {
		margin-left: 2.5em;
	}
	
	.indicator {
		font-weight: bold;
	}
	
	.selectedResponse {
		font-weight: bold;
	}
	
	.smallCaps {
		font-variant: small-caps;
	}
}

@media print {
	a {
		color: #000000;
		text-decoration: none;
		border-bottom: 1px dashed #cccccc;
	}
	
	body {
		font-family: "Times New Roman", Times, serif;
	}
	
	
	#content {
		min-height: 300px;
	}
	
	#contentMenu {
		display: none;
	}
	
	#footer {
		border-top: 1px solid #000000;
	}
	
	#headNav {
		display: none;
	}
	
	#logo {
		display: none;
	}
	
	#search {
		display: none;
	}
	
	
	.excerpt {
		page-break-inside: avoid;
	}
	
	.noPrint {
		display: none;
	}
}

@media screen {
	body {
		font-family: Arial, Helvetica, sans-serif;
		margin: 0px;
		padding: 0px;
	}
	
	
	#content {
		margin-left: 180px;
		min-height: 300px;
		margin-right: 1em;
	}
	
	#contentMenu {
		font-family: Verdana, Arial, Helvetica, sans-serif;
		padding-bottom: 1em;
		font-size: .8em;
	}
	
	#contentMenu li.selectedDoc {
		font-weight: bold;
		font-style: italic;
	}
	
	#contentMenu li.selectedDoc ul, #contentMenu li.selectedDoc ol {
		font-weight: normal;
		font-style: normal;
	}
	
	#contentPlain {
		padding: 15px;
		margin-bottom: 400px;
	}
	
	#footer {
		border-top: 1px solid #36578c;
	}
	
	#header {
		border-bottom: 2px solid #36578c;
		padding: 1px;
		margin: 0px;
		width: 100%;
		min-height: 90px;
		background-color: #A7C6F0;
	}
	
	#headNav, #headText {
		text-align: center;
	}
	
	#headNav {
		margin-bottom: 1em;
		font-size: .83em;
		font-family: Verdana, Arial, Helvetica, sans-serif;
		margin-left: 160px;
		margin-right: 160px;
	}
	
	#headNav a {
		text-decoration: none;
		color: #000000;
	}
	
	#headNav a:hover {
		text-decoration: underline;
	}
	
	#headText {
		margin-left: 160px;
		margin-right: 160px;
	}
	
	#headText h1 {
		margin-top: .5em;
		margin-bottom: .5em;
		font-size: 1.35em;
	}
	
	#logo {
		float: left;
		margin: 15px;
		margin-bottom: 0px;
		width: 110px;
		text-align: center;
	}
	
	#search {
		margin: 10px;
		margin-top: 45px;
		margin-bottom: 0px;
		float: right;
		width: 160px;
		text-align: center;
	}
	
	#search input {
		border: 1px solid #36578c;
		background-color: #ffffff;
	}
	
	#search input.button {
		background-color: #cccccc;
		border-style: outset;
	}
	
	#subHead {
		padding-left: 15px;
		padding-right: 15px;
	}
	
	
	.excerpt {
		background-color: #f0f0f0;
	}
}

