:root {
  --standard_font_family: "Open Sans", sans-serif;
  --content_font_family: "Open Sans", sans-serif;
  --mono_font_family: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;

  --homepage-toppane-bg: #fcfeeb;
  --homepage-bottompane-bg: #4e6f21;
  --homepage-subtitle-color: #e6ebbc;
  --homepage-button-bg: #f2f3d1;
  --homepage-button-bg-hover: #fff9e1;
  --homepage-button-bg-press: #f5e39e;
  --homepage-button-color: #2c2a23;
}

html, body {
  font-family: var(--standard_font_family);
  height: 100%;
}

/* about page */
body.about {
  background: var(--homepage-toppane-bg);
  overflow-y: scroll;
}
body.about > div {
  padding: 1em;
  width: 55em;
  max-width: 100%;
  margin: 0 auto;
}
body.about > div .logo {
  display: block;
  text-align: center;
  padding: 3em 0 2em;
}
body.about > div .logo img {
  max-width: 95%;
  height: 10em;
}
body.about > div li + li {
  margin-top: .7em;
}
body.about > div hr {
  width: 50%;
  margin: 2em auto;
  border-color: #86c03b;
}
body.about > div .buttons {
  margin: -1em 0 2em;
  text-align: center;
}
body.about > div .buttons + .buttons {
  margin-top: -2em;
}
body.about > div .buttons .button {
  display: inline-block;
  font-size: 1.2em;
  padding: .6em .8em;
  border-radius: .6em;
  color: var(--homepage-button-color);
  font-weight: 600;
  text-decoration: none;
  transition: background 0.1s cubic-bezier(0.65, 0, 0.35, 1);
}
body.about > div .buttons .button + .button {
  margin-left: .8em;
}

/* homepage */
body.homepage {
  display: flex;
  flex-direction: column;
}
body.homepage > .spacer {
  flex: 1 1 auto;
  height: 100%;
}
body.homepage > .spacer:first-child {
  background: var(--homepage-toppane-bg);
}
body.homepage > .spacer:last-child {
  background: var(--homepage-bottompane-bg);
}
body.homepage > .logo {
  background: var(--homepage-toppane-bg);
  text-align: center;
  padding-bottom: 1.7em;
}
body.homepage > .logo img {
  max-width: 95%;
  margin: 0 auto;
  height: 10em;
}
body.homepage > .content {
  background: var(--homepage-bottompane-bg);
  text-align: center;
}
body.homepage > .content .subtitle {
  margin-top: .7em;
  font-size: 2em;
  color: var(--homepage-subtitle-color);
}
body.homepage > .content .buttons {
  margin-top: 2.4em;
  display: flex;
  flex-direction: column;
  align-items: center;
}
body.homepage > .content .button {
  display: inline-block;
  font-size: 1.4em;
  padding: .6em .8em;
  border-radius: .6em;
  background: var(--homepage-button-bg);
  color: var(--homepage-button-color);
  font-weight: 600;
  text-decoration: none;
  transition: background 0.1s cubic-bezier(0.65, 0, 0.35, 1);
}
body.homepage > .content .button + .button {
  margin-top: .8em;
}
body.homepage > .content .button:hover {
  background: var(--homepage-button-bg-hover);
}
body.homepage > .content .button:active {
  background: var(--homepage-button-bg-press);
}
