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

:root {
        --primary-support: #66AACC;
        --secondary-support: #CCAA66;
        --highlight: #CC66AA;
}

/*** 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: 100%;
}

/*
.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;
        filter: drop-shadow(1px 1px 2px #00000020);
}

.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;
}

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

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

.table {
}

.table table {
        border-collapse: separate;
        margin: 1em auto 1em auto;
        padding: 0 0 5pt 0;
        border-radius: 10pt;
        background: #eee;
        border: none;
        border-spacing: 0;
        filter: drop-shadow(2px 2px 2px #00000020);
}

.table table td {
        padding: 4pt 15pt 2pt 15pt;
        margin: 0;
}

.table table .header {
        border-radius: 10pt;
}

.table th {
        background: var(--primary-support);
        color: #ffffff;
        margin: 0;
        padding: 5pt 15pt 5pt 15pt;
        border: none;
}

.table .header th:first-child {
        border-radius: 10pt 0 0 0;
}

.table .header th:last-child {
        border-radius: 0 10pt 0 0;
}

.table .caption {
        margin: 1em auto 1em auto;
        text-align: center;
}

/*
.header {
  background-color: var(--highlight);
  color: #ffffff;
  padding: 15px;
}
*/
/** Menu *****************************/
nav ul {
  list-style-type: none;
}

nav#TOC > ul {
  margin: 10pt 10pt 0 0;
  padding: 0;
}

.menu {
  text-align: right;
  font-size: 14pt;
}

nav > ul > li {
        margin-bottom: 20pt;
}

.menu li:hover {
}

.menu ul li ul li {
        font-size: smaller;
}

.menu ul li ul li::after {
        color: gray;
        margin-left: 0.5em;
        content: " · · · ";
}

/** Section.alert **************************/
section.alert {
        margin: 0 2em 0 5em;
        padding: 0 0 5pt 0;
        border-radius: 5pt;
        background: #eee;
}

section.alert h3:before {
        content: "☞";
        margin-right: 10pt;
}

section.alert h3 {
        font-size: 14pt;
        padding: 5pt 0 1pt 10pt;
        margin: 0;
        color: white;
        border-radius: 5pt 5pt 0 0;
        background: var(--secondary-support);
}

section.alert p {
        padding: 0 1em 0 1em;
}

.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%;}
}
