:root {
  --bg-on: #5a5957;
  --bg-off: #232321;
  --fg-on: #eeedea;
  --fg-off: #666563;
}

@font-face {
    font-family: 'laconicregular';
    src: url('laconic_regular-webfont.woff2') format('woff2'),
         url('laconic_regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
  color: var(--fg-on);
  background-color: var(--bg-on);
  font-family: 'laconicregular', sans-serif;
}

header {
  flex-grow: 1;
}

main {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
  flex-wrap: wrap;
  flex-basis: 0;
}

footer {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  flex-basis: 0;
}

article {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

section {
  margin: clamp(0.375rem,3.125vw,1rem);
}

svg {
  width: clamp(3rem,25vw,8rem);
  height: clamp(3rem,25vw,8rem);
}

h1 {
  letter-spacing: -0.1rem;
  font-size: clamp(4rem,30vw,8rem);
  font-weight: normal;
  margin: 0 1rem;
}

footer {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-end;
}

footer article {
  justify-content: flex-end;
}

address {
  margin: 0 1.5em 1.5em 1.5em;
  font-size: clamp(1em,8vw,1.5em);
}

address span {
  font-style: normal;
}

a:link, a:visited {
  color: var(--fg-on);
  text-decoration: none;
}

header, footer, main {
  background-color: var(--bg-on);
}

rect, path, circle {
  stroke: var(--fg-on) !important;
}

#switch {
  position: absolute;
  left: -100vw;
}

label {
  cursor: pointer;
}

#switch:checked ~ main label[for="switch"] svg {
  transform: rotate(180deg);
}

#switch:checked ~ header,
#switch:checked ~ main,
#switch:checked ~ footer {
  background-color: var(--bg-off);
  color: var(--fg-off);
}

#switch:checked ~ footer a:link,
#switch:checked ~ footer a:visited {
  color: var(--fg-off);
}

#switch:checked ~ main rect,
#switch:checked ~ main path,
#switch:checked ~ main circle {
  stroke: var(--fg-off) !important;
}
