html, body {
    margin: 0;
    padding: 0;
    scroll-behavior: smooth;

    font-size: 18px;
    font-family: "Open Sans", sans-serif;
    line-height: 1.25;
}

/* ==============================
        initial style
============================== */
input {
    font-size: 1em !important;
    text-align: center;
    border-color: -internal-light-dark(rgb(118, 118, 118), rgb(133, 133, 133));
}
input:focus-visible {
    outline: -webkit-focus-ring-color auto 0px;
}



.d-flex {
    display: flex;
}
.flex-column {
    flex-direction: column;
}

/* backgroud color */
.bg-black {
    background-color: black;
}
.bg-white {
    background-color: white !important;
}
.bg-cadetblue {
    background-color: cadetblue;
}
.bg-red {
    background-color: rgb(255, 72, 66);
}
.bg-green {
    background-color: rgb(34, 154, 22);
}
.bg-blue {
    background-color: rgb(25, 57, 183);
}

/* text color */
.color-white {
    color: white;
}
.color-red {
    color: red !important;
}
.color-black {
    color: black !important;
}

/* width */
.w-auto {
    width: auto;
    width: -webkit-fill-available;
}
.w-100 {
    width: 100%;
}
.w-20 {
    width: 20px;
}
.h-20 {
    height: 20px;
}

/* text alignment */
.text-center {
    text-align: center;
}
.text-right {
    text-align: right !important;
}

/* font size */
.font-_75 {
    font-size: .75em;
}
.font-1 {
    font-size: 1em;
}
.font-1_5 {
    font-size: 1.5em;
}
.font-2 {
    font-size: 2em;
}

/* margin */
.mt-1 {
    margin-top: 10px;
}
.mr-2 {
    margin-right: 20px;
}
.m-auto {
    margin: auto;
}

/* padding */
.p-0 {
    padding: 0px !important;
}
.p-1 {
    padding: 10px !important;
}
.py-3 {
    padding-top: 30vh;
    padding-bottom: 30vh;
}
.p-reset {
    padding: .35em;
}
.px-1 {
    padding-right: 20px;
    padding-left: 20px;
}

/* border radius */
.border-1 {
    border-radius: 10px;
}

/* cursor */
.cursor-pointer {
    cursor: pointer;
}


/* ==============================
    table responsive style
============================== */
table {
    border: 1px solid #ccc;
    border-collapse: collapse;
    margin: 0;
    padding: 0;
    width: 100%;
    table-layout: fixed;
}

table .title {
    font-size: 1.5em;
    margin: .5em 0 .15em;
    margin-top: 2em;
}

table .current-time {
    font-size: 1em;
}
  
table tr {
    border: 1px solid #ddd;
    padding: .35em;
} 
  
table th,
table td {
    padding: .625em;
    text-align: center;
}

table th {
    font-size: .85em;
    letter-spacing: .1em;
    text-transform: uppercase;
}
  
@media screen and (max-width: 600px) {
    table {
        border: 0;
    }
    
    table caption {
        font-size: 1.3em;
    }

    table thead {
        border: none;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }

    table tr {
        border-bottom: 3px solid #ddd;
        display: block;
        margin-bottom: .625em;
    }

    table td {
        border-bottom: 1px solid #ddd;
        display: block;
        font-size: .8em;
        text-align: right;
    }

    table td::before {
        /*
        * aria-label has no advantage, it won't be read inside a table
        content: attr(aria-label);
        */
        content: attr(data-label);
        float: left;
        font-weight: bold;
        text-transform: uppercase;
    }

    table td:last-child {
        border-bottom: 0;
    }
}

