/* fonts */
/*************************************
  Computer Modern Sans
*************************************/
@font-face {
  font-family: "Computer Modern Sans";
  src: url(fonts/cmunss.ttf);
}
@font-face {
  font-family: "Computer Modern Sans";
  src: url(fonts/cmunsx.ttf);
  font-weight: bold;
}
@font-face {
  font-family: "Computer Modern Sans";
  src: url(fonts/cmunsi.ttf);
  font-style: italic;
}
@font-face {
  font-family: "Computer Modern Sans";
  src: url(fonts/cmunso.ttf);
  font-weight: bold;
  font-style: italic;
}
/*************************************
  Computer Modern Serif
*************************************/
@font-face {
  font-family: "Computer Modern Serif";
  src: url(fonts/cmunrm.ttf);
}
@font-face {
  font-family: "Computer Modern Serif";
  src: url(fonts/cmunbx.ttf);
  font-weight: bold;
}
@font-face {
  font-family: "Computer Modern Serif";
  src: url(fonts/cmunti.ttf);
  font-style: italic;
}
@font-face {
  font-family: "Computer Modern Serif";
  src: url(fonts/cmunbi.ttf);
  font-weight: bold;
  font-style: italic;
}
/*************************************
  Euler Script (the AMS eusm10 capitals, converted to WOFF and renamed as
  the SIL Open Font License requires), used by KaTeX's \mathscr
*************************************/
@font-face {
  font-family: "Euler Script Web";
  src: url(fonts/euler-script-web.woff) format("woff");
}
/*************************************
   default theme
 *************************************/
/*
  @mixin theme($property, $key, $inlineExtra:null, $postExtra:null)
  Assigns a property a theme value for each defined theme.

  Example usage:
    .mySelector {
      padding: 6px;
      @include theme(background-color, backgroundLight);
      @include theme(border, borderDark, 1px solid);
    }
*/
/*
  @mixin generateThemeMappings(themeName: string, themeMap: map)
  helper function for generating list of theme variables and adding to existing map.
  This will add a new theme to the themes array and the theme color list.
*/
/** this section generates a theme map for each theme **/
/** end theme generation **/
/* functions */
/* nav icons (do not change with theme) */
/* mixins */
/*
  @mixin theme-icon($icon, $key)
*/
/*************************************
  GLOBAL
*************************************/
* {
  box-sizing: border-box;
}

/*************************************
  HEADERS
*************************************/
h1, h2, h3, .bold {
  font-family: "Computer Modern Sans", sans-serif;
  font-weight: bold;
}

h1 {
  font-size: 200%;
  margin: 0 0 0 0;
}
.light h1 {
  color: #1d2b33;
}

.dark h1 {
  color: rgb(76.1539398368%, 77.4936061381%, 80.7088052612%);
}

h2 {
  font-size: 130%;
  padding: 8px 0 2px 0;
}
.light h2 {
  color: #24343c;
}

.dark h2 {
  color: rgb(76.1539398368%, 77.4936061381%, 80.7088052612%);
}

h3 {
  font-size: 110%;
  padding: 8px 0 2px 0;
}
.light h3 {
  color: #24343c;
}

.dark h3 {
  color: rgb(76.1539398368%, 77.4936061381%, 80.7088052612%);
}

li div.heading {
  font-size: 100%;
  padding-top: 8px;
  padding-bottom: 2px;
  display: block;
}

/*************************************
  BODY
*************************************/
body {
  font-size: 18px;
  margin: 0 0 0 50px;
  -webkit-print-color-adjust: exact !important;
  print-color-adjust: exact !important;
  /* styles for phones */
}
@media (max-width: 767px) {
  body {
    margin-left: 0;
    margin-top: 50px;
  }
}
.light body {
  color: #33393d;
}

.dark body {
  color: #cccccc;
}

.light body {
  background-color: white;
}

.dark body {
  background-color: rgb(16%, 16%, 16%);
}

.light body {
  font-family: Computer Modern Serif, serif;
}

.dark body {
  font-family: Computer Modern Sans, sans-serif;
}

.light body {
  font-family: 200;
}

.dark body {
  font-family: 200;
}

.hidden {
  opacity: 0;
  visibility: hidden;
}
.hidden.fade {
  transition: opacity 0.5s ease, visibility 0.5s;
}

.visible {
  opacity: 1;
  visibility: visible;
}
.visible.fade {
  transition: opacity 0.5s ease;
}

.no-transition {
  transition: none !important;
}

/*************************************
  LINKS
*************************************/
.light a {
  color: #297089;
}

.dark a {
  color: #0083b3;
}

a:link, a:visited, a:active, a:focus {
  text-decoration: none !important;
}
a:hover {
  text-decoration: underline;
}
a {
  -webkit-tap-highlight-color: transparent;
}

/*************************************
  PRINT
*************************************/
@media only print {
  #requisites-container, #print-button, nav, .tag {
    display: none !important;
  }
  body, .single {
    margin: auto !important;
    width: 100%;
    font-size: 12px;
  }
  h1, h2, h3, body {
    color: black !important;
  }
  .light a {
    color: #33393d;
  }
  .dark a {
    color: #cccccc;
  }
  @page {
    size: 8.5in 11in;
    margin: 1in;
  }
}
/*************************************
  KEYBOARD
*************************************/
kbd {
  -moz-border-radius: 3px;
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px #fff inset;
  -webkit-border-radius: 3px;
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px #fff inset;
  background-color: #f7f7f7;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px #fff inset;
  color: #333;
  display: inline-block;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  line-height: 1.4;
  margin: 0 0.1em;
  padding: 0.1em 0.6em;
  text-shadow: 0 1px 0 #fff;
}

/*************************************
  PAGES
*************************************/
div.page {
  padding: 25px 35px 15px 35px;
  /* styles for phones */
}
@media (max-width: 767px) {
  div.page {
    padding-left: 16px;
    padding-right: 16px;
  }
}

div.single {
  margin-right: 30vw;
}

.theorem {
  padding: 1rem;
  display: block;
  background-color: lightgray;
  border-radius: 1rem;
  margin: 1rem 0;
}
.theorem:before {
  display: inline;
  content: "Theorem (" attr(title) ")";
  font-weight: bold;
  font-size: 130%;
  font-family: "Computer Modern Sans", sans-serif;
}

.math, .katex {
  font-size: 1em !important;
  color: inherit;
}

/* inline equations move to the next line as a whole instead of being split
   wherever the line ends; long equations are written as displays instead */
.katex {
  white-space: nowrap;
}

/* \mathscr (the sets of states, actions, and rewards) uses Euler Script, as in
   Sutton and Barto, instead of KaTeX's RSFS */
.katex .mord.mathscr {
  font-family: "Euler Script Web", KaTeX_Script;
  /* KaTeX adds italic corrections for the slanted RSFS letters, but Euler is
     upright */
  margin-right: 0 !important;
}

/* equations wider than the page (such as large matrices on phones) scroll
   horizontally instead of overflowing the page */
.katex-display {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.25em 0;
}

.code {
  font-family: "Courier New", monospace;
}

/* transform properties and pairs */
table.transform-pairs, table.transform-properties {
  border-collapse: collapse;
  width: 100%;
  text-align: center;
}
table.transform-pairs th, table.transform-properties th {
  font-weight: bold;
  font-family: "Computer Modern Sans", sans-serif;
  padding-bottom: 1em;
}
table.transform-pairs td, table.transform-properties td {
  padding-bottom: 0.8em;
}

.linear-quadratic-lyapunov-theory {
  border-collapse: collapse;
  text-align: center;
  width: 100%;
}

.highlight > pre {
  padding: 1em;
  font-size: 90%;
  overflow-x: auto;
}
.light .highlight > pre {
  background-color: #e7ecee !important;
}

.dark .highlight > pre {
  background-color: rgb(23%, 23%, 23%) !important;
}

.light .highlight > pre {
  color: #37474f;
}

.dark .highlight > pre {
  color: rgb(67%, 67%, 67%);
}

.highlight > pre {
  border-radius: 4px;
}

table.signals-and-spaces {
  border-collapse: collapse;
  width: 100%;
  text-align: center;
}
table.signals-and-spaces th {
  font-weight: bold;
  font-family: "Computer Modern Sans", sans-serif;
  padding: 0.5em 0.25em;
}
table.signals-and-spaces td {
  padding: 0.5em 0.25em;
}
table.signals-and-spaces tr td:first-child {
  font-weight: bold;
  font-family: "Computer Modern Sans", sans-serif;
}

img {
  max-width: 600px;
}

img.reference {
  width: 30px;
}

.note {
  color: inherit;
}
.note:before {
  display: inline;
  content: "Note.";
  font-weight: bold;
  font-size: 100%;
}

.plot {
  width: 80%;
  aspect-ratio: 2;
  margin: auto;
}
.plot.small {
  max-width: 300px;
}
.plot.medium {
  max-width: 450px;
}
.plot.large {
  max-width: 600px;
}

.js-plotly-plot {
  width: 100%;
}
.light .js-plotly-plot {
  background-color: white;
}

.dark .js-plotly-plot {
  background-color: rgb(16%, 16%, 16%);
}

.light .js-plotly-plot path, .js-plotly-plot .xtick text, .js-plotly-plot .ytick text {
  stroke: #37474f !important;
}

.dark .js-plotly-plot path, .js-plotly-plot .xtick text, .js-plotly-plot .ytick text {
  stroke: rgb(67%, 67%, 67%) !important;
}

.light .js-plotly-plot .scatter .lines path, .js-plotly-plot path.point {
  stroke: #0079a6 !important;
}

.dark .js-plotly-plot .scatter .lines path, .js-plotly-plot path.point {
  stroke: #0083b3 !important;
}

.light .js-plotly-plot path.point {
  stroke: #0079a6 !important;
}

.dark .js-plotly-plot path.point {
  stroke: #0083b3 !important;
}

.light .js-plotly-plot path.point {
  fill: #0079a6 !important;
}

.dark .js-plotly-plot path.point {
  fill: #0083b3 !important;
}

.light input[type=range] {
  accent-color: #0079a6;
}

.dark input[type=range] {
  accent-color: #0083b3;
}

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

.logo {
  padding: 50px 0px;
}

.light button, more-info::part(button), my-proof::part(button) {
  background-color: #e7ecee;
}

.dark button, more-info::part(button), my-proof::part(button) {
  background-color: rgb(23%, 23%, 23%);
}

.light button, more-info::part(button), my-proof::part(button) {
  color: #37474f;
}

.dark button, more-info::part(button), my-proof::part(button) {
  color: rgb(67%, 67%, 67%);
}

button, more-info::part(button), my-proof::part(button) {
  font-weight: bold;
}
.light button:hover, more-info::part(button):hover, my-proof::part(button):hover {
  color: #297089;
}

.dark button:hover, more-info::part(button):hover, my-proof::part(button):hover {
  color: #2f809d;
}

.fadein {
  animation: fadein 1s;
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#labels-alternative {
  color: gray;
  padding-bottom: 8px;
}

.no-electron .electron-only {
  display: none !important;
}

.summary-list {
  list-style: none;
  padding-left: 15px;
}
.summary-list > li {
  position: relative;
  padding-bottom: 20px;
}
.summary-list > li:last-child {
  padding-bottom: 0;
}
.summary-list > li > a {
  position: relative;
  padding-left: 25px;
}
.summary-list > li > a.concepts::before, .summary-list > li > a.concept::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M32.5%2096l0%20149.5c0%2017%206.7%2033.3%2018.7%2045.3l192%20192c25%2025%2065.5%2025%2090.5%200L483.2%20333.3c25-25%2025-65.5%200-90.5l-192-192C279.2%2038.7%20263%2032%20246%2032L96.5%2032c-35.3%200-64%2028.7-64%2064zm112%2016a32%2032%200%201%201%200%2064%2032%2032%200%201%201%200-64z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M32.5%2096l0%20149.5c0%2017%206.7%2033.3%2018.7%2045.3l192%20192c25%2025%2065.5%2025%2090.5%200L483.2%20333.3c25-25%2025-65.5%200-90.5l-192-192C279.2%2038.7%20263%2032%20246%2032L96.5%2032c-35.3%200-64%2028.7-64%2064zm112%2016a32%2032%200%201%201%200%2064%2032%2032%200%201%201%200-64z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.summary-list > li > a.objectives::before, .summary-list > li > a.objective::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20300%20300%22%20fill=%22none%22%3E%3Cpath%20stroke=%22currentColor%22%20stroke-width=%2245%22%20d=%22m149,25a125,125%200%201,0%202,0zm2,100a25,25%200%201,1-2,0z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20300%20300%22%20fill=%22none%22%3E%3Cpath%20stroke=%22currentColor%22%20stroke-width=%2245%22%20d=%22m149,25a125,125%200%201,0%202,0zm2,100a25,25%200%201,1-2,0z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.summary-list > li > a.examples::before, .summary-list > li > a.example::before, .summary-list > li > a.problems::before, .summary-list > li > a.problem::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M434.8%2054.1C446.7%2062.7%20451.1%2078.3%20445.7%2091.9L367.3%20288L512%20288C525.5%20288%20537.5%20296.4%20542.1%20309.1C546.7%20321.8%20542.8%20336%20532.5%20344.6L244.5%20584.6C233.2%20594%20217.1%20594.5%20205.2%20585.9C193.3%20577.3%20188.9%20561.7%20194.3%20548.1L272.7%20352L128%20352C114.5%20352%20102.5%20343.6%2097.9%20330.9C93.3%20318.2%2097.2%20304%20107.5%20295.4L395.5%2055.4C406.8%2046%20422.9%2045.5%20434.8%2054.1z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M434.8%2054.1C446.7%2062.7%20451.1%2078.3%20445.7%2091.9L367.3%20288L512%20288C525.5%20288%20537.5%20296.4%20542.1%20309.1C546.7%20321.8%20542.8%20336%20532.5%20344.6L244.5%20584.6C233.2%20594%20217.1%20594.5%20205.2%20585.9C193.3%20577.3%20188.9%20561.7%20194.3%20548.1L272.7%20352L128%20352C114.5%20352%20102.5%20343.6%2097.9%20330.9C93.3%20318.2%2097.2%20304%20107.5%20295.4L395.5%2055.4C406.8%2046%20422.9%2045.5%20434.8%2054.1z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.summary-list > li > a.terminology::before, .summary-list > li > a.notation::before, .summary-list > li > a.note::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M480%20272C480%20317.9%20465.1%20360.3%20440%20394.7L566.6%20521.4C579.1%20533.9%20579.1%20554.2%20566.6%20566.7C554.1%20579.2%20533.8%20579.2%20521.3%20566.7L394.7%20440C360.3%20465.1%20317.9%20480%20272%20480C157.1%20480%2064%20386.9%2064%20272C64%20157.1%20157.1%2064%20272%2064C386.9%2064%20480%20157.1%20480%20272zM272%20416C351.5%20416%20416%20351.5%20416%20272C416%20192.5%20351.5%20128%20272%20128C192.5%20128%20128%20192.5%20128%20272C128%20351.5%20192.5%20416%20272%20416z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M480%20272C480%20317.9%20465.1%20360.3%20440%20394.7L566.6%20521.4C579.1%20533.9%20579.1%20554.2%20566.6%20566.7C554.1%20579.2%20533.8%20579.2%20521.3%20566.7L394.7%20440C360.3%20465.1%20317.9%20480%20272%20480C157.1%20480%2064%20386.9%2064%20272C64%20157.1%20157.1%2064%20272%2064C386.9%2064%20480%20157.1%20480%20272zM272%20416C351.5%20416%20416%20351.5%20416%20272C416%20192.5%20351.5%20128%20272%20128C192.5%20128%20128%20192.5%20128%20272C128%20351.5%20192.5%20416%20272%20416z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.summary-list > li > a.facts::before, .summary-list > li > a.fact::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:currentColor;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:currentColor;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E") no-repeat center/contain;
}
.summary-list > li > a.lessons::before, .summary-list > li > a.lesson::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M256%20141.3l0%20309.3%20.5-.2C311.1%20427.7%20369.7%20416%20428.8%20416l19.2%200%200-320-19.2%200c-42.2%200-84.1%208.4-123.1%2024.6-16.8%207-33.4%2013.9-49.7%2020.7zM230.9%2061.5L256%2072%20281.1%2061.5C327.9%2042%20378.1%2032%20428.8%2032L464%2032c26.5%200%2048%2021.5%2048%2048l0%20352c0%2026.5-21.5%2048-48%2048l-35.2%200c-50.7%200-100.9%2010-147.7%2029.5l-12.8%205.3c-7.9%203.3-16.7%203.3-24.6%200l-12.8-5.3C184.1%20490%20133.9%20480%2083.2%20480L48%20480c-26.5%200-48-21.5-48-48L0%2080C0%2053.5%2021.5%2032%2048%2032l35.2%200c50.7%200%20100.9%2010%20147.7%2029.5z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M256%20141.3l0%20309.3%20.5-.2C311.1%20427.7%20369.7%20416%20428.8%20416l19.2%200%200-320-19.2%200c-42.2%200-84.1%208.4-123.1%2024.6-16.8%207-33.4%2013.9-49.7%2020.7zM230.9%2061.5L256%2072%20281.1%2061.5C327.9%2042%20378.1%2032%20428.8%2032L464%2032c26.5%200%2048%2021.5%2048%2048l0%20352c0%2026.5-21.5%2048-48%2048l-35.2%200c-50.7%200-100.9%2010-147.7%2029.5l-12.8%205.3c-7.9%203.3-16.7%203.3-24.6%200l-12.8-5.3C184.1%20490%20133.9%20480%2083.2%20480L48%20480c-26.5%200-48-21.5-48-48L0%2080C0%2053.5%2021.5%2032%2048%2032l35.2%200c50.7%200%20100.9%2010%20147.7%2029.5z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.summary-list > li > a.courses::before, .summary-list > li > a.course::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-32%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M48%20195.8l209.2%2086.1c9.8%204%2020.2%206.1%2030.8%206.1s21-2.1%2030.8-6.1l242.4-99.8c9-3.7%2014.8-12.4%2014.8-22.1s-5.8-18.4-14.8-22.1L318.8%2038.1C309%2034.1%20298.6%2032%20288%2032s-21%202.1-30.8%206.1L14.8%20137.9C5.8%20141.6%200%20150.3%200%20160L0%20456c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24l0-260.2zm48%2071.7L96%20384c0%2053%2086%2096%20192%2096s192-43%20192-96l0-116.6-142.9%2058.9c-15.6%206.4-32.2%209.7-49.1%209.7s-33.5-3.3-49.1-9.7L96%20267.4z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-32%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M48%20195.8l209.2%2086.1c9.8%204%2020.2%206.1%2030.8%206.1s21-2.1%2030.8-6.1l242.4-99.8c9-3.7%2014.8-12.4%2014.8-22.1s-5.8-18.4-14.8-22.1L318.8%2038.1C309%2034.1%20298.6%2032%20288%2032s-21%202.1-30.8%206.1L14.8%20137.9C5.8%20141.6%200%20150.3%200%20160L0%20456c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24l0-260.2zm48%2071.7L96%20384c0%2053%2086%2096%20192%2096s192-43%20192-96l0-116.6-142.9%2058.9c-15.6%206.4-32.2%209.7-49.1%209.7s-33.5-3.3-49.1-9.7L96%20267.4z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.summary-list > li > a.institutions::before, .summary-list > li > a.institution::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M335.9%2084.2C326.1%2078.6%20314%2078.6%20304.1%2084.2L80.1%20212.2C67.5%20219.4%2061.3%20234.2%2065%20248.2C68.7%20262.2%2081.5%20272%2096%20272L128%20272L128%20480L128%20480L76.8%20518.4C68.7%20524.4%2064%20533.9%2064%20544C64%20561.7%2078.3%20576%2096%20576L544%20576C561.7%20576%20576%20561.7%20576%20544C576%20533.9%20571.3%20524.4%20563.2%20518.4L512%20480L512%20272L544%20272C558.5%20272%20571.2%20262.2%20574.9%20248.2C578.6%20234.2%20572.4%20219.4%20559.8%20212.2L335.8%2084.2zM464%20272L464%20480L400%20480L400%20272L464%20272zM352%20272L352%20480L288%20480L288%20272L352%20272zM240%20272L240%20480L176%20480L176%20272L240%20272zM320%20160C337.7%20160%20352%20174.3%20352%20192C352%20209.7%20337.7%20224%20320%20224C302.3%20224%20288%20209.7%20288%20192C288%20174.3%20302.3%20160%20320%20160z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M335.9%2084.2C326.1%2078.6%20314%2078.6%20304.1%2084.2L80.1%20212.2C67.5%20219.4%2061.3%20234.2%2065%20248.2C68.7%20262.2%2081.5%20272%2096%20272L128%20272L128%20480L128%20480L76.8%20518.4C68.7%20524.4%2064%20533.9%2064%20544C64%20561.7%2078.3%20576%2096%20576L544%20576C561.7%20576%20576%20561.7%20576%20544C576%20533.9%20571.3%20524.4%20563.2%20518.4L512%20480L512%20272L544%20272C558.5%20272%20571.2%20262.2%20574.9%20248.2C578.6%20234.2%20572.4%20219.4%20559.8%20212.2L335.8%2084.2zM464%20272L464%20480L400%20480L400%20272L464%20272zM352%20272L352%20480L288%20480L288%20272L352%20272zM240%20272L240%20480L176%20480L176%20272L240%20272zM320%20160C337.7%20160%20352%20174.3%20352%20192C352%20209.7%20337.7%20224%20320%20224C302.3%20224%20288%20209.7%20288%20192C288%20174.3%20302.3%20160%20320%20160z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.summary-list > li > a.warning::before, .summary-list > li > a.caution::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M10%203H14V14H10V3M10%2021V17H14V21H10Z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M10%203H14V14H10V3M10%2021V17H14V21H10Z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.summary-list > li > a::before {
  content: "";
  position: absolute;
  left: 0;
  width: 0.8rem;
  height: 0.8rem;
  vertical-align: middle;
  background-size: contain;
  background-color: currentColor;
  background-repeat: no-repeat;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  transform: translateY(25%);
  transition: all 0.15s ease-in-out;
}
.light .summary-list > li > a::before {
  color: #0079a6;
}

.dark .summary-list > li > a::before {
  color: #0083b3;
}

.light .summary-list > li > a {
  color: #33393d;
}

.dark .summary-list > li > a {
  color: #cccccc;
}

.summary-list > li > a {
  transition: color 0.15s ease-in-out;
}
.light .summary-list > li > a:hover {
  color: black;
}

.dark .summary-list > li > a:hover {
  color: white;
}

.light .summary-list > li > a:hover::before {
  color: #00597a;
}

.dark .summary-list > li > a:hover::before {
  color: rgb(0%, 66.009420528%, 90.1960784314%);
}

.summary-list > li > .summary-list {
  list-style: none;
}
.summary-list > li > .summary-list > li:first-child {
  padding-top: 20px;
}
.summary-list > li > .summary {
  display: block;
  padding-left: 25px;
}
.light .summary-list > li > .summary {
  color: #33393d;
}

.dark .summary-list > li > .summary {
  color: #cccccc;
}

.summary-list > li ul,
.summary-list > li ol {
  list-style-type: disc;
}

/* tags of courses without an institution, lined up with the institutions below them */
.tag-cloud.general-courses {
  padding-left: 15px;
}

/* concepts of a subject, nested by their broader concepts */
/* section heading with a switch between views of the section (such as a list and tags) */
.section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
}

.view-switch {
  display: inline-flex;
  border-radius: 6px;
  overflow: hidden;
  font-family: "Computer Modern Sans", sans-serif;
}
.view-switch button {
  border: none;
  padding: 4px 12px;
  font-size: 85%;
  cursor: pointer;
}
.light .view-switch button[aria-pressed=true] {
  background-color: #297089;
}

.dark .view-switch button[aria-pressed=true] {
  background-color: #2f809d;
}

.view-switch button[aria-pressed=true] {
  color: white;
}

.concept-tree ul {
  list-style: none;
  margin: 0;
  padding-left: 1.5em;
}
.concept-tree > ul {
  padding-left: 0;
}
.concept-tree li {
  margin: 4px 0;
}
.concept-tree ul ul {
  border-left: 1px solid;
}
.light .concept-tree ul ul {
  border-left-color: #297089;
}

.dark .concept-tree ul ul {
  border-left-color: #2f809d;
}

.concept-tree ul ul {
  margin-left: 0.5em;
  padding-left: 1em;
}

.light li::marker {
  color: #297089;
}

.dark li::marker {
  color: #2f809d;
}

/* TikZ diagrams (layouts/shortcodes/tikz.html): inlined SVGs drawn at their own size, so their
   12pt TeX text matches the body text (build/tikz.js scales it), and shrunk only to fit narrow screens */
.diagram {
  padding: 0.5em;
  margin: 0;
  text-align: center;
  /* theme colors; the build draws the text color as currentColor and the others as placeholder colors */
  --tikz-text: #404040;
  --tikz-primary: #297089;
  --tikz-block: #d9d9d9;
}
html.dark .diagram {
  --tikz-text: #cccccc;
  --tikz-primary: #2f809d;
  --tikz-block: #333333;
}
.diagram svg {
  max-width: 100%;
  height: auto;
  color: var(--tikz-text);
}
.diagram [fill="#1a2b3c"] {
  fill: var(--tikz-primary);
}
.diagram [stroke="#1a2b3c"] {
  stroke: var(--tikz-primary);
}
.diagram [fill="#4d5e6f"] {
  fill: var(--tikz-block);
}
.diagram [stroke="#4d5e6f"] {
  stroke: var(--tikz-block);
}

.alert-heading {
  font-weight: bold;
}

/* Default: hide both */
.theme-light,
.theme-dark {
  display: none;
}

/* Show appropriate image based on theme */
html.light .theme-light {
  display: block;
}

html.dark .theme-dark {
  display: block;
}

img.fullwidth {
  min-width: 100%;
  max-width: 100%;
}

/* callouts (GitHub-style alerts such as > [!NOTE]) and plain block quotes:
   a tinted box with an accent bar on the left, colored by the type of callout */
blockquote {
  --callout-color: #8a8f94;
  margin: 1.5em 0;
  padding: 0.75em 1.1em;
  border-left: 4px solid var(--callout-color);
  border-radius: 0 6px 6px 0;
  background-color: color-mix(in srgb, var(--callout-color) 10%, transparent);
}
blockquote.alert {
  --callout-color: #2f809d;
}
blockquote:has(.alert-heading.example) {
  --callout-color: #3f8f5a;
}
blockquote:has(.alert-heading.warning), blockquote:has(.alert-heading.caution) {
  --callout-color: #c27c0e;
}
blockquote p.alert-heading {
  position: relative;
  padding-left: 25px;
}
blockquote p.alert-heading.concepts::before, blockquote p.alert-heading.concept::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M32.5%2096l0%20149.5c0%2017%206.7%2033.3%2018.7%2045.3l192%20192c25%2025%2065.5%2025%2090.5%200L483.2%20333.3c25-25%2025-65.5%200-90.5l-192-192C279.2%2038.7%20263%2032%20246%2032L96.5%2032c-35.3%200-64%2028.7-64%2064zm112%2016a32%2032%200%201%201%200%2064%2032%2032%200%201%201%200-64z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M32.5%2096l0%20149.5c0%2017%206.7%2033.3%2018.7%2045.3l192%20192c25%2025%2065.5%2025%2090.5%200L483.2%20333.3c25-25%2025-65.5%200-90.5l-192-192C279.2%2038.7%20263%2032%20246%2032L96.5%2032c-35.3%200-64%2028.7-64%2064zm112%2016a32%2032%200%201%201%200%2064%2032%2032%200%201%201%200-64z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
blockquote p.alert-heading.objectives::before, blockquote p.alert-heading.objective::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20300%20300%22%20fill=%22none%22%3E%3Cpath%20stroke=%22currentColor%22%20stroke-width=%2245%22%20d=%22m149,25a125,125%200%201,0%202,0zm2,100a25,25%200%201,1-2,0z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20300%20300%22%20fill=%22none%22%3E%3Cpath%20stroke=%22currentColor%22%20stroke-width=%2245%22%20d=%22m149,25a125,125%200%201,0%202,0zm2,100a25,25%200%201,1-2,0z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
blockquote p.alert-heading.examples::before, blockquote p.alert-heading.example::before, blockquote p.alert-heading.problems::before, blockquote p.alert-heading.problem::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M434.8%2054.1C446.7%2062.7%20451.1%2078.3%20445.7%2091.9L367.3%20288L512%20288C525.5%20288%20537.5%20296.4%20542.1%20309.1C546.7%20321.8%20542.8%20336%20532.5%20344.6L244.5%20584.6C233.2%20594%20217.1%20594.5%20205.2%20585.9C193.3%20577.3%20188.9%20561.7%20194.3%20548.1L272.7%20352L128%20352C114.5%20352%20102.5%20343.6%2097.9%20330.9C93.3%20318.2%2097.2%20304%20107.5%20295.4L395.5%2055.4C406.8%2046%20422.9%2045.5%20434.8%2054.1z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M434.8%2054.1C446.7%2062.7%20451.1%2078.3%20445.7%2091.9L367.3%20288L512%20288C525.5%20288%20537.5%20296.4%20542.1%20309.1C546.7%20321.8%20542.8%20336%20532.5%20344.6L244.5%20584.6C233.2%20594%20217.1%20594.5%20205.2%20585.9C193.3%20577.3%20188.9%20561.7%20194.3%20548.1L272.7%20352L128%20352C114.5%20352%20102.5%20343.6%2097.9%20330.9C93.3%20318.2%2097.2%20304%20107.5%20295.4L395.5%2055.4C406.8%2046%20422.9%2045.5%20434.8%2054.1z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
blockquote p.alert-heading.terminology::before, blockquote p.alert-heading.notation::before, blockquote p.alert-heading.note::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M480%20272C480%20317.9%20465.1%20360.3%20440%20394.7L566.6%20521.4C579.1%20533.9%20579.1%20554.2%20566.6%20566.7C554.1%20579.2%20533.8%20579.2%20521.3%20566.7L394.7%20440C360.3%20465.1%20317.9%20480%20272%20480C157.1%20480%2064%20386.9%2064%20272C64%20157.1%20157.1%2064%20272%2064C386.9%2064%20480%20157.1%20480%20272zM272%20416C351.5%20416%20416%20351.5%20416%20272C416%20192.5%20351.5%20128%20272%20128C192.5%20128%20128%20192.5%20128%20272C128%20351.5%20192.5%20416%20272%20416z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M480%20272C480%20317.9%20465.1%20360.3%20440%20394.7L566.6%20521.4C579.1%20533.9%20579.1%20554.2%20566.6%20566.7C554.1%20579.2%20533.8%20579.2%20521.3%20566.7L394.7%20440C360.3%20465.1%20317.9%20480%20272%20480C157.1%20480%2064%20386.9%2064%20272C64%20157.1%20157.1%2064%20272%2064C386.9%2064%20480%20157.1%20480%20272zM272%20416C351.5%20416%20416%20351.5%20416%20272C416%20192.5%20351.5%20128%20272%20128C192.5%20128%20128%20192.5%20128%20272C128%20351.5%20192.5%20416%20272%20416z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
blockquote p.alert-heading.facts::before, blockquote p.alert-heading.fact::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:currentColor;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:currentColor;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E") no-repeat center/contain;
}
blockquote p.alert-heading.lessons::before, blockquote p.alert-heading.lesson::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M256%20141.3l0%20309.3%20.5-.2C311.1%20427.7%20369.7%20416%20428.8%20416l19.2%200%200-320-19.2%200c-42.2%200-84.1%208.4-123.1%2024.6-16.8%207-33.4%2013.9-49.7%2020.7zM230.9%2061.5L256%2072%20281.1%2061.5C327.9%2042%20378.1%2032%20428.8%2032L464%2032c26.5%200%2048%2021.5%2048%2048l0%20352c0%2026.5-21.5%2048-48%2048l-35.2%200c-50.7%200-100.9%2010-147.7%2029.5l-12.8%205.3c-7.9%203.3-16.7%203.3-24.6%200l-12.8-5.3C184.1%20490%20133.9%20480%2083.2%20480L48%20480c-26.5%200-48-21.5-48-48L0%2080C0%2053.5%2021.5%2032%2048%2032l35.2%200c50.7%200%20100.9%2010%20147.7%2029.5z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M256%20141.3l0%20309.3%20.5-.2C311.1%20427.7%20369.7%20416%20428.8%20416l19.2%200%200-320-19.2%200c-42.2%200-84.1%208.4-123.1%2024.6-16.8%207-33.4%2013.9-49.7%2020.7zM230.9%2061.5L256%2072%20281.1%2061.5C327.9%2042%20378.1%2032%20428.8%2032L464%2032c26.5%200%2048%2021.5%2048%2048l0%20352c0%2026.5-21.5%2048-48%2048l-35.2%200c-50.7%200-100.9%2010-147.7%2029.5l-12.8%205.3c-7.9%203.3-16.7%203.3-24.6%200l-12.8-5.3C184.1%20490%20133.9%20480%2083.2%20480L48%20480c-26.5%200-48-21.5-48-48L0%2080C0%2053.5%2021.5%2032%2048%2032l35.2%200c50.7%200%20100.9%2010%20147.7%2029.5z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
blockquote p.alert-heading.courses::before, blockquote p.alert-heading.course::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-32%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M48%20195.8l209.2%2086.1c9.8%204%2020.2%206.1%2030.8%206.1s21-2.1%2030.8-6.1l242.4-99.8c9-3.7%2014.8-12.4%2014.8-22.1s-5.8-18.4-14.8-22.1L318.8%2038.1C309%2034.1%20298.6%2032%20288%2032s-21%202.1-30.8%206.1L14.8%20137.9C5.8%20141.6%200%20150.3%200%20160L0%20456c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24l0-260.2zm48%2071.7L96%20384c0%2053%2086%2096%20192%2096s192-43%20192-96l0-116.6-142.9%2058.9c-15.6%206.4-32.2%209.7-49.1%209.7s-33.5-3.3-49.1-9.7L96%20267.4z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-32%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M48%20195.8l209.2%2086.1c9.8%204%2020.2%206.1%2030.8%206.1s21-2.1%2030.8-6.1l242.4-99.8c9-3.7%2014.8-12.4%2014.8-22.1s-5.8-18.4-14.8-22.1L318.8%2038.1C309%2034.1%20298.6%2032%20288%2032s-21%202.1-30.8%206.1L14.8%20137.9C5.8%20141.6%200%20150.3%200%20160L0%20456c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24l0-260.2zm48%2071.7L96%20384c0%2053%2086%2096%20192%2096s192-43%20192-96l0-116.6-142.9%2058.9c-15.6%206.4-32.2%209.7-49.1%209.7s-33.5-3.3-49.1-9.7L96%20267.4z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
blockquote p.alert-heading.institutions::before, blockquote p.alert-heading.institution::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M335.9%2084.2C326.1%2078.6%20314%2078.6%20304.1%2084.2L80.1%20212.2C67.5%20219.4%2061.3%20234.2%2065%20248.2C68.7%20262.2%2081.5%20272%2096%20272L128%20272L128%20480L128%20480L76.8%20518.4C68.7%20524.4%2064%20533.9%2064%20544C64%20561.7%2078.3%20576%2096%20576L544%20576C561.7%20576%20576%20561.7%20576%20544C576%20533.9%20571.3%20524.4%20563.2%20518.4L512%20480L512%20272L544%20272C558.5%20272%20571.2%20262.2%20574.9%20248.2C578.6%20234.2%20572.4%20219.4%20559.8%20212.2L335.8%2084.2zM464%20272L464%20480L400%20480L400%20272L464%20272zM352%20272L352%20480L288%20480L288%20272L352%20272zM240%20272L240%20480L176%20480L176%20272L240%20272zM320%20160C337.7%20160%20352%20174.3%20352%20192C352%20209.7%20337.7%20224%20320%20224C302.3%20224%20288%20209.7%20288%20192C288%20174.3%20302.3%20160%20320%20160z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M335.9%2084.2C326.1%2078.6%20314%2078.6%20304.1%2084.2L80.1%20212.2C67.5%20219.4%2061.3%20234.2%2065%20248.2C68.7%20262.2%2081.5%20272%2096%20272L128%20272L128%20480L128%20480L76.8%20518.4C68.7%20524.4%2064%20533.9%2064%20544C64%20561.7%2078.3%20576%2096%20576L544%20576C561.7%20576%20576%20561.7%20576%20544C576%20533.9%20571.3%20524.4%20563.2%20518.4L512%20480L512%20272L544%20272C558.5%20272%20571.2%20262.2%20574.9%20248.2C578.6%20234.2%20572.4%20219.4%20559.8%20212.2L335.8%2084.2zM464%20272L464%20480L400%20480L400%20272L464%20272zM352%20272L352%20480L288%20480L288%20272L352%20272zM240%20272L240%20480L176%20480L176%20272L240%20272zM320%20160C337.7%20160%20352%20174.3%20352%20192C352%20209.7%20337.7%20224%20320%20224C302.3%20224%20288%20209.7%20288%20192C288%20174.3%20302.3%20160%20320%20160z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
blockquote p.alert-heading.warning::before, blockquote p.alert-heading.caution::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M10%203H14V14H10V3M10%2021V17H14V21H10Z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M10%203H14V14H10V3M10%2021V17H14V21H10Z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
blockquote p.alert-heading::before {
  content: "";
  position: absolute;
  left: 0;
  width: 0.8rem;
  height: 0.8rem;
  vertical-align: middle;
  background-size: contain;
  background-color: currentColor;
  background-repeat: no-repeat;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  transform: translateY(25%);
  transition: all 0.15s ease-in-out;
}
.light blockquote p.alert-heading::before {
  color: #0079a6;
}

.dark blockquote p.alert-heading::before {
  color: #0083b3;
}

blockquote p.alert-heading {
  color: var(--callout-color);
  font-family: "Computer Modern Sans", sans-serif;
  font-weight: bold;
  font-size: 0.85em;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 0.4em 0;
  padding-left: 1.6em;
}
blockquote p.alert-heading::before {
  top: 50%;
  transform: translateY(-50%);
  width: 1.1em;
  height: 1.1em;
  /* the icon takes the color of the callout, not the theme's icon color */
  background-color: var(--callout-color);
}
blockquote {
  /* spacing of the content, without extra space at the top and bottom of the box */
}
blockquote > div > :first-child {
  margin-top: 0;
}
blockquote > div > :last-child {
  margin-bottom: 0;
}
blockquote p {
  margin: 0.5em 0;
}

#vline {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 320px;
  width: 1px;
  z-index: 999;
}
.light #vline {
  background-color: #e7ecee;
}

.dark #vline {
  background-color: rgb(23%, 23%, 23%);
}

#vline {
  transition: all 0.5s ease;
}

/* reading path of a course and the navigation between its lessons */
.course-contents h3 {
  margin-bottom: 0;
}
.course-contents .number {
  display: inline-block;
  min-width: 1.6em;
}

.lesson-course {
  font-family: "Computer Modern Sans", sans-serif;
  font-size: 85%;
  margin-bottom: 6px;
}
.light .lesson-course {
  color: #24343c;
}

.dark .lesson-course {
  color: rgb(76.1539398368%, 77.4936061381%, 80.7088052612%);
}

.course-versions {
  font-family: "Computer Modern Sans", sans-serif;
  font-size: 85%;
  margin: -4px 0 10px;
}
.light .course-versions {
  color: #24343c;
}

.dark .course-versions {
  color: rgb(76.1539398368%, 77.4936061381%, 80.7088052612%);
}

.lesson-requires {
  margin: 10px 0;
  font-family: "Computer Modern Sans", sans-serif;
  font-size: 90%;
}

.lesson-pager {
  display: flex;
  justify-content: space-between;
  gap: 1em;
  margin: 2.5em 0 1em 0;
  padding-top: 1em;
  border-top: 1px solid;
}
.light .lesson-pager {
  border-top-color: #e7ecee;
}

.dark .lesson-pager {
  border-top-color: rgb(23%, 23%, 23%);
}

.lesson-pager a {
  display: flex;
  flex-direction: column;
  max-width: 48%;
  font-family: "Computer Modern Sans", sans-serif;
}
.lesson-pager a span {
  font-size: 80%;
}
.light .lesson-pager a span {
  color: #24343c;
}

.dark .lesson-pager a span {
  color: rgb(76.1539398368%, 77.4936061381%, 80.7088052612%);
}

.lesson-pager .next {
  margin-left: auto;
  text-align: right;
}

.tag {
  position: relative;
  padding-left: 25px;
}
.tag.concepts::before, .tag.concept::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M32.5%2096l0%20149.5c0%2017%206.7%2033.3%2018.7%2045.3l192%20192c25%2025%2065.5%2025%2090.5%200L483.2%20333.3c25-25%2025-65.5%200-90.5l-192-192C279.2%2038.7%20263%2032%20246%2032L96.5%2032c-35.3%200-64%2028.7-64%2064zm112%2016a32%2032%200%201%201%200%2064%2032%2032%200%201%201%200-64z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M32.5%2096l0%20149.5c0%2017%206.7%2033.3%2018.7%2045.3l192%20192c25%2025%2065.5%2025%2090.5%200L483.2%20333.3c25-25%2025-65.5%200-90.5l-192-192C279.2%2038.7%20263%2032%20246%2032L96.5%2032c-35.3%200-64%2028.7-64%2064zm112%2016a32%2032%200%201%201%200%2064%2032%2032%200%201%201%200-64z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.tag.objectives::before, .tag.objective::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20300%20300%22%20fill=%22none%22%3E%3Cpath%20stroke=%22currentColor%22%20stroke-width=%2245%22%20d=%22m149,25a125,125%200%201,0%202,0zm2,100a25,25%200%201,1-2,0z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20300%20300%22%20fill=%22none%22%3E%3Cpath%20stroke=%22currentColor%22%20stroke-width=%2245%22%20d=%22m149,25a125,125%200%201,0%202,0zm2,100a25,25%200%201,1-2,0z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.tag.examples::before, .tag.example::before, .tag.problems::before, .tag.problem::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M434.8%2054.1C446.7%2062.7%20451.1%2078.3%20445.7%2091.9L367.3%20288L512%20288C525.5%20288%20537.5%20296.4%20542.1%20309.1C546.7%20321.8%20542.8%20336%20532.5%20344.6L244.5%20584.6C233.2%20594%20217.1%20594.5%20205.2%20585.9C193.3%20577.3%20188.9%20561.7%20194.3%20548.1L272.7%20352L128%20352C114.5%20352%20102.5%20343.6%2097.9%20330.9C93.3%20318.2%2097.2%20304%20107.5%20295.4L395.5%2055.4C406.8%2046%20422.9%2045.5%20434.8%2054.1z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M434.8%2054.1C446.7%2062.7%20451.1%2078.3%20445.7%2091.9L367.3%20288L512%20288C525.5%20288%20537.5%20296.4%20542.1%20309.1C546.7%20321.8%20542.8%20336%20532.5%20344.6L244.5%20584.6C233.2%20594%20217.1%20594.5%20205.2%20585.9C193.3%20577.3%20188.9%20561.7%20194.3%20548.1L272.7%20352L128%20352C114.5%20352%20102.5%20343.6%2097.9%20330.9C93.3%20318.2%2097.2%20304%20107.5%20295.4L395.5%2055.4C406.8%2046%20422.9%2045.5%20434.8%2054.1z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.tag.terminology::before, .tag.notation::before, .tag.note::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M480%20272C480%20317.9%20465.1%20360.3%20440%20394.7L566.6%20521.4C579.1%20533.9%20579.1%20554.2%20566.6%20566.7C554.1%20579.2%20533.8%20579.2%20521.3%20566.7L394.7%20440C360.3%20465.1%20317.9%20480%20272%20480C157.1%20480%2064%20386.9%2064%20272C64%20157.1%20157.1%2064%20272%2064C386.9%2064%20480%20157.1%20480%20272zM272%20416C351.5%20416%20416%20351.5%20416%20272C416%20192.5%20351.5%20128%20272%20128C192.5%20128%20128%20192.5%20128%20272C128%20351.5%20192.5%20416%20272%20416z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M480%20272C480%20317.9%20465.1%20360.3%20440%20394.7L566.6%20521.4C579.1%20533.9%20579.1%20554.2%20566.6%20566.7C554.1%20579.2%20533.8%20579.2%20521.3%20566.7L394.7%20440C360.3%20465.1%20317.9%20480%20272%20480C157.1%20480%2064%20386.9%2064%20272C64%20157.1%20157.1%2064%20272%2064C386.9%2064%20480%20157.1%20480%20272zM272%20416C351.5%20416%20416%20351.5%20416%20272C416%20192.5%20351.5%20128%20272%20128C192.5%20128%20128%20192.5%20128%20272C128%20351.5%20192.5%20416%20272%20416z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.tag.facts::before, .tag.fact::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:currentColor;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:currentColor;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E") no-repeat center/contain;
}
.tag.lessons::before, .tag.lesson::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M256%20141.3l0%20309.3%20.5-.2C311.1%20427.7%20369.7%20416%20428.8%20416l19.2%200%200-320-19.2%200c-42.2%200-84.1%208.4-123.1%2024.6-16.8%207-33.4%2013.9-49.7%2020.7zM230.9%2061.5L256%2072%20281.1%2061.5C327.9%2042%20378.1%2032%20428.8%2032L464%2032c26.5%200%2048%2021.5%2048%2048l0%20352c0%2026.5-21.5%2048-48%2048l-35.2%200c-50.7%200-100.9%2010-147.7%2029.5l-12.8%205.3c-7.9%203.3-16.7%203.3-24.6%200l-12.8-5.3C184.1%20490%20133.9%20480%2083.2%20480L48%20480c-26.5%200-48-21.5-48-48L0%2080C0%2053.5%2021.5%2032%2048%2032l35.2%200c50.7%200%20100.9%2010%20147.7%2029.5z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M256%20141.3l0%20309.3%20.5-.2C311.1%20427.7%20369.7%20416%20428.8%20416l19.2%200%200-320-19.2%200c-42.2%200-84.1%208.4-123.1%2024.6-16.8%207-33.4%2013.9-49.7%2020.7zM230.9%2061.5L256%2072%20281.1%2061.5C327.9%2042%20378.1%2032%20428.8%2032L464%2032c26.5%200%2048%2021.5%2048%2048l0%20352c0%2026.5-21.5%2048-48%2048l-35.2%200c-50.7%200-100.9%2010-147.7%2029.5l-12.8%205.3c-7.9%203.3-16.7%203.3-24.6%200l-12.8-5.3C184.1%20490%20133.9%20480%2083.2%20480L48%20480c-26.5%200-48-21.5-48-48L0%2080C0%2053.5%2021.5%2032%2048%2032l35.2%200c50.7%200%20100.9%2010%20147.7%2029.5z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.tag.courses::before, .tag.course::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-32%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M48%20195.8l209.2%2086.1c9.8%204%2020.2%206.1%2030.8%206.1s21-2.1%2030.8-6.1l242.4-99.8c9-3.7%2014.8-12.4%2014.8-22.1s-5.8-18.4-14.8-22.1L318.8%2038.1C309%2034.1%20298.6%2032%20288%2032s-21%202.1-30.8%206.1L14.8%20137.9C5.8%20141.6%200%20150.3%200%20160L0%20456c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24l0-260.2zm48%2071.7L96%20384c0%2053%2086%2096%20192%2096s192-43%20192-96l0-116.6-142.9%2058.9c-15.6%206.4-32.2%209.7-49.1%209.7s-33.5-3.3-49.1-9.7L96%20267.4z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-32%20-64%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M48%20195.8l209.2%2086.1c9.8%204%2020.2%206.1%2030.8%206.1s21-2.1%2030.8-6.1l242.4-99.8c9-3.7%2014.8-12.4%2014.8-22.1s-5.8-18.4-14.8-22.1L318.8%2038.1C309%2034.1%20298.6%2032%20288%2032s-21%202.1-30.8%206.1L14.8%20137.9C5.8%20141.6%200%20150.3%200%20160L0%20456c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24l0-260.2zm48%2071.7L96%20384c0%2053%2086%2096%20192%2096s192-43%20192-96l0-116.6-142.9%2058.9c-15.6%206.4-32.2%209.7-49.1%209.7s-33.5-3.3-49.1-9.7L96%20267.4z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.tag.institutions::before, .tag.institution::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M335.9%2084.2C326.1%2078.6%20314%2078.6%20304.1%2084.2L80.1%20212.2C67.5%20219.4%2061.3%20234.2%2065%20248.2C68.7%20262.2%2081.5%20272%2096%20272L128%20272L128%20480L128%20480L76.8%20518.4C68.7%20524.4%2064%20533.9%2064%20544C64%20561.7%2078.3%20576%2096%20576L544%20576C561.7%20576%20576%20561.7%20576%20544C576%20533.9%20571.3%20524.4%20563.2%20518.4L512%20480L512%20272L544%20272C558.5%20272%20571.2%20262.2%20574.9%20248.2C578.6%20234.2%20572.4%20219.4%20559.8%20212.2L335.8%2084.2zM464%20272L464%20480L400%20480L400%20272L464%20272zM352%20272L352%20480L288%20480L288%20272L352%20272zM240%20272L240%20480L176%20480L176%20272L240%20272zM320%20160C337.7%20160%20352%20174.3%20352%20192C352%20209.7%20337.7%20224%20320%20224C302.3%20224%20288%20209.7%20288%20192C288%20174.3%20302.3%20160%20320%20160z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M335.9%2084.2C326.1%2078.6%20314%2078.6%20304.1%2084.2L80.1%20212.2C67.5%20219.4%2061.3%20234.2%2065%20248.2C68.7%20262.2%2081.5%20272%2096%20272L128%20272L128%20480L128%20480L76.8%20518.4C68.7%20524.4%2064%20533.9%2064%20544C64%20561.7%2078.3%20576%2096%20576L544%20576C561.7%20576%20576%20561.7%20576%20544C576%20533.9%20571.3%20524.4%20563.2%20518.4L512%20480L512%20272L544%20272C558.5%20272%20571.2%20262.2%20574.9%20248.2C578.6%20234.2%20572.4%20219.4%20559.8%20212.2L335.8%2084.2zM464%20272L464%20480L400%20480L400%20272L464%20272zM352%20272L352%20480L288%20480L288%20272L352%20272zM240%20272L240%20480L176%20480L176%20272L240%20272zM320%20160C337.7%20160%20352%20174.3%20352%20192C352%20209.7%20337.7%20224%20320%20224C302.3%20224%20288%20209.7%20288%20192C288%20174.3%20302.3%20160%20320%20160z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.tag.warning::before, .tag.caution::before {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M10%203H14V14H10V3M10%2021V17H14V21H10Z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%2024%2024%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M10%203H14V14H10V3M10%2021V17H14V21H10Z%22/%3E%3C/svg%3E") no-repeat center/contain;
}
.tag::before {
  content: "";
  position: absolute;
  left: 0;
  width: 0.8rem;
  height: 0.8rem;
  vertical-align: middle;
  background-size: contain;
  background-color: currentColor;
  background-repeat: no-repeat;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  transform: translateY(25%);
  transition: all 0.15s ease-in-out;
}
.light .tag::before {
  color: #0079a6;
}

.dark .tag::before {
  color: #0083b3;
}

.light .tag {
  background-color: #e7ecee !important;
}

.dark .tag {
  background-color: rgb(23%, 23%, 23%) !important;
}

.light .tag {
  color: #37474f !important;
}

.dark .tag {
  color: rgb(67%, 67%, 67%) !important;
}

.tag {
  display: inline-block;
  padding: 0.25rem 0.5rem 0.25rem 1.55rem !important;
  margin: 4px 4px 4px 4px !important;
  border-radius: 4px;
  font-size: 90%;
  line-height: normal;
  transition: color 0.15s ease-in-out;
}
.tag::before {
  margin-left: 0.4rem;
}
.light .tag:hover {
  background-color: #d5dfe3 !important;
}

.dark .tag:hover {
  background-color: rgb(21.9294117647%, 21.9294117647%, 21.9294117647%) !important;
}

.light .tag:hover {
  color: #0f2d38 !important;
}

.dark .tag:hover {
  color: rgb(87%, 87%, 87%) !important;
}

.light .tag:hover::before {
  color: #00597a !important;
}

.dark .tag:hover::before {
  color: rgb(0%, 66.009420528%, 90.1960784314%) !important;
}

/* groups of tags: offset by the margin of the tags so that the tags line up with the text */
.tag-cloud, #tags {
  margin-left: -4px;
  margin-right: -4px;
}

#module-table {
  border-collapse: collapse;
  font-family: "Computer Modern Sans", sans-serif;
  margin-bottom: 1em;
}
#module-table .col1 {
  color: #95a5a6;
}
#module-table .col2 {
  text-align: left;
  padding-left: 0.5em;
}

#module-title {
  font-size: 150%;
  padding: 0;
  margin-top: 30pt;
}

.attribution {
  color: #95a5a6;
  font-size: 85%;
}

#lecture-title {
  font-size: 150%;
  padding: 0;
  margin-top: 30pt;
}

#quicksearch-container {
  z-index: 1;
}
#quicksearch-container #quicksearch-input {
  padding: 5px 10px 5px 30px;
  margin: 0;
  height: 30px;
  width: 100%;
  font-size: 100%;
  font-family: "Computer Modern Sans", sans-serif;
}
.light #quicksearch-container #quicksearch-input {
  color: #37474f;
}

.dark #quicksearch-container #quicksearch-input {
  color: rgb(67%, 67%, 67%);
}

#quicksearch-container #quicksearch-input {
  font-weight: bold;
}
.light #quicksearch-container #quicksearch-input {
  background-color: white;
}

.dark #quicksearch-container #quicksearch-input {
  background-color: black;
}

.light #quicksearch-container #quicksearch-input {
  border-color: #cdd8de;
}

.dark #quicksearch-container #quicksearch-input {
  border-color: black;
}

#quicksearch-container #quicksearch-input {
  text-align: left;
  display: block;
  border-radius: 4pt;
  border: 1px solid;
  outline: none;
  transition: none;
}
.light #quicksearch-container #quicksearch-input::selection {
  background-color: #d9e3e7;
}

.dark #quicksearch-container #quicksearch-input::selection {
  background-color: #3c4a50;
}

#quicksearch-container i {
  mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M480%20272C480%20317.9%20465.1%20360.3%20440%20394.7L566.6%20521.4C579.1%20533.9%20579.1%20554.2%20566.6%20566.7C554.1%20579.2%20533.8%20579.2%20521.3%20566.7L394.7%20440C360.3%20465.1%20317.9%20480%20272%20480C157.1%20480%2064%20386.9%2064%20272C64%20157.1%20157.1%2064%20272%2064C386.9%2064%20480%20157.1%20480%20272zM272%20416C351.5%20416%20416%20351.5%20416%20272C416%20192.5%20351.5%20128%20272%20128C192.5%20128%20128%20192.5%20128%20272C128%20351.5%20192.5%20416%20272%20416z%22/%3E%3C/svg%3E") no-repeat center/contain;
  -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M480%20272C480%20317.9%20465.1%20360.3%20440%20394.7L566.6%20521.4C579.1%20533.9%20579.1%20554.2%20566.6%20566.7C554.1%20579.2%20533.8%20579.2%20521.3%20566.7L394.7%20440C360.3%20465.1%20317.9%20480%20272%20480C157.1%20480%2064%20386.9%2064%20272C64%20157.1%20157.1%2064%20272%2064C386.9%2064%20480%20157.1%20480%20272zM272%20416C351.5%20416%20416%20351.5%20416%20272C416%20192.5%20351.5%20128%20272%20128C192.5%20128%20128%20192.5%20128%20272C128%20351.5%20192.5%20416%20272%20416z%22/%3E%3C/svg%3E") no-repeat center/contain;
  position: absolute;
  left: 50px;
  content: "";
  left: 5px;
  top: 5px;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  background-size: contain;
  background-color: currentColor;
  background-repeat: no-repeat;
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}
.light #quicksearch-container i {
  color: #297089;
}

.dark #quicksearch-container i {
  color: #2f809d;
}

#quicksearch-container #quicksearch-results {
  visibility: inherit;
  display: block;
  width: 100%;
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.light #quicksearch-container #quicksearch-results li {
  background-color: #e7ecee;
}

.dark #quicksearch-container #quicksearch-results li {
  background-color: rgb(23%, 23%, 23%);
}

.light #quicksearch-container #quicksearch-results li {
  border-bottom-color: #cdd8de;
}

.dark #quicksearch-container #quicksearch-results li {
  border-bottom-color: black;
}

#quicksearch-container #quicksearch-results li {
  border-bottom: 1px dotted;
  display: block;
}
#quicksearch-container #quicksearch-results li a {
  text-decoration: none;
  padding: 10px;
  display: block;
  font-family: "Computer Modern Sans", sans-serif;
}
.light #quicksearch-container #quicksearch-results li a {
  color: #37474f;
}

.dark #quicksearch-container #quicksearch-results li a {
  color: rgb(67%, 67%, 67%);
}

#quicksearch-container #quicksearch-results li a {
  height: 100%;
  width: 100%;
  text-align: left;
}
#quicksearch-container #quicksearch-results li a:hover, #quicksearch-container #quicksearch-results li a:focus {
  outline: 0;
}
.light #quicksearch-container #quicksearch-results li a:hover, #quicksearch-container #quicksearch-results li a:focus {
  background-color: #d5dfe3;
}

.dark #quicksearch-container #quicksearch-results li a:hover, #quicksearch-container #quicksearch-results li a:focus {
  background-color: #666;
}

.light #quicksearch-container #quicksearch-results li a:hover, #quicksearch-container #quicksearch-results li a:focus {
  color: #0f2d38;
}

.dark #quicksearch-container #quicksearch-results li a:hover, #quicksearch-container #quicksearch-results li a:focus {
  color: rgb(87%, 87%, 87%);
}

#quicksearch-container #quicksearch-results li a span {
  display: block;
  width: 100%;
}
#quicksearch-container #quicksearch-results li a span span {
  display: inline-block;
  width: auto;
}
#quicksearch-container {
  /* styles for phones */
}
@media (max-width: 767px) {
  #quicksearch-container {
    display: block;
    position: fixed;
    left: 100px;
    top: 10px;
    width: calc(100% - 200px);
  }
}
#quicksearch-container {
  /* styles for desktops */
}
@media (min-width: 768px) {
  #quicksearch-container {
    display: block;
    position: fixed;
    right: 20px;
    top: 0;
    width: 300px;
  }
}

#search-container {
  width: 300px;
}
#search-container input {
  padding: 4px 10px;
  margin: 0;
  width: 280px;
  height: 31px;
  font-size: 100%;
  font-family: "Font Awesome 5 Free", "Computer Modern Sans", sans-serif;
  color: #404040;
  font-weight: bold;
  background-color: white;
  text-align: left;
  display: block;
  border: solid 2px black;
  border-radius: 8px;
  outline: none;
}
#search-container ul {
  display: block;
  width: auto;
  padding: 40px 0 0 0;
  margin: 0;
}
#search-container ul li {
  background-color: white;
  display: block;
}
#search-container ul li a {
  text-decoration: none;
  padding: 10px;
  display: block;
  font-family: "Computer Modern Sans", sans-serif;
}
#search-container ul li a:hover, #search-container ul li a:focus {
  outline: 0;
  background-color: rgb(90%, 90%, 90%);
}
#search-container ul li a span {
  display: block;
  width: 100%;
}
#search-container ul li a span span {
  display: inline-block;
  width: auto;
}

nav {
  display: inline-block;
  position: fixed;
  z-index: 10;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  text-decoration: none;
}
.light nav {
  background-color: #edf2f4;
}

.dark nav {
  background-color: rgb(12%, 12%, 12%);
}

.light nav {
  border-color: #d5dee3;
}

.dark nav {
  border-color: rgb(12%, 12%, 12%);
}

nav {
  border: 0 solid;
}
nav a {
  display: block;
  height: 50px;
  width: 50px;
  cursor: pointer;
}
nav a img {
  display: block;
  margin: auto;
  object-fit: contain;
  width: 50%;
  height: 100%;
}
nav a {
  /* all other icons */
}
.light nav a img.home {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2039%2039%22%3E%3Csvg%20viewbox=%220%200%2050%2050%22%3E%3Cdefs%3E%3Cmarker%20id=%22arrowhead%22%20markerWidth=%222%22%20markerHeight=%222.5%22%20refX=%220%22%20refY=%221.25%22%20orient=%22auto%22%20fill=%22%230079a6%22%3E%3Cpolygon%20points=%220%200,%201.3%201.25,%200%202.5%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M%2030%2032%20v%208%20h%20-22%20v%20-35%20h%2022%20v%208%22%20stroke=%22%230079a6%22%20fill=%22transparent%22%20stroke-width=%228%22%20marker-end=%22url(%23arrowhead)%22%20stroke-linecap=%22round%22%20transform=%22translate(-1,-3)%22/%3E%3C/svg%3E%3C/svg%3E");
}

.light nav a img.about {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22100px%22%20height=%22100px%22%20viewBox=%220%200%20100%20100%22%3E%3Cpath%20d=%22M50.433,0.892c-27.119,0-49.102,21.983-49.102,49.102s21.983,49.103,49.102,49.103s49.101-21.984,49.101-49.103S77.552,0.892,50.433,0.892z%20M59,79.031C59,83.433,55.194,87,50.5,87S42,83.433,42,79.031V42.469c0-4.401,3.806-7.969,8.5-7.969s8.5,3.568,8.5,7.969V79.031z%20M50.433,31.214c-5.048,0-9.141-4.092-9.141-9.142c0-5.049,4.092-9.141,9.141-9.141c5.05,0,9.142,4.092,9.142,9.141C59.574,27.122,55.482,31.214,50.433,31.214z%22%20fill=%22%230079a6%22/%3E%3C/svg%3E");
}

.light nav a img.search {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2212%22%20height=%2213%22%3E%3Cg%20stroke-width=%222%22%20stroke=%22%230079a6%22%20fill=%22none%22%3E%3Cpath%20d=%22M11.29%2011.71l-4-4%22/%3E%3Ccircle%20cx=%225%22%20cy=%225%22%20r=%224%22/%3E%3C/g%3E%3C/svg%3E");
}

.light nav a img.resources {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20height=%2225px%22%20version=%221.1%22%20viewBox=%220%200%2025%2025%22%20width=%2225px%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sketch=%22http://www.bohemiancoding.com/sketch/ns%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%3E%3Ctitle/%3E%3Cdesc/%3E%3Cdefs/%3E%3Cg%20fill=%22none%22%20fill-rule=%22evenodd%22%20id=%22TabBar-Icons%22%20stroke=%22none%22%20stroke-width=%221%22%3E%3Cg%20fill=%22%230079a6%22%20id=%22Documents%22%3E%3Cpath%20d=%22M7,3%20L7,2%20L8,2%20L8,2%20L8,1%20L21,1%20L21,21%20L20,21%20L20,22%20L19,22%20L19,3%20L7,3%20L7,0%20L22,0%20L22,22%20L19,22%20L19,25%20L3,25%20L3,3%20L7,3%20L7,3%20L7,3%20Z%20M4,4%20L18,4%20L18,24%20L4,24%20L4,4%20L4,4%20Z%20M6,6%20L16,6%20L16,7%20L6,7%20L6,6%20L6,6%20Z%20M6,9%20L16,9%20L16,10%20L6,10%20L6,9%20L6,9%20Z%20M6,12%20L16,12%20L16,13%20L6,13%20L6,12%20L6,12%20Z%20M6,15%20L16,15%20L16,16%20L6,16%20L6,15%20L6,15%20Z%20M6,18%20L16,18%20L16,19%20L6,19%20L6,18%20L6,18%20Z%20M6,21%20L16,21%20L16,22%20L6,22%20L6,21%20L6,21%20Z%22%20id=%22Orders%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.light nav a img.to-do-list {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:%230079a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E");
}

.light nav a img.courses {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-32%20-64%20640%20640%22%20fill=%22%230079a6%22%3E%3Cpath%20d=%22M48%20195.8l209.2%2086.1c9.8%204%2020.2%206.1%2030.8%206.1s21-2.1%2030.8-6.1l242.4-99.8c9-3.7%2014.8-12.4%2014.8-22.1s-5.8-18.4-14.8-22.1L318.8%2038.1C309%2034.1%20298.6%2032%20288%2032s-21%202.1-30.8%206.1L14.8%20137.9C5.8%20141.6%200%20150.3%200%20160L0%20456c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24l0-260.2zm48%2071.7L96%20384c0%2053%2086%2096%20192%2096s192-43%20192-96l0-116.6-142.9%2058.9c-15.6%206.4-32.2%209.7-49.1%209.7s-33.5-3.3-49.1-9.7L96%20267.4z%22/%3E%3C/svg%3E");
}

.light nav a img.lessons {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22%230079a6%22%3E%3Cpath%20d=%22M256%20141.3l0%20309.3%20.5-.2C311.1%20427.7%20369.7%20416%20428.8%20416l19.2%200%200-320-19.2%200c-42.2%200-84.1%208.4-123.1%2024.6-16.8%207-33.4%2013.9-49.7%2020.7zM230.9%2061.5L256%2072%20281.1%2061.5C327.9%2042%20378.1%2032%20428.8%2032L464%2032c26.5%200%2048%2021.5%2048%2048l0%20352c0%2026.5-21.5%2048-48%2048l-35.2%200c-50.7%200-100.9%2010-147.7%2029.5l-12.8%205.3c-7.9%203.3-16.7%203.3-24.6%200l-12.8-5.3C184.1%20490%20133.9%20480%2083.2%20480L48%20480c-26.5%200-48-21.5-48-48L0%2080C0%2053.5%2021.5%2032%2048%2032l35.2%200c50.7%200%20100.9%2010%20147.7%2029.5z%22/%3E%3C/svg%3E");
}

.light nav a img.print {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22%230079a6%22%3E%3Cpath%20d=%22M64%2064C64%2028.7%2092.7%200%20128%200L341.5%200c17%200%2033.3%206.7%2045.3%2018.7l42.5%2042.5c12%2012%2018.7%2028.3%2018.7%2045.3l0%2037.5-384%200%200-80zM0%20256c0-35.3%2028.7-64%2064-64l384%200c35.3%200%2064%2028.7%2064%2064l0%2096c0%2017.7-14.3%2032-32%2032l-32%200%200%2064c0%2035.3-28.7%2064-64%2064l-256%200c-35.3%200-64-28.7-64-64l0-64-32%200c-17.7%200-32-14.3-32-32l0-96zM128%20416l0%2032%20256%200%200-96-256%200%200%2064zM456%20272a24%2024%200%201%200%20-48%200%2024%2024%200%201%200%2048%200z%22/%3E%3C/svg%3E");
}

.light nav a img.clear-cache {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-96%20-64%20640%20640%22%20fill=%22%230079a6%22%3E%3Cpath%20d=%22M136.7%205.9L128%2032%2032%2032C14.3%2032%200%2046.3%200%2064S14.3%2096%2032%2096l384%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-96%200-8.7-26.1C306.9-7.2%20294.7-16%20280.9-16L167.1-16c-13.8%200-26%208.8-30.4%2021.9zM416%20144L32%20144%2053.1%20467.1C54.7%20492.4%2075.7%20512%20101%20512L347%20512c25.3%200%2046.3-19.6%2047.9-44.9L416%20144z%22/%3E%3C/svg%3E");
}

.light nav a img.concepts {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22%230079a6%22%3E%3Cpath%20d=%22M32.5%2096l0%20149.5c0%2017%206.7%2033.3%2018.7%2045.3l192%20192c25%2025%2065.5%2025%2090.5%200L483.2%20333.3c25-25%2025-65.5%200-90.5l-192-192C279.2%2038.7%20263%2032%20246%2032L96.5%2032c-35.3%200-64%2028.7-64%2064zm112%2016a32%2032%200%201%201%200%2064%2032%2032%200%201%201%200-64z%22/%3E%3C/svg%3E");
}

.light nav a img.objectives {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20300%20300%22%20fill=%22none%22%3E%3Cpath%20stroke=%22%230079a6%22%20stroke-width=%2245%22%20d=%22m149,25a125,125%200%201,0%202,0zm2,100a25,25%200%201,1-2,0z%22/%3E%3C/svg%3E");
}

.light nav a img.problems {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-96%20-64%20640%20640%22%20fill=%22%230079a6%22%3E%3Cpath%20d=%22M256.5-32a56%2056%200%201%201%200%20112%2056%2056%200%201%201%200-112zM123.6%20176c-3.3%200-6.2%202-7.4%205L94.2%20235.9c-6.6%2016.4-25.2%2024.4-41.6%2017.8s-24.4-25.2-17.8-41.6l21.9-54.9C67.7%20129.9%2094.1%20112%20123.6%20112l97.3%200c28.5%200%2054.8%2015.1%2069.1%2039.7l32.8%2056.3%2061.6%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-61.6%200c-22.8%200-43.8-12.1-55.3-31.8l-10-17.1-20.7%2070.4%2075.4%2022.6c27.7%208.3%2041.8%2039%2030.1%2065.5L285.7%20509c-7.2%2016.2-26.1%2023.4-42.2%2016.2s-23.4-26.1-16.2-42.2l49.2-110.8-95.9-28.8c-32.7-9.8-52-43.7-43.7-76.8l22.7-90.6-35.9%200zm-8%20181c13.3%2014.9%2030.7%2026.3%2051.2%2032.4l4.7%201.4-6.9%2019.3c-5.8%2016.3-16%2030.8-29.3%2041.8L52.9%20519.8c-13.6%2011.2-33.8%209.3-45-4.3s-9.3-33.8%204.3-45l82.4-67.9c4.5-3.7%207.8-8.5%209.8-13.9L115.6%20357z%22/%3E%3C/svg%3E");
}

.light nav a img.new-file {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%230079a6%22%3E%3Cpath%20d=%22M352%20128C352%20110.3%20337.7%2096%20320%2096C302.3%2096%20288%20110.3%20288%20128L288%20288L128%20288C110.3%20288%2096%20302.3%2096%20320C96%20337.7%20110.3%20352%20128%20352L288%20352L288%20512C288%20529.7%20302.3%20544%20320%20544C337.7%20544%20352%20529.7%20352%20512L352%20352L512%20352C529.7%20352%20544%20337.7%20544%20320C544%20302.3%20529.7%20288%20512%20288L352%20288L352%20128z%22/%3E%3C/svg%3E");
}

.light nav a img.open-content {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%230079a6%22%3E%3Cpath%20d=%22M128.1%2064C92.8%2064%2064.1%2092.7%2064.1%20128L64.1%20512C64.1%20547.3%2092.8%20576%20128.1%20576L274.3%20576L285.2%20521.5C289.5%20499.8%20300.2%20479.9%20315.8%20464.3L448%20332.1L448%20234.6C448%20217.6%20441.3%20201.3%20429.3%20189.3L322.8%2082.7C310.8%2070.7%20294.5%2064%20277.6%2064L128.1%2064zM389.6%20240L296.1%20240C282.8%20240%20272.1%20229.3%20272.1%20216L272.1%20122.5L389.6%20240zM332.3%20530.9L320.4%20590.5C320.2%20591.4%20320.1%20592.4%20320.1%20593.4C320.1%20601.4%20326.6%20608%20334.7%20608C335.7%20608%20336.6%20607.9%20337.6%20607.7L397.2%20595.8C409.6%20593.3%20421%20587.2%20429.9%20578.3L548.8%20459.4L468.8%20379.4L349.9%20498.3C341%20507.2%20334.9%20518.6%20332.4%20531zM600.1%20407.9C622.2%20385.8%20622.2%20350%20600.1%20327.9C578%20305.8%20542.2%20305.8%20520.1%20327.9L491.3%20356.7L571.3%20436.7L600.1%20407.9z%22/%3E%3C/svg%3E");
}

.light nav a img.open-template {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%230079a6%22%3E%3Cpath%20d=%22M392.8%2065.2C375.8%2060.3%20358.1%2070.2%20353.2%2087.2L225.2%20535.2C220.3%20552.2%20230.2%20569.9%20247.2%20574.8C264.2%20579.7%20281.9%20569.8%20286.8%20552.8L414.8%20104.8C419.7%2087.8%20409.8%2070.1%20392.8%2065.2zM457.4%20201.3C444.9%20213.8%20444.9%20234.1%20457.4%20246.6L530.8%20320L457.4%20393.4C444.9%20405.9%20444.9%20426.2%20457.4%20438.7C469.9%20451.2%20490.2%20451.2%20502.7%20438.7L598.7%20342.7C611.2%20330.2%20611.2%20309.9%20598.7%20297.4L502.7%20201.4C490.2%20188.9%20469.9%20188.9%20457.4%20201.4zM182.7%20201.3C170.2%20188.8%20149.9%20188.8%20137.4%20201.3L41.4%20297.3C28.9%20309.8%2028.9%20330.1%2041.4%20342.6L137.4%20438.6C149.9%20451.1%20170.2%20451.1%20182.7%20438.6C195.2%20426.1%20195.2%20405.8%20182.7%20393.3L109.3%20320L182.6%20246.6C195.1%20234.1%20195.1%20213.8%20182.6%20201.3z%22/%3E%3C/svg%3E");
}

.light nav a img.terminology {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%230079a6%22%3E%3Cpath%20d=%22M480%20272C480%20317.9%20465.1%20360.3%20440%20394.7L566.6%20521.4C579.1%20533.9%20579.1%20554.2%20566.6%20566.7C554.1%20579.2%20533.8%20579.2%20521.3%20566.7L394.7%20440C360.3%20465.1%20317.9%20480%20272%20480C157.1%20480%2064%20386.9%2064%20272C64%20157.1%20157.1%2064%20272%2064C386.9%2064%20480%20157.1%20480%20272zM272%20416C351.5%20416%20416%20351.5%20416%20272C416%20192.5%20351.5%20128%20272%20128C192.5%20128%20128%20192.5%20128%20272C128%20351.5%20192.5%20416%20272%20416z%22/%3E%3C/svg%3E");
}

.light nav a img.facts {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:%230079a6;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E");
}

.light nav a img.examples {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%230079a6%22%3E%3Cpath%20d=%22M434.8%2054.1C446.7%2062.7%20451.1%2078.3%20445.7%2091.9L367.3%20288L512%20288C525.5%20288%20537.5%20296.4%20542.1%20309.1C546.7%20321.8%20542.8%20336%20532.5%20344.6L244.5%20584.6C233.2%20594%20217.1%20594.5%20205.2%20585.9C193.3%20577.3%20188.9%20561.7%20194.3%20548.1L272.7%20352L128%20352C114.5%20352%20102.5%20343.6%2097.9%20330.9C93.3%20318.2%2097.2%20304%20107.5%20295.4L395.5%2055.4C406.8%2046%20422.9%2045.5%20434.8%2054.1z%22/%3E%3C/svg%3E");
}

.light nav a img.vertical-line {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20100%20100%22%3E%3Cline%20x1=%2250%22%20y1=%220%22%20x2=%2250%22%20y2=%22100%22%20stroke=%22%230079a6%22%20stroke-width=%2210%22/%3E%3C/svg%3E");
}

.light nav a img.institution {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%230079a6%22%3E%3Cpath%20d=%22M335.9%2084.2C326.1%2078.6%20314%2078.6%20304.1%2084.2L80.1%20212.2C67.5%20219.4%2061.3%20234.2%2065%20248.2C68.7%20262.2%2081.5%20272%2096%20272L128%20272L128%20480L128%20480L76.8%20518.4C68.7%20524.4%2064%20533.9%2064%20544C64%20561.7%2078.3%20576%2096%20576L544%20576C561.7%20576%20576%20561.7%20576%20544C576%20533.9%20571.3%20524.4%20563.2%20518.4L512%20480L512%20272L544%20272C558.5%20272%20571.2%20262.2%20574.9%20248.2C578.6%20234.2%20572.4%20219.4%20559.8%20212.2L335.8%2084.2zM464%20272L464%20480L400%20480L400%20272L464%20272zM352%20272L352%20480L288%20480L288%20272L352%20272zM240%20272L240%20480L176%20480L176%20272L240%20272zM320%20160C337.7%20160%20352%20174.3%20352%20192C352%20209.7%20337.7%20224%20320%20224C302.3%20224%20288%20209.7%20288%20192C288%20174.3%20302.3%20160%20320%20160z%22/%3E%3C/svg%3E");
}

nav a {
  /* light-dark-theme icon */
}
.light nav a img.light-dark-theme {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2224%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%230079a6%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20class=%22feather%20feather-moon%22%3E%3Cpath%20d=%22M21%2012.79A9%209%200%201%201%2011.21%203%207%207%200%200%200%2021%2012.79z%22%3E%3C/path%3E%3C/svg%3E");
}

nav a {
  /* all other icons */
}
.dark nav a img.home {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2039%2039%22%3E%3Csvg%20viewbox=%220%200%2050%2050%22%3E%3Cdefs%3E%3Cmarker%20id=%22arrowhead%22%20markerWidth=%222%22%20markerHeight=%222.5%22%20refX=%220%22%20refY=%221.25%22%20orient=%22auto%22%20fill=%22%230083b3%22%3E%3Cpolygon%20points=%220%200,%201.3%201.25,%200%202.5%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M%2030%2032%20v%208%20h%20-22%20v%20-35%20h%2022%20v%208%22%20stroke=%22%230083b3%22%20fill=%22transparent%22%20stroke-width=%228%22%20marker-end=%22url(%23arrowhead)%22%20stroke-linecap=%22round%22%20transform=%22translate(-1,-3)%22/%3E%3C/svg%3E%3C/svg%3E");
}

.dark nav a img.about {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22100px%22%20height=%22100px%22%20viewBox=%220%200%20100%20100%22%3E%3Cpath%20d=%22M50.433,0.892c-27.119,0-49.102,21.983-49.102,49.102s21.983,49.103,49.102,49.103s49.101-21.984,49.101-49.103S77.552,0.892,50.433,0.892z%20M59,79.031C59,83.433,55.194,87,50.5,87S42,83.433,42,79.031V42.469c0-4.401,3.806-7.969,8.5-7.969s8.5,3.568,8.5,7.969V79.031z%20M50.433,31.214c-5.048,0-9.141-4.092-9.141-9.142c0-5.049,4.092-9.141,9.141-9.141c5.05,0,9.142,4.092,9.142,9.141C59.574,27.122,55.482,31.214,50.433,31.214z%22%20fill=%22%230083b3%22/%3E%3C/svg%3E");
}

.dark nav a img.search {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2212%22%20height=%2213%22%3E%3Cg%20stroke-width=%222%22%20stroke=%22%230083b3%22%20fill=%22none%22%3E%3Cpath%20d=%22M11.29%2011.71l-4-4%22/%3E%3Ccircle%20cx=%225%22%20cy=%225%22%20r=%224%22/%3E%3C/g%3E%3C/svg%3E");
}

.dark nav a img.resources {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20height=%2225px%22%20version=%221.1%22%20viewBox=%220%200%2025%2025%22%20width=%2225px%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sketch=%22http://www.bohemiancoding.com/sketch/ns%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%3E%3Ctitle/%3E%3Cdesc/%3E%3Cdefs/%3E%3Cg%20fill=%22none%22%20fill-rule=%22evenodd%22%20id=%22TabBar-Icons%22%20stroke=%22none%22%20stroke-width=%221%22%3E%3Cg%20fill=%22%230083b3%22%20id=%22Documents%22%3E%3Cpath%20d=%22M7,3%20L7,2%20L8,2%20L8,2%20L8,1%20L21,1%20L21,21%20L20,21%20L20,22%20L19,22%20L19,3%20L7,3%20L7,0%20L22,0%20L22,22%20L19,22%20L19,25%20L3,25%20L3,3%20L7,3%20L7,3%20L7,3%20Z%20M4,4%20L18,4%20L18,24%20L4,24%20L4,4%20L4,4%20Z%20M6,6%20L16,6%20L16,7%20L6,7%20L6,6%20L6,6%20Z%20M6,9%20L16,9%20L16,10%20L6,10%20L6,9%20L6,9%20Z%20M6,12%20L16,12%20L16,13%20L6,13%20L6,12%20L6,12%20Z%20M6,15%20L16,15%20L16,16%20L6,16%20L6,15%20L6,15%20Z%20M6,18%20L16,18%20L16,19%20L6,19%20L6,18%20L6,18%20Z%20M6,21%20L16,21%20L16,22%20L6,22%20L6,21%20L6,21%20Z%22%20id=%22Orders%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.dark nav a img.to-do-list {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:%230083b3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E");
}

.dark nav a img.courses {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-32%20-64%20640%20640%22%20fill=%22%230083b3%22%3E%3Cpath%20d=%22M48%20195.8l209.2%2086.1c9.8%204%2020.2%206.1%2030.8%206.1s21-2.1%2030.8-6.1l242.4-99.8c9-3.7%2014.8-12.4%2014.8-22.1s-5.8-18.4-14.8-22.1L318.8%2038.1C309%2034.1%20298.6%2032%20288%2032s-21%202.1-30.8%206.1L14.8%20137.9C5.8%20141.6%200%20150.3%200%20160L0%20456c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24l0-260.2zm48%2071.7L96%20384c0%2053%2086%2096%20192%2096s192-43%20192-96l0-116.6-142.9%2058.9c-15.6%206.4-32.2%209.7-49.1%209.7s-33.5-3.3-49.1-9.7L96%20267.4z%22/%3E%3C/svg%3E");
}

.dark nav a img.lessons {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22%230083b3%22%3E%3Cpath%20d=%22M256%20141.3l0%20309.3%20.5-.2C311.1%20427.7%20369.7%20416%20428.8%20416l19.2%200%200-320-19.2%200c-42.2%200-84.1%208.4-123.1%2024.6-16.8%207-33.4%2013.9-49.7%2020.7zM230.9%2061.5L256%2072%20281.1%2061.5C327.9%2042%20378.1%2032%20428.8%2032L464%2032c26.5%200%2048%2021.5%2048%2048l0%20352c0%2026.5-21.5%2048-48%2048l-35.2%200c-50.7%200-100.9%2010-147.7%2029.5l-12.8%205.3c-7.9%203.3-16.7%203.3-24.6%200l-12.8-5.3C184.1%20490%20133.9%20480%2083.2%20480L48%20480c-26.5%200-48-21.5-48-48L0%2080C0%2053.5%2021.5%2032%2048%2032l35.2%200c50.7%200%20100.9%2010%20147.7%2029.5z%22/%3E%3C/svg%3E");
}

.dark nav a img.print {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22%230083b3%22%3E%3Cpath%20d=%22M64%2064C64%2028.7%2092.7%200%20128%200L341.5%200c17%200%2033.3%206.7%2045.3%2018.7l42.5%2042.5c12%2012%2018.7%2028.3%2018.7%2045.3l0%2037.5-384%200%200-80zM0%20256c0-35.3%2028.7-64%2064-64l384%200c35.3%200%2064%2028.7%2064%2064l0%2096c0%2017.7-14.3%2032-32%2032l-32%200%200%2064c0%2035.3-28.7%2064-64%2064l-256%200c-35.3%200-64-28.7-64-64l0-64-32%200c-17.7%200-32-14.3-32-32l0-96zM128%20416l0%2032%20256%200%200-96-256%200%200%2064zM456%20272a24%2024%200%201%200%20-48%200%2024%2024%200%201%200%2048%200z%22/%3E%3C/svg%3E");
}

.dark nav a img.clear-cache {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-96%20-64%20640%20640%22%20fill=%22%230083b3%22%3E%3Cpath%20d=%22M136.7%205.9L128%2032%2032%2032C14.3%2032%200%2046.3%200%2064S14.3%2096%2032%2096l384%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-96%200-8.7-26.1C306.9-7.2%20294.7-16%20280.9-16L167.1-16c-13.8%200-26%208.8-30.4%2021.9zM416%20144L32%20144%2053.1%20467.1C54.7%20492.4%2075.7%20512%20101%20512L347%20512c25.3%200%2046.3-19.6%2047.9-44.9L416%20144z%22/%3E%3C/svg%3E");
}

.dark nav a img.concepts {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22%230083b3%22%3E%3Cpath%20d=%22M32.5%2096l0%20149.5c0%2017%206.7%2033.3%2018.7%2045.3l192%20192c25%2025%2065.5%2025%2090.5%200L483.2%20333.3c25-25%2025-65.5%200-90.5l-192-192C279.2%2038.7%20263%2032%20246%2032L96.5%2032c-35.3%200-64%2028.7-64%2064zm112%2016a32%2032%200%201%201%200%2064%2032%2032%200%201%201%200-64z%22/%3E%3C/svg%3E");
}

.dark nav a img.objectives {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20300%20300%22%20fill=%22none%22%3E%3Cpath%20stroke=%22%230083b3%22%20stroke-width=%2245%22%20d=%22m149,25a125,125%200%201,0%202,0zm2,100a25,25%200%201,1-2,0z%22/%3E%3C/svg%3E");
}

.dark nav a img.problems {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-96%20-64%20640%20640%22%20fill=%22%230083b3%22%3E%3Cpath%20d=%22M256.5-32a56%2056%200%201%201%200%20112%2056%2056%200%201%201%200-112zM123.6%20176c-3.3%200-6.2%202-7.4%205L94.2%20235.9c-6.6%2016.4-25.2%2024.4-41.6%2017.8s-24.4-25.2-17.8-41.6l21.9-54.9C67.7%20129.9%2094.1%20112%20123.6%20112l97.3%200c28.5%200%2054.8%2015.1%2069.1%2039.7l32.8%2056.3%2061.6%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-61.6%200c-22.8%200-43.8-12.1-55.3-31.8l-10-17.1-20.7%2070.4%2075.4%2022.6c27.7%208.3%2041.8%2039%2030.1%2065.5L285.7%20509c-7.2%2016.2-26.1%2023.4-42.2%2016.2s-23.4-26.1-16.2-42.2l49.2-110.8-95.9-28.8c-32.7-9.8-52-43.7-43.7-76.8l22.7-90.6-35.9%200zm-8%20181c13.3%2014.9%2030.7%2026.3%2051.2%2032.4l4.7%201.4-6.9%2019.3c-5.8%2016.3-16%2030.8-29.3%2041.8L52.9%20519.8c-13.6%2011.2-33.8%209.3-45-4.3s-9.3-33.8%204.3-45l82.4-67.9c4.5-3.7%207.8-8.5%209.8-13.9L115.6%20357z%22/%3E%3C/svg%3E");
}

.dark nav a img.new-file {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%230083b3%22%3E%3Cpath%20d=%22M352%20128C352%20110.3%20337.7%2096%20320%2096C302.3%2096%20288%20110.3%20288%20128L288%20288L128%20288C110.3%20288%2096%20302.3%2096%20320C96%20337.7%20110.3%20352%20128%20352L288%20352L288%20512C288%20529.7%20302.3%20544%20320%20544C337.7%20544%20352%20529.7%20352%20512L352%20352L512%20352C529.7%20352%20544%20337.7%20544%20320C544%20302.3%20529.7%20288%20512%20288L352%20288L352%20128z%22/%3E%3C/svg%3E");
}

.dark nav a img.open-content {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%230083b3%22%3E%3Cpath%20d=%22M128.1%2064C92.8%2064%2064.1%2092.7%2064.1%20128L64.1%20512C64.1%20547.3%2092.8%20576%20128.1%20576L274.3%20576L285.2%20521.5C289.5%20499.8%20300.2%20479.9%20315.8%20464.3L448%20332.1L448%20234.6C448%20217.6%20441.3%20201.3%20429.3%20189.3L322.8%2082.7C310.8%2070.7%20294.5%2064%20277.6%2064L128.1%2064zM389.6%20240L296.1%20240C282.8%20240%20272.1%20229.3%20272.1%20216L272.1%20122.5L389.6%20240zM332.3%20530.9L320.4%20590.5C320.2%20591.4%20320.1%20592.4%20320.1%20593.4C320.1%20601.4%20326.6%20608%20334.7%20608C335.7%20608%20336.6%20607.9%20337.6%20607.7L397.2%20595.8C409.6%20593.3%20421%20587.2%20429.9%20578.3L548.8%20459.4L468.8%20379.4L349.9%20498.3C341%20507.2%20334.9%20518.6%20332.4%20531zM600.1%20407.9C622.2%20385.8%20622.2%20350%20600.1%20327.9C578%20305.8%20542.2%20305.8%20520.1%20327.9L491.3%20356.7L571.3%20436.7L600.1%20407.9z%22/%3E%3C/svg%3E");
}

.dark nav a img.open-template {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%230083b3%22%3E%3Cpath%20d=%22M392.8%2065.2C375.8%2060.3%20358.1%2070.2%20353.2%2087.2L225.2%20535.2C220.3%20552.2%20230.2%20569.9%20247.2%20574.8C264.2%20579.7%20281.9%20569.8%20286.8%20552.8L414.8%20104.8C419.7%2087.8%20409.8%2070.1%20392.8%2065.2zM457.4%20201.3C444.9%20213.8%20444.9%20234.1%20457.4%20246.6L530.8%20320L457.4%20393.4C444.9%20405.9%20444.9%20426.2%20457.4%20438.7C469.9%20451.2%20490.2%20451.2%20502.7%20438.7L598.7%20342.7C611.2%20330.2%20611.2%20309.9%20598.7%20297.4L502.7%20201.4C490.2%20188.9%20469.9%20188.9%20457.4%20201.4zM182.7%20201.3C170.2%20188.8%20149.9%20188.8%20137.4%20201.3L41.4%20297.3C28.9%20309.8%2028.9%20330.1%2041.4%20342.6L137.4%20438.6C149.9%20451.1%20170.2%20451.1%20182.7%20438.6C195.2%20426.1%20195.2%20405.8%20182.7%20393.3L109.3%20320L182.6%20246.6C195.1%20234.1%20195.1%20213.8%20182.6%20201.3z%22/%3E%3C/svg%3E");
}

.dark nav a img.terminology {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%230083b3%22%3E%3Cpath%20d=%22M480%20272C480%20317.9%20465.1%20360.3%20440%20394.7L566.6%20521.4C579.1%20533.9%20579.1%20554.2%20566.6%20566.7C554.1%20579.2%20533.8%20579.2%20521.3%20566.7L394.7%20440C360.3%20465.1%20317.9%20480%20272%20480C157.1%20480%2064%20386.9%2064%20272C64%20157.1%20157.1%2064%20272%2064C386.9%2064%20480%20157.1%20480%20272zM272%20416C351.5%20416%20416%20351.5%20416%20272C416%20192.5%20351.5%20128%20272%20128C192.5%20128%20128%20192.5%20128%20272C128%20351.5%20192.5%20416%20272%20416z%22/%3E%3C/svg%3E");
}

.dark nav a img.facts {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:%230083b3;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E");
}

.dark nav a img.examples {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%230083b3%22%3E%3Cpath%20d=%22M434.8%2054.1C446.7%2062.7%20451.1%2078.3%20445.7%2091.9L367.3%20288L512%20288C525.5%20288%20537.5%20296.4%20542.1%20309.1C546.7%20321.8%20542.8%20336%20532.5%20344.6L244.5%20584.6C233.2%20594%20217.1%20594.5%20205.2%20585.9C193.3%20577.3%20188.9%20561.7%20194.3%20548.1L272.7%20352L128%20352C114.5%20352%20102.5%20343.6%2097.9%20330.9C93.3%20318.2%2097.2%20304%20107.5%20295.4L395.5%2055.4C406.8%2046%20422.9%2045.5%20434.8%2054.1z%22/%3E%3C/svg%3E");
}

.dark nav a img.vertical-line {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20100%20100%22%3E%3Cline%20x1=%2250%22%20y1=%220%22%20x2=%2250%22%20y2=%22100%22%20stroke=%22%230083b3%22%20stroke-width=%2210%22/%3E%3C/svg%3E");
}

.dark nav a img.institution {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%230083b3%22%3E%3Cpath%20d=%22M335.9%2084.2C326.1%2078.6%20314%2078.6%20304.1%2084.2L80.1%20212.2C67.5%20219.4%2061.3%20234.2%2065%20248.2C68.7%20262.2%2081.5%20272%2096%20272L128%20272L128%20480L128%20480L76.8%20518.4C68.7%20524.4%2064%20533.9%2064%20544C64%20561.7%2078.3%20576%2096%20576L544%20576C561.7%20576%20576%20561.7%20576%20544C576%20533.9%20571.3%20524.4%20563.2%20518.4L512%20480L512%20272L544%20272C558.5%20272%20571.2%20262.2%20574.9%20248.2C578.6%20234.2%20572.4%20219.4%20559.8%20212.2L335.8%2084.2zM464%20272L464%20480L400%20480L400%20272L464%20272zM352%20272L352%20480L288%20480L288%20272L352%20272zM240%20272L240%20480L176%20480L176%20272L240%20272zM320%20160C337.7%20160%20352%20174.3%20352%20192C352%20209.7%20337.7%20224%20320%20224C302.3%20224%20288%20209.7%20288%20192C288%20174.3%20302.3%20160%20320%20160z%22/%3E%3C/svg%3E");
}

nav a {
  /* light-dark-theme icon */
}
.dark nav a img.light-dark-theme {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2224%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20stroke=%22%230083b3%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20class=%22feather%20feather-sun%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%225%22%20fill=%22none%22%3E%3C/circle%3E%3Cline%20x1=%2212%22%20y1=%221%22%20x2=%2212%22%20y2=%223%22%3E%3C/line%3E%3Cline%20x1=%2212%22%20y1=%2221%22%20x2=%2212%22%20y2=%2223%22%3E%3C/line%3E%3Cline%20x1=%224.22%22%20y1=%224.22%22%20x2=%225.64%22%20y2=%225.64%22%3E%3C/line%3E%3Cline%20x1=%2218.36%22%20y1=%2218.36%22%20x2=%2219.78%22%20y2=%2219.78%22%3E%3C/line%3E%3Cline%20x1=%221%22%20y1=%2212%22%20x2=%223%22%20y2=%2212%22%3E%3C/line%3E%3Cline%20x1=%2221%22%20y1=%2212%22%20x2=%2223%22%20y2=%2212%22%3E%3C/line%3E%3Cline%20x1=%224.22%22%20y1=%2219.78%22%20x2=%225.64%22%20y2=%2218.36%22%3E%3C/line%3E%3Cline%20x1=%2218.36%22%20y1=%225.64%22%20x2=%2219.78%22%20y2=%224.22%22%3E%3C/line%3E%3C/svg%3E");
}

nav a:hover {
  /* all other icons */
}
.light nav a:hover img.home {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2039%2039%22%3E%3Csvg%20viewbox=%220%200%2050%2050%22%3E%3Cdefs%3E%3Cmarker%20id=%22arrowhead%22%20markerWidth=%222%22%20markerHeight=%222.5%22%20refX=%220%22%20refY=%221.25%22%20orient=%22auto%22%20fill=%22%2300597a%22%3E%3Cpolygon%20points=%220%200,%201.3%201.25,%200%202.5%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M%2030%2032%20v%208%20h%20-22%20v%20-35%20h%2022%20v%208%22%20stroke=%22%2300597a%22%20fill=%22transparent%22%20stroke-width=%228%22%20marker-end=%22url(%23arrowhead)%22%20stroke-linecap=%22round%22%20transform=%22translate(-1,-3)%22/%3E%3C/svg%3E%3C/svg%3E");
}

.light nav a:hover img.about {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22100px%22%20height=%22100px%22%20viewBox=%220%200%20100%20100%22%3E%3Cpath%20d=%22M50.433,0.892c-27.119,0-49.102,21.983-49.102,49.102s21.983,49.103,49.102,49.103s49.101-21.984,49.101-49.103S77.552,0.892,50.433,0.892z%20M59,79.031C59,83.433,55.194,87,50.5,87S42,83.433,42,79.031V42.469c0-4.401,3.806-7.969,8.5-7.969s8.5,3.568,8.5,7.969V79.031z%20M50.433,31.214c-5.048,0-9.141-4.092-9.141-9.142c0-5.049,4.092-9.141,9.141-9.141c5.05,0,9.142,4.092,9.142,9.141C59.574,27.122,55.482,31.214,50.433,31.214z%22%20fill=%22%2300597a%22/%3E%3C/svg%3E");
}

.light nav a:hover img.search {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2212%22%20height=%2213%22%3E%3Cg%20stroke-width=%222%22%20stroke=%22%2300597a%22%20fill=%22none%22%3E%3Cpath%20d=%22M11.29%2011.71l-4-4%22/%3E%3Ccircle%20cx=%225%22%20cy=%225%22%20r=%224%22/%3E%3C/g%3E%3C/svg%3E");
}

.light nav a:hover img.resources {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20height=%2225px%22%20version=%221.1%22%20viewBox=%220%200%2025%2025%22%20width=%2225px%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sketch=%22http://www.bohemiancoding.com/sketch/ns%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%3E%3Ctitle/%3E%3Cdesc/%3E%3Cdefs/%3E%3Cg%20fill=%22none%22%20fill-rule=%22evenodd%22%20id=%22TabBar-Icons%22%20stroke=%22none%22%20stroke-width=%221%22%3E%3Cg%20fill=%22%2300597a%22%20id=%22Documents%22%3E%3Cpath%20d=%22M7,3%20L7,2%20L8,2%20L8,2%20L8,1%20L21,1%20L21,21%20L20,21%20L20,22%20L19,22%20L19,3%20L7,3%20L7,0%20L22,0%20L22,22%20L19,22%20L19,25%20L3,25%20L3,3%20L7,3%20L7,3%20L7,3%20Z%20M4,4%20L18,4%20L18,24%20L4,24%20L4,4%20L4,4%20Z%20M6,6%20L16,6%20L16,7%20L6,7%20L6,6%20L6,6%20Z%20M6,9%20L16,9%20L16,10%20L6,10%20L6,9%20L6,9%20Z%20M6,12%20L16,12%20L16,13%20L6,13%20L6,12%20L6,12%20Z%20M6,15%20L16,15%20L16,16%20L6,16%20L6,15%20L6,15%20Z%20M6,18%20L16,18%20L16,19%20L6,19%20L6,18%20L6,18%20Z%20M6,21%20L16,21%20L16,22%20L6,22%20L6,21%20L6,21%20Z%22%20id=%22Orders%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.light nav a:hover img.to-do-list {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:%2300597a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E");
}

.light nav a:hover img.courses {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-32%20-64%20640%20640%22%20fill=%22%2300597a%22%3E%3Cpath%20d=%22M48%20195.8l209.2%2086.1c9.8%204%2020.2%206.1%2030.8%206.1s21-2.1%2030.8-6.1l242.4-99.8c9-3.7%2014.8-12.4%2014.8-22.1s-5.8-18.4-14.8-22.1L318.8%2038.1C309%2034.1%20298.6%2032%20288%2032s-21%202.1-30.8%206.1L14.8%20137.9C5.8%20141.6%200%20150.3%200%20160L0%20456c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24l0-260.2zm48%2071.7L96%20384c0%2053%2086%2096%20192%2096s192-43%20192-96l0-116.6-142.9%2058.9c-15.6%206.4-32.2%209.7-49.1%209.7s-33.5-3.3-49.1-9.7L96%20267.4z%22/%3E%3C/svg%3E");
}

.light nav a:hover img.lessons {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22%2300597a%22%3E%3Cpath%20d=%22M256%20141.3l0%20309.3%20.5-.2C311.1%20427.7%20369.7%20416%20428.8%20416l19.2%200%200-320-19.2%200c-42.2%200-84.1%208.4-123.1%2024.6-16.8%207-33.4%2013.9-49.7%2020.7zM230.9%2061.5L256%2072%20281.1%2061.5C327.9%2042%20378.1%2032%20428.8%2032L464%2032c26.5%200%2048%2021.5%2048%2048l0%20352c0%2026.5-21.5%2048-48%2048l-35.2%200c-50.7%200-100.9%2010-147.7%2029.5l-12.8%205.3c-7.9%203.3-16.7%203.3-24.6%200l-12.8-5.3C184.1%20490%20133.9%20480%2083.2%20480L48%20480c-26.5%200-48-21.5-48-48L0%2080C0%2053.5%2021.5%2032%2048%2032l35.2%200c50.7%200%20100.9%2010%20147.7%2029.5z%22/%3E%3C/svg%3E");
}

.light nav a:hover img.print {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22%2300597a%22%3E%3Cpath%20d=%22M64%2064C64%2028.7%2092.7%200%20128%200L341.5%200c17%200%2033.3%206.7%2045.3%2018.7l42.5%2042.5c12%2012%2018.7%2028.3%2018.7%2045.3l0%2037.5-384%200%200-80zM0%20256c0-35.3%2028.7-64%2064-64l384%200c35.3%200%2064%2028.7%2064%2064l0%2096c0%2017.7-14.3%2032-32%2032l-32%200%200%2064c0%2035.3-28.7%2064-64%2064l-256%200c-35.3%200-64-28.7-64-64l0-64-32%200c-17.7%200-32-14.3-32-32l0-96zM128%20416l0%2032%20256%200%200-96-256%200%200%2064zM456%20272a24%2024%200%201%200%20-48%200%2024%2024%200%201%200%2048%200z%22/%3E%3C/svg%3E");
}

.light nav a:hover img.clear-cache {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-96%20-64%20640%20640%22%20fill=%22%2300597a%22%3E%3Cpath%20d=%22M136.7%205.9L128%2032%2032%2032C14.3%2032%200%2046.3%200%2064S14.3%2096%2032%2096l384%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-96%200-8.7-26.1C306.9-7.2%20294.7-16%20280.9-16L167.1-16c-13.8%200-26%208.8-30.4%2021.9zM416%20144L32%20144%2053.1%20467.1C54.7%20492.4%2075.7%20512%20101%20512L347%20512c25.3%200%2046.3-19.6%2047.9-44.9L416%20144z%22/%3E%3C/svg%3E");
}

.light nav a:hover img.concepts {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22%2300597a%22%3E%3Cpath%20d=%22M32.5%2096l0%20149.5c0%2017%206.7%2033.3%2018.7%2045.3l192%20192c25%2025%2065.5%2025%2090.5%200L483.2%20333.3c25-25%2025-65.5%200-90.5l-192-192C279.2%2038.7%20263%2032%20246%2032L96.5%2032c-35.3%200-64%2028.7-64%2064zm112%2016a32%2032%200%201%201%200%2064%2032%2032%200%201%201%200-64z%22/%3E%3C/svg%3E");
}

.light nav a:hover img.objectives {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20300%20300%22%20fill=%22none%22%3E%3Cpath%20stroke=%22%2300597a%22%20stroke-width=%2245%22%20d=%22m149,25a125,125%200%201,0%202,0zm2,100a25,25%200%201,1-2,0z%22/%3E%3C/svg%3E");
}

.light nav a:hover img.problems {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-96%20-64%20640%20640%22%20fill=%22%2300597a%22%3E%3Cpath%20d=%22M256.5-32a56%2056%200%201%201%200%20112%2056%2056%200%201%201%200-112zM123.6%20176c-3.3%200-6.2%202-7.4%205L94.2%20235.9c-6.6%2016.4-25.2%2024.4-41.6%2017.8s-24.4-25.2-17.8-41.6l21.9-54.9C67.7%20129.9%2094.1%20112%20123.6%20112l97.3%200c28.5%200%2054.8%2015.1%2069.1%2039.7l32.8%2056.3%2061.6%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-61.6%200c-22.8%200-43.8-12.1-55.3-31.8l-10-17.1-20.7%2070.4%2075.4%2022.6c27.7%208.3%2041.8%2039%2030.1%2065.5L285.7%20509c-7.2%2016.2-26.1%2023.4-42.2%2016.2s-23.4-26.1-16.2-42.2l49.2-110.8-95.9-28.8c-32.7-9.8-52-43.7-43.7-76.8l22.7-90.6-35.9%200zm-8%20181c13.3%2014.9%2030.7%2026.3%2051.2%2032.4l4.7%201.4-6.9%2019.3c-5.8%2016.3-16%2030.8-29.3%2041.8L52.9%20519.8c-13.6%2011.2-33.8%209.3-45-4.3s-9.3-33.8%204.3-45l82.4-67.9c4.5-3.7%207.8-8.5%209.8-13.9L115.6%20357z%22/%3E%3C/svg%3E");
}

.light nav a:hover img.new-file {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%2300597a%22%3E%3Cpath%20d=%22M352%20128C352%20110.3%20337.7%2096%20320%2096C302.3%2096%20288%20110.3%20288%20128L288%20288L128%20288C110.3%20288%2096%20302.3%2096%20320C96%20337.7%20110.3%20352%20128%20352L288%20352L288%20512C288%20529.7%20302.3%20544%20320%20544C337.7%20544%20352%20529.7%20352%20512L352%20352L512%20352C529.7%20352%20544%20337.7%20544%20320C544%20302.3%20529.7%20288%20512%20288L352%20288L352%20128z%22/%3E%3C/svg%3E");
}

.light nav a:hover img.open-content {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%2300597a%22%3E%3Cpath%20d=%22M128.1%2064C92.8%2064%2064.1%2092.7%2064.1%20128L64.1%20512C64.1%20547.3%2092.8%20576%20128.1%20576L274.3%20576L285.2%20521.5C289.5%20499.8%20300.2%20479.9%20315.8%20464.3L448%20332.1L448%20234.6C448%20217.6%20441.3%20201.3%20429.3%20189.3L322.8%2082.7C310.8%2070.7%20294.5%2064%20277.6%2064L128.1%2064zM389.6%20240L296.1%20240C282.8%20240%20272.1%20229.3%20272.1%20216L272.1%20122.5L389.6%20240zM332.3%20530.9L320.4%20590.5C320.2%20591.4%20320.1%20592.4%20320.1%20593.4C320.1%20601.4%20326.6%20608%20334.7%20608C335.7%20608%20336.6%20607.9%20337.6%20607.7L397.2%20595.8C409.6%20593.3%20421%20587.2%20429.9%20578.3L548.8%20459.4L468.8%20379.4L349.9%20498.3C341%20507.2%20334.9%20518.6%20332.4%20531zM600.1%20407.9C622.2%20385.8%20622.2%20350%20600.1%20327.9C578%20305.8%20542.2%20305.8%20520.1%20327.9L491.3%20356.7L571.3%20436.7L600.1%20407.9z%22/%3E%3C/svg%3E");
}

.light nav a:hover img.open-template {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%2300597a%22%3E%3Cpath%20d=%22M392.8%2065.2C375.8%2060.3%20358.1%2070.2%20353.2%2087.2L225.2%20535.2C220.3%20552.2%20230.2%20569.9%20247.2%20574.8C264.2%20579.7%20281.9%20569.8%20286.8%20552.8L414.8%20104.8C419.7%2087.8%20409.8%2070.1%20392.8%2065.2zM457.4%20201.3C444.9%20213.8%20444.9%20234.1%20457.4%20246.6L530.8%20320L457.4%20393.4C444.9%20405.9%20444.9%20426.2%20457.4%20438.7C469.9%20451.2%20490.2%20451.2%20502.7%20438.7L598.7%20342.7C611.2%20330.2%20611.2%20309.9%20598.7%20297.4L502.7%20201.4C490.2%20188.9%20469.9%20188.9%20457.4%20201.4zM182.7%20201.3C170.2%20188.8%20149.9%20188.8%20137.4%20201.3L41.4%20297.3C28.9%20309.8%2028.9%20330.1%2041.4%20342.6L137.4%20438.6C149.9%20451.1%20170.2%20451.1%20182.7%20438.6C195.2%20426.1%20195.2%20405.8%20182.7%20393.3L109.3%20320L182.6%20246.6C195.1%20234.1%20195.1%20213.8%20182.6%20201.3z%22/%3E%3C/svg%3E");
}

.light nav a:hover img.terminology {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%2300597a%22%3E%3Cpath%20d=%22M480%20272C480%20317.9%20465.1%20360.3%20440%20394.7L566.6%20521.4C579.1%20533.9%20579.1%20554.2%20566.6%20566.7C554.1%20579.2%20533.8%20579.2%20521.3%20566.7L394.7%20440C360.3%20465.1%20317.9%20480%20272%20480C157.1%20480%2064%20386.9%2064%20272C64%20157.1%20157.1%2064%20272%2064C386.9%2064%20480%20157.1%20480%20272zM272%20416C351.5%20416%20416%20351.5%20416%20272C416%20192.5%20351.5%20128%20272%20128C192.5%20128%20128%20192.5%20128%20272C128%20351.5%20192.5%20416%20272%20416z%22/%3E%3C/svg%3E");
}

.light nav a:hover img.facts {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:%2300597a;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E");
}

.light nav a:hover img.examples {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%2300597a%22%3E%3Cpath%20d=%22M434.8%2054.1C446.7%2062.7%20451.1%2078.3%20445.7%2091.9L367.3%20288L512%20288C525.5%20288%20537.5%20296.4%20542.1%20309.1C546.7%20321.8%20542.8%20336%20532.5%20344.6L244.5%20584.6C233.2%20594%20217.1%20594.5%20205.2%20585.9C193.3%20577.3%20188.9%20561.7%20194.3%20548.1L272.7%20352L128%20352C114.5%20352%20102.5%20343.6%2097.9%20330.9C93.3%20318.2%2097.2%20304%20107.5%20295.4L395.5%2055.4C406.8%2046%20422.9%2045.5%20434.8%2054.1z%22/%3E%3C/svg%3E");
}

.light nav a:hover img.vertical-line {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20100%20100%22%3E%3Cline%20x1=%2250%22%20y1=%220%22%20x2=%2250%22%20y2=%22100%22%20stroke=%22%2300597a%22%20stroke-width=%2210%22/%3E%3C/svg%3E");
}

.light nav a:hover img.institution {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22%2300597a%22%3E%3Cpath%20d=%22M335.9%2084.2C326.1%2078.6%20314%2078.6%20304.1%2084.2L80.1%20212.2C67.5%20219.4%2061.3%20234.2%2065%20248.2C68.7%20262.2%2081.5%20272%2096%20272L128%20272L128%20480L128%20480L76.8%20518.4C68.7%20524.4%2064%20533.9%2064%20544C64%20561.7%2078.3%20576%2096%20576L544%20576C561.7%20576%20576%20561.7%20576%20544C576%20533.9%20571.3%20524.4%20563.2%20518.4L512%20480L512%20272L544%20272C558.5%20272%20571.2%20262.2%20574.9%20248.2C578.6%20234.2%20572.4%20219.4%20559.8%20212.2L335.8%2084.2zM464%20272L464%20480L400%20480L400%20272L464%20272zM352%20272L352%20480L288%20480L288%20272L352%20272zM240%20272L240%20480L176%20480L176%20272L240%20272zM320%20160C337.7%20160%20352%20174.3%20352%20192C352%20209.7%20337.7%20224%20320%20224C302.3%20224%20288%20209.7%20288%20192C288%20174.3%20302.3%20160%20320%20160z%22/%3E%3C/svg%3E");
}

nav a:hover {
  /* light-dark-theme icon */
}
.light nav a:hover img.light-dark-theme {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2224%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20fill=%22none%22%20stroke=%22%2300597a%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20class=%22feather%20feather-moon%22%3E%3Cpath%20d=%22M21%2012.79A9%209%200%201%201%2011.21%203%207%207%200%200%200%2021%2012.79z%22%3E%3C/path%3E%3C/svg%3E");
}

nav a:hover {
  /* all other icons */
}
.dark nav a:hover img.home {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%2039%2039%22%3E%3Csvg%20viewbox=%220%200%2050%2050%22%3E%3Cdefs%3E%3Cmarker%20id=%22arrowhead%22%20markerWidth=%222%22%20markerHeight=%222.5%22%20refX=%220%22%20refY=%221.25%22%20orient=%22auto%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%3E%3Cpolygon%20points=%220%200,%201.3%201.25,%200%202.5%22/%3E%3C/marker%3E%3C/defs%3E%3Cpath%20d=%22M%2030%2032%20v%208%20h%20-22%20v%20-35%20h%2022%20v%208%22%20stroke=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%20fill=%22transparent%22%20stroke-width=%228%22%20marker-end=%22url(%23arrowhead)%22%20stroke-linecap=%22round%22%20transform=%22translate(-1,-3)%22/%3E%3C/svg%3E%3C/svg%3E");
}

.dark nav a:hover img.about {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22100px%22%20height=%22100px%22%20viewBox=%220%200%20100%20100%22%3E%3Cpath%20d=%22M50.433,0.892c-27.119,0-49.102,21.983-49.102,49.102s21.983,49.103,49.102,49.103s49.101-21.984,49.101-49.103S77.552,0.892,50.433,0.892z%20M59,79.031C59,83.433,55.194,87,50.5,87S42,83.433,42,79.031V42.469c0-4.401,3.806-7.969,8.5-7.969s8.5,3.568,8.5,7.969V79.031z%20M50.433,31.214c-5.048,0-9.141-4.092-9.141-9.142c0-5.049,4.092-9.141,9.141-9.141c5.05,0,9.142,4.092,9.142,9.141C59.574,27.122,55.482,31.214,50.433,31.214z%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.search {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2212%22%20height=%2213%22%3E%3Cg%20stroke-width=%222%22%20stroke=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%20fill=%22none%22%3E%3Cpath%20d=%22M11.29%2011.71l-4-4%22/%3E%3Ccircle%20cx=%225%22%20cy=%225%22%20r=%224%22/%3E%3C/g%3E%3C/svg%3E");
}

.dark nav a:hover img.resources {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20height=%2225px%22%20version=%221.1%22%20viewBox=%220%200%2025%2025%22%20width=%2225px%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sketch=%22http://www.bohemiancoding.com/sketch/ns%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%3E%3Ctitle/%3E%3Cdesc/%3E%3Cdefs/%3E%3Cg%20fill=%22none%22%20fill-rule=%22evenodd%22%20id=%22TabBar-Icons%22%20stroke=%22none%22%20stroke-width=%221%22%3E%3Cg%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%20id=%22Documents%22%3E%3Cpath%20d=%22M7,3%20L7,2%20L8,2%20L8,2%20L8,1%20L21,1%20L21,21%20L20,21%20L20,22%20L19,22%20L19,3%20L7,3%20L7,0%20L22,0%20L22,22%20L19,22%20L19,25%20L3,25%20L3,3%20L7,3%20L7,3%20L7,3%20Z%20M4,4%20L18,4%20L18,24%20L4,24%20L4,4%20L4,4%20Z%20M6,6%20L16,6%20L16,7%20L6,7%20L6,6%20L6,6%20Z%20M6,9%20L16,9%20L16,10%20L6,10%20L6,9%20L6,9%20Z%20M6,12%20L16,12%20L16,13%20L6,13%20L6,12%20L6,12%20Z%20M6,15%20L16,15%20L16,16%20L6,16%20L6,15%20L6,15%20Z%20M6,18%20L16,18%20L16,19%20L6,19%20L6,18%20L6,18%20Z%20M6,21%20L16,21%20L16,22%20L6,22%20L6,21%20L6,21%20Z%22%20id=%22Orders%22/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.dark nav a:hover img.to-do-list {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:rgb(0%,%2066.009420528%,%2090.1960784314%);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E");
}

.dark nav a:hover img.courses {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-32%20-64%20640%20640%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%3E%3Cpath%20d=%22M48%20195.8l209.2%2086.1c9.8%204%2020.2%206.1%2030.8%206.1s21-2.1%2030.8-6.1l242.4-99.8c9-3.7%2014.8-12.4%2014.8-22.1s-5.8-18.4-14.8-22.1L318.8%2038.1C309%2034.1%20298.6%2032%20288%2032s-21%202.1-30.8%206.1L14.8%20137.9C5.8%20141.6%200%20150.3%200%20160L0%20456c0%2013.3%2010.7%2024%2024%2024s24-10.7%2024-24l0-260.2zm48%2071.7L96%20384c0%2053%2086%2096%20192%2096s192-43%20192-96l0-116.6-142.9%2058.9c-15.6%206.4-32.2%209.7-49.1%209.7s-33.5-3.3-49.1-9.7L96%20267.4z%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.lessons {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%3E%3Cpath%20d=%22M256%20141.3l0%20309.3%20.5-.2C311.1%20427.7%20369.7%20416%20428.8%20416l19.2%200%200-320-19.2%200c-42.2%200-84.1%208.4-123.1%2024.6-16.8%207-33.4%2013.9-49.7%2020.7zM230.9%2061.5L256%2072%20281.1%2061.5C327.9%2042%20378.1%2032%20428.8%2032L464%2032c26.5%200%2048%2021.5%2048%2048l0%20352c0%2026.5-21.5%2048-48%2048l-35.2%200c-50.7%200-100.9%2010-147.7%2029.5l-12.8%205.3c-7.9%203.3-16.7%203.3-24.6%200l-12.8-5.3C184.1%20490%20133.9%20480%2083.2%20480L48%20480c-26.5%200-48-21.5-48-48L0%2080C0%2053.5%2021.5%2032%2048%2032l35.2%200c50.7%200%20100.9%2010%20147.7%2029.5z%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.print {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%3E%3Cpath%20d=%22M64%2064C64%2028.7%2092.7%200%20128%200L341.5%200c17%200%2033.3%206.7%2045.3%2018.7l42.5%2042.5c12%2012%2018.7%2028.3%2018.7%2045.3l0%2037.5-384%200%200-80zM0%20256c0-35.3%2028.7-64%2064-64l384%200c35.3%200%2064%2028.7%2064%2064l0%2096c0%2017.7-14.3%2032-32%2032l-32%200%200%2064c0%2035.3-28.7%2064-64%2064l-256%200c-35.3%200-64-28.7-64-64l0-64-32%200c-17.7%200-32-14.3-32-32l0-96zM128%20416l0%2032%20256%200%200-96-256%200%200%2064zM456%20272a24%2024%200%201%200%20-48%200%2024%2024%200%201%200%2048%200z%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.clear-cache {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-96%20-64%20640%20640%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%3E%3Cpath%20d=%22M136.7%205.9L128%2032%2032%2032C14.3%2032%200%2046.3%200%2064S14.3%2096%2032%2096l384%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-96%200-8.7-26.1C306.9-7.2%20294.7-16%20280.9-16L167.1-16c-13.8%200-26%208.8-30.4%2021.9zM416%20144L32%20144%2053.1%20467.1C54.7%20492.4%2075.7%20512%20101%20512L347%20512c25.3%200%2046.3-19.6%2047.9-44.9L416%20144z%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.concepts {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-64%20-64%20640%20640%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%3E%3Cpath%20d=%22M32.5%2096l0%20149.5c0%2017%206.7%2033.3%2018.7%2045.3l192%20192c25%2025%2065.5%2025%2090.5%200L483.2%20333.3c25-25%2025-65.5%200-90.5l-192-192C279.2%2038.7%20263%2032%20246%2032L96.5%2032c-35.3%200-64%2028.7-64%2064zm112%2016a32%2032%200%201%201%200%2064%2032%2032%200%201%201%200-64z%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.objectives {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20300%20300%22%20fill=%22none%22%3E%3Cpath%20stroke=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%20stroke-width=%2245%22%20d=%22m149,25a125,125%200%201,0%202,0zm2,100a25,25%200%201,1-2,0z%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.problems {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%22-96%20-64%20640%20640%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%3E%3Cpath%20d=%22M256.5-32a56%2056%200%201%201%200%20112%2056%2056%200%201%201%200-112zM123.6%20176c-3.3%200-6.2%202-7.4%205L94.2%20235.9c-6.6%2016.4-25.2%2024.4-41.6%2017.8s-24.4-25.2-17.8-41.6l21.9-54.9C67.7%20129.9%2094.1%20112%20123.6%20112l97.3%200c28.5%200%2054.8%2015.1%2069.1%2039.7l32.8%2056.3%2061.6%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-61.6%200c-22.8%200-43.8-12.1-55.3-31.8l-10-17.1-20.7%2070.4%2075.4%2022.6c27.7%208.3%2041.8%2039%2030.1%2065.5L285.7%20509c-7.2%2016.2-26.1%2023.4-42.2%2016.2s-23.4-26.1-16.2-42.2l49.2-110.8-95.9-28.8c-32.7-9.8-52-43.7-43.7-76.8l22.7-90.6-35.9%200zm-8%20181c13.3%2014.9%2030.7%2026.3%2051.2%2032.4l4.7%201.4-6.9%2019.3c-5.8%2016.3-16%2030.8-29.3%2041.8L52.9%20519.8c-13.6%2011.2-33.8%209.3-45-4.3s-9.3-33.8%204.3-45l82.4-67.9c4.5-3.7%207.8-8.5%209.8-13.9L115.6%20357z%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.new-file {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%3E%3Cpath%20d=%22M352%20128C352%20110.3%20337.7%2096%20320%2096C302.3%2096%20288%20110.3%20288%20128L288%20288L128%20288C110.3%20288%2096%20302.3%2096%20320C96%20337.7%20110.3%20352%20128%20352L288%20352L288%20512C288%20529.7%20302.3%20544%20320%20544C337.7%20544%20352%20529.7%20352%20512L352%20352L512%20352C529.7%20352%20544%20337.7%20544%20320C544%20302.3%20529.7%20288%20512%20288L352%20288L352%20128z%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.open-content {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%3E%3Cpath%20d=%22M128.1%2064C92.8%2064%2064.1%2092.7%2064.1%20128L64.1%20512C64.1%20547.3%2092.8%20576%20128.1%20576L274.3%20576L285.2%20521.5C289.5%20499.8%20300.2%20479.9%20315.8%20464.3L448%20332.1L448%20234.6C448%20217.6%20441.3%20201.3%20429.3%20189.3L322.8%2082.7C310.8%2070.7%20294.5%2064%20277.6%2064L128.1%2064zM389.6%20240L296.1%20240C282.8%20240%20272.1%20229.3%20272.1%20216L272.1%20122.5L389.6%20240zM332.3%20530.9L320.4%20590.5C320.2%20591.4%20320.1%20592.4%20320.1%20593.4C320.1%20601.4%20326.6%20608%20334.7%20608C335.7%20608%20336.6%20607.9%20337.6%20607.7L397.2%20595.8C409.6%20593.3%20421%20587.2%20429.9%20578.3L548.8%20459.4L468.8%20379.4L349.9%20498.3C341%20507.2%20334.9%20518.6%20332.4%20531zM600.1%20407.9C622.2%20385.8%20622.2%20350%20600.1%20327.9C578%20305.8%20542.2%20305.8%20520.1%20327.9L491.3%20356.7L571.3%20436.7L600.1%20407.9z%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.open-template {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%3E%3Cpath%20d=%22M392.8%2065.2C375.8%2060.3%20358.1%2070.2%20353.2%2087.2L225.2%20535.2C220.3%20552.2%20230.2%20569.9%20247.2%20574.8C264.2%20579.7%20281.9%20569.8%20286.8%20552.8L414.8%20104.8C419.7%2087.8%20409.8%2070.1%20392.8%2065.2zM457.4%20201.3C444.9%20213.8%20444.9%20234.1%20457.4%20246.6L530.8%20320L457.4%20393.4C444.9%20405.9%20444.9%20426.2%20457.4%20438.7C469.9%20451.2%20490.2%20451.2%20502.7%20438.7L598.7%20342.7C611.2%20330.2%20611.2%20309.9%20598.7%20297.4L502.7%20201.4C490.2%20188.9%20469.9%20188.9%20457.4%20201.4zM182.7%20201.3C170.2%20188.8%20149.9%20188.8%20137.4%20201.3L41.4%20297.3C28.9%20309.8%2028.9%20330.1%2041.4%20342.6L137.4%20438.6C149.9%20451.1%20170.2%20451.1%20182.7%20438.6C195.2%20426.1%20195.2%20405.8%20182.7%20393.3L109.3%20320L182.6%20246.6C195.1%20234.1%20195.1%20213.8%20182.6%20201.3z%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.terminology {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%3E%3Cpath%20d=%22M480%20272C480%20317.9%20465.1%20360.3%20440%20394.7L566.6%20521.4C579.1%20533.9%20579.1%20554.2%20566.6%20566.7C554.1%20579.2%20533.8%20579.2%20521.3%20566.7L394.7%20440C360.3%20465.1%20317.9%20480%20272%20480C157.1%20480%2064%20386.9%2064%20272C64%20157.1%20157.1%2064%20272%2064C386.9%2064%20480%20157.1%20480%20272zM272%20416C351.5%20416%20416%20351.5%20416%20272C416%20192.5%20351.5%20128%20272%20128C192.5%20128%20128%20192.5%20128%20272C128%20351.5%20192.5%20416%20272%20416z%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.facts {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns:dc=%22http://purl.org/dc/elements/1.1/%22%20xmlns:cc=%22http://web.resource.org/cc/%22%20xmlns:rdf=%22http://www.w3.org/1999/02/22-rdf-syntax-ns%23%22%20xmlns:svg=%22http://www.w3.org/2000/svg%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:sodipodi=%22http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd%22%20xmlns:inkscape=%22http://www.inkscape.org/namespaces/inkscape%22%20width=%22450%22%20height=%22400%22%20viewBox=%2285%20145%20450%20400%22%3E%3Cpath%20style=%22fill:rgb(0%,%2066.009420528%,%2090.1960784314%);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1%22%20d=%22M%20508.74477,226.99015%20C%20459.42189,193.17234%20436.08559,163.59563%20436.08559,163.59563%20C%20344.99984,217.26626%20248.26757,407.83719%20248.26757,407.83719%20C%20202.93454,344.01939%20157.35384,326.21932%20157.35384,326.21932%20C%20136.86236,353.60112%20101.54091,390.09316%20101.54091,390.09316%20C%20183.924,412.28062%20253.07323,493.70015%20253.07323,493.70015%20C%20402.5571,259.01322%20508.74477,226.99015%20508.74477,226.99015%20z%22%20sodipodi:nodetypes=%22ccccccc%22%20/%3E%3C/svg%3E");
}

.dark nav a:hover img.examples {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%3E%3Cpath%20d=%22M434.8%2054.1C446.7%2062.7%20451.1%2078.3%20445.7%2091.9L367.3%20288L512%20288C525.5%20288%20537.5%20296.4%20542.1%20309.1C546.7%20321.8%20542.8%20336%20532.5%20344.6L244.5%20584.6C233.2%20594%20217.1%20594.5%20205.2%20585.9C193.3%20577.3%20188.9%20561.7%20194.3%20548.1L272.7%20352L128%20352C114.5%20352%20102.5%20343.6%2097.9%20330.9C93.3%20318.2%2097.2%20304%20107.5%20295.4L395.5%2055.4C406.8%2046%20422.9%2045.5%20434.8%2054.1z%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.vertical-line {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20100%20100%22%3E%3Cline%20x1=%2250%22%20y1=%220%22%20x2=%2250%22%20y2=%22100%22%20stroke=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%20stroke-width=%2210%22/%3E%3C/svg%3E");
}

.dark nav a:hover img.institution {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%3E%3Cpath%20d=%22M335.9%2084.2C326.1%2078.6%20314%2078.6%20304.1%2084.2L80.1%20212.2C67.5%20219.4%2061.3%20234.2%2065%20248.2C68.7%20262.2%2081.5%20272%2096%20272L128%20272L128%20480L128%20480L76.8%20518.4C68.7%20524.4%2064%20533.9%2064%20544C64%20561.7%2078.3%20576%2096%20576L544%20576C561.7%20576%20576%20561.7%20576%20544C576%20533.9%20571.3%20524.4%20563.2%20518.4L512%20480L512%20272L544%20272C558.5%20272%20571.2%20262.2%20574.9%20248.2C578.6%20234.2%20572.4%20219.4%20559.8%20212.2L335.8%2084.2zM464%20272L464%20480L400%20480L400%20272L464%20272zM352%20272L352%20480L288%20480L288%20272L352%20272zM240%20272L240%20480L176%20480L176%20272L240%20272zM320%20160C337.7%20160%20352%20174.3%20352%20192C352%20209.7%20337.7%20224%20320%20224C302.3%20224%20288%20209.7%20288%20192C288%20174.3%20302.3%20160%20320%20160z%22/%3E%3C/svg%3E");
}

nav a:hover {
  /* light-dark-theme icon */
}
.dark nav a:hover img.light-dark-theme {
  content: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%2224%22%20height=%2224%22%20viewBox=%220%200%2024%2024%22%20stroke=%22rgb(0%,%2066.009420528%,%2090.1960784314%)%22%20stroke-width=%222%22%20stroke-linecap=%22round%22%20stroke-linejoin=%22round%22%20class=%22feather%20feather-sun%22%3E%3Ccircle%20cx=%2212%22%20cy=%2212%22%20r=%225%22%20fill=%22none%22%3E%3C/circle%3E%3Cline%20x1=%2212%22%20y1=%221%22%20x2=%2212%22%20y2=%223%22%3E%3C/line%3E%3Cline%20x1=%2212%22%20y1=%2221%22%20x2=%2212%22%20y2=%2223%22%3E%3C/line%3E%3Cline%20x1=%224.22%22%20y1=%224.22%22%20x2=%225.64%22%20y2=%225.64%22%3E%3C/line%3E%3Cline%20x1=%2218.36%22%20y1=%2218.36%22%20x2=%2219.78%22%20y2=%2219.78%22%3E%3C/line%3E%3Cline%20x1=%221%22%20y1=%2212%22%20x2=%223%22%20y2=%2212%22%3E%3C/line%3E%3Cline%20x1=%2221%22%20y1=%2212%22%20x2=%2223%22%20y2=%2212%22%3E%3C/line%3E%3Cline%20x1=%224.22%22%20y1=%2219.78%22%20x2=%225.64%22%20y2=%2218.36%22%3E%3C/line%3E%3Cline%20x1=%2218.36%22%20y1=%225.64%22%20x2=%2219.78%22%20y2=%224.22%22%3E%3C/line%3E%3C/svg%3E");
}

nav a:hover span {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.5s ease;
}
nav ul {
  text-align: center;
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 1;
}
nav {
  /* styles for desktops */
}
@media (min-width: 768px) {
  nav {
    height: 100%;
    width: 50px;
    border-right-width: 1px;
  }
  nav #nav-toggler {
    display: none;
  }
  .light nav hr {
    border-color: #cdd8de;
  }
  .dark nav hr {
    border-color: rgb(23%, 23%, 23%);
  }
  nav hr {
    width: 50%;
    border: 2px solid;
    margin: 10px auto;
  }
  nav #nav-links {
    transition: none;
  }
  nav #nav-links a img + span, nav .home + span {
    display: block;
    position: absolute;
    padding: 10px;
    border-radius: 4px;
    font-size: 90%;
    opacity: 0;
    visibility: hidden;
    white-space: nowrap;
    font-family: "Computer Modern Sans", sans-serif;
  }
  .light nav #nav-links a img + span, nav .home + span {
    background-color: #e7ecee;
  }
  .dark nav #nav-links a img + span, nav .home + span {
    background-color: rgb(23%, 23%, 23%);
  }
  .light nav #nav-links a img + span, nav .home + span {
    color: #37474f;
  }
  .dark nav #nav-links a img + span, nav .home + span {
    color: rgb(67%, 67%, 67%);
  }
  nav #nav-links a img + span, nav .home + span {
    transform: translateX(50px) translateY(-50%) translateY(-25px) translateX(5px);
  }
  nav #nav-links a img:hover + span {
    opacity: 1;
    visibility: visible;
    transition: opacity 350ms ease-in-out;
  }
}
nav {
  /* styles for phones */
}
@media (max-width: 767px) {
  nav {
    height: 50px;
    width: 100%;
    border-bottom-width: 1px;
  }
  nav #nav-toggler {
    display: block;
    right: 10px;
    top: 10px;
    width: 30px;
    height: 30px;
    position: absolute;
    background-color: currentColor;
    padding: 10px;
    border: none;
    cursor: pointer;
  }
  .light nav #nav-toggler {
    color: #0079a6;
  }
  .dark nav #nav-toggler {
    color: #0083b3;
  }
  .light nav #nav-toggler:hover {
    color: #00597a;
  }
  .dark nav #nav-toggler:hover {
    color: rgb(0%, 66.009420528%, 90.1960784314%);
  }
  nav #nav-toggler {
    mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M96%20160C96%20142.3%20110.3%20128%20128%20128L512%20128C529.7%20128%20544%20142.3%20544%20160C544%20177.7%20529.7%20192%20512%20192L128%20192C110.3%20192%2096%20177.7%2096%20160zM96%20320C96%20302.3%20110.3%20288%20128%20288L512%20288C529.7%20288%20544%20302.3%20544%20320C544%20337.7%20529.7%20352%20512%20352L128%20352C110.3%20352%2096%20337.7%2096%20320zM544%20480C544%20497.7%20529.7%20512%20512%20512L128%20512C110.3%20512%2096%20497.7%2096%20480C96%20462.3%20110.3%20448%20128%20448L512%20448C529.7%20448%20544%20462.3%20544%20480z%22/%3E%3C/svg%3E") no-repeat center/contain;
    -webkit-mask: url("data:image/svg+xml;utf-8,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20640%20640%22%20fill=%22currentColor%22%3E%3Cpath%20d=%22M96%20160C96%20142.3%20110.3%20128%20128%20128L512%20128C529.7%20128%20544%20142.3%20544%20160C544%20177.7%20529.7%20192%20512%20192L128%20192C110.3%20192%2096%20177.7%2096%20160zM96%20320C96%20302.3%20110.3%20288%20128%20288L512%20288C529.7%20288%20544%20302.3%20544%20320C544%20337.7%20529.7%20352%20512%20352L128%20352C110.3%20352%2096%20337.7%2096%20320zM544%20480C544%20497.7%20529.7%20512%20512%20512L128%20512C110.3%20512%2096%20497.7%2096%20480C96%20462.3%20110.3%20448%20128%20448L512%20448C529.7%20448%20544%20462.3%20544%20480z%22/%3E%3C/svg%3E") no-repeat center/contain;
    background-size: contain;
    background-color: currentColor;
    background-repeat: no-repeat;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
  }
  nav .home + span, nav hr {
    display: none;
  }
  nav #nav-links {
    display: none;
    position: fixed;
    margin: auto;
    z-index: 1;
    width: 100%;
    border: none;
  }
  nav #nav-links.show {
    display: block;
  }
  .light nav #nav-links li {
    background-color: #e7ecee;
  }
  .dark nav #nav-links li {
    background-color: rgb(23%, 23%, 23%);
  }
  nav #nav-links li {
    display: block;
    padding-left: 15px;
    width: inherit;
  }
  nav #nav-links li a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  nav #nav-links li a span {
    display: inline-block;
    width: 100%;
    white-space: nowrap;
  }
  .light nav #nav-links li a span {
    color: #37474f;
  }
  .dark nav #nav-links li a span {
    color: rgb(67%, 67%, 67%);
  }
  .light nav #nav-links li a span:hover {
    color: #0f2d38;
  }
  .dark nav #nav-links li a span:hover {
    color: rgb(87%, 87%, 87%);
  }
}

#sidebar {
  height: 100dvh;
  width: 30dvw;
  position: fixed;
  z-index: 1;
  top: 0;
  right: 0;
}
.light #sidebar {
  background-color: #f3f6f8;
}

.dark #sidebar {
  background-color: rgb(12%, 12%, 12%);
}

.light #sidebar {
  border-left-color: #e1e8ec;
}

.dark #sidebar {
  border-left-color: rgb(12%, 12%, 12%);
}

#sidebar {
  border-left: 1px solid;
  overflow-x: hidden;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#sidebar .parents:after {
  display: block;
  content: "↓";
}
.light #sidebar .parents:after {
  color: #b8c6cd;
}

.dark #sidebar .parents:after {
  color: rgb(23%, 23%, 23%);
}

#sidebar .parents:after {
  text-align: center;
  font-size: 70px;
  margin: 10px 0;
}
#sidebar .children:before {
  display: block;
  content: "↓";
}
.light #sidebar .children:before {
  color: #b8c6cd;
}

.dark #sidebar .children:before {
  color: rgb(23%, 23%, 23%);
}

#sidebar .children:before {
  text-align: center;
  font-size: 70px;
  margin: 10px 0;
}
#sidebar .parents, #sidebar .root, #sidebar .children {
  display: block;
  text-align: center;
}

@media only screen and (max-width: 1049.9px) {
  #sidebar {
    display: none;
  }
  .page.single {
    width: auto;
    margin-right: 0;
  }
}
.course {
  padding-top: 1em;
}
.course .tab-links {
  overflow: hidden;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
  display: flex;
  justify-content: space-evenly;
}
.course .tab-links button {
  background-color: inherit;
  border: none;
  outline: none;
  cursor: pointer;
  padding-top: 14px;
  padding-bottom: 14px;
  width: 33.33%;
  transition: 0.3s;
  font-family: "Computer Modern Sans", sans-serif;
  font-weight: bold;
  color: #404040;
  font-size: 100%;
}
.course .tab-links button:hover {
  background-color: #ddd;
}
.course .tab-links button:active {
  background-color: #ccc;
}
.course .tab-content {
  display: none;
  padding: 6px 0px;
  -webkit-animation: fadeEffect 1s;
  animation: fadeEffect 1s;
}
.course .tab-content h2 {
  margin-bottom: -10pt;
}
.course .tab-content.material {
  font-family: "Computer Modern Sans", sans-serif;
}
.course .tab-content.material .part {
  padding: 1em 0 0.5em 0;
  margin: 0;
  font-weight: bold;
  color: #404040;
}
.course .tab-content.material table {
  border-collapse: collapse;
  width: 100%;
}
.course .tab-content.material .col1 {
  width: 4%;
  text-align: center;
}
.course .tab-content.material .col2 {
  width: 53%;
  text-align: left;
  padding-left: 0.5em;
}
.course .tab-content.material .col3 {
  width: 15%;
  text-align: center;
}
.course .tab-content.material .col4 {
  width: 28%;
  text-align: left;
  padding-left: 0.5em;
}
.course .tab-content.material th {
  font-weight: bold;
  text-align: center;
}
.course .tab-content.material .tentative {
  color: #95a5a6;
}
.course .grading-policy {
  text-align: justify;
}
.course .grading-policy table {
  border: 2px solid #ddd;
  display: inline-block;
  vertical-align: middle;
}
.course .grading-policy table td {
  padding: 0 4pt;
}
.course .grading-policy:after {
  content: "";
  width: 100%;
  display: inline-block;
}
.course .letter-grade {
  border: 2px solid #ddd;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20pt;
}
.course .letter-grade td {
  padding: 0 10pt;
}

.course-title {
  font-size: 125%;
  padding: 0;
  margin-top: 30pt;
}

.course-list-item {
  margin-bottom: 15pt;
}

/* Fade in tabs */
@-webkit-keyframes fadeEffect {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeEffect {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}