html {
    height: 100%;
}

body {
    font-family: yantramanav, sans;
    font-size: 130%;
    text-align: left;
    background-color: #fff;
    color: #222;
    margin: 0;
    padding: 0;

    /* For sticky footer. */
    height: 100%;
    display: flex;
    flex-direction: column;
}


/* Header. */

header {
    text-align: center;
    margin: 0.5em;
}

header h1 {
    font-family: lifesavers, sans;
    font-size: 3em;
    margin: 0;
    padding: 0.5em;
}

header h1 a {
    color: #222;
}


/* General. */

p {
    margin-top: 1em;
}

p:first-child {
    margin-top: 0.5em;
}

main {
    line-height: 1.4em;
    flex: 1 0 auto;
}

article {
    padding-bottom: 3.5em;
}

article > h2 {
    font-family: lifesavers, sans;
    font-variant: small-caps;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background-color: #000;
    padding: 0.6em;
    margin: 0 0 1em 0;
}

article > div {
    max-width: 40em;
    margin: 0 auto;
    padding: 0 1em;
}

/* Contact table. */

#contact {
    width: 100%;
}

#contact table {
    border: none;
    margin: 0 auto;
}

#contact th {
    font-weight: bold;
}

#contact th, #contact td {
    padding-right: 4em;
    padding-bottom: 0.5em;
}

#contact th:last-child, #contact td:last-child {
    padding-right: 0;
}






/* Footer. */

footer {
    text-align: center;
    background-color: #000;
    color: #aaa;
    font-size: 0.7em;
    margin: 0;
    padding: 1em;
    flex: 0 0 auto;
}

footer a {
    color: #99e
}