﻿:root {
    --input-icon-height: 1rem;
    --form-input-padding-left: 1rem;
}

html {
    background-color: #CCF7FF;
}

.page-container {
    min-height: 100vh;
    display: grid;
    justify-items: center;
    font-family: var(--default-font-family);
}

.container-header, .container-footer {
    align-self: flex-end;
    padding: 1rem;
}

.header-logo {
    height: 8rem;
    cursor: pointer;
}

.container-main {
    padding-left: 1rem;
    padding-right: 1rem;
}

.main-card {
    background-color: var(--card-bg);
    padding: 1.75rem;
    border-radius: 0.75rem;
    margin-bottom: 1rem;
    box-shadow: var(--default-box-shadow);
    color: var(--color);
}

.card-title {
    font-weight: bold;
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: 1rem;
}

.card-subtitle {
    margin-bottom: 1rem;
    text-align: center;
    color: #A8A9AD;
}

.form-input-icon {
    position: relative; /* needed for input-icon position absolute */
    z-index: 1;
}

.input-icon {
    position: absolute;
    top: calc(50% - var(--input-icon-height) / 2); /* input-icon center alignment */
    left: calc(var(--form-input-padding-left) + 1px); /* input-icon left space (+ 1px because of the input tag left border) */
}

.icon-user-id, .icon-password {
    height: var(--input-icon-height);
    fill: #219EBC;
}

.form-input {
    width: 100%;
    padding-left: calc(var(--form-input-padding-left) * 2 + var(--input-icon-height) * 0.875); /* left padding for input field to give input-icon some space */
}

.form-select {
    width: 100%;
    padding: 1rem;
}

.g-recaptcha > * {
    margin-left: auto;
    margin-right: auto;
}

.form-button {
    width: 100%;
}

.main-help {
    text-align: center;
    color: var(--color);
}

.help-link {
    color: #219EBC;
}

.footer-copyright {
    color: #A8A9AD;
    text-align: center;
}
