body {
    background-color: #fdfdfd;
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    margin: 0;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-size: 18px;
}
header, main, footer {
    margin: 0;
    padding: 5px 0.5em;
}
header > * {
    display: inline-block;
    vertical-align: middle;
}
.left, .left > *, .right > * {
    display: inline-block;
}
.right {
    float: right;
}
.centre {
    text-align: center;
}
header {
    background-color: rgb(214, 214, 214);
}
footer {
    font-size: 0.8rem;
    margin-top: auto;
    background-color: rgb(214, 214, 214);
}
#homelink {
    margin:0.2em 0.5em;
    padding: 0;
}
#homelink a {
    color: black;
    text-decoration: none;
}
#homelink h1 {
    margin-top: 0;
}
h1 {
    font-size: 2em;
    margin: 0.5em 0.5em 0.3em 0.2em;
}
.logo {
    height:3em;
    margin:0 1em;
}
.logo.back {
    margin:0 0.2em;
}
.back:hover path {
    stroke:rgb(0, 0, 190);;
}
.app-icon {
    height: 8em;
}
@media (max-width: 3000px) {
    .app-icon {
        margin: 2em;
    }
}
@media (max-width: 350px) {
    .app-icon {
        max-width: 70%;
        margin: 0.5em auto;
    }
}
main {
    margin: 0.5em 6em 0 3em;
}
#back {
    color:rgb(0, 0, 190);
    margin:0 0 0.5em 1em;
    text-decoration:none;
}
#back:hover {
    text-decoration:underline;
}
@media (max-width: 900px) {
    main {
        margin: 0.5em 2em;
    }
}
@media (max-width: 600px) {
    #homelink {
        font-size: 0.8em;
    }
    header h1 {
        font-size: 1.5em;
        margin-bottom: 0.2em;
    }
    .logo {
        height:2.5em;
        margin:0 0.5em;
    }
    .logo.back {
        margin:0 0.1em;
    }
    main {
        margin: 0.5em 0.7em;
    }
}
h2 {
    margin-bottom: 0;
}
h3 {
    margin-top: 2em;
    margin-bottom: 0;
}
h4 {
    margin-bottom: 0.1em
}
ol, ul {
    margin-top: 0.1em;
    padding-left: 0;
}
ol>ol, ul>ul, ol>ul, ul>ol {
    padding-left: 30px;
}
li {
    margin-left: 2.3em;
    padding-left: 0.4em;
}
figure.image {
    margin: 2em 0;
}
figure.image * {
    max-width: 600px;
    margin: 0 auto;
}
figure.image p {
    padding: 0 5%;
    font-size: 0.85em;
}
img {
    width: 100%;
}
figure.image.large * {
    max-width: 800px;
}
figure.image.zoom :hover:not(figcaption) {
    max-width: 100%;
}
a.app * {
    margin-top: 0.5em;
}
a.app {
    color: black;
    text-decoration: none;
}
a.app:hover {
    color:rgb(0, 0, 190);
    fill:darkblue;
    text-decoration:underline;
}
a[download] {
    background-image: linear-gradient(#eee,60%, #bbb);
    border: 3px solid rgb(1,41,0);
    border-radius: 8px;
    color: darkgreen;
    display: inline-block;
    fill: darkred;
    font-weight: bold;
    margin: 5px 0;
    padding: 7px 5px 4px 9px;
    text-decoration: none;
}
a[download]:hover {
    background-image: linear-gradient(#bbb,40%, #eee);
    border-color: green;
    color: green;
    fill: red;
}
.file-size {
    font-style: italic;
    font-size: 0.8em;
    color: #444;
    margin: 1em;
}
#coffee-div {
    display:flex;
    align-items:center;
    text-align: end;
}
@media (max-width: 400px) {
    #coffee-div {
        display: block;
        text-align: start;
    }
    #coffee-div p {
        margin-bottom: 0.2em;
    }
}
a.coffee img {
    height: 4em;
    min-width: 8em;
}
a.coffee:hover img {
    filter: brightness(0.95);
}