html {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: nowrap;
    -webkit-flex-wrap: nowrap;
    margin: 0;
    padding: 0;
    background: #f4f4f4;
    overflow-x: hidden;
}

ul, p, h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
}

body {
    position: relative;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-grow: 1;
    -webkit-flex-grow: 1;
    flex-grow: 1;
    margin: 0;
    padding: 0;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    overflow-x: hidden;
}
#hdr {
    padding: 20px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
}

#hdr > h1 {
    margin-top: 20px;
    text-align: center;
}

#main {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-align-items: center;
    align-items: center;
    -ms-flex: 1 0;
    -webkit-flex: 1 0;
    flex: 1 0;
    padding: 20px 20px;
}

#main > h2 {
    width: 100%;
    text-align: center;
}
