html, body {
    margin: 0;
    padding: 0;
    min-height: 100%;
    background: #fff;
}
body.home {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.home-fill {
    flex: 1 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    box-sizing: border-box;
}
.home-image {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}

/* ----- Shared site footer ----- */
.site-footer {
    flex-shrink: 0;
    background: #fff;
    padding: 14px 16px;
}
.site-footer-inner {
    max-width: 980px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.site-footer-img {
    max-height: 96px;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}

@media (max-width: 640px) {
    .home-fill {
        padding: 16px 12px;
    }
}
