/*======================================================================*/
/* Work Stylesheet                                                      */
/*======================================================================*/
/* 
  I was having troubles with collapsible margins not working in Firefox
  3.0.4, so I took a different approach. I mostly use margin-bottom for
  block elements and then sometimes add a padding-top if an element
  needs a bit more room above it (eg. headers). I also had to use table
  as opposed to floats for side-by-side positioning because floats were
  just not consistent enough across browsers especially since I want
  equal height columns.

  Author : Christopher Batten
  Date   : 2008-12-03, 2010-02-06
*/

/*----------------------------------------------------------------------*/
/* Main Body Block                                                      */
/*----------------------------------------------------------------------*/

BODY 
{
  width            : 100%;
  margin           : 0px;
  padding          : 0px;
  background-color : white;
  background-image : none; 
  color            : black;
  line-height      : 1.25;
  overflow-y       : scroll;
}

DIV#main-body
{
  max-width        : 725px;
  margin-left      : auto;
  margin-right     : auto; 
  padding          : 25px;
}

/*----------------------------------------------------------------------*/
/* Header                                                               */
/*----------------------------------------------------------------------*/

DIV#header
{
  text-align       : center;
  margin-bottom    : 20px;
}

DIV#header H2 
{
  margin           : 0px;
  margin-bottom    : 5px;
  padding          : 0px;
  font-weight      : normal;
  text-align       : center;
  font-size        : 1.17em;
}

DIV#header P
{
  margin           : 0px;
  margin-bottom    : 5px;
  padding          : 0px;
  font-weight      : normal;
  text-align       : center;
  font-size        : 1.17em;
}

/*----------------------------------------------------------------------*/
/* Paragraphs                                                           */
/*----------------------------------------------------------------------*/

P
{
  margin           : 0px;
  margin-bottom    : 10px;
  padding          : 0px;
/* border : 1px solid black; */
}

/*----------------------------------------------------------------------*/
/* Links                                                                */
/*----------------------------------------------------------------------*/

A:link     { color: #0000CC; text-decoration: none      }
A:visited  { color: #0000CC; text-decoration: none      }
A:hover    { color: #0000CC; text-decoration: underline }
A:active   { color: #0000CC; text-decoration: underline }

/*----------------------------------------------------------------------*/
/* Headings                                                             */
/*----------------------------------------------------------------------*/

H1 
{
  margin           : 0px; 
  margin-top       : 10px;
  margin-bottom    : 10px;
  padding          : 0px;
  font-weight      : bold;
  text-align       : center;
  font-size        : 1.75em;
}

H2 
{
  margin           : 0px;
  margin-bottom    : 10px;
  padding          : 0px;
  padding-top      : 5px;
  font-weight      : bold;
  font-size        : 1.3em;
}

H3 
{
  margin           : 0px;
  margin-bottom    : 6px;
  padding          : 0px;
  padding-top      : 3px;
  font-weight      : bold;
  text-align       : left;
  font-size        : 1em;
/* border : 1px solid green; */
}

/*----------------------------------------------------------------------*/
/* Lists                                                                */
/*----------------------------------------------------------------------*/

UL
{
  display          : block;
  margin           : 0px;
  margin-left      : 1.6em;
  margin-bottom    : 5px;
  padding          : 0px;
// border : 1px solid red;
}

UL LI
{
  margin-bottom    : 10px;
  padding          : 0px;
}

UL LI BR
{
  margin           : 0px;
  margin-bottom    : 3px;
  padding          : 0px;
}

.tightlist
{
  margin           : 0px;
  margin-left      : 1.6em;
  margin-bottom    : 10px;
  padding          : 0px;
}

.tightlist LI
{
  margin           : 0px;
  padding          : 0px;
}

/*----------------------------------------------------------------------*/
/* Topo Image                                                           */
/*----------------------------------------------------------------------*/

IMG#top
{
  display          : block;
  width            : 100%;
  max-width        : 725px;
  margin           : 0px;
  margin-left      : auto;
  margin-right     : auto;
  margin-bottom    : 15px;
  padding          : 0px;
  border           : 1px solid black;
}

/*----------------------------------------------------------------------*/
/* Week Table                                                       */
/*----------------------------------------------------------------------*/

TABLE#week
{
  margin           : 0px;
  margin-top       : 15px;
  margin-bottom    : 25px;
  border-collapse  : collapse;
  width            : 100%;
}

TABLE#week TH
{
  margin           : 0px;
  padding          : 3px;
  font-weight      : bold;
  text-align       : center;
}

TABLE#week TD.A
{
  margin           : 0px;
  padding          : 3px;
  border-bottom    : 1px dashed gray;
  border-right     : 1px solid black;
  text-align       : center;
}

TABLE#week TD.B
{
  margin           : 0px;
  padding          : 3px;
  border-bottom    : 1px dashed gray;
  border-right     : 1px solid black;
  text-align       : center;
  background-color : #c2efc2;
  font-weight      : bold;
}

TABLE#week TD.C
{
  margin           : 0px;
  padding          : 3px;
  border-bottom    : 1px dashed gray;
  border-right     : 1px solid black;
  text-align       : center;
  background-color : #c2efc2;
}

TABLE#week TD.D
{
  margin           : 0px;
  padding          : 3px;
  border-top       : 2px solid black;
  border-bottom    : 1px dashed gray;
  border-right     : 1px solid black;
  text-align       : center;
  background-color : #c2efc2;
  font-weight      : bold;
}

TABLE#week TD.E
{
  margin           : 0px;
  padding          : 3px;
  border-bottom    : 2px solid black;
  border-right     : 1px solid black;
  text-align       : center;
  background-color : #c2efc2;
}

TABLE#week TD.Z
{
  margin           : 0px;
  padding          : 3px;
  border-bottom    : 1px dashed gray;
  border-right     : 0px solid black;
  text-align       : center;
}

TABLE#week TD.Y
{
  margin           : 0px;
  padding          : 3px;
  border-bottom    : 0px dashed gray;
  border-right     : 1px solid black;
  text-align       : center;
}

/*----------------------------------------------------------------------*/
/* Schedule Table                                                       */
/*----------------------------------------------------------------------*/

DIV.schedule-title
{
  margin           : 0px;
  margin-bottom    : 5px;
  padding          : 0px;
  font-weight      : normal;
  text-align       : center;
  font-size        : 1.3em;
  font-weight      : bold;
}

TABLE#schedule
{
  margin           : 0px;
  margin-top       : 15px;
  margin-bottom    : 15px;
  border-collapse  : collapse;
  border-top       : 2px solid black;
  border-bottom    : 2px solid black;
  width            : 100%;
}

TABLE#schedule TH
{
  margin           : 0px;
  padding          : 5px;
  border-bottom    : 2px solid black;
  font-weight      : bold;
  text-align       : left;
}

TABLE#schedule TD
{
  margin           : 0px;
  padding          : 5px;
  border-bottom    : 1px dashed gray;
  text-align       : left;
  white-space      : nowrap;
}

TABLE#schedule TR.lecture TD
{ 
  background-color : #ffffff; 
}

TABLE#schedule TR.nodue TD 
{ 
  color            : #555555;
  background-color : #eeeeee; 
}

TABLE#schedule TR.section TD 
{ 
/*  background-color : #ffffff; */
/*  color            : #555555; */
  background-color : #eeeeee; 
  border-bottom    : 2px solid black; 
}

TABLE#schedule TR.nosection TD 
{ 
/*  color            : #555555; */
  background-color : #eeeeee; 
  border-bottom    : 2px solid black; 
}

TABLE#schedule TR.sectionbreak TD 
{ 
  background-color : #f0f0ff;
  border-bottom    : 2px solid black; 
}

TABLE#schedule TR.due TD 
{ 
  background-color : #faf0e6; 
}

TABLE#schedule TR.special TD 
{ 
  background-color : #faf0e6; 
}

TABLE#schedule TR.break TD
{
  background-color : #f0f0ff;
}

TABLE#schedule TR.paper-discussion TD
{ 
  background-color : #fffff0;
}

TABLE#schedule TR.project-meetings TD
{ 
  background-color : #f0f0ff; 
}

TABLE#schedule TR.deadline TD
{ 
  background-color : #faf0e6; 
}

TABLE#schedule .tightlist
{
  margin           : 0px;
  margin-left      : 1.6em;
  padding          : 0px;
}

TABLE#schedule TD:first-child + TD + TD
{
  padding-left     : 15px;
  padding-right    : 15px;
  text-align       : center;
}

TABLE#schedule TD:first-child + TD + TD + TD
{
  width           : 99%;
}

TABLE#schedule TD:first-child + TD + TD + TD + TD
{
  text-align      : right;
}

/*----------------------------------------------------------------------*/
/* Misc                                                                 */
/*----------------------------------------------------------------------*/

DIV.topnote
{
  text-align       : center;
  color            : red;
}

SPAN.note
{
  font-weight      : bold;
  color            : red;
}

/*----------------------------------------------------------------------*/
/* Default Table                                                        */
/*----------------------------------------------------------------------*/

TABLE
{
  margin           : 0px;
  padding          : 0px;
  margin-left      : 10px;
  margin-bottom    : 10px;
  border-collapse  : collapse;
}

TABLE TH
{
  margin           : 0px;
  padding          : 5px;
  font-weight      : bold;
  text-align       : left;
  vertical-align   : text-top;
}

TABLE TD
{
  margin           : 0px;
  padding          : 5px;
  text-align       : left;
  vertical-align   : text-top;
}

TABLE.tighttable TD
{
  margin           : 0px;
  padding          : 1px;
  padding-right    : 10px;
}

/*----------------------------------------------------------------------*/
/* Readings Table                                                       */
/*----------------------------------------------------------------------*/

TABLE#readings
{
  margin           : 0px;
  padding          : 0px;
  margin-top       : 15px;
  margin-left      : 10px;
  margin-bottom    : 10px;
  border-collapse  : collapse;
}

TABLE#readings TD
{
  margin           : 0px;
  padding          : 2px;
  padding-left     : 10px;
  padding-right    : 10px;
  text-align       : left;
}

TABLE#readings TR.odd
{
  background-color : #eeeeee;
}

TABLE#readings TR.part
{
  background-color : #f0f0ff;;
}

/*----------------------------------------------------------------------*/
/* Readings                                                             */
/*----------------------------------------------------------------------*/

UL.none
{
  list-style-type  : none;
  margin-bottom    : 0px;
}

UL.reading-review
{
  list-style-type  : square;
  margin-bottom    : 0px;
}

UL.reading-review LI
{
  margin           : 0px;
  padding          : 0px;
}

UL.reading-required
{
  list-style-type  : disc;
  margin-bottom    : 0px;
}

UL.reading-required LI
{
  margin           : 0px;
  padding          : 0px;
}

UL.reading-optional
{
  list-style-type  : circle;
  margin-bottom    : 0px;
}

UL.reading-optional LI
{
  margin           : 0px;
  padding          : 0px;
}

/*----------------------------------------------------------------------*/
/* Sponsors                                                             */
/*----------------------------------------------------------------------*/

DIV#sponsors
{
  text-align       : center;
  margin-top       : 20px;
}

DIV#sponsors DIV
{
  display          : inline-block;
  margin-left      : 15px;
  margin-right     : 15px;
}

DIV#sponsors DIV IMG
{
  margin-bottom    : 10px;
}

