* {
  margin: 0;
  padding: 0;
}

:root {
  --text-h1: 3rem;
  --text-h2: 2rem;
  --text-h3: 1.5rem;
  --text-h4: 1.2rem;
  --text-subtitle: 2.1rem;
  --text-sm: 0.875rem;
  --padding: 1.5rem;
  --text-gap: 1.5rem;
  --list-spacing: 0.5rem;

  --spacing-6: 1.5rem;
  --spacing-12: 3rem;

  --breadcrumb-bg: #f7f7f7;
  --color-black: #000;
  --color-white: #fff;
  --color-grey: #606060;
  --color-grey-100: #f7f7f7;
  --color-grey-200: #efefef;
  --color-grey-300: #ddd;
  --color-light: #eff1f5;
  --color-text: var(--color-black);
  --color-text-darkmode: var(--color-white);
  --color-text-grey: var(--color-grey);
  --color-background: var(--color-white);
  --color-background-gradient: var(--color-grey-100);
  --color-background-darkmode: #151515;
  --color-background-darkmode-gradient: #202020;
  --color-code-light-grey:  #cacbd1;
  --color-code-comment:     #a9aaad;
  --color-code-white:       #c5c9c6;
  --color-code-red:         #d16464;
  --color-code-orange:      #de935f;
  --color-code-yellow:      #f0c674;
  --color-code-green:       #a7bd68;
  --color-code-aqua:        #8abeb7;
  --color-code-blue:        #7e9abf;
  --color-code-purple:      #b294bb;
  --color-links: rgb(0, 73, 215);
  --highlight-blue: lightskyblue;
  --highlight-yellow: yellow;
  --highlight-green: #a7bd68;
  --box-default: var(--color-light);
  --box-alert: var(--color-red-300);
  --box-info: var(--color-blue-300);
  --box-success: var(--color-green-300);
  --box-warning: var(--color-orange-300);
  --warning-color-background: #ffc69e;
  --success-color-background: #d8e99c;
  --font-family-serif: "Spectral", "cmu-serif", "CMU Serif", "Latin Modern Roman", ui-serif, serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", serif;
  --font-family-sans: "cmu-bright", "Segoe UI", "Roboto", ui-sans-serif, ui-system, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
  --font-family-mono: ui-monospace, monospace;
  /*--font-family-mono: ui-monospace, "cmu-typewriter", "CMU Typewriter Text Variable Width", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; */

}

/* basic site settings */
html {
  font-family: var(--font-family-sans);
  color: var(--color-text);
  background: var(--color-white);
  font-size: medium;
}
body {
  font-family: "Spectral", var(--font-family-serif);
  font-weight: 300;
  padding: var(--padding);
  max-width: 70rem;
  margin: 0 auto;
}


@media screen and (prefers-color-scheme: light) {
    img {
        border: 1px solid var(--color-light-grey)
    }
    .text a {
      border-bottom: 1px solid var(--color-text);
      color: rgb(0, 73, 215);
    }
    /*article.note-excerpt a header figure.img,
    main a.img {
        background-color: var(--color-background);
    } */

    /* set background colour for note/post banner images in case of transparent backgrounds on svgs */
    /* article.note-excerpt a header figure.img,
    main a.img {
        background-color: var(--color-background); 
    }*/
}



@media screen and (prefers-color-scheme: dark) {
  html {
    --highlight-blue: dodgerblue !important;
    --highlight-yellow: darkorange !important;
    --highlight-green: #d8e99c !important;
    --color-text: #fff !important;
    --color-grey: #a9a9a9 !important;
    --color-grey-100: #777 !important;
    --color-grey-200: #555 !important;
    --color-grey-300: #333 !important;
    --color-light: #24273a !important;
    --breadcrumb-bg: #222 !important;
    color: var(--color-text-darkmode);
    background: var(--color-background-darkmode);
    /*background: linear-gradient(to left,var(--color-background-darkmode),var(--color-background-darkmode-gradient),#101010) !important; */
  }
  .text a {
    border-bottom: 1px solid var(--color-text-darkmode);
    color: var(--color-text-darkmode);
  }
  article.note-excerpt a header figure.img,
  main a.img {
      background-color: var(--color-background-darkmode);
  }
}


/* below ipad screen 70rem = 1120px  + light mode */
@media screen and (max-width: 70rem) and (prefers-color-scheme: light) {
    html {
        background: linear-gradient(to right,var(--color-white),var(--color-background-gradient),#fbf8f4);
    }
}

/* below ipad screen 70rem = 1120px */
@media screen and (max-width: 70rem) {

    nav.breadcrumb {
        background: var(--breadcrumb-bg);
    }
    ol.breadcrumb {
        display: flex;
        flex-shrink: 0;
        font-family: var(--font-family-sans);
        justify-content: space-between;
        padding: 0.4rem;
    }
    ol.breadcrumb li {
        display: inline-block;
    }
    article.note .note-title {
	font-size: calc(0.8*var(--text-h1));
    }
}

/* remove breadcrumb for small screens */
/*@media screen and (max-width: 42rem) {
    nav.breadcrumb {
        display: none;
    }
    ol.breadcrumb {
        display: none;
    }
    ol.breadcrumb li {
        display: none;
    }
}*/



/* make the activities and notes display as cards on the ipad instead of a huge single column*/
@media screen and (min-width: 35rem) and (max-width: 70rem) {

    main.activities .grid {
        grid-template-columns: repeat(3, 1fr);
    }
    main.notes .grid {
      grid-template-columns: repeat(2, 1fr);
  }
}



/* special wide screen style */
/*
@media screen and (min-width: 125rem) {

  html {
    font-size: x-large;
  }
  body {
    max-width: initial;
  }
  main {
    margin-left: 3rem;
  }
  main.activities .grid {
    grid-template-columns: repeat(15, 1fr);
  }
  main.course-subpage article div.text,
  main.main article div.text {
    margin-left: 3rem;
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    -webkit-column-gap: 13rem;
       -moz-column-gap: 13rem;
            column-gap: 13rem;
    column-rule-width: 1px;
    column-rule-style: solid;
    column-rule-color: var(--color-grey-300);
    column-fill: balance;
  }
  main.main article h1 {
    margin-left: 3rem;
  }
  main.course-subpage article h2,
  main.main article div.text h2 {
    break-after: avoid;
    break-before: auto;
  }
  main.course-subpage article p,
  main.course-subpage article ol,
  main.course-subpage article ul,
  main.main article div.text ul,
  main.main article div.text ol,
  main.main article div.text p,
  main.author article div.text ol,
  main.author article div.text ul {
    break-inside: avoid;
    break-after: auto;
  }

}
/*


/* originally only img */
/* necessary for images in the block */
.text img,
.grid img {
  width: 100%;
  height: auto;
}
li {
  list-style: none;
}
a {
    color: currentColor;
    text-decoration: none;
}



button {
  font: inherit;
  background: none;
  border: 0;
  color: currentColor;
  cursor: pointer;
}
strong, b {
  font-weight: 600;
}
small {
  font-size: inherit;
  color: var(--color-text-grey);
}

.bg-light {
  background-color: var(--color-light);
}
.color-grey {
  color: var(--color-text-grey);
}

.header {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}

.logo {
  padding: 1rem;
  display: flex;
  align-items: center;
  font-weight: 500;
  cursor: pointer;
}

.menu {
  display: flex;
  flex-wrap: wrap;
  /*font-family: "Spectral SC", var(--font-family-serif); */
  font-weight: 200;
}
.menu a {
  padding: 0.5rem 0.7rem;
  display: block;
}
.menu a:hover {
  color: var(--color-text-grey);
}
.menu a[aria-current] {
  text-decoration: underline;
}
.menu .logout {
  font-weight: 700;
}

.breadcrumb {
  width: 100%;
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-family: var(--font-family-sans);
  font-weight: 200;
  border-top: 1px solid var(--color-grey-300);
  border-bottom: 1px solid var(--color-grey-300);
  line-height: 1.5rem;
  padding: 0.2rem 0.5rem;
}

.breadcrumb ol {
  list-style: none;
  display: inline;
  padding-inline-start: 0;
}
.breadcrumb li {
  display: inline;
}
.breadcrumb li::before {
  content: ">"; /* Insert content that looks like bullets */
  padding-right: 0.1em;
  color: grey; /* Or a color you prefer */
}
.breadcrumb a {
  display: inline;
}
.breadcrumb a[aria-current] {
  text-decoration: underline;
}

.social {
  display: flex;
  padding: 0 .5rem;
}
.social a {
  padding: .2rem;
}

.section {
  padding: 3rem 0;
}

.grid {
  --columns: 12;
  --gutter: 3rem;
  display: grid;
  grid-gap: var(--gutter);
  grid-template-columns: 1fr;
}
.grid > .column {
  margin-bottom: var(--gutter);
}

.autogrid {
  --gutter: 3rem;
  --min: 10rem;
  display: grid;
  grid-gap: var(--gutter);
  grid-template-columns: repeat(auto-fit, minmax(var(--min), 1fr));
  grid-auto-flow: dense;
}

h1, h2, h3, h4, h5, h6,
blocks h1, blocks h2, blocks h3, blocks h4, blocks h5, blocks h6 {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

main {
  font-family: var(--font-family-sans);

  /* reset counter for headings */
  counter-reset: heading;
}

main .cover {
  margin-bottom: 1rem;
}

.text {
  line-height: 1.6em;
}
.text:first-child {
  margin-top: 0;
}
.text:last-child {
  margin-bottom: 0;
}
.text p,
.text ul,
.text ol {
  margin-bottom: var(--text-gap);

}
.text ul,
.text ol {
  margin-left: 1rem;
}
.text ul p,
.text ol p {
  margin-bottom: 0;
}
.text ul > li {
  list-style: disc;
  margin-bottom: var(--list-spacing);
}
.text ol > li {
  list-style: decimal;
  margin-bottom: var(--list-spacing);
}
.text ul > li:last-child,
.text ol > li:last-child {
  margin-bottom: inherit;
}
.text ul ol,
.text ul ul,
.text ol ul,
.text ol ol {
  margin-bottom: 0;
}
.text dl {
  margin-bottom: var(--text-gap);
}

/* style sublists */
/*
.text ul ul,
.text ol ul {
    padding-left: 0;
}
.text ul ul > li,
.text ol ul >li {
    list-style: none;
}
.text ol ul > li::before,
.text ul ul > li::before {
    content: "- ";
}
*/
.text ul ul > li,
.text ol ul >li {
    list-style: circle;
}


/* headings */
.text h1, .text h2, .text h3, .text h4 {
  font-family: "Spectral SC", var(--font-family-serif);
  /*font-variant-caps: small-caps; */
}

/* add numbers to headings for wide screens */
@media screen and (min-width: 84rem) {
  /* insert counter before h2 heading */
  /*article .text h2:before {
    font-family: "Parisienne", "Spectral SC", var(--font-family-serif);
    font-weight: 400;
    float: left;
    width: 4rem;
    color: var(--color-grey);
    font-size: calc(1.1*var(--text-h2));
    content: counter(heading)".\00a0 ";
    counter-increment: heading;
  } */
  /* insert counter before h3 heading */
  /* article .text h3:before {
    font-family: "Parisienne", "Spectral SC", var(--font-family-serif);
    font-weight: 400;
    float: left;
    width: 4rem;
    font-size: calc(1.1*var(--text-h3));
    content: counter(heading)"."counter(subheading)"\00a0 ";
    counter-increment: subheading;
    font-variant-numeric: oldstyle-nums;
    font-variant-numeric: tabular-nums;
  }
  article .text h2,
  article .text h3 {
    text-indent: -4rem;
  } */
}


.text h1,
.blocks h1,
.h1,
.intro {
  font-family: "Spectral", var(--font-family-serif);
  font-size: var(--text-h1);
  font-weight: 500;
  margin-top: 1rem;
  margin-bottom: 1rem;
  line-height: 1.25em;
}
.text h1 > p,
.h1 > p,
.intro > p {
  font-size: var(--text-subtitle);
}
.text h2,
.blocks h2,
.h2 {
  font-size: var(--text-h2);
  font-weight: 300;
  margin-bottom: calc(var(--text-h2) * 0.6);
  line-height: calc(var(--text-h2) * 1.2);
  margin-top: calc(var(--text-h2) * 2);
  counter-reset: subheading;
}
.text h2 a {
  line-height: calc(var(--text-h2) * 1.5);
}
.text:first-child h2 {
  margin-top: 0;
}
.text h3,
.blocks h3,
.h3 {
  font-size: var(--text-h3);
  font-family: "Spectral", var(--font-family-serif);
  font-weight: 300;
  margin-bottom: calc(var(--text-h3) * 0.6);
  margin-top: calc(var(--text-h3) * 3);
}
.text:first-child h3 {
  margin-top: 0;
}
.text h4,
.h3 {
  font-size: var(--text-h4);
  font-weight: 600;
  font-style: normal;
}
.text .codeblock {
  display: grid;
}
.text code {
  /* font-family: var(--font-family-mono);
  font-size: 1em; */
  background: var(--color-light);
  color: var(--color-text);
  padding: 0 .5rem;
  display: inline-block;
}
.text pre {
  margin: 3rem 0;
  /* background: var(--color-black);
  color: var(--color-white); */
  padding: 1.5rem;
  overflow-x: scroll;
  overflow-y: scroll;
  line-height: 1.5rem;
  max-height: 20rem;
}
.text pre code {
  padding: 0;
  background: none;
  color: inherit;
}
.text hr {
  margin: 6rem 0;
}
.text dt {
  font-weight: 600;
  margin-top: 0.7rem;
}
.text blockquote {
  font-family: var(--font-family-serif);
  font-weight: 200;
  font-size: 1.25rem;
  line-height: 1.325em;
  border-left: 2px solid var(--color-grey-300);
  padding-left: 1rem;
  margin: 3rem 0;
  max-width: 55rem;
}
.text blockquote footer {
  font-size: .875rem;
  font-style: italic;
}
.text figure {
  margin: 3rem 0;
}
figure.cover figcaption,
.text figcaption,
article.note figure figcaption.img-caption {
  padding-top: .75rem;
  color: var(--color-text-grey);
  font-size: 0.875em;
  text-align: center;
}

hr {
  border: 0;
  background: currentColor;
  height: 2px;
  width: 1.5rem;
  margin: 3rem auto;
}

.align-center {
  text-align: center;
}

.intro {
  max-width: 40rem;
}
.intro *:not(:last-child) {
  margin-bottom: 1em;
}

.cta {
  background: var(--color-black);
  color: var(--color-white);
  display: inline-flex;
  justify-content: center;
  padding: .75rem 1.5rem;
  border: 4px solid var(--color-white);
  outline: 2px solid var(--color-black);
}

.box {
  background: var(--color-light);
  padding: 1.5rem;
  border: 4px solid var(--color-white);
  outline: 2px solid var(--color-light);
}
.text .hint {
  --_hintcolor: var(--hintcolor, var(--color-black));
  position: relative;
  /*display: flex;
  flex-direction: row; */
  box-sizing: border-box;
  overflow-wrap: break-word;
  background-color: var(--color-light);
  padding: 0.7rem;
  outline: none;
  border: 0;
  border-left: 4px solid var(--_hintcolor);
  width: 90%;
  border-radius: 0.3rem;
  margin: 1rem 0;
}
.text .hint p,
.text .hint ol,
.text .hint ul {
  margin-top: 0;
  margin-bottom: 0;
}
.text .hint p.heading {
  font-family: "Spectral", var(--font-family-serif);
  font-size: var(--text-h4);
  font-weight: 600;
  font-style: normal;
  margin-bottom: 0.5rem;
}
.text .hint.green {
  --hintcolor: green;
}
.text .hint.red {
  --hintcolor: red;
}
.text .hint.blue {
  --hintcolor: blue;
}

.video,
.img {
  position: relative;
  display: block;
  --w: calc(80vw);
  --h: auto;
  padding-bottom: calc(100% / var(--w) * var(--h));
}
.img img,
.video iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}
figure.cover img {
  border-radius: 1em;  
}
.img[data-contain] img {
  object-fit: contain;
}
.img-caption,
.video-caption {
  padding-top: .75rem;
  line-height: 1.5em;
}

/* Navigation for previous and next pages */
.course-subpage-nav{
  list-style: none;
  margin: 2em 0 0 0;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}
.next-page,
.prev-page,
.top-page {
  min-width: 15em;
}
.prev-page a {
  display: block;
  text-align: left;
  font-size: 1.1em; 
  padding: 0.4em 0.8em 0.4em 0.8em; 
  border: 1px solid var(--color-text); 
  max-width: 20em;
}
.next-page a {
  display: block;
  text-align: right;
  font-size: 1.1em; 
  padding: 0.4em 0.8em 0.4em 0.8em; 
  border: 1px solid var(--color-text); 
  max-width: 20em;
}
.top-page a {
  display: block;
  text-align: center;
  font-size: 1.1em; 
  padding: 0.4em; 
  border: 1px solid var(--color-text); 
}
/* Responsive layout - makes a one column layout instead of a two-column layout */
@media (max-width: 800px) {
  .course-subpage-nav {
    flex-direction: column;
  }
  .next-page,
  .prev-page,
  .top-page {
    margin: 0.4em;
  }
  .next-page a,
  .prev-page a,
  .top-page a {
    min-width: 15em;
    text-align: center;
    padding: 0.4em;
  }
}

/* Footer */
.footer {
  padding: 7rem 0 0;
  line-height: 1.5em;
}
.footer::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 2px;
  background: var(--color-text);
  margin-bottom: 1.5rem;
}

.footer h2 {
  font-weight: 600;
}

/* the pages menu in the footer */
.footer .pages {
  /*font-family: "Spectral SC", var(--font-family-serif); */
  font-weight: 200;
}

.footer ul,
.footer p {
  color: var(--color-text-grey);
}
.footer p {
  /*max-width: 15rem;*/
  font-weight: 200;
}
.footer a:hover {
  color: var(--color-text);
}
.footer .copyright,
.footer .legalities {
  font-size: 0.9rem;
}
.footer .edit-page {
  font-family: var(--font-family-mono);
}


.map {
  --w: 2;
  --h: 1;
  padding-bottom: calc(100% / var(--w) * var(--h));
  position: relative;
  overflow: hidden;
  background: var(--color-black);
}
.map iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.margin-s {
  margin-bottom: .75rem;
}
.margin-m {
  margin-bottom: 1.5rem;
}
.margin-l {
  margin-bottom: 3rem;
}
.margin-xl {
  margin-bottom: 4.5rem;
}
.margin-xxl {
  margin-bottom: 6rem;
}


@media screen and (min-width: 70rem) {
  body {
    --padding: 3rem;
  }

  .grid {
    grid-template-columns: repeat(12, 1fr);
  }
  .grid > .column {
    grid-column: span var(--columns);
  }

}

.pagination {
  display: flex;
  padding-top: 6rem;
}
.pagination > span {
  color: var(--color-text-grey);
}
.pagination > * {
  padding: .5rem;
  width: 3rem;
  text-align: center;
  border: 2px solid currentColor;
  margin-right: 1.5rem;
}
.pagination > a:hover {
  background: var(--color-black);
  color: var(--color-white);
  border-color: var(--color-black);
}

.note-excerpt {
  line-height: 1.5em;
}
.note-excerpt header {
  margin-bottom: 1.5rem;
}
.note-excerpt figure {
  margin-bottom: .5rem;
}
.note-excerpt-title {
  font-weight: 500;
  font-family: "Spectral", var(--font-family-serif);
  font-size: 1.2rem;
  margin-top: 1rem;
}
.note-excerpt-date {
  color: var(--color-text-grey);
  font-family: var(--font-family-mono);
}
.note-excerpt-text {
  font-family: var(--font-family-sans);
  /*font-family: "Spectral"; */
  font-weight: 300;
}

/* alert box above the content e.g. for login and logout alert */
div.alert {
  display: block;
  font-family: var(--font-family-mono);
  padding: 0.5rem;
  margin: 1rem;
}
div.alert .warning {
  background-color: var(--warning-color-background);
}
div.alert .success {
  background-color: var(--success-color-background);
}

/* Style for print */
@media print {
  nav.menu {
    display: none;
  }
  nav.breadcrumb {
    /*border-top: 1px solid var(--color-text);
    border-bottom: 1px solid var(--color-text);
    line-height: 1.5rem;*/
    display: none;
  }
  nav.sidemenu {
    display: none;
  }
  body footer.footer {
    display: none;
  }

  /* center the logo */
  header.header {
    margin: 0;
  }
  header.header a.logo {
    color: var(--color-grey);
    padding: 0;
  }
  nav.blog-prevnext {
    display: none;
  }

  /* show links for print */
  main article .text a:not(img a)::after{
      content: " (" attr(href) ") ";
  }
}



/* glossary */
/* */

.text abbr[title],
.text abbr,
.text abbr a,
abbr[title],
abbr[title] > a,
abbr > a,
article ul li article abbr a {
    text-decoration: none;
    border-bottom: 1px dotted var(--color-text);
}



.auto-fill, .auto-fit {
	--min: 13rem;
	--max: 1fr;
	--gap: var(--spacing-6);
	--column-gap: var(--gap);
	--row-gap: var(--gap);
	grid-column-gap: var(--column-gap);
	grid-row-gap: var(--row-gap);
	display: grid;
	grid-template-columns: repeat(auto-fill,minmax(var(--min),var(--max)));
}
.auto-rows-fr {
	grid-auto-rows: 1fr;
}

/* Semantic UI fixes */
.text .message {
    width: 100%;
    max-width: 50rem;
}
.text .message .content .header {
    font-size: 1rem;
    font-family: inherit;
}
.text .message .content p {
    font-size: 1rem;
    font-family: inherit;
}
.text .ui.icon.message > .icon {
    font-size: 2rem;
}




/* Navigation for course pages*/
/* takmod */

.course-nav {
/*  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;*/
  height: 2rem;
  display: inline-block;
}

.course-menu {
  display: flex;
  flex-direction: row;
  list-style-type: none;
  margin: 0;
  padding: 0;
  z-index: 222;
}

.course-menu > li {
  margin: 0 1rem;
  overflow: hidden;
}

.course-menu-button-container {
  display: none;
  height: 100%;
  width: 30px;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#course-menu-toggle {
  display: none;
}

.course-menu-button,
.course-menu-button::before,
.course-menu-button::after {
  display: block;
  background-color: var(--color-text);
  position: absolute;
  height: 4px;
  width: 30px;
  transition: transform 400ms cubic-bezier(0.23, 1, 0.32, 1);
  border-radius: 2px;
}

.course-menu-button::before {
  content: '';
  margin-top: -8px;
}

.course-menu-button::after {
  content: '';
  margin-top: 8px;
}

#course-menu-toggle:checked + .course-menu-button-container .course-menu-button::before {
  margin-top: 0px;
  transform: rotate(405deg);
}

#course-menu-toggle:checked + .course-menu-button-container .course-menu-button {
  background: rgba(255, 255, 255, 0);
}

#course-menu-toggle:checked + .course-menu-button-container .course-menu-button::after {
  margin-top: 0px;
  transform: rotate(-405deg);
}

.course-menu-button-container {
  display: flex;
}
.course-menu {
  position: absolute;
  /* top: 0;
  justify-content: center;
  margin-top: 15rem; */
  left: 0;
  flex-direction: column;
  width: 100%;
  align-items: center;
}

/* fix position of navigation menu on small screens like mobiles */
@media (max-width: 43rem) {
.course-menu {
  /* margin-top: 19.3rem; */
  }
}

#course-menu-toggle ~ .course-menu li {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
}
#course-menu-toggle:checked ~ .course-menu li {
  border: 1px solid #333;
  height: 1em;
  padding: 0.5em;
  transition: height 400ms cubic-bezier(0.23, 1, 0.32, 1);
}
.course-menu > li {
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0.5em 0;
  width: 100%;
  color: white;
  background-color: #222;
}
.course-menu > li:not(:last-child) {
  border-bottom: 1px solid #444;
}

/* 
 * Code element style (kirby plugin: code-highlighter)
 */
 @media (prefers-color-scheme: light) {
  .phiki,
  .phiki span {
    color: var(--phiki-light);
    background-color: var(--phiki-light-bg);
  }
}

@media (prefers-color-scheme: dark) {
  .phiki,
  .phiki span {
    color: var(--phiki-dark);
    background-color: var(--phiki-dark-bg);
  }
}

.phiki .line-number {
  margin-right: 1rem;
  text-align: right;
}