:root {
    font-size: 16px;
    margin: auto;
    max-width: 800px;
    font-family: Monospace;
}
blockquote {
    font-style: italic;
}
body {
    box-shadow: 0 0 2rem 0 #bbb;
    padding: 0.5rem;
}
@media only screen and (max-width: 800px) {
    body {
        padding: 0;
        box-shadow: none;
    }
}
hr {
    height: 20px;
    border: none;
    position: relative;
    margin: -0.5rem;
}
hr::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -30px;
    width: 100%;
    height: 50px;
    /* https://yqnn.github.io/svg-path-editor/ */
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 -15 20 70' ><path d='M0 0Q5-5 10 0T20 0' fill='none' stroke='grey' stroke-width='3' stroke-linecap='square'/></svg>");
    background-repeat: repeat-x;
}
.header {
    display: flex;
    align-items: center;
    justify-content: center;
    background: grey;
    margin:-0.5rem;
}
.header a {
    color: black;
    padding: 10px;
}
.header a:hover {
    color: white;
}
.main {
    margin-top: 10px;
    margin-bottom: 10px;
}
.footer {
    text-align: center;
}
.flex-container {
    display: flex;
    white-space: nowrap;      /*keep text on one line */
    overflow: hidden;         /*prevent text from being shown outside the border */
    text-overflow: ellipsis;  /*cut off text with an ellipsis*/
    flex-direction: row;
    flex-wrap: wrap;
}
.flex-child {
    flex: 1 50%;
}
.flex-child:first-child {
    margin-right: 0px;
}
