/* Common Standard Styles */
/* Used across all the pages */
html:lang(en) {
    font-family: 'Courier New', Courier, monospace;
}

html:lang(zh) {
    font-family: 'Noto Sans Mono CJK TC';
}

/* Header Styles */
#header {
    display: inline-block;
    margin: 10px 0;
    width: 100%;
    text-align: center;
}
    #header:lang(en) {
        font-family: 'Courier New', Courier, monospace;
    }

    #header:lang(zh) {
        font-family: 'Noto Sans Mono CJK TC';
    }

    #header .zh {
        font-family: 'Noto Sans Mono CJK TC';
        font-size: 14px;
    }

    #header a {
        text-decoration: none;
        color: black;
    }

    #header a:hover {
        color: rgb(44, 44, 44);
        font-style: italic;
    }

    #header #btn-help {
        position: absolute;
        right: 20vw;
        color: rgb(168, 168, 168);
    }

    #header #btn-help:hover {
        color: rgb(123, 123, 123);
    }

    #header #help {
        display: none;
        position: fixed; /* Stay in place */
        text-align: left;
        z-index: 1; /* Sit on top */
        left: 0;
        top: 0;
        width: 100%; /* Full width */
        height: 100%; /* Full height */
        overflow: auto; /* Enable scroll if needed */
        background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
    }
        #help #help-desc {
            display: block;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            object-fit: cover;
            background-color: #fefefe;
            padding: 2vw;
            width: 50vw;
        }

.lang {
    position: absolute;
    right: 20%;
}

    .lang a {
            font-size: 16px;
            text-align: center;
            padding: 14px 16px;
    }

/* Navbar container */
.navbar {
    width: 60%;
    padding: 0 20%;
    overflow: hidden;
}
    
    .navbar a {
        float: left;
        font-size: 16px;
        text-align: center;
        padding: 14px 16px;
        text-decoration: none;
    }

.dropdown {
    float: left;
    overflow: hidden;
}

    .dropdown .btn-drop {
        font-size: 16px;
        border: none;
        outline: none;
        padding: 14px 16px;
        background-color: inherit;
        font-family: inherit;
        margin: 0;
    }

.dropdown-links {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
}

    .dropdown-links a {
        float: none;
        padding: 12px 16px;
        display: block;
        text-align: left;
    }

    .dropdown:hover .dropdown-links {
        display: block;
    }

/* Footer Styles */
footer {
    text-align: center;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 50px;
}

    footer:lang(en) {
        font-family: 'Courier New', Courier, monospace;
    }

    footer:lang(zh) {
        font-family: 'Noto Sans Mono CJK TC';
    }

body {
    position: relative;
}

body::after {
    content: '';
    display: block;
    padding-top: 10px;
    height: 50px; /* Set same as footer's height */
}

/* Content Styles */
#content {
    width: 60%;
    padding: 0 20%;
}

    #content:lang(en) {
        font-family: 'Courier New', Courier, monospace;
    }

    #content:lang(zh) {
        font-family: 'Noto Sans Mono CJK TC';
    }

    #content div:lang(en) {
        font-family: 'Courier New', Courier, monospace;
    }

    #content div:lang(zh) {
        font-family: 'Noto Sans Mono CJK TC';
    }

#content a {
    color: rgb(200, 120, 135);
    text-decoration: none;
}

    #content a:lang(en) {
        font-family: 'Courier New', Courier, monospace;
    }

    #content a:lang(zh) {
        font-family: 'Noto Sans Mono CJK TC';
    }

#content a:hover {
    color: rgb(160, 85, 100);
    font-style: italic;
}

#content button {
    padding: 8px 16px;
    font-size: 16px;
    color: rgba(255, 255, 255, 1);
    background-color: rgba(200, 120, 135, 0.5);
    border: none;
    border-radius: 5px;
}

    #content:lang(en) button {
        font-family: 'Courier New', Courier, monospace;
    }

    #content:lang(zh) button {
        font-family: 'Noto Sans Mono CJK TC';
    }

    div:lang(en) button {
        font-family: 'Courier New', Courier, monospace;
    }

    div:lang(zh) button {
        font-family: 'Noto Sans Mono CJK TC';
    }

#content button:hover {
    padding: 8px 16px;
    font-size: 16px;
    color: rgba(255, 255, 255, 1);
    background-color: rgba(160, 110, 120, 0.5);
    border: none;
    border-radius: 5px;
}

    #content:lang(en) button:hover {
        font-family: 'Courier New', Courier, monospace;
    }

    #content:lang(zh) button:hover {
        font-family: 'Noto Sans Mono CJK TC';
    }

#content .single-img {
    display: block;
    width: 90%;
    margin: 5px auto;
}

#content table {
    margin: 0 auto;
    width: 100%;
}

    table .th {
        font-style: bold;
        text-align: center;
        text-decoration: underline;
    }

    table .center {
        text-align: center;
    }

    table .left {
        text-align: left;
    }

    table .right {
        text-align: right;
    }

#content .title {
    font-size: 28px;
    font-weight: bold;
}

#content .section-title {
    font-weight: bold;
    margin: 15px 0px 5px 0px;
}

    #content .section-title:lang(en) {
        font-family: 'Courier New', Courier, monospace;
    }

    #content .section-title:lang(zh) {
        font-family: 'Noto Sans Mono CJK TC';
    }

#content .img-grid {
    display: grid;
    column-gap: 0px;
    row-gap: 8px;
}
    .two-x-two {
        grid-template-columns: auto auto;
    }

        .two-x-two .row {
            grid-column: 1 / span 2;
        }

    .three-x-two {
        grid-template-columns: auto auto auto;
    }

        .three-x-two .row {
            grid-column: 1 / span 3;
        }

    .four-x-two {
        grid-template-columns: auto auto auto auto;
    }

        .four-x-two .row {
            grid-column: 1 / span 4;
        }

    .five-x-two {
        grid-template-columns: auto auto auto auto auto;
    }

        .five-x-two .row {
            grid-column: 1 / span 5;
        }

    .six-x-two {
        grid-template-columns: auto auto auto auto auto auto;
    }

        .six-x-two .row {
            grid-column: 1 / span 6;
        }

    .img-grid img {
        width: 90%;
        aspect-ratio: 1;
        object-fit: cover;
    }

    .img-grid div {
        margin: none;
        padding: none;
    }

    .img-grid .fullsize {
        display: none;
        position: fixed; /* Stay in place */
        z-index: 1; /* Sit on top */
        left: 0;
        top: 0;
        width: 100%; /* Full width */
        height: 100%; /* Full height */
        overflow: auto; /* Enable scroll if needed */
        background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
    }
    
        .fullsize img {
            display: block;
            position: absolute;
            aspect-ratio: auto;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            object-fit: cover;
            background-color: #fefefe;
            padding: 2vw;
        }

        .fullsize .landscape {
            width: 60vw;
        }

        .fullsize .portrait {
            width: 30vw;
        }

        .fullsize .img-desc {
          color: #ffffff;
          position: fixed;
          width: 100%;
          text-align: center;
          z-index: 2;
          top: 25px;
          font-size: 16px;
        }

        .fullsize .img-desc:lang(en) {
            font-family: 'Courier New', Courier, monospace;
        }

        .fullsize .img-desc:lang(zh) {
            font-family: 'Noto Sans Mono CJK TC';
        }