* {
    margin: 0;
    padding: 0;
}
html, body {
    height: 100%;
    /*font-family: Verdana, sans-serif;*/
    font-family: Times, Georgia, serif;
    line-height: 1.2;
    font-size: 16px;
}
body {
    display: grid;
    grid-template-areas:
          'wrapper'
          'footer';
    min-height: 100%;
    gap: 0.2rem;
    margin-right: 0.5rem;
    margin-left: 0.5rem;
    font-size: 22px;
}
/*-----------------------------------------------------------------*/
.page_wrapper {
    grid-area: wrapper;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows:
            fit-content(100%)
            fit-content(100%)
            fit-content(100%);
    grid-template-areas:
            'header1'
            'header2'
            'body1';
    gap: 0.2rem;
}
.page_wrapper div {
    text-align: center;
    height: fit-content;
}

/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/
.button {
    cursor: pointer;
    transition-duration: 0.2s;
    padding: 0.7rem 0.5rem;
    border-radius: 6px;
    text-align: center;
    text-decoration-line: none;
    background-color: #eeeeee;
}
.button:hover {
    background-color: #008CBA;
    color: white;
}
/*-----------------------------------------------------------------*/
.item-left-logo {
    grid-area: logo;
    background-color: #ffffff;
    text-align: left;
}
.item-left-logo img {
    height: 1em;
}
.item-center {
    grid-area: user;
    text-align: center;
}
.bt1 {grid-area: button-r1; text-decoration-line: none;}
.bt2 {grid-area: button-r2; text-decoration-line: none;}
.bt3 {grid-area: button-r3; text-decoration-line: none;}
.bt4 {grid-area: button-r4; text-decoration-line: none;}

.header1 {
    grid-area: header1;
    display: grid;
    /*grid-auto-columns: 1fr;*/
    gap: 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: fit-content(100%);
    grid-template-areas:
             'logo'
             'user'
             'button-r1'
             'button-r2'
             'button-r3'
             'button-r4';

    height: fit-content;

}
.header1 > div {
    height: fit-content;
}
/*-----------------------------------------------------------------*/
.header2 {
    grid-area: header2;
    display: grid;
    /*grid-auto-columns: 1fr;*/
    gap: 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: fit-content(100%);
    grid-template-areas:
             'title1'
             'time1';

    height: fit-content;
    background-color: #008ea9;
    color: white;
}
.header2 > div {
    height: fit-content;
}

.item-title {
    grid-area: title1;
    /*padding: 0.7rem 0.5rem;*/
    text-align: center;
    font-size: 30px;
}

.item-time {
    grid-area: time1;
    line-height: 2;
    border-radius: 6px;
    text-align: center;
    child-align: right;
    font-size: 16px;

}
/*-----------------------------------------------------------------*/
.user_body {
    grid-area: body1;
    display: grid;
    /*grid-auto-columns: 1fr;*/
    margin-top: 0.5rem;
    gap: 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: fit-content(100%);
    grid-template-areas:
        'block1'
        'block2'
        'block3';

    height: fit-content;
    background-color: #fff4da;
}
.block1 {
    grid-area: block1;
    display: grid;
    margin: 0.1rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: fit-content(100%);
    height: fit-content;
    background-color: #fff4da;
}

/*------------------------------*/
.block2 {
    grid-area: block2;
    display: grid;
    gap: 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: fit-content(100%);
    height: fit-content;
    background-color: #fff4da;
}

.block2 form .label-line {
    grid-area: block2;
    display: grid;
    gap: 0rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: fit-content(100%);
    grid-template-areas:
        'status'
        'label'
        'input';

    height: fit-content;
    background-color: #fff4da;
}

.block2 form .label-line .label {
    grid-area: label;
    text-align: center;
    background-color: rgba(124, 210, 248, 0.4);
    height: 1.5rem;
    padding-top: 0px;
    padding-bottom: 0px;
}
.block2 form .label-line .pass_strength {
    grid-area: status;
    text-align: right;
    background-color: #c5da88;
    color: #a000aa;
    height: 1.8rem;
    padding-bottom: 0px;
    margin-top: 20px;
}

.block2 form .label-line .input {
    grid-area: input;
    text-align: center;
    background-color: #f8f2e4;
    height: 2rem;
    padding-bottom: 5px;
}
.block2 form .label-line input {
    grid-area: input;
    text-align: center;
    background-color: #f8f2e4;
    height: 2rem;
    padding-bottom: 0px;
    font-size: 20px;
    width: 99%;
}

.block2 form .submit-line .input {
    grid-area: input;
    text-align: center;
    height: 3rem;
    padding-top: 15px;
    padding-bottom: 20px;
    font-size: 20px;
}
.block2 form .submit-line input {
    grid-area: input;
    text-align: center;
    height: 3rem;
    padding-bottom: 20px;
    font-size: 20px;
}
.block2 form .label-line .error {
    color: #ff0000;
    text-align: center;
}
/*------------------------------*/
.block3 {
    grid-area: block3;
    display: grid;
    gap: 0rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: fit-content(100%);
    grid-template-areas:
        'help'
        'error';
    height: fit-content;
    background-color: #80CCCC;
    color: #1F5C99;
}

.pass_help{
    grid-area: help;
    text-align: center;
}
/*------------------------------*/

footer {
    grid-area: footer;
    background-color: #e3cf84;
    margin-top: auto;
}
/*-----------------------------------------------------------------*/
@media screen and (min-width: 40em) {
    body {
        font-size: 16px;
    }
    .page_wrapper {
        grid-template-columns: repeat(6, 1fr);
        grid-template-rows: repeat(3, fit-content(100%));
        grid-template-areas:
    'header1'
    'header2'
    'body1';
    }
    .page_wrapper > div {
        text-align: left;
    }
    .header1 {
        grid-template-columns: repeat(8, 1fr);
        grid-template-rows: repeat(2, fit-content(100%));
        grid-template-areas: 'logo user user user user user user user'
                                 'button-r1 button-r1 button-r2 button-r2 button-r3 button-r3 button-r4 button-r4';
    }
    .header2 {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(1, fit-content(100%));
        grid-template-areas: 'title1 title1 title1 title1 time1 time1 time1';
    }
    .item-time {
        text-align: right;
    }
    .button {
        padding: 0.2rem 0.5rem;
    }
    .user_name {
        padding: 0.2rem 0.5rem;
    }

    .user_body {
        grid-template-columns: repeat(6, 1fr);
        grid-template-rows: repeat(3, fit-content(100%));
        grid-template-areas:
            'block1 block1 block1 block1 block1 block1'
            'block2 block2 block2 block2 block2 block2'
            'block3 block3 block3 block3 block3 block3';
    }
    .block2 form .label-line {
        grid-area: block2;
        display: grid;
        gap: 0.2rem;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(3, fit-content(100%));
        grid-template-areas:
        'label input status'
        'error error error'
        'error error error';

        height: fit-content;
        background-color: #fff4da;
    }

    .block2 form .label-line .label {
        grid-area: label;
        text-align: right;
        background-color: rgba(150, 217, 246, 0.4);
        height: 1.5rem;
        padding-top: 0px;
        padding-bottom: 0px;
        padding-right: 10px;
        margin-top: 0px;
    }
    .block2 form .label-line .input {
        grid-area: input;
        text-align: center;
        background-color: #f8f2e4;
        height: 1rem;
        padding-top: 0px;
        padding-bottom: 0px;
    }
    .block2 form .label-line input {
        grid-area: input;
        text-align: left;
        background-color: #f8f2e4;
        height: 1.2rem;
        padding-bottom: 0px;
        font-size: 1rem;
    }
    .block2 form .label-line .pass_strength {
        grid-area: status;
        text-align: center;
        background-color: #c5da88;
        color: #a000aa;
        height: 1.5rem;
        padding-bottom: 0px;
        margin-top: 0px;
    }

    .block2 form .submit-line .input {
        grid-area: input;
        text-align: center;
        height: 2rem;
        padding-top: 10px;
        padding-bottom: 10px;
        font-size: 1rem;
    }
    .block2 form .submit-line input {
        grid-area: input;
        text-align: center;
        align-self: center;
        height: 1.8rem;
        padding-bottom: 20px;
        font-size: 1rem;
    }

}
/*-----------------------------------------------------------------*/
@media screen and (min-width: 62.5em) {
    .header1 {
        grid-template-columns: repeat(12, 1fr);
        grid-template-rows: repeat(1, fit-content(100%));
        grid-template-areas: 'logo user user user user user user user button-r1 button-r2 button-r3 button-r4';
    }
    .header2 {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(1, fit-content(100%));
        grid-template-areas: 'title1 title1 title1 title1 title1 time1 time1';
    }
    .user_body {
        grid-template-columns: repeat(6, 1fr);
        grid-template-rows: repeat(2, fit-content(100%));
        grid-template-areas:
            'block1 block2 block2 block2 block2 block2'
            'block4 block3 block3 block3 block3 block3';
    }

}
/*-----------------------------------------------------------------*/
