@charset "UTF-8";
* { box-sizing: border-box; }

iframe { margin: 20px 0px; }

img { max-width: 100%; }

body { margin: 0; font-family: 'Akkurat Pro Regular'; color: #444; box-sizing: border-box; overflow-x: hidden; }

section, div, aside { box-sizing: border-box; }

section a, section a:hover, section a:visited, section a:active, article a, article a:hover, article a:visited, article a:active { text-decoration: none; color: #444; border-bottom: solid #846dac 1px; }
section a:hover, article a:hover { background: #f6f6f6; }
section p, section li, article p, article li { font-size: 16px; color: #5c5962; line-height: 1.7em; margin-top: 5px; }

a, a:hover, a:visited, a:active { text-decoration: none; color: #444; border-bottom: solid transparent 2px; }

ol, ul { margin-top: 0px; }

li { line-height: 1.5em; }

ol.spaced li, ul.spaced li { line-height: 1.5em; margin-bottom: 5px; }

h1, h2, h3, h4, h5 { font-family: "Campton Book",Tahoma,sans-serif; color: #4e2a84; font-weight: 600; }
h1 a, h1 a:hover, h1 a:visited, h1 a:active, h2 a, h2 a:hover, h2 a:visited, h2 a:active, h3 a, h3 a:hover, h3 a:visited, h3 a:active, h4 a, h4 a:hover, h4 a:visited, h4 a:active, h5 a, h5 a:hover, h5 a:visited, h5 a:active { text-decoration: none; color: #4e2a84; border-bottom: none !important; }

h1 { font-weight: 400; }
h1 a, h1 a:visited { color: #4e2a84; text-decoration: none; padding-left: 5px; padding-right: 5px; margin-left: -5px; }
h1 a:hover { background: #EEE; border-radius: 5px; }
h1 span { display: inline-block; border-radius: 4px; color: white; }
h1 span.hw { background: #684a98; }
h1 span.pj { background: #684a98; }

h2, h3, h4, h5 { margin-bottom: 0px; }
h2.slashes::before, h2.slashes::after, h3.slashes::before, h3.slashes::after, h4.slashes::before, h4.slashes::after, h5.slashes::before, h5.slashes::after { background: url(https://common.northwestern.edu/v8/css/images/icons/grey-slash.svg) no-repeat 50%/17px 21px; padding: 0 20px; content: " "; }
h2.slash::after, h3.slash::after, h4.slash::after, h5.slash::after { background: url(https://common.northwestern.edu/v8/css/images/icons/grey-slash.svg) no-repeat 50%/17px 21px; padding: 0 20px; content: " "; }

h2 { border-bottom: dotted 1px #CCC; padding-bottom: 5px; margin-bottom: 20px; }

h3 { margin-bottom: 10px; }

h4 { font-size: 1.2em; }

h5 { font-size: 1.1em; }

strong { font-weight: 600; }

code.highlighter-rouge { background: #F3F3F3; padding: 6px; border-radius: 6px; }

.codepen-frame { height: 350px; }

.desktop { display: flex; }

.mobile { display: none; }

.due-date { display: none; }

ol.flush, ul.flush { padding-left: 17px; }
ol.flush li, ul.flush li { padding-left: 8px; }
ol.flush li img, ol.flush li .highlighter-rouge, ul.flush li img, ul.flush li .highlighter-rouge { margin: 5px 0px 5px 5px; }

.checkbox { text-indent: -34px; margin-left: 34px; }

.checkbox:before { font-family: "Font Awesome 5 Pro"; content: "\f00c"; font-weight: 600; color: #1cb954; margin-right: 10px; font-size: 1.5em; vertical-align: top; }

pre.highlight { border-radius: 10px; background: #F6F6F6; padding: 10px; }

.blockquote-no-margin { margin-top: 0px; }

blockquote { border-left: solid 7px #F6F6F6; background: #F6F6F6; padding: 10px; margin: 0px; margin-top: 30px; margin-bottom: 20px; }
blockquote p { margin: 0px; }

footer { grid-area: bottom; }
footer p { margin-top: 50px; text-align: center; }

main { grid-area: main; }
main.sticky { padding-top: 48px; }

header { grid-area: top; align-items: flex-end; flex-direction: column; background: url(/spring2020/assets/images/purple-polygons.png) repeat-y; }
header h1 { margin-bottom: 0px; color: white; }
header h1 a, header h1 a:hover, header h1 a:visited, header h1 a:active { color: white; background: none; }
header h2 { margin-top: 0px; margin-bottom: 20px; font-family: "Campton Extra Light",Tahoma,sans-serif; border-bottom: none; color: white; }
header h2 a, header h2 a:hover, header h2 a:visited, header h2 a:active { color: white; }

nav { background: #F6F6F6; grid-area: menu; }
nav.sticky { position: fixed; top: 0; width: 100%; }
nav ul { display: flex; flex-direction: row; padding: 0px; margin: 0px; }
nav ul li { border-bottom: solid 3px transparent; list-style: none; padding: 10px 5px; }
nav ul li.active { border-bottom: solid 3px #4e2a84; }
nav ul li a { padding: 5px 8px; }
nav ul li a, nav ul li a:visited, nav ul li:active { text-decoration: none; color: #444; }
nav ul li:hover, nav ul li:active { background: #F9F9F9; border-bottom: solid 3px #CCC; }

@font-face { font-family: "Akkurat Pro Light"; src: url("https://common.northwestern.edu/v8/css/fonts/AkkuratProLight.woff") format("woff"); font-weight: normal; font-style: normal; }
@font-face { font-family: "Akkurat Pro Light Italic"; src: url("https://common.northwestern.edu/v8/css/fonts/AkkuratProLightItalic.woff") format("woff"); font-weight: normal; font-style: normal; }
@font-face { font-family: "Akkurat Pro Regular"; src: url("https://common.northwestern.edu/v8/css/fonts/AkkuratProRegular.woff") format("woff"); font-weight: normal; font-style: normal; }
@font-face { font-family: "Akkurat Pro Italic"; src: url("https://common.northwestern.edu/v8/css/fonts/AkkuratProItalic.woff") format("woff"); font-weight: normal; font-style: normal; }
@font-face { font-family: "Akkurat Pro Bold"; src: url("https://common.northwestern.edu/v8/css/fonts/AkkuratProBold.woff") format("woff"); font-weight: normal; font-style: normal; }
@font-face { font-family: "Akkurat Pro Bold Italic"; src: url("https://common.northwestern.edu/v8/css/fonts/AkkuratProBoldItalic.woff") format("woff"); font-weight: normal; font-style: normal; }
@font-face { font-family: "Campton Book"; src: url("https://common.northwestern.edu/v8/css/fonts/CamptonBook.woff") format("woff"); font-weight: normal; font-style: normal; }
@font-face { font-family: "Campton Bold"; src: url("https://common.northwestern.edu/v8/css/fonts/CamptonBold.woff") format("woff"); font-weight: normal; font-style: normal; }
@font-face { font-family: "Campton Extra Bold"; src: url("https://common.northwestern.edu/v8/css/fonts/CamptonExtraBold.woff") format("woff"); font-weight: normal; font-style: normal; }
@font-face { font-family: "Campton Extra Light"; src: url("https://common.northwestern.edu/v8/css/fonts/CamptonExtraLight.woff") format("woff"); font-weight: normal; font-style: normal; }
table { border-top: solid 1px #444; border-bottom: solid 1px #444; border-collapse: collapse; width: 100%; margin-bottom: 30px; }
table td, table th { font-size: 0.9em; line-height: 1.5em; margin-top: 5px; vertical-align: top; }
table td ul, table th ul { margin-bottom: 0px; }
table td ul li, table th ul li { line-height: 1.5em; font-size: 1em; }
table td { font-family: "Akkurat Pro Light"; }
table td strong, table td i { font-family: 'Akkurat Pro Regular'; }
table td:first-child, table th:first-child { min-width: 80px; }
table thead tr:first-child { border-bottom: solid 1px #444; }
table td, table th { border-bottom: dotted 1px #999; padding: 8px; }
table th { font-weight: 500; min-width: 60px; text-align: left; }

table.rubric { border: dotted 1px #CCC; width: 100%; max-width: 100%; }
table.rubric td, table.rubric th { border-bottom: dotted 1px #CCC; }
table.rubric th:nth-child(2) { width: 80px; }
table.rubric tr:first-child { border-bottom: dotted 1px #CCC; }
table.rubric tr:first-child th { text-transform: uppercase; color: #000; }
table.rubric ul { margin: 0px; }

.assignments td:nth-child(1), .assignments th:nth-child(1) { width: 60px !important; font-weight: 500; }

.readings td:nth-child(2), .readings th:nth-child(2), .schedule td:nth-child(2), .schedule th:nth-child(2) { min-width: 80px; }
.readings td:nth-child(2), .readings th:nth-child(2), .schedule td:nth-child(2), .schedule th:nth-child(2) { min-width: 100px; }
.readings td:nth-child(3), .readings th:nth-child(3), .schedule td:nth-child(3), .schedule th:nth-child(3) { min-width: 210px; }
.readings td:nth-child(4), .readings th:nth-child(4), .schedule td:nth-child(4), .schedule th:nth-child(4) { max-width: 180px; }

.schedule td:nth-child(3), .schedule th:nth-child(3) { min-width: 280px; }

table.grading, table.rubric { border-top: dotted 1px #ccc; border-bottom: dotted 1px #ccc; margin-top: 20px; margin-bottom: 20px; max-width: 500px; border-collapse: collapse; }
table.grading td:first-child, table.rubric td:first-child { padding-left: 30px; }
table.grading td, table.grading th, table.rubric td, table.rubric th { border: dotted 1px #CCC; padding: 3px; }
table.grading td, table.rubric td { font-size: 0.9em; }
table.grading th, table.rubric th { background: #F9F9F9; padding-top: 5px; font-weight: 500; min-width: 80px; text-align: left; }

table.xsmall { width: 250px !important; }

table.small { width: 400px !important; }

table.medium { max-width: 550px; }

.container { grid-template-columns: 1fr; grid-template-areas: "top" "menu" "main" "bottom"; }

.assignments .passed { background: #F9F9F9; }

.assignments .passed, .lectures .passed, .readings .passed, .syllabus .passed, .schedule .passed { color: #AAA; }
.assignments .passed .hw, .assignments .passed a.hw, .assignments .passed .pj, .assignments .passed a.pj, .assignments .passed .lec, .assignments .passed a.lec, .assignments .passed .lab, .assignments .passed a.lab, .assignments .passed .ec, .assignments .passed a.ec, .lectures .passed .hw, .lectures .passed a.hw, .lectures .passed .pj, .lectures .passed a.pj, .lectures .passed .lec, .lectures .passed a.lec, .lectures .passed .lab, .lectures .passed a.lab, .lectures .passed .ec, .lectures .passed a.ec, .readings .passed .hw, .readings .passed a.hw, .readings .passed .pj, .readings .passed a.pj, .readings .passed .lec, .readings .passed a.lec, .readings .passed .lab, .readings .passed a.lab, .readings .passed .ec, .readings .passed a.ec, .syllabus .passed .hw, .syllabus .passed a.hw, .syllabus .passed .pj, .syllabus .passed a.pj, .syllabus .passed .lec, .syllabus .passed a.lec, .syllabus .passed .lab, .syllabus .passed a.lab, .syllabus .passed .ec, .syllabus .passed a.ec, .schedule .passed .hw, .schedule .passed a.hw, .schedule .passed .pj, .schedule .passed a.pj, .schedule .passed .lec, .schedule .passed a.lec, .schedule .passed .lab, .schedule .passed a.lab, .schedule .passed .ec, .schedule .passed a.ec { background: #BBB; }

.assignments, .lectures, .assignment, .reference, .lecture, .readings, .link-menu, .two-column article, .syllabus, .schedule { display: flex; flex-direction: column; }
.assignments .badge, .assignments a.badge, .assignments .hw, .assignments a.hw, .assignments .pj, .assignments a.pj, .assignments .lec, .assignments a.lec, .assignments .lab, .assignments a.lab, .assignments .ec, .assignments a.ec, .lectures .badge, .lectures a.badge, .lectures .hw, .lectures a.hw, .lectures .pj, .lectures a.pj, .lectures .lec, .lectures a.lec, .lectures .lab, .lectures a.lab, .lectures .ec, .lectures a.ec, .assignment .badge, .assignment a.badge, .assignment .hw, .assignment a.hw, .assignment .pj, .assignment a.pj, .assignment .lec, .assignment a.lec, .assignment .lab, .assignment a.lab, .assignment .ec, .assignment a.ec, .reference .badge, .reference a.badge, .reference .hw, .reference a.hw, .reference .pj, .reference a.pj, .reference .lec, .reference a.lec, .reference .lab, .reference a.lab, .reference .ec, .reference a.ec, .lecture .badge, .lecture a.badge, .lecture .hw, .lecture a.hw, .lecture .pj, .lecture a.pj, .lecture .lec, .lecture a.lec, .lecture .lab, .lecture a.lab, .lecture .ec, .lecture a.ec, .readings .badge, .readings a.badge, .readings .hw, .readings a.hw, .readings .pj, .readings a.pj, .readings .lec, .readings a.lec, .readings .lab, .readings a.lab, .readings .ec, .readings a.ec, .link-menu .badge, .link-menu a.badge, .link-menu .hw, .link-menu a.hw, .link-menu .pj, .link-menu a.pj, .link-menu .lec, .link-menu a.lec, .link-menu .lab, .link-menu a.lab, .link-menu .ec, .link-menu a.ec, .two-column article .badge, .two-column article a.badge, .two-column article .hw, .two-column article a.hw, .two-column article .pj, .two-column article a.pj, .two-column article .lec, .two-column article a.lec, .two-column article .lab, .two-column article a.lab, .two-column article .ec, .two-column article a.ec, .syllabus .badge, .syllabus a.badge, .syllabus .hw, .syllabus a.hw, .syllabus .pj, .syllabus a.pj, .syllabus .lec, .syllabus a.lec, .syllabus .lab, .syllabus a.lab, .syllabus .ec, .syllabus a.ec, .schedule .badge, .schedule a.badge, .schedule .hw, .schedule a.hw, .schedule .pj, .schedule a.pj, .schedule .lec, .schedule a.lec, .schedule .lab, .schedule a.lab, .schedule .ec, .schedule a.ec { display: inline-block; border-radius: 4px; color: white; text-transform: uppercase; font-size: .90em; line-height: 1.2em; text-decoration: none; padding: 3px 7px; border-bottom: solid transparent 1px; min-width: 42px; margin-right: 5px; text-indent: 0px; font-family: 'Akkurat Pro Regular'; }
.assignments .badge:hover, .assignments a.badge:hover, .assignments .hw:hover, .assignments a.hw:hover, .assignments .pj:hover, .assignments a.pj:hover, .assignments .lec:hover, .assignments a.lec:hover, .assignments .lab:hover, .assignments a.lab:hover, .assignments .ec:hover, .assignments a.ec:hover, .lectures .badge:hover, .lectures a.badge:hover, .lectures .hw:hover, .lectures a.hw:hover, .lectures .pj:hover, .lectures a.pj:hover, .lectures .lec:hover, .lectures a.lec:hover, .lectures .lab:hover, .lectures a.lab:hover, .lectures .ec:hover, .lectures a.ec:hover, .assignment .badge:hover, .assignment a.badge:hover, .assignment .hw:hover, .assignment a.hw:hover, .assignment .pj:hover, .assignment a.pj:hover, .assignment .lec:hover, .assignment a.lec:hover, .assignment .lab:hover, .assignment a.lab:hover, .assignment .ec:hover, .assignment a.ec:hover, .reference .badge:hover, .reference a.badge:hover, .reference .hw:hover, .reference a.hw:hover, .reference .pj:hover, .reference a.pj:hover, .reference .lec:hover, .reference a.lec:hover, .reference .lab:hover, .reference a.lab:hover, .reference .ec:hover, .reference a.ec:hover, .lecture .badge:hover, .lecture a.badge:hover, .lecture .hw:hover, .lecture a.hw:hover, .lecture .pj:hover, .lecture a.pj:hover, .lecture .lec:hover, .lecture a.lec:hover, .lecture .lab:hover, .lecture a.lab:hover, .lecture .ec:hover, .lecture a.ec:hover, .readings .badge:hover, .readings a.badge:hover, .readings .hw:hover, .readings a.hw:hover, .readings .pj:hover, .readings a.pj:hover, .readings .lec:hover, .readings a.lec:hover, .readings .lab:hover, .readings a.lab:hover, .readings .ec:hover, .readings a.ec:hover, .link-menu .badge:hover, .link-menu a.badge:hover, .link-menu .hw:hover, .link-menu a.hw:hover, .link-menu .pj:hover, .link-menu a.pj:hover, .link-menu .lec:hover, .link-menu a.lec:hover, .link-menu .lab:hover, .link-menu a.lab:hover, .link-menu .ec:hover, .link-menu a.ec:hover, .two-column article .badge:hover, .two-column article a.badge:hover, .two-column article .hw:hover, .two-column article a.hw:hover, .two-column article .pj:hover, .two-column article a.pj:hover, .two-column article .lec:hover, .two-column article a.lec:hover, .two-column article .lab:hover, .two-column article a.lab:hover, .two-column article .ec:hover, .two-column article a.ec:hover, .syllabus .badge:hover, .syllabus a.badge:hover, .syllabus .hw:hover, .syllabus a.hw:hover, .syllabus .pj:hover, .syllabus a.pj:hover, .syllabus .lec:hover, .syllabus a.lec:hover, .syllabus .lab:hover, .syllabus a.lab:hover, .syllabus .ec:hover, .syllabus a.ec:hover, .schedule .badge:hover, .schedule a.badge:hover, .schedule .hw:hover, .schedule a.hw:hover, .schedule .pj:hover, .schedule a.pj:hover, .schedule .lec:hover, .schedule a.lec:hover, .schedule .lab:hover, .schedule a.lab:hover, .schedule .ec:hover, .schedule a.ec:hover { opacity: 0.8; }
.assignments .badge, .assignments .badge:hover, .lectures .badge, .lectures .badge:hover, .assignment .badge, .assignment .badge:hover, .reference .badge, .reference .badge:hover, .lecture .badge, .lecture .badge:hover, .readings .badge, .readings .badge:hover, .link-menu .badge, .link-menu .badge:hover, .two-column article .badge, .two-column article .badge:hover, .syllabus .badge, .syllabus .badge:hover, .schedule .badge, .schedule .badge:hover { background: #F6F6F6; color: #444; }
.assignments .hw, .assignments a.hw, .lectures .hw, .lectures a.hw, .assignment .hw, .assignment a.hw, .reference .hw, .reference a.hw, .lecture .hw, .lecture a.hw, .readings .hw, .readings a.hw, .link-menu .hw, .link-menu a.hw, .two-column article .hw, .two-column article a.hw, .syllabus .hw, .syllabus a.hw, .schedule .hw, .schedule a.hw { background: #2869e6; }
.assignments .pj, .assignments a.pj, .lectures .pj, .lectures a.pj, .assignment .pj, .assignment a.pj, .reference .pj, .reference a.pj, .lecture .pj, .lecture a.pj, .readings .pj, .readings a.pj, .link-menu .pj, .link-menu a.pj, .two-column article .pj, .two-column article a.pj, .syllabus .pj, .syllabus a.pj, .schedule .pj, .schedule a.pj { background: #846dac; }
.assignments .lec, .assignments a.lec, .lectures .lec, .lectures a.lec, .assignment .lec, .assignment a.lec, .reference .lec, .reference a.lec, .lecture .lec, .lecture a.lec, .readings .lec, .readings a.lec, .link-menu .lec, .link-menu a.lec, .two-column article .lec, .two-column article a.lec, .syllabus .lec, .syllabus a.lec, .schedule .lec, .schedule a.lec { background: #5B85AA; }
.assignments .lab, .assignments a.lab, .lectures .lab, .lectures a.lab, .assignment .lab, .assignment a.lab, .reference .lab, .reference a.lab, .lecture .lab, .lecture a.lab, .readings .lab, .readings a.lab, .link-menu .lab, .link-menu a.lab, .two-column article .lab, .two-column article a.lab, .syllabus .lab, .syllabus a.lab, .schedule .lab, .schedule a.lab { background: #009c7b; }
.assignments .ec, .assignments .ec:hover, .lectures .ec, .lectures .ec:hover, .assignment .ec, .assignment .ec:hover, .reference .ec, .reference .ec:hover, .lecture .ec, .lecture .ec:hover, .readings .ec, .readings .ec:hover, .link-menu .ec, .link-menu .ec:hover, .two-column article .ec, .two-column article .ec:hover, .syllabus .ec, .syllabus .ec:hover, .schedule .ec, .schedule .ec:hover { background: #F6F6F6; }
.assignments ul, .lectures ul, .assignment ul, .reference ul, .lecture ul, .readings ul, .link-menu ul, .two-column article ul, .syllabus ul, .schedule ul { margin-top: 0px; }

.readings h3 { font-size: 1em; font-weight: 500; }
.readings li { margin-bottom: 8px; }

.two-column .outline { background: #F6F6F6; padding: 10px; border-radius: 10px; margin-bottom: 15px; padding: 0px; margin: 0px; }
.two-column .outline ol, .two-column .outline ul { padding: 5px 10px 0px 15px; }
.two-column .outline li { list-style-type: none; padding: 0px; margin-bottom: 5px; }
.two-column .outline li a { border-bottom: dotted 1px #999; }

.assignment ul.toc, .reference ul.toc, .lecture ul.toc, .two-column article ul.toc, .syllabus ul.toc, .schedule ul.toc { padding-left: 0px; }
.assignment ul.toc li, .reference ul.toc li, .lecture ul.toc li, .two-column article ul.toc li, .syllabus ul.toc li, .schedule ul.toc li { margin-left: 10px; }
.assignment ul.toc li::before, .reference ul.toc li::before, .lecture ul.toc li::before, .two-column article ul.toc li::before, .syllabus ul.toc li::before, .schedule ul.toc li::before { content: none; }
.assignment .outline, .reference .outline, .lecture .outline, .two-column article .outline, .syllabus .outline, .schedule .outline { background: #F6F6F6; padding: 10px; border-radius: 10px; margin-bottom: 15px; }
.assignment .outline h3, .reference .outline h3, .lecture .outline h3, .two-column article .outline h3, .syllabus .outline h3, .schedule .outline h3 { margin-top: 0px; }
.assignment .checkbox-list, .reference .checkbox-list, .lecture .checkbox-list, .two-column article .checkbox-list, .syllabus .checkbox-list, .schedule .checkbox-list { padding-left: 22px; }
.assignment .checkbox-list > li, .reference .checkbox-list > li, .lecture .checkbox-list > li, .two-column article .checkbox-list > li, .syllabus .checkbox-list > li, .schedule .checkbox-list > li { text-indent: -8px; margin-left: 22px; }
.assignment .checkbox-list > li:before, .reference .checkbox-list > li:before, .lecture .checkbox-list > li:before, .two-column article .checkbox-list > li:before, .syllabus .checkbox-list > li:before, .schedule .checkbox-list > li:before { font-family: "Font Awesome 5 Pro"; content: "\f00c"; font-weight: 600; color: #1cb954; font-size: 1.2em; vertical-align: top; margin-right: 6px; }

ol.readings, ul.readings { margin-top: 0px; margin-bottom: 0px; }
ol.readings li, ul.readings li { margin-top: 0px; }

.lectures ul, .schedule ul, .readings ul { margin: 0px; }
.lectures p, .lectures li, .schedule p, .schedule li, .readings p, .readings li { margin-top: 0px; }
.lectures ol, .schedule ol, .readings ol { margin-top: 0px; margin-bottom: 0px; padding-left: 14px; }
.lectures ol li, .schedule ol li, .readings ol li { margin-bottom: 5px; }

blockquote.caveat { margin: 20px 0px 20px 40px; background: none; border-left: 0px; padding: 25px; padding: 0px; }

blockquote.quote { margin-left: 20px; background: none; border-left: 0px; padding: 25px; font-weight: 500; margin-bottom: 30px; }
blockquote.quote p { font-size: 1.2em; }
blockquote.quote p:before { content: '“'; color: #444; font-size: 2em; line-height: 0.1em; margin-right: 0.1em; vertical-align: -0.4em; font-family: 'Times New Roman', Times, serif; vertical-align: middle; }
blockquote.quote.slim { border-left: solid 10px #EEE; color: #BBB; margin-left: 30px; background: #FCFCFC; padding-left: 20px; padding-bottom: 0px; }
blockquote.quote.slim p { margin-bottom: 20px; font-weight: 400; color: #aaa; font-size: 20px; }
blockquote.quote.slim:before { font-size: 3em; }

.schedule ul { padding-left: 20px; }

.assignment .summary, .lecture .summary, .details .summary, .two-column article .summary, .syllabus .summary, .schedule .summary { background: #F3F3F3; padding: 10px; }
.assignment .summary li, .lecture .summary li, .details .summary li, .two-column article .summary li, .syllabus .summary li, .schedule .summary li { margin-left: 30px; }
.assignment ul, .lecture ul, .details ul, .two-column article ul, .syllabus ul, .schedule ul { list-style: none; }
.assignment ul li::before, .lecture ul li::before, .details ul li::before, .two-column article ul li::before, .syllabus ul li::before, .schedule ul li::before { font-size: 20px; content: "\2022"; font-weight: bold; display: inline-block; text-indent: -16px; color: #684a98; }
.assignment h3, .lecture h3, .details h3, .two-column article h3, .syllabus h3, .schedule h3 { color: #676767; font-family: "Campton Extra Light"; font-size: 1.5em; }

.container { grid-template-columns: 1fr; grid-template-areas: "top" "menu" "main" "bottom"; }

.one-column header { height: 116px; }
.one-column header, .one-column nav, .one-column footer, .one-column main { display: flex; }
.one-column header, .one-column nav, .one-column footer { justify-content: center; align-items: center; }
.one-column footer > div { margin-top: 80px; margin-bottom: 20px; }
.one-column main { min-height: 80vh; flex-direction: column; padding-left: 15vw; padding-right: 15vw; }

.two-column { margin-bottom: 500px; padding: 0px; }
.two-column main h1, .two-column main h2, .two-column main h3, .two-column main h4 { padding-top: 85px; margin-top: -70px; }
.two-column main h2, .two-column main h3, .two-column main h4 { z-index: -1; }
.two-column .desktop { display: flex; }
.two-column .mobile { display: none; }
.two-column header { height: 116px; width: 100vw; display: flex; align-items: center; justify-content: center; z-index: 100; }
.two-column header h1 { z-index: 100; }
.two-column nav { height: 48px; border-bottom: dotted 1px #CCC; width: 100vw; display: flex; align-items: center; justify-content: center; }
.two-column nav ul { z-index: 300; }
.two-column aside { background: #F6F6F6; position: absolute; top: 164px; left: 0px; height: 100vh; width: 250px; overflow-y: auto; padding-bottom: 40px; }
.two-column aside.sticky { top: 48px; position: fixed; height: calc(100vh - 44px); left: 0px; }
.two-column aside h3 { margin-top: 0px; }
.two-column aside ol { padding: 0px; margin: 0px; }
.two-column aside ol.siblings { background: white; padding-bottom: 10px; margin-bottom: 0px !important; border-bottom: solid 1px #CCC; border-top: solid 1px #CCC; padding-top: 10px; margin-left: -20px; }
.two-column aside ol.siblings > li a:before { font-size: 20px; content: "\2022"; font-weight: bold; display: inline-block; text-indent: -16px; color: #846dac; }
.two-column aside ol.siblings a, .two-column aside ol.siblings a:visited { color: black !important; font-size: 0.8em !important; padding-top: 2px !important; }
.two-column aside ol.siblings a.active, .two-column aside ol.siblings a:visited.active { color: white !important; }
.two-column aside .side-menu { width: 100%; padding: 0px; }
.two-column aside .side-menu a { font-size: 1.05em; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; padding-right: 20px !important; }
.two-column aside .side-menu a:hover { background: #EEE; }
.two-column aside .side-menu > li a { display: block; padding-top: 5px; }
.two-column aside .side-menu > li a.active { background: #846dac; color: white; }
.two-column aside .side-menu > li > a:first-child { padding: 4px 0px 3px 10px; font-weight: 500; }
.two-column aside .side-menu > li ol { margin-top: 0px; margin-bottom: 10px; }
.two-column aside .side-menu > li ol li a { color: #444; font-size: 0.9em; padding-left: 20px; }
.two-column aside .side-menu > li ol li ol li a { color: #666; font-size: 0.9em; padding-left: 45px; }
.two-column aside .side-menu > li ol li ol li ol li > a { padding-left: 65px; }
.two-column aside .side-menu li { margin-top: 0px; list-style-type: none; line-height: 1.2em; }
.two-column article { width: calc(100vw - 250px); margin-left: 250px; padding: 20px 40px; padding-right: 15vh; }
.two-column article h1 { font-size: 1.8em; }

.module-image { max-width: 30%; border-radius: 5px; padding: 5px; border: solid 1px #CCC; float: left; margin: 0px 10px 0px 0px; }

img.frame { border-radius: 5px; padding: 5px; border: solid 1px #CCC; }

img.center { display: block; margin-right: auto; margin-left: auto; }

img.small { max-width: 350px; }

img.medium { max-width: 550px; }

img.medium-lg { max-width: 70%; }

ol.spaced li, ul.spaced li { margin-bottom: 20px; }

.nu-button, .nu-button:visited, .nu-button:active, .button, .button:visited, .button:active { background: #684a98; border: none; color: #fff !important; margin: 20px .5em 20px 0; padding: .8em 1em .7em 1em; align-self: flex-start; text-transform: uppercase; transition: 0.3s ease; text-decoration: none; }
.nu-button:hover, .nu-button:visited:hover, .nu-button:active:hover, .button:hover, .button:visited:hover, .button:active:hover { background: #846dac; border: none; }
.nu-button i, .nu-button:visited i, .nu-button:active i, .button i, .button:visited i, .button:active i { margin-left: 5px; }

.button, .button:visited, .button:active { background: #EEE; color: #444 !important; }
.button:hover, .button:visited:hover, .button:active:hover { background: #DDD; }

ol.readings { margin-bottom: 30px; }
ol.readings ul.compact { margin: 10px 0px 10px 0px; }
ol.readings ul.compact li { line-height: 1.3em; font-size: 0.9em; padding: 0px; margin: 0px; color: #999; }

.subtitle { margin: -20px 0px 15px 0px; color: #676767; font-family: "Campton Extra Light"; font-size: 1.5em; }

.highlighter-rouge { margin-bottom: 18px; }

code.highlighter-rouge { padding: 3px; }

@media (max-width: 800px) { img.medium { max-width: 100%; } }
/*! Inkpot Theme; https://github.com/uraimo/pygments-vimstyles */
/*! Wombat VIM theme */
.highlight, .highlight pre, .highlight table { background: #242424 !important; color: #f6f3e8 !important; border-radius: 10px; overflow-x: auto; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word; }

.highlight .hll { background-color: #ffffcc !important; }

.highlight .c { color: #99968b !important; font-style: italic !important; }

/* Comment */
.highlight .err { color: #f6f3e8 !important; }

/* Error */
.highlight .g { color: #f6f3e8 !important; }

/* Generic */
.highlight .k { color: #8ac6f2 !important; }

/* Keyword */
.highlight .l { color: #f6f3e8 !important; }

/* Literal */
.highlight .n, .highlight .h { color: #f6f3e8 !important; }

/* Name */
.highlight .o { color: #f6f3e8 !important; }

/* Operator */
.highlight .x { color: #f6f3e8 !important; }

/* Other */
.highlight .p { color: #f6f3e8 !important; }

/* Punctuation */
.highlight .cm { color: #99968b !important; font-style: italic !important; }

/* Comment.Multiline */
.highlight .cp { color: #e5786d !important; }

/* Comment.Preproc */
.highlight .c1 { color: #99968b !important; font-style: italic !important; }

/* Comment.Single */
.highlight .cs { color: #99968b !important; font-style: italic !important; }

/* Comment.Special */
.highlight .gd { color: #f6f3e8 !important; }

/* Generic.Deleted */
.highlight .ge { color: #f6f3e8 !important; }

/* Generic.Emph */
.highlight .gr { color: #f6f3e8 !important; }

/* Generic.Error */
.highlight .gh { color: #f6f3e8 !important; font-weight: bold !important; }

/* Generic.Heading */
.highlight .gi { color: #f6f3e8 !important; }

/* Generic.Inserted */
.highlight .go { color: #808080 !important; background-color: #303030 !important; }

/* Generic.Output */
.highlight .gp { color: #f6f3e8 !important; }

/* Generic.Prompt */
.highlight .gs { color: #f6f3e8 !important; }

/* Generic.Strong */
.highlight .gu { color: #f6f3e8 !important; font-weight: bold !important; }

/* Generic.Subheading */
.highlight .gt { color: #f6f3e8 !important; }

/* Generic.Traceback */
.highlight .kc { color: #8ac6f2 !important; }

/* Keyword.Constant */
.highlight .kd { color: #8ac6f2 !important; }

/* Keyword.Declaration */
.highlight .kn { color: #8ac6f2 !important; }

/* Keyword.Namespace */
.highlight .kp { color: #8ac6f2 !important; }

/* Keyword.Pseudo */
.highlight .kr { color: #8ac6f2 !important; }

/* Keyword.Reserved */
.highlight .kt { color: #cae682 !important; }

/* Keyword.Type */
.highlight .ld { color: #f6f3e8 !important; }

/* Literal.Date */
.highlight .m { color: #e5786d !important; }

/* Literal.Number */
.highlight .s { color: #95e454 !important; font-style: italic !important; }

/* Literal.String */
.highlight .na { color: #cae682 !important; }

/* Name.Attribute */
.highlight .nb { color: #f6f3e8 !important; }

/* Name.Builtin */
.highlight .nc { color: #f6f3e8 !important; }

/* Name.Class */
.highlight .no { color: #e5786d !important; }

/* Name.Constant */
.highlight .nd { color: #f6f3e8 !important; }

/* Name.Decorator */
.highlight .ni { color: #e7f6da !important; }

/* Name.Entity */
.highlight .ne { color: #f6f3e8 !important; }

/* Name.Exception */
.highlight .nf { color: #cae682 !important; }

/* Name.Function */
.highlight .nl { color: #f6f3e8 !important; }

/* Name.Label */
.highlight .nn { color: #f6f3e8 !important; }

/* Name.Namespace */
.highlight .nx { color: #f6f3e8 !important; }

/* Name.Other */
.highlight .py { color: #f6f3e8 !important; }

/* Name.Property */
.highlight .nt { color: #8ac6f2 !important; }

/* Name.Tag */
.highlight .nv { color: #cae682 !important; }

/* Name.Variable */
.highlight .ow { color: #f6f3e8 !important; }

/* Operator.Word */
.highlight .w { color: #f6f3e8 !important; }

/* Text.Whitespace */
.highlight .mf { color: #e5786d !important; }

/* Literal.Number.Float */
.highlight .mh { color: #e5786d !important; }

/* Literal.Number.Hex */
.highlight .mi { color: #e5786d !important; }

/* Literal.Number.Integer */
.highlight .mo { color: #e5786d !important; }

/* Literal.Number.Oct */
.highlight .sb { color: #95e454 !important; font-style: italic !important; }

/* Literal.String.Backtick */
.highlight .sc { color: #95e454 !important; font-style: italic !important; }

/* Literal.String.Char */
.highlight .sd { color: #95e454 !important; font-style: italic !important; }

/* Literal.String.Doc */
.highlight .s2 { color: #95e454 !important; font-style: italic !important; }

/* Literal.String.Double */
.highlight .se { color: #95e454 !important; font-style: italic !important; }

/* Literal.String.Escape */
.highlight .sh { color: #95e454 !important; font-style: italic !important; }

/* Literal.String.Heredoc */
.highlight .si { color: #95e454 !important; font-style: italic !important; }

/* Literal.String.Interpol */
.highlight .sx { color: #95e454 !important; font-style: italic !important; }

/* Literal.String.Other */
.highlight .sr { color: #95e454 !important; font-style: italic !important; }

/* Literal.String.Regex */
.highlight .s1 { color: #95e454 !important; font-style: italic !important; }

/* Literal.String.Single */
.highlight .ss { color: #95e454 !important; font-style: italic !important; }

/* Literal.String.Symbol */
.highlight .bp { color: #f6f3e8 !important; }

/* Name.Builtin.Pseudo */
.highlight .vc { color: #cae682 !important; }

/* Name.Variable.Class */
.highlight .vg { color: #cae682 !important; }

/* Name.Variable.Global */
.highlight .vi { color: #cae682 !important; }

/* Name.Variable.Instance */
.highlight .il { color: #e5786d !important; }

/* Literal.Number.Integer.Long */
@media (max-width: 1200px) { .one-column main { padding-left: 10vw; padding-right: 10vw; }
  .readings td:nth-child(4), .readings th:nth-child(4), .readings td:nth-child(3), .readings th:nth-child(3), .schedule td:nth-child(4), .schedule th:nth-child(4), .schedule td:nth-child(3), .schedule th:nth-child(3) { min-width: auto; } }
@media (max-width: 900px) { .one-column main { padding-left: 5vw; padding-right: 5vw; } }
@media (max-width: 800px) { .one-column main, .two-column main { min-height: 82vh; padding: 80px 20px 20px 20px; }
  .one-column .container, .two-column .container { grid-template-columns: 1fr; grid-template-rows: 65px auto auto auto; grid-template-areas: "top" "menu" "main" "bottom"; margin: 0px; grid-row-gap: 0px; grid-column-gap: 0px; overflow: auto; }
  .one-column .desktop, .two-column .desktop { display: none; }
  .one-column .mobile, .two-column .mobile { display: flex; }
  .one-column footer, .one-column header, .two-column footer, .two-column header { border: none; }
  .one-column header, .one-column nav, .two-column header, .two-column nav { top: 0px; z-index: 500; position: fixed; width: 100%; }
  .one-column header .fa-bars, .one-column nav .fa-bars, .two-column header .fa-bars, .two-column nav .fa-bars { color: white; }
  .one-column header, .two-column header { height: 65px; flex-direction: row; background: #4e2a84 !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22), 0 1px 2px rgba(0, 0, 0, 0.34); color: white; padding-top: 8px; align-items: flex-start; justify-content: flex-start; }
  .one-column header i, .two-column header i { font-size: 24px; }
  .one-column header a, .two-column header a { padding: 10px; margin: 5px; text-decoration: none; color: white; }
  .one-column header h1, .two-column header h1 { font-size: 1.3em; }
  .one-column nav, .two-column nav { display: none; top: 65px; height: auto; background: white; }
  .one-column nav.sticky, .two-column nav.sticky { height: auto; top: 65px; }
  .one-column nav ul, .two-column nav ul { flex-direction: column; width: 100%; padding: 0px; margin: 0px; box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22); }
  .one-column nav ul li, .two-column nav ul li { border-bottom: solid 1px #EEE; margin-top: 0px; }
  .one-column nav ul li.active, .two-column nav ul li.active { border-bottom: solid 1px #EEE; background: #846dac; }
  .one-column nav ul li.active a, .two-column nav ul li.active a { color: white; }
  .one-column nav ul li.active:hover, .one-column nav ul li.active:active, .two-column nav ul li.active:hover, .two-column nav ul li.active:active { background: #846dac; }
  .one-column nav ul li a, .two-column nav ul li a { display: flex; padding: 10px 18px; }
  .one-column nav ul li:hover, .one-column nav ul li:active, .two-column nav ul li:hover, .two-column nav ul li:active { border-bottom: solid 1px #EEE; background: #E9E9E9; }
  .one-column main > article, .two-column main > article { margin-top: auto; width: auto; margin: 0px; padding: 0px; }
  .one-column aside, .two-column aside { display: none; }
  .module-image { max-width: 100%; float: none; }
  .assignments section, .people section { width: 100%; height: 200px; }
  .lectures td { min-width: 50px !important; }
  .lectures th:nth-child(1) { min-width: 50px !important; width: auto; }
  .lectures td:nth-child(3) { min-width: 200px !important; }
  .lectures td:nth-child(4) { min-width: 50px !important; }
  .readings tr:first-child, .readings th:first-child, .readings th:nth-child(3), .readings td:nth-child(3) { display: none; }
  .readings td:nth-child(2) { font-weight: 500; width: 70px !important; min-width: 70px !important; } }
