/* CSS歸零,統一字型 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td { /*  margin: 0px;padding: 0px; */
    border: 0px;
    outline: 0px;
    /* font-size: 100%; 更改boostrap預設14pX為16px*/
    font-family: "微軟正黑體", Arial, Helvetica, Microsoft JhengHei, sans-serif;
    vertical-align: baseline;
    background: transparent;
}strong, b { font-weight: bold; }
/* === BS5 元件還原（被上方 reset 清掉的 border/background） === */
.btn { border: 1px solid transparent; }
.btn-primary { background-color: #0d6efd; border-color: #0d6efd; color: #fff; }
.btn-primary:hover { background-color: #0b5ed7; border-color: #0a58ca; color: #fff; }
.btn-outline-secondary { border: 1px solid #6c757d; color: #6c757d; }
.btn-outline-secondary:hover { background-color: #6c757d; color: #fff; }
.btn-green { border: 1px solid #007f33; background: #007f33; color: #fff; }

.modal-content { background-color: #fff; border: 1px solid rgba(0,0,0,.2); border-radius: .3rem; box-shadow: 0 3px 9px rgba(0,0,0,.5); }
.modal-header { background-color: #fff; border-bottom: 1px solid #dee2e6; padding: 1rem; }
.modal-footer { background-color: #fff; border-top: 1px solid #dee2e6; padding: .75rem; }
.modal-body { background-color: #fff; }
.modal-body a.focusInModel { text-decoration: none; color: inherit; }
.list-group { overflow: visible; padding-top: 4px; }
.list-group-item { border: 1px solid rgba(0,0,0,.125); }
.list-group-item:focus,
.list-group-item:hover {
    outline: none;
    box-shadow: inset 0 0 0 3px #007f33;
}
.alert { border: 1px solid transparent; display: flex; align-items: center; }
.alert h3.alert-heading, .alert p.mb-0 { margin: 0; }
.alert-success { background-color: #e5ffcc; border-color: #c3e6a8; color: #2d6a2d; }
.alert-danger { background-color: #f8d7da; border-color: #f5c2c7; color: #842029; }
.alert-warning { background-color: #fff3cd; border-color: #ffecb5; color: #664d03; }
.form-control { background-color: #fff; border: 1px solid #ced4da; }
.form-control:focus { border-color: #86b7fe; box-shadow: 0 0 0 .25rem rgba(13,110,253,.25); }
.form-select { background-color: #fff; border: 1px solid #ced4da; 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"); background-repeat: no-repeat; background-position: right .75rem center; background-size: 16px 12px; padding-right: 2.25rem; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.dropdown-menu { background-color: #fff; border: 1px solid rgba(0,0,0,.15); }
.nav-link { border: none; background: transparent; }
/* BS3 panel 相容 */
.panel { background-color: #fff; border: 1px solid #ddd; border-radius: 4px; }
.panel-default { border-color: #ddd; }
.panel > .table, .panel > .table-responsive { margin-bottom: 0; }
/* BS5 badge 修復 */
.badge { background-color: #6c757d; color: #fff; padding: .2em .45em; border-radius: 50rem; font-weight: 700; display: inline-block; }
/* BS5 card 修復 */
.card { background-color: #fff; border: 1px solid rgba(0,0,0,.125); border-radius: .375rem; }
.card > .table { margin-bottom: 0; }
/* BS5 pagination 修復 */
.pagination { display: flex; justify-content: center; padding-left: 0; list-style: none; margin-top: 1rem; }
.pagination li a, .pagination li span { border: 1px solid #dee2e6; padding: .375rem .75rem; color: #007f33; background-color: #fff; display: block; }
.pagination li.active a, .pagination li.active span { background-color: #007f33; border-color: #007f33; color: #fff; }
.pagination li.disabled a, .pagination li.disabled span { color: #6c757d; pointer-events: none; }
.pagination li a:hover { background-color: #e9ecef; color: #007f33; }
/* BS5 table 格線修復（全域 reset 把 border:0 蓋掉了） */
.table-bordered, .table-bordered th, .table-bordered td { border: 1px solid #dee2e6 !important; }
.table-bordered thead th, .table-bordered thead td { border-bottom-width: 2px !important; }
input[type="text"], input[type="password"], input[type="email"], input[type="number"], select, textarea { background-color: #fff; border: 1px solid #ced4da; }
/* BS5 grid form 對齊修正 */
.col-form-label { vertical-align: middle; display: flex; align-items: center; padding-top: 0; padding-bottom: 0; font-weight: bold; }
.mb-3.row > .col-form-label { text-align: right; justify-content: flex-end; }
.mb-3.row { display: flex; flex-wrap: wrap; }
.mb-3.row > [class*="col-"] { display: flex; align-items: center; flex-wrap: wrap; }
/* BS3 form-horizontal 相容：縮減 gutter，模擬 BS3 行為 */
.form-horizontal .form-group { display: flex; flex-wrap: wrap; margin-left: -15px; margin-right: -15px; margin-bottom: 15px; }
.form-horizontal .form-group > [class*="col-"] { padding-left: 15px; padding-right: 15px; }
.form-horizontal .control-label { text-align: right; font-weight: bold; padding-top: 0; margin-bottom: 0; display: flex; align-items: center; justify-content: flex-end; }
.mb-3.row > div.col-md-8 > .form-check { width: 100%; }
@media (max-width: 767px) {
    .mb-3.row > .col-form-label { text-align: left; justify-content: flex-start; }
}
/* 麵包屑和登出訊息區域加粗 */
#funcMenu,
#funcMenu ~ span, #funcMenu ~ span a,
span[role="navigation"], span[role="navigation"] a { font-weight: bold; }
/* 按鈕間距 */
.btn + .btn { margin-left: .5rem; }
/* 注意事項區塊的超連結：綠色無底線 */
.precautions-content-header ~ div a,
#AB a:not(.content-positiondot) { color: #007f33; text-decoration: none; }
#AB a:not(.content-positiondot):hover { text-decoration: underline; }

html, body {
    height: 100%;
    margin: 0;
    /*margin-top: 40px;*/
}

body {
    overflow-y: scroll;
    position: relative;
    background-color: #F7F7F7;
    font-weight: 500;
}

.body-triple {
    background-image: url(BG_stripe.gif);
}

.mainPadding {
    padding: 20px 15px;
}

.Tcenter {
    text-align: center;
}

.Main-Container {
    min-height: 800px;
}

.container-fluid {
    background: #F7F7F7;
    margin-top: 100px;
}

.homebtn_pos {
    margin: 5% auto 20px auto;
    max-width: 800px;
    text-align: center;
}

.notice-banner {
    margin-top: 0;
    margin-bottom: 12px;
    font-size: 1.2rem;
    font-weight: 600;
    color: #c0392b;
    text-align: center;
    position: relative;
    z-index: 1;
    line-height: 2;
}
a:active,a:hover,a:focus {
    outline: #007f33 solid 0.2rem;
    outline-offset: 2px;
}

/* navbar 內連結 hover 時不要外框 */
.navbar-fixed-top a:hover {
    outline: none;
}

/* navbar 內連結 focus 時保留無障礙外框 */
.navbar-fixed-top a:focus {
    outline: #007f33 solid 0.2rem;
    outline-offset: 2px;
}

/* 按鈕不要 focus 外框 */
.btn:active,
.btn:hover,
.btn:focus {
    outline: none;
}

/*0819 所有置中寬度不超過970*/

/*----------- 頁首 -----------*/
.navbar-fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
    border-bottom: 10px solid #007F33;
    background: #FFF;
}

/* navbar 內 container 也清掉 BS5 gutter */
.navbar-fixed-top > .container {
    --bs-gutter-x: 0;
    padding-left: 15px;
    padding-right: 15px;
}
@media (min-width: 768px) {
    .navbar-fixed-top > .container { max-width: 750px; }
}
@media (min-width: 992px) {
    .navbar-fixed-top > .container { max-width: 970px; }
}
@media (min-width: 1200px) {
    .navbar-fixed-top > .container { max-width: 1170px; }
}

/* navbar-brand 顏色覆寫 */
.navbar-fixed-top .navbar-brand,
.navbar-fixed-top .navbar-brand:hover,
.navbar-fixed-top .navbar-brand:focus {
    color: black;
    text-decoration: none;
    margin-right: 0;
    padding-left: 0;
}

/* navbar-brand 內的圖片不要有 outline */
.navbar-fixed-top .navbar-brand img {
    vertical-align: bottom;
    margin-right: 6px;
}

/* 漢堡選單推到右邊（原 BS3 在右） */
.navbar-fixed-top .navbar-toggler {
    order: 1;
    margin-right: 0;
    /* 三條線改白色 */
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.navbar-fixed-top .navbar-toggler .navbar-toggler-icon {
    background-image: var(--bs-navbar-toggler-icon-bg);
}
/* Tab focus 時顯示明顯外框 */
.navbar-fixed-top .navbar-toggler:focus {
    outline: 3px solid #007f33 !important;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px rgba(0,127,51,0.35) !important;
    background-color: rgba(0,127,51,0.15) !important;
}

.navbar-fixed-top h1 {
    order: 0;
    margin: 0;
}

.navbar-fixed-top .navbar-collapse {
    order: 2;
}

.btn-green {
    background: #007f33;
    color: #fff;
}

.btn-lg.btn-green {
    min-width: 330px;
}

    .btn-green:focus, .btn-green:hover {
        background: #0a662f;
        color: #fff;
    }

.btn-dark {
    background: #444;
    color: #fff;
}

    .btn-dark:focus, .btn-dark:hover {
        color: #eee;
    }

.Creader {
    background: url(CardReader.png);
    background-repeat: no-repeat;
    background-position: 100% 40%;
}

.btn_func, .btn_func:hover, .btn_func:focus {
    background-color: #007f33;
    width: 110px;
    height: 110px;
    background-size: 50%;
    background-repeat: no-repeat;
    background-position: 50% 35%;
    margin: 10px 5px 30px;
    position: relative;
    border: none;
}

    .btn_func span {
        display: block;
        width: 100%;
        position: absolute;
        bottom: 5px;
        right: 0px;
        color: #FFF;
        font-size: 1.125em;
    }

.func_ico01 {
    background-image: url(ATM_icon-01.png);
}

.func_ico02 {
    background-image: url(ATM_icon-02.png);
}

.func_ico03 {
    background-image: url(ATM_icon-03.png);
}

.func_ico04 {
    background-image: url(ATM_icon-04.png);
}

.func_ico05 {
    background-image: url(ATM_icon-05.png);
}

.btn_func:hover, .btn_func:focus {
    background-color: #FFF;
    border: 2px solid #32965a;
}

    .btn_func:hover span, .btn_func:focus span {
        color: #007f33;
    }

.func_ico01:hover, .func_ico01:focus {
    background-image: url(ATM_icon_G-01.png);
}

.func_ico02:hover, .func_ico02:focus {
    background-image: url(ATM_icon_G-02.png);
}

.func_ico03:hover, .func_ico03:focus {
    background-image: url(ATM_icon_G-03.png);
}

.func_ico04:hover, .func_ico04:focus {
    background-image: url(ATM_icon_G-04.png);
}

.func_ico05:hover, .func_ico05:focus {
    background-image: url(ATM_icon_G-05.png);
}

.func_ico_date1, .func_ico_date7, .func_ico_date30, .func_ico_date60, .func_ico_date90 {
    background-image: url(icon_date_W.png);
}

    .func_ico_date1:hover, .func_ico_date7:hover,
    .func_ico_date30:hover, .func_ico_date60:hover, .func_ico_date90:hover,
    .func_ico_date1:focus, .func_ico_date7:focus,
    .func_ico_date30:focus, .func_ico_date60:focus, .func_ico_date90:focus {
        background-image: url(icon_date_G.png);
    }

        .func_ico_date1:hover:after, .func_ico_date7:hover:after,
        .func_ico_date30:hover:after, .func_ico_date60:hover:after,
        .func_ico_date90:hover:after,
        .func_ico_date1:focus:after, .func_ico_date7:focus:after,
        .func_ico_date30:focus:after, .func_ico_date60:focus:after,
        .func_ico_date90:focus:after {
            color: #32965a;
        }

    .func_ico_date1:after, .func_ico_date7:after,
    .func_ico_date30:after, .func_ico_date60:after, .func_ico_date90:after {
        position: absolute;
        color: #FFF;
        top: 40%;
        display: block;
        width: 100%;
        right: 0px;
        font-weight: bold;
        font-size: 1.125em;
    }

    .func_ico_date1:after {
        content: '1';
    }

    .func_ico_date7:after {
        content: '7';
    }

    .func_ico_date30:after {
        content: '30';
    }

    .func_ico_date60:after {
        content: '60';
    }

    .func_ico_date90:after {
        content: '90';
    }

/*導盲點樣式*/
.nav-positiondot {
    color: white !important;
    text-decoration: none !important;
}

    .nav-positiondot:focus {
        color: black !important;
    }

.content-positiondot {
    color: #F7F7F7 !important;
    text-decoration: none !important;
    display: block;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
}

    .content-positiondot:focus {
        color: black !important;
    }

/* 停用樣式 */
.btn_func label {
    position: absolute;
    bottom: -30px;
    top: 112px;
    display: none;
}

.btn_disable, .btn_disable:hover {
    background-color: #ff919b;
    background-image: none;
    color: #FFF;
}

    .btn_disable:hover span {
        color: #FFF;
    }

    .btn_disable:hover label {
        cursor: not-allowed;
    }

    .btn_disable:hover {
        border: none;
        background-image: none;
        cursor: not-allowed;
    }

    .btn_disable label {
        width: 100%;
        max-width: 110px;
        white-space: normal;
        line-height: 1em;
        margin: 0px;
        left: 0px;
        display: block;
        color: #e91e63;
        text-align: center;
    }

    .btn_disable .redtxt {
        top: auto;
        bottom: 40%;
        right: 0px;
        left: auto;
        width: 100%;
        text-align: center;
        font-size: 1.875em;
        color: #e91e63;
        letter-spacing: 0.2em;
    }

@media screen and (max-width:769px) {
    .Creader {
        background-position: 100% 100%;
        background-size: 500px;
    }
}



/* Set padding to keep content from hitting the edges */
.body-content {
    padding-left: 0;
    padding-right: 0;
    min-height: 100%;
    margin-bottom: -50px;
    padding-top: 80px;
}

/* 模擬 BS3 container 斷點寬度 */
.container.body-content,
.container.body-content .container {
    --bs-gutter-x: 0;
    padding-left: 15px;
    padding-right: 15px;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 768px) {
    .container.body-content,
    .container.body-content .container { max-width: 750px; }
}
@media (min-width: 992px) {
    .container.body-content,
    .container.body-content .container { max-width: 970px; }
}
@media (min-width: 1200px) {
    .container.body-content,
    .container.body-content .container { max-width: 1170px; }
}
@media (max-width: 767px) {
    .container.body-content,
    .container.body-content .container { max-width: 100%; padding-left: 15px; padding-right: 15px; }
}

/* BS3 .hide helper (BS5 已移除) */
.hide {
    display: none !important;
}

/* Navbar 連結樣式 - 模擬原 BS3 navbar-inverse 外觀但白底 */
.navbar-fixed-top .navbar-nav .nav-link {
    color: #8C8C8C;
    font-size: 1em;
    padding: 0px 10px;
    line-height: 30px;
}

.navbar-fixed-top .navbar-nav .nav-link:hover,
.navbar-fixed-top .navbar-nav .nav-link:focus {
    color: #000;
    background-color: transparent;
    text-decoration: none;
    transition-duration: .3s;
    transition-timing-function: ease-in-out;
    transition-property: box-shadow, color;
}

.navbar-fixed-top .navbar-nav > .nav-item {
    position: relative;
}

/* dropdown menu 樣式 */
.navbar-fixed-top .dropdown-menu {
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 4px;
    box-shadow: 0 6px 12px rgba(0,0,0,.175);
    padding: 5px 0;
}

.navbar-fixed-top .dropdown-menu li {
    list-style: none;
}

.navbar-fixed-top .dropdown-menu a {
    display: block;
    color: #337ab7;
    padding: 4px 20px;
    font-size: 1em;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.6;
}

.navbar-fixed-top .dropdown-menu a:hover,
.navbar-fixed-top .dropdown-menu a:focus,
.navbar-fixed-top .dropdown-menu a.active,
.navbar-fixed-top .dropdown-menu li.active > a {
    background-color: #007F33;
    color: #fff;
    text-decoration: none;
    outline: none;
}

/* 巢狀 ul 縮排 */
.navbar-fixed-top .dropdown-menu ul {
    padding-left: 15px;
    list-style: disc;
    margin: 0;
}

.navbar-fixed-top .dropdown-menu ul ul {
    padding-left: 15px;
    list-style: circle;
}

.footer {
    background-color: #252424;
    vertical-align: middle;
    text-align: center;
    height: 50px;
    line-height: 50px;
    bottom: 0px;
    width: 100%;
    z-index: 9999;
}

.precautions-content-header {
    margin: 0px 0px 11px 0px;
}

.push {
    height: 60px;
}

.footer .text_light01 {
    color: #BCBCBC;
}

/* 麵包屑連結樣式 */
#funcMenu {
    font-size: 1em;
    font-weight: bold;
    margin: 0 0 0.25em 0;
}

#funcMenu ~ span a,
#funcMenu ~ span a:visited,
span[role="navigation"] a,
span[role="navigation"] a:visited {
    color: #007F33;
    text-decoration: none;
}

#funcMenu ~ span a:hover,
#funcMenu ~ span a:focus,
span[role="navigation"] a:hover,
span[role="navigation"] a:focus {
    color: #0a662f;
    text-decoration: underline;
}

/* 停留時間樣式 */
#LogoutInfo {
    font-size: 1em;
    font-weight: bold;
    color: #555;
}

#TimeToLogout {
    font-size: 1em;
    font-weight: bold;
    color: #8a6d3b !important;
}

/* h3 字體大小還原 */
h3 {
    font-size: 1.5rem;
}

/* 導盲點：保持穩定尺寸，不造成版面跳動 */
.content-positiondot:focus,
.nav-positiondot:focus {
    outline: #007f33 solid 2px !important;
    outline-offset: 1px;
    display: inline;
}

/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
    white-space: normal;
}

/* Set width on the form input elements since they're 100% wide by default */
input,
textarea {
    max-width: 280px;
}

select.form-control,
select.form-select {
    max-width: 280px;
}
select.accountSelect {
    max-width: 280px;
}

.glyphicon-refresh-animate {
    animation: spin 1.5s infinite linear;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/*validation樣式*/
.field-validation-error {
    color: #e80c4d;
    font-weight: bold;
}

.field-validation-valid {
    display: none;
}

input.input-validation-error {
    border: 1px solid #e80c4d;
}

.validation-summary-errors {
    color: #e80c4d;
    font-weight: bold;
    font-size: 1.1em;
}

.validation-summary-valid {
    display: none;
}

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

/* 元件視窗 */
.component_popup {
    padding: 0px !important;
    background: #FFF;
    overflow: visible;
}

    .component_popup table {
        margin: 0px !important;
    }

        .component_popup table th,
        .component_popup table td {
            vertical-align: middle !important;
        }

        .component_popup table th {
            text-align: right;
        }

        .component_popup table .btns_pos {
            height: 100px;
            text-align: center;
            vertical-align: middle;
        }

    .component_popup .error_hint {
        padding: 20px 0px;
        text-align: center;
    }

        .component_popup .error_hint h3 {
            letter-spacing: 0.05em;
            color: #555;
            font-size: 0.9375em;
        }
/* �n�J���i�׾B�n�G�мg BS5�A����ܮحI���^��b�z���ǩ��]�쪩 BS3 �欰�^ */
.modal-backdrop.in,
.modal-backdrop.show {
    opacity: .5 !important;
}

.modal-backdrop { opacity: .5 !important; }

/* 分割線顏色調淡 */
hr {
    border-color: rgba(0, 0, 0, 0.08);
    opacity: 1;
}

/* 跳到主要內容區塊：綠色、無底線 */
#gotocenter.visually-hidden-focusable:focus,
#gotocenter.visually-hidden-focusable:focus-within {
    color: #007f33;
    text-decoration: none;
}
