/* -----------all_start----------- */
body {
    font-family: "Helvetica", "PingFang TC", "Roboto", "微軟正黑體", "Microsoft JhengHei", sans-serif;
    font-weight: 400;
    font-size: 1rem;
    letter-spacing: 0.05rem;
    line-height: 1.7;
    color: var(--aw-color-gray-900);
    background-color: var(--aw-color-white);
}

/* -----------Header_start----------- */
header {
    background: var(--aw-color-primary-light);
    position: relative;
}

    header .header-logo {
        margin-left: 16px;
        width: 100px;
    }

@media (min-width:576px) {
    header .header-logo {
        width: 125px;
    }
}

header .header-icon {
    width: 24px;
    margin-right: 8px;
}

@media (min-width:576px) {
    header .header-icon {
        width: 30px;
        margin-right: 4px;
    }
}

header .header-title {
    color: var(--aw-color-gray-900);
}

    header .header-title::after {
        display: inline-block;
        content: "";
        background-image: url('/img/icon_arrow_down.svg');
        width: 12px;
        height: 12px;
        margin-left: 8px;
    }

header .header-language-title {
    padding: 4px 16px;
    border: 1px solid var(--aw-color-gray-900);
    border-radius: 50rem;
    color: var(--aw-color-gray-900);
}

header .header-icon {
    color: var(--aw-color-gray-900);
}

header .header-language-icon {
    padding: 5px 24px 0px 0px;
    font-size: 1.2rem;
    color: var(--aw-color-gray-900);
}

/* -----------header_search_start----------- */
/* -----------header_headermenu_start----------- */
header .headermenu {
    border-bottom: 1px solid var(--aw-color-primary-200);
}

header .headermenu-btn {
    display: inline;
    padding-left: 16px;
    cursor: pointer;
    position: relative;
}

header .headermenu-icon {
    width: 40px;
}

header .headermenu-icon-mask {
    width: 30px;
    height: 30px;
    border-radius: 100%;
    overflow: hidden;
    display: inline-block;
}

header .headermenu-layout {
    display: flex;
    position: relative;
    text-align: end;
    align-items: center;
}

@media (min-width:768px) {
    .header .headermenu-layout {
        text-align: start;
    }
}

header .dropdown-menu.headermenu-dropdown {
    position: absolute;
    top: 40px;
    right: 0px;
    min-width: 200px;
    max-width: 300px;
    color: var(--aw-color-gray-900);
    background: var(--aw-color-primary-light);
    border: solid 1px var(--aw-color-primary-200);
}

header .headermenu-dropdown .headermenu-title {
    font-size: 0.875rem;
}

header .headermenu-dropdown .dropdown-item {
    padding: 8px 20px;
    color: var(--aw-color-gray-900);
    border-left: 3px solid transparent;
    border-bottom: solid 1px var(--aw-color-primary-200);
    white-space: unset;
}

    header .headermenu-dropdown .dropdown-item:last-child {
        border-bottom: none;
    }

    /* -----------header_dropdown-item_hover_start----------- */

    header .headermenu-dropdown .dropdown-item:hover,
    header .headermenu-dropdown .dropdown-item:focus {
        background: none;
        color: var(--aw-color-primary-dark);
        border-left: 3px solid var(--aw-color-primary);
    }

/* -----------header_headermenu_desktop__hover_end----------- */
/* -----------header_headermenu_end----------- */
main {
    /* min-height: 74vh; */
    min-height: 100vh;
}

/* -----------footer_start----------- */
footer {
    background: var(--aw-color-primary-dark);
    margin-top: 48px;
    padding: 24px 0px;
}

    footer .footer-box {
        font-weight: 400;
        font-size: 0.75rem;
        color: var(--aw-color-white);
        text-align: center;
        padding: 24px;
    }

/* -----------footer_end----------- */


h1,
h2 {
    letter-spacing: 0.08rem;
    line-height: 1.7;
    font-size: 1.5rem;
    margin-bottom: 0;
}

h3,
h4 {
    letter-spacing: 0.08rem;
    line-height: 1.7;
    font-size: 1rem;
    margin-bottom: 0;
}

h5,
h6 {
    letter-spacing: 0.08rem;
    line-height: 1.7;
    font-size: 0.875rem;
    margin-bottom: 0;
}


a {
    text-decoration: none;
    color: var(--aw-color-primary);
}

    a:hover {
        text-decoration: none;
    }

    a.text-link-primary {
        text-decoration: underline;
        color: var(--aw-color-primary);
    }

    a.text-link-secondary {
        text-decoration: underline;
        color: var(--aw-color-secondary);
    }

    a.text-link-third {
        text-decoration: underline;
        color: var(--aw-color-gray-600);
    }

        a.text-link-primary:hover,
        a.text-link-secondary:hover,
        a.text-link-third:hover {
            text-decoration: underline;
        }

p, span, img {
    margin: 0px;
}

ul, ol {
    margin: 0px;
    padding-left: 20px;
}

/* -----------all_end----------- */
/* -----------Button_start----------- */
button.btn,
a.btn {
    cursor: pointer;
    padding: 6px 16px;
    border-radius: 0px;
    font-size: unset;
    transition: all .3s ease;
}

/* -----------Button_end----------- */

/* -----------input_start----------- */
input,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 2px;
    border: 1px solid var(--aw-color-primary-200);
}

select {
    background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 200 200'%3E%3Cpath fill='%23292D4F' d='M145.659,68.949c-5.101-5.208-13.372-5.208-18.473,0L99.479,97.233 L71.772,68.949c-5.1-5.208-13.371-5.208-18.473,0c-5.099,5.208-5.099,13.648,0,18.857l46.18,47.14l46.181-47.14 C150.759,82.598,150.759,74.157,145.659,68.949z'/%3E%3C/svg%3E") no-repeat !important;
    background-position: calc(100% - 0.6rem) center !important;
    padding-right: 36px !important;
}

textarea {
    min-height: 100px !important;
}

input[type="button"],
input[type="submit"],
input[type="reset"] {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="date"],
input[type="password"] {
    min-height: 36px;
}

.form-select,
.form-control {
    border-radius: 0;
}

/* input 外框樣式調整 */
.input-group {
    border: 1px solid #ced4da;
}

    .input-group > .form-control {
        border: none;
    }

.input-group-text {
    border-radius: 0px;
    border-left: none;
    border: none;
}

/* input最小高度 */
.form-check.customize {
    min-height: 36px;
    align-content: center;
}

.form-check-input:checked {
    background-color: var(--aw-color-primary);
    border-color: var(--aw-color-primary);
}

.form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgb(25 173 255 / 20%);
}


.form-icon {
    color: var(--aw-color-gray-500);
}

.form-calender-line {
    vertical-align: text-top;
}

/* SwitchButton_start */
.aw-switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 20px;
}

    /* Hide default HTML checkbox */
    .aw-switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

/* The aw-switch-slider */
.aw-switch-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 24px;
    background-color: var(--aw-color-gray-400);
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

    .aw-switch-slider:before {
        position: absolute;
        content: "";
        height: 12px;
        width: 12px;
        left: 4px;
        bottom: 4px;
        border-radius: 50%;
        background-color: var(--aw-color-white);
        -webkit-transition: 0.3s;
        transition: 0.3s;
    }

    .aw-switch-slider:after {
        content: "";
        opacity: 0;
        position: absolute;
        right: 8px;
        top: 5px;
        width: 4px;
        height: 7px;
        border: solid var(--aw-color-primary-dark);
        border-width: 0 2px 2px 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg) translateX(0px) translateY(0px);
        transition: 0.3s ease-in-out;
    }

input:checked + .aw-switch-slider {
    background-color: var(--aw-color-primary);
}

input:focus + .aw-switch-slider {
    box-shadow: 0 0 1px var(--aw-color-primary);
}

input:checked + .aw-switch-slider:before {
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    transform: translateX(20px);
}

input:checked + .aw-switch-slider:after {
    opacity: 1;
    /*   transform: rotate(45deg) translateX(21px) translateY(-20px); */
    transform: rotate(45deg) translateX(1px) translateY(1px);
}

.switch-frame {
    display: flex;
    align-items: center;
    gap: 8px;
}

    .switch-frame span {
        line-height: initial;
    }

.switch-wrapper {
    display: flex;
    align-items: center;
    gap: 6px;
}

/* SwitchButton_end */

/* -----------Range_start----------- */
.custom-range {
    border: unset;
}

/* -----------Range_end----------- */

/* -----------form_required_start----------- */
.form-label {
    margin-bottom: 0.2rem !important;
    height: 1.75rem;
}

    .form-label.required {
        color: var(--aw-color-info);
    }

        .form-label.required::before {
            content: '*';
            color: var(--aw-color-info);
        }

/* -----------form_required_start----------- */
/* -----------form_error_start----------- */
.form-text {
    color: var(--aw-color-secondary);
}

/* -----------form_error_end----------- */
/* -----------form_primary_start----------- */
.form-control:hover,
.form-control:focus,
.form-select:hover,
.form-select:focus {
    border: 1px solid var(--aw-color-primary);
    box-shadow: 0 0 0 0.15rem rgb(25 173 255 / 15%);
}

.form-select::placeholder {
    /* CSS 3 標準 */
    font-size: 0.875rem;
    color: var(--aw-color-gray-500);
}

.form-select::-webkit-input-placeholder {
    /* Chrome, Safari */
    font-size: 0.875rem;
    color: var(--aw-color-gray-500);
}

.form-select:-ms-input-placeholder {
    /* IE 10+ */
    font-size: 0.875rem;
    color: var(--aw-color-gray-500);
}

.form-select::-moz-placeholder {
    /* Firefox 19+ */
    font-size: 0.875rem;
    color: var(--aw-color-gray-500);
    opacity: 1;
}

.form-control::placeholder {
    /* CSS 3 標準 */
    font-size: 0.875rem;
    color: var(--aw-color-gray-500);
}

.form-control::-webkit-input-placeholder {
    /* Chrome, Safari */
    font-size: 0.875rem;
    color: var(--aw-color-gray-500);
}

.form-control:-ms-input-placeholder {
    /* IE 10+ */
    font-size: 0.875rem;
    color: var(--aw-color-gray-500);
}

.form-control::-moz-placeholder {
    /* Firefox 19+ */
    font-size: 0.875rem;
    color: var(--aw-color-gray-500);
    opacity: 1;
}

.form-textarea {
    border: 1px solid var(--aw-color-primary-200);
    border-radius: 2px;
    padding: 8px;
    min-height: 36px;
}

.form-error {
    font-size: 0.875rem;
    color: var(--aw-color-danger);
}

.form-warning {
    font-size: 0.875rem;
    color: var(--aw-color-warning);
}

/* -----------form_primary_end----------- */
/* -----------input_end----------- */
/* -----------btn_start----------- */
.btn-primary {
    background-color: var(--aw-color-primary);
    border: solid 1px var(--aw-color-primary);
}

/* outline 樣式待調整成更像按鈕 */
.btn.btn-outline-dark {
    /* background-color: var(--aw-color-gray-300); */
    border: solid 1.2px var(--aw-color-gray-600);
}

.btn-primary:disabled,
.btn-dark:disabled,
.btn-outline-dark:disabled {
    color: var(--aw-color-white);
    background-color: var(--aw-color-gray-700);
    border-color: var(--aw-color-gray-700);
}

/* -----------btn_end----------- */
/* -----------frame_start----------- */
.frame-primary {
    background: var(--aw-color-white);
    border: 1px solid var(--aw-color-gray-300);
    /* box-shadow: 1px 1px 6px #292d4f1f; */
    border-radius: 6px;
}

.frame-secondary {
    background: var(--aw-color-white);
    /* box-shadow: 1px 1px 6px #292d4f1f; */
    border-radius: 6px;
}

.frame-third {
    background: var(--aw-color-primary-light);
    /* box-shadow: 1px 1px 6px #292d4f1f; */
    border: 1px solid var(--aw-color-gray-300);
    border-radius: 6px;
}

/* -----------frame_end----------- */
/* -----------border_start----------- */
.border-bottom {
    border-bottom: 1px solid var(--aw-color-gray-300) !important;
}

.border-top {
    border-top: 1px solid var(--aw-color-gray-300) !important;
}

hr {
    border-top: 1px solid var(--aw-color-gray-600);
}

/* -----------border_end----------- */
/* -----------badge_start----------- */
.badge {
    padding: 6px 8px;
    font-weight: 600;
}

    .badge.badge-primary {
        background-color: var(--aw-color-primary-light);
        color: var(--aw-color-primary);
    }

    .badge.badge-secondary {
        background-color: var(--aw-color-gray-200);
        color: var(--aw-color-gray-700);
    }

    .badge.badge-success {
        background-color: var(--aw-color-success-light);
        color: var(--aw-color-success);
    }

    .badge.badge-danger {
        background-color: var(--aw-color-danger-light);
        color: var(--aw-color-danger);
    }

    .badge.badge-warning {
        background-color: var(--aw-color-warning-light);
        color: var(--aw-color-warning);
    }

    .badge.badge-info {
        background-color: var(--aw-color-info-light);
        color: var(--aw-color-info);
    }

.primary-badge {
    background-color: var(--aw-color-gray-900);
    color: var(--aw-color-white);
    position: absolute;
    top: 18%;
    left: 65%;
    border-radius: 50rem;
    transform: translate(-50%, -50%);
}

/* -----------badge_end----------- */
/* -----------loading_start----------- */
.modal {
    background: #d6d8e98a;
}

.loading-title {
    color: var(--aw-color-gray-900);
    margin-bottom: 16px;
}

/* -----------modal_start----------- */
.modal {
    background: transparent;
}

.modal-mark {
    color: var(--aw-color-black);
    font-weight: 600;
}

.modal-title {
    font-size: 18px;
    color: var(--aw-color-black);
}

.modal-body {
    background-color: var(--aw-color-white);
}

    .modal-body a {
        color: var(--aw-color-gray-800);
    }

        .modal-body a:hover {
            font-weight: 500;
        }

/* -----------modal_loading_start----------- */
.line {
    display: inline-block;
    width: 5px;
    height: 15px;
    border-radius: 15px;
    background-color: var(--aw-color-primary);
}

.loading-box {
    margin-top: 16px;
    margin-bottom: 16px;
    width: 50px;
    height: 30px;
}

.loading {
    text-align: center;
}

    .loading .line:nth-last-child(1) {
        animation: loading 1.5s 1s infinite;
    }

    .loading .line:nth-last-child(2) {
        animation: loading 1.5s 0.5s infinite;
    }

    .loading .line:nth-last-child(3) {
        animation: loading 1.5s 0s infinite;
    }

@keyframes loading {
    0% {
        height: 15px;
    }

    50% {
        height: 35px;
    }

    100% {
        height: 15px;
    }
}

/* -----------modal_loading_end----------- */
/* -----------modal_confirm/alert_start----------- */
.modal-icon {
    stroke-dashoffset: 2000;
    stroke-dasharray: 2000;
    animation: modal-icon 10s 0.5s linear infinite;
}

@keyframes modal-icon {
    80% {
        stroke-dashoffset: 0;
    }
}

/* -----------modal_loading_end----------- */
/* -----------modal_confirm/alert_end----------- */
/* -----------modal_end----------- */
/* -----------empty_start----------- */
.empty-layout {
    text-align: center;
    padding: 48px 0px;
}

.empty-title {
    font-weight: 600;
    margin-top: 16px;
    font-size: 18px;
    color: var(--aw-color-gray-900);
}

.empty-subtitle {
    color: var(--aw-color-gray-500);
}

/* -----------empty_end----------- */
/* -----------header_mainmenu_start----------- */
.mainmenu {
    border: 1px solid #292d4f1f;
    /* box-shadow: 1px 1px 6px #292d4f1f; */
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
}

.mainmenu-title {
    color: var(--aw-color-gray-600);
    margin-top: 8px;
}

.mainmenu .nav-tabs .nav-item {
    flex-grow: 1;
}

.mainmenu .nav-item .nav-link.mainmenu-item {
    text-align: center;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 2px solid #1aaefe00;
    /* width: 120px; */
}

    .mainmenu .nav-item .nav-link.mainmenu-item.active {
        border-bottom: 2px solid var(--aw-color-primary);
    }


    .mainmenu .nav-item .nav-link.mainmenu-item:hover,
    .mainmenu .nav-item .nav-link.mainmenu-item:focus {
        border-top: 0;
        background: var(--aw-color-primary-light);
        color: var(--aw-color-gray-500);
        font-weight: 400;
    }

    .mainmenu .nav-item .nav-link.mainmenu-item.active .mainmenu-title {
        color: var(--aw-color-primary);
    }

    .mainmenu .nav-item .nav-link.mainmenu-item.active .mainmenu-icon {
        filter: invert(50%) sepia(86%) saturate(1527%) hue-rotate(174deg) brightness(102%) contrast(99%);
    }


/* -----------header_mainmenu_scroll_start----------- */

/*.mainmenu .scroll-pre-btn {
position: absolute;
z-index: 10;
left: -2%;
}

@media (min-width: 992px) {
.mainmenu .scroll-pre-btn {
  height: 84px;
  width: 80px;
  left: -7%;
}
}

.mainmenu .scroll-next-btn {
position: absolute;
z-index: 10;
right: -2%;
}

@media (min-width: 992px) {
.mainmenu .scroll-next-btn {
  height: 84px;
  width: 80px;
  right: -7%;
}
}

.mainmenu .js-img-scroll {
position: relative;
}

.mainmenu .scroll-pre-btn .js-pre, .mainmenu .scroll-next-btn .js-next {
height: 84px;
width: 60px;
color: var(--aw-color-primary);
background-color: rgba(255,255,255,0.35);
opacity: 0.5;
border-radius: 6px;
}

@media (min-width: 768px) {
.mainmenu .scroll-pre-btn .js-pre, .mainmenu .scroll-next-btn .js-next {
  height: 84px;
  width: 50px;
}
}

@media (min-width: 992px) {
.mainmenu .scroll-pre-btn .js-pre, .mainmenu .scroll-next-btn .js-next {
  height: 84px;
  width: 80px;
}
}

.mainmenu .scroll-pre-btn .js-pre:hover, .mainmenu .scroll-pre-btn .js-pre:focus, .mainmenu .scroll-next-btn .js-next:hover, .mainmenu .scroll-pre-btn .js-pre:focus {
color: var(--aw-color-primary);
background-color: rgba(255,255,255,0.68);
opacity: 1;
border-radius: 6px;
box-shadow: none;
}

.mainmenu .scroll-pre-btn .js-pre i, .mainmenu .scroll-next-btn .js-next i {
font-size: 1.125rem;
}

.mainmenu .scroll-like {
width: 50%;
min-width: 50%;
max-width: 50%;
}

@media (min-width: 768px) {
.mainmenu .scroll-like {
  width: 25%;
  min-width: 25%;
  max-width: 25%;
}
}

@media (min-width: 992px) {
.mainmenu .scroll-like {
  width: 12.5%;
  min-width: 12.5%;
  max-width: 12.5%;
}
}

.mainmenu .scroll-none {
-ms-overflow-style: none;
overflow: -moz-scrollbars-none;
margin: 0 -15px;
}

.mainmenu .scroll-none::-webkit-scrollbar {
  display: none;
}*/
/* -----------header_mainmenu_scroll_end----------- */
/* -----------header_mainmenu_end----------- */
/* -----------menu_start----------- */
.menu {
    margin-top: 48px;
}

    .menu .menu-card {
        height: 100%;
    }

    .menu .menu-title {
        font-size: 1rem;
        margin-bottom: 0;
        padding: 16px;
        border-bottom: 1px solid var(--aw-color-gray-300);
        margin-bottom: 8px;
        background-color: var(--aw-color-primary-light);
        color: var(--aw-color-gray-800);
        border-radius: 6px 6px 0px 0px;
    }

    .menu ul {
        list-style-type: none;
    }

    .menu .menu-item {
        padding: 4px 4px 4px 24px;
    }

        .menu .menu-item a {
            color: var(--aw-color-gray-900);
            font-weight: 400;
            font-size: 1rem;
        }

        .menu .menu-item:hover a {
            color: var(--aw-color-primary);
        }

/* -----------menu_end----------- */
/* -----------breadcrumb_start----------- */
.breadcrumb {
    margin: 0;
}

.breadcrumb-item {
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width:576px) {
    .breadcrumb-item {
        max-width: 300px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

.breadcrumb-item a {
    color: var(--aw-color-gray-900);
}

    .breadcrumb-item a:hover {
        color: var(--aw-color-primary);
    }

.breadcrumb-item.active {
    color: var(--aw-color-gray-600);
    max-width: 500px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.breadcrumb-box {
    border-bottom: 1px solid var(--aw-color-gray-400);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 16px;
}


/* -----------breadcrumb_end----------- */
/* -----------table_start----------- */
.table {
    background: var(--aw-color-white);
    border: 1px solid #292d4f1f;
    word-break: keep-all;
    --bs-table-striped-bg: var(--aw-color-gray-light);
}

@media (min-width:992px) {
    .table {
        word-break: break-all;
    }
}

.table > :not(caption) > * > * {
    padding: 16px;
}

.table tr {
    border-bottom: 1px solid var(--aw-color-gray-400);
}

.table td {
    padding: 16px;
}

.table thead {
    background: var(--aw-color-primary-light);
}

.table.subTable thead {
    background: var(--aw-color-gray-300);
}

.table .table-system {
    overflow: visible;
    width: 30px;
}

    .table .table-system a {
        padding: 10px 16px;
    }

    .table .table-system .dropdown > a:hover {
        background: var(--aw-color-gray-300);
        border-radius: 100%;
    }

.table .table-sequence {
    overflow: visible;
    width: 100px;
}

.table .table-code {
    width: 148px;
}

.table .table-hotel {
    width: 148px;
}

.table .table-roomtype {
    width: 120px;
}
/* 表格前表格最左邊， menu icon 樣式*/
.frame-primary .dropdown > a {
    border-radius: 100%;
}

    .frame-primary .dropdown > a:hover {
        background-color: var(--aw-color-gray-300);
    }

/*    強制隱藏多餘的文字*/
.table th.overflow-sm-ellipsis,
.table td.overflow-sm-ellipsis {
    word-break: keep-all;
    max-width: 100px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.table th.overflow-md-ellipsis,
.table td.overflow-md-ellipsis {
    word-break: keep-all;
    max-width: 300px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.table th.overflow-lg-ellipsis,
.table td.overflow-lg-ellipsis {
    word-break: keep-all;
    max-width: 600px;
    overflow: hidden;
    text-overflow: ellipsis;
}

/*    強制隱藏多餘的文字*/

/*.table thead th {
    min-width: 82px;
}*/

.table thead a,
.table thead span,
.table thead p {
    font-size: 0.875rem;
    color: var(--aw-color-gray-800);
}

    .table thead a:hover,
    .table thead a:focus {
        color: var(--aw-color-primary-dark);
    }

.table > :not(:first-child) {
    border-top: 0px solid #00000000;
}

/* .table a .icon-table {
    color: var(--aw-color-gray-900);
}

    .table a .icon-table:hover {
        color: #51589a;
    } */

.table > tbody > tr:hover {
    background: var(--aw-color-gray-light);
    /* box-shadow: 0 0 0 0.05rem var(--aw-color-primary); */
}

/*訂票歷程 table_start*/

.table-ticket-history > tbody > tr:hover {
    background: unset;
    box-shadow: unset;
}

.table-ticket-history .ticket-content tr:last-child {
    border-bottom: 0;
}

.table-ticket-history .td-payment-detail div {
    margin-bottom: 8px;
}

    .table-ticket-history .td-payment-detail div:last-child {
        margin-bottom: 0px;
    }

.table-ticket-history .table-payment-failed-message {
    border-bottom: 0;
    padding-bottom: 0;
}

/*td 大小_start*/
.table-ticket-history .td-ticket-statu {
    min-width: 100px;
    text-align: center;
}

.table-ticket-history .td-ticket-ordertime {
    min-width: 230px;
    max-width: 240px;
    word-break: break-word;
}

.table-ticket-history .td-ticket-time {
    min-width: 200px;
}

.table-ticket-history .td-ticket-no {
    min-width: 120px;
}

.table-ticket-history .td-ticket-price {
    min-width: 80px;
}

.table-ticket-history .td-ticket-detail {
    min-width: 90px;
}

.table-ticket-history .td-payment-detail {
    min-width: 200px;
}

/*td 大小_end*/
/*訂票歷程 table_end*/

.table-img-sm {
    width: 150px;
}

.table-img-md {
    width: 250px;
}

.table-img-lg {
    width: 300px;
}

/* -----------table_end----------- */
/* -----------pages_start----------- */
.pages {
    margin-top: 24px;
}

    .pages .page-text {
        font-weight: 600;
        color: var(--aw-color-gray-900);
    }

    .pages .form-select {
        width: 100px;
        color: var(--aw-color-info);
        border-radius: 6px !important;
        margin: 0px 4px 0px 0px;
    }

    .pages .page-link {
        width: 50px;
        border-radius: 6px !important;
        text-align: center;
        color: var(--aw-color-gray-900);
        margin: 0px 4px 0px 4px;
        border: 1px solid var(--aw-color-gray-400);
    }

        .pages .page-link:hover,
        .pages .page-link:focus {
            border: 1px solid var(--aw-color-primary);
            box-shadow: 0 0 0 0.15rem rgb(25 173 255 / 15%);
            background: none;
        }

.page-link.disabled {
    opacity: 0.6;
    pointer-events: none;
}

/* -----------pages_end----------- */

/* -----------tabs_start----------- */
.nav-tabs {
    border-bottom: none !important;
}

    .nav-tabs .nav-link {
        color: var(--aw-color-gray-900);
        border-bottom: 2px solid #ffffff00;
    }

        .nav-tabs .nav-item.show .nav-link,
        .nav-tabs .nav-link.active {
            color: var(--aw-color-gray-900);
            font-weight: 600;
            border-bottom: 2px solid;
            border-color: #fff #fff var(--aw-color-gray-900);
            transition: none;
            /*            box-shadow: 1px 1px 6px #292d4f1f;*/
        }

        .nav-tabs .nav-link:hover,
        .nav-tabs .nav-link:hover {
            /* border: 2px solid; */
            border-color: #fff #fff #292d4f1f;
        }

/* -----------tabs_end----------- */
/* -----------group_start----------- */

.group-box {
    background: var(--aw-color-white);
    border: 1px solid #292d4f1f;
}

.group-box-title {
    border-bottom: 1px solid var(--aw-color-gray-300);
    background-color: var(--aw-color-primary-light);
}

.group-big-title {
    color: var(--aw-color-gray-900);
    letter-spacing: 0.08rem;
    line-height: 1.7;
    font-size: 1.5rem;
    margin-bottom: 0;
    font-weight: 600;
}

.dropdown .fa-ellipsis-v {
    color: var(--aw-color-gray-900);
}

    .dropdown .fa-ellipsis-v:hover,
    .dropdown .fa-ellipsis-v:focus {
        /* color: #51589a; */
        color: var(--aw-color-gray-900);
    }

/* -----------group_end----------- */
/* -----------img_group_start----------- */
.img-group-box {
    border: 2px solid #1aadfe00;
    position: relative;
}

    .img-group-box:hover {
        border: 2px solid var(--aw-color-primary);
    }

.img-group-title {
    inset: 6% 8% auto auto;
    position: absolute;
    border-radius: 50%;
    padding: 12px 16px;
    background: #ffffffaf;
}

.img-group-dropdown {
    inset: 12% auto auto 8%;
    position: absolute;
    border-radius: 50%;
}

.frame-primary .dropdown > a {
    border-radius: 100%;
    padding: 10px 16px;
    background: #ffffffaf;
    cursor: pointer;
}

/* -----------img_group_end----------- */
/* -----------img_content_start----------- */

.img-title {
    color: var(--aw-color-gray-900);
    font-weight: 600;
}

/* -----------img_content_end----------- */

/* -----------home_setting_start----------- */
/* -----------modules_start----------- */
.modules {
    margin-top: 16px;
}

.modules-title {
    color: var(--aw-color-gray-900);
}

.section-module-head {
    margin-top: 48px;
}

/* -----------modules_start----------- */
.module {
    padding: 16px;
    border: 2px solid var(--aw-color-primary-200);
    border-radius: 6px;
}

.module-title {
    color: var(--aw-color-gray-900);
}

.module-box {
    position: relative;
}

.module-dropdown {
    inset: 6% auto auto 4%;
    position: absolute;
    border-radius: 50%;
    padding: 10px 22px;
    background: #ffffffaf;
    z-index: 100;
    font-size: 1.2rem;
    color: var(--aw-color-gray-900);
}

.module-list {
    inset: 6% 4% auto auto;
    position: absolute;
    border-radius: 50%;
    padding: 10px 20px;
    background: #ffffffaf;
    z-index: 100;
    font-size: 1.2rem;
    color: var(--aw-color-gray-900);
}

/* -----------new_module_start----------- */
.new-module {
    margin-top: 8px;
    border: 2px solid var(--aw-color-primary-200);
    border-radius: 6px;
    text-align: center;
    height: 100px;
    width: 100%;
    transition: all 0.5s ease-in-out;
}

    .new-module a {
        color: var(--aw-color-gray-500);
    }

    .new-module:hover {
        background: var(--aw-color-primary-200);
        color: var(--aw-color-gray-800);
    }

    .new-module a:hover {
        background: var(--aw-color-primary-200);
        color: var(--aw-color-gray-800);
    }

.new-module-title {
    font-size: 1.2rem;
    margin-top: 8px;
}

.new-module-icon {
    font-size: 2rem;
}

.new-module-dropdown {
    width: 50%;
    inset: 0px auto auto 50% !important;
}

.new-module-dropdown-icon {
    width: 60px;
}

.new-module-dropdown-title {
    color: var(--aw-color-gray-500);
}

.new-module .dropdown-item:hover {
    background: var(--aw-color-primary-light) !important;
}

    .new-module .dropdown-item:hover .new-module-dropdown-title {
        color: var(--aw-color-primary);
    }

    .new-module .dropdown-item:hover .new-module-dropdown-icon {
        filter: invert(50%) sepia(86%) saturate(1527%) hue-rotate(174deg) brightness(102%) contrast(99%);
    }

/* -----------new_module_end----------- */
/* -----------home_setting_end----------- */
/* -----------avaliability_rate_start----------- */
/* -----------avaliability_rate_date_start----------- */
.avaliability-rate {
    min-height: 100vh;
}

.avaliability-rate-calender {
    margin-top: 16px;
    border: 1px solid #292d4f1f;
    box-shadow: 1px 1px 6px #292d4f1f;
    background: var(--aw-color-primary-light);
    position: sticky;
    top: 0px;
}

.avaliability-rate-calender-title {
    border: none;
    color: var(--aw-color-gray-900);
    border-radius: 6px;
    padding: 4px;
    border: 1px solid #1aaefe00;
    font-size: 1.25rem;
}

.avaliability-rate-calender-btn {
    position: absolute;
    width: 40px;
    border-radius: 6px;
    margin: 0px 4px 0px 4px;
    z-index: 1000;
}

    .avaliability-rate-calender-btn .fa-angle-right,
    .avaliability-rate-calender-btn .fa-angle-left {
        color: var(--aw-color-gray-900);
    }



    .avaliability-rate-calender-btn.right {
        inset: 22% 98.5%;
    }

    .avaliability-rate-calender-btn.left {
        inset: 22% 20%;
    }

    .avaliability-rate-calender-btn.right img {
        filter: invert(12%) sepia(150%) saturate(950%) hue-rotate(171deg) brightness(44%) contrast(221%);
    }

    .avaliability-rate-calender-btn.left img {
        filter: invert(12%) sepia(150%) saturate(950%) hue-rotate(171deg) brightness(44%) contrast(221%);
    }

@media (min-width:1200px) {
    .avaliability-rate-calender-btn.right {
        inset: 22% 99.5%;
    }

    .avaliability-rate-calender-btn.left {
        inset: 22% 32%;
    }
}

@media (min-width:1400px) {
    .avaliability-rate-calender-btn.right {
        inset: 22% 99.5%;
    }

    .avaliability-rate-calender-btn.left {
        inset: 22% 20%;
    }
}

/* Google飯店 tab內房價日曆 左右箭頭位置 */
.tab-pane .avaliability-rate-calender-date-layout .avaliability-rate-calender-btn.right {
    inset: 22% 100%;
    font-size: 1rem;
}

.tab-pane .avaliability-rate-calender-date-layout .avaliability-rate-calender-btn.left {
    inset: 22% 11.5%;
    font-size: 1rem;
}

@media (min-width:1200px) {
    .tab-pane .avaliability-rate-calender-date-layout .avaliability-rate-calender-btn.right {
        inset: 22% 100%;
    }

    .tab-pane .avaliability-rate-calender-date-layout .avaliability-rate-calender-btn.left {
        inset: 22% 14.5%;
    }
}

.avaliability-rate-calender-btn:hover,
.avaliability-rate-calender-btn:focus {
    border: 1px solid var(--aw-color-primary);
    box-shadow: 0 0 0 0.15rem rgb(25 173 255 / 15%);
    background-color: var(--aw-color-white) !important;
}

.avaliability-rate-calender-state-text {
    font-size: 0.875rem;
    vertical-align: text-bottom;
}

.avaliability-rate-calender-state.room-avaliable {
    background: var(--aw-color-success-light);
}

.avaliability-rate-calender-state.room-full {
    background: var(--aw-color-danger-light);
}

.avaliability-rate-calender-state.room-waiting {
    background: var(--aw-color-warning-light);
}

.avaliability-rate-calender-state {
    width: 18px;
    height: 18px;
    border: 1px solid var(--aw-color-primary-200);
    display: inline-block;
}

.avaliability-rate-calender-date {
    display: inline-block;
    text-align: center;
    padding: 6px 8px;
    min-width: 50px;
    border: 1px solid var(--aw-color-primary-200);
    background: var(--aw-color-white);
}

.avaliability-rate-search {
    font-size: 0.875rem;
    display: inline-block;
    min-width: 50px;
}

.avaliability-rate-search-btn {
    text-align: left;
    border: 1px solid var(--aw-color-primary-200);
    width: 120px;
    background: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 200 200'%3E%3Cpath fill='%23292D4F' d='M145.659,68.949c-5.101-5.208-13.372-5.208-18.473,0L99.479,97.233 L71.772,68.949c-5.1-5.208-13.371-5.208-18.473,0c-5.099,5.208-5.099,13.648,0,18.857l46.18,47.14l46.181-47.14 C150.759,82.598,150.759,74.157,145.659,68.949z'/%3E%3C/svg%3E") no-repeat var(--aw-color-white) !important;
    background-position: calc(100% - 0.6rem) center !important;
}

@media (min-width:1200px) {
    .avaliability-rate-search-btn {
        width: 180px;
    }
}

@media (min-width:1200px) and (max-width:1400px) {
    .avaliability-rate-search-btn {
        width: 284px;
    }
}

.avaliability-rate-search-btn:hover,
.avaliability-rate-search-btn:focus {
    border: 1px solid var(--aw-color-primary);
    box-shadow: 0 0 0 0.15rem rgb(25 173 255 / 15%);
}

.avaliability-rate-search-text {
    word-break: keep-all;
    max-width: 100px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (min-width:1200px) {
    .avaliability-rate-search-text {
        max-width: 150px;
    }
}

.avaliability-rate-checkbox {
    padding-left: 16px;
    padding-right: 30px;
    font-size: 0.875rem;
    display: inline-block;
    min-width: 50px;
}

@media (min-width:1200px) {
    .avaliability-rate-checkbox {
        padding-right: 46px;
    }
}

@media (min-width:1400px) {
    .avaliability-rate-calender-date {
        padding: 8px 18px;
        min-width: 70px;
    }
}

.avaliability-rate-calender-date.active {
    border: 1px solid var(--aw-color-primary);
    color: var(--aw-color-primary);
    box-shadow: 0 0 0 0.15rem rgb(25 173 255 / 15%);
    font-weight: 600;
    width: 52px;
    border-radius: 6px;
    position: relative;
}

@media (min-width:1400px) {
    .avaliability-rate-calender-date.active {
        width: 72px;
    }
}

.avaliability-rate-calender-date-layout {
    position: relative;
    margin-top: 32px;
    font-size: 0;
    text-align: right;
}

.avaliability-rate-calender-date p {
    font-size: 0.875rem;
}

/* -----------avaliability_rate_date_end----------- */
.avaliability-rate-title {
    font-weight: 600;
    color: var(--aw-color-gray-900);
}

.table.avaliability-rate-table {
    margin-top: 16px;
    font-size: 0.75rem;
    box-shadow: 1px 1px 6px #292d4f1f;
}

    /* 不可編輯的格子 灰底效果 */
    .table.avaliability-rate-table .avaliability-rate-table-data:has(input:disabled) {
        background-color: var(--aw-color-gray-light);
    }

.avaliability-rate-table-tbody tr:nth-last-child(1) {
    border-bottom: 1px solid var(--aw-color-gray-500);
}

.avaliability-rate-table-items {
    text-align: center;
    width: 100px;
}

.avaliability-rate-table-data {
    text-align: center;
    width: 50px;
    height: 40px;
    padding: 0 !important;
}

@media (min-width:1400px) {
    .avaliability-rate-table-data {
        width: 70px;
    }
}

.table.avaliability-rate-table .avaliability-rate-table-data input[type="number"] {
    background: none;
    border: none;
    max-width: 50px;
    text-align: center;
    border-radius: 0;
}

@media (min-width:1400px) {
    .table.avaliability-rate-table .avaliability-rate-table-data input[type="number"] {
        max-width: 70px;
    }
}

.table.avaliability-rate-table .avaliability-rate-table-data input[type="number"]:focus-visible {
    background: none;
    border-radius: 0;
    outline: none;
}

.table.avaliability-rate-table .avaliability-rate-table-data input[type=number]::-webkit-inner-spin-button,
.table.avaliability-rate-table .avaliability-rate-table-data input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.table.avaliability-rate-table .avaliability-rate-table-data input[type=number] {
    -moz-appearance: textfield;
}

.avaliability-rate-table-data.room-avaliable {
    background: var(--aw-color-success-light);
}

.avaliability-rate-table-data.room-full {
    background: var(--aw-color-danger-light);
}

.avaliability-rate-table-data.room-waiting {
    background: var(--aw-color-warning-light);
}

.avaliability-rate-table-data.js-modify {
    border-left: 2px solid var(--aw-color-secondary);
    border-top: 2px solid var(--aw-color-secondary);
    border-bottom: 2px solid var(--aw-color-secondary);
    border-right: 2px solid var(--aw-color-secondary);
    /*background-color: var(--aw-color-secondary-light);*/
}

.avaliability-rate-table-data.js-error-prev {
    border-right: 0;
}

.table.avaliability-rate-table > tbody > tr:hover {
    background: none;
    box-shadow: none;
}

.room-frame {
    border: 2px solid var(--aw-color-primary) !important;
}

.room-frame-start {
    border-left: 2px solid var(--aw-color-primary) !important;
    border-top: 2px solid var(--aw-color-primary) !important;
    border-bottom: 2px solid var(--aw-color-primary) !important;
}

.room-frame-middle {
    border-top: 2px solid var(--aw-color-primary) !important;
    border-bottom: 2px solid var(--aw-color-primary) !important;
}

.room-frame-end {
    border-right: 2px solid var(--aw-color-primary) !important;
    border-top: 2px solid var(--aw-color-primary) !important;
    border-bottom: 2px solid var(--aw-color-primary) !important;
}

/* -----------avaliability_rate_dropdown_start----------- */
.room-dropdown {
    height: auto;
    background: var(--aw-color-white);
    border: 1px solid #292d4f1f;
    box-shadow: 1px 1px 6px #292d4f1f;
    width: 300px;
    padding: 16px;
    position: absolute;
    z-index: 10000;
}

.room-dropdown-title {
    font-weight: 600;
    text-align: center;
    color: var(--aw-color-gray-900);
}

/* -----------avaliability_rate_dropdown_end----------- */
/* -----------avaliability_rate_end----------- */
/* -----------package_breakdown_start----------- */
/* -----------package_breakdown_date_start----------- */
/* .package-breakdown-calender {
    margin-top: 16px;
    border: 1px solid #292d4f1f;
    box-shadow: 1px 1px 6px #292d4f1f;
    background: var(--aw-color-primary-light);
    position: sticky;
    top: 0px;
}

.package-breakdown-calender-title {
    background: var(--aw-color-primary-light);
    border: none;
    color: var(--aw-color-gray-900);
    border-radius: 6px;
    padding: 8px;
    border: 1px solid #1aaefe00;
    font-size: 1.25rem;
}

    .package-breakdown-calender-title:focus-visible {
        outline: none;
    }

.package-breakdown-calender-btn {
    width: 50px;
    border-radius: 6px;
    margin: 0px 4px 0px 4px;
}

    .package-breakdown-calender-btn:hover,
    .package-breakdown-calender-btn:focus,
    .package-breakdown-calender-title:hover,
    .package-breakdown-calender-title:focus {
        border: 1px solid var(--aw-color-primary);
        box-shadow: 0 0 0 0.15rem rgb(25 173 255 / 15%);
        background: var(--aw-color-white);
    }

.package-breakdown-calender-state-text {
    font-size: 0.875rem;
    vertical-align: text-bottom;
}

.package-breakdown-calender-state.room-expire {
    background: #FFD8B1;
}

.package-breakdown-calender-state.room-full {
    background: var(--aw-color-danger-light);
}

.package-breakdown-calender-state.room-waiting {
    background: var(--aw-color-warning-light);
}

.package-breakdown-calender-state.room-none {
    background: var(--aw-color-gray-200);
}

.package-breakdown-calender-state {
    width: 18px;
    height: 18px;
    border: 1px solid var(--aw-color-primary-200);
    display: inline-block;
}

.package-breakdown-calender-date {
    display: inline-block;
    text-align: center;
    padding: 8px 8px;
    min-width: 49px;
    border: 1px solid var(--aw-color-primary-200);
    background: var(--aw-color-white);
}

@media (min-width:1400px) {
    .package-breakdown-calender-date {
        padding: 8px 18px;
        min-width: 69px;
    }
}

.package-breakdown-calender-date.active {
    border: 1px solid var(--aw-color-primary);
    color: var(--aw-color-primary);
    box-shadow: 0 0 0 0.15rem rgb(25 173 255 / 15%);
    font-weight: 600;
    border-radius: 6px;
    position: relative;
}

.package-breakdown-calender-date-active {
    flex-direction: row-reverse;
    height: 70px;
    opacity: 0;
    position: absolute;
    padding: 0px;
    inset: -6% 30%;
}

.package-breakdown-calender-date-layout {
    margin-top: 16px;
    font-size: 0;
    text-align: right;
}

.package-breakdown-calender-date p {
    font-size: 0.875rem;
} */

/* -----------package_breakdown_date_end----------- */
/* .package-breakdown-title a {
    color: var(--aw-color-gray-900);
}

    .package-breakdown-title a:hover {
        color: var(--aw-color-primary);
    }

.table.package-breakdown-table {
    margin-top: 16px;
    font-size: 0.75rem;
}

.package-breakdown-table-tbody {
    box-shadow: 1px 1px 6px #292d4f1f;
}

.package-breakdown-box tr:nth-last-child(1) {
    border-bottom: 1px solid var(--aw-color-gray-500);
}

.table.package-breakdown-table th,
.table.package-breakdown-table td {
    padding: 8px 2px;
}

.package-breakdown-table-items {
    font-weight: 600;
    text-align: center;
}

.package-breakdown-table-data {
    text-align: center;
    width: 50px;
}

@media (min-width:1400px) {
    .package-breakdown-table-data {
        width: 70px;
    }
}

.package-breakdown-table-data.room-expire {
    background: #FFD8B1;
}

.package-breakdown-table-data.room-full {
    background: var(--aw-color-danger-light);
}

.package-breakdown-table-data.room-waiting {
    background: var(--aw-color-warning-light);
}

.package-breakdown-table-data.room-none {
    background: var(--aw-color-gray-200);
} */

/* .table.package-breakdown-table > tbody > tr:hover {
background: none;
box-shadow: none;
} */
/* -----------package_breakdown_end----------- */
/* -----------thsr_start----------- */
.section-thsr {
    margin: 48px 0px;
}

.thsr-title {
    color: var(--aw-color-gray-900);
    font-weight: 600;
}

/* -----------thsr_table_start----------- */
.table.thsr-table {
    background: var(--aw-color-white);
    border: 1px solid #292d4f1f;
    box-shadow: 1px 1px 6px #292d4f1f;
}

    .table.thsr-table input[type="text"] {
        border: none;
        max-width: 66px;
        text-align: center;
        border-radius: 0;
        display: table-cell;
    }

@media (min-width:1400px) {
    .table.thsr-table input[type="text"] {
        max-width: 100px;
    }
}

.table.thsr-table input[type="text"]:focus-visible {
    outline: 2px solid #1aadfe00;
}

.table.thsr-table input[type="text"]:hover,
.table.thsr-table input[type="text"]:focus {
    border-radius: 0;
    border: 2px solid var(--aw-color-primary);
}

.thsr-table .thsr-table-title {
    word-break: keep-all;
    background: var(--aw-color-primary-light);
}

.thsr-table .thsr-table-empty {
    background: #eeeeeebd;
}


.thsr-table th,
.thsr-table td {
    text-align: center;
}

.thsr-table td {
    padding: 0;
}

.table.thsr-table > tbody > tr:hover {
    background: none;
    box-shadow: none;
}

/* -----------thsr_table_end----------- */
/* -----------thsr_end----------- */

/* ---------- setting_start 覆蓋bootstrap ---------- */
.text-primary {
    color: var(--aw-color-primary) !important;
}

.aw-btn-primary {
    background-color: var(--aw-color-primary);
    border: none;
    color: var(--aw-color-white);
}

    .aw-btn-primary:hover {
        background-color: var(--aw-color-primary-dark);
        color: var(--aw-color-white);
    }

.aw-btn-secondary {
    border: 1px solid var(--aw-color-primary-400);
    background-color: var(--aw-color-white);
    color: var(--aw-color-primary);
}

    .aw-btn-secondary:hover {
        color: var(--aw-color-primary-dark);
    }

/* 寫一個統一的 .btn:hover 效果？ */

.pc-show {
    display: none;
}

.mb-show {
    display: block;
}

@media (min-width:768px) {
    .pc-show {
        display: block;
    }

    .mb-show {
        display: none;
    }
}

/*目前後台沒用到*/
.card-body {
    padding: 0;
}

.card-title {
    margin-bottom: 0;
}

/* ---------- setting_end ---------- */
/* ---------- actionbar_start ---------- */
.navbar {
    align-items: flex-end;
}

    .navbar.headermenu {
        justify-content: center;
    }

.actionbar {
    border-bottom: 1px solid var(--aw-color-gray-400);
}

    .actionbar .form-control {
        background-color: var(--aw-color-gray-light) !important;
    }

        .actionbar .form-control:focus {
            border: 1px solid var(--color-gray-400);
        }

    .actionbar select {
        background-size: 16px !important;
    }

    .actionbar input[type="date"] {
        color: unset;
        border: 1px solid var(--color-gray-400);
    }

    .actionbar .btn-preview-wrapper .btn {
        border: 1px solid var(--aw-color-gray-400);
        border-radius: 4px;
        width: inherit;
    }

    .actionbar img {
        width: auto;
    }

    .actionbar .btn.active,
    .actionbar .btn:hover,
    .actionbar .btn:focus {
        background-color: var(--aw-color-primary);
        border: 1px solid var(--aw-color-primary);
    }

        .actionbar .btn.active img,
        .actionbar .btn:hover img,
        .actionbar .btn:focus img {
            filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(306deg) brightness(180%) contrast(103%);
        }

/* ---------- actionbar_end ---------- */

/* ---------- newsection_start ---------- */
.newsection {
    border: 2px dashed var(--aw-color-primary);
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    transition: all .3s ease;
}

    .newsection:hover {
        border-color: var(--aw-color-primary-dark);
        transition: all .3s ease;
    }

        .newsection:hover .btn-newsection {
            background-color: var(--aw-color-primary-dark);
            transition: all .3s ease;
        }

.btn-newsection {
    background-color: var(--aw-color-primary);
    color: var(--aw-color-white);
    box-shadow: 0px 4px 10px 0px var(--aw-color-shadow-primary);
    padding: 8px 12px;
    margin: 12px;
    transition: all .3s ease;
}

    .btn-newsection:hover {
        color: var(--aw-color-white);
    }

.diagram-item {
    border: none;
}

    .diagram-item :hover {
        background-color: var(--aw-color-primary-light);
    }

.diagram {
    border: none;
    cursor: pointer;
}

/* ---------- newsection_end ---------- */

/* ---------- edit section_start ---------- */
.editarea {
    position: relative;
    padding: 40px 0;
}

    /* 控制preview寬度的container */
    .editarea > .container {
        position: relative;
        /*margin: 0px calc(12%);*/
        padding: 0;
        display: flex;
        flex-direction: column;
    }

.editsection > .container {
    max-width: unset !important;
    min-width: unset !important;
    margin: unset;
}


.editsection {
    position: relative;
    margin-bottom: 28px;
}

    .editsection.aw-module-gragging {
        /* 模組 grabbing 時效果; */
        cursor: grabbing;
        background-color: var(--aw-color-primary-200);
    }

    .editsection::before {
        content: "";
        display: none;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        border: solid 2px var(--aw-color-primary);
        /* pointer-events: none; */
        z-index: 1;
    }

    .editsection:hover::before,
    .editsection:focus::before {
        display: block;
        z-index: 100;
        pointer-events: none;
    }

.editmodule {
    position: relative;
}

    .editmodule .btn-edit-wrapper {
        position: absolute;
        top: -22px;
        right: 0px;
        display: flex;
        justify-content: end;
        z-index: 3;
    }

    .editmodule .btn-edit {
        display: none;
        padding: 2px 8px;
        background-color: var(--aw-color-primary);
        border: none;
        cursor: pointer;
    }

        .editmodule .btn-edit:hover {
            background-color: var(--aw-color-primary-dark);
        }

    .editmodule:hover .btn-edit,
    .editmodule:focus .btn-edit {
        display: block;
    }

/* ---------- edit section_end ---------- */

/* ---------- module editor_start(第二層) ---------- */
.moduleeditor {
    min-height: unset;
    padding-bottom: 0;
}

.moduleeditor-wrapper {
    display: grid;
    grid-template-columns: 9fr 4fr;
    width: 100%;
}

.preview-wrapper {
    background-color: var(--aw-color-gray-300);
    padding: 0 32px 0 20px;
}

.topaction-wrapper {
    padding: 16px 0;
}

    .topaction-wrapper .icon {
        width: 12px;
        transform: rotate(90deg);
    }

    .topaction-wrapper .text {
        color: var(--aw-color-gray-800);
        vertical-align: middle;
    }

.component-wrapper {
    padding-top: 30px;
    padding-bottom: 30px;
    height: calc(100vh - 130px);
    overflow-x: hidden;
    /* Hide horizontal scrollbar */
    overflow-y: scroll;
    /* Add vertical scrollbar */
}


    /* Hide scrollbar for Chrome, Safari and Opera */
    .component-wrapper::-webkit-scrollbar {
        display: none;
    }

/* Hide scrollbar for IE, Edge and Firefox */
.component-wrapper {
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none;
    /* Firefox */
}

    /* 調整前台模組 layout */
    .component-wrapper .container.mt {
        margin-top: 0;
    }

    /* herobanner layout */
    .component-wrapper .hero-banner-section .customize-owl-carousel {
        display: grid;
        gap: 32px;
    }

    .component-wrapper .hero-banner-section .desktop {
        display: block !important;
    }

    .component-wrapper .hero-banner-section .mobile {
        display: none !important;
    }

    /* promotion banner layout */
    .component-wrapper .ad-area {
        padding-top: 0;
        gap: 32px;
    }

    .component-wrapper .promotion-banner-section .customize-owl-carousel {
        display: grid;
        gap: 32px;
    }

    .component-wrapper .promotion-banner-section .ad-pc {
        display: block !important;
    }

    .component-wrapper .promotion-banner-section .ad-mb {
        display: none !important;
    }

    /* featured-banner layout */
    .component-wrapper .featured-banner-section .customize-owl-carousel {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }

    /* package display layout */
    .component-wrapper .package-display-section .customize-owl-carousel {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }

    /* recently package layout */
    .component-wrapper .recently-package-section .customize-owl-carousel {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
    }

    /* 控制元件高度 100% */
    .component-wrapper .editsection,
    .component-wrapper .editsection .card-wrapper.card-stand,
    .component-wrapper .editsection .featured-card {
        height: 100%;
    }

.card-wrapper.package-expired {
    position: relative;
    filter: grayscale(100%) opacity(0.3);
}

    .card-wrapper.package-expired:after {
        content: attr(data-expire-content);
        position: absolute;
        top: 50%;
        left: 37%;
        background-color: var(--color-gray-500);
        padding: 4px 8px;
    }

.editor-panel-wrapper {
    position: relative;
    background-color: var(--aw-color-white);
    height: calc(100vh - 69px);
    overflow-x: hidden;
    display: flex;
    flex-direction: column;
}

.editor-panel-head {
    border-bottom: 1px solid var(--aw-color-gray-300);
    background-color: var(--aw-color-white);
    padding: 16px 20px;
}

    .editor-panel-head .head-title {
        font-size: 1.125rem;
        font-weight: 600;
    }

.editor-panel-body {
    padding-bottom: 80px;
    padding: 0 20px;
    flex-grow: 1;
    overflow-y: scroll;
}

.editor-panel-item {
    display: grid;
    gap: 12px;
    padding: 20px 0;
    border-bottom: 1px solid var(--aw-color-gray-300);
}

    .editor-panel-item .item-name {
        font-size: 1rem;
    }

    .editor-panel-item .form-label {
        color: var(--aw-color-gray-700);
        margin-bottom: 0;
        line-height: 1;
        margin-top: 8px;
    }

    .editor-panel-item .switch-wrapper {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .editor-panel-item .switch-lable {
        font-size: 1rem;
    }

/*開啟 switch 效果 js*/
/*.js-switch-label {
    display: none;
}

    .js-switch-label.active {
        display: block;
    }

.js-switch-form {
    display: none !important;
}

    .js-switch-form.active {
        display: block !important;
    }*/

/*開啟 switch 效果 js_end*/

.module-layout-wrapper {
    display: grid;
    grid-template-columns: 2fr 2fr;
    gap: 12px;
}

.module-layout {
    position: relative;
    border: 1px solid var(--aw-color-gray-400);
}

    .module-layout:hover {
        box-shadow: 0 0 0 1px var(--aw-color-primary);
        z-index: 1;
    }

    .module-layout.active {
        box-shadow: 0 0 0 1px var(--aw-color-primary);
        border: solid 1px var(--aw-color-primary);
    }

.module-layout-check {
    background-color: var(--aw-color-primary);
    width: 20px;
    height: 20px;
    border-radius: 30px;
    position: absolute;
    top: -8px;
    right: -6px;
    display: none;
}

    .module-layout-check::before {
        position: absolute;
        top: 4px;
        left: 7px;
        display: inline-block;
        transform: rotate(45deg);
        height: 10px;
        width: 6px;
        border-bottom: 2px solid rgb(255, 255, 255);
        border-right: 2px solid rgb(255, 255, 255);
        content: "";
    }

    .module-layout-check.active {
        display: block;
    }

.module-layout .type-name {
    border-bottom: 1px solid var(--aw-color-gray-300);
    padding: 6px 12px;
}

.module-layout .type-img {
    padding: 4px 12px;
}

.editor-panel-end {
    width: 100%;
    padding: 16px 20px;
    display: flex;
    justify-content: end;
    border-top: 1px solid var(--aw-color-gray-300);
    background-color: var(--aw-color-white);
    box-shadow: 0px -2px 12px #0000000b;
}

    .editor-panel-end button {
        min-width: 120px;
    }

/* 模組內容 hover 效果 */

.tooltip-focus {
    /* border: 1px solid #9dcff6 !important; */
    background-color: var(--aw-color-secondary-light) !important;
    box-shadow: 0 0 0 1px var(--aw-color-secondary-600) !important;
    z-index: 1;
}

.delete-btn {
    border: 1px solid var(--aw-color-primary-400);
    background-color: var(--aw-color-white);
    color: var(--aw-color-primary);
    border-radius: 20px;
    padding: 2px 12px;
    font-size: 0.75rem;
}

.img-description-wrapper {
    margin-bottom: 12px;
}

    .img-description-wrapper .title {
        font-weight: 400;
        margin-bottom: 4px;
    }

    .img-description-wrapper .description {
        font-size: 0.875rem;
        color: var(--aw-color-gray-600);
    }

/*upload file*/

.upload-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.filephoto {
    position: relative;
}

    .filephoto img {
        max-height: 180px;
        width: 100%;
    }

.filephoto-editor-wrapper {
    position: absolute;
    right: 8px;
    top: 8px;
}

    .filephoto-editor-wrapper .editor-btn {
        height: 32px;
        min-width: 32px;
        padding: 4px 8px;
        color: var(--aw-color-white);
        background-color: #0000005f;
        font-size: 0.875rem;
        border-radius: 20px;
        border: none;
        transition: all .3s ease;
    }

        .filephoto-editor-wrapper .editor-btn:hover {
            background-color: #00000096;
            transition: all .3s ease;
        }

    .filephoto-editor-wrapper .dropend .dropdown-toggle::after {
        display: none;
    }

    .filephoto-editor-wrapper .editor-btn img {
        width: 16px;
    }


    /*調整照片效果 dropdown*/
    .filephoto-editor-wrapper .dropdown-menu {
        padding: 20px;
        min-width: 240px;
        border: 1px solid var(--aw-color-gray-300);
        box-shadow: var(--aw-color-shadow-primary);
        margin: 0 0 0 42px !important;
    }

        .filephoto-editor-wrapper .dropdown-menu .item {
            border-bottom: 1px solid var(--aw-color-gray-300);
            padding-bottom: 8px;
            margin-bottom: 24px;
            font-size: 0.875rem;
        }

            .filephoto-editor-wrapper .dropdown-menu .item:last-child {
                border-bottom: none;
                padding-bottom: 0;
                margin-bottom: 0;
            }

    .filephoto-editor-wrapper .item-icon {
        width: 22px;
        margin-right: 4px;
    }

    .filephoto-editor-wrapper .item-name {
        vertical-align: middle;
    }


.filebox {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 12px;
}

    .filebox input[type="file"] {
        position: absolute;
        width: 0;
        height: 0;
        padding: 0;
        overflow: hidden;
        border: 0;
    }

    .filebox .upload-name {
        display: none;
        height: 100%;
        font-size: 0.875rem;
        text-align: center;
        padding: 40px 10px 0px 10px;
        background-color: var(--aw-color-gray-200);
        border: none;
        border-radius: 4px;
        color: var(--aw-color-gray-600);
        background-image: url('/AdminWeb/img/icon_photo_empty.svg');
        background-size: 30px;
        background-repeat: no-repeat;
        background-position: 50% 40%;
    }

        .filebox .upload-name.active {
            display: block;
        }

    .filebox .upload-btn {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 4px;
        color: var(--aw-color-primary);
        background-color: var(--aw-color-primary-light);
        cursor: pointer;
        border: 1px dotted var(--aw-color-primary-600);
        border-radius: 4px;
        width: 180px;
        height: 180px;
        transition: all .3s ease;
    }

        .filebox .upload-btn:hover {
            background-color: var(--aw-color-primary-200);
            border: 1px dotted var(--aw-color-primary);
            transition: all .3s ease;
        }

        .filebox .upload-btn img {
            width: 20px;
            height: 20px;
        }

        .filebox .upload-btn span {
            font-size: 0.875rem;
        }


/* ---------- accordion_start(覆蓋bootsrrap) ---------- */
/* .accordion{
  display: flex;
  flex-direction: column;
  gap: 16px;
} */
.accordion-button {
    font-weight: 600;
    color: var(--aw-color-black);
    background-color: var(--aw-color-primary-light);
    box-shadow: unset;
}

    .accordion-button:not(.collapsed) {
        color: unset;
        background-color: var(--aw-color-primary-light);
        border-bottom: 1px solid var(--aw-color-gray-300);
        box-shadow: unset;
    }

/* ---------- accordion_start(覆蓋bootsrrap) ---------- */
/* 飯店設定欄位 */
.subcategory-wrapper {
    margin-bottom: 16px;
    border-bottom: solid 1px var(--aw-color-gray-300);
}

    .subcategory-wrapper:last-child {
        margin-bottom: 0px;
        border-bottom: none;
    }

.subcategory-title {
    display: flex;
    gap: 2px;
}

.subcategory-cta {
    display: flex;
    flex-grow: 1;
    justify-content: flex-end;
}

.setting-item-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 24px;
    padding-bottom: 16px;
}

button:has(.icon.support) {
    padding: 0px 2px;
    height: fit-content;
    border: 0;
    line-height: 0;
}

.icon.support {
    width: 1rem;
    height: auto;
}

/* drag & drop */
tr.ui-sortable-helper {
    display: table;
}

.aw-sortable-item.ui-sortable-handle {
    cursor: grab;
}

    .aw-sortable-item.ui-sortable-handle:active {
        cursor: grabbing;
        box-shadow: 6px 4px 6px 2px rgba(77, 77, 77, 0.1);
    }

/* 促銷 > 規則 > 第幾晚 & 第幾間客房的動態新增設定欄位除了最後一個設定欄位之外其他加上 margin-bottom */
.night-block:not(:last-child),
.room-block:not(:last-child) {
    margin-bottom: 1.5rem;
}

/* 促銷 > 客房升等 : 除了最後一個設定客房升等的欄位之外其他加上 border-bottom */
.roomupgrades-room:not(:last-child) {
    padding-bottom: 8px;
    margin-bottom: 8px;
}

/* 促銷 > 客房升等 : 除了最後一個設定客房升等的欄位之外其他加上 border-bottom */
.roomupgrades-block:not(:last-child) {
    border-bottom: 1px solid var(--aw-color-gray-400);
}

/* 促銷 > input 的 type="number" 隱藏上下箭頭 (Firefox) */
.input-number-no-arrows {
    -moz-appearance: textfield;
    min-height: 36px;
}

    /* 促銷 > input 的 type="number" 隱藏上下箭頭 (Chrome, Edge, Safari) */
    .input-number-no-arrows::-webkit-inner-spin-button,
    .input-number-no-arrows::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

.letter-preview-bg {
    padding-bottom: 20px;
    background-color: #e4e4e4;
}
