body {
  margin: 0;
}

header {
  width: 100%;
  padding: 0.5rem 0;
}
header nav {
  display: block;
  margin: 0.5rem auto;
  max-width: 40rem;
  padding: 0 1rem;
}

main {
  margin: 1rem auto;
  max-width: 40rem;
  padding-left: 1rem;
  padding-right: 1rem;
}

body.wide {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
body.wide main {
  margin: 1rem;
  max-width: 60rem;
}

body {
  font-family: "Tex Gyre Heros", sans-serif;
  line-height: 140%;
}

a {
  color: #205080;
}

h1 {
  line-height: 110%;
  margin-top: 0;
}

h1 a, h2 a {
  color: inherit;
  text-decoration: none;
}

header {
  background: #205080;
  color: white;
}
header a {
  color: inherit;
  text-decoration: none;
}
header h1 {
  font-size: inherit;
  font-weight: bold;
  margin-right: 1rem;
}
header nav h1 {
  display: inline-block;
}
header nav p {
  display: inline-block;
}
header nav h1, header nav p {
  margin: 0 1rem 0 0;
}

footer {
  text-align: center;
  margin: 1rem;
  color: #666;
  font-size: 80%;
}
footer a {
  color: inherit;
  text-decoration: none;
}

table {
  border-collapse: collapse;
}
table th {
  text-align: left;
  font-weight: bold;
}
table thead th {
  padding: 0 0.5rem;
  border: 1px solid black;
}
table td, table th {
  padding: 0.5rem 0.5rem;
  border: 1px solid black;
}

table.schedule td, table.schedule th {
  border: none;
}

.schedule .canceled {
  background: #e7fee7;
}
.schedule .event {
  font-weight: bold;
}
.schedule .mon > td, .schedule .mon > th {
  border-top: 1.5rem solid white;
}
.schedule ul {
  margin: 0;
  padding-left: 1em;
  list-style: square;
}
.schedule .short {
  white-space: nowrap;
}
.schedule .num {
  text-align: right;
}
.schedule .month {
  color: #bbb;
}
.schedule .month.first {
  color: inherit;
}

img.logo {
  width: 40%;
  height: auto;
  float: right;
  margin-left: 0.5rem;
  margin-bottom: 0.5rem;
}

main h1 a {
  text-decoration: none;
  color: #205080;
}
main h1 {
  margin-bottom: 0;
}
main footer {
  font-style: italic;
  margin: 1em 0;
  text-align: inherit;
  color: #666;
  font-size: inherit;
  line-height: 130%;
  border-top: 1px solid #666;
}
main footer a {
  color: inherit;
  text-decoration: underline;
}
main code {
  background-color: #eff0f1;
  padding: 2px 4px;
  border-radius: 2px;
}
main p > img {
  padding-left: 10%;
  padding-right: 10%;
  width: 80%;
}
main a > img {
  padding-left: 10%;
  padding-right: 10%;
  width: 80%;
}

pre {
  line-height: 120%;
  overflow-x: auto;
}
pre code {
  background-color: inherit;
  padding: 0;
  border-radius: 0;
}

.details {
  margin-top: 0;
}
.details time {
  margin-left: 1em;
}

img.rss {
  width: 0.8em;
  height: 0.8em;
}

a.icon:before {
  content: "";
  padding-right: 1em;
  margin-right: 0.3em;
  background-repeat: no-repeat;
  background-size: 0.9em 0.9em;
  background-position-y: 2px;
  filter: invert(17%) sepia(66%) saturate(4981%) hue-rotate(355deg) brightness(77%) contrast(85%);
}

a.discussion:before {
  background-image: url(img/discussion.svg);
}

a.video:before {
  background-image: url(img/video.svg);
}

a.reading:before {
  background-image: url(img/book.svg);
}

a.due:before {
  background-image: url(img/calendar.svg);
}

ul.links {
  list-style: none;
  padding-left: 1.5em;
}
ul.links li {
  margin: 1ex 0;
}
ul.links a.icon:before {
  margin-left: -1.3em;
}

ul.compact {
  margin: 0 0 1rem;
  list-style: none;
  padding-left: 0;
}
ul.compact li {
  display: inline-block;
  margin-right: 1em;
}

ul.inline {
  margin: 1.5rem 0;
  list-style: none;
  padding-left: 0;
}
ul.inline li {
  margin: 0.5rem 0;
}

ul.simple {
  list-style: none;
  padding-left: 0;
}

.videos .video {
  position: relative;
  margin: 1rem auto;
  max-width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.videos .video iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  border: 0;
}

.ornament {
  max-width: 15rem;
  margin: 0 auto;
  text-align: center;
}

.footnote-definition {
  color: #666;
}
.footnote-definition .footnote-definition-label {
  float: left;
  padding-right: 1em;
  font-size: 0.8em;
}
.footnote-definition .footnote-definition-label:before {
  content: "[";
}
.footnote-definition .footnote-definition-label:after {
  content: "]";
}

.draft-header {
  background: black;
  color: white;
  width: 100%;
  padding: 0.5rem 0;
}
.draft-header .draft-indicator {
  display: block;
  margin: 0.5rem auto;
  max-width: 40rem;
  padding: 0 1rem;
  font-weight: bold;
}

.highlight-source span.highlight-comment {
  color: #888;
}
.highlight-source span.highlight-type {
  font-weight: bold;
}
.highlight-source span.highlight-keyword {
  font-weight: bold;
}
.highlight-source span.highlight-storage {
  font-weight: bold;
}

/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22data:;charset=utf-8,//%2520Joyously%2520stolen%2520from%2520Cornell's%2520CS6120%2520course%2520website,%2520with%2520modifications.%250A//%2520https://github.com/sampsyo/cs6120/blob/a587c050f433ae32b92027d4a99ad24c7e77f75c/sass/main.scss%250A%250A$main-color:%2520%2523205080;%250A$disabled-color:%2520%2523666;%250A$minor-color:%2520%2523bbb;%250A$canceled-color:%2520%2523e7fee7;%250A$max-width:%252040rem;%250A$max-width-wide:%252060rem;%250A%250A//%2520Layout.%250Abody%2520%257B%250A%2520%2520margin:%25200;%250A%257D%250A%250Aheader%2520%257B%250A%2520%2520width:%2520100%2525;%250A%2520%2520padding:%25200.5rem%25200;%250A%2520%2520nav%2520%257B%250A%2520%2520%2520%2520display:%2520block;%250A%2520%2520%2520%2520margin:%25200.5rem%2520auto;%250A%2520%2520%2520%2520max-width:%2520$max-width;%250A%2520%2520%2520%2520padding:%25200%25201rem;%250A%2520%2520%257D%250A%257D%250A%250Amain%2520%257B%250A%2520%2520margin:%25201rem%2520auto;%250A%2520%2520max-width:%2520$max-width;%250A%250A%2520%2520padding-left:%25201rem;%250A%2520%2520padding-right:%25201rem;%250A%257D%250A%250A//%2520On%2520wide%2520pages,%2520allow%2520wider%2520column.%250Abody.wide%2520%257B%250A%2520%2520display:%2520flex;%250A%2520%2520flex-direction:%2520column;%250A%2520%2520align-items:%2520center;%250A%2520%2520justify-content:%2520center;%250A%2520%2520main%2520%257B%250A%2520%2520%2520%2520margin:%25201rem;%250A%2520%2520%2520%2520max-width:%2520$max-width-wide;%250A%2520%2520%257D%250A%257D%250A%250A%250A//%2520Fonts.%250Abody%2520%257B%250A%2520%2520font-family:%2520'Tex%2520Gyre%2520Heros',%2520sans-serif;%250A%2520%2520line-height:%2520140%2525;%250A%257D%250A%250Aa%2520%257B%250A%2520%2520color:%2520$main-color;%250A%257D%250A%250Ah1%2520%257B%250A%2520%2520line-height:%2520110%2525;%250A%2520%2520margin-top:%25200;%250A%257D%250A%250Ah1,%2520h2%2520%257B%250A%2520%2520a%2520%257B%250A%2520%2520%2520%2520color:%2520inherit;%250A%2520%2520%2520%2520text-decoration:%2520none;%250A%2520%2520%257D%250A%257D%250A%250A%250A//%2520Header%2520links.%250Aheader%2520%257B%250A%2520%2520background:%2520$main-color;%250A%2520%2520color:%2520white;%250A%2520%2520a%2520%257B%250A%2520%2520%2520%2520color:%2520inherit;%250A%2520%2520%2520%2520text-decoration:%2520none;%250A%2520%2520%257D%250A%2520%2520h1%2520%257B%250A%2520%2520%2520%2520font-size:%2520inherit;%250A%2520%2520%2520%2520font-weight:%2520bold;%250A%2520%2520%2520%2520margin-right:%25201rem;%250A%2520%2520%257D%250A%2520%2520nav%2520%257B%250A%2520%2520%2520%2520h1%2520%257B%250A%2520%2520%2520%2520%2520%2520display:%2520inline-block;%250A%2520%2520%2520%2520%257D%250A%2520%2520%2520%2520p%2520%257B%250A%2520%2520%2520%2520%2520%2520display:%2520inline-block;%250A%2520%2520%2520%2520%257D%250A%2520%2520%2520%2520h1,%2520p%2520%257B%250A%2520%2520%2520%2520%2520%2520margin:%25200%25201rem%25200%25200;%250A%2520%2520%2520%2520%257D%250A%2520%2520%257D%250A%257D%250A%250A%250A//%2520Footer%2520links.%250Afooter%2520%257B%250A%2520%2520text-align:%2520center;%250A%2520%2520margin:%25201rem;%250A%2520%2520color:%2520$disabled-color;%250A%2520%2520font-size:%252080%2525;%250A%2520%2520a%2520%257B%250A%2520%2520%2520%2520color:%2520inherit;%250A%2520%2520%2520%2520text-decoration:%2520none;%250A%2520%2520%257D%250A%257D%250A%250A%250A//%2520Schedule%2520table.%250Atable%2520%257B%250A%2520%2520border-collapse:%2520collapse;%250A%2520%2520th%2520%257B%250A%2520%2520%2520%2520text-align:%2520left;%250A%2520%2520%2520%2520font-weight:%2520bold;%250A%2520%2520%257D%250A%2520%2520thead%2520th%2520%257B%250A%2520%2520%2520%2520padding:%25200%25200.5rem;%250A%2520%2520%2520%2520border:%25201px%2520solid%2520black;%250A%2520%2520%2520%2520//%2520background-color:%2520%2523208020;%250A%2520%2520%257D%250A%2520%2520td,%2520th%2520%257B%250A%2520%2520%2520%2520padding:%25200.5rem%25200.5rem;%250A%2520%2520%2520%2520border:%25201px%2520solid%2520black;%250A%2520%2520%257D%250A%257D%250A%250A//%2520TODO:%2520Consider%2520reorganizing%2520this%2520with%2520the%2520above%2520to%2520be%2520more%2520intentional%250A//%2520%2520%2520%2520%2520%2520%2520about%2520generic%2520table%2520styling%2520vs.%2520schedule%2520table%2520styling.%2520Maybe%250A//%2520%2520%2520%2520%2520%2520%2520generic%2520tables%2520don't%2520need%2520all%2520these%2520overrides?%250Atable.schedule%2520%257B%250A%2520%2520td,%2520th%2520%257B%250A%2520%2520%2520%2520border:%2520none;%250A%2520%2520%257D%250A%257D%250A%250A//%2520Course%2520schedule.%250A.schedule%2520%257B%250A%2520%2520.canceled%2520%257B%250A%2520%2520%2520%2520background:%2520$canceled-color;%250A%2520%2520%257D%250A%2520%2520.event%2520%257B%250A%2520%2520%2520%2520font-weight:%2520bold;%250A%2520%2520%257D%250A%2520%2520.mon%2520%253E%2520td,%2520.mon%2520%253E%2520th%2520%257B%250A%2520%2520%2520%2520//%2520Spacing%2520between%2520weeks.%250A%2520%2520%2520%2520border-top:%25201.5rem%2520solid%2520white;%250A%2520%2520%257D%250A%2520%2520ul%2520%257B%250A%2520%2520%2520%2520margin:%25200;%250A%2520%2520%2520%2520padding-left:%25201em;%250A%2520%2520%2520%2520list-style:%2520square;%250A%2520%2520%257D%250A%2520%2520.short%2520%257B%250A%2520%2520%2520%2520white-space:%2520nowrap;%250A%2520%2520%257D%250A%2520%2520.num%2520%257B%250A%2520%2520%2520%2520text-align:%2520right;%250A%2520%2520%257D%250A%2520%2520.month%2520%257B%250A%2520%2520%2520%2520color:%2520$minor-color;%250A%2520%2520%2520%2520&.first%2520%257B%250A%2520%2520%2520%2520%2520%2520color:%2520inherit;%250A%2520%2520%2520%2520%257D%250A%2520%2520%257D%250A%257D%250A%250A%250A//%2520Logo.%250Aimg.logo%2520%257B%250A%2520%2520width:%252040%2525;%250A%2520%2520height:%2520auto;%250A%2520%2520float:%2520right;%250A%250A%2520%2520margin-left:%25200.5rem;%250A%2520%2520margin-bottom:%25200.5rem;%250A%257D%250A%250Amain%2520%257B%250A%2520%2520h1%2520a%2520%257B%250A%2520%2520%2520%2520text-decoration:%2520none;%250A%2520%2520%2520%2520color:%2520$main-color;%250A%2520%2520%257D%250A%2520%2520h1%2520%257B%250A%2520%2520%2520%2520margin-bottom:%25200;%250A%2520%2520%257D%250A%2520%2520footer%2520%257B%250A%2520%2520%2520%2520font-style:%2520italic;%250A%2520%2520%2520%2520margin:%25201em%25200;%250A%2520%2520%2520%2520text-align:%2520inherit;%250A%2520%2520%2520%2520color:%2520$disabled-color;%250A%2520%2520%2520%2520font-size:%2520inherit;%250A%2520%2520%2520%2520line-height:%2520130%2525;%250A%2520%2520%2520%2520border-top:%25201px%2520solid%2520$disabled-color;%250A%2520%2520%2520%2520a%2520%257B%250A%2520%2520%2520%2520%2520%2520color:%2520inherit;%250A%2520%2520%2520%2520%2520%2520text-decoration:%2520underline;%250A%2520%2520%2520%2520%257D%250A%2520%2520%257D%250A%250A%2520%2520code%2520%257B%250A%2520%2520%2520%2520%2520%2520background-color:%2520%2523eff0f1;%250A%2520%2520%2520%2520%2520%2520padding:%25202px%25204px;%250A%2520%2520%2520%2520%2520%2520border-radius:%25202px;%250A%2520%2520%257D%250A%250A%2520%2520p%2520%253E%2520img%2520%257B%250A%2520%2520%2520%2520%2520%2520padding-left:%252010%2525;%250A%2520%2520%2520%2520%2520%2520padding-right:%252010%2525;%250A%2520%2520%2520%2520%2520%2520width:%252080%2525%250A%2520%2520%257D%250A%250A%2520%2520//%2520TODO:%2520this%2520is%2520a%2520hack%250A%2520%2520a%2520%253E%2520img%2520%257B%250A%2520%2520%2520%2520padding-left:%252010%2525;%250A%2520%2520%2520%2520padding-right:%252010%2525;%250A%2520%2520%2520%2520width:%252080%2525%250A%2520%2520%257D%250A%257D%250A%250Apre%2520%257B%250A%2520%2520line-height:%2520120%2525;%250A%2520%2520overflow-x:%2520auto;%250A%2520%2520code%2520%257B%250A%2520%2520%2520%2520%2520%2520background-color:%2520inherit;%250A%2520%2520%2520%2520%2520%2520padding:%25200;%250A%2520%2520%2520%2520%2520%2520border-radius:%25200;%250A%2520%2520%257D%250A%257D%250A%250A.details%2520%257B%250A%2520%2520margin-top:%25200;%250A%2520%2520time%2520%257B%250A%2520%2520%2520%2520%2520%2520margin-left:%25201em;%250A%2520%2520%257D%250A%257D%250A%250Aimg.rss%2520%257B%250A%2520%2520width:%25200.8em;%250A%2520%2520height:%25200.8em;%250A%257D%250A%250Aa.icon:before%2520%257B%250A%2520%2520content:%2520%2522%2522;%250A%2520%2520padding-right:%25201em;%250A%2520%2520margin-right:%25200.3em;%250A%2520%2520background-repeat:%2520no-repeat;%250A%2520%2520background-size:%25200.9em%25200.9em;%250A%2520%2520background-position-y:%25202px;%250A%2520%2520filter:%2520invert(17%2525)%2520sepia(66%2525)%2520saturate(4981%2525)%2520hue-rotate(355deg)%250A%2520%2520%2520%2520brightness(77%2525)%2520contrast(85%2525);%250A%257D%250A%250Aa.discussion:before%2520%257B%250A%2520%2520background-image:%2520url(img/discussion.svg);%250A%257D%250A%250Aa.video:before%2520%257B%250A%2520%2520background-image:%2520url(img/video.svg);%250A%257D%250A%250Aa.reading:before%2520%257B%250A%2520%2520background-image:%2520url(img/book.svg);%250A%257D%250A%250Aa.due:before%2520%257B%250A%2520%2520background-image:%2520url(img/calendar.svg);%250A%257D%250A%250Aul.links%2520%257B%250A%2520%2520list-style:%2520none;%250A%2520%2520padding-left:%25201.5em;%250A%2520%2520li%2520%257B%250A%2520%2520%2520%2520margin:%25201ex%25200;%250A%2520%2520%257D%250A%2520%2520a.icon:before%2520%257B%250A%2520%2520%2520%2520margin-left:%2520-1.3em;%250A%2520%2520%257D%250A%257D%250A%250Aul.compact%2520%257B%250A%2520%2520margin:%25200%25200%25201rem;%250A%2520%2520list-style:%2520none;%250A%2520%2520padding-left:%25200;%250A%2520%2520li%2520%257B%250A%2520%2520%2520%2520display:%2520inline-block;%250A%2520%2520%2520%2520margin-right:%25201em;%250A%2520%2520%257D%250A%257D%250A%250Aul.inline%2520%257B%250A%2520%2520margin:%25201.5rem%25200;%250A%2520%2520list-style:%2520none;%250A%2520%2520padding-left:%25200;%250A%2520%2520li%2520%257B%250A%2520%2520%2520%2520%2520%2520margin:%25200.5rem%25200;%250A%2520%2520%257D%250A%257D%250A%250Aul.simple%2520%257B%250A%2520%2520list-style:%2520none;%250A%2520%2520padding-left:%25200;%250A%257D%250A%250A//%2520Funky%2520responsive%2520video%2520embedding.%250A.videos%2520%257B%250A%2520%2520.video%2520%257B%250A%2520%2520%2520%2520position:%2520relative;%250A%2520%2520%2520%2520margin:%25201rem%2520auto;%250A%2520%2520%2520%2520max-width:%2520100%2525;%250A%2520%2520%2520%2520height:%25200;%250A%2520%2520%2520%2520padding-bottom:%252056.25%2525;%250A%2520%2520%2520%2520overflow:%2520hidden;%250A%2520%2520%2520%2520iframe%2520%257B%250A%2520%2520%2520%2520%2520%2520position:%2520absolute;%250A%2520%2520%2520%2520%2520%2520width:%2520100%2525;%250A%2520%2520%2520%2520%2520%2520height:%2520100%2525;%250A%2520%2520%2520%2520%2520%2520border:%25200;%250A%2520%2520%2520%2520%257D%250A%2520%2520%257D%250A%257D%250A%250A.ornament%2520%257B%250A%2520%2520max-width:%252015rem;%250A%2520%2520margin:%25200%2520auto;%250A%2520%2520text-align:%2520center;%250A%257D%250A%250A.footnote-definition%2520%257B%250A%2520%2520color:%2520$disabled-color;%250A%2520%2520.footnote-definition-label%2520%257B%250A%2520%2520%2520%2520float:%2520left;%250A%2520%2520%2520%2520padding-right:%25201em;%250A%2520%2520%2520%2520font-size:%25200.8em;%250A%2520%2520%2520%2520&:before%2520%257B%2520content:%2520'%255B';%2520%257D%250A%2520%2520%2520%2520&:after%2520%257B%2520content:%2520'%255D';%2520%257D%250A%2520%2520%257D%250A%257D%250A%250A.draft-header%2520%257B%250A%2520%2520background:%2520black;%250A%2520%2520color:%2520white;%250A%2520%2520width:%2520100%2525;%250A%2520%2520padding:%25200.5rem%25200;%250A%2520%2520.draft-indicator%2520%257B%250A%2520%2520%2520%2520display:%2520block;%250A%2520%2520%2520%2520margin:%25200.5rem%2520auto;%250A%2520%2520%2520%2520max-width:%2520$max-width;%250A%2520%2520%2520%2520padding:%25200%25201rem;%250A%2520%2520%2520%2520font-weight:%2520bold;%250A%2520%2520%257D%250A%257D%250A%250A.highlight-source%2520%257B%250A%2520%2520span.highlight-comment%2520%257B%250A%2520%2520%2520%2520color:%2520%2523888;%250A%2520%2520%257D%250A%250A%2520%2520span.highlight-type%2520%257B%250A%2520%2520%2520%2520font-weight:%2520bold;%250A%2520%2520%257D%250A%250A%2520%2520span.highlight-keyword%2520%257B%250A%2520%2520%2520%2520font-weight:%2520bold;%250A%2520%2520%257D%250A%250A%2520%2520span.highlight-storage%2520%257B%250A%2520%2520%2520%2520font-weight:%2520bold;%250A%2520%2520%257D%250A%257D%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAWA;EACE;;;AAGF;EACE;EACA;;AACA;EACE;EACA;EACA,WAdQ;EAeR;;;AAIJ;EACE;EACA,WArBU;EAuBV;EACA;;;AAIF;EACE;EACA;EACA;EACA;;AACA;EACE;EACA,WAlCa;;;AAwCjB;EACE;EACA;;;AAGF;EACE,OAnDW;;;AAsDb;EACE;EACA;;;AAIA;EACE;EACA;;;AAMJ;EACE,YArEW;EAsEX;;AACA;EACE;EACA;;AAEF;EACE;EACA;EACA;;AAGA;EACE;;AAEF;EACE;;AAEF;EACE;;;AAON;EACE;EACA;EACA,OAjGe;EAkGf;;AACA;EACE;EACA;;;AAMJ;EACE;;AACA;EACE;EACA;;AAEF;EACE;EACA;;AAGF;EACE;EACA;;;AAQF;EACE;;;AAMF;EACE,YAtIa;;AAwIf;EACE;;AAEF;EAEE;;AAEF;EACE;EACA;EACA;;AAEF;EACE;;AAEF;EACE;;AAEF;EACE,OA5JU;;AA6JV;EACE;;;AAON;EACE;EACA;EACA;EAEA;EACA;;;AAIA;EACE;EACA,OAnLS;;AAqLX;EACE;;AAEF;EACE;EACA;EACA;EACA,OA3La;EA4Lb;EACA;EACA;;AACA;EACE;EACA;;AAIJ;EACI;EACA;EACA;;AAGJ;EACI;EACA;EACA;;AAIJ;EACE;EACA;EACA;;;AAIJ;EACE;EACA;;AACA;EACI;EACA;EACA;;;AAIN;EACE;;AACA;EACI;;;AAIN;EACE;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;AACA;EACE;;AAEF;EACE;;;AAIJ;EACE;EACA;EACA;;AACA;EACE;EACA;;;AAIJ;EACE;EACA;EACA;;AACA;EACI;;;AAIN;EACE;EACA;;;AAKA;EACE;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;;AAKN;EACE;EACA;EACA;;;AAGF;EACE,OAtUe;;AAuUf;EACE;EACA;EACA;;AACA;EAAW;;AACX;EAAU;;;AAId;EACE;EACA;EACA;EACA;;AACA;EACE;EACA;EACA,WArVQ;EAsVR;EACA;;;AAKF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE%22,%22sourcesContent%22:%5B%22//%20Joyously%20stolen%20from%20Cornell's%20CS6120%20course%20website,%20with%20modifications.%5Cn//%20https://github.com/sampsyo/cs6120/blob/a587c050f433ae32b92027d4a99ad24c7e77f75c/sass/main.scss%5Cn%5Cn$main-color:%20%23205080;%5Cn$disabled-color:%20%23666;%5Cn$minor-color:%20%23bbb;%5Cn$canceled-color:%20%23e7fee7;%5Cn$max-width:%2040rem;%5Cn$max-width-wide:%2060rem;%5Cn%5Cn//%20Layout.%5Cnbody%20%7B%5Cn%20%20margin:%200;%5Cn%7D%5Cn%5Cnheader%20%7B%5Cn%20%20width:%20100%25;%5Cn%20%20padding:%200.5rem%200;%5Cn%20%20nav%20%7B%5Cn%20%20%20%20display:%20block;%5Cn%20%20%20%20margin:%200.5rem%20auto;%5Cn%20%20%20%20max-width:%20$max-width;%5Cn%20%20%20%20padding:%200%201rem;%5Cn%20%20%7D%5Cn%7D%5Cn%5Cnmain%20%7B%5Cn%20%20margin:%201rem%20auto;%5Cn%20%20max-width:%20$max-width;%5Cn%5Cn%20%20padding-left:%201rem;%5Cn%20%20padding-right:%201rem;%5Cn%7D%5Cn%5Cn//%20On%20wide%20pages,%20allow%20wider%20column.%5Cnbody.wide%20%7B%5Cn%20%20display:%20flex;%5Cn%20%20flex-direction:%20column;%5Cn%20%20align-items:%20center;%5Cn%20%20justify-content:%20center;%5Cn%20%20main%20%7B%5Cn%20%20%20%20margin:%201rem;%5Cn%20%20%20%20max-width:%20$max-width-wide;%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn%5Cn//%20Fonts.%5Cnbody%20%7B%5Cn%20%20font-family:%20'Tex%20Gyre%20Heros',%20sans-serif;%5Cn%20%20line-height:%20140%25;%5Cn%7D%5Cn%5Cna%20%7B%5Cn%20%20color:%20$main-color;%5Cn%7D%5Cn%5Cnh1%20%7B%5Cn%20%20line-height:%20110%25;%5Cn%20%20margin-top:%200;%5Cn%7D%5Cn%5Cnh1,%20h2%20%7B%5Cn%20%20a%20%7B%5Cn%20%20%20%20color:%20inherit;%5Cn%20%20%20%20text-decoration:%20none;%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn%5Cn//%20Header%20links.%5Cnheader%20%7B%5Cn%20%20background:%20$main-color;%5Cn%20%20color:%20white;%5Cn%20%20a%20%7B%5Cn%20%20%20%20color:%20inherit;%5Cn%20%20%20%20text-decoration:%20none;%5Cn%20%20%7D%5Cn%20%20h1%20%7B%5Cn%20%20%20%20font-size:%20inherit;%5Cn%20%20%20%20font-weight:%20bold;%5Cn%20%20%20%20margin-right:%201rem;%5Cn%20%20%7D%5Cn%20%20nav%20%7B%5Cn%20%20%20%20h1%20%7B%5Cn%20%20%20%20%20%20display:%20inline-block;%5Cn%20%20%20%20%7D%5Cn%20%20%20%20p%20%7B%5Cn%20%20%20%20%20%20display:%20inline-block;%5Cn%20%20%20%20%7D%5Cn%20%20%20%20h1,%20p%20%7B%5Cn%20%20%20%20%20%20margin:%200%201rem%200%200;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn%5Cn//%20Footer%20links.%5Cnfooter%20%7B%5Cn%20%20text-align:%20center;%5Cn%20%20margin:%201rem;%5Cn%20%20color:%20$disabled-color;%5Cn%20%20font-size:%2080%25;%5Cn%20%20a%20%7B%5Cn%20%20%20%20color:%20inherit;%5Cn%20%20%20%20text-decoration:%20none;%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn%5Cn//%20Schedule%20table.%5Cntable%20%7B%5Cn%20%20border-collapse:%20collapse;%5Cn%20%20th%20%7B%5Cn%20%20%20%20text-align:%20left;%5Cn%20%20%20%20font-weight:%20bold;%5Cn%20%20%7D%5Cn%20%20thead%20th%20%7B%5Cn%20%20%20%20padding:%200%200.5rem;%5Cn%20%20%20%20border:%201px%20solid%20black;%5Cn%20%20%20%20//%20background-color:%20%23208020;%5Cn%20%20%7D%5Cn%20%20td,%20th%20%7B%5Cn%20%20%20%20padding:%200.5rem%200.5rem;%5Cn%20%20%20%20border:%201px%20solid%20black;%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn//%20TODO:%20Consider%20reorganizing%20this%20with%20the%20above%20to%20be%20more%20intentional%5Cn//%20%20%20%20%20%20%20about%20generic%20table%20styling%20vs.%20schedule%20table%20styling.%20Maybe%5Cn//%20%20%20%20%20%20%20generic%20tables%20don't%20need%20all%20these%20overrides?%5Cntable.schedule%20%7B%5Cn%20%20td,%20th%20%7B%5Cn%20%20%20%20border:%20none;%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn//%20Course%20schedule.%5Cn.schedule%20%7B%5Cn%20%20.canceled%20%7B%5Cn%20%20%20%20background:%20$canceled-color;%5Cn%20%20%7D%5Cn%20%20.event%20%7B%5Cn%20%20%20%20font-weight:%20bold;%5Cn%20%20%7D%5Cn%20%20.mon%20%3E%20td,%20.mon%20%3E%20th%20%7B%5Cn%20%20%20%20//%20Spacing%20between%20weeks.%5Cn%20%20%20%20border-top:%201.5rem%20solid%20white;%5Cn%20%20%7D%5Cn%20%20ul%20%7B%5Cn%20%20%20%20margin:%200;%5Cn%20%20%20%20padding-left:%201em;%5Cn%20%20%20%20list-style:%20square;%5Cn%20%20%7D%5Cn%20%20.short%20%7B%5Cn%20%20%20%20white-space:%20nowrap;%5Cn%20%20%7D%5Cn%20%20.num%20%7B%5Cn%20%20%20%20text-align:%20right;%5Cn%20%20%7D%5Cn%20%20.month%20%7B%5Cn%20%20%20%20color:%20$minor-color;%5Cn%20%20%20%20&.first%20%7B%5Cn%20%20%20%20%20%20color:%20inherit;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn%5Cn//%20Logo.%5Cnimg.logo%20%7B%5Cn%20%20width:%2040%25;%5Cn%20%20height:%20auto;%5Cn%20%20float:%20right;%5Cn%5Cn%20%20margin-left:%200.5rem;%5Cn%20%20margin-bottom:%200.5rem;%5Cn%7D%5Cn%5Cnmain%20%7B%5Cn%20%20h1%20a%20%7B%5Cn%20%20%20%20text-decoration:%20none;%5Cn%20%20%20%20color:%20$main-color;%5Cn%20%20%7D%5Cn%20%20h1%20%7B%5Cn%20%20%20%20margin-bottom:%200;%5Cn%20%20%7D%5Cn%20%20footer%20%7B%5Cn%20%20%20%20font-style:%20italic;%5Cn%20%20%20%20margin:%201em%200;%5Cn%20%20%20%20text-align:%20inherit;%5Cn%20%20%20%20color:%20$disabled-color;%5Cn%20%20%20%20font-size:%20inherit;%5Cn%20%20%20%20line-height:%20130%25;%5Cn%20%20%20%20border-top:%201px%20solid%20$disabled-color;%5Cn%20%20%20%20a%20%7B%5Cn%20%20%20%20%20%20color:%20inherit;%5Cn%20%20%20%20%20%20text-decoration:%20underline;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20code%20%7B%5Cn%20%20%20%20%20%20background-color:%20%23eff0f1;%5Cn%20%20%20%20%20%20padding:%202px%204px;%5Cn%20%20%20%20%20%20border-radius:%202px;%5Cn%20%20%7D%5Cn%5Cn%20%20p%20%3E%20img%20%7B%5Cn%20%20%20%20%20%20padding-left:%2010%25;%5Cn%20%20%20%20%20%20padding-right:%2010%25;%5Cn%20%20%20%20%20%20width:%2080%25%5Cn%20%20%7D%5Cn%5Cn%20%20//%20TODO:%20this%20is%20a%20hack%5Cn%20%20a%20%3E%20img%20%7B%5Cn%20%20%20%20padding-left:%2010%25;%5Cn%20%20%20%20padding-right:%2010%25;%5Cn%20%20%20%20width:%2080%25%5Cn%20%20%7D%5Cn%7D%5Cn%5Cnpre%20%7B%5Cn%20%20line-height:%20120%25;%5Cn%20%20overflow-x:%20auto;%5Cn%20%20code%20%7B%5Cn%20%20%20%20%20%20background-color:%20inherit;%5Cn%20%20%20%20%20%20padding:%200;%5Cn%20%20%20%20%20%20border-radius:%200;%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn.details%20%7B%5Cn%20%20margin-top:%200;%5Cn%20%20time%20%7B%5Cn%20%20%20%20%20%20margin-left:%201em;%5Cn%20%20%7D%5Cn%7D%5Cn%5Cnimg.rss%20%7B%5Cn%20%20width:%200.8em;%5Cn%20%20height:%200.8em;%5Cn%7D%5Cn%5Cna.icon:before%20%7B%5Cn%20%20content:%20%5C%22%5C%22;%5Cn%20%20padding-right:%201em;%5Cn%20%20margin-right:%200.3em;%5Cn%20%20background-repeat:%20no-repeat;%5Cn%20%20background-size:%200.9em%200.9em;%5Cn%20%20background-position-y:%202px;%5Cn%20%20filter:%20invert(17%25)%20sepia(66%25)%20saturate(4981%25)%20hue-rotate(355deg)%5Cn%20%20%20%20brightness(77%25)%20contrast(85%25);%5Cn%7D%5Cn%5Cna.discussion:before%20%7B%5Cn%20%20background-image:%20url(img/discussion.svg);%5Cn%7D%5Cn%5Cna.video:before%20%7B%5Cn%20%20background-image:%20url(img/video.svg);%5Cn%7D%5Cn%5Cna.reading:before%20%7B%5Cn%20%20background-image:%20url(img/book.svg);%5Cn%7D%5Cn%5Cna.due:before%20%7B%5Cn%20%20background-image:%20url(img/calendar.svg);%5Cn%7D%5Cn%5Cnul.links%20%7B%5Cn%20%20list-style:%20none;%5Cn%20%20padding-left:%201.5em;%5Cn%20%20li%20%7B%5Cn%20%20%20%20margin:%201ex%200;%5Cn%20%20%7D%5Cn%20%20a.icon:before%20%7B%5Cn%20%20%20%20margin-left:%20-1.3em;%5Cn%20%20%7D%5Cn%7D%5Cn%5Cnul.compact%20%7B%5Cn%20%20margin:%200%200%201rem;%5Cn%20%20list-style:%20none;%5Cn%20%20padding-left:%200;%5Cn%20%20li%20%7B%5Cn%20%20%20%20display:%20inline-block;%5Cn%20%20%20%20margin-right:%201em;%5Cn%20%20%7D%5Cn%7D%5Cn%5Cnul.inline%20%7B%5Cn%20%20margin:%201.5rem%200;%5Cn%20%20list-style:%20none;%5Cn%20%20padding-left:%200;%5Cn%20%20li%20%7B%5Cn%20%20%20%20%20%20margin:%200.5rem%200;%5Cn%20%20%7D%5Cn%7D%5Cn%5Cnul.simple%20%7B%5Cn%20%20list-style:%20none;%5Cn%20%20padding-left:%200;%5Cn%7D%5Cn%5Cn//%20Funky%20responsive%20video%20embedding.%5Cn.videos%20%7B%5Cn%20%20.video%20%7B%5Cn%20%20%20%20position:%20relative;%5Cn%20%20%20%20margin:%201rem%20auto;%5Cn%20%20%20%20max-width:%20100%25;%5Cn%20%20%20%20height:%200;%5Cn%20%20%20%20padding-bottom:%2056.25%25;%5Cn%20%20%20%20overflow:%20hidden;%5Cn%20%20%20%20iframe%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20width:%20100%25;%5Cn%20%20%20%20%20%20height:%20100%25;%5Cn%20%20%20%20%20%20border:%200;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn.ornament%20%7B%5Cn%20%20max-width:%2015rem;%5Cn%20%20margin:%200%20auto;%5Cn%20%20text-align:%20center;%5Cn%7D%5Cn%5Cn.footnote-definition%20%7B%5Cn%20%20color:%20$disabled-color;%5Cn%20%20.footnote-definition-label%20%7B%5Cn%20%20%20%20float:%20left;%5Cn%20%20%20%20padding-right:%201em;%5Cn%20%20%20%20font-size:%200.8em;%5Cn%20%20%20%20&:before%20%7B%20content:%20'%5B';%20%7D%5Cn%20%20%20%20&:after%20%7B%20content:%20'%5D';%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn.draft-header%20%7B%5Cn%20%20background:%20black;%5Cn%20%20color:%20white;%5Cn%20%20width:%20100%25;%5Cn%20%20padding:%200.5rem%200;%5Cn%20%20.draft-indicator%20%7B%5Cn%20%20%20%20display:%20block;%5Cn%20%20%20%20margin:%200.5rem%20auto;%5Cn%20%20%20%20max-width:%20$max-width;%5Cn%20%20%20%20padding:%200%201rem;%5Cn%20%20%20%20font-weight:%20bold;%5Cn%20%20%7D%5Cn%7D%5Cn%5Cn.highlight-source%20%7B%5Cn%20%20span.highlight-comment%20%7B%5Cn%20%20%20%20color:%20%23888;%5Cn%20%20%7D%5Cn%5Cn%20%20span.highlight-type%20%7B%5Cn%20%20%20%20font-weight:%20bold;%5Cn%20%20%7D%5Cn%5Cn%20%20span.highlight-keyword%20%7B%5Cn%20%20%20%20font-weight:%20bold;%5Cn%20%20%7D%5Cn%5Cn%20%20span.highlight-storage%20%7B%5Cn%20%20%20%20font-weight:%20bold;%5Cn%20%20%7D%5Cn%7D%22%5D%7D */
