* {
    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;
    background-color: #3f3f3f;
}
/*-----------------------------------------------------------------*/
.page_wrapper {
    grid-area: wrapper;
    display: grid;
    transition-duration: 0.4s;
    grid-template-columns: 1fr;
    grid-template-rows:
            fit-content(100%)
            fit-content(100%)
            fit-content(100%);
    grid-template-areas:
            'header1'
            'header2'
            'user_body';
    gap: 0.2rem;
}
.page_wrapper div {
    text-align: center;
    height: fit-content;
}

/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/
.button {
    cursor: pointer;
    transition-duration: 0.4s;
    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;
    vertical-align: middle;
}
.item-center {
    grid-area: user;
    text-align: center;
    background-color: #eeeeee;
    border-radius: 2px;
    padding: 0.2rem 0.5rem;
}
.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;
    transition-duration: 0.4s;
    /*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;
    transition-duration: 0.4s;
    /*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: user_body;
    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:
        'block2'
        'block3'
        'block4'
        'block5'
        'election_block';
    background-color: #fff4da;
    transition-duration: 0.4s;
}

/*------------------------------*/
.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;
    margin-top: 0.2rem;
}

.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;
}
/*------------------------------*/
.block4 {
    grid-area: block4;
    display: grid;
    gap: 0.1rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'button_tt'
        'election-table'
        'button_t';
    background-color: #e12929;
    color: #000000;
    font-size: 1rem;
}

.block4 .button_tt {
    grid-area: button_tt;
    display: grid;
    gap: 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: fit-content(100%);
    grid-template-areas:
        'button_tt1';
    height: fit-content;
    background-color: #f8e1af;
    color: #006de8;
    font-size: 1.4rem;
}

.block4 .election-table {
    grid-area: election-table;
    font-size: 1.6rem;
}
.tabulator-row .tabulator-responsive-collapse table {
    font-size: 1.2rem;
}

.block4 .button_t {
    grid-area: button_t;
    display: grid;
    gap: 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: fit-content(100%);
    grid-template-areas:
        'button_t1'
        'button_t2'
        'button_t3'
        'button_t4'
        'button_t5';
    height: fit-content;
    background-color: #f8e1af;
    color: #006de8;
    font-size: 1.4rem;
}

/*------------------------------*/
div#election-table_pub{
    font-size: 1.2rem;
}

/*------------------------------*/
.block5 {
    grid-area: block5;
    display: grid;
    gap: 0.1rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'button_tt'
        'election-table'
        'button_t';
    background-color: #e12929;
    color: #000000;
    font-size: 1rem;
}

.block5 .button_tt {
    grid-area: button_tt;
    display: grid;
    gap: 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: fit-content(100%);
    grid-template-areas:
        'button_tt1';
    height: fit-content;
    background-color: #f8e1af;
    color: #006de8;
    font-size: 1.4rem;
}

.block5 .election-table {
    grid-area: election-table;
}
.tabulator-row .tabulator-responsive-collapse table {
    font-size: 1.2rem;
}

.block5 .button_t {
    grid-area: button_t;
    display: grid;
    gap: 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: fit-content(100%);
    grid-template-areas:
        'button_t5';
    height: fit-content;
    background-color: #f8e1af;
    color: #006de8;
    font-size: 1.4rem;
}


/*------------------------------*/
.election_block {
    grid-area: election_block;
    display: grid;
    gap: 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
    'election_basic_info';
    background-color: #fff4da;
    color: #000000;
    font-size: 1.4rem;
    text-align: center;
}
/*------------------------------*/
.election_basic_info {
    grid-area: election_basic_info;
    display: grid;
    gap: 0.2rem;
    padding: 0.1rem 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
    'e_id_block'
    'e_short_name_block'
    'e_name_block'
    'e_type_block'
    'e_subtype_block'
    'e_region_id_block'
    'e_time_zone_block'
    'e_start_date_block'
    'e_end_date_block';
    background-color: #fff4da;
    color: #000000;
    font-size: 1.4rem;
    text-align: center;
}
.election_basic_info .e_label {
    grid-area: e_label1;
    font-size: 0.8rem;
    color: #0053b2;
}
.election_basic_info .e_name{
    grid-area: e_name1;
    font-size: 1.4rem;
    color: #000000;
}

.election_basic_info .e_id_block {
    grid-area: e_id_block;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label1'
        'e_name1';
    background-color: #ecc873;
}
.election_basic_info .e_id_block .e_name {
    grid-area: e_name1;
    font-family: monospace;
    font-size: 1.2rem;
    color: red;
}

.election_basic_info .e_short_name_block {
    grid-area: e_short_name_block;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label1'
        'e_name1';
    background-color: #ecc873;
}
.election_basic_info .e_short_name_block .e_name{
    font-size: 1.6rem;
}

.election_basic_info .e_name_block {
    grid-area: e_name_block;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label1'
        'e_name1';
    background-color: #ecc873;
}
.election_basic_info .e_name_block .e_name{
    font-size: 1.6rem;
}

.election_basic_info .e_type_block{
    grid-area: e_type_block;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label1'
        'e_name1';
    background-color: #ecc873;
}
.election_basic_info .e_subtype_block{
    grid-area: e_subtype_block;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label1'
        'e_name1';
    background-color: #ecc873;
}
.election_basic_info .e_region_id_block{
    grid-area: e_region_id_block;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label1'
        'e_name1';
    background-color: #ecc873;
}

.election_basic_info .e_time_zone_block{
    grid-area: e_time_zone_block;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label1'
        'e_name1';
    background-color: #ecc873;
}

.election_basic_info .e_start_date_block {
    grid-area: e_start_date_block;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label1'
        'e_name1';
    background-color: #ecc873;
}
.election_basic_info .e_start_date_block .e_name{
    color: #0f7200;
}

.election_basic_info .e_end_date_block {
    grid-area: e_end_date_block;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label1'
        'e_name1';
    background-color: #ecc873;
}
.election_basic_info .e_end_date_block .e_name{
    color: #c20000;
}
/*------------------------------*/
/*------------------------------*/
.election_candidates_title {
    grid-area: election_candidates_title;
    display: grid;
    gap: 0.2rem;
    padding: 0.1rem 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
    'e_candidate_title_block';
    background-color: #fff4da;
    color: #000000;
    font-size: 1.4rem;
    text-align: center;
}
.e_candidate_title_block{
    grid-area: e_candidate_title_block;
    display: grid;
    padding: 0.8rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_name2';
    background-color: #ecc873;
    text-align: center;
}
.e_candidate_title_block .e_name2{
    grid-area: e_name2;
    font-family: monospace;
    color: #006de8;
    font-size: 2rem;
}
/*------------------------------*/
.election_candidates {
    grid-area: election_candidates;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
    'e_candidate_block';
    background-color: #fff4da;
    color: #000000;
    font-size: 1.4rem;
    text-align: center;
}
.e_candidate_block{
    grid-area: e_candidate_block;
    display: grid;
    gap: 0.2rem;
    padding: 0.1rem 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
    'e_can_name_block'
    'e_can_vote_block'
    'e_can_relative_block';
    background-color: #fff4da;
    font-size: 1.6rem;
    text-align: center;
}
.e_candidate_block .e_can_name_block{
    grid-area: e_can_name_block;
    display: grid;
    /*margin: 0.05rem 0.2rem;*/
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label_a'
        'e_name3';
    background-color: #fff4da;
    font-size: 1.6rem;
    text-align: center;
}
.e_candidate_block .e_can_name_block .e_label_a{
    grid-area: e_label_a;
    font-size: 0.9rem;
    background-color: #ecc873;
    color: #0053b2;
}
.e_candidate_block .e_can_name_block .e_name{
    grid-area: e_name3;
    font-size: 1.6rem;
    background-color: #ecc873;
    color: black;
    padding-bottom: 0.2rem;
}

.e_candidate_block .e_can_vote_block{
    grid-area: e_can_vote_block;
    display: grid;
    /*margin: 0.05rem 0.2rem;*/
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label_b'
        'e_total_vote';
    background-color: #fff4da;
    font-size: 1.6rem;
    text-align: center;
}
.e_candidate_block .e_can_vote_block .e_label_b{
    grid-area: e_label_b;
    font-size: 0.9rem;
    background-color: #ecc873;
    color: #0053b2;
}
.e_candidate_block .e_can_vote_block .e_total_vote{
    grid-area: e_total_vote;
    font-size: 1.6rem;
    background-color: #ecc873;
    color: red;
    padding-bottom: 0.2rem;
}

.e_candidate_block .e_can_relative_block{
    grid-area: e_can_relative_block;
    display: grid;
    /*margin: 0.05rem 0.2rem;*/
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label_c'
        'e_relative_vote';
    background-color: #fff4da;
    font-size: 1.6rem;
    text-align: center;
}
.e_candidate_block .e_can_relative_block .e_label_c{
    grid-area: e_label_c;
    font-size: 0.9rem;
    background-color: #ecc873;
    color: #0053b2;
}
.e_candidate_block .e_can_relative_block .e_relative_vote{
    grid-area: e_relative_vote;
    font-size: 1.6rem;
    background-color: #ecc873;
    color: red;
    padding-bottom: 0.2rem;
}
/*------------------------------*/
/*------------------------------*/
.election_voters_title {
    grid-area: election_voters_title;
    display: grid;
    gap: 0.2rem;
    padding: 0.1rem 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
    'e_voter_title_block';
    background-color: #fff4da;
    color: #000000;
    font-size: 1.4rem;
    text-align: center;
}
.e_voter_title_block{
    grid-area: e_voter_title_block;
    display: grid;
    padding: 0.8rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_name';
    background-color: #ecc873;
    text-align: center;
}
.e_voter_title_block .e_name{
    grid-area: e_name;
    font-family: monospace;
    color: #006de8;
    font-size: 2rem;
}
/*------------------------------*/
/*------------------------------*/
/*------------------------------*/
.election_voters_info {
    grid-area: election_voters_info;
    display: grid;
    gap: 0.2rem;
    padding: 0.1rem 0.2rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
    'e_registered_voters_block'
    'e_max_voters_block'
    'e_validations_block';
    background-color: #fff4da;
    color: #000000;
    font-size: 1.4rem;
    text-align: center;
}
.election_voters_info .e_label {
    grid-area: e_label1;
    font-size: 0.8rem;
    color: #0053b2;
}
.election_voters_info .e_name{
    grid-area: e_name1;
    font-size: 1.4rem;
    color: #000000;
}

.election_voters_info .e_registered_voters_block {
    grid-area: e_registered_voters_block;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label1'
        'e_name1';
    background-color: #ecc873;
}
.election_voters_info .e_registered_voters_block .e_name {
    grid-area: e_name1;
    font-family: monospace;
    font-size: 1.2rem;
    color: red;
}

.election_voters_info .e_max_voters_block {
    grid-area: e_max_voters_block;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label1'
        'e_name1';
    background-color: #ecc873;
}
.election_voters_info .e_max_voters_block .e_name {
    grid-area: e_name1;
    font-family: monospace;
    font-size: 1.2rem;
    color: red;
}

.election_voters_info .e_validations_block {
    grid-area: e_validations_block;
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label1'
        'e_name1';
    background-color: #ecc873;
}
.election_voters_info .e_validations_block .e_name {
    grid-area: e_name1;
    font-family: monospace;
    font-size: 1.2rem;
    color: red;
}

/*------------------------------*/
/*------------------------------*/
.election_vote_data {
    grid-area: election_vote_data;
    display: grid;
    gap: 0.2rem;
    padding: 0.1rem 0.2rem;
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: auto;
    grid-template-areas:
    'e_vor_block';
    background-color: #fff4da;
    color: #000000;
    font-size: 1.4rem;
    text-align: center;
}
.election_vote_data .e_label {
    grid-area: e_label1;
    font-size: 1rem;
    color: #0053b2;
}
.election_vote_data .e_name{
    font-family: monospace;
    font-size: 1.4rem;
    color: #000000;
}

.election_vote_data .e_vor_block {
    display: grid;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'e_label1'
        'e_name';
    background-color: #ecc873;
}

/*------------------------------*/
/*------------------------------*/
.block7 {
    grid-area: block7;
    display: grid;
    gap: 0.1rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
            'e_name_block';
    background-color: #fff4da;
    font-family: monospace;
}

.block7 .e_name_block{
    grid-area: e_name_block;
    display: grid;
    gap: 0.0rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
            'e_label1 e_label1 e_name1 e_name1 e_name1';
    background-color: #fff4da;
    align-content: center;
}

.block7 .e_name_block .e_label {
    grid-area: e_label1;
    display: grid;
    gap: 0.1rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
            'e_label1';
    background-color: #fff4da;
    font-size: 1rem;
    color: #006de8;
    text-align: right;
    padding-top: 0.7rem;
    padding-right: 0.4rem;
}

.block7 .e_name_block .e_name {
    grid-area: e_name1;
    display: grid;
    gap: 0.1rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
            'e_name1';
    background-color: #fff4da;
    font-size: 1.8rem;
    color: rgba(2, 4, 17, 0.87);
}
/*------------------------------*/
/*------------------------------*/
.about_voting{
    font-size: 2rem;
    background-color: #80d9ff;
    padding: 1em;
    text-align: center;
}

.v_code {
    grid-area: v_code;
    display: grid;
    gap: 0.6rem;
    padding: 0.0rem 0.0rem;
    grid-template-columns: repeat(auto-fill, 110px);
    grid-auto-rows: auto;
    grid-template-areas:
        'input_block';
    background-color: #3f3f3f;
    color: #000000;
    font-size: 1.4rem;
    text-align: center;
}

.input_block {
    display: grid;
    gap: 0.4rem;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    grid-template-areas:
        'v_label'
        'ver_code'
        'input';
    background-color: #3f3f3f;
    color: #000000;
    font-size: 1.4rem;
    text-align: center;
    margin: 0.8rem 0.0rem;
}

.v_label{
    padding: 0.0em 0.2em;
    font-family: monospace;
    font-size: 1rem;
    width: 107px;
    background-color: #ffd780;
    color: #0053b2;
    text-align: center;
}

.ver_code {
    padding: 0.0em 0.0rem;
    font-family: monospace;
    font-size: 2.75rem;
    width: 110px;
    background-color: #fff4da;
    color: #000000;
    text-align: center;
}

.input_code {
    padding: 0.0em 0.0rem;
    font-family: monospace;
    font-size: 2.75rem;
    width: 110px;
    background-color: #fff4da;
    color: #000000;
    text-align: center;
}

.submit_block{
    display: grid;
    grid-template-columns: repeat(auto-fill, 1fr);
    grid-auto-rows: auto;
    grid-template-areas:
        'button';

}
.submit_block .button{
    cursor: pointer;
    transition-duration: 0.4s;
    padding: 0.7rem 0.5rem;
    border-radius: 6px;
    text-align: center;
    text-decoration-line: none;
    background-color: #eeeeee;
    font-size: 2.75rem;

}
.submit_block .button:hover {
    background-color: #008CBA;
    color: white;
}


@media screen and (min-width: 40em) {
    .v_code{
        grid-template-columns: repeat(4, 1fr);
    }
}

@media screen and (min-width: 62em) {
    .v_code {
        grid-template-columns: repeat(8, 1fr);
    }
}



/*------------------------------*/

footer {
    grid-area: footer;
    background-color: #e3cf84;
    margin-top: auto;
}
/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/
@media screen and (min-width: 18em) {
    .election_vote_data {
        grid-template-columns: repeat(3, 1fr);
    }
}
/*-----------------------------------------------------------------*/
@media screen and (min-width: 25em) {
    .election_vote_data {
        grid-template-columns: repeat(4, 1fr);
    }
}
/*-----------------------------------------------------------------*/
@media screen and (min-width: 32em) {
    .election_vote_data {
        grid-template-columns: repeat(5, 1fr);
    }
}
/*-----------------------------------------------------------------*/
/*-----------------------------------------------------------------*/
@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'
    'user_body';
    }
    .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(5, fit-content(100%));
        grid-template-areas:
            'block2 block2 block2 block2 block2 block2'
            'block3 block3 block3 block3 block3 block3'
            'block4 block4 block4 block4 block4 block4'
            'block5 block5 block5 block5 block5 block5'
            'election_block election_block election_block election_block election_block election_block';
    }
    .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: left;
        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;
    }
    /*----------------------------------------*/
    div#election-table_pub{
        font-size: 1.2rem;
    }
    /*----------------------------------------*/
    .block4 .button_tt {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(1, fit-content(100%));
        grid-template-areas:
        'button_tt1';
        font-size: 1.2rem;
    }

    .block4 .election-table {
        font-size: 1.4rem;
    }

    .block4 .button_t {
        grid-template-columns: repeat(5, 1fr);
        grid-template-rows: repeat(1, fit-content(100%));
        grid-template-areas:
        'button_t1, button_t2, button_t3, button_t4, button_t5';
        font-size: 1.2rem;
    }
    /*----------------------------------------*/
    .block5 .button_tt {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(1, fit-content(100%));
        grid-template-areas:
        'button_tt1';
        font-size: 1.2rem;
    }

    .block5 .election-table {
        font-size: 1.1rem;
    }

    .block5 .button_t {
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(1, fit-content(100%));
        grid-template-areas:
        'button_t5';
        font-size: 1.2rem;
    }

    .election_basic_info {
        gap: 0.2rem;
        padding: 0.1rem 0.2rem;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(3, fit-content(100%));
        grid-template-areas:
        'e_id_block         e_short_name_block  e_name_block'
        'e_type_block       e_subtype_block     e_region_id_block'
        'e_time_zone_block  e_start_date_block  e_end_date_block';
    }
    .e_candidate_block{
        grid-template-areas:
    'e_can_name_block  e_can_vote_block  e_can_relative_block';

    }
    .election_voters_info {
        grid-template-areas:
            'e_registered_voters_block  e_max_voters_block  e_validations_block';
    }

    .election_vote_data {
        grid-template-columns: repeat(8, 1fr);
    }


}
/*-----------------------------------------------------------------*/
@media screen and (min-width: 50em) {
    .election_vote_data {
        grid-template-columns: repeat(10, 1fr);
    }
}
/*-----------------------------------------------------------------*/
@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';
    }

    .election_vote_data {
        grid-template-columns: repeat(12, 1fr);
    }
}
/*-----------------------------------------------------------------*/
@media screen and (min-width: 80rem) {
    .election_vote_data {
        grid-template-columns: repeat(15, 1fr);
    }
}
/*-----------------------------------------------------------------*/
@media screen and (min-width: 100em) {
    .election_vote_data {
        grid-template-columns: repeat(20, 1fr);
    }
}
/*-----------------------------------------------------------------*/
@media screen and (min-width: 120em) {
    .election_vote_data {
        grid-template-columns: repeat(25, 1fr);
    }
}
/*-----------------------------------------------------------------*/
@media screen and (min-width: 140em) {
    .election_vote_data {
        grid-template-columns: repeat(30, 1fr);
    }
}
/*-----------------------------------------------------------------*/
@media screen and (min-width: 160em) {
    .election_vote_data {
        grid-template-columns: repeat(35, 1fr);
    }
}
/*-----------------------------------------------------------------*/
@media screen and (min-width: 175em) {
    .election_vote_data {
        grid-template-columns: repeat(40, 1fr);
    }
}
/*-----------------------------------------------------------------*/
