body { 
  background: #fff;
  color: #333;
  font-family: skia, sans-serif;
  font-size: medium;
  max-width: 700px;
}

h3 { 
  font-weight: bold;
}

h4 { 
  font-weight: bold;
}

#validate { 
  float: right; 
  position: relative;
  text-align: right;
  width: 100%;
  margin-top: 0;
  padding: 5px;
  font-size: small;
  border-top: 1px dotted #aaa;
  color: #666;
}

.section { 
  border-top: 1px solid black;
  margin-bottom: 3em;
  min-height: 220px;
  background: #eee;
  padding-left: 0;
  padding-right: 0;
}

.section p, h2 { 
  padding-left: 4pt;
}

.section h1 { 
  background: #ded;
  margin: 0px;
  padding: 4pt;
}
a.filetype:before { 
  content: '\005b';
}
a.filetype:after { 
  content: '\005d';
}
img.thumbleft { 
  float: left;
  position: relative;
  margin: 10px;
  border: 4px double black;
}
img.thumbright { 
  float: right;
  position: relative;
  margin: 10px;
  border: 4px double black;
}

.indent { 
  margin-left: 20px;
}
img { 
  border: 0;
}
img.text { 
  vertical-align: bottom;
}
a { 
  background: inherit;
  color: #30a;
  text-decoration: none;
}

a:hover { 
  text-decoration: underline;
}

a:visited { 
/*   color: #a03; */
}

/** SCHEDULE **/

table.schedule { 
  border: 1px solid #777;
  background: #ccc;
  font-size: small;
}

table.schedule td { 
  margin: 5px;
}

table.schedule td.entry { 
  font-size: small;
  padding: 1px;
  border: 1px solid #777;
  background: #fff;
  text-align: left;
  vertical-align: top;
}

table.schedule td.maybe { 
  font-size: small;
  padding: 1px;
  border: 1px dotted #777;
/*   background: #fff; */
  text-align: left;
  vertical-align: top;
}

table.schedule td div { 
  font-size: medium;
  margin: 0;
  margin-bottom: 7px;
  text-align: center;
  vertical-align: top;
  background: #ccc;
}
table.schedule td.entry div.ta { 
  background: #fcc;
}
table.schedule td.entry div.seminar { 
  background: #cfc;
}
table.schedule td.entry div.meeting { 
  background: #cff;
}
table.schedule td.entry div.course { 
  background: #ccf;
}
table.schedule td.entry div.research { 
  background: #fd9;
}
table.schedule td p { 
  margin: 3px;
  margin-top: 5px;
}

table.schedule tr { 
  border-bottom: 1px solid red;
}
table.schedule th {
  background: #fff;
  font-weight: normal;
  width: 130px;
  font-size: medium;
}

table.schedule .empty { 
  background: #ccc;
  width: 30px;
}

.text { 
  text-align: left;
  vertical-align: top;
}

.digit { 
  text-align: right;
  vertical-align: top;
  font-size: small;
}

.details { 
  text-align: right;
  vertical-align: top;
  font-size: small;
 }
