/* poor man's CSS reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font,
img, ins, kbd, q, s, samp, small, strike, strong, tt, var, b, u, i,
center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td {
    background: none repeat scroll 0 0 transparent;
    border: 0 none;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
}


/* main page structure */
body { 
    background-color: #f9f9f9; 
    font-family: Georgia, 'Bitstream Charter', serif; 
    color: #333; 
    text-align: center; 
} 
#wrapper { 
    margin: 20px auto; 
    width: 940px; 
    background-color: #fff;
    text-align: left;
    padding: 0 20px;
    border: 2px solid #e1e1e1;
} 
#content {
    clear: both;
    padding: 40px 20px;
    font-size: 16px;
    line-height: 24px;
}


/* header specific */
#header {
    padding-top: 30px;
    font-family: "Helvetica Neue", Arial, Helvetica, "Nimbus Sans L", sans-serif;
}
#header h1 {
    font-size: 30px;
    line-height: 36px;
    margin: 0 0 18px;
}
#header h1 a {
    color: #000;
    text-decoration: none;
}
#headerimg {
    height: 180px;
    border-top: 4px solid #000;
    background: #0066ff url('./skiplist.png');
    background-repeat: repeat-x;
    /* background: #002850 url('./lego_turing_machine.png'); */
}

/* navigation bar styling */
#nav {
    font-size: 13px;
    background-color: #000;
    height: 38px;
    padding: 0 10px;
}
#nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
#nav ul li {
    float: left;
}
#nav ul li a {
    color: #aaa;
    line-height: 38px;
    padding: 0 10;
    text-decoration: none;
    display: block;
    padding: 0 10px;
}
#nav ul li a:hover {
    color: #fff;
    background-color: #333;
}


/* footer specific */
#footer {
    font-family: "Helvetica Neue", Arial, Helvetica, "Nimbus Sans L", sans-serif;
    border-top: 4px solid #000;
    padding: 20px 0px;
    color: #000;
    text-align: right;
    clear: both;
}
#footer a {
    text-decoration: none;
    color: #000;
}
#footer div a {
    float: left;
}


/* general rules */
hr {
    background-color: #E7E7E7;
    border: none;
    clear: both;
    height: 1px;
}
#content h1 {
    margin-bottom: 40px;
    font-size: 32px;
}
#content h2 {
    font-size: 24px;
    margin-top: 24px;
}
#content h3 {
    font-size: 18px;
    margin-top: 24px;
}
#content h1, #content h2, #content h3 {
    color: #000000;
    font-weight: normal;
}
#content p, #content ul, #content ol, #content dd, #content pre, #content hr, #content h2, #content h3, #content li {
    margin-bottom: 15px;
/*    clear: both; */
}
#content li li {
    margin-bottom: 0;
}

a {
    color: #0066cc;
}
strong {
    font-weight: bold;
/*    font-style: italic;*/
}
abbr {
    border-bottom: 1px dotted #333;
}
code, kbd, samp {
    font-family: Menlo, Monaco, Consolas, monospace;
    background-color: #F9F9F9;
}

/* lists */
ul, ol {
    margin: 0 0 18px 2.25em;
    padding: 0;
}
ul {
    list-style: square outside none;
}
ol {
    list-style: decimal outside none;
}
ol ol {
    list-style: upper-alpha outside none;
}
ol ol ol {
    list-style: lower-roman outside none;
}
ol ol ol ol {
    list-style: lower-alpha outside none;
}

/*
ul ul, ol ol, ul ol, ol ul {
    margin-bottom: 0;
}
#content ul ul, #content ol ol, #content ul ol, #content ol ul {
    margin-bottom: 0;
}
*/
dt {
    font-weight: bold;
}
dd {
  margin: 0 0 18px 2.25em;
  padding: 0;
}


/* tables */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

#content table {
    border: 1px solid #e7e7e7;
    margin: 0 0 15px 0;
    text-align: left;
}
#content th {
    font-weight: bold;
    line-height: 18px;
    padding: 9px 12px;
}
#content tr td {
    border-top: 1px solid #e7e7e7;
    padding: 6px 12px;
}
#content table .num {
    text-align: right;
}
#content table.vertical tr {
    border-top: 1px solid #e7e7e7;
    border-bottom: 1px solid #e7e7e7;
}

#content tr.shaded{
  background-color: #eee;
}


/* need more semantic names for these 3 */
.warn {
    border: 2px solid #f0e6a6;
    background-color: #fff7c6;
    padding: 10px 20px;
    color: #444;
    margin-bottom: 15px;
}
.info {
    border: 2px solid #bae2f0;
    background-color: #e3f4f9;
    padding: 10px 20px;
    color: #444;
    margin-bottom: 15px;
}


a.button {
  border: 1px solid #e1e1e1;
  background-color: #f9f9f9;
  color: #444;
  padding: 5px 10px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  text-decoration: none;
}



/* disclosure boxes */
.disclosure {
  padding-left: 16px;
  cursor: pointer;
}
.disclosure.closed {
  background: transparent url('right.png') no-repeat 0 50%;
}
.disclosure.open {
  background: transparent url('down.png') no-repeat 0 50%;
}

.disclosurebox {
  background-color: #F9F9F9;
  border: 1px solid #E1E1E1;
  margin: 20px;
  padding: 20px 20px 0 20px;
}


pre {
    font-family: Menlo, Monaco, Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
    font-size: 14px !important;
}

/* syntaxhighlighter */
#content .code, #content .syntaxhighlighter {
    overflow-y: none !important; /* chrome always seems to use a scrollbar, this tosses it */
    border: 2px solid #e1e1e1;
    background-color: #f9f9f9;
    color: #444;
    padding: 10px 20px;
    width: auto !important;
    margin-bottom: 15px;
    font-family: Menlo, Monaco, Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
    font-size: 14px !important;
}
/*
#content .syntaxhighlighter {
    padding: 10px 20px 10px 0 !important;
}
*/
#content .syntaxhighlighter pre {
    padding: 0;
}
#content .syntaxhighlighter .gutter .line {
    border-right: 2px solid #E1E1E1 !important;
}


#content .key {
    border: 2px solid #e1e1e1;
    background-color: #f9f9f9;
    color: #444;
    padding: 5px 10px;
/*    font-family: "Helvetica Neue", Arial, Helvetica, "Nimbus Sans L", sans-serif; */
    margin-right: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    -moz-box-shadow: 3px 3px 3px #666;
    -webkit-box-shadow: 3px 3px 3px #666;
    box-shadow: 3px 3px 3px #666;
}

#content .keys {
    margin-top: 20px;
    margin-bottom: 20px;
    clear: both;
}
#content .keys div {
    float: left;
    width: 320px;
}
#content .keys p {
    margin-left: 340px;
    clear: none;
}



/* used only on syllabus page */
.book {
    clear: both;
    margin-bottom: 15px;
}

.book img { 
    float: left;
    padding: 5px;
    background-color: #f9f9f9;
    border: 2px solid #e1e1e1;
    margin-right: 15px;
    margin-bottom: 15px;
}
 

/* used only on the schedule page */
#content .calendar {
  width: 98%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  border-collapse: collapse;
  border: 0;
}
#content .calendar td, #content .calendar th {
  border: 1px solid #e1e1e1;
  width: 14%;
  vertical-align: top;
}
#content .calendar th {
  border: 0;
  text-align: center;
}
#content .calendar td {
  height: 10em;
  padding: 0;
  font-size: 80%;
  font-family: "Helvetica Neue", Arial, Helvetica, "Nimbus Sans L", sans-serif;
}
#today { 
  background-color: #fff7d7;
}
#today .date {
  background-color: #fad163 !important;
}
#content .calendar .date {
  text-align: right;
  background-color: #f9f9f9;
  color: #444;
  padding: 0 8px;
  border-bottom: 1px solid #e1e1e1;
}
#content .calendar .event {
  line-height: 1.4;
  margin: 2px;
  padding: 0px 5px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  color: #fff;
}

#content .calendar .event a {
  display: block;
  color: #ffffff;
  text-decoration: none;
}
#content .calendar .event a:hover {
  text-decoration: underline;
}

#content .calendar .lecture {
    background-color: #3366cc;
}
#content .calendar .exam, #content .calendar .final {
    background-color: #cc3333;
}
#content .calendar .project {
    background-color: #3d8215;
}
#content .calendar .other {
    background-color: #ee8800;
}
#content .calendar .lab {
    background-color: #5229a3;
}
.calendarform label {
  margin-left: 1em;
}




/* LABS */
.sidebar {
  background-color: #F9F9F9;
  border: 1px solid #E1E1E1;
  margin: 0 0 20px 20px;
  padding: 20px 20px 0 20px;
  float: right;
  width: 220px;
}
.labnav {
    margin-top: 40px;
    text-align: right;
}
.labnav div {
    float: left;
}





/* GRADES FORM */
.grades {
  line-height: 2em;
  padding-left: 2em;
  padding-right: 2em;
}

.grades h2 {
  text-align: center;
}
.grades .projects, .grades .labs, .grades .exams {
  float: left;
  width: 26%;
  text-align: right;
}
.grades .labs {
  padding-left: 11%;
  padding-right: 11%;
}
.grades .projects label, .grades .labs label, .grades .exams label {
  display: block;
  float: left;
  clear: both;
  text-align: left;
}
