:root {
    --color-text: rgb(46, 65, 90);
    --color-primary: #407cbe;
    font-family: Helvetica, Arial, Verdana, sans-serif;
    -webkit-text-size-adjust: none;
}
html, body {
    height: 100%;
    padding: 0;
    margin: 0;
}
body {
    display: flex;
    flex-direction: column;
}
app-header, app-footer {
    font-size: 5.2vw;
}
app-header {
    color: white;
    background-color: var(--color-primary);
    text-align: center;
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    display: flex;
}
app-title {
    font-size: 1.2rem;
    line-height: 1.2rem;
    text-align: center;
    flex: 1;
    font-weight: bold;
}
app-footer {
    color: white;
    background-color: var(--color-primary);
    display: flex;
    padding-top: .3rem;
    padding-bottom: .3rem;
}
.app-footer-button {
    display: inline-block;
    text-align: center;
    flex-grow: 1;
    text-decoration: none;
}
.app-footer-button div {
    font-size: .75rem;
}
.app-button,
.app-footer-button,
.app-footer-button:visited,
.app-footer-button:active {
    color: white;
}

.app-back-button.inactive {
    opacity: 0;
}

app-setup-instructions {
    background: white;
    width: 80%;
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    text-align: center;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 1rem;
    padding-top: .5rem;
    padding-bottom: .5rem;
    padding-left: .75rem;
    padding-right: .75rem;
}

app-setup-instructions h1 {
    font-size: 1.5rem;
    margin-top: 0;
}
app-setup-instructions-bg {
    position: absolute;
    left: 0;
    top: 0;
    background: black;
    width: 100%;
    height: 100%;
    opacity: .7;
}
app-content {
    flex-grow: 1;
    overflow-y: auto;
}
.hidden {
    display: none;
}

