html,
body {
  margin: 0;
  padding: 0;
  background: #f0f0f0;
  background-image: url(/images/bg-dotted-square.png);
  font-family: 'Assistant';
  font-size: 16px;
}

/**
 * Header and navigation
 */
#top-nav { display: block; background: var(--nav-color); padding: 90px 0 30px; }
#top-nav.fixed { position: fixed; top: -64px; z-index: 9999; left: 0; right: 0; }
nav.menu { box-sizing: border-box; max-width: var(--canvas-width, 896px); margin: 0 auto; padding: 0 80px 0; }
.menu { text-align: left; }
.menu a { color: #b0b0b0; line-height: 1.5rem; text-decoration: none; letter-spacing: 0.5px; font-size: 1.15rem; }
.menu a:not(:last-child)::after { content: " | "; padding: 0 10px; }

/**
 * Footer
 */
#page-footer {
  background: var(--footer-color);
}

#page-footer p { font-size: 0.85rem; line-height: 1.10rem; color: #ddd; }
#page-footer a { color: #ccc; text-decoration: none; }
#page-footer .columns {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  align-items: top;
  max-width: var(--canvas-width, 896px);
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0 40px 40px;
  gap: 24px;
  width: 100%;
}
#page-footer .columns > * {
  box-sizing: border-box;
  vertical-align: top;
}
#page-footer .columns > div p:first-child { margin-top: 0; }

@media (max-width: 600px) {
  #page-footer .columns {
    flex-direction: column;
    align-items: stretch;
    max-width: 100%;
    padding: 0 20px 30px;
    gap: 20px;
  }
  #page-footer .columns > * {
    flex: none;
  }
}

#subfooter { text-align: center; padding: 30px 0; background: #f4f4f4; }
#subfooter p { font-size: 0.65rem; line-height: 0.95rem; color: #888; margin: 0.7rem 0 0; letter-spacing: 0.5px; }
#subfooter .links { color: #999; font-size: 0.55rem; }
#subfooter a { color: #666; text-decoration: none; }
#subfooter a:hover { text-decoration: underline; }
#subfooter span { padding: 0 10px; }

/**
 * Main content
 */
#page-main {
  max-width: var(--canvas-width, 896px);
  width: 100%;
  margin: 0 auto;
  padding: 4rem 0;
  background: white;
  min-height: 50vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
article > cms-container {
  padding: 0 45px;
}
article p {
  font-size: 16px;
  color: #444;
  line-height: 1.4em;
  padding: 0 45px;
}
article a {
  color: #1122cc;
  font-style: italic;
}
article h1,
article h2,
article h3 {
  font-family: 'Assistant';
  font-weight: bold;
  padding: 0 45px;
}
article h1 {
  font-size: 1.8rem;
  color: #333;
  margin: 50px 0 10px;
}
article h1 + p, article h2 + p { margin-top: 0; }
article h2 {
  font-size: 1.5rem;
  color: #333;
  margin: 48px 0 10px;
}
article h1 + h2 {
  margin-top: -16px;
}
article h3 {
  margin: 30px 0 10px;
  font-size: 1em;
  font-weight: bold;
}
article figure {
  margin: 0;
}
article h2 span {
  color: #777;
}
article strong {
  color: black;
}
img {
  max-width: 100%;
}
hr { margin: 3rem 45px; border: none; border-top: 1px solid #777; border-right: 20px solid #777; height: 20px; }
p.intro {
  font-size: 1.4rem;
  color: #989898;
  max-width: 520px;
  text-align: right;
  line-height: 1.7rem;
  font-weight: 400;
  margin: 1rem 0 1rem auto;
}
blockquote {
  font-style: italic;
  max-width: 400px;
  margin: 20px auto;
  text-align: center;
}
@media (max-width: 440px) {
  blockquote {
    margin: 20px;
  }
}
input {
  line-height: 33px;
  border: 1px solid #666;
  width: 200px;
  border-radius: 4px;
  font-size: 1rem;
  padding: 0 16px;
  box-sizing: border-box;
}
button {
  border: 1px solid #666;
  background: #336;
  line-height: 33px;
  min-width: 120px;
  border-radius: 4px;
  box-sizing: border-box;
  padding: 0;
  font-size: 1rem;
  color: #eee;
}

.popover {
  background: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.window {
  background: white;
  box-sizing: border-box;
  width: 720px;
  padding: 40px 40px 10px;
  max-height: 100vh;
  overflow: auto;
}
.colors p {
  font-size: 0.85rem;
  line-height: 1.10rem;
}

.colors