:root {
  color-scheme: light dark;
  --dimension-mood-overflow: 45px;
  --color-background: #fff;
  --color-border: #d0cfcd;
  --color-text: #000;
  --color-text-quote: #666;
  --color-link: #333;
  --color-link-navigation: #777a77;
}
@media (prefers-color-scheme: dark) {
  :root {
    --color-background: #262e33;
    --color-border: #4d4d4b;
    --color-text: #f0f2f3;
    --color-text-quote: #999;
    --color-link: #ccc;
    --color-link-navigation: #7a857a;
  }
}
html {
  background: var(--color-background) url("/images/footer.png") repeat-x 50% 100%;
}
html,
body {
  font: normal 95%/170% "Arial", "Verdana", sans-serif;
  color: var(--color-text);
}
body {
  background-color: var(--color-background);
  margin: 65px auto 215px auto;
  border: 2px solid var(--color-border);
  max-width: 900px;
  display: grid;
  grid-template-columns: 70px 260px auto 30px;
  grid-template-rows: auto auto 50px;
  grid-template-areas: "header header header header"
  ". nav main ."
  "footer footer footer footer";
}
@media screen and (max-width: 540px) {
  body {
    min-height: 100vh;
    max-width: 100vw;
    overflow-x: hidden;
    margin: 0 0 120px 0;
    border: none;
    grid-template-columns: 10px 1fr 10px;
    grid-template-rows: auto 1fr auto auto;
    grid-template-areas: "header header header"
    "nav nav nav"
    ". main. "
    "footer footer footer";
  }
}
header {
  grid-area: header;
  background: no-repeat 100% 0;
  margin-right: calc(var(--dimension-mood-overflow) * -1);
  margin-top: calc(var(--dimension-mood-overflow) * -1);
  padding-top: var(--dimension-mood-overflow);
  max-width: 100vw;
  margin-bottom: 2em;
}
header h1 {
  padding: 30px 0 0 30px;
}
@media screen and (max-width: 540px) {
  header h1 {
    padding-left: 10px;
    padding-bottom: 1em;
    background: linear-gradient(to right top, #fff, 65%, transparent);
  }
}
header .logo {
  display: none;
}
footer {
  grid-area: footer;
  min-height: 2em;
  line-height: 2em;
  background-color: var(--color-border);
  clear: both;
  padding: 0 30px;
  font-size: 90%;
  margin-top: 2em;
}
main {
  grid-area: main;
  margin-bottom: 2em;
}
main ul {
  list-style: disc;
  margin: 10px 0 0 30px;
}
main li {
  padding: 0.2em 0;
}
main h3 {
  margin: 0;
  font-weight: bold;
}
main p {
  margin: 0;
}
nav {
  grid-area: nav;
}
nav .burgerMenu__checkbox,
nav .burgerMenu__label {
  display: none;
}
@media screen and (max-width: 540px) {
  nav .burgerMenu__checkbox {
    visibility: hidden;
    position: absolute;
    display: block;
  }
  nav .burgerMenu__checkbox:checked ~ ul,
  nav .burgerMenu__checkbox:checked ~ label .hide {
    display: block;
  }
  nav .burgerMenu__checkbox:checked ~ label .show {
    display: none;
  }
  nav .burgerMenu__label {
    font-size: 200%;
    display: block;
    text-align: right;
    padding-right: 0.3em;
  }
  nav .burgerMenu__label .hide {
    display: none;
  }
}
nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 540px) {
  nav ul {
    display: none;
    background-color: var(--color-border);
    padding: 1em;
    margin: -3.3em 0 1em 0;
  }
  nav ul a {
    color: var(--color-text) !important;
  }
}
nav ul ul {
  margin: 0 0 0 20px;
  display: none;
  list-style: none;
  padding: 0;
}
nav ul ul a {
  text-decoration: none;
  text-transform: none;
  font-size: 100%;
  line-height: 1.6;
  letter-spacing: inherit;
}
nav a {
  text-decoration: none;
  letter-spacing: 0.2em;
  font-size: 125%;
  line-height: 200%;
  color: var(--color-link-navigation);
}
nav .selected li a {
  font-weight: normal;
}
nav li.selected ul,
nav li:hover ul {
  display: block;
}
nav .selected a,
nav .selected .selected a,
nav a:hover {
  font-weight: bold;
}
a {
  text-decoration: underline;
  color: var(--color-link);
}
a:hover {
  text-decoration: none;
}
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0.5em 0 1em 0;
}
h1,
h2,
h3,
h4,
h5,
h6,
.navigation a {
  font-family: "Lucida Sans", "Verdana", "Arial", sans-serif;
  color: var(--color-link-navigation);
}
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child,
p:first-child {
  margin: 0 0 1em 0;
}
h1 {
  font-size: 130%;
  font-weight: bold;
}
h2 {
  font-size: 120%;
  border-top: 1px solid var(--color-border);
  padding-top: 1em;
  font-weight: bold;
  margin: 2em 0 0 0;
}
h3 {
  font-size: 110%;
  font-weight: bold;
  margin: 1.5em 0 -0.5em 0;
}
h3 span {
  font-weight: normal;
  font-size: 90%;
}
blockquote {
  font-size: 95%;
  color: var(--color-text-quote);
  overflow: auto;
  font-style: italic;
}
blockquote p em {
  float: right;
  font-style: normal;
  font-size: 90%;
  margin-bottom: 1.5em;
}
.contact img {
  float: right;
  margin-top: 1em;
  width: 200px;
}
a img {
  max-width: 100%;
}
