@import url('https://fonts.googleapis.com/css2?family=Bitter:ital@0;1&family=Inconsolata:wght@400;700&display=swap');

:root {
        --primary-support: #66AACC;
        --highlight: #CC44CC;
}

/*** Colours ***/
header .title {
        color: white;
        text-shadow: 0 0 1px black;
}
        
header .subtitle {
        color: black;
        text-shadow: 0 0 1px white;
}

header .author {
        color: black;
        text-shadow: 0 0 1px white;
}

/*
#dark-mode-toggle {
        float: right;
        position: relative;
        top: -40pt;
}

body[dark-mode="dark"] .dark-mode-button span:nth-child(1){
    background-color: #ced4e2;
    color: #141516;
}
body[dark-mode=dark] .dark-mode-button span:nth-child(2) {
    left: 22.5px;
    background-color: #141516;
}

body[dark-mode=dark] {
        background-color: black;
        color: white;
}
*/
a {
        color: var(--primary-support);
        filter: brightness(50%);
}

a:hover {
        color: var(--highlight);
}

/*
body[dark-mode="dark"] a {
        filter: none;
}
*/
.named-code-block .sourceCode {
        background: #eee;
}

/*
body[dark-mode="dark"] .named-code-block .sourceCode {
        color: black;
        background: #ccc;
}
*/

/*** Font settings ***/

body {
        font-family: "Bitter", serif;
        font-size: 13pt;
        font-weight: 400;
        line-height: 1.4;
}

h1, h2, h3 {
        font-family: "Bitter", serif;
        font-weight: bold;
}

code {
        font-family: "Inconsolata", monospace;
}

/*** Placement settings ***/

body {
        margin: 0;
        padding: 0;
        color: black;
        background: white;
}

img.figure {
        width: 80%;
}

/*
.level1 {
        display: none;
}

.level1:target {
        display: block;
}
*/

#main h1 {
      border-bottom: thin solid #ddd;
}

#main p {
}

header h1 {
        font-size: 40pt;
        padding: 10pt 10pt 0 10pt;
        margin-bottom: 0;
}

header .subtitle {
        padding: 10pt;
        padding-top: 0;
        margin-top: 0;
}

header .author {
        padding: 10pt;
        margin-top: 0;
}

.footer {
        margin: 0;
        padding: 10pt 300pt 10pt 100pt;
}

header {
        background: var(--primary-support);
        margin: 0;
        padding: 10pt;
}

.named-code-block {
        background: var(--primary-support);
        border-radius: 5pt;
        margin: 0 20pt 0 20pt;
}

.named-code-block p {
        color: white;
        font-weight: bold;
        padding-top: 5pt;
        margin-bottom: 2pt;
        margin-left: 15pt;
}
.named-code-block .sourceCode {
        margin-top: 0;
        background: #eee;
}

.named-code-block pre.sourceCode {
        padding: 5pt 20pt 10pt 15pt;
        /* border-top: solid thin #888; */
        border-radius: 0 0 10pt 5pt;
}

.named-code-block div.sourceCode {
        border-radius: 0 0 5pt 5pt;
}

:not(.named-code-block) > div.sourceCode {
        margin: 0 20pt 0 20pt;
        padding: 5pt 15pt 10pt 15pt;
        border-radius: 5pt 5pt 5pt 5pt;
        background: #eee;
}

/* Dark-mode toggle */
        /* Light Mode Button Styles
        --------------------------- */ 
/*        .dark-mode-button {
            background:0;
            border: 0;
            box-sizing: border-box;
            cursor: pointer;
            height: 20px;
            width: 40px;
            position: relative;
            top: -5pt;
            border: 1px solid rgba(255,255,255,0);
        }
        .dark-mode-button:focus {
            outline:none;
        }
        .dark-mode-button span:nth-child(1) {
            position: absolute;
            top:0;
            left:0;
            width: 40px;
            height:20px;
            border-radius: 20px;
            background-color: #d6d7db;
            box-shadow: inset 1px 1px 3px 0 rgb(0 0 0 / 40%);
            transition: .3s;
        }
        .dark-mode-button span:nth-child(2) {
            position: absolute;
            top:2.5px;
            left:2.5px;
            width: 15px;
            height: 15px;
            background-color: #fff;
            border-radius: 50%;
            box-shadow: 1px 1px 2px 0 rgb(0 0 0 / 40%);
            transition: .3s;
        }
*/

/* Responsive design from w3schools */
* {
  box-sizing: border-box;
}
.row::after {
  content: "";
  clear: both;
/*  display: table; */
}

[class*="col-"] {
/*  float: left; */
  padding: 15px;
}

.header {
  background-color: #9933cc;
  color: #ffffff;
  padding: 15px;
}

.menu ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.menu li {
  padding: 8px;
  margin-bottom: 7px;
  color: #ffffff;
  text-align: right;
}

.menu li:hover {
}

.aside {
  background-color: #33b5e5;
  padding: 15px;
  color: #ffffff;
  text-align: center;
  font-size: 14px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
}

.footer {
  background-color: var(--primary-support);
  color: #ffffff;
  text-align: center;
  font-size: 12px;
  padding: 15px;
}

/* For mobile phones: */
[class*="col-"] {
  width: 100%;
}

@media only screen and (min-width: 600px) {
  header h1 {
          font-size: 30pt;
  }

  header .subtitle {
          padding: 10pt;
          font-size: 14pt;
          padding-top: 5pt;
          margin-top: 0;
  }

  header .author {
          font-size: 14pt;
  }

  .menu {
        align-self: flex-start;
        position: sticky;
        top: 0;
  }

  .row {
          display: flex;
          flex-flow: row;
  }
  #menu-container { order: 1; }
  #main { order: 2; }

  /* For tablets: */
  .col-s-1 {width: 8.33%;}
  .col-s-2 {width: 16.66%;}
  .col-s-3 {width: 25%;}
  .col-s-4 {width: 33.33%;}
  .col-s-5 {width: 41.66%;}
  .col-s-6 {width: 50%;}
  .col-s-7 {width: 58.33%;}
  .col-s-8 {width: 66.66%;}
  .col-s-9 {width: 75%;}
  .col-s-10 {width: 83.33%;}
  .col-s-11 {width: 91.66%;}
  .col-s-12 {width: 100%;}
}

@media only screen and (min-width: 1600px) {
header {
        padding: 10pt 400pt 10pt 50pt;
}

header h1 {
        padding: 20pt 20pt 0 20pt;
        margin-bottom: 0;
}

header .subtitle {
        padding: 20pt;
        font-size: 15pt;
        padding-top: 0;
        margin-top: 0;
}

header .author {
        padding: 20pt;
        margin-top: 0;
}

.warning blockquote {
        padding: 5pt 20pt 5pt 20pt;
        margin-right: 100pt;
}

  .row {
          display: flex;
          flex-flow: row;
  }
  #menu-container { order: 1; }
  #main { order: 2; }

  .menu {
          align-self: flex-start;
          position: sticky;
          top: 0;
  }
  /* For desktop: */
  .col-1 {width: 8.33%;}
  .col-2 {width: 16.66%;}
  .col-3 {width: 25%;}
  .col-4 {width: 33.33%;}
  .col-5 {width: 41.66%;}
  .col-6 {width: 50%;}
  .col-7 {width: 58.33%;}
  .col-8 {width: 66.66%;}
  .col-9 {width: 75%;}
  .col-10 {width: 83.33%;}
  .col-11 {width: 91.66%;}
  .col-12 {width: 100%;}
}
