/* CSS styles for course-related web pages. Most such pages will be generated
   by my HTMLpp preprocessor, so it and this style sheet have been designed
   together. But to the extent any of these styles are useful elsewhere, people
   can use this stylesheet without HTMLpp too.									*/

/* History:

   July 2021 -- Styling for examples & figures, added by Doug Baldwin.

   August 2020 -- Styling for captions added by Doug Baldwin.
   
   August 2014 -- Created by Doug Baldwin.
*/


/* Styling for the first few lines at the top of a page. These lines usually
   just associated the page with the math department.							*/

.PageHead {
	text-align: center;
	font-size: small
}


/* Styling for the title block of a page, i.e., the section at the beginning
   that presents the page's title, author, date, etc.							*/
   
.TitleBlock {
	text-align: center;
	margin-bottom: 2em
}


/* Styling for the line(s) that present a page's title. This text wants to be
   closer to whatever is below it than above, since what's below is course,
   date, etc. information that should be visually grouped with the title.		*/

.TitleLine {
	margin-bottom: 0.2em
}


/* Styling for the block of text right below the title that presents the
   course a page goes with, its date, the instructor, etc. This needs to be
   close to the title above it, just as the title needs to be close to it.		*/

.CourseBlock {
	margin-top: 0em
}


/* Styling for the body of a course table of contents page, e.g., a list of
   lectures or exercises. These bodies should be separated from any prefactory
   material above them by a bit more than the usual vertical separation, and
   should be indented from the left margin a little.							*/

.ToCBody {
	margin-top: 2em;
	margin-left: 1em
}


/* Styling for a copyright notice. Copyright notices have narrower margins
   than the main text of a document, a smaller typeface, and a vertical gap
   separating them from preceding text.											*/

.Copyright {
	margin-top: 2em;
	margin-left: 2em;
	margin-right: 2em;
	font-size: small
}


/* Captions are in a small font, to set them apart from surrounding text. (As
   of August 2020, Firefox doesn't seem to understand this selector syntax,
   although other browsers do.)													*/

.Caption {
	font-size: smaller;
	text-align: center
}


/* Styling for tables that are list-like in their purpose, i.e., each row
   presents an item and each column a piece of information about that item.		*/

TABLE.TabularList {
	margin-left: 2em
}


/* Within list-like tables, the columns are separated by more than the usual
   amount to keep items distinct.												*/

TD.TabularList {
	padding-right: 1em
}


/* Column headings in list-like tables are left-aligned because columns,
   particularly the second, are often highly variable in width. Headings also
   help define the spacing between columns.										*/

TH.TabularList {
	text-align: left;
	padding-right: 1em
}


/* Styling for tables with borders around them and their cells.					*/

TABLE.Bordered {
	border: thin solid black;
	border-collapse: collapse
}

TH.Bordered {
	border: thin solid black;
	padding: 0.5em
}

TD.Bordered {
	border: thin solid black;
	padding: 0.5em
}


/* Styling for paragraphs whose first line acts as a label, and should
   therefore be "outdented."													*/

P.Labeled {
	text-indent: -1em;
	margin-left: 1em
}


/* Styling for lines that say when a page was last modified.					*/

.ModDate {
	font-style: italic
}


/* Styling for paragraphs used to center images in lecture notes.				*/

P.image {
	text-align: center
}


/* Styling for emphasized text in lecture notes. In class, I usually make
   this text red, so this style copies that convention.							*/

.OutlineEmph {
	font-weight: bold;
	color: red
}


/* Styling for displayed material. This material is set off from surrounding
   material by being centered. Since this material is generally blocks, e.g.,
   tables, images, etc. I do the centering by making left and right margins equal
   rather than by specifying how text should be aligned.						*/

.Display {
	margin-left: auto;
	margin-right: auto
}


/* Styling for block examples, typically multiline text that should have a
   common left margin indented slightly from the containing text. For now I
   assume that material used as an example is in some sort of HTML block that
   will take care of putting vertical space above and below it.					*/

.Example {
	margin-left: 1em
}


/* Styling for formal figures. "Formal figures" are pictures, code fragments,
   etc. that are set off from surrounding text and generally given a figure
   number and caption (but those aren't handled by this style). The "Example,"
   "Display," etc. styles can be used for less formal displayed material.		*/

.Figure {
	display: block;
	margin-left: auto;
	margin-right: auto;
	border: thin solid black
}


/* Styling for outer-level items in outlines. Outlines are lists in HTML, but
   I make the top-level items look like headings for visual presentation.		*/

UL.Outline0 {
	list-style: none;
	font-weight: bolder;
	font-size: larger
}

UL.Outline0 > LI {
	margin-top: 1em;
	margin-bottom: 0.3em
}


/* Styling for second-level outline items. Visually, these items look like
   (presumably short) paragraphs rather than bulleted list items.				*/

UL.Outline1 {
	list-style: none;
	font-weight: normal;
	font-size: medium
}


/* Styling for inner outline items. These items look like ordinary list items.	*/

UL.OutlineN {
	list-style: disc;
	font-weight: normal;
	font-size: medium
}
