:root {
    --color-zone: white;
    --background-color-zone: #FA6509;
    --background-btn-url: url(https://i.pinimg.com/736x/d2/22/64/d22264e02c5871f54984e7c626f088cf.jpg);
}

@font-face {
    font-family: "DB Adman X";
    src: url(../fonts/DB\ Adman\ X/DB_Adman_X_v3.2.ttf);
}

@font-face {
    font-family: "DB Adman X Bd";
    src: url(../fonts/DB\ Adman\ X/DB_Adman_X_Bd_v3.2.ttf);
}

body {
    background-image: url('../images/bg.webp');
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;
    background-size: cover; /* This ensures the image covers the entire background */
    width: 100%;
    height: 100vh;
    font-family: "DB Adman X";
}

page[size="A4"] {
    background: #FFF;
    color: #000;
    width: 21cm;
    min-height: 29.7cm;
    display: block;
    margin: 0.5cm auto;
    padding-bottom: 10px;
    box-shadow: 0 0 0.5cm rgba(0,0,0,0.5);
    border: 1cm solid #FFF;
    font-family: "Sarabun", sans-serif;
}

#receipt-table tbody:before {
    content: "-";
    display: block;
    line-height: 1em;
    color: transparent;
}

#receipt-table tbody:after {
    content: "-";
    display: block;
    line-height: 2em;
    color: transparent;
}

a {
    text-decoration: none !important;
}

.border-table {
    border-top: 2px dashed #000000;
    border-bottom: 2px dashed #000000;
}


@media (min-width: 1024px) {
    .select2-container--bootstrap-5 .select2-selection  {
        font-size: 1.4rem !important;
    }
}

@media (max-width: 1024px) {
    #logo-topmenu {
        width: 80%;
    }

    page {
        width: 80% !important;
        min-height: 90vh !important;
    }

    page[size="A4"] {
        border: 0.35cm solid #fff;
        min-height: auto !important;
    }

    page[size='A4'] .fs-16, page[size='A4'] .fs-16 a {
        font-size: 1.1rem !important;
    }

    page[size='A4'] .fs-22 {
        font-size: 1.4rem !important;
    }


    .menu-bar { width: 80% !important; }
    #footer { height: 7.3vh !important; }
    #footer .footer-text { margin-top: 48px !important ;}
    .menu-bar-item { height: 75px !important; }
    .zone-title {font-size: 3.25rem !important;}
    .viewport-container {zoom: 0.9;}
    .viewport { zoom: 0.9 !important;}
    .viewport-container.seat-plan {min-height: 1250px !important;}
    .img-item {height:1020px !important; }
    .button-img { height: 120px !important;}
    .button-img img, .button-img i {
        width: 30px !important;
        margin-right: 12px !important;
    }
    .button-img .btn-menu, .button-img .btn-tips{
        width: 35px !important;
        margin-right: 12px !important;
    }
}

@media (max-width: 991.98px) {
    .btn-payment {
        width: calc(98.5% / 2) !important;
    }

    #logo-topmenu {
        width: 80%;
    }

    page[size='A4'] .fs-16, page[size='A4'] .fs-16 a {
        font-size: 1rem !important;
    }

    page[size='A4'] .fs-22 {
        font-size: 1.3rem !important;
    }

    .menu-bar { width: 90% !important; }
    #footer { height: 7.3vh !important; }
    #footer .footer-text { margin-top: 45px !important ;}
    .menu-bar-item { height: 70px !important; }
    .form-control, .form-label, .fs-16, .fs-16 a, .form-select, .select2-container--bootstrap-5 .select2-selection {
        font-size: 20px !important;
    }

    .btn-red {
        font-size: 20px !important;
        border-radius: 50px;
    }
    .tips-menu-item {
        width: 130px !important;
        height: 130px !important;
    }

    .tips-menu-item img {
        width: 70px !important;
    }

    .zone-title {font-size: 3.5rem !important;}
    .viewport {zoom: 0.7 !important;}
    .img-item {height:820px !important; }
    .viewport-container.seat-plan {min-height: 950px !important;}
}

@media (max-width: 768px) {
    .btn-payment {
        width: calc(98.5% / 2) !important;
    }


    #logo-topmenu {
        width: 80%;
    }

    page {
        width: 75% !important;
        min-height: 90vh !important;
    }

    page[size='A4'] .fs-16, page[size='A4'] .fs-16 a {
        font-size: 0.8rem !important;
    }

    page[size='A4'] .fs-22 {
        font-size: 1.2rem !important;
    }

    .menu-bar { width: 90% !important; }
    #footer { height: 8vh !important; }
    #footer .footer-text { margin-top: 45px !important ;}
    .menu-bar-item { height: 65px !important; }
    .form-control, .form-label, .fs-16, .fs-16 a, .form-select, .select2-container--bootstrap-5 .select2-selection {
        font-size: 18px !important;
    }

    .btn-red {
        font-size: 18px !important;
        border-radius: 50px;
    }
    .tips-menu-item {
        width: 120px !important;
        height: 120px !important;
    }

    .tips-menu-item img {
        width: 65px !important;
    }

    .zone-title {font-size: 3rem !important;}
    .viewport {zoom: 0.65 !important;}
    .viewport.zoom-zone-d {zoom: 0.55 !important;}
    .viewport-container.seat-plan { min-height: 880px !important;  }
    .img-item {height:730px !important; }
    .button-img { height: 110px !important;}
    .button-img img, .button-img i {
        width: 30px !important;
        margin-right: 12px !important;
    }
    .button-img .btn-menu, .button-img .btn-tips{
        width: 35px !important;
        margin-right: 12px !important;
    }


}

@media (max-width: 575.98px) {

    .btn-payment {
        width: 100% !important;
        margin-bottom: 8px !important;
    }

    .border-table {
        border-top: 1px dashed #000000;
        border-bottom: 1px dashed #000000;
    }

    #logo-topmenu {
        width: 60%;
    }

    #topmenu img {
        height: 60px;
    }

    #footer {
        justify-content: end !important;
        padding-bottom: 8px;
        min-height: 70px !important;
    }

    .footer-text {
        letter-spacing: 3px !important;
        font-size: 0.65em !important;
        margin-bottom: 0px;
    }

    #footer .footer-text {
        margin-top: 7px !important;
    }

    page {
        width: 90% !important;
        min-height: 90vh !important;
        padding-bottom: 80px !important;
    }

    .menu-bar {
        display: none;
    }

    .form-control, .form-label, .fs-16, .fs-16 a, .form-select{
        font-size: 1.2rem !important;
    }

    page[size='A4'] .fs-16, page[size='A4'] .fs-16 a {
        font-size: 0.8rem !important;
    }

    page[size='A4'] .fs-22 {
        font-size: 1.2rem !important;
    }

    .btn-red {
        font-size: 1.2rem !important;
        border-radius: 50px;
        padding: 0.75rem 3rem !important;
    }

    .fs-22 {
        font-size: 22px !important;
    }
    .img-template {
        border-radius: 8px !important;
    }

    .tips-menu-item {
        width: 65px !important;
        height: 65px !important;
    }

    .tips-menu-item img {
        width: 35px !important;
    }

    .zone-title {font-family: "DB Adman X" !important; zoom: 0.96 !important}
    .viewport { zoom: 0.425 !important; }
    .viewport-container.seat-plan { min-height: 550px !important;  }
    .img-item {height:450px !important; }
    .button-img { height: 90px !important;}
    .button-img img, .button-img i {
        width: 25px !important;
        margin-right: 8px !important;
    }
    .button-img .btn-menu, .button-img .btn-tips{
        width: 30px !important;
        margin-right: 8px !important;
    }

}

page {
    display: block;
    margin: 1em auto;
    width: 60%;
    color: white;
    padding-bottom: 100px;
    min-height: 85vh;
}


#topmenu {
    width: 100%;
    height: 9%;
    background-color: #CD0000;
    margin: 0;
    padding: 0;
    position: relative;
    box-sizing: border-box;
}

#footer {
    width: 100%;
    height: 9vh;
    background-color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

#footer .footer-text {
    font-family: "Poppins", sans-serif;
    color: #CD0000;
    letter-spacing: 5px;
    font-size: 0.8em;
    margin-top: 43px;
}

#footer small {
    color: #CD0000;
    letter-spacing: 5px;
}

.menu-bar {
    width: 50%;
    height: 60px;
    gap: 4px;
    position: absolute;
    top: -30px;
}

.menu-bar-mobile {
    width: 90%;
    height: 55px;
    gap: 3px;
    position: absolute;
    top: -30px;
}

.menu-bar-item {
    height: 60px;
    width: calc(100% / 5);
    background-color: #CD0000;
    color: white;
    -webkit-box-shadow: inset 0px 2px 10px -1px rgb(177, 177, 177);
    -moz-box-shadow: inset 0px 2px 10px -1px rgb(177, 177, 177);
    box-shadow: inset 0px 2px 10px -1px rgb(177, 177, 177);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
}

.menu-bar-mobile-item {
    height: 60px;
    width: calc(100% / 5);
    background-color: #CD0000;
    color: white;
    -webkit-box-shadow: inset 0px 2px 10px -1px rgb(177, 177, 177);
    -moz-box-shadow: inset 0px 2px 10px -1px rgb(177, 177, 177);
    box-shadow: inset 0px 2px 10px -1px rgb(177, 177, 177);
    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: center;
    padding: 0;
    padding-bottom: 3px;
}

.menu-bar-mobile-item.circle {
    justify-content: center;
    color: white !important;
    width: 90px;
    height: 90px;
    border-radius: 50px;
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 99;
    padding: 0;
    box-shadow: 0px 3px 5px 1px rgba(255,255,255,0.6) inset;
    -webkit-box-shadow: 0px 3px 5px 1px rgba(255,255,255,0.6) inset;
    -moz-box-shadow: 0px 3px 5px 1px rgba(255,255,255,0.6) inset;
}

.menu-bar-mobile-item.center {
    background-color: #000 !important;
    border-radius: 50px;
    box-shadow: 1px 1px 29px 9px rgba(0,0,0,0.75);
    -webkit-box-shadow: 1px 1px 29px 9px rgba(0,0,0,0.75);
    -moz-box-shadow: 1px 1px 29px 9px rgba(0,0,0,0.75);
}


.menu-bar-mobile-item h6 {
    font-size: 0.9rem;
}

.menu-bar-mobile-item i {
    font-size: 25px;
    padding-bottom: 5px;
}

.menu-bar-item i {
    font-size: 27px;
}

#food-icon {
    width: 39px;
}

#beer-icon {
    width: 35px;
}

#percent-icon {
    width: 35px;
}

#money-icon {
    width: 39px;
}

.menu-bar-item:first-child, .menu-bar-mobile-item:first-child {
    border-radius: 50px 0px 0px 50px;
    -webkit-box-shadow: inset 2px 2px 10px -1px rgb(177, 177, 177);
    -moz-box-shadow: inset 2px 2px 10px -1px rgb(177, 177, 177);
    box-shadow: inset 2px 2px 10px -1px rgb(177, 177, 177);
}

.menu-bar.list-group-horizontal>.list-group-item:first-child:not(:last-child) {
    border-bottom-left-radius: 50px;
    border-top-right-radius: 0;
}

.menu-bar-item:last-child, .menu-bar-mobile-item:last-child  {
    border-radius: 0px 50px 50px 0px;
    -webkit-box-shadow: inset -2px 2px 10px -1px rgb(177, 177, 177);
    -moz-box-shadow: inset -2px 2px 10px -1px rgb(177, 177, 177);
    box-shadow: inset -2px 2px 10px -1px rgb(177, 177, 177);
}

.menu-bar.list-group-horizontal>.list-group-item:last-child:not(:first-child) {
    border-top-right-radius: 50px;
    border-bottom-left-radius: 0;
}

.list-group-item-action:focus, .list-group-item-action:hover , .list-group-item-action.active {
    z-index: 1;
    color: white;
    text-decoration: none;
    background-color: #000;
}

.tips-menu-item {
    width: 150px;
    height: 150px;
    background-color: white;
    color: #FF0000;
    border-radius: 50%;
    -webkit-box-shadow: inset -5px -5px 4px 0px rgba(0,0,0,0.5);
    -moz-box-shadow: inset -5px -5px 4px 0px rgba(0,0,0,0.5);
    box-shadow: inset -5px -5px 4px 0px rgba(0,0,0,0.5);
    display: flex;
    justify-content: center;
    align-items: center;
}

.tips-menu-item img {
    width: 80px;
}

.img-display {
    border-radius: 15px;
}

.img-template {
    border-radius: 10px;
}

.owl-carousel .owl-item img {
    width: 100% !important;
}


.menu-book .item {
    display: flex;
    justify-content: center;
}

.form-control, a.fs-16, .form-select, .fs-16{
    font-size: 1.4rem;
}


.form-label {
    font-size: 1.4rem;
}

.btn-red {
    color: white;
    background-color: #FF0100 !important;
    -webkit-box-shadow: inset -5px -5px 4px 0px rgba(0,0,0,0.5) !important;
    -moz-box-shadow: inset -5px -5px 4px 0px rgba(0,0,0,0.5) !important;
    box-shadow: inset -5px -5px 4px 0px rgba(0,0,0,0.5) !important;
    border: none;
    font-size: 1.4rem;
    border-radius: 50px;
    padding: 0.75rem 5rem;
}

.btn-red:hover {
    background-color: #b10000 !important;
}

.text-neon-green {
    color: #00FF0A !important;
}

.a1 img, .a2 img, .b1 img, .c1 img, .c2 img, .c3 img, .d1 img {
    width: 85%;
}

.a1 {
    z-index: 2;
    position: absolute;
    top: 18%;
    right: 3%;
}

.a2 {
    z-index: 2;
    position: absolute;
    top: 17%;
    left: 21%;
}

.b1 {
    z-index: 2;
    position: absolute;
    top: 50.85%;
    right: 4.8%;
}

.c1 {
    z-index: 2;
    position: absolute;
    top: 67.85%;
    right: 5.4%;
}

.c2 {
    z-index: 2;
    position: absolute;
    top: 73.8%;
    left: 26.7%;
}

.c3 {
    z-index: 2;
    position: absolute;
    top: 42.5%;
    left: 19.25%;
}

.d1 {
    z-index: 2;
    position: absolute;
    top: 86.5%;
    left: 23%;
}

.zone-title {
    font-size: 3.25rem;
    font-family: "DB Adman X Bd";
    /* -webkit-text-stroke: 3px black; */
    /* text-shadow: 0px 4px 10px rgba(0,0,0,0.25); */
}

.stage-title {
    letter-spacing: 10px;
}

/* Hide scrollbar for Chrome, Safari and Opera */
.seatmap::-webkit-scrollbar {
    display: none;
  }

/* Hide scrollbar for IE, Edge and Firefox */
.seatmap {
-ms-overflow-style: none;  /* IE and Edge */
scrollbar-width: none;  /* Firefox */
}

.zone-a {
    --color-zone: white !important;
    --background-color-zone: #FA6509 !important;
}

.zone-b {
    --color-zone: black !important;
    --background-color-zone: #FCE205 !important;
}

.zone-c {
    --color-zone: white !important;
    --background-color-zone: #822AB7 !important;
}

.zone-d {
    --color-zone: white !important;
    --background-color-zone: #EE0183 !important;
}

.btn-zone {
    color: var(--color-zone);
    background-color: var(--background-color-zone);
    font-size: 1.25rem;
    padding: 1px 0px !important;
    width: 50px;
    min-height: 35px !important;
    margin: 0px 1px !important;
}

.btn-payment {
    background-color: transparent;
    color: black;
    border: 1px solid #777777;
    font-size: 1.2rem;
    width: calc(98.5% / 3);
    text-align: start;
    padding: 10px 12px;
    margin-bottom: 10px;
}

.btn-payment:checked+.btn {
    color: #fff !important;
    background-color: #171717 !important;
    border-color: white !important;
    border-width: 0px !important;
}
.btn-check.btn-payment:checked+.btn {
    background-color: #000000 !important;
}


.btn-check:checked+.btn {
    color: #fff !important;
    background-color: #00cf07 !important;
    border-color: white !important;
    border-width: 0px !important;
}

.btn-check:disabled+.btn {
    color: #fff !important;
    background-color: #777777 !important;
    border-color: white !important;
    border-width: 0px !important;
}


.btn-zone.btn-blank:disabled {
    color: transparent !important;
    background-color: transparent !important;
}

.viewport-container {
    position: relative;
    width: 100%;
    height: auto;
    padding-top: 47.7%; /* Aspect Ratio (919 / 1920 * 100) */
    overflow: auto;
}

.viewport {
    position: absolute;
    top: 0;
    left: 0;
    min-width: calc((1920px) * 0.472);
    width: 100%;
    height: 500px;
    overflow: auto; /* or overflow: hidden; if you prefer to hide overflow content */
}

.viewport-container.seat-plan {
    min-height: 1350px;
}

.viewport.seat-plan {
    height: auto;
    width: calc((1920px) * 0.472);
    top: 0%;
    left: 50%;
    -ms-transform: translate(-50%, 0%);
    transform: translate(-50%, 0%);
}

/* .content.seat-plan {
    height: 1000px;
} */



.bg-blur {
    background-color: #fff;
    color: #FF0000;
    border-radius: 5px;
    width: 60%;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;
}

.zoom-zone-d {
    zoom: 0.9;
}

.img-item {
    height: 600px;
    width: auto;
    object-fit: contain;
}

.button-img {
    background-image: linear-gradient(to top, #421c1c, #dd1818);
    background-size: cover;
    height: 140px;
    width: 100%;
    background-color: #FF0100;
    color: #fff;
    border-radius: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.button-img img, .button-img i {
    width: 35px;
    margin-right: 15px;
}

.button-img .btn-menu, .button-img .btn-tips{
    width: 45px;
    margin-right: 15px;
}

.button-tips {
    background-image: linear-gradient(to top, #ffffff, #ffffff);
    color: #FF0000;
    -webkit-box-shadow: inset -5px -5px 4px 0px rgba(0,0,0,0.5);
    -moz-box-shadow: inset -5px -5px 4px 0px rgba(0,0,0,0.5);
    box-shadow: inset -5px -5px 4px 0px rgba(0,0,0,0.5);
}

.list-group-item.history-list {
    background-color: transparent !important;
    --bs-list-group-border-color: rgba(255, 255, 255, 0.3);
    margin-top: 0.5rem;
}

.nav-pills .nav-red.active {
    color: white !important;
    background-color: #CD0000 !important;
}

.nav-pills .nav-red {
    color: white !important;
    background-color: black !important;
}

.carousel-indicators [data-bs-target] {
    height: 12px;
    border-radius: 50%;
    width: 12px;
    margin-left: 5px;
    margin-right: 5px;
    margin-bottom: -2rem;
}

.carousel-control-next, .carousel-control-prev {
    width: auto;
}

.carousel-control-next {
    right: -30px;
}

.carousel-control-prev {
    left: -30px;
}

p.collapse[aria-expanded="false"] {
    min-height: 60px;
    display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

p.collapse.show {
    overflow: visible;
    display: block;
    -webkit-box-orient: horizontal;
    -webkit-line-clamp: none;
}

a.collapsed:after  {
    content: 'แสดงรายละเอียด';
}

a.text-decoration-underline:not(.collapsed):after {
    content: 'แสดงแบบย่อ';
}

.accordion-button:not(.collapsed) {
    color: black;
    background-color: white;
}

.accordion-button:not(.collapsed)::after {
    background-image: var(--bs-accordion-btn-icon);
}