:root {
    color-scheme: light dark;
    background: white;
}

@media (prefers-color-scheme: dark) {
    :root {
        background: black;
    }
}

@font-face {
    font-family: "SF Pro Display Regular";
    src: url("../fonts/SF-Pro-Display-Regular.woff2") format("opentype");
}

@font-face {
    font-family: "SF Pro Text Regular";
    src: url("../fonts/SF-Pro-Text-Regular.woff2") format("opentype");
}

a {
    color: #338bc7;
    text-decoration: none;
}

a:hover {
    text-decoration: none
}

html,
body {
    box-sizing: border-box;
    height: 100%;
    padding: 0;
    margin: 0;
    -webkit-text-size-adjust: none
}

.container {
    padding-top: max(20px, calc(env(safe-area-inset-top) + 12px));
    padding-bottom: max(20px, calc(env(safe-area-inset-bottom) + 12px));
    padding-left: max(20px, env(safe-area-inset-left));
    padding-right: max(20px, env(safe-area-inset-right));

    box-sizing: border-box;
    min-height: 100%;

    display: flex;
    flex-direction: column;

    justify-content: center;
    align-items: center;
}

.page-body {
    font-family: "SF Pro Display Regular", Helvetica, Arial, sans-serif;
    text-align: center;
    padding-top: 10px;

    flex-grow: 1;

    display: flex;
    flex-direction: column;
}

.image {
    display: table-cell;
    vertical-align: middle;
    text-align: center;
}

.image img {
    max-width: 368px;
}

@media only screen and (max-width: 1312px) {
    .image img {
        max-width: 269px;
    }
}

@media only screen and (max-width: 320px) {
    .image img {
        max-width: 230px;
    }
}

.spacer {
    flex-grow: 1;
}

.page-footer {
    background: white;
    text-align: center;

    flex-grow: 0;
    flex-shrink: 0;
}

@media (prefers-color-scheme: dark) {
    .page-footer {
        background: black;
    }
}

.page-footer .copyright {
    display: block;
    font: 13px "SF Pro Text Regular", Helvetica, Arial, sans-serif;
    color: rgba(142, 142, 147, 0.8);
    padding: 20px 0 8px 0;
}

.page-footer .contact-us, .page-footer .privacy-policy, .page-footer .terms-of-use, .page-footer .welcome {
    display: inline;
    font: 13px "SF Pro Text Regular", Helvetica, Arial, sans-serif;
    color: rgba(142, 142, 147, 0.8);
    text-decoration: underline;
}

.page-footer .privacy-policy {
    padding: 0 4px 0 4px;
}

.page-footer .terms-of-use {
    padding: 0 4px 0 0;
}

.page-footer .contact-us:hover, .page-footer .privacy-policy:hover, .page-footer .terms-of-use:hover, .page-footer .welcome:hover {
    text-decoration: none
}
