
body {
    font-family: "Noto Sans CJK TC", "Microsoft JhengHei", PingFang, STHeiti, sans-serif, serif !important;
}

/* DataTable 靠上對齊 */
table.dataTable tbody td {
    vertical-align: top !important;
}

@media only screen and (max-width: 992px) {
    #id_table_1{
        border-collapse: collapse !important;
    }
    .rwd tr {
        border: 1px solid #333;
    }

    .rwd th, .rwd td {
        border-top: 1px solid #ddd !important;
        border-collapse: collapse;
        border-bottom-width: 0;
        /*padding: 3px 5px;*/
    }

    .rwd thead {
        display: none;
    }

    .rwd td {
        display: block;
        padding: 1px 8px !important;
    }

    .rwd td:before {
        content: attr(data-title);
        display: inline-block;
        width: auto;
        min-width: 25%;
        font-weight: bold;
        padding-right: 1rem;
    }
}

/* 992 以上 */
@media only screen and (min-width: 993px) {
    .scrollable-menu {
        /*height: auto;*/
        /*max-height: 560px;*/
        /*overflow-x: hidden;*/
        /*overflow-y: auto;*/
    }
    .rwd_menu{
        width: 260px;
    }

}

.SearchArea {
    border: 1px #999 solid;
    box-shadow: 0 0 16px #9897dc;
    padding: 16px;
    margin: 12px 0 0 0;
}

.SearchArea input {
    font-weight: 400;
}

.hide_td_sort:before {
    display: none !important;
}

.hide_td_sort:after {
    display: none !important;
}

.hide_td_sort {
    cursor: text !important;
}

.big_checkbox_label {
    margin-right: 10px;
}

.page_help {
    background-color: #feffe5;
    padding: 8px 16px;
    border-radius: 8px;
    box-shadow: 2px 2px 4px #a2a38a;
    cursor: pointer;
}

table.dataTable thead>tr>th {
    background-color: #d9edf7 !important;
    color: #000 !important;
}

.menu_item.active > a {
    border: 1px solid #fff;
    background-color: #f93232;
    padding: 6px 8px;
    border-radius: 6px;
}

.menu_item:hover > a{
    background-color: #ffefe1;
    color: #bb0000 !important;
    border-radius: 4px;
}

.dataTables_scrollHead {
    position: sticky !important;
    z-index: 1;
    top: 40px;
}


/* bootstrap datepicker */
.datepicker td, .datepicker th {
    width: 36px;
    height: 30px;
    color: #000;
}

.datepicker table tr td.disabled, .datepicker table tr td.disabled:hover {
    background-color: #f1f1f1;
}

.primary-tooltip{
    --bs-tooltip-bg: var(--bs-primary);
}
.warning-tooltip{
    --bs-tooltip-bg: var(--bs-warning);
}
.danger-tooltip{
    --bs-tooltip-bg: var(--bs-danger);
}
.success-tooltip{
    --bs-tooltip-bg: var(--bs-success);
}

.select2-selection,.select2-selection__arrow{
    height: 38px !important;
}
.select2-selection__rendered{
    line-height: 38px !important;
}
.select2-results>.select2-results__options{
    max-height: 45vh !important;
}
.diff_box{
    display: inline-block;
    width: 24px;
    height: 24px;
    font-weight: normal;
    font-size: 16px;
    border: 1px solid;
    border-radius: 100%;
    padding: 0;
    color: #fff;
    line-height: 20px;
}
.diff_box.gray{
    border-color: #717172;
    background-color: #d3d3d3;
    text-shadow: 2px 2px 2px #000;
}
.diff_box.green{
    border-color: #01970e;
    background-color: #51bb33;
    text-shadow: 2px 2px 2px #000;
}
.diff_box.blue{
    border-color: #010b97;
    background-color: #8a9ffb;
    text-shadow: 2px 2px 2px #000;
}
.diff_box.orange{
    border-color: #b77a07;
    background-color: #efb058;
    text-shadow: 2px 2px 2px #000;
}
.diff_box.red{
    border-color: #970101;
    background-color: #fb8a8a;
    text-shadow: 2px 2px 2px #000;
}
.glyphicon-stack {
    position: relative;
    display: inline-block;
    width: 2em;
    height: 2em;
    line-height: 2em;
    vertical-align: middle;
}

.glyphicon-circle{
    position: relative;
    border-radius: 50%;
    width: 100%;
    height: auto;
    padding-top: 100%;
}

.glyphicon-stack-1x {
    line-height: inherit;
    font-size: 1.25rem;
}

.glyphicon-stack-1x, .glyphicon-stack-2x {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
}

/* https://www.cssscript.com/step-flow-bootstrap/ */
 .steps {
     padding: 0;
     margin: 0;
     list-style: none;
     display: flex;
     overflow-x: auto
 }

.steps .step:first-child {
    margin-left: auto
}

.steps .step:last-child {
    margin-right: auto
}

.step:first-of-type .step-circle::before {
    display: none
}

.step:last-of-type .step-content {
    padding-right: 0
}

.step-content {
    box-sizing: content-box;
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 5rem;
    min-width: 5rem;
    max-width: 5rem;
    padding-top: .5rem;
    padding-right: 1rem
}

.step-circle {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2rem;
    height: 2rem;
    color: #adb5bd;
    border: 2px solid #adb5bd;
    border-radius: 100%;
    background-color: #fff
}

.step-circle::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    left: -2px;
    width: calc(5rem + 1rem - 2rem);
    height: 2px;
    transform: translate(-100%,-50%);
    color: #adb5bd;
    background-color: currentColor
}

.step-text {
    color: #adb5bd;
    word-break: break-all;
    margin-top: .25em
}

.step-active .step-circle {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff
}

.step-active .step-circle::before {
    color: #007bff
}

.step-active .step-text {
    color: #007bff
}

.step-error .step-circle {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545
}

.step-error .step-circle::before {
    color: #dc3545
}

.step-error .step-text {
    color: #dc3545
}

.step-success .step-circle {
    color: #28a745;
    background-color: #fff;
    border-color: #28a745
}

.step-success .step-circle::before {
    color: #28a745
}

.step-success .step-text {
    color: #28a745
}

/* v2 */
.ui-sortable-helper {
    display: table;
}
.ui-state-highlight{
    background-color: #d8e6ff;
}
.diff_box_v2{
    display: inline-block;
    width: 24px;
    height: 24px;
    font-weight: bold;
    font-size: 16px;
    border: 1px solid;
    border-radius: 100%;
    padding: 0 6px;
    color: #fff;
    line-height: 20px;
}
.diff_box_v2.gray{
    border-color: #717172;
    background-color: #d3d3d3;
    text-shadow: 2px 2px 2px #000;
}
.diff_box_v2.green{
    border-color: #01970e;
    background-color: #51bb33;
    text-shadow: 2px 2px 2px #000;
}
.diff_box_v2.blue{
    border-color: #010b97;
    background-color: #8a9ffb;
    text-shadow: 2px 2px 2px #000;
}
.diff_box_v2.orange{
    border-color: #b77a07;
    background-color: #efb058;
    text-shadow: 2px 2px 2px #000;
}
.diff_box_v2.red{
    border-color: #970101;
    background-color: #fb8a8a;
    text-shadow: 2px 2px 2px #000;
}


.custom_checkbox {
    width: fit-content;
    border: 1px solid #cfcfcf;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    box-shadow: 2px 2px 4px #ddd;
}
.custom_radio {
    width: fit-content;
    border: 1px solid #cfcfcf;
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    box-shadow: 2px 2px 4px #ddd;
}

.custom_radio input, .custom_checkbox input {
    display: none;
}

.custom_radio label, .custom_checkbox label {
    padding: 4px 8px;
    border-right: 1px solid #ccc;
    cursor: pointer;
    transition: all 0.25s;
}

.custom_radio label:last-of-type, .custom_checkbox label:last-of-type {
    border-right: 0;
}

.custom_radio label:hover, .custom_checkbox label:hover {
    background: #eee;
}

.custom_radio input:checked + label {
    background: #becbff;
}

.custom_checkbox input:checked + label {
    background: #c3ffb0;
}
.status_ball_green{
    background-color: #09a009;
    border-radius: 100%;
    display: inline-block;
    vertical-align: bottom;
    padding: 2px;
    color: #fff;
    font-size: 12px;
    height: 24px;
    width: 24px;
    text-align: center;
}
.status_ball_yellow{
    background-color: #c7b947;
    border-radius: 100%;
    display: inline-block;
    vertical-align: bottom;
    padding: 2px;
    color: #fff;
    font-size: 12px;
    height: 24px;
    width: 24px;
    text-align: center;
}
.status_ball_red{
    background-color: #c74426;
    border-radius: 100%;
    display: inline-block;
    vertical-align: bottom;
    padding: 2px;
    color: #fff;
    font-size: 12px;
    height: 24px;
    width: 24px;
    text-align: center;
}
.status_ball_1{
    background-color: #09a009;
    border-radius: 100%;
    display: inline-block;
    vertical-align: bottom;
    color: #fff;
    font-size: 12px;
    height: 22px;
    width: 22px;
    text-align: center;
}
.status_ball_0{
    background-color: #cfcfcf;
    border-radius: 100%;
    display: inline-block;
    vertical-align: bottom;
    color: #fff;
    font-size: 12px;
    height: 22px;
    width: 22px;
    text-align: center;
}

/*  */
.nav-tabs {
    border-bottom: none !important;
}
.tab_paper_title {
    font-weight: bold;
    color: #000 !important;
    padding: 2px 0.5em !important;
    border-color: #aaa !important;
    border-bottom-color: #fff0 !important;
    background-color: #ffffec !important;
}
.tab-content {
    border: solid 1px #aaa;
    padding: 0.25em 0.5em;
    border-radius: 0 0.5em 0.5em 0.5em;
    background-color: #ffffec;
    box-shadow: 2px 2px 4px;
}

/*  */
.custom-radio input {
    display: none;
}
.custom-radio input + label {
    display: inline-block;
    background-color: #fff;
    border: 1px solid #aaa;
    cursor: pointer;
    padding: 2px 0.5rem;
    border-radius: 0.25rem;
    margin-right: 0.25rem;
    margin-bottom: 0.25rem;
}
.custom-radio input:checked + label {
    background-color: #25ada6;
    color: #fff;
}
.custom-checkbox input:checked + label {
    background-color: #25ada6;
    color: #fff;
}
/*  */
.form-label {
    font-weight: bold;
}
/*  */

.bd-blue-100 {
    color: #000;
    background-color: #cfe2ff
}

.bd-blue-200 {
    color: #000;
    background-color: #9ec5fe
}

.bd-blue-300 {
    color: #000;
    background-color: #6ea8fe
}

.bd-blue-400 {
    color: #000;
    background-color: #3d8bfd
}

.bd-blue-500 {
    color: #fff;
    background-color: #0d6efd
}

.bd-blue-600 {
    color: #fff;
    background-color: #0a58ca
}

.bd-blue-700 {
    color: #fff;
    background-color: #084298
}

.bd-blue-800 {
    color: #fff;
    background-color: #052c65
}

.bd-blue-900 {
    color: #fff;
    background-color: #031633
}

.bd-indigo-100 {
    color: #000;
    background-color: #e0cffc
}

.bd-indigo-200 {
    color: #000;
    background-color: #c29ffa
}

.bd-indigo-300 {
    color: #000;
    background-color: #a370f7
}

.bd-indigo-400 {
    color: #fff;
    background-color: #8540f5
}

.bd-indigo-500 {
    color: #fff;
    background-color: #6610f2
}

.bd-indigo-600 {
    color: #fff;
    background-color: #520dc2
}

.bd-indigo-700 {
    color: #fff;
    background-color: #3d0a91
}

.bd-indigo-800 {
    color: #fff;
    background-color: #290661
}

.bd-indigo-900 {
    color: #fff;
    background-color: #140330
}

.bd-purple-100 {
    color: #000;
    background-color: #e2d9f3
}

.bd-purple-200 {
    color: #000;
    background-color: #c5b3e6
}

.bd-purple-300 {
    color: #000;
    background-color: #a98eda
}

.bd-purple-400 {
    color: #000;
    background-color: #8c68cd
}

.bd-purple-500 {
    color: #fff;
    background-color: #6f42c1
}

.bd-purple-600 {
    color: #fff;
    background-color: #59359a
}

.bd-purple-700 {
    color: #fff;
    background-color: #432874
}

.bd-purple-800 {
    color: #fff;
    background-color: #2c1a4d
}

.bd-purple-900 {
    color: #fff;
    background-color: #160d27
}

.bd-pink-100 {
    color: #000;
    background-color: #f7d6e6
}

.bd-pink-200 {
    color: #000;
    background-color: #efadce
}

.bd-pink-300 {
    color: #000;
    background-color: #e685b5
}

.bd-pink-400 {
    color: #000;
    background-color: #de5c9d
}

.bd-pink-500 {
    color: #fff;
    background-color: #d63384
}

.bd-pink-600 {
    color: #fff;
    background-color: #ab296a
}

.bd-pink-700 {
    color: #fff;
    background-color: #801f4f
}

.bd-pink-800 {
    color: #fff;
    background-color: #561435
}

.bd-pink-900 {
    color: #fff;
    background-color: #2b0a1a
}

.bd-red-100 {
    color: #000;
    background-color: #f8d7da
}

.bd-red-200 {
    color: #000;
    background-color: #f1aeb5
}

.bd-red-300 {
    color: #000;
    background-color: #ea868f
}

.bd-red-400 {
    color: #000;
    background-color: #e35d6a
}

.bd-red-500 {
    color: #fff;
    background-color: #dc3545
}

.bd-red-600 {
    color: #fff;
    background-color: #b02a37
}

.bd-red-700 {
    color: #fff;
    background-color: #842029
}

.bd-red-800 {
    color: #fff;
    background-color: #58151c
}

.bd-red-900 {
    color: #fff;
    background-color: #2c0b0e
}

.bd-orange-100 {
    color: #000;
    background-color: #ffe5d0
}

.bd-orange-200 {
    color: #000;
    background-color: #fecba1
}

.bd-orange-300 {
    color: #000;
    background-color: #feb272
}

.bd-orange-400 {
    color: #000;
    background-color: #fd9843
}

.bd-orange-500 {
    color: #000;
    background-color: #fd7e14
}

.bd-orange-600 {
    color: #000;
    background-color: #ca6510
}

.bd-orange-700 {
    color: #fff;
    background-color: #984c0c
}

.bd-orange-800 {
    color: #fff;
    background-color: #653208
}

.bd-orange-900 {
    color: #fff;
    background-color: #331904
}

.bd-yellow-100 {
    color: #000;
    background-color: #fff3cd
}

.bd-yellow-200 {
    color: #000;
    background-color: #ffe69c
}

.bd-yellow-300 {
    color: #000;
    background-color: #ffda6a
}

.bd-yellow-400 {
    color: #000;
    background-color: #ffcd39
}

.bd-yellow-500 {
    color: #000;
    background-color: #ffc107
}

.bd-yellow-600 {
    color: #000;
    background-color: #cc9a06
}

.bd-yellow-700 {
    color: #000;
    background-color: #997404
}

.bd-yellow-800 {
    color: #fff;
    background-color: #664d03
}

.bd-yellow-900 {
    color: #fff;
    background-color: #332701
}

.bd-green-100 {
    color: #000;
    background-color: #d1e7dd
}

.bd-green-200 {
    color: #000;
    background-color: #a3cfbb
}

.bd-green-300 {
    color: #000;
    background-color: #75b798
}

.bd-green-400 {
    color: #000;
    background-color: #479f76
}

.bd-green-500 {
    color: #fff;
    background-color: #198754
}

.bd-green-600 {
    color: #fff;
    background-color: #146c43
}

.bd-green-700 {
    color: #fff;
    background-color: #0f5132
}

.bd-green-800 {
    color: #fff;
    background-color: #0a3622
}

.bd-green-900 {
    color: #fff;
    background-color: #051b11
}

.bd-teal-100 {
    color: #000;
    background-color: #d2f4ea
}

.bd-teal-200 {
    color: #000;
    background-color: #a6e9d5
}

.bd-teal-300 {
    color: #000;
    background-color: #79dfc1
}

.bd-teal-400 {
    color: #000;
    background-color: #4dd4ac
}

.bd-teal-500 {
    color: #000;
    background-color: #20c997
}

.bd-teal-600 {
    color: #000;
    background-color: #1aa179
}

.bd-teal-700 {
    color: #fff;
    background-color: #13795b
}

.bd-teal-800 {
    color: #fff;
    background-color: #0d503c
}

.bd-teal-900 {
    color: #fff;
    background-color: #06281e
}

.bd-cyan-100 {
    color: #000;
    background-color: #cff4fc
}

.bd-cyan-200 {
    color: #000;
    background-color: #9eeaf9
}

.bd-cyan-300 {
    color: #000;
    background-color: #6edff6
}

.bd-cyan-400 {
    color: #000;
    background-color: #3dd5f3
}

.bd-cyan-500 {
    color: #000;
    background-color: #0dcaf0
}

.bd-cyan-600 {
    color: #000;
    background-color: #0aa2c0
}

.bd-cyan-700 {
    color: #fff;
    background-color: #087990
}

.bd-cyan-800 {
    color: #fff;
    background-color: #055160
}

.bd-cyan-900 {
    color: #fff;
    background-color: #032830
}

.bd-gray-100 {
    color: #000;
    background-color: #f8f9fa
}

.bd-gray-200 {
    color: #000;
    background-color: #e9ecef
}

.bd-gray-300 {
    color: #000;
    background-color: #dee2e6
}

.bd-gray-400 {
    color: #000;
    background-color: #ced4da
}

.bd-gray-500 {
    color: #000;
    background-color: #adb5bd
}

.bd-gray-600 {
    color: #fff;
    background-color: #6c757d
}

.bd-gray-700 {
    color: #fff;
    background-color: #495057
}

.bd-gray-800 {
    color: #fff;
    background-color: #343a40
}

.bd-gray-900 {
    color: #fff;
    background-color: #212529
}

.bd-white {
    color: #000;
    background-color: #fff
}

.bd-black {
    color: #fff;
    background-color: #000
}
/*  */
.switch_demo {
    position: relative;
    width: 100px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.switch_demo-checkbox {
    display: none;
}

.switch_demo-label {
    display: block;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid #999999;
    border-radius: 20px;
}

.switch_demo-inner {
    display: block;
    width: 200%;
    margin-left: -100%;
    transition: margin 0.3s ease-in 0s;
}

.switch_demo-inner:before,
.switch_demo-inner:after {
    display: block;
    float: left;
    width: 50%;
    height: 30px;
    padding: 0;
    line-height: 30px;
    font-size: 14px;
    color: white;
    font-family: Trebuchet, Arial, sans-serif;
    font-weight: bold;
    box-sizing: border-box;
}

.switch_demo-inner:before {
    content: "開啟";
    padding-left: 10px;
    background-color: #ffa500;
    color: #FFFFFF;
}

.switch_demo-inner:after {
    content: "關閉";
    padding-right: 10px;
    background-color: #EEEEEE;
    color: #999999;
    text-align: right;
}

.switch_demo-switch {
    display: block;
    width: 18px;
    margin: 6px;
    background: #FFFFFF;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 68px;
    border: 2px solid #999999;
    border-radius: 20px;
    transition: all 0.3s ease-in 0s;
}

.switch_demo-checkbox:checked + .switch_demo-label .switch_demo-inner {
    margin-left: 0;
}

.switch_demo-checkbox:checked + .switch_demo-label .switch_demo-switch {
    right: 0;
}

input[type="checkbox"] {
    /*width: 18px;*/
    /*height: 18px;*/
    background-color: #f3f3f3;
    border-radius: 5px;
    border: 2px solid #aaa;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}
input[type="checkbox"]:checked {
    background-color: #2196F3;
}
input[type="radio"] {
    width: 18px;
    height: 18px;
    background-color: #f3f3f3;
    border-radius: 50%;
    border: 2px solid #aaa;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}
input[type="radio"]:checked {
    background-color: #2196F3;
}


/* 隱藏默認的複選框 */
input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    background: #f3f3f3;
    cursor: pointer;
    outline: none;
    border: 2px solid #aaa;
    border-radius: 4px;
    position: relative;
}
input[type="checkbox"]:focus{
    outline: none;
}

/* 切換複選框顏色 */
input[type="checkbox"]:checked {
    background-color: #2196F3; /* 藍色 */
    border-color: #2196F3;
}

/* 添加自定義顯示 */
input[type="checkbox"]::after {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    /*background: white;*/
    position: absolute;
    top: -2px;
    left: -1px;
}

/* 當複選框被選中時 */
input[type="checkbox"]:checked::after {
    content: '✔';
    /*font-size: 10px;*/
    color: white;
    text-align: center;
    /*line-height: 20px; !* 調整線條高度 *!*/
    width: 100%; /* 調整寬度 */
    height: 100%; /* 調整高度 */
    position: absolute;
    top: -4px;
    left: 0;
}
