@charset 'utf-8';

/* ===================================================== */
/* OVERALL */

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
    overflow-y: scroll;
}

/* ------------------------------------------ */

.header-title {
    padding: 21px 34px;
    font-weight: bold;
    font-size: 20pt;
}

.header-nav {
    padding: 21px 34px;
}

.header-nav ul {
    display: block;
    margin: 0;
    padding-inline-start: 1em;
}


/* ------------------------------------------ */

.main-content {
    width: 100%;
    max-width: 600px;
}

.table {
    border-collapse: collapse;
}

.table>tbody>tr>th {
    padding: 5px 8px;
    border-width: 1px;
    border-style: solid;
    text-align: left;
}

.table>tbody>tr>td {
    padding: 5px 8px;
    border-width: 1px;
    border-style: solid;
}

.copyright {
    padding: 8px 13px;
    text-align: center;
}

/* ========================================== */
/* LAYOUT */

@media (min-width: 750px) {

    /* ----------------------------------------- */
    /* ROOT GRID */

    body {
        display: grid;
        grid-template-columns: 200px auto;
        grid-template-rows: 1fr auto;
        width: 100%;
        height: auto;
        min-height: 100%;
    }

    main {
        grid-row: 1 / 2;
        grid-column: 2 / 3;
        padding: 34px 55px;
    }

    footer {
        grid-row: 2 /3;
        grid-column: 1 / 3;
        border-top-width: 2px;
        border-top-style: solid;
    }

    /* ----------------------------------------- */
    /* HEADER GRID */

    header {
        grid-row: 1 / 2;
        grid-column: 1 / 2;
        border-right-width: 2px;
        border-right-style: solid;
        grid-template-rows: auto 1fr;
        display: grid;
    }

    .header-title {
        grid-row: 1 /2;
        grid-column: 1 / 2;
        padding: 34px 34px;
        text-align: center;
        letter-spacing: 0.1em;
        border-bottom-width: 2px;
        border-bottom-style: solid;
    }

    .header-nav {
        grid-row: 2 / 3;
        grid-column: 1/ 2;
    }

    .header-nav li {
        margin: 1em 0;
    }

    .heading .heading-sub {
        float: right;
        bottom: 0;
    }

}

@media (max-width: 749px) {

    /* ----------------------------------------- */
    /* ROOT GRID */

    body {
        display: grid;
        grid-template-columns: auto;
        grid-template-rows: auto 1fr auto;
        width: 100%;
        height: auto;
        min-height: 100%;
    }

    header {
        grid-row: 1 / 2;
        grid-column: 1 / 2;
    }

    main {
        grid-row: 2 / 3;
        grid-column: 1 / 2;
        padding: 21px 34px;
    }

    footer {
        grid-row: 3 / 4;
        grid-column: 1 / 2;
    }

    /* ----------------------------------------- */
    /* HEADER GRID */

    .header-title {
        padding: 13px 34px 0px 34px;
        font-size: 17pt;
    }

    .header-nav {
        padding: 0 34px 8px 34px;
        border-bottom-width: 4px;
        border-bottom-style: solid;
    }

    .header-nav ul {
        display: flex;
        flex-wrap: wrap;
        padding-inline-start: 0;
        list-style: none;
        margin: 0 -8px;
    }

    .header-nav li {
        margin: 4px 8px;
        width: fit-content;
        min-width: fit-content;
    }

    .header-nav a {
        font-size: 13pt;
    }

    /* --------------------------------------- */

    .table-flex,
    .table-flex>tbody,
    .table-flex>tbody>tr {
        display: block;
    }


    .table-flex>tbody>tr>th {
        display: block;
        border-width: 0 0 1px 0;
        border-style: solid;
    }

    .table-flex>tbody>tr>td {
        display: block;
        border-width: 0 0 1px 0;
    }

    .main-content {
        margin: 0 auto;
    }

}

/* ========================================== */
/* LAYOUT */