﻿@charset "UTF-8";
/* =========================================================
     Google Translate 穩定顯示版 v6（第一次翻譯提示）
     1. 隱藏 Google Translate 頂部橫幅 (完全交給 CSS)
     2. 畫面上使用固定自訂下拉選單，避免 Google 原生被重繪後消失
     3. 點選多頁 / 上一頁 BFCache 返回時，保留先前語系
     4. 第一次使用時，畫面選單預設顯示 Language
     5. 公告欄位支援 4 欄/5 欄雙模式：繁中顯示完整欄位，外語只隱藏發佈單位/公告類別
     6. 印尼語的「點閱數」欄位名稱固定顯示 Hits
     7. 第一次手動選擇語系時顯示翻譯範圍提示，按鈕或 10 秒倒數後關閉
     8. 提示關閉後寫入瀏覽器紀錄，後續使用不再顯示
     9. 本版所有修正皆集中於此 Google 翻譯語法檔，頁面原始碼無須另外調整
     ========================================================= */

html,
body,
html.translated-ltr,
html.translated-rtl,
body.translated-ltr,
body.translated-rtl {
    top: 0 !important;
    margin-top: 0 !important;
    position: relative !important;
    min-height: 100%;
}

    /*
   * 隱藏 Google Translate 頂部橫幅。
   */
    iframe.goog-te-banner-frame,
    iframe.goog-te-banner-frame.skiptranslate,
    iframe[name="goog-te-banner-frame"],
    .goog-te-banner-frame,
    .goog-te-banner-frame.skiptranslate,
    body > table.skiptranslate {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        max-width: 0 !important;
        max-height: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

.skiptranslate > iframe {
    z-index: 0 !important;
}

/*
   * Google 翻譯提示泡泡，避免干擾版面。
   */
#goog-gt-tt,
.goog-te-balloon-frame {
    display: none !important;
    visibility: hidden !important;
}

/*
   * 畫面上真正顯示的語系選單。
   */
#stust-google-translate-wrapper,
#stust-google-translate-wrapper.skiptranslate {
    display: inline-flex !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 178px !important;
    max-width: 220px !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 10px !important;
    padding: 0 !important;
    vertical-align: middle !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 30 !important;
}

    #stust-google-translate-wrapper .translate_icon {
        color: #ffffff !important;
        margin-right: 8px !important;
        font-size: 1.1rem !important;
        line-height: 1 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 auto !important;
    }

#stust_translate_select {
    display: inline-block !important;
    flex: 0 0 136px !important;
    width: 136px !important;
    min-width: 136px !important;
    max-width: 180px !important;
    height: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0.25rem 2rem 0.25rem 0.75rem !important;
    border: 1px solid #ced4da !important;
    border-radius: 0.8rem !important;
    background-color: #ffffff !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 16px 12px !important;
    color: #212529 !important;
    font-size: 1rem !important;
    font-family: inherit !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    cursor: pointer !important;
    outline: none !important;
    box-shadow: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}

    #stust_translate_select:focus {
        border-color: #86b7fe !important;
        outline: 0 !important;
        box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, .25) !important;
    }

    #stust_translate_select:hover {
        border-color: #adb5bd !important;
    }

/*
   * Google Translate 原生小工具仍保留在頁面內。
   */
#google_translate_element {
    position: absolute !important;
    left: -9999px !important;
    top: auto !important;
    width: 1px !important;
    height: 1px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    overflow: hidden !important;
    opacity: 0.01 !important;
    pointer-events: none !important;
}

    #google_translate_element .goog-te-gadget,
    #google_translate_element .goog-te-gadget.skiptranslate {
        display: block !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        color: transparent !important;
        font-size: 0 !important;
        line-height: 0 !important;
    }

.goog-te-menu-frame {
    max-width: 100% !important;
}

/*
   * 公告列表欄位語系控制：
   * 由 JS 依每一列實際欄位數判斷後加上 class。
   * 不用 nth-child 固定寫死，避免 4 欄版型誤把「點閱數」隱藏。
   */
.stust-announcement-lang-hidden-cell {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

/*
   * 第一次使用翻譯功能的提示視窗。
   */
body.stust-translate-notice-open {
    overflow: hidden !important;
}

#stust-translate-first-use-notice {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px !important;
    background: rgba(0, 0, 0, 0.58) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

    #stust-translate-first-use-notice.stust-translate-notice-hidden {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    #stust-translate-first-use-notice .stust-translate-notice-dialog {
        width: min(720px, 100%) !important;
        max-height: calc(100vh - 40px) !important;
        overflow-y: auto !important;
        box-sizing: border-box !important;
        margin: 0 !important;
        padding: 28px 30px 24px !important;
        border: 0 !important;
        border-radius: 16px !important;
        background: #ffffff !important;
        color: #212529 !important;
        box-shadow: 0 16px 45px rgba(0, 0, 0, 0.3) !important;
        text-align: center !important;
    }

    #stust-translate-first-use-notice .stust-translate-notice-text {
        margin: 0 0 22px !important;
        text-align: center !important;
    }

        #stust-translate-first-use-notice .stust-translate-notice-text p {
            margin: 0 0 10px !important;
            padding: 0 !important;
            color: #212529 !important;
            font-family: inherit !important;
            font-size: 1rem !important;
            font-weight: 400 !important;
            line-height: 1.65 !important;
            text-align: center !important;
        }

            #stust-translate-first-use-notice .stust-translate-notice-text p:last-child {
                margin-bottom: 0 !important;
            }

#stust-translate-notice-confirm {
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 180px !important;
    min-height: 52px !important;
    margin: 0 auto !important;
    padding: 8px 24px !important;
    border: 1px solid #0d6efd !important;
    border-radius: 8px !important;
    background: #0d6efd !important;
    color: #ffffff !important;
    font-family: inherit !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

    #stust-translate-notice-confirm:hover {
        background: #0b5ed7 !important;
        border-color: #0a58ca !important;
    }

    #stust-translate-notice-confirm:focus-visible {
        outline: 3px solid rgba(13, 110, 253, 0.35) !important;
        outline-offset: 3px !important;
    }

    #stust-translate-notice-confirm span {
        display: block !important;
        color: inherit !important;
        text-align: center !important;
    }

#stust-translate-notice-countdown {
    margin-top: 12px !important;
    color: #6c757d !important;
    font-family: inherit !important;
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
    text-align: center !important;
}

@media (max-width: 991px) {
    #stust-google-translate-wrapper,
    #stust-google-translate-wrapper.skiptranslate {
        display: flex !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
        margin: 0 0 20px 0 !important;
    }

    #stust_translate_select {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: auto !important;
        line-height: 2 !important;
        padding-top: 0.35rem !important;
        padding-bottom: 0.35rem !important;
    }

    #stust-translate-first-use-notice {
        padding: 14px !important;
    }

        #stust-translate-first-use-notice .stust-translate-notice-dialog {
            max-height: calc(100vh - 28px) !important;
            padding: 22px 18px 20px !important;
            border-radius: 12px !important;
        }

        #stust-translate-first-use-notice .stust-translate-notice-text p {
            font-size: 0.95rem !important;
            line-height: 1.55 !important;
        }
}