*, *::before, *::after {
    box-sizing: border-box;
}

:root {
    /*
        --vf-dark-grey-hsl: 240, 1%, 33%;
        --vf-blue-hsl: 198, 100%, 42%;
        --vf-light-blue-hsl: 195, 100%, 56%;
        --vf-dark-blue-hsl: 221, 100%, 39%;
     */
    --vf-green-hsl: 87, 55%, 52%;
    --vf-gray: #eee;
}

body {
    margin: 0;
}

.full-screen-container {
    background-image: url("../img/version9.jpg");
    height: 100vh;
    width: 100vw;
    background-size: cover;
    background-position: center;
    display: grid;
    justify-items: center;
    align-content: center;
}

.login-container {
    background-color: var(--vf-gray);
    box-shadow: 0 0 15px 0 var(--vf-gray);
    padding: 20px 30px;
    width: 80%;
    max-width: 500px;
    border-radius: 20px;
}

.login-form {
    display: grid;
    grid-auto-flow: row;
    grid-row-gap: 20px;
    margin-top: 40px;
}

.input-group,
.question-group {
    display: grid;
    grid-auto-flow: row;
    grid-row-gap: 7px;
}

.input-group label,
.question-group label{
    color: white;
    font-size: 1rem;
    justify-self: left;
}

.input-group input,
.question-group input,
.question-group span {
    font-size: 1rem;
    padding: .5em;
    background-color: white;
    border: 1px solid black;
    outline: none;
    border-radius: 4px;
    width: 100%;
    height: auto;
}

.input-group img {
    margin-left: -30px;
}

.input-group p,
.question-group p,
.login-form p {
    margin: 0;
}

.login-button,
.login-button:disabled,
.cancel-button,
.cancel-button:disabled {
    font-size: 1.25rem;
    padding: .5em 1em;
    text-align: center;
    background-color: #F5F5F5;
    border: 1px solid black;
    border-radius: 4px;
    outline: none;
    cursor: pointer;
    width: 100%;
    height: auto;
}

.login-button:hover,
.login-button:focus,
.cancel-button:hover,
.cancel-button:focus {
    background-color: #DBDBDB;
    border: 1px solid black;
}

.justify-self-left {
    justify-self: left;
}

.justify-self-right {
    justify-self: right;
}

.width-max-content {
    width: max-content;
}

.width-100-percent {
    width: 100%;
}

.text-align-start {
    text-align: start;
}

.color-red {
    color: red;
}

.color-white {
    color: white;
}

.font-size-larger {
    font-size: 1.25rem;
}

.margin-top-10 {
    margin-top: 10px;
}

.login-header {
    color: black;
    font-size: 2rem;
    justify-self: center;
}