:root {
  --text: #000222;
  --text-black: #000;
  --text-subtle: #323644;
  --color-highlight: #f4edfb;
  --border-radius: 4px;
}

html {
  background: white;
}
body {
  font-family: Arial, sans-serif;
  color: var(--text);
  background-color: #d7cfe0; /* 2017: #d0dce6; */
  margin: 0px;
  height: 100%;
  display: flex;
  flex-direction: column;
}

h1,
h2,
h3,
h4 {
  margin-bottom: 8px;
  margin-top: 1.5em;
}

p {
  margin-top: 4px;
  text-align: justify;
  line-height: 1.25;
}

table {
  border-collapse: collapse;
}
tr,
td,
th {
  border: 1px solid gainsboro;
  padding: 8px;
  padding-left: 1em;
  word-break: break-word;
}

footer {
  min-height: 2em;
  background: white;
  padding: 8px;
  text-align: center;
  font-size: small;
  color: var(--text-subtle);
}

#header {
  width: calc(100% - 20px);
  background: white;
  padding: 10px;
  padding-bottom: 0px;
  border-bottom: 1px solid #673ab7;
  box-shadow: 0px 0px 6px #263238;
}

#header-title {
  margin: 0px 2%;
  padding: 10px;
}

#title {
  color: var(--black);
  display: inline-block;
  font-size: 26pt;
  font-weight: bold;
  margin-inline-end: 8px;
  text-decoration: none;
}

#subtitle {
  display: inline-block;
  color: var(--text-subtle);
}

#navbar {
  width: 100%;
  text-align: center;
}
#navbar tr,
#navbar td {
  border: none;
}
#navbar td {
  width: 33%;
  border-radius: var(--border-radius);
  padding: 14px 0px;
}
#navbar td:hover {
  background-color: var(--color-highlight);
}
#navbar td.active {
  font-weight: bold;
  color: var(--black);
}
#navbar a {
  color: var(--text-subtle);
  text-decoration: none;
}

#toc {
  float: right;
  width: 30%;
  padding: 0.5em;
  margin: 1.5em;
  margin-right: 0px;
  background-color: var(--color-highlight);
  border-radius: var(--border-radius);
  color: var(--text-subtle);
}
#toc.homeworktoc {
   width: 40%;
}
#toc h3 {
  margin: 0.5em;
  color: var(--text-black);
  text-align: center;
  font-size: medium;
}
#toc ol {
  margin: 4px;
}
#toc a {
  /* margin-left: 0.5em;
  text-decoration: none; */
  color: var(--text-black);
  line-height: 1.5em;
}

@media only screen and (max-width: 768px) {
  /* For mobile phones or tablets: */
  #toc, #toc.homeworktoc {
    position: relative;
    margin: 1em 0px;
    padding: 8px 0px;
    width: 100%;
  }
}

#text {
  flex: 1 1 auto;
  background-color: #fff;
  border: 3px double #c4a7f8;
  margin: 10px 4px 8px 4px;
  padding-left: 5%;
  padding-right: 5%;
  padding-top: 10px;
  padding-bottom: 20px;
  -moz-border-radius: var(--border-radius);
  -webkit-border-radius: var(--border-radius);
  border-radius: var(--border-radius);
  -khtml-border-radius: var(--border-radius);
}

#course-schema {
  /*background: #e0dfe2;*/
  width: 100%;
  table-layout: fixed;
}
.course-attr {
  font-weight: bold;
  width: 25%;
}

#bars {
  float: right;
  margin: 10px;
  border: 1px solid black;
}

.citedby {
  font-style: italic;
  font-size: smaller;
}

.bold {
  font-weight: bold;
}

.slides {
  font-size: larger;
}
.travelnote {
  font-style: italic;
  font-weight: normal;
  font-size: smaller;
}
.readings {
  font-family: "Times New Roman", Times, serif;
}
.homework {
  font-style: italic;
  font-weight: bold;
  line-height:14pt;
  margin-top:8pt;
  margin-bottom:0pt;
}
.importantdate {
  font-style: italic;
	font-weight: normal;
	font-size: smaller;
}
.newinfo {
	font-size: small;
	vertical-align: super;
	background-color: yellow;
}
.code {
	font-family: Courier, sans-serif;
}
#schedule {
  font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
  border-collapse: collapse;
}

#schedule td, #schedule th {
  border: 1px solid #4d1a87; /* #ddd; */
  padding: 8px;
}

#schedule th {
  padding-top: 12px;
  padding-bottom: 12px;
  text-align: left;
  background-color: #4d1a87;
  color: white;
}

.scheduletitle {
  color: #6f0be0;
  font-weight: bold;
  font-size: 17pt;
}
/* doesn't look good because rows are so tall
#schedule tr:nth-child(even){background-color: #f2f2f2;} */

/* these don't work
#schedule.numcol {
	width: 40px;
	height: 37px;
}
#schedule.datecol {
	width: 120px;
}
*/

.olforhierarchy {
    counter-increment: firstHeading; 
}

.olforhierarchy OL {
	counter-reset: section;
	list-style-type:none;
/* item
	counter-increment: firstHeading; */
}

.olforhierarchy LI::before { 
	counter-increment: section;
	content: counters(firstHeading, "-") "-" counters(section, ".") ". ";
}

.olforhierarchy LI { 
  margin-top: 6px;
  margin-bottom: 6px;
}

