body {
    max-width: 50em;
    margin: 0 auto;
    background: #333333;
}

main {
    margin: 0.5em 0.25em;
}

/* Standard flex-container */
article {
    display: flex;
    display: -webkit-flex;
    flex-direction: column;
    flex-wrap: wrap;
}

@media all and (min-width: 30em) {
    article {
        flex-direction: row;
    }
}

header,
section,
footer {
    margin: 0.25em;
    padding: 0.5em;
    border: 1px solid #ccc;
    border-radius: 0.5em;
}

/* Standard flex-item */
section {
    flex: auto;
    background: #fffff5;
}

section.part-0 {
    flex: 1 1 90%;
    -webkit-flex: 1 1 90%;
}

section.part-0-h {
    flex: 1 1 90%;
    -webkit-flex: 1 1 90%;
    background: #fcf0c9;
}

section.part-0-c {
    flex: 1 1 90%;
    -webkit-flex: 1 1 90%;
    text-align: center;
}

section.part-1 {
    flex: 1 1 35%;
    -webkit-flex: 1 1 35%;
    background: #fefee9;
}

section.part-2 {
    flex: 1 1 55%;
    -webkit-flex: 1 1 55%;
}

section.part-1h {
    flex: 1 1 45%;
    -webkit-flex: 1 1 45%;
}

section.part-2h {
    flex: 1 1 45%;
    -webkit-flex: 1 1 45%;
}

header,
footer {
    min-height: 5em;
    background: #FFE9A6;
}

/* --- */

a {
    text-decoration: none;
}

a:link {
    color: #074AB3;
}

a:visited {
    color: #052A66;
}

a:hover {
    color: #FF0000;
}

a:active {
    color: #FF0000;
}

h1,
h2,
h3,
h4 {
    font-family: Georgia, "Times New Roman", Times, serif;
    font-weight: bold;
    color: #808080;
    text-align: center;
    letter-spacing: -1px;
}

h1 {
    font-size: 2.0em;
}

h2 {
    font-size: 1.5em;
}

p {
    font-family: Verdana, sans-serif;
    font-size: 0.9em;
    line-height: 1.3em;
}

p.rechts {
    text-align: right;
    padding-right: 3em;
}

p.ausruf {
    font-size: larger;
    font-weight: bold;
    color: #808080;
}

img {
    width: 11em;
}

sup {
    font-size: 70%;
    vertical-align: baseline;
    position: relative;
    top: -0.3em;
}

sub {
    font-size: 70%;
    vertical-align: baseline;
    position: relative;
    bottom: -0.1em;
}

.braun {
    color: #800000;
}

.gruen {
    color: #008080;
}

.blau {
    color: #0066cc;
}

.rot {
    color: #dc2300;
}

span.betont {
    font-style: italic;
    color: #009999;
}

.kleiner {
    font-size: smaller;
}

table {
    width: 100%;
}

table.noborder {
    border-style: none;
}

table.noborder td {
    border-style: none;
}

table tr.fuss td {
    font-size: smaller;
    line-height: 1.4em;
}

table td.left-ftr {
    padding-left: 5px;
    text-align: left;
}

table td.center-ftr {
    text-align: center;
}

table td.right-ftr {
    padding-right: 10px;
    text-align: right;
}