.flexBox {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
}

.flexColumn {
    display:flex;
    flex-direction:column;
    align-items:center;
}

footer {
    text-align:center;
    margin-top:3em
}

table, caption {
    background-color:#eef;
}

table {
    margin:1em;
}

caption {
    white-space: nowrap;
    font-weight:bold;
    font-size:110%;
    padding:1ex;
}


tbody tr:nth-child(odd) {
    background-color: #eff;
}
tbody tr:nth-child(even) {
    background-color: #eef;
}

td {
    padding:0 2em;
}

p {
    max-width:30em;
    text-align:left;
}

button {
    width:30em;
    text-align:left;
    padding:1ex;
    margin:1ex;
}

button:hover, button.selected {
    background-color:#ff8;
}
