html {
  font-size: 16px;
}

body {
  margin: 0;
  font-family: 'Times New Roman', serif;
  line-height: 1.3;
}

article, div#ftext {
  max-width: 25cm;
  margin: auto;
  padding: 1ex;
  text-align: justify;
}

p {
  text-indent: 30px;
}

p.intro {
  font-style: italic;
  max-width: 22cm;
  margin: auto;
  padding: 1ex;
  text-align: justify;
  color: #444;
}

div#vigenere {
  font-family: monospace;
  text-indent: 0;
  background: #ccc;
  width: max-content;
  padding: 10px;
  margin: 1ex auto;
}

img {
  margin: auto;
  display: block;
  max-width: 95%;
  min-width: 300px;
}

figure {
  margin: 0 5cm;
}

figcaption{
  text-align: center;
  background-color: #f0f0f0;
}

h1, h2 {
  font-family: 'Oswald', sans-serif;
  margin: 0;
  padding: 0;
  color: #444;
  text-align: center;
}

h1 {
  font-weight: 400;
  font-size: 30pt;
  margin-top: 2ex;
}

h2 {
  margin-top:-0.5ex;
  margin-left: 10ex;
  font-weight: 200;
  font-size: 20pt;
  margin-bottom: 2ex;
}

h3, h4 {
  font-family: 'Oswald', sans-serif;
  font-weight: 400;
  margin-top: 2ex;
  color: #444;
}

h3 {
  font-size: 120%;
}

h4 {
  font-size: 110%;
}

footer {
  border-top: 1px solid #999;
  padding: 2ex 5ex;
  font-size: 80%;
  background: #cccccc;
}
