section.container {
    padding: 7rem 2rem;
    margin: 0 auto;
    width: 100%;
    overflow: auto;
}

button.warn {
    background-color: darkred;
    border: 0.1rem solid darkred;
    color: white;
}

h3 {
    margin-top: 2rem;
}

.centering {
    text-align: center;
}

ul.menu {
    /* horizontal list */
    display: flex;
    justify-content: center;
    list-style-type: none;
    padding: 0;
}

ul.menu li {
    margin-right: 1rem;
}

.svg {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    margin: 2.0rem auto;
}

/* name cards */
section.namecard {
    width: 60.0rem;
    margin: 5.0rem auto;
    padding: 0;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 5px #ccc;
}

section.namecard h1 {
    margin: 0;
    font-weight: 700;
    text-align: left;
}


article.namemain {
    padding: 10.0rem 2.0rem 30.0rem;
    margin: 1.0rem auto;
}


article.namesub {
    padding: 2.0rem 2.0rem 5.0rem;
    text-align: right;
    color: lightgray;
    background-color: darkblue;
    margin: 0;
}

article.namemain div.profile {
    float: left;
    width: 60%;
}

article.namemain div.chart {
    float: right;
    width: 40%;
    overflow: auto;
}

.fav-contents {
    /* margin-left: 30%; */
    margin-top: 1.0rem;
    margin-bottom: 2.0rem;
}

.fav-contents label {
    font-weight: 100;
}

.fav-contents span {
    font-weight: 700;
}

.profile-freespace p {
    text-align: left;
}

/* event page*/
article.event-main {
    float: left;
    width: 70%;
}

article.event-sub {
    float: right;
    width: 30%;
    padding-left: 1rem;
}

article.event-sub svg.svg {
    padding: 1rem;
}

/* from Azure */

body {
    margin: 20px 30px;
}

body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
}

section {
    padding-top: 41.7px;
}

a {
    color: darkblue;
}

a:hover {
    color: skyblue;
}

p {
    margin-bottom: 1rem;
}

header a {
    color: black
}



button.azure {
    background-color: darkblue;
    border: 0.1rem solid darkblue;
    color: white;
}

button.purple {
    background-color: indigo;
    border: 0.1rem solid indigo;
    color: white;
}

#main {
    margin: 0 auto;
    max-width: 941.7px;
}

.card {
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 5px #ccc;
    margin: 1.0rem 0;
    padding: 2.0rem;
}

.sub {
    text-align: right;
    color: gray;
}

.azure-enhance {
    color: darkblue;
    font-weight: bold;
}

.warn-enhance {
    color: orangered;
    font-weight: bold;
}

.text-small {
    font-size: 1.2rem;
}

h4.circle-title {
    text-align: center;
}

th.fit,
td.fit {
    white-space: nowrap;
    width: 0;
}

.gray-bg {
    background-color: gray;
}


.warning {
    color: red;
    background-color: yellow;
}

.gray-small {
    color: gray;
    font-size: 1.2rem;
}

.emphasize {
    font-weight: bold;
    font-size: 2rem;
}

table.event-detail tr,
table.event-detail td {
    width: 100%;
}

table.schedule {
    width: 100%;
    table-layout: fixed;
    margin-bottom: 10rem;
}
table.schedule td {
    vertical-align: baseline;
}

table form, table form input {
    margin: 0;
    vertical-align: bottom;
}


.wrap-button {
    text-align: center;
}

footer {
    text-align: center;
    margin: 20px auto;
}

/* Checkbox to Button*/
label.label {
    cursor: pointer;
    padding: 10px;
    border: 1px solid #434343;
    border-radius: 5px;
    display: inline;
    margin: 1px;
    font-weight: 500;
    white-space: nowrap;
}

input.c-checkbox {
    display: none;
}

.c-checkbox:checked+.label {
    color: white;
    background-color: darkblue;
    border: 1px solid darkblue;
}

#circle-check {
    display: flex;
    overflow-x: scroll;
    margin: 0;
    padding: 0;
}

/* Modal CSS */
.modal {
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
}

.modal__bg {
    background: rgba(0, 0, 0, 0.8);
    height: 100vh;
    position: absolute;
    width: 100vw;
}

.modal__content {
    background: #fff;
    left: 50%;
    padding: 34.17px;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 60%;
    max-height: 90%;
    overflow-y: scroll;
}

/* High Priority */
.offline {
    background-color: lemonchiffon;
}



/* For tablet or smartphone */
@media screen and (max-width: 767px) {
    #page {
        margin: 2rem 1rem;
    }

    h1 {
        font-size: 3.417rem;
        text-align: center;
    }

    .modal__content {
        padding: 20px;
        width: 100%;
    }

    /* name cards */
    section.namecard {
        width: 100%;
        margin: 5.0rem auto;
        padding: 0;
        background: #fff;
        border-radius: 5px;
        box-shadow: 0 2px 5px #ccc;
    }

    article.namemain div.profile {
        float: none;
        width: 100%;
        text-align: center;
    }

    article.namemain div.profile h1 {
        text-align: center;
    }

    article.namemain div.chart {
        float: none;
        width: 100%;
        padding: 2rem 3rem;
    }

    article.namemain {
        padding-bottom: 2rem;
    }
}