@charset "utf-8";
/* =========================================================
   bs5_base.css
   Bootstrap 5.2.3 全域外觀設定：讓 BS5 的預設值與原網站（BS3 時期）一致。
   放在 bootstrap.min.css 之後、網站 CSS（base / style）之前載入。
   只使用 BS5 提供的 CSS 變數與一般 CSS，不修改 Bootstrap 套件本身。
   ========================================================= */

/* ---------- 字級、行高、顏色 ---------- */
:root {
    --bs-body-font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    --bs-body-font-size: 14px;
    --bs-body-line-height: 1.428571429;
    --bs-body-color: #333;
    --bs-link-color: #337ab7;
    --bs-link-hover-color: #23527c;
}

a {
    text-decoration: none;
}

    a:hover,
    a:focus {
        text-decoration: underline;
    }

/* ---------- 標題、段落、清單間距 ---------- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight: 500;
    line-height: 1.1;
}

h1, h2, h3, .h1, .h2, .h3 {
    margin-top: 20px;
    margin-bottom: 10px;
}

h4, h5, h6, .h4, .h5, .h6 {
    margin-top: 10px;
    margin-bottom: 10px;
}

h1, .h1 { font-size: 36px; }
h2, .h2 { font-size: 30px; }
h3, .h3 { font-size: 24px; }
h4, .h4 { font-size: 18px; }
h5, .h5 { font-size: 14px; }
h6, .h6 { font-size: 12px; }

p {
    margin: 0 0 10px;
}

/* base.css 有 *{margin:0;padding:0}；BS3 沒有設定清單內距，BS5 reboot 的 padding-left:2rem 會蓋掉歸零，這裡改回 0 */
ul, ol {
    margin-top: 0;
    margin-bottom: 10px;
    padding-left: 0;
}

    ul ul, ol ol, ul ol, ol ul {
        margin-bottom: 0;
    }

label {
    max-width: 100%;
    margin-bottom: 5px;
    font-weight: 700;
}

/* BS5 的 list-inline 需搭配 list-inline-item，間距調成與原網站相同 */
.list-inline {
    margin-left: -5px;
}

.list-inline-item {
    padding-left: 5px;
    padding-right: 5px;
}

    .list-inline-item:not(:last-child) {
        margin-right: 0;
    }

/* ---------- 格線：欄距 30px、版心寬度 ---------- */
.container,
.container-fluid,
.row {
    --bs-gutter-x: 30px;
}

/* 欄位基本設定（同原網站）：相對定位、最小高度 1px（空欄位仍佔 1px） */
[class^="col-"],
[class*=" col-"] {
    position: relative;
    min-height: 1px;
}

/* 原網站的容器會包住內部 float 與 margin（BS5 的容器沒有），維持原本的排列 */
.container::before,
.container::after,
.container-fluid::before,
.container-fluid::after {
    content: " ";
    display: table;
}

.container::after,
.container-fluid::after {
    clear: both;
}

/* 原網站以 width 設定版心寬度（網站 CSS 有以 width 覆寫的地方），BS5 預設用 max-width，這裡改回 width */
.container {
    max-width: none !important;
}

@media (min-width: 768px) {
    .container {
        width: 750px;
    }
}

@media (min-width: 992px) {
    .container {
        width: 970px;
    }
}

@media (min-width: 1200px) {
    .container {
        width: 1170px;
    }
}

/* ---------- 主選單（header .navbar）：維持原本的區塊排列 ---------- */
.header .navbar {
    display: block;
    padding: 0;
}

    .header .navbar > .container-fluid {
        display: block;
    }

    /* 網站 CSS 以 float / inline-block 排列主選單（例如平板寬度置中），BS5 預設為 flex，改回區塊排列 */
    .header .navbar .navbar-nav {
        display: block;
    }

@media (min-width: 768px) {
    .header .navbar .navbar-nav > li {
        float: left;
    }
}

@media (min-width: 768px) {
    .header .navbar-expand-md .navbar-collapse {
        display: block !important;
    }

    /* LOGO 區塊靠左，選單排在右側 */
    .header .navbar .nav-header {
        float: left;
    }
}

/* 選單連結內距（同原網站）：用 BS5 變數設定，網站 CSS 仍可覆寫 */
.nav {
    --bs-nav-link-padding-x: 15px;
    --bs-nav-link-padding-y: 10px;
}

.navbar {
    --bs-navbar-nav-link-padding-x: 15px;
}

.navbar-nav {
    --bs-nav-link-padding-x: 15px;
    --bs-nav-link-padding-y: 10px;
}

@media (min-width: 768px) {
    .navbar-nav {
        --bs-nav-link-padding-y: 15px;
    }
}

/* 選單區塊包住內部 float（原 .navbar-collapse 的行為） */
.header .navbar .navbar-collapse::before,
.header .navbar .navbar-collapse::after {
    content: " ";
    display: table;
}

.header .navbar .navbar-collapse::after {
    clear: both;
}

/* LOGO 字級、選單連結行高（同原網站） */
.navbar {
    --bs-navbar-brand-font-size: 18px;
}

.navbar-brand,
.navbar-nav .nav-link {
    line-height: 20px;
}

/* LOGO 區塊包住內部的 margin 與 float（原 .navbar-header 的行為） */
.header .navbar .nav-header::before,
.header .navbar .nav-header::after {
    content: " ";
    display: table;
}

.header .navbar .nav-header::after {
    clear: both;
}

/* 主選單下拉：上方直角、下方 4px 圓角（同原網站） */
.navbar-nav .dropdown-menu {
    border-radius: 0 0 4px 4px;
}

/* 手機版（< 768px）選單：清單貼齊左右、展開的子選單為透明底無框線（同原網站） */
@media (max-width: 767px) {
    .navbar-collapse {
        border-top: 1px solid transparent;
    }

    .navbar-nav {
        margin: 7.5px -15px;
    }

        .navbar-nav .dropdown .dropdown-menu {
            float: none;
            width: auto;
            margin-top: 0;
            background-color: transparent;
            border: 0;
            box-shadow: none;
        }
}

/* BS5 的 dropdown-toggle 會自動加箭頭，原網站沒有 */
.header .navbar .dropdown-toggle::after {
    display: none;
}

/* 手機版選單按鈕：BS5 點擊後會出現焦點外框，原網站沒有 */
.navbar-toggler:focus {
    box-shadow: none;
}

/* 手機版選單按鈕的三條線 */
.navbar-toggler .icon-bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 1px;
}

    .navbar-toggler .icon-bar + .icon-bar {
        margin-top: 4px;
    }

/* ---------- 圖示（Bootstrap Icons，取代原 Glyphicons） ---------- */
/* 與原 Glyphicons 相同的外框：行內區塊、行高 1、往下 1px，避免改圖示後行高改變 */
.bi {
    position: relative;
    top: 1px;
    display: inline-block;
    line-height: 1;
}

/* ---------- 按鈕：字級、內距、圓角（同原網站；BS5 以 rem 計算會變成 16px） ---------- */
.btn {
    --bs-btn-padding-x: 12px;
    --bs-btn-padding-y: 6px;
    --bs-btn-font-size: 14px;
    --bs-btn-line-height: 1.428571429;
    --bs-btn-border-radius: 4px;
}

.btn-sm {
    --bs-btn-padding-x: 10px;
    --bs-btn-padding-y: 5px;
    --bs-btn-font-size: 12px;
    --bs-btn-line-height: 1.5;
    --bs-btn-border-radius: 3px;
}

.btn-lg {
    --bs-btn-padding-x: 16px;
    --bs-btn-padding-y: 10px;
    --bs-btn-font-size: 18px;
    --bs-btn-line-height: 1.3333333;
    --bs-btn-border-radius: 6px;
}

/* ---------- 分頁：原網站使用 BS3 的 .pager（置中、圓角），改用 BS5 .pagination 後還原外觀 ---------- */
.pagination {
    --bs-pagination-padding-x: 14px;
    --bs-pagination-padding-y: 5px;
    --bs-pagination-border-color: #ddd;
    --bs-pagination-hover-border-color: #ddd;
    --bs-pagination-hover-bg: #eee;
    --bs-pagination-focus-box-shadow: none;
    display: block;
    margin: 20px 0;
    text-align: center;
}

    .pagination .page-item {
        display: inline;
    }

        .pagination .page-item .page-link {
            display: inline-block;
            margin-left: 0;
            font-size: inherit;
            border-radius: 15px;
        }

/* ---------- 文章內容（後台編輯器）的表格格線 ---------- */
/* 表格用 HTML 的 border="1" 屬性畫格線；BS5 reboot 把 td / th 的 border-width 設為 0，格線會消失，這裡還原 */
/* 只作用在該表格自己的儲存格（巢狀的 border="0" 表格不受影響） */
table[border]:not([border="0"]) > * > tr > th,
table[border]:not([border="0"]) > * > tr > td,
table[border]:not([border="0"]) > tr > th,
table[border]:not([border="0"]) > tr > td {
    border-width: 1px;
    border-style: inset;
}

/* ---------- 表單（同原網站 BS3 外觀） ---------- */
/* form-group：BS5 已移除；網站 CSS 仍用它當選擇器，保留 class 並設定原本的下距 15px */
.form-group {
    margin-bottom: 15px;
}

/* 欄位：高度 34px、字級 14px、灰框、內陰影（BS5 預設為 38px、16px） */
.form-control,
.form-select {
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.428571429;
    color: #555;
    border-color: #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
}

    .form-control:focus,
    .form-select:focus {
        border-color: #66afe9;
        box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, .6);
    }

    .form-control::placeholder {
        color: #999;
    }

textarea.form-control {
    height: auto;
}

/* 水平表單的標籤：上內距 7px、無下內距（BS3 .form-horizontal .control-label） */
.col-form-label {
    padding-bottom: 0;
    line-height: 1.428571429;
}

/* 水平表單中沒有欄位的 form-group（例如只放按鈕）：不加 row，但保留原網站的左右 -15px 與 clearfix */
.form-horizontal .form-group:not(.row) {
    margin-left: -15px;
    margin-right: -15px;
}

    .form-horizontal .form-group:not(.row)::before,
    .form-horizontal .form-group:not(.row)::after {
        content: " ";
        display: table;
    }

    .form-horizontal .form-group:not(.row)::after {
        clear: both;
    }

/* 手機版（< 768px）：原網站的水平表單只在 ≥768px 才有上內距 7px、無下距；手機版是一般 label（下距 5px） */
@media (max-width: 767px) {
    .col-form-label {
        padding-top: 0;
        margin-bottom: 5px;
    }

        /* 空的標籤：原網站是 inline-block，仍佔一行高（含下距共 1 行）；BS5 的 flex 子項目為 0 高 */
        .col-form-label:empty {
            min-height: calc(1.428571429em - 5px);
        }
}

/* checkbox / radio 容器：BS5 已移除（改為 form-check）；網站 CSS 仍用 .checkbox 當選擇器，保留 class 並還原原本的基本樣式 */
.checkbox,
.radio {
    position: relative;
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
}

    .checkbox label,
    .radio label {
        min-height: 20px;
        padding-left: 20px;
        margin-bottom: 0;
        font-weight: 400;
        cursor: pointer;
    }

    .checkbox input[type="checkbox"],
    .radio input[type="radio"] {
        position: absolute;
        margin: 4px 0 0 -20px;
        line-height: normal;
    }

    /* 水平表單內的 checkbox / radio（BS3 .form-horizontal .checkbox） */
    .form-horizontal .checkbox,
    .form-horizontal .radio {
        min-height: 27px;
        padding-top: 7px;
        margin-top: 0;
        margin-bottom: 0;
    }
