html {
  font-family: 'Gill Sans', sans-serif;
  font-size: 13pt;
  background-color: #000;
}

body {
  position: relative ;
  width: 40em;
  margin: 3em auto; /* v h */
  background-color: #fff;
  padding: 0 0 3em 0; /* t r b l */
}

body > * {
  padding: 0 3em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

p {
  line-height: 1.5;
}

hr {
  height: 0;
  border: 0 solid #000;
  border-top-width: 1px;
}

h1,
p {
  text-align: justify;
}

ul {
  padding-left: 0;
  list-style: none;
}

.child_align_bottom {
  position: relative;
}

.child_align_bottom > * {
  position: absolute;
  bottom: 0;
}

div.header {
  height: 10em;
}

div.footer p {
  font-size: 80%;
}

.row .column {
  float: left;
  padding: 0 0.5em;
}

.row.columns_2 > .column {
  width: 48.5%; /* (100 - 2*0.5/(40-2*3)*100)/2 */
}

.row.columns_3 > .column {
  width: 31.3%; /* (100 - (1*(2*0.5) + 2*0.5)/(40-2*3)*100)/3 */
}

.row > .first_child {
  padding-left: 0;
}

.row > .last_child {
  padding-right: 0;
}

dl > dd > dl, dl > dd > ul {
  margin-top: 0px;
}

.row + *,
.clear {
  clear: both;
}
