.noto-sans-tc-<uniquifier> {
    font-family: "Noto Sans TC", sans-serif;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;
}
/*
@font-face {
    font-family: 'HeiTi TC';
    src: url('/fonts/FangZhengHeiTiFanTi-1.ttf');
}
*/
body {
    /*color: #f2b43f !important;*/
    font-family: 'Noto Sans TC';
}

pre {
    font-family: 'Noto Sans TC';
    font-size: 10pt;
}

html, body { 
    height: 100%;
    margin: 0px;
    padding: 0px;
    overflow-y: hidden;
}

input:focus, select:focus {
    box-shadow: none !important;
    border-color: transparent !important;
}

.input-group-r {
    border-radius: 15px;
    overflow: hidden;
}

.input-group {
    flex-wrap: nowrap !important;
}

.main {
    background-color: #DDD;
    height: 100%;
}
.container {
    height: 100%;
    /*max-width: 390px;*/
    background-image: url('/images/background.png');
    background-position: center; /* Center the image */
    background-repeat: no-repeat; /* Do not repeat the image */
    background-size: cover; /* Resize the background image to cover the entire container */
    padding: 0px;
}

.main-title {
    text-shadow: -3px 0 white, 0 3px white, 3px 0 white, 0 -3px white;
    font-size: 45pt;
    color: #0063ad;
    margin-top: 70px;
}

.main-title img {
    width: 70%;
    max-width: 400px;
}

.header-bg {
    background-color: #bb2027;
    padding-top: 10px;
}

.header-menu-1 {
    background-color: #bb2027;
    padding-bottom: 5px;
    padding-left: 10px;
    padding-right: 10px;
}

.header-menu-1 a {
    color: #FFF;
    margin: 0px;
    padding: 0px;
    text-decoration: none;
    border-radius: 0;
    font-size: 12pt;
}

.header-menu-1 a:hover {
    color: #FFF;
}

.header-menu-2 {
    background-color: #000000;
}

.header-menu-2 a {
    color: #FFF;
    margin: 0px;
    padding: 0px;
    text-decoration: none;
    border-radius: 0;
    font-size: 14pt;
}

.header-menu-2 a:hover {
    color: #FFF;
    /*background-color: #333;*/
}

.header-menu-2 a.selected:hover {
    color: #e0ad70;
    /*background-color: #333;*/
}

.header-menu-2 a:active {
    color: #FFF !important;
    /*background-color: #333 !important;*/
}

.header-menu-2 a.selected:active {
    color: #e0ad70 !important;
    /*background-color: #333 !important;*/
}

.header-link {
    flex-grow:1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-link.selected {
    color: #e0ad70;
}

.home-div {
    margin-top: 20px;
}

.home-div .home-btn {
    width: 100%;
    text-align: center;
    background-color: #b7242a;
    padding: 3px 5px 3px 10px;
    margin: 2px 0px;
    color: #FFF;
    text-decoration: none;
    letter-spacing: 5px;
    font-size: 14pt;
}

.home-div .home-btn:hover, .home-div .home-btn:active {
    background-color: #fff200;
    color: #b7242a;
}

.login-div {
    background-color: rgba(255, 255, 255, 0.4);
    width: 100%;
    padding: 10px;
    padding-top: 30px;
    padding-bottom: 30px;
    border-radius: 10px;
}

.login-div .login-form-title {
    color: #b62223;
    font-size: 15pt;
    margin: 3px 0px;
}

.login-div .login-form-value {
    padding: 3px 10px;
    font-size: 9pt;
    border-radius: 15px;
}

.login-div .register-div {
    font-size: 9pt;
}

.login-div .login-form-value-sp {
    padding: 3px 10px;
    font-size: 9pt;
    border-radius: 0px 15px 15px 0px;
}

.login-div .register-div .register-btn {
    font-size: 9pt;
    background-color: #bd222b;
    padding: 0px 5px;
    padding-left: 10px;
    border-radius: 10px;
    color: #FFF;
    letter-spacing: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.forget-btn {
    font-size: 8pt;
    color: #333;
    text-decoration: none;
}

.confirm-inner {
    padding: 5px;
    background-color: rgba(255, 255, 255, 0.4);
    border-radius: 36px;
    width: 200px;
}

.confirm-inner .button {
    cursor: pointer;
}

.confirm-inner .button:active {
    opacity: 0.5;
}

.confirm-div span {
    font-size: 12pt;
}

#role {
    transition: all 0.3s;
}

.role-red {
    background-color: #bb2027;
    color: #FFF;
}

.grecaptcha-badge {
    display: none;
}

.shop-list .shop-row:nth-child(even) {
    background-color: rgba(0,0,0,0.2);
}

.shop-div {
    background-color: rgba(255, 255, 255, 0.4);
    height: 100%;
    border-radius: 10px;
    overflow: auto;
    display: flex;
    align-items: center;
    justify-content: start;
    flex-direction: column;
}

.shop-row {
    padding: 0px 10px;
    font-size: 16pt;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.shop-panel {
    display: flex;
    align-items: center;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s;
}

.shop-panel a {
    background-color: #bb2027;
    color: #FFF;
    border-radius: 20px;
    text-decoration: none;
    margin: 0px 5px;
    transition: background-color 0.2s;
    font-size: 9pt;
    white-space: nowrap;
}

.btn-red {
    background-color: #bb2027;
    color: #FFF;
    border-radius: 20px;
    text-decoration: none;
    margin: 0px 5px;
    /*padding: 0px 15px;*/
    --bs-btn-padding-y: 0.25rem;
    --bs-btn-padding-x: 1rem;
    transition: background-color 0.2s;
    font-size: 10pt;
}

.btn-red:hover, .btn-red:focus, .btn-red:active {
    background-color: #bb2027 !important;
    color: #FFF !important;
}

.shop-panel a:hover, .shop-panel a:active {
    background-color: #991a20 !important;
    color: #FFF !important;
}

.shop-row.selected {
    background-color: #fff200 !important;
    color: #bb2027;
}

.shop-row.selected .shop-panel {
    visibility: visible;
    opacity: 1;
}

.menu-div {
    background-color: rgba(255, 255, 255, 0.4);
    height: 100%;
    border-radius: 10px;
    overflow: auto;
    display: flex;
    align-items: center;
    justify-content: start;
    flex-direction: column;
}

.menu-list table tr td {
    font-size: 12pt;
    vertical-align: middle;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.menu-list table tr:hover td {
    background-color:#fff200;
}

.soldout {
    color: #FFF;
    background-color: #bb2027;
    border-radius: 20px;
    font-size: 9pt;
    padding: 3px 15px;
    white-space: nowrap;
}

.remain-point-title {
    color: #FFF;
    background-color: #bb2027;
    border-radius: 20px;
    font-size: 12pt;
}

.search-div {
    background-color: #FFF;
    margin-top: 5px;
    border-radius: 20px;
}

.title-search-input {
    font-size: 9pt;
    padding: 0px 0px;
    width: 100%;
    border: none;
    background: none;
    outline: none;
    padding-left: 10px;
    padding-top:1px;
    padding-bottom:1px;
}

.title-search-input:focus, .title-search-input:active {
    border: 0px solid transparent; !important;
}

.search-text {
    font-size: 9pt;
    white-space: nowrap !important;
    color: #7c7c7c;
}

.filter-title {
    color: #FFF;
    background-color: #bb2027;
    border-radius: 20px;
    font-size: 10pt;
    margin-top: 5px;
    padding: 0px 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.menu-btn {
    background-color: #bb2027;
    border-radius: 20px;
    color: #FFF;
    text-align: center;
}

.menu-left, .menu-right, .menu-shop {
    padding: 0.1rem 0.75rem;
}

.menu-left:hover, .menu-right:hover, .menu-shop:hover, 
.menu-left:active, .menu-right:active, .menu-shop:active {
    background-color: #bb2027 !important;
    color: #FFF !important;
}

.menu-left span {
    padding-right: 5px;
}
.menu-right span {
    padding-left: 5px;
}

.menu-row {
    cursor: pointer;
}

.detail-div {
    background-color: rgba(255, 255, 255, 0.4);
    height: 100%;
    border-radius: 10px;
    overflow: auto;
    display: flex;
    align-items: center;
    justify-content: start;
    flex-direction: column;
}

.detil-table tr td {
    padding: 0px 5px;
    font-size: 14pt;
}

.detail-supply-time {
    font-size: 10pt;
}

.detail-shop-title {
    font-size: 14pt;
    background-color: #f8931d;
    color: #FFF;
    border-radius: 6px;
    /*margin-top: 5px;*/
    margin-bottom: 5px;
}

.detail-btn {
    background-color: #bb2027;
    border-radius: 20px;
    color: #FFF;
    text-align: center;
    width: 90px;
    font-size: 10pt;
    padding: 1px 5px;
}

.detail-btn:hover, .detail-btn:active {
    background-color: #bb2027 !important;
    color: #FFF !important;
}

.cart-form {
    margin: 5px 0px;
}

.cart-form select {
    color: #bb2027;
}

.cart-form select, .cart-form input {
    border-radius: 20px;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    min-height: 0 !important;
}

.cart-form-btn {
    background-color: #bb2027;
    color: #FFF;
    width: 100%;
    border-radius: 20px;
    text-decoration: none;
}

.cart-div {
    padding: 0px 0px;
}

.cart-row {
    background-color: rgba(255, 255, 255, 0.4);
    border-radius: 10px;
    font-size: 10pt;
    padding: 3px;
    margin: 5px 0px;
}

.cart-red {
    color: #bb2027;
}

.cart-qty {
    color: #bb2027;
    font-size: 26pt;
}

.cart-qty-btn {
    width: 30px;
    height: 30px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16pt;
}

.summary-box {
    background-color: #bb2027;
    border-radius: 10px;
    padding: 5px 0px;
}

.summary-box .summary-1 {
    color: #FFF;
    font-size: 20pt;
}

.summary-box .summary-2 {
    color: #FFF;
    font-size: 9pt;
}

#cart-confirm-box {
    max-height: 0;
    overflow: hidden;
    transition: all 0.3s;
}

#cart-confirm-box.show {
    max-height: 300px;
}

#cart-confirm-div {
    max-height: 300px;
    overflow: hidden;
    transition: all 0.3s;
}

#cart-confirm-div.hide {
    max-height: 0px;
}

#remain-point-div {
    transition: all 0.3s;
}

#remain-point-div.hide {
    max-height: 0px;
}

.success-div {
    background-color: #bb2027;
    border-radius: 10px;
    padding: 3px 0px;
}

.success-header {
    font-size: 10pt;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    padding: 3px 0px;
}

.success-header .col {
    padding:0px 5px;
}

.success-header .date, .success-header .time {
    font-size: 8pt;
}

.success-header .title {
    font-size: 10pt;
}

.success-header .value {
    font-size: 16pt;
}

.success-header .status {
    font-size: 8pt;
    color: #bb2027;
    background-color: #FFF;
    border-radius: 20px;
    padding: 3px 10px;
    margin-bottom: 5px;
}

.success-body {
    padding: 0px 5px;
}

.success-message {
    background-color: #FFF;
    color: #000;
    border-radius: 10px;
    font-size: 18pt;
    width: 100%;
}

.success-footer {
    display: flex;
    align-items: center;
    justify-content: center;
}

.success-footer span {
    font-size: 10pt;
    color: #FFF;
    text-align: center;
}

.success-date {
    font-size: 9pt;
    color: #000;
}

.history-row {
    background-color: #bb2027;
    border-radius: 10px;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: start;
    padding: 5px 5px;
    margin: 3px 0px;
    /*cursor: pointer;*/
}

.history-header {
    font-size: 10pt;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    padding: 3px 0px;
    width: 100%;
}

.history-table {
    font-size: 10pt;
    text-align: center;
    color: #FFF;
    padding: 3px 0px;
    width: 100%;
}

.history-header .col {
    padding:0px 5px;
}

.history-header .date, .history-header .time, 
.history-table .date, .history-table .time {
    font-size: 8pt;
}

.history-header .title, 
.history-table .title {
    font-size: 10pt;
}

.history-header .value,
.history-table .value {
    font-size: 16pt;
    font-weight: 700;
}

.history-header .value.verifycode input {
    border: none;
    background-color: rgba(255,255,255,1);
    padding: .1rem .5rem;
    color: #000;
    text-align: center;
    font-size: 16pt;
    min-height: 0px;
}

.history-header .value.verifycode input.disabled {
    background-color: rgba(255,255,255,0.3);
}

.history-table select.value {
    /*padding: .375rem 2.25rem .375rem .75rem;*/
    padding: 0px;
    background-color: #bb2027;
    color: #FFF;
    border: none;
    background-position: right .15rem center;
    background-image: url('/images/down-arrow-g.png');
    background-size: 20px 10px;
}

.history-header .status, 
.history-table .status {
    font-size: 8pt;
    color: #bb2027;
    background-color: #FFF;
    border-radius: 15px;
    padding: 3px 10px;
    margin-bottom: 5px;
}

.history-header .status.partial {
    background-color: #bb2027;
    color: #FFF;
}

.history-header .status3.partial {
    background-color: #bb2027;
    color: #FFF;
    border-radius: 15px;
}

.history-row.partial {
    background-color: #111;
    color: #FFF;
}
.history-row.partial .history-detail {
    color: #000;
}

.history-header .status.finish {
    background-color: #FFF;
    color: #555;
}
.history-row.finish .history-detail {
    color: #333;
}

.history-row.finish {
    background-color: #555;
    color: #FFF;
}

.history-header .status.processing2 {
    background-color: #fade2a;
}

.history-header .status2, 
.history-table .status2 {
    font-size: 8pt;
    color: #bb2027;
    background-color: #FFF;
    border-radius: 20px;
    padding: 3px 10px;
}

.history-header .status3, 
.history-table .status3 {
    font-size: 12pt;
    padding: 3px;
    /*color: #bb2027;
    background-color: #FFF;
    border-radius: 20px;
    padding: 3px 10px;*/
}

.history-detail {
    background-color: #FFF;
    border-radius: 7px;
    width: 100%;
    padding: 0px 10px;
}

.history-detail input {
    border: none;
    text-decoration: none;
    background: none;
    outline: none;
    font-size: 10pt;
}

.deliver-contact {
    background-color: #FFF;
    border-radius: 10px;
    margin-bottom: 5px;
    line-height: 1.5;
}

.deliver-contact .time{
    font-size: 9pt;
}

.deliver-contact .name, .deliver-contact .tel {
    font-size: 15pt;
}

.point-div {
    background-color: rgba(255, 255, 255, 0.4);
    height: 100%;
    border-radius: 10px;
    padding: 5px 0px;
}

.point-div .desc {
    font-size: 10pt;
}

.point-table-div {
    width: 100%;
    overflow-y: auto;
    padding: 0px 5px;
}

.pointer-table {
    border-collapse: collapse; 
    height:100%;
}

.point-table thead th {
    background-color: #333;
    color: #FFF;
    text-align: center;
    font-size: 9pt;
    position: sticky; 
    top: 0;
}

.point-table tbody td {
    font-size: 10pt;
    border-bottom: 1px solid #333;
    padding: 3px 5px;
}

.point-table tbody tr td:nth-child(2) {
    border-left: 1px solid #FFF;
    border-right: 1px solid #FFF;
}

.head a.red {
    background-color: #bb2027;
    border-radius: 20px;
    padding: 0px 15px;
    font-size: 10pt;
    color: #FFF;
}

.head select {
    padding: 0px 15px;
    font-size: 10pt;
    border: none;
    border-radius: 20px;
    color: #000;
}

.head select.red {
    background-color: #bb2027;
    color: #FFF;
}

.head input {
    text-decoration: none;
    border: none;
    border-radius: 20px;
    padding: 3px 10px;
    font-size: 10pt;
}

#feedback-change {
    padding-right: 30px;
    text-align: right;
}

.shop-thead div {
    background-color: #bb2027;
    color: #FFF;
}

.shop-thead :first-child {
    border-radius: 10px 0px 0px 10px;
}

.shop-thead :last-child {
    border-radius: 0px 10px 10px 0px;
}

.shop-grid {
    margin: 5px 0px;
    cursor: default;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.shop-grid:hover {
    background-color: #facf23;
}

.shop-grid .shop-row-1, 
.shop-grid .shop-row-2 {
    font-size: 10pt;
    display: flex;
    align-items: end;
}

.shop-grid .shop-row-1 :first-child {
    font-size: 15pt;
}

.shop-grid .got {
    background-color: #FFF;
    border-radius: 3px;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid transparent;
    cursor: pointer;
}

.shop-grid .got.selected {
    border: 2px solid #bb2027;
}

.shop-grid .got .inner {
    background-color: transparent;
    border-radius: 2px;
    width: 14px;
    height: 14px;
}

.shop-grid .got.selected .inner {
    background-color: #bb2027;
}

.shop-confirm-box {
    display: none; /* flex */
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 5px 10px;
    background-color: #bb2027;
    color: #FFF;
    border-radius: 20px;
    padding: 3px 5px;
}

.shop-confirm-box .line1 {
    font-size: 16pt;
}
.shop-confirm-box .line2 {
    font-size: 12pt;
}

.delivery-get-box {
    background-color: rgba(255, 255, 255, 1);
    border-radius: 15px;
    padding: 5px 10px;
}

.delivery-get-box {
    
}

.delivery-get-box .line1 .col-4 {
    padding: 0px;
    display: flex;
    align-items: center;
}

.delivery-get-box .line1 {
    font-size: 12pt;
}

.delivery-get-box .line2, 
.delivery-get-box .line3 {
    font-size: 16pt;
    display: flex;
    align-items: center;
    justify-content: center;
}

.delivery-get-box .pickup {
    background: none;
    background-color: #bb2027;
    border-radius: 10px;
    text-decoration: none;
    outline: none !important;
    box-shadow: none;
    cursor: pointer;
    padding: 0px 15px;
    font-size: 10pt;
    color: #FFF;
}

.introduce-div .card {
    width: 100%;
    background-color: #bb2027;
    padding: 5px;
    padding-top: 0px;
    border-radius: 15px;
}

.introduce-div .card .title {
    color: #FFF;
    text-align: center;
    font-size: 14pt;
}

.introduce-div .card .dummy-img {
    width: 100%;
    height: 300px;
    background-color: #DDD;
    border-radius: 10px 10px 0px 0px;
}

.introduce-div .card .description {
    background-color: #FFF;
    border-radius: 0px 0px 10px 10px;
    padding: 5px;
    padding-top: 0px;
    font-size: 12pt;
}

.introduce-div .card .description p {
    margin: 0px !important;
}

.contact-div {
    position: relative;
}

.contact-div .new-contact {
    position: absolute;
    bottom: 30px;
    right: 20px;
    cursor: pointer;
}

.contact-div .new-contact a {
    color: #bb2027;
}

.contact-div table thead th {
    border-bottom: 1px solid #333;
    font-size: 14pt !important;
}

.contact-div table tr th, 
.contact-div table tr td {
    padding: 3px;
}

.contact-div table .content th {
    text-align: left;
    vertical-align: top;
}

.contact-div table .content th, 
.contact-div table .content td {
    border-bottom: 1px solid #333;
    font-size: 14pt !important;
    background-color: rgba(255, 255, 255, 0.3);
}

.contact-div table .content pre {
    margin-bottom: 0px;
    font-size: 14pt;
}

.charge-div .inner {
    background-color: rgba(255, 255, 255, 0.3);
    flex-grow: 1;
    border-radius: 15px;
    font-size: 12pt;
    padding: 5px 10px;
}

.charge-div .inner ul {
    padding-left: 15px;
}

.charge-div .inner .title {
    color: #bb212b;
}

.charge-div .message {
    background-color: #bb212b;
    color: #FFF;
    /*margin: 10px 0px;*/
    margin-top: 10px;
    border-radius: 15px;
    text-align: center;
}

.charge-div .message .line1 {
    font-size: 20pt;
}
.charge-div .message .line2 {
    font-size: 14pt;
}

.charge-div .input-group {
    background-color: #bb212b;
    font-size: 10pt;
    white-space: nowrap;
    display: flex;
    align-items: center;
}

.charge-div .input-group span {
    color: #FFF;
    padding: 0px 10px;
}

.charge-div .input-group input {
    border-radius: 12px;
    border: none;
    line-height: 1.2;
    min-height: 26px;
}

.charge-div .input-group input:focus {
    outline: none;
}

.paid-div .shop-name {
    font-size: 18pt;
    font-weight: bold;
}

.paid-div span {
    font-size: 14pt;
}

.point-record-div table tr th, 
.point-record-div table tr td {
    text-align: center;
}

.point-record-div table tr.odd td {
    background-color: rgba(0,0,0,0.15);
}

.point-record-div .inner-record-div {
    width: 100%;
    padding: 5px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 15px;
    flex-grow: 1;
}
/*
.point-record-div .inner-record-div table tbody tr {
    cursor: pointer;
}
*/

.document-div .value {
    font-size: 18pt;
}

.document-div .title {
    color: #777;
    font-size: 14pt;
}

.document-div .datetime > div.line1 {
    font-size: 14pt;
    color: #faf30c;
}

.document-div .datetime > div.line2 {
    font-size: 14pt;
    color: #FFF;
}

/***************************************************************************************/

@media only screen and (max-width: 768px) {
    
}

.bg-grey {
    background-color: #DDD;
}

.noselect {
  -webkit-touch-callout: none;
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.nowrap {
    white-space: nowrap;
}

.disable-dbl-tap-zoom {
    touch-action: manipulation;
}

.circle {
    width: 60px;
    height: 60px;
    background-color: rgba(255, 255, 255, 0.4);
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.circle:active {
    opacity: 0.7;
}

.circle .circle1 {
    width: 50px;
    height: 50px;
    background-color: rgba(255, 255, 255, 1);
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14pt;
    color: #bb2027;
    cursor: pointer;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
     -khtml-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

.font-weight-bold {
    font-weight: 700;
}

.cursor-pointer {
    cursor: pointer;
}

#alertModal .modal-dialog {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

#alertModal #alertModalLabel {
    font-size: 10pt;
}

#alertModal .modal-content {
    background-color: #555 !important;
}

#alertModal .modal-body {
    background-color: #FFF !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--bs-modal-border-radius);
    font-size: 20pt;
    min-height: 20vh;
}