:root {
	--location-info-background: #e5e5e7;

    --zindex-m1: -1;
    --zindex-1: 1;
    --zindex-2: 2;
    --zindex-3: 3;
    --zindex-10: 10;
    --zindex-999: 999;
    --zindex-1000: 1000;
    --zindex-32000: 32000;
    --zindex-max: 50000; /* Make sure this is always the highest one */
}

html, body {
    margin: 0;
    height: 100%;
    overflow: hidden;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    font-family: 'Lucida Sans Unicode';
    scroll-behavior: smooth;
}

.body_image {
    background-image: url("../IMAGES/spaghetti.jpg");
}

h1 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    font-weight: 600;
    font-size: 30px;
}

.orange-colour {
    color: orange;
}

.ninety_width {
    width: 90%;
}

.full_width {
    width: 100%;
}

.full_height {
    height: 100%;
}

.scrollY {
    overflow-y: scroll;
}

.full_width, .full_width tr, .full_width td {
    border-spacing: 0;
    border-collapse: collapse;
    margin: 0;
    /*padding: 0; Do not add this here as it breaks the login page */
}

.bottom_border_grey {
    border-bottom: 1px solid lightgray;
}

/* must be after full_width class */
.big_bottom_margin {
    margin-bottom: 200px;
}

.top_header {
    text-align: center;
    margin-bottom: 10px;
    border-bottom: solid 1px;
    height: 9vh;
    min-height: 9vh;
    max-height: 9vh;
}

.medium_width {
    min-width: 15%;
    max-width: 15%;
    width: 15%;
}

.large_width {
    min-width: 30%;
    max-width: 30%;
    width: 30%;
}

.half_width {
    width: 50%;
}

.justify_between {
    justify-content: space-between;
}

.rounded_button {
    border: none;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    margin: 4px 2px;
    cursor: pointer;
    border-radius: 40px;
}

.top_align, .vert_top {
    vertical-align: top;
}

.main_container {
    height: 90vh;
    min-height: 90vh;
    max-height: 90vh;
}

/* Put after main_container */
.flexdiv {
    display: flex;
}

.flexwrap {
    flex-wrap: wrap;
}

.left_align {
    text-align: left;
}

.right_align {
    text-align: right;
}

.centre_align {
    text-align: center;
}

/* width */
::-webkit-scrollbar {
    width: 0px;
}

/* Track */
::-webkit-scrollbar-track {
    background: white; 
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: black; 
}

.input_text {
    border-radius: 5px;
}

.input_pulldown, .input_text {
    margin-left: 5px;
}

.input_desc {
    width: 80%;
}

.logo_image {
    width: 64px;
    height: 64px;
    border-radius: 5px;
}

.is-blurred {
    filter: blur(10px);
    -webkit-filter: blur(10px);
}

.keyboard_button {
    width: 70%;
    font-family: monospace;
}

.keyboard_del {
    width: 50px;
    height: 50px;
}

.entered_name {
    width: 60%;
    text-align: center;
}

.site_label {
    padding: 0 10px;
    width: 20%;
}

.price_discounts {
    margin: 10px auto;
    padding: 1%;
    width: 94%;
    max-width: 700px;
    border: 1px black solid;
    font-size: 2vmax;
}

.price_discount_choices {
    width: 1.5vmax;
    height: 1.5vmax;
}

.price_discount_answers {
    padding-left: 10%;
}

.price_discount_date {
    font-size: 1.5vmax;
}

.price_discount_apply {
    text-align: center;
    margin-top: 20px;
}

.price_discount_apply button {
    font-size: 3vmax;
    padding: 3px;
}

.applied_discount_val {
    font-size: 2.5vmax;
    color: red;
}

.admin_locations {
    height: 78vh;
    min-height: 78vh;
    max-height: 78vh;
    overflow: scroll;
}

.column_header_text {
    font-size: 2vmax;
}

.cuisines_checkboxes_list {
    margin: 0 5px 0 0;
    list-style-type: none;
    padding-inline-start: 0;
 }

 .delivery_container {
    font-size: 2vmax;
    font-family: Arial;
    padding-left: 5%;
    margin-bottom: 1vh;
}

.collection_container {
   font-size: 2vmax;
   font-family: Arial;
   padding: 2% 0 2% 5%;
   border-top: 1px solid rgba(0,0,0,0.1);
   border-bottom: 1px solid rgba(0,0,0,0.1);
   margin-bottom: 1vh;
}

.location_delivery_from {
    padding-left: 7vw;
    padding-top: 1vh;
}

.delivery_cost {
    font-size: 2vmax;
    padding-right: 5%;
}

.delivery_min {
    font-size: 2.5vmax;
    font-family: sans-serif;
    padding-left: 5%;
}

.order_name_input, .order_phone_input, .order_email_input {
    text-align: center;
    width: 33.333%;
    margin-bottom: 1vh;
}

.order_name_input input, .order_phone_input input, .order_email_input input {
    font-size: 2vmax;
    width: 90%;
}

.order_info_ok {
    text-align: center;
    margin-top: 30px;
}

.waiting_confirmation {
    font-size: 3vmax;
}

.waiting_confirmation_name {
    font-size: 3vmax;
    margin-bottom: 1%;
}

.waiting_confirmation_amount {
    font-size: 3vmax;
    font-weight: 900;
    color: #f2bebe;
}

.waiting_confirmation_refresh {
    font-size: 3vmax;
    color: red;
}

.waiting_confirmation_wait {
    font-size: 3vmax;
}

.order_info_ok button{
    font-size: 4vmax;
}

.order_timed_out {
    text-align: center;
    font-size: 3vmax;
}

.order_timed_out_button{
    text-align: center;
}

.order_timed_out_button button {
    font-size: 4vmax;
}

.transport_type_container {
    width: 60%;
}

.order_transport_type {
    width: 100%;
    border-bottom: 4px solid yellow;
    margin-top: 10px;
}

.order_transport_type label {
    font-size: 2vmax;
    width: 30%;
}

.order_transport_type_collection input, .order_transport_type_delivery input {
    width: 2vmax;
    height: 2vmax;
}

.order_info_personal {
    border-bottom: 4px solid yellow;
    flex-wrap: wrap;
    position: relative;
}

.order_transport_delivery_details {
    padding-left: 5vw;
    display: none;
}

.order_postcode_input {
    position: relative;
}

.order_address1_input input, .order_address2_input input, .order_postcode_input input {
    font-size: 2vmax;
    width: 90%;
    margin-bottom: 3vh;
}

.order_info_container {
    flex-wrap: wrap;
}

.order_next_button_container {
    width: 18%;
    text-align: right;
    margin: 5% 1%;
}

.order_next_button_container button{
    font-size: 3vmax;
    width: 100%;
    height: 100%;
    border-radius: 10px;
}

.currentextras_order {
    padding-bottom: 20vh;
}

.failed_msg_button {
    font-size: 3vmax;
}

.orders_rejected, .are_you_sure, .are_you_sure_failed {
    font-size: 2vw;
}

.orders_rejected, .are_you_sure_failed {
    text-align: center;
}

.orders_rejected_button {
    text-align: center;
}

.orders_rejected_congrats {
    font-size: 2.5vmax;
    text-align: center;
    color: #A7A7A7;
}

.orders_rejected_id {
    font-size: 4vmax;
    text-align: center;
    font-weight: 800;
}

.orders_rejected_cost {
    font-size: 3vmax;
    text-align: center;
    padding-bottom: 5vh;
}

.orders_rejected_screenshot {
    font-size: 3vmax;
    text-align: center;
    padding-bottom: 2vh;
}

.orders_rejected_future {
    font-size: 2vmax;
    text-align: center;
    padding-top: 5vh;
    color: #A7A7A7;
}

.admin_name_hdr {
    width: 23%;
}

.admin_address_hdr {
    width: 47%;
}

.admin_logo_hdr {
    width: 10%;
}

.admin_users_hdr {
    width: 15%;
}

.admin_name {
    width: 23%;
    border-right: solid 1px;
    padding-left: 3px;
}

.admin_address {
    width: 47%;
    border-right: solid 1px;
    padding-left: 3px;
}

.admin_logo {
    width: 10%;
    border-right: solid 1px;
    padding-left: 3px;
    text-align: center;
    vertical-align: middle;
}

.admin_logo_img {
    width: 48px;
    height: 48px;
}

.admin_users {
    width: 15%;
    border-right: solid 1px;
    padding-left: 3px;
}

.admin_edit {
    width: 3%;
}

.menu_not_selected, .menu_selected {
    padding: 2px 5px;
}

/* ones used by build order and process order */
.order_qnt, .small_order_qnt {
    width: 10%;
    text-align: right;
    font-size: 2vw;
}

.order_name, .small_order_name {
    text-align: left;
    width: 60%;
    font-size: 2vw;
    padding-left: 1%;
}

.order_cost, .small_order_cost {
    text-align: right;
    width: 39%;
    font-size: 2vmax;
    font-weight: 1000;
    margin-right: 1%;
}

.new_order_buttons {
    width: 100%;
    display: flex;
}

.new_order_payment {
    width: 40%;
    text-align: center;
}

.order_id {
    width: 100%;
}

.order_id_new {
    width: 100%;
    font-size: 1.5vmax;
    text-align: center;
}

.sub_main_container {
    height: 100%;
}

.order_id_anim1 {
    animation-name: order_id_background1;
    animation-duration: 1s;
    animation-iteration-count: infinite;
    animation-delay: 0s;
}

.order_id_curr {
    width: 20%;
    text-align: center;
    font-size: 1.7vmax;
}

.order_name_curr {
    width: 50%;
    text-align: left;
    font-size: 1.7vmax;
}

.order_cost_curr {
    width: 30%;
    text-align: right;
    font-size: 1.7vmax;
    padding-right: 2px;
    color: blue;
}

.order_reject {
    background: none;
    width: 30%;
    height: 6vh;
}

.order_reject img {
    width: 100%;
    height: 100%;
}

.order_accept {
    background: none;
    width: 30%;
    height: 6vh;
}

.order_accept img {
    width: 100%;
    height: 100%;
}

@keyframes order_id_background1 {
    from {background-color: white;}
    to {background-color: red;}
}

.new_order_total {
    width: 99%;
    border-top: 2px solid black;
    font-weight: 600;
    padding-right: 5px;
    font-size: 1.5vmax;
}

.each_new_order {
    margin: 10px 0;
    width: 97%;
}

.each_current_order {
    margin: 10px auto;
    width: 98%;
    background-color: white;
    border: 3px solid blue;
    margin-bottom: 40px;
}

.each_order_title {
    margin-top: 5px;
    margin-bottom: 5px;
}

.current_order_refunded {
    text-align: center;
    font-size: 3vw;
    animation: current_order_refunded_blinker 1s linear infinite;
}

@keyframes current_order_refunded_blinker {
    0% {
        background-color: rgba(255, 0, 0, 1);
    }

    100% {
        background-color: rgba(255, 0, 0, 0);
    }
}

.current_order_object_notpaidlink {
    animation: current_order_notpaidlink_blinker 1s linear infinite;
}

@keyframes current_order_notpaidlink_blinker {
    0% {
        border: 3px solid black;
    }

    100% {
        border: 3px solid red;
    }
}

.order_extras_button {
    margin-left: 10px;
    font-size: 2.3vw;
    border-radius: 5px;
    background-color: antiquewhite;
}

.order_extras_blank {
    width: 10%;
}

.order_extras_qnt {
    width: 20%;
    font-size: 2vmax;
}

.order_extras_name {
    text-align: left;
    width: 40%;
    font-size: 2vmax;
}

.order_extras_amount {
    text-align: right;
    width: 30%;
    font-size: 2.3vmax;
}

.order_extras_qnt_full {
    width: 7%;
    font-size: 2vmax;
}

.order_extras_name_full {
    text-align: left;
    width: 65%;
    font-size: 2vmax;
}

.order_extras_amount_full {
    text-align: right;
    width: 20%;
    font-size: 2.3vmax;
}

.are_you_sure_button_no, .are_you_sure_button_yes {
    width: 50%;
}

.are_you_sure_button_no {
    text-align: right;
    padding-right: 20px;
}

.are_you_sure_button_yes {
    text-align: left;
    padding-left: 20px;
}

.are_you_sure_button button {
    font-size: 3vw;
    margin-top: 20px;
}

.are_you_sure_button_yes {
    text-align: left;
    padding-left: 20px;
}

.orders_rejected_button button {
    font-size: 4vmax;
}

.are_you_sure_button button {
    font-size: 2.5vmax;
    margin-top: 20px;
}

.edit_order_item_qnt_label {
    width: 30%;
    font-size: 4vmax;
}

.edit_order_item_qnt {
    width: 20%;
    font-size: 4vmax;
    text-align: center;
}

.edit_order_item_up {
    width: 25%;
}

.edit_order_item_up img, .edit_order_item_down img  {
    max-width: 10vw;
    max-height: 10vw;
}

.edit_order_item_down {
    width: 25%;
}

.edit_order_item_delete {
    margin: 2vh 0 2vh 1vw;
}

.edit_order_item_delete button {
    font-size: 3vmax;
    background-color: red;
}

.go_to_top {
    position: absolute;
    bottom: 0;
    right: 0;
    background: none;
    border: none;
}

.go_to_top img {
    width: 5vmax;
    height: 5vmax;
}

.order_totals_title {
    width: 85%;
    text-align: right;
    padding-right: 3px;
}

.order_totals_val {
    width: 15%;
    text-align: right;
    padding-right: 3px;
}

.custom_item_name {
    width: 40%;
    margin-left: 10%;
    font-size: 3vmax;
    text-align: center;
}

.custom_item_cost {
    width: 30%;
    margin-right: 20%;
    font-size: 3vmax;
    text-align: center;
}

.custom_item_name input {
    width: 90%;
    font-size: 3vmax;
    margin-bottom: 20px;
}

.custom_item_cost input {
    width: 90%;
    font-size: 3vmax;
    margin-bottom: 20px;
}

.custom_item_ok {
    width: 100%;
    text-align: center;
}

.custom_item_ok button {
    font-size: 3vmax;
}

.card_only_service_title,
.card_only_bag_title {
    font-size: 2vmax;
    width: 48%;
    padding-right: 2%;
    text-align: right;
}

.card_only_service_value,
.card_only_bag_value {
    font-size: 2vmax;
    width: 48%;
    padding-left: 2%;
    text-align: left;
}

.closed_message {
    width: 100%;
    height: 100vh;
    min-height: 100vh;
    max-height: 100vh;
    text-align: center;
    background-image: url("../IMAGES/spaghetti.jpg");
    background-size: cover;
    background-position: center;
    padding-top: 10px;
    margin-top: -1vh;
    overflow: scroll;
}

.closed_text {
    background-color: lightgray;
    border-radius: 30px;
    text-align: center;
    width: 50%;
    margin-left: 25%;
    font-size: 4vmax;
}

.closed_hours {
    background-color: lightgray;
    border-radius: 30px;
    text-align: center;
    width: 52%;
    margin-left: 20%;
    margin-top: 30px;
    padding: 4%;
    margin-bottom: 20vh;
}

.closed_day {
    width: 40%;
    font-size: 3vmax;
}

.closed_from {
    width: 30%;
    font-size: 3vmax;
    text-align: center;
}

.closed_to {
    width: 30%;
    font-size: 3vmax;
    text-align: center;
}

.closed_closed {
    width: 60%;
    text-align: center;
    font-size: 3vmax;
}

.reprint_order {
    width: 100%;
    background-color: #00ffe1;
    text-align: right;
}

.reprint_order img {
    width: 4vmax;
    height: 3vmax;
}

.header1 {
    text-align: center;
    width: 95%;
}

.right_hdr_pad {
    width: 0%;
}

.site_location_info {
    width: 90%;
    margin: 0 auto 60px auto;
    font-size: 2vmax;
    border-bottom: 2px solid white;
}

.site_location_info div {
    text-align: center;
    margin-bottom: 15px;
}

.each_order_title_full_margin {
    width: 5%;
}

.each_order_title_full_margin_right {
    width: 25%;
    display: block;
}

.each_order_title_full {
    width: 70%;
}

.issue_order_thin_margin {
    width: 1%;
}

.issue_order_main_margin {
    width: 80%;
}

.issue_order_right_margin {
    width: 19%;
}

.order_id_full {
    text-align: center;
    font-size: 3vmax;
    margin-bottom: 50px;
}

.order_item_id_full {
    font-size: 2.3vmax;
    width: 10%;
}

.order_qnt_full {
    font-size: 2.3vmax;
    width: 7%;
}

.order_name_full {
    font-size: 2.3vmax;
    width: 63%;
}

.order_cost_full {
    font-size: 2.3vmax;
    width: 20%;
}

.order_comments_full {
    font-size: 1.8vmax;
    border-bottom: 2px solid red;
    margin-top: 30px;
    word-break: break-all;
}

.order_comments_text_full {
    margin-left: 5%; 
    margin-bottom: 30px;
}

.order_total_full, .order_mop_full, .order_date_full {
    font-size: 2.3vmax;
    margin-top: 10px;
}

.order_left_full {
    width: 50%;
    text-align: left;
}

.order_right_full {
    width: 50%;
    text-align: right;
}

.order_item_full_line {
    background-color: green;
}

.order_state_reprint_full {
    width: 100%;
    text-align: right;
}

.order_state_reprint_full button {
    width: 40%;
    background-color: #00ffe1;
    text-align: center;
    border-radius: 50px;
}

.order_change_state {
    margin: 5% 0 0 15%;
}

.order_edit {
    margin: 10% 0 0 15%;
}

.order_edit button {
    border-radius: 10px;
    border: 1px solid white;
}

.feedback-full-container {
    border-top: 1px solid yellow;
}

.feedback-full-comment-container {
    border-top: 1px solid rgba(255, 255, 255, 0.4);
}

.feedback-full-comments {
    padding-bottom: 50px;
    overflow-wrap: anywhere;
}

.auto-accept-online-enable {
    width: 20px;
}

.auto-accept-online-label {
    font-size: 2vmax;
    margin: 0 5px;
    width: 10%;
}

.auto-accept-online-seconds {
    font-size: 2vmax;
    margin: 0 5px;
    width: 20%;
}

.auto-accept-online-period {
    width: 10%;
}

.auto-accept-online-period input {
    text-align: center;
    margin: 5px;
}

.promotions-update-cust-container {
    margin: 5px 5px 10px 5px;
}

.sql-input {
    width: 90%;
}

.order_state_change_container {
    font-size: 2.5vmax;
    border: 5px solid yellow;
    text-align: center;
}

.order_state_change_choices {
    font-size: 2vmax;
    padding: 2px 0 2px 20px;
    border-radius: 1vmax;
    width: 95%;
    margin: 0 2.5% 5px 2.5%;
}

.order_state_change_apply {
    font-size: 2.5vmax;
    margin: 5%;
}

.order_state_reprint_full img {
    width: 8vmax;
    height: 7vmax;
}

.new_order_left {
    text-align: left;
    margin-left: 5px;
}

.new_order_right {
    text-align: right;
    margin-right: 5px;
}

.new_order_cost_left {
    text-align: left;
    margin-left: 5px;
    font-size: 1.5vw;
}

.new_order_cost_right {
    text-align: right;
    margin-right: 5px;
    font-size: 1.5vw;
}

.new_order_time {
    border-bottom: 2px solid black;
}

.new_order_transport {
    font-size: 1.8vw;
    text-align: center;
}

.new_order_transport_cost {
    font-size: 2vmax;
    text-align: right;
    border-top: 1px solid blue;
    width: 39%;
    margin-right: 1%;
}

.order_personal_info_container {
    border-bottom: 1px solid red;
    margin: 5px 0;
}

.order_personal_info1 {
    font-size: 2vmax;
}

.order_personal_info1_phone_title {
    width: 12%;
}

.order_personal_info1_phone {
    width: 30%;
}

.order_personal_info1_email_title {
    width: 12%;
}

.order_personal_info1_email {
    width: 46%;
}

.order_personal_info2 {
    font-size: 2vmax;
}

.order_personal_info3 {
    font-size: 2vmax;
    width: 50%;
}

.order_personal_info3_cost {
    font-size: 2.3vmax;
    width: 50%;
    text-align: right;
}

.modal_header {
    font-size: 3vmax;
}

.catch_errors {
    font-size: 3vmax;
    font-weight: 900;
}

.order_problem_sorry {
    margin-bottom: 3%;
    font-size: 2.5vmax;
}

.order_problem_charged {
    margin-bottom: 5%;
    font-size: 3vmax;
    color: red;
}

.order_problem_msg {
    margin-bottom: 3%;
    font-size: 3vmax;
    font-weight: 600;
}

.order_problem_code {
    margin-bottom: 5%;
    font-size: 1.8vmax;
}

.order_delivery_cost {
    font-size: 3vmax;
    text-align: center;
}

.order_payment_inf_cost {
    font-size: 2vmax;
    width: 29%;
    padding: 1% 0 0 1%;
    border: 1px solid white;
    margin-top: 1%;
}
 
.order_payment_inf_cost_left {
    width: 55%;
    text-align: right;
    margin-right: 10%;
}

.order_payment_inf_cost_right {
    width: 34%;
    text-align: left;
    margin-left: 1%;
}

.basket_delivery_msg {
    text-align: right;
    font-size: 1.5vmax;
}

.order_payment_type_title {
    font-size: 3vmax;
    text-align: center;
    margin-bottom: 3%;
    width: 30%;
}

.order_payment_type_selection {
    width: 100%;
}

.transport_specify_container {
    font-size: 2vmax;
    border: 1px solid white;
    margin: 10px;
    padding: 10px;
    width: 40%;
}

.transport_specify_selection_asap input, .transport_specify_selection_time input{
    width: 2vmax;
    height: 2vmax;
}

.transport_specify_asap_time {
    margin-left: 5%;
    font-size: 1.5vmax;
}

.transport_specify_selection {
    margin-left: 4%;
}

.transport_specify_time_container {
    margin-left: 5%;
}

.transport_specify_time_container input {
    font-size: 2vmax;
}

.itemextras_order_table {
    border: 1px solid white;
    border-radius: 1vw;
    width: 15.5%;
    font-size: 1.7vmax;
    margin: 0.25%;
    background-color: cadetblue;
}

.itemextras_order_table, .itemextras_order_table_height { 
    height: 17vh;
}

.flex_answers {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
}

.cat_name_title {
    background-color: #E0E0E0;
    text-align: center;
    font-size: 2vmax;
    width: 71%;
    margin-right: 1%;
}

.custom_extras {
    flex-wrap: wrap;
    justify-content: center;
    font-size: 2vmax;
}

.custom_extra_name {
    font-size: 2vmax;
    margin-right: 3vw;
}

.custom_extra_cost_input {
    margin-top: 0;
}

.custom_extras_cost input {
    font-size: 2vmax;
    text-align: right;
    width: 80%;
}

.custom_extra_add {
    font-size: 2vmax;
    border: 2px solid orange;
    border-radius: 1vw;
    margin-left: 20%;
}

.itemextrasfilter {
    font-size: 2vmax;
}

.error_info_msg {
    font-size: 3vmax;
}

.current_order_count_title {
    text-align: right;
    font-size: 2vmax;
    width: 80%;
    color: blue;
}

.current_order_count_value {
    text-align: right;
    font-size: 2vmax;
    width: 18%;
    margin-right: 2%;
    color: blue;
    font-weight: 800;
}

.completed_orders_title {
    font-size: 4vmax;
    text-align: center;
}

.complete_all_button {
    border: 2px solid black;
    border-radius: 1vw;
    margin-left: 1%;
    background-color: orangered;
    font-size: 2vmax;
}

.items_cats {
    width: 100%;
}

.buttons_items_for_cat {
    flex-flow: row;
    flex-wrap: wrap;
    margin-bottom: 20vh;
    margin-top: 4px;
}

.flex_buttons {
    margin: 0.25%;
    width: 19.5%;
}

.buttons_item_info {
    background-color: white;
    min-height: 15vmax;
    border-radius: 10%;
}

.buttons_item_info_search {
    background-color: white;
    display: flex;
    width: 98%;
    margin: 0 auto;
}

.modalChangeOrderMOP_left {
    width: 50%;
    text-align: right;
    padding-right: 3%;
    font-size: 2vmax;
}

.modalChangeOrderMOP_right {
    width: 50%;
    text-align: left;
    padding-left: 3%;
    font-size: 2vmax;
}

.modalChangeOrderMOP_to {
    font-size: 3vmax;
    text-align: center;
}

.modalChangeOrderMOP_cancel, .modalChangeOrderMOP_continue {
    width: 30%;
    margin-top: 20px;
}

.modalChangeOrderMOP_msg {
    font-size: 3vmax;
    text-align: center;
}

.modalChangeOrderMOP_disabled {
    background-color: #77b0f2;
    color: gray;
}

.search_results {
    max-height: 82vh;
    overflow: auto;
}

.txns_table_row_count {
    font-size: 2vmax;
}

.txns_table_row_count_val {
    margin-left: 2%;
    font-size: 2vmax;
}

.txns_search_cols_count {
    width: 10%;
    text-align: center;
    font-size: 2vmax;
}

.cancel_orders_container {
    width: 99%;
    margin-right: 1%;
    text-align: right;
}

.cancel_orders_button {
    background-color: red;
    color: white;
    border-radius: 10px;
    padding: 2px 10px;
}

.total_income {
    border: 1px solid black;
    border-radius: 10px;
    padding: 5px 10px;
    text-align: left;
    margin: 5px auto;
    font-size: 20px;
    width: 90%;
    background-color: white;
    display: flex;
}

.total_income_values {
    width: 50%;
}

.total_income_amount {
    font-weight: 800;
    width: 60%;
}

.total_income_count {
    width: 40%;
}

.income_label {
    width: 50%;
}

.toggle_menu_button {
    width: 100%;
    padding: 5px;
    background-color: whitesmoke;
    border: 1px solid black;
    border-radius: 5px;
    margin-bottom: 10px;
}

.summary_details {
    display: block;
}

.txns_summary_detail_table {
    font-size: 2.7vw;
    text-align: center;
}

.txns_summary_detail_table, .txns_summary_detail_table th,
.txns_summary_detail_table td {
    border: 1px solid white;
}

.order_issues {
    font-size: 2.3vmax;
    margin-left: 1%;
}

.order_issue_resolution {
    border: 1px solid red;
    margin: 20px 0 20px 5px;
    font-size: 1.1vmax;
    padding: 5px;
}

.order_issue_cust_resolution {
    border-bottom: 1px solid gray;
    padding-bottom: 10px;
}

.order_issue_shop_resolution {
    padding-top: 10px;
}

.order_issue_shop_resolution select {
    font-size: 1.5vmax;
}

.order_issue_apply {
    text-align: center;
    margin: 20px 0 10px 0;
}

.order_issue_apply button {
    border-radius: 10px;
}

.order_issue_refund {
    font-size: 3vmax;
}

.order_issue_refund_title {
    width: 48%;
    margin-right: 2%;
    text-align: right;
}

.order_issue_refund_value {
    width: 48%;
    margin-left: 2%;
    text-align: left;
}

.order_issue_refund_value input {
    font-size: 3vmax;
    width: 20%;
}

.order_issue_refund_apply {
    margin-top: 50px;
    padding: 10px;
    border-radius: 5px;
}

.stock_items_container {
    width: 100%;
    height: 70vh;
    padding-bottom: 20vh;
    overflow-y: scroll;
}

.stock_title {
    text-align: left;
    font-size: 2vmax;
    margin-left: 1%;
    width: 49%;
}

.stock_filter {
    text-align: right;
    font-size: 1.5vmax;
    width: 49%;
    margin-right: 1%;
}

.stock_filter input {
    width: 90%;
    font-size: 1.3vmax;
}

.stock_item {
    background-color: white;
    width: 95%;
    margin: 10px auto;
    border-radius: 10px;
    padding: 10px 0;
}

.stock_item button {
    border-radius: 50%;
    padding: 2px;
    background-color: transparent;
    border: 1px solid black;
    margin: 0 5px;
    width: 5%;
}

.stock_item_input {
    width: 50%;
    text-align: center;
    margin: 0 0 10px 0;
}

.stock_item_set {
    margin: 15px auto;
    width: 90%;
    justify-content: center;
}

.stock_item_set_text {
    font-size: 2vmax;
    margin: 0 10px;
}

.stock_item_set_image {
    width: 70%;
    height: 100%;
}

.stock_item_alert {
    width: 90%;
    margin: 3px auto;
    border-top: 1px solid aliceblue;
    justify-content: center;
}

.stock_item_name {
    font-size: 2.5vmax;
    text-align: center;
    width: 90%;
    margin: 3px auto;
    border-bottom: 1px solid aliceblue;
}

.stock_item_count {
    width: 90%;
    margin: 3px auto;
    text-align: center;
    font-size: 2vmax;
}

.stock_item_alert_text {
    color: red;
    font-size: 1.3vmax;
}

.admin_page_no_locations {
    text-align: center;
    font-size: 28px;
    margin: 30px 0 0 0;
}

.admin-locations-label {
    text-align: center;
    font-size: 28px;
    margin: 10px 0;
}

.admin-locations-choices {
    font-size: 22px;
    margin-bottom: 20px;
}

.create-locations-title, .create-invoices-title {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin: 10px 0;
}

.create-locations-form, .create-invoices-form {
    width: 90%;
    max-width: 900px;
    margin: 0 auto; /* Center horizontally */
    box-sizing: border-box;
    padding-bottom: 50vh;
}

.create-locations-label, .create-invoices-label {
    font-weight: bold;
    margin-top: 10px;
    display: block;
    font-size: 20px;
}

.create-locations-input[type="text"],
.create-locations-input[type="number"],
.create-locations-input[type="file"],
.create-locations-input[type="checkbox"],
.create-invoices-input[type="text"],
.create-invoices-input[type="number"],
.create-invoices-input[type="file"],
.create-invoices-input[type="checkbox"],
.create-invoices-input[type="datetime-local"],
    .create-invoices-input[type="date"] {
    width: calc(100% - 20px);
    padding: 10px;
    margin-top: 5px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: 20px;
}

.create-locations-input[type="checkbox"],
.create-invoices-input[type="checkbox"] {
    width: auto;
    margin-right: 10px;
}

select.create-invoices-input {
    width: auto;
    font-size: 20px;
    padding: 3px 8px;
    border-radius: 6px;
}

.create-locations-select, .create-invoices-select {
    width: calc(100% - 20px);
    padding: 10px;
    margin: 5px 0;
    box-sizing: border-box;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 20px;
}

.create-locations-button, .location-card-payment-type-button,
.invoices-button {
    width: 100%;
    padding: 10px;
    background-color: #28a745;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    margin-top: 30px;
}

.create-locations-button:hover, .location-card-payment-type-button:hover,
.invoices-button:hover {
    background-color: #218838;
}

.create-locations-form-group, .create-invoices-form-group {
    margin-bottom: 15px;
}

.create-locations-form-checkbox, .create-invoices-form-checkbox {
    display: flex;
    align-items: center;
}

.create-locations-form-checkbox input[type="checkbox"],
.create-invoices-form-checkbox input[type="checkbox"]  {
    margin: 0; /* Remove any margin */
    vertical-align: middle; /* Ensure checkbox aligns vertically */
    width: 20px;
    height: 20px;
}

.create-locations-form-checkbox .create-locations-label,
.create-invoices-form-checkbox .create-invoices-label {
    margin-left: 10px; /* Adjust spacing between checkbox and label */
    vertical-align: middle; /* Ensure text aligns vertically */
}

.create-locations-form-response, .create-invoices-form-response {
    font-size: 24px;
    text-align: center;
    margin: 30px;
}

.week-label-grey, .week-select-grey,
.month-label-grey, .month-select-grey {
    color: rgba(0, 0, 0, 0.5);
}

.week-select-grey, .month-select-grey {
    pointer-events: none;
}

.location_relatives_title {
    color: #333;
    text-align: center;
    margin-bottom: 20px;
    font-size: 24px;
}

.location_relatives_subtitle {
    color: #555;
    margin-top: 20px;
    font-size: 22px;
    text-align: center;
}

.location_relatives_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    border-bottom: 1px solid black;
}

.location_relatives_title_row {
    background-color: #007bff;
    color: white;
}

.location_relatives_title_col {
    padding: 12px;
    text-align: left;
    font-weight: bold;
}

.location_relatives_row:nth-child(even) {
    background-color: #f9f9f9;
}

.location_relatives_col {
    padding: 12px;
    border-bottom: 1px solid #ddd;
}

.location_relatives_button {
    background-color: #007bff;
    color: white;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.location_relatives_button:hover {
    background-color: #0056b3;
}

.location_relatives_suboption {
    font-size: 14px;
    padding: 5px;
}
.card-payment-type {
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: fit-content;
    text-align: left;
    margin: 0 auto;
}

.card-payment-type label {
    font-size: 24px;
    color: #333;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.card-payment-type input[type="radio"] {
    margin-right: 10px;
    width: 22px;
    height: 22px;
}

.please-wait-dialog-container {
    position: fixed;
    width: 100vw;
    height: 100vh;
    left: 0;
    top: 0;
    overflow: auto;
    background-color: rgba(128, 128, 128, 0.7);
    backdrop-filter: blur(10px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: var(--zindex-1000);
}

.please-wait-dialog {
	height: fit-content;
	padding: 10px;
    border: 1px solid black;
    border-radius: 10px;
    background-color: white;
}

.commission-type-choices {
  font-size: 20px;
  padding: 3px 0;
  border-radius: 7px;
}

.order-full-failure-reason {
    font-size: 20px;
    text-align: center;
}

.body_color:has(.invoices-section),
.body_color:has(.earnings-page) {
    background-color: rgba(0, 0, 0, 0.02);
}

.invoices-section {
    background-color: white;
}

/* Container tokens (scoped) */
.invoices-filters{
  border-bottom: 1px solid orange;
  background-color: rgba(0, 0, 0, 0.02);
}

/* Field blocks */
.invoices-filters__field{ display:flex; align-items: center;}
.invoices-filters__label{
  display:block; 
  margin:6px 6px 6px 15px; 
  font-size:18px;
  width: 105px;
  min-width: 105px;
}

.invoices-filters__control{
  min-width:0; font:inherit;
  padding:4px 8px; border:1px solid black; border-radius:8px;
  background:#fff; color:black; outline:none;
  margin: 3px 0;
}

.invoices-filters__control:focus{
  border-color:#93c5fd; box-shadow:0 0 0 3px rgba(147,197,253,.35);
}

.invoices-filters__control {
  width: 180px;
}

input[type="number"].invoices-filters__control {
  width: 100px;
}

input[type="date"].invoices-filters__control {
  width: 130px;
}



/* Date range */
.invoices-filters__field--range .invoices-filters__range{
  display: flex; 
  align-items: center; 
  gap: 8px;
  flex-wrap: wrap;
}
.invoices-filters__range-sep{ color:black; font-size:inherit; }

/* Actions */
.invoices-filters__actions{ justify-self:end; }
.invoices-filters__btn{
  padding:10px 16px; border-radius:8px; border:1px solid black;
  background:#111827; color:#fff; cursor:pointer;
  margin: 3px 10px 20px 0;
  font-size: 20px;
}
.invoices-filters__btn:hover{ filter:brightness(1.05); }
.invoices-filters__btn:active{ transform:translateY(1px); }

#invTable{width:100%; border-collapse:collapse}
#invTable th,#invTable td{border-bottom:1px solid #eee; padding:8px 10px; text-align:left}
#invTable tbody tr{cursor:pointer}
#invTable tbody tr:hover{background:#fafafa}

.dialog {
  background: #fff; 
  padding: 16px 18px; 
  border-radius: 12px; 
  width:min(800px, 92%);
  margin: 0 auto;
}

.actions {
  margin-top: 50px;
  margin-bottom: 20px;
}

.action-emails {
  display: flex; 
  gap: 8px;
  flex-wrap: wrap;
}

.action-emails input {
  margin-left: 20px;
  border: 1px solid black;
  border-radius: 10px;
  padding: 10px;
}

.action-emails button {
  background-color: black;
  color: white;
  border: 1px solid black;
  border-radius: 10px;
  font-size: 18px;
  padding: 6px;
}

.action-emails button[disabled] {
  background-color: rgba(0,0,0,0.1);
}

.actions label {
  font-size: 18px;
}

#mClose{
  float: right;
  background-color: white;
  font-size: 40px;
}

.invoices{width:100%; border-collapse:collapse}
.invoices th,.invoices td{padding:8px 10px; border-bottom:1px solid #eee; text-align:left}
.invoices tbody tr{cursor:pointer}
.invoices tbody tr:hover{background:#fafafa}

/* Ensure the scrolling container is actually scrollable */
.main_container{
  overflow:auto;           /* you likely already have this */
  position:relative;       /* create a containing block */
}

/* sticky holder that pins itself to the bottom of the scrolling viewport */
.backtop-sticky{
  position:sticky;         /* sticks within the scrolling ancestor */
  bottom:16px;             /* distance from bottom of the container’s viewport */
  z-index:var(--zindex-10);
  display:flex;
  justify-content:flex-end;
  padding:0 16px;          /* right gutter */
  pointer-events:none;     /* let only the button handle clicks */
}

.invoices-back-to-top{
  position: fixed;
  right: 14px;
  bottom: 16px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid var(--ring);
  background: #192649;
  color: #fff;

  /* key bits */
  display: grid;          /* ← make it a grid */
  place-items: center;    /* ← perfectly center the arrow */

  font-size: 18px;
  line-height: 1;
  box-shadow: 0 8px 20px #0006;
  z-index: var(--zindex-32000);
  cursor: pointer;

  /* optional: show/hide with opacity instead of display:none */
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity .2s, transform .2s;
}
.invoices-back-to-top.is-visible { 
    opacity: 1;
    pointer-events: auto;
    transform: none;
}

.invoices-back-to-top i, .invoices-back-to-top svg, .invoices-back-to-top span { display: block; line-height: 1; }

.invoices-back-to-top:focus{ outline: 2px solid #ff8a00; outline-offset: 2px; }
.invoices-back-to-top:hover{ filter: brightness(1.1); }

@media (prefers-reduced-motion: reduce){
  .invoices-back-to-top{ transition: none; }
}

.edit-location-invoices-buttons {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.edit-location-invoices-buttons-delete {
    background-color: red;
    width: fit-content;
}

.edit-location-invoices-buttons-submit {
    width: fit-content;
}

/* ---------- Copy Menu/ Revert Menu ---------- */
.body_color:has(.copymenu-form) {
    background-color: white;
}

.copymenu-form{
  --brand:orange;
  --text:#0f172a;
  --muted:#6b7280;
  --border:#e5e7eb;
  --radius:14px;
  --ring:2px;

  display: grid;
  gap: 20px;
  padding: 18px;
  font-size: 22px; 
}

/* ---------- Fieldsets ---------- */
.copymenu-form fieldset{
  margin:0;
  padding:16px 16px 12px;
  border:1px solid var(--border);
  border-radius:12px;

  display:grid;
  grid-template-columns:1fr;
  gap:10px 16px;
  font-size: inherit;
}
.copymenu-form legend{
  padding:0 6px;
  font-weight:600;
  color:var(--text);
  font-size: inherit;
}

/* Two-column layout on wider screens (label | control) */
@media (min-width: 400px){
  .copymenu-form fieldset{ grid-template-columns:140px 1fr; align-items:center; }
  .copymenu-form label[for]{ justify-self:end; }
}

/* ---------- Labels & controls ---------- */
.copymenu-form label{ font-size: 18px; color:var(--muted); }

.copymenu-form select,
.copymenu-form input[type="text"],
.copymenu-form input[type="number"]{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
  color:var(--text);
  transition:border-color .15s ease, box-shadow .15s ease;
  appearance:none;
  font-size: 16px;
}
.copymenu-form select:focus-visible,
.copymenu-form input:focus-visible,
.copymenu-form button:focus-visible{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 var(--ring) color-mix(in oklab, var(--brand) 20%, #fff);
}

/* ---------- Radios (Output) ---------- */
/* Make radio options comfy to click; keep native circle for simplicity */
.copymenu-form label:has(> input[type="radio"]){
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border:1px solid var(--border);
  border-radius:10px;
  cursor:pointer;
  user-select:none;
}
.copymenu-form label:has(> input[type="radio"]:checked){
  background:var(--brand);
  border-color:var(--brand);
  color:#fff;
}
.copymenu-form input[type="radio"]{
  accent-color:var(--brand);
}

/* Put radio pills on one line and wrap if needed */
.copymenu-form fieldset:has(> label > input[type="radio"]){ 
  grid-template-columns:1fr; 
}
.copymenu-form fieldset:has(> label > input[type="radio"]) > label{
  margin-right:8px; 
}

/* ---------- Submit button ---------- */
.copymenu-form button[type="submit"]{
  justify-self:end;
  padding:12px 16px;
  border:0;
  border-radius:12px;
  background:var(--brand);
  color:#fff;
  font-weight:600;
  cursor:pointer;
  transition:transform .05s ease, filter .15s ease, box-shadow .15s ease;
  box-shadow:0 6px 16px rgba(0,0,0,.12);
}
.copymenu-form button[type="submit"]:hover{ filter:brightness(.98); }
.copymenu-form button[type="submit"]:active{ transform:translateY(1px); }

/* ---------- Helpers ---------- */
.copymenu-form :disabled{ opacity:.6; cursor:not-allowed; }
.copymenu-form .hint{ font-size:.85rem; color:var(--muted); }

@media only screen and (max-width: 1000px) {
    .header1 {
        width: 92%;
    }
}

@media only screen and (max-width: 900px) {
    .closed_hours {
        width: 92%;
        margin-left: 0;
    }
}

@media only screen and (max-width: 800px) {
    .order_edit {
        margin: 0 0 10px 5%;
    }

    .issue_order_right_margin {
        width: 80%;
    }

    .each_order_title_full_margin {
        width: 0%;
    }
    
    .each_order_title_full_margin_right {
        width: 100%;
        display: flex;
    }

    .each_current_order {
        margin-bottom: 20px;
    }

    .order_id_curr, .order_name_curr, .order_cost_curr {
        font-size: 2.2vmax;
    }

    .each_order_title_full {
        width: 100%;
    }

    .order_state_reprint_full {
        width: 30%;
    }

    .order_state_reprint_full button {
        width: 100%;
    }

    .order_change_state {
        margin: 0 5% 10px 5%;
        width: 60%;
    }

    .order_reject, .order_accept {
        width: 20%;
    }

    .new_order_payment {
        width: 60%;
    }

    .order_id_new {
        font-size: 3vmax;
    }

    .new_order_total {
        font-size: 2.5vmax;
    }

    .are_you_sure, .are_you_sure_failed {
        font-size: 5vw;
    }
}

@media only screen and (max-width: 700px) {
    .stock_item button {
        width: 8%;
    }

    .header1 {
        width: 90%;
    }
}

@media only screen and (max-width: 600px) {
    .stock_item button {
        font-size: 1.3vmax;
    }

    h1 {
        font-size: 22px;
    }
}

@media only screen and (max-width: 500px) {
    .header1 {
        width: 85%;
    }
}

@media only screen and (max-width: 400px) {
    h1 {
        font-size: 18px;
    }

    .total_income {
        font-size: 16px;
    }
}

@media only screen and (max-width: 280px) {
    .go_to_top img {
        width: 4vmax;
        height: 4vmax;
    }

    .are_you_sure, .are_you_sure_failed {
        font-size: 7vw;
    }
}

@media only screen and (max-height: 600px) {
    .main_container {
        height: 86vh;
        min-height: 86vh;
        max-height: 86vh;
    }

    .admin_locations {
        height: 74vh;
        min-height: 74vh;
        max-height: 74vh;
    }

    .order_name_input, .order_phone_input, .order_email_input {
        width: 45%;
    }

    .order_personal_info1 {
        flex-wrap: wrap;
    }

    .order_personal_info1_phone_title, .order_personal_info1_email_title {
        width: 17%;
    }

    .order_personal_info1_phone, .order_personal_info1_email {
        width: 82%;
    }

    .stock_item button {
        width: 10%;
    }
}

@media only screen and (min-width: 1200px) and (max-height: 600px) {
    .adorders_column {
        width: 7%;
    }

    .page_column {
        width: 81%;
    }
}

.outer_widths {
  min-width: 30%;
  max-width: 30%;
  width: 30%;
}
  
.login_inner_page {
  margin-top: 10%;
}

.login_container {
  border-radius: 30px  80px;
  padding: 16px;
  width: fit-content;
  margin: 0 auto;
}

/* Full-width inputs */
input[type=password], .login_name, .input_type_number {
  display: inline-block;
  box-sizing: border-box;
  font-size: 24px;
  border: 1px solid;
}

input[type=password], .login_name, .input_type_number {
  width: fit-content;
}

.login_label  {
  font-size: 24px;
}

/* Set a style for all buttons */
button {
  border: none;
  font-size: 3vw;
}

.login_button {
  padding: 15px 0;
  text-align: center;
  width: 40%;
}

.login_button button {
  padding: 3px 10px;
}

/* Add padding to containers */
.container {
  padding: 16px;
}

/* The "Forgot password" text */
span.psw {
  float: right;
  padding-top: 16px;
}

.login_error {
  text-align: center;
}

.login_changes {
  text-align: center;
  font-size: 20px;
}

.login_stay {
  font-size: 18px;
  margin: auto 0;
}

.login_stay_container {
  display: flex;
  justify-content: center;
  margin: 10px 0;
}

.login_stay_checkbox {
  width: 22px;
  height: 22px;
}

@media only screen and (max-width: 700px) {
  .login_label  {
    font-size: 20px;
  }
}

@media only screen and (max-height: 500px) {
  .login_inner_page {
    margin-top: 0%;
  }

  .login_container {
    padding: 0 16px;
  }
}

/* Change styles for span and cancel button on extra small screens */
@media screen and (max-width: 300px) {
  span.psw {
    display: block;
    float: none;
  }
}

/* Popup container - can be anything you want */
.popup {
  position: relative;
  display: inline-block;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* The actual popup */
.popup .popuptext {
  visibility: hidden;
  text-align: center;
  border-radius: 6px;
  padding: 8px 0;
  position: absolute;
  z-index: var(--zindex-1);
  bottom: 125%;
  left: 50%;
  margin-left: -100%;
}

/* Popup arrow */
.popup .popuptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
}

/* Toggle this class - hide and show the popup */
.popup .show {
  visibility: visible;
  -webkit-animation: fadeIn 1s;
  animation: fadeIn 1s;
}

/* Add animation (fade in the popup) */
@-webkit-keyframes fadeIn {
  from {opacity: 0;} 
  to {opacity: 1;}
}

@keyframes fadeIn {
  from {opacity: 0;}
  to {opacity:1 ;}
}

/*body {font-family: Arial, Helvetica, sans-serif;}*/

/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: var(--zindex-max);
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: 100%; /* Full height */
  overflow: auto; /* Enable scroll if needed */
}

.modal-header td {
  padding: 0 10px 0 10px;
  text-align: left;
}

/* Modal Content */
.modal-content {
  position: relative;
  margin: 0 0 50px 0; /* margin at bottom so that scrolling will go properly to bottom and show all content */
  padding: 0;
  border: 1px solid #888;
  width: 100%;
  -webkit-animation-name: animatetop;
  -webkit-animation-duration: 0s;
  animation-name: animatetop;
  animation-duration: 0s;
  border-radius: 30px;
  overflow: auto;
  padding-bottom: 10vh;
}

/* Add Animation */
@-webkit-keyframes animatetop {
  from {top:-300px; opacity:0} 
  to {top:0; opacity:1}
}

@keyframes animatetop {
  from {top:-300px; opacity:0}
  to {top:0; opacity:1}
}

/* The Close Button */
.close {
  float: right;
  font-size: 4vmax;
  font-weight: bold;
}

.close:focus {
  text-decoration: none;
  cursor: pointer;
}

.modal-header {
  padding: 0px 16px;
}

.modal-body {
  padding: 10px;
}

.scrollable_extras {
  overflow: auto;
  height: 60vh;
}

.edit_order_item {
  z-index: var(--zindex-3);
}

.itemextras_one {
  overflow: hidden;
}

@media only screen and (max-width: 800px) {
  .close {
    font-size: 6vmax;
  }
}

.showmenu_container {
    border-radius: 30px 80px;
}

.category_icons {
    width: 1.7vmax;
    height: 1.7vmax;
}

.edit_category_icons {
    width: 3vw;
    height: 3vw;
}

.category_icon_add {
    width: 2vw;
    height: 2vw;
}

.category_buttons, .cat_button_text, .cat_button_text_selected {
    background: none;
    margin: 0;
}

.allergen_buttons {
    color: white;
    border-radius: 50%;
    font-size: 2.4vw;
}

.allergens_body {
    padding-bottom: 90vh;
}

.allergens_colour_hdr, .allergens_char_hdr, .allergens_desc_hdr, .allergens_remove_hdr,
.allergens_colour_col, .allergens_char_col, .allergens_desc_col, .allergens_remove_col,
.item_allergens_active_hdr, .item_allergens_active_col, .item_allergens_allergy_hdr,
.item_allergens_allergy_col, .item_allergens_desc_hdr, .item_allergens_desc_col {
    font-size: 3vw;
    text-align: center;
}

.allergens_remove_hdr, .allergens_remove_col {
    width: 15%;
}

.allergens_colour_hdr, .allergens_colour_col {
    width: 20%;
}

.allergens_char_hdr, .allergens_char_col {
    width: 10%;
}

.allergens_desc_hdr, .allergens_desc_col {
    width: 55%;
}

.item_allergens_active_hdr, .item_allergens_active_col {
    width: 30%;
    text-align: right;
}

.item_allergens_allergy_hdr, .item_allergens_allergy_col {
    width: 20%;
}

.item_allergens_desc_hdr, .item_allergens_desc_col {
    width: 50%;
    text-align: left;
}

.item_allergens_active_col input{
    margin-right: 8%;
    width: 2vw;
    height: 2vw;
}

.item_allergens_allergy_col p {
    border-radius: 50%;
    width: 5vw;
    margin: 0 0 0 35%;
}

.item_allergens_desc_col p {
    margin: 0 0 0 5%;
}

.item_allergen {
    border-radius: 50%;
    margin: 0 auto;
    font-size: 1.5vmax;
    height: 2vmax;
    width: 25%;
    text-align: center;
    padding: 0.2vmax 0.5vmax;
    border: 3px solid white;
}

.item_allergen_search {
    border-radius: 50%;
    margin: 0 50%;
    font-size: 1.5vmax;
    height: 2vmax;
    width: 100%;
    text-align: center;
    padding: 0.2vmax 0.5vmax;
}

.item_allergens_allergy_hdr, .item_allergens_allergy_col, 
.item_allergens_desc_hdr, .item_allergens_desc_col {
    font-size: 3vw;
    text-align: center;
}

.item_allergens_allergy_hdr, .item_allergens_allergy_col {
    width: 20%;
}

.item_allergens_desc_hdr, .item_allergens_desc_col {
    width: 50%;
    text-align: left;
}

.item_allergens_allergy_col p {
    border-radius: 50%;
    width: 5vw;
    margin: 0 0 0 35%;
}

.item_allergens_desc_col p {
    margin: 0 0 0 5%;
}

.allergen_row {
    margin-bottom: 15px;
}

.allergens_colour_col input {
    width: 90%;
    height: 3vw;
}

.allergens_char_col input {
    width: 50%;
    font-size: 3vw;
    text-align: center;
}

.allergens_active_col input {
    margin-left: 15%;
    margin-top: 2%;
    width: 2vw;
    height: 2vw;
}

.allergens_desc_col input {
    width: 95%;
    height: 3vw;
    font-size: 2vw;
}

.allergens_colour {
    text-align: right;
}

.allergens_character {
    font-size: 3vw;
    border-radius: 50%;
    text-align: center;
    width: 5vw;
}

.allergen_delete_button {
    background: none;
}

.allergen_delete_button img {
    width: 3vw;
    height: 3vw;
}

.allergen_add_button img {
    width: 4vw;
    height: 4vw;
}

.update_allergens {
    text-align: center;
    margin-top: 20px;
}

.update_allergens button {
    font-size: 5vw;
}

.cat_button_text, .cat_button_text_selected {
    width: 100%;
}

.cat_button_text:focus, .cat_button_text_selected:focus {
    outline: none;
}

.column_header {
    text-align: center;
}

.column_header_text {
    margin: 0;
    padding: 0;
    display: inline-block;
    vertical-align: middle;
    height: 100%;
}

.category_list, .category_list_selected {
    /*width: 30%;*/
    padding: 0;
    border-radius: 8px;
    height: 5vmax;
}

.cat_checkboxes_list {
    margin: 0 5px 0 0;
    list-style-type: none;
    padding-inline-start: 0;
 }

 .select_all_checkbox {
     padding-bottom: 10px;
 }

 .other_checkbox {
     padding-top: 10px;
 }

 .input_checkbox, .cat_checkboxes {
    width: 20px;
 }

 .choose_new_cats, .choose_new_items {
     width: 50%;
     display: none;
 }

 .add_cat_button, .add_item_button {
     text-align: center;
 }

 .input_new_cat, .input_new_item {
     text-align: right;
     width: 30%;
 }

.new_input {
    width: 40%;
}

.back_button {
    display: none;
    padding: 3px 10px;
    margin-right: 10px;
}

.cat_header, .item_header {
    padding-top: 0;
    padding-bottom: 0;
}

.cat_header, .cats {
    width: 25%;
}

.item_header {
    width: 73%;
    margin-left: 2%;
}

.cats, .items {
    margin-top: 10px;
    overflow-y: scroll;
    padding-bottom: 5vh;
}

.items_for_cat {
    margin-bottom: 10px;
}

.spacer {
    height: 3px;
}

.big_spacer {
    height: 15px;
}

.item_number {
    width: 10%;
    text-align: center;
}

.item_extra_col1 {
    width: 15%;
}

.item_extra_col2, .barcode_data_column {
    width: 25%;
}

.item_extra_col3 {
    width: 10%;
}

.item_extra_col4 {
    width: 50%;
}

.barcode_data_column input {
    width: 95%;
}

.item_extra_col2, .item_extra_col2 input, .item_extra_col2 select, 
.item_extra_col3, .item_extra_col4, .item_extra_col4 input,
.barcode_data_column, .barcode_data_column input,
.item_extra_col1 {
    font-size: 1.5vmax;
}

.item_ticket_printer {
    margin-left: 10px;
    background-color: black;
}

.item_ticket_printer img {
    width: 80px;
}

.item_info {
    margin-bottom: 10px;
}

.optional_extras, .existing_extras, .existing_extras_extra {
    margin: 10px 1% 10px 1%;
    width: 98%;
}

.optional_extras, .existing_extras_extra {
    border: 1px solid;
}

.existing_extras {
    border-top: 1px solid;
}

.existing_extras_extra_col1 {
    width: 25%;
    text-align: left;
}

.existing_extras_extra_col2 {
    width: 35%;
}

.existing_extras_extra_col3 {
    width: 10%;
}

.existing_extras_extra_col4 {
    width: 15%;
}

.existing_extras_extra_col5 {
    width: 15%;
}

.existing_extras_extra_col6 {
    width: 5%;
}

.cost_input {
    width: 60px;
}

.input_extra_question {
    width: 50%;
}

.input_extra_question_label {
    text-align: right;
}

.existing_extra_input {
    width: 90%;
}

.mult_answers_amount {
    font-size: 1.5vmax;
}

.edit_cats_width {
    width: 10%;
}

.edit_cats_input {
    width: 90%;
    padding: 0 10px 0 10px;
    font-size: 1.5vmax;
}

.edit_cats_input_title {
    font-size: 1.5vmax;
}

.edit_cats_hide {
    height: 30px;
}

.edit_items_input {
    font-size: 1.5vmax;
}

.edit_items_hide {
    text-align: center;
}

.edit_items_hide input {
    height: 30px;
    width: 30px;
}

.custom_col1 {
    width: 21%;
}

.custom_col2 {
    width: 37%;
}

.custom_col3 {
    width: 16%;
}

.custom_col4 {
    width: 20%;
}

.custom_col5 {
    width: 6%;
}

.custom_col5 input {
    margin: 0;
    text-align: center;
    border-radius: 3px;
}

.custom_num_input {
    width: 50px;
}

.add_items {
    width: 40%;
}

.item_edit {
    width: 40px;
}

.main_title {
    font-size: 4vw;
}

.main_title_sub {
    font-size: 1.6vw;
}

.rounded_button {
    font-size: 24px;
}

.menu_not_selected, .menu_selected {
    font-size: 2vw;
}

.login_error {
    font-size: 1.5vw;
}

.add_item_label, .add_item_value, .existing_cats {
    font-size: 2vw;
}

.cat_checkboxes_list, .input_text {
    font-size: 1.5vw;
}

.select_all_checkbox, .other_checkbox {
    font-size: 3vmax;
}

.cat_button_text, .cat_button_text_selected, .category_buttons {
    font-size: 1.5vw;
}

.column_header {
    font-size: 1.5vmax;
}

.item_cat_header {
    font-size: 2vmax;
}

.item_cat_header_desc {
    font-size: 1.5vmax;
    padding: 5px 10px 0 10px;
}

.item_name {
    font-size: 2vmax;
    font-weight: bold;
}

.optional_extras_title {
    font-size: 2vw;
}

.location_choices {
    font-size: 2vw;
}

.order_header {
    font-size: 1.7vw;   
}

.itemextras_order_button {
    font-size: 2vw;   
}

.new_order_button {
    font-size: 6vw;
}

.keyboard_button {
    font-size: 80px;
}

.enter_name_text {
    font-size: 6vw;
}

.entered_name {
    font-size: 4vw;
}

.action_order_button {
    font-size: 2.5vw;
}

.search_input {
    font-size: 2vw;
}

.add_items_button {
    font-size: 2vmax;
}

.site_label {
    font-size: 2vmax;
}

@media only screen and (max-width: 700px) {
  /* Override previous values when browser width is smaller */

.main_title {
    font-size: 6vw;
}

.main_title_sub {
    font-size: 12px;
}

.add_item_label, .add_item_value, .existing_cats {
    font-size: 14px;
}

input[type=text], input[type=password], input[type=email] {
    margin: 0px 0px 0px 0px;
    font-size: 20px;
}

.existing_cats {
    margin: 0px 0px 0px 0px;
}
  
label {
    font-size: 16px;
}

button {
    font-size: 16px;
    padding: 2px 0px 2px 0px;
}

.rounded_button {
    font-size: 24px;
}

.outer_widths {
    min-width: 5%;
    max-width: 5%;
    width: 5%;
}

.cat_checkboxes_list, .input_text {
    font-size: 14px;
}

.select_all_checkbox, .other_checkbox {
    font-size: 14px;
}

.cat_button_text, .cat_button_text_selected {
    font-size: 14px;
}

.column_header {
    font-size: 14px;
}

.category_icon_add {
    width: 16px;
    height: 16px;
}

.small_width {
    min-width: 2%;
    max-width: 2%;
    width: 2%;
}

.modal-content {
    width: 100%;
}

.input_checkbox, .cat_checkboxes {
    width: 20px;
 }

.location_choices {
    font-size: 16px;
}

.small_width {
    min-width: 1%;
    max-width: 1%;
    width: 1%;
}

.medium_width {
    min-width: 5%;
    max-width: 5%;
    width: 5%;
}

.large_width {
    min-width: 15%;
    max-width: 15%;
    width: 15%;
}

.back_button {
    padding: 3px 5px;
    margin-right: 0px;
}

.items {
    width: 58%;
    margin-left: 2%;
}

.cat_header, .cats {
    width: 40%;
}

.add_items_button {
    padding: 2px 5px;
}

.site_label {
    font-size: 16px;
}
}

@media only screen and (min-width: 1300px) {
.column_header {
    font-size: 1vw;
}

.cat_checkboxes_list, .input_text {
    font-size: 1.1vw;
}

.select_all_checkbox, .other_checkbox {
    font-size: 3vmax;
}

}

.body_color {
    background-color: #BBBBBB;
}

.top_header, .footer, .login_container {
    background-color: #E1E1E1;
}

.top_header, .footer, .login_container, .login_changes {
    color: #303030;
}

.login_error, .not_logged_server {
    background-color: #222629;
    color: red;
}

.no_items {
    color: red;
}

.rounded_button, button, .back_button {
    background-color: #5983b4;
    color: black;
}

/* menu colour changes should be below the above rounded button colours */
.menu_selected {
    background-color: white;
    color: black;
}

.modal-content, .popup .popuptext {
    background-color: black;
}

.showmenu_container {
    background-color: #474B4F;
}

.column_header {
    color: white;
}

.category_list {
    background-color: black;
}

.category_list_selected {
    background-color: white;
}

.cat_button_text {
    color: white;
}

.cat_button_text_selected {
    color: black;
}

.items_for_cat, .category_buttons, .order_qnt, .small_order_qnt {
    color: black;
}

.item_cat_header {
    background-color: #E0E0E0;
    color: black;
}

.item_cat_header_desc {
    background-color: #E0E0E0;
    color: black;
}

.items_for_cat {
    background-color: #E0E0E0;
}

.item_info, .order, .order_button {
    background-color: white;
}

.popup .popuptext, .modal-content {
    color: white;
}

.select_all_checkbox, .other_checkbox {
    color: lightgreen;
}

input[type=password], .login_name, .input_type_number {
    border-color: #0C0C0C;
}

.optional_extras {
    border-color: white;
}

.existing_extras, .existing_extras_extra {
    border-color: gray;
}

.existing_extras_none {
    color: #86C232;
}

.modal_header {
    color: #86C232;
}

.itemextras_order_button {
    background-color: gray;
    color: white;
}

.order_item {
    border-top: solid 1px orange;
}

.search_input {
    background-color: orange;
    color: black;
}

.new_order_details {
    background-color: #BBBBBB;
}

.order_state {
    background-color: coral;
}

.current_orders_title, .new_orders_title {
    border-bottom: solid black;
}

.current_order {
    background-color: white;
}

.alternate_row_colour {
    background-color: #5f7585;
}

.each_new_order {
    background-color: white;
    border: 3px solid blue;
    margin-bottom: 40px;
}

.items {
    width: 73%;
    margin-left: 2%;
}

.cat_table, .item_table {
    margin-bottom: 7vh;
}

.opening_hours, .receipt_information, .transport_info, .order_charges, .receipt_settings, .api_keys, .scanner_type {
    display: none;
    background-color: var(--location-info-background);
    margin-bottom: 20px;
}

.location_info_button {
    width: 90%;
    margin: 0 auto;
    border-radius: 5px;
}

.receipts_bigger_items_input {
    width: 2vmax;
    height: 2vmax;
}

.opening_hours_margin {
    width: 0%;
}

.opening_hours_day {
    width: 10%;
    font-size: 2vmax;
}

.opening_hours_checkbox {
    width: 5%;
}

.opening_hours_select {
    height: 2vmax;
    width: 100%;
}

.opening_hours_hdr {
    font-size: 2vmax;
}

.order_prints_title {
    font-size: 2vmax;
}

.order_prints_title {
    width: 33%;
    padding-left: 10px;
}

.transport_notification_sound {
    margin-left: 28px;
    width: 3vmax;
    height: 3vmax;
}

.order_prints_input input {
    border-radius: 5px;
    margin-left: 0;
    width: 70px;
}

.service_charge_choices_container {
    margin-left: 20px;
}

.service_charge_choices {
    font-size: 2vmax;
}

.service_charge_choices input {
    width: 2vmax;
    height: 2vmax;
    position: relative;
    top: 5px;
}

.time_input {
    width: 20%;
}

.time_input input {
    width: 90%;
    text-align: center;
    font-size: 2vmax;
}

.extras_answer_delete {
    text-align: right;
}

.transport_info_delivery_container {
    border-bottom: 2px solid orangered;
    margin-top: 10px;
    padding-bottom: 10px;
}

.transport_info_delivery_title, .transport_info_collection_title {
    padding-left: 10px;
    margin-right: 0.5%;
}

.transport_info_delivery_input input {
    width: 2vh;
    height: 2vh;
    margin: 0 15px;
}

.transport_info_delivery_from_container, .transport_info_collection_from_container {
    padding-left: 30px;
}

.delivery_location_from_title, .delivery_location_to_title,
.collection_location_from_title, .collection_location_to_title {
    width: 28%;
}

.delivery_location_from_input, .delivery_location_to_input,
.collection_location_from_input, .collection_location_to_input {
    width: 15%;
}

.delivery_location_from_input input, .delivery_location_to_input input,
.collection_location_from_input input, .collection_location_to_input input {
    font-size: 2vmax;
    width: 90%;
    text-align: center;
}

.delivery_location_to_minutes, .collection_location_to_minutes {
    font-size: 2vmax;
    margin-left: 20px;
}

.transport_info_collection_container {
    border-bottom: 2px solid orangered;
    margin-top: 10px;
    padding-bottom: 10px;
}

.transport_info_collection_input input {
    width: 2vh;
    height: 2vh;
    margin: 0 15px;
}

.transport_info_min_delivery_container {
    margin-top: 10px;
}

.transport_info_min_delivery_title, .transport_info_min_order_title {
    width: 27%;
    padding-top: 2%;
    margin-left: 10px;
}

.transport_info_min_delivery_input input, .transport_info_min_order_input input {
    width: 35%;
    text-align: center;
    margin-left: 0;
    font-size: 2vmax;
}

.transport_info_min_delivery_input_currency {
    padding-top: 4%;
    width: 7%;
}

.api_keys {
    display: none;
}

@media only screen and (max-width: 700px) {
    .service_charge_choices {
        font-size: 1.5vmax;
    }

    .transport_info_min_delivery_title, .transport_info_min_order_title {
        width: 30%;
    }

    .transport_info_min_delivery_input, .transport_info_min_order_input {
        width: 40%;
    }

    .transport_info_min_delivery_input_currency {
        padding-top: 5%;
        width: 10%;
    }

    .transport_info_min_delivery_input input, .transport_info_min_order_input input {
        width: 45%;
    }
}

@media only screen and (max-width: 600px) {
    .order_prints_title {
        font-size: 1.5vmax;
    }

    .service_charge_choices_container {
        display: flex;
    }

    .transport_info, .delivery_location_to_minutes, .collection_location_to_minutes {
        font-size: 1.5vmax;
    }
}

@media only screen and (max-width: 500px) {
    .order_prints_input input {
        font-size: 2vmax;
    }
}

@media only screen and (max-width: 400px) {
    .time_input input {
        font-size: 1.5vmax;
    }

    .opening_hours_day {
        font-size: 1.5vmax;
    }
}

.small_width {
    min-width: 1%;
    max-width: 1%;
    width: 1%;
}

.current_orders_list {
    margin-bottom: 20vh;
}

.current_orders_list, .current_orders_title, .new_orders_title, .new_orders_list {
    margin-left: 0.5%;
    margin-right: 0.5%;
}

.current_orders_list, .new_orders_list {
    overflow-y: scroll;
}

.all_orders {
    height: 100vh;
    min-height: 100vh;
    max-height: 100vh;
}

.current_orders_list {
    height: 83vh;
    min-height: 83vh;
    max-height: 83vh;
    padding-bottom: 15vh;
}

.completed_orders_list {
    margin-bottom: 0;
    padding-bottom: 10vh;
    height: 75vh;
}

.order_state {
    width: 60%;
    text-align: center;
}

.order_state_text {
    width: 50%;
}

.order_state_reprint {
    width: 15%;
    text-align: right;
}

.current_order {
    margin-bottom: 20px;
    font-size: 2vmax;
}

.orders_menu_cats {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    height: 100%;
    overflow-y: scroll;
}

.orders_menu_each_cat {
    border: 1px solid black;
    border-radius: 5px;
    padding: 5px 10px;
    margin: 1%;
    width: 25%;
    min-height: 6vh;
    text-align: center;
    background-color: black;
    color: white;
}

.orders_actions_custom button {
    background: none;
}

.orders_actions_custom img {
    width: 9vh;
    min-width: 9vh;
    max-width: 9vh;
    height: 8vh; /* size of header - 1vh */
    min-height: 8vh;
    max-height: 8vh;
}

.orders_actions_cd {
    width: 35%;
}

.orders_actions_cd button {
    background: none;
}

.orders_actions_cd img {
    width: 7vw;
    height: 5vw;
}

.order_actions button {
    width: 90%;
}

.order_payment_image {
    width: 50%;
    height: 100%;
}

.order_comments {
    font-size: 1.6vw;
    word-break: break-all;
}

.order_id, .small_order_id {
    margin-left: 5px;
    color: #6b6d78;
}

.order_id {
    font-size: 2vmax;
}

.small_order_id {
    font-size: 1.2vmax;
}

.menu_width {
    width: 75%;
    display: block;
}

.search_input_container {
    width: 100%;
    position: inherit;
    left: 0;
    border-bottom: 1px solid black;
    padding-bottom: 8px;
}

.orders_width {
    width: 25%;
    border-left: 1px solid black;
}

.order_full_container {
    flex-flow: row;
}

.order_full_states_title {
    font-size: 22px;
    text-align: center;
    margin: 10px 0;
}

.order_full_states {
    font-size: 20px;
}

.order_full_states_row {
    display: flex;
    justify-content: center;
}

.order_full_states_state {
    margin-right: 10px;
}

.order_full_states_changed_time {
    margin-left: 10px;
}

.current_order_state_container {
    width: 50%;
}

.curr_order_state_sel, .curr_order_state_not_sel, .curr_order_state_ready {
    background: none;
    width: 46%;
    margin: 5px 1%;
    border: 2px solid black;
    border-radius: 3vw;
}

.curr_order_state_sel {
    background-color: aqua;
}

.curr_order_state_not_sel img, .curr_order_state_sel img, .curr_order_state_ready img {
    width: 50%;
    height: 50%;
}

.curr_order_state_ready {
    background-color: red;
    animation: curr_order_state_ready_blinker 1s linear infinite;
}

@keyframes curr_order_state_ready_blinker {
    50% {
        opacity: 0;
    }
}

.amount_paid_or_not {
    font-size: 1.4vw;
    text-align: right;
    padding-right: 5px;
}

.amount_paid_or_not_img {
    height: 5vh;
    width: 5vh;
}

.current_order_details_container {
    width: 50%;
}

.fetch_order_results, .fetch_order_results_addr {
    position: absolute;
    background-color: white;
    color: black;
    font-size: 1.4vmax;
}

.fetch_order_results {
    top: 55px;
    left: 1%;
    width: 98%;
}

.fetch_order_results_addr {
    top: 55px;
    left: -10%;
    width: 185%;
}

.fetch_order_match {
    width: 100%;
    margin: 20px 0;
    border-bottom: 1px solid gray;
}

.fetch_order_match_name, .fetch_order_match_phone, 
.fetch_order_match_email, .fetch_order_match_address1, 
.fetch_order_match_address2, .fetch_order_match_postcode {
    padding-left: 3px;
}

.fetch_order_match_name {
    width: 11%;
    text-align: center;
}

.fetch_order_match_phone {
    width: 13%;
    text-align: center;
}

.fetch_order_match_email {
    width: 27%;
    text-align: center;
}

.fetch_order_match_address1 {
    width: 26%;
}

.fetch_order_match_address2 {
    width: 14%;
}

.fetch_order_match_postcode {
    width: 9%;
    text-align: center;
}

.dot-flashing {
    position: relative;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    background-color: #9880ff;
    color: #9880ff;
    animation: dotFlashing 1s infinite linear alternate;
    animation-delay: .5s;
    left: 50%;
    top: 5%;
}
  
.dot-flashing::before, .dot-flashing::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0;
}
  
.dot-flashing::before {
    left: -30px;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    background-color: #9880ff;
    color: #9880ff;
    animation: dotFlashing 1s infinite alternate;
    animation-delay: 0s;
}
  
.dot-flashing::after {
    left: 30px;
    width: 20px;
    height: 20px;
    border-radius: 10px;
    background-color: #9880ff;
    color: #9880ff;
    animation: dotFlashing 1s infinite alternate;
    animation-delay: 1s;
}
  
@keyframes dotFlashing {
    0% {
      background-color: #9880ff;
    }
    50%,
    100% {
      background-color: #ebe6ff;
    }
}

@media only screen and (max-width: 800px) {
    .menu_width {
        width: 0%;
        display: none;
    }

    .search_input_container {
        position: absolute;
        left: -100vw; /* as basket count and other sub items are relative position, this is good way to hide them all */
    }
    
    .orders_width {
        width: 100%;
        border-left: none;
    }

    .orders_actions_custom, .basket {
        display: none;
    }

    .order_full_container {
        flex-flow: column-reverse;
    }

    .order_payment_image {
        height: 7vh;
        width: 7vh;
    }
}

.home_body {
    background-image: url("../IMAGES/market.jpg");
}

.location_header, .slogan {
    background-color: #b4b4b4;
}

.login_text {
    color: blue;
}

.modal-content, .popup .popuptext {
    background-color: black;
}

.popup .popuptext, .modal-content {
    color: white;
}

.modal_header {
    color: #86C232;
}

.category_list {
    background-color: black;
}

.category_list_selected {
    background-color: white;
}

.items_for_cat, .category_buttons, .order_qnt, .small_order_qnt {
    color: black;
}

.items_for_cat {
    background-color: #E0E0E0;
}

.item_cat_header {
    background-color: #E0E0E0;
    color: black;
}

.item_cat_header_desc {
    background-color: #E0E0E0;
    color: black;
}

.item_info, .order {
    background-color: white;
}

.order_item, .small_order_item {
    border-bottom: solid 1px orange;
}

.small_order_item {
    padding: 10px 0;
}

.cat_title, .items_title {
    background-color: #fd813e;
    border: 1px solid black;
}

.cats_container {
    border: 1px solid black;
}

.about_content {
    background-color: rgb(209, 209, 209);
    box-shadow: 5px 10px 18px #888888;
}

.location_button {
    background-color: white;
    border-radius: 1vmax;
    border: 3px solid black;
}

.location_header_button {
    border-bottom: 2px solid rgb(224, 223, 223);
}

.login_container {
    background-color: #E1E1E1;
}

.login_container, .login_changes {
    color: #303030;
}

.login_error, .not_logged_server {
    background-color: #222629;
    color: red;
}

.modal-content {
    border: 1px solid #888;
}

.modal_cancel_multiple_orders {
    background-color: white;
    color: black;
}

.order_headers, .order_total, .order_header_items_div {
    border: 1px solid black;
    height: fit-content;
}

.order_payment_type label > input:checked + img { /* (RADIO CHECKED) IMAGE STYLES */
    border:2px solid #f00;
}

.order_payment_type > input:checked + img { /* (RADIO CHECKED) IMAGE STYLES */
    border:2px solid #f00;
}

.action_order_button_cancel {
    background-color: red;
}

.action_order_button_submit {
    background-color: rgb(44, 44, 250);
}

/* FOR THE TXNS RANGE RADIO BUTTONS */
@import url('https://fonts.googleapis.com/css?family=Poppins:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i,700,700i,800,800i,900,900i&subset=devanagari,latin-ext');


:root {
	--white: #ffffff;
	--light: #f0eff3;
	--black: #000000;
	--dark-blue: #1f2029;
	--dark-light: #353746;
	--red: #da2c4d;
	--yellow: #f8ab37;
	--grey: #ecedf3;
}

.checkbox-budget:checked,
.checkbox-budget:not(:checked) {
	position: absolute;
	left: -9999px;
	width: 0;
	height: 0;
	visibility: hidden;
}

.checkbox-budget:checked + label,
.checkbox-budget:not(:checked) + label{
	position: relative;
	display: inline-block;
	padding: 0;
	padding-top: 5px;
	padding-bottom: 5px;
	width: 18%;
	font-size: 20px;
	line-height: 20px;
	font-weight: 700;
	letter-spacing: 1px;
	/*margin: 0 auto;
	margin-left: 5px;
	margin-right: 5px;
	margin-bottom: 10px;*/
	text-align: center;
	border-radius: 4px;
	overflow: hidden;
	cursor: pointer;
	text-transform: uppercase;
	-webkit-transition: all 300ms linear;
	transition: all 300ms linear; 
	-webkit-text-stroke: 1px var(--white);
    /*text-stroke: 1px var(--white);*/
    -webkit-text-fill-color: transparent;
    /*text-fill-color: transparent;*/
    color: transparent;
}
.checkbox-budget:not(:checked) + label{
	background-color: var(--dark-light);
	box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1);
}
.checkbox-budget:checked + label{
	background-color: transparent;
	box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
}
.checkbox-budget:not(:checked) {
	box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
}
.checkbox-budget:checked + label::before,
.checkbox-budget:not(:checked) + label::before{
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 4px;
	background-image: linear-gradient(138deg, var(--red), var(--yellow));
	z-index: var(--zindex-m1);
}
.checkbox-budget:checked + label span,
.checkbox-budget:not(:checked) + label span{
	position: relative;
	display: block;
}
.checkbox-budget:checked + label span::before,
.checkbox-budget:not(:checked) + label span::before{
	position: absolute;
	content: attr(data-hover);
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	-webkit-text-stroke: transparent;
    /*text-stroke: transparent;*/
    -webkit-text-fill-color: var(--white);
    /*text-fill-color: var(--white);*/
    color: var(--white);
	-webkit-transition: max-height 0.3s;
	-moz-transition: max-height 0.3s;
	transition: max-height 0.3s;
}
.checkbox-budget:not(:checked) + label span::before{
	max-height: 0;
}
.checkbox-budget:checked + label span::before{
	max-height: 100%;
}
/* FOR THE TXNS RANGE RADIO BUTTONS - END END END*/

.charts_container {
	border-radius: 20px; /* Adjust this value for different border radius */
    overflow: hidden; /* This ensures the rounded corners are applied correctly */
	margin-bottom: 20px;
	width: 48%;
}

.txns_charts {
	width: 100%;
	height: 100%;
}

.txns_charts g {
	font-size: 12px;
}

.txns_charts_container {
	margin: 20px 1%;
	align-items: center;
	flex-flow: wrap;
	display: flex;
	justify-content: space-evenly;
}

.txns_orders_title {
	text-align: center;
	font-size: 22px;
}

.txns_orders_table {
	width: calc(98% - 4px);
	border: 2px solid black;
	margin: 10px 1% 30vh 1%;
	text-align: center;
	background-color: white;
	font-size: 1.5vmax;
}

.txns_orders_table thead {
	border-bottom: 4px solid black;
}

.txns_orders_table th, .txns_orders_table td {
	border-right: 1px solid black;
}

.txns_orders_table td {
	padding: 10px 0;
}

.txns_orders_table tr:nth-child(even) {
	background-color: gray;
	color: white;
}

.txns_summary {
	width: 100%;
	margin: 10px auto 20px auto;
	border-bottom: 4px solid red;
}

.txns_summary_items {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 15px;
}

.txns_summary_gap {
	width: 8%;
}

.txns_summary_date_from {
	font-size: 1.5vmax;
}

.txns_summary_date_to {
	font-size: 16px;
	margin: auto 0;
}

.txns_summary_input {
	text-align: center;
}

.txns_summary_input_input {
	font-size: 16px;
	margin: 10px;
}

.txns_summary_submit {
	margin: auto 0;
}

.txns_summary_submit button {
	font-size: 18px;
}

.txns_summary_title {
	width: 90%;
	text-align: left;
	padding-left: 20px;
	font-size: 3vmax;
}

.txns_summary_print {
	width: 10%;
	text-align: center;
	font-size: 3vmax;
}

.txns_summary_print button {
	background: none;
}

.txns_summary_print img {
	width: 7vmax;
	height: 7vmax;
}

.txns_summary_heading {
	text-align: center;
	font-size: 22px;
	font-weight: 900;
	color: white;
}

.txns_summary_subheading {
	text-align: right;
	font-size: 20px;
	font-weight: 500;
	padding-right: 3%;
	width: 50%;
}

.txns_summary_value {
	text-align: left;
	font-size: 20px;
	font-weight: 500;
	padding-left: 3%;
	width: 50%;
}

.txns_summary_input_button {
	margin: auto 0;
}

.txns_summary_input_button button {
	font-size: 20px;
	border-radius: 5px;
	padding: 0 5px;
}

.range_options {
	width: 65%;
	margin: 10px auto 20px auto;
}

.range_options_items {
	flex-wrap: wrap;
	justify-content: space-evenly;
	margin-bottom: 2vh;
}

.txns_search {
	background-image: url('../IMAGES/magnifying-glass.png');
	background-size: 3vmax;
	background-position: 10px 10px;
	background-repeat: no-repeat;
	width: 40%;
	font-size: 2vmax;
	padding: 12px 20px 12px 100px;
	border: 1px solid #ddd;
	margin-bottom: 1%;
	margin-left: 1%;
}

.txns_search_cols {
	margin-left: 1%;
	margin-bottom: 1%;
	font-size: 2vmax;
	padding: 0 15px;
}

.custom_range_items {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.location-select-container {
	display: flex;
	justify-content: center;
	border-bottom: 1px solid red;
    padding-bottom: 10px;
}

.location-select-container-label {
	margin-right: 10px;
}

.location-select-container, .location-select-container-select {
	font-size: 20px;
}

.display-table-data-label {
	font-size: 16px;
	margin: 20px 0;
}
.display-table-data-table {
	font-size: 9px;
	border: 1px solid black;
	border-collapse: collapse;
	margin: 20px 0;
	background-color: white;
	text-align: center;
}

.display-table-data-row {
	border: 1px solid black;
	border-collapse: collapse;
}

.display-table-data-cell {
	border: 1px solid black;
	border-collapse: collapse;
}

.txns_summary_locations {
	text-align: center;
	font-size: 22px;
	margin: 0 0 20px 0;
}

@media only screen and (max-width: 500px) {
	.charts_container {
		width: 95%;
	}

	.location-select-container {
		display: block;
		text-align: center;
	}

	.txns_summary_items, .custom_range_items {
		display: block;
		text-align: center;
	}
}

@media only screen and (max-width: 600px) {
	.txns_orders_table {
		font-size: 8px;
	}

	.checkbox-budget:checked + label,
	.checkbox-budget:not(:checked) + label{
		font-size: 16px;
		line-height: 16px;
	}
}

@media only screen and (max-width: 450px) {
	.checkbox-budget:checked + label,
	.checkbox-budget:not(:checked) + label{
		font-size: 12px;
		line-height: 12px;
	}
}

.basket_area {
    height: 100vh;
    width: 0;
    position: fixed;
    z-index: var(--zindex-1);
    top: 0;
    overflow-x: hidden;
    transition: 0s;
}

.basket_area_show {
  width: 100%;
}

.basket_area {
  background-color: #F0F0F0;
  overflow-x: hidden;
  overflow-y: scroll;
}

.basket_area a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  color: #818181;
  display: block;
  transition: 0.3s;
}

.hamburger {
  font-size: 6vh;
  cursor: pointer;
  width: 5%;
}

.sidenav {
    width: 0;
    position: fixed;
    z-index: var(--zindex-1000);
    top: 0;
    left: 0;
    bottom: 0;
    overflow-x: hidden;
    transition: width .2s ease;
    background-color: white;
    box-shadow: 2px 0 16px rgba(0,0,0,.15);
}

.sidenav_show {
  width: 350px;
}

.sidenav_link {
  padding: 8px 8px 16px 32px;
  text-decoration: none;
  font-size: 28px;
  color: black;
  display: flex;
  transition: 0.3s;
}

.sidenav_sub_link {
  padding: 8px 8px 8px 64px;
  text-decoration: none;
  font-size: 24px;
  color: #5d5d5d;
  display: block;
  transition: 0s;
}

.sidenav_close {
  font-size: 5vmax;
  justify-content: right;
}

/* Backdrop covers the rest of the page when sidenav is open */
.sidenav-backdrop{
  position: fixed; 
  inset: 0;
  background: rgba(0,0,0,.35);
  opacity: 0; 
  pointer-events: none;
  transition: opacity .2s ease;
  z-index: var(--zindex-999);
  width: 0;
}

.sidenav-backdrop_show {
  opacity: 1;
  pointer-events: auto;
  width: 100vw;
}

.sidenav-backdrop_close {
  opacity: 0;
  pointer-events: none;
  width: 0;
}

.menu_icon {
  width: 50px;
}

.menu_text {
  width: -webkit-fill-available;
}

.basket_close {
  font-size: 5vmax;
  text-align: right;
}

.small_basket_area_show {
  width: 100%;
  height: 91vh;
  position: inherit;
}

.small_basket_close {
  text-align: right;
  font-size: 3vmax;
}

.menu_submenu {
  padding-left: 20px;
  display: none;
}

.menu_arrow {
  float: right; /* Keep the arrow on the right side */
  font-size: 40px;
  line-height: 1;
}

@media screen and (max-width: 1000px) {
  .hamburger {
    width: 8%;
  }
}

@media screen and (max-width: 700px) {
  .hamburger {
    width: 10%;
  }
}

@media screen and (max-width: 500px) {
  .hamburger {
    width: 15%;
  }
}

@media screen and (max-width: 350px) {
  .sidenav_show {
    width: 100%;
  }
}

@media screen and (max-width: 500px) {
  .basket_close, .order_header {
    font-size: 7vw;
  }
}

/* ---------- Confirmation modal skin (scoped) ---------- */

.modal--confirm {
  /* Subtle dark backdrop without touching base .modal */
  position: fixed;
}
.modal--confirm::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(20px);
  -webkit-filter: blur(20px);
  filter: blur(20px);
  z-index: -1;
}

/* Center the card nicely */
.modal--confirm .confirm-viewport {
  height: 100vh;
  width: 100%;
}
.modal--confirm .confirm-viewport td {
  vertical-align: middle;
}

/* Card overrides (more specific than .modal-content) */
.modal--confirm .modal-content.confirm-card {
  max-width: 540px;
  margin: 8vh auto;
  padding: 0;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, #0c0c0c 0%, #101114 100%);
  color: #fff;
  box-shadow:
    0 10px 30px rgba(0,0,0,.45),
    0 0 0 1px rgba(255,255,255,.03) inset;
  overflow: hidden;
  animation: confirm-pop .18s ease-out;
}

@keyframes confirm-pop {
  from { transform: translateY(6px) scale(.98); opacity: 0; }
  to   { transform: translateY(0)   scale(1);    opacity: 1; }
}

/* Header */
.modal--confirm .confirm-header {
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,0));
  padding: 10px 14px;
}
.modal--confirm .confirm-title {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: .2px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.modal--confirm .confirm-icon-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px; height: 34px;
  border-radius: 10px;
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.modal--confirm .confirm-icon {
  width: 18px; height: 18px;
  fill: currentColor;
  opacity: .9;
}

/* Close (top-right) */
.modal--confirm .confirm-close { width: 1%; text-align: right; }
.modal--confirm .confirm-x {
  appearance: none; border: 0; background: transparent; color: #c9c9cc;
  font-size: 28px; line-height: 1; cursor: pointer; padding: 4px 8px;
}
.modal--confirm .confirm-x:hover   { color: #fff; }
.modal--confirm .confirm-x:active  { transform: scale(.96); }

/* Body */
.modal--confirm .confirm-body {
  padding: 18px 18px 20px 18px;
  font-size: 16px; line-height: 1.5;
  color: #e8e8ea;
}
.modal--confirm .are_you_sure { padding: 6px 0 16px 0; }

/* Actions */
.modal--confirm .are_you_sure_button { padding: 10px 8px; }
.modal--confirm .confirm-center { text-align: center !important; }

/* Buttons */
.modal--confirm .btn {
  appearance: none;
  border: 0;
  border-radius: 12px;
  padding: 10px 16px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: transform .06s ease, box-shadow .12s ease, background-color .12s ease, color .12s ease;
  display: inline-flex; align-items: center; gap: 8px;
}
.modal--confirm .btn:active { transform: translateY(1px); }
.modal--confirm .btn:focus-visible { outline: 2px solid #6ea8fe; outline-offset: 2px; }

/* Primary (YES/OK) */
.modal--confirm .btn--primary {
  color: #0b0d12;
  background: linear-gradient(180deg, #8df0c6, #4de0a4);
  box-shadow: 0 6px 14px rgba(77,224,164,.24), inset 0 0 0 1px rgba(0,0,0,.08);
}
.modal--confirm .btn--primary:hover {
  background: linear-gradient(180deg, #9af3cc, #56e6ad);
}

/* Ghost (NO) */
.modal--confirm .btn--ghost {
  color: #e6e6ea;
  background: rgba(255,255,255,.06);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.08);
}
.modal--confirm .btn--ghost:hover {
  background: rgba(255,255,255,.10);
}

/* Small icon inside buttons */
.modal--confirm .btn .btn-icon { font-size: 14px; line-height: 1; }

/* Variants */
.modal--confirm.confirm--danger .confirm-icon-wrap { background: rgba(255,77,77,.10); color: #ff6b6b; }
.modal--confirm.confirm--danger .btn--primary {
  color: #120b0b;
  background: linear-gradient(180deg, #ffb3b3, #ff6b6b);
  box-shadow: 0 6px 14px rgba(255,107,107,.25), inset 0 0 0 1px rgba(0,0,0,.08);
}
.modal--confirm.confirm--danger .btn--primary:hover {
  background: linear-gradient(180deg, #ffc1c1, #ff7e7e);
}
.modal--confirm.confirm--default .confirm-icon-wrap { color: #7bc4ff; background: rgba(123,196,255,.12); }

/* Responsive tweaks */
@media (max-width: 640px) {
  .modal--confirm .modal-content.confirm-card { margin: 6vh auto; max-width: 92vw; }
  .modal--confirm .confirm-title { font-size: 17px; }
  .modal--confirm .confirm-body  { font-size: 15px; }
}

/* ============================
   Earnings Page (Ask4Dish / ADSS)
   ============================ */

:root{
  --bg: #f6f7f9;
  --panel: #ffffff;
  --text: #111827;
  --muted: #6b7280;
  --border: orange;

  --primary: #2563eb;
  --primary-hover: #1d4ed8;

  --shadow: 0 8px 20px rgba(17, 24, 39, 0.06);
  --radius: 12px;
}

/* Optional: scope everything to avoid affecting other pages */
.earnings-page{
  color: var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  line-height: 1.35;
}

.earnings-page .container{
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 16px 40px;
}

.earnings-page h1{
  font-size: 1.6rem;
  margin: 10px 0 14px;
  font-weight: 700;
}

.earnings-page h3{
  font-size: 1.1rem;
  margin: 0;
  font-weight: 650;
}

/* ---------- Cards ---------- */

.earnings-page .card{
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.earnings-page .card.p-3{
  padding: 14px;
}

.earnings-page .card-body{
  padding: 16px;
}

.earnings-page .text-muted{
  color: var(--muted);
}

.earnings-page .h4{
  font-size: 1.35rem;
  font-weight: 750;
  letter-spacing: -0.01em;
}

.earnings-page .fw-semibold{
  font-weight: 650;
}

/* ---------- Grid helpers (if not using Bootstrap) ---------- */
/* If you're already on Bootstrap, these are harmless, but can be removed. */

.earnings-page .row{
  display: flex;
  flex-wrap: wrap;
  margin-left: 0px;
  margin-right: 0px;
}

.earnings-page .col-md-2,
.earnings-page .col-md-3,
.earnings-page .col-md-4,
.earnings-page .col-md-5,
.earnings-page .col-md-6 {
  padding-left: 8px;
  padding-right: 8px;
  width: 100%;
  box-sizing: border-box;
}

@media (min-width: 768px){
  .earnings-page .col-md-2{ width: 49%; }
  .earnings-page .col-md-3{ width: 32%; }
  .earnings-page .col-md-4{ width: 24%; }
  .earnings-page .col-md-5{ width: 19%; }
  .earnings-page .col-md-6{ width: 15%; }
}

/* Spacing utilities */
.earnings-page .mb-0{ margin-bottom: 0 !important; }
.earnings-page .mb-2{ margin-bottom: 10px !important; }
.earnings-page .mb-3{ margin-bottom: 14px !important; }
.earnings-page .mb-4{ margin-bottom: 18px !important; }
.earnings-page .g-2{ gap: 10px; }
.earnings-page .g-3{ gap: 12px; }

/* ---------- Filter form ---------- */

.earnings-page .form-label{
  display: block;
  margin: 0 0 6px;
  font-size: 0.9rem;
  color: var(--muted);
}

.earnings-page .form-control,
.earnings-page .form-select{
  width: 95%;
  box-sizing: border-box;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: #fff;
  padding: 10px 12px;
  font-size: 0.95rem;
  color: var(--text);
  outline: none;
}

.earnings-page .form-control:focus,
.earnings-page .form-select:focus{
  border-color: rgba(37, 99, 235, 0.55);
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.10);
}

/* ---------- Buttons ---------- */

.earnings-page .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 0.95rem;
  cursor: pointer;
  user-select: none;
  transition: transform 0.04s ease, background-color 0.15s ease, border-color 0.15s ease;
}

.earnings-page .btn:active{
  transform: translateY(1px);
}

.earnings-page .btn-primary{
  background: var(--primary);
  color: #fff;
}

.earnings-page .btn-primary:hover{
  background: var(--primary-hover);
}

.earnings-page .w-100{ width: 95%; }

.earnings-page .d-flex{ display: flex; }
.earnings-page .align-items-end{ align-items: flex-end; }
.earnings-page .align-items-center{ align-items: center; }
.earnings-page .justify-content-between{ justify-content: space-between; }

/* ---------- KPI cards (optional emphasis) ---------- */

.earnings-page .kpi-grid .card{
  position: relative;
  overflow: hidden;
}

.earnings-page .kpi-grid .card::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(37,99,235,0.08), rgba(37,99,235,0));
  pointer-events: none;
}

/* ---------- Tables ---------- */

.earnings-page .table-responsive{
  width: 100%;
  overflow-x: auto;
  border-radius: 10px;
}

.earnings-page .table{
  width: max-content;
  max-width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.earnings-page .table th,
.earnings-page .table td{
  padding: 10px 10px;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
  white-space: nowrap;
}

.earnings-page .table thead th{
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--muted);
  background: #fafafa;
  border-bottom: 1px solid var(--border);
}

.earnings-page .table tbody tr:hover{
  background: rgba(17, 24, 39, 0.03);
}

.earnings-page .table.table-sm th,
.earnings-page .table.table-sm td{
  padding: 9px 10px;
}

.earnings-page .text-end{
  text-align: right;
}

/* ---------- Small helpers ---------- */

.earnings-page .muted-inline{
  color: var(--muted);
  font-size: 0.9rem;
}

/* ---------- Mobile tweaks ---------- */

@media (max-width: 767px){
  .earnings-page .container{
    padding: 14px 12px 34px;
  }

  .earnings-page h1{
    font-size: 1.4rem;
  }
}

@media (min-width: 365px) {
    .earnings-page .table-per-location {
        width: 100%;
    }
}

@media (min-width: 445px) {
    .earnings-page .table {
        width: 100%;
    }
}

/* Container that holds all location cards */
.txns-summary-breakdown {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;              /* space between cards */
  align-items: flex-start;
  box-sizing: border-box;
}

/* Each card */
.txns-summary-breakdown .txns_summary_location_card {
  border: 1px solid orange;
  border-radius: 8px;
  padding: 8px 10px;
  background: #fff;

  /* compact sizing + wrapping behaviour */
  flex: 0 1 320px;        /* preferred width; wraps as needed */
  max-width: 100%;
  box-sizing: border-box;
  color: black;
}

/* KPI row: label left, value right */
.txns-summary-breakdown .flexdiv {
  display: flex;
  justify-content: space-between;
  gap: 10px;

  padding: 2px 0;         /* compact rows */
  line-height: 1.2;
}

/* KPI label */
.txns-summary-breakdown .txns_summary_subheading {
    font-size: 18px;
    opacity: 0.85;
    white-space: normal;
    box-sizing: border-box;
    padding-right: 0;
    text-align: left;
}

/* KPI value */
.txns-summary-breakdown .txns_summary_value {
  font-size: 18px;
  font-weight: 600;
  text-align: right;
  white-space: nowrap;
}

/* If you still have <hr> inside cards, keep them compact */
.txns-summary-breakdown .txns_summary_location_card hr {
  margin: 6px 0;
  border: 0;
  border-top: 1px solid #e5e5e5;
}

.txns-summary-breakdown .txns-summary-row {
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.txns_filter_bar {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:end;
    margin:10px 0;
    padding: 10px;
    justify-content: center;
}

.report-fees-avg-order-table {
    margin: 20px 0;
    padding: 0 10px;
    box-sizing: border-box;
}

.invoices-hide-fees {
    display: flex;
    justify-content: space-between;
    padding: 0 15px 0 0;
    align-items: center;
}

.invoices-hide-fees .create-invoices-label {
    margin: 0;
}

.invoices-hide-fees input {
    width: 25px;
    height: 25px;
}

.login_block {
  margin: 20px auto;
  width: 100%;
  box-sizing: border-box;
  padding: 0 16px;
}

.login_block form {
    width: 100%;
    text-align: center;
}

.login-block-title {
    font-size: 26px;
    text-align: center;
    margin-bottom: 25px;
    font-weight: 500;
}

.login-input-container {
    margin: 16px auto;
    box-sizing: border-box;
    width: min(450px, 80%);
}

.login-input-container p {
    text-align: left;
    font-size: 20px;
    margin: 0;
    padding-bottom: 5px;
}

.login-input-pwd p {
    padding-bottom: 0;
}

.login-input-container input {
    font-size: 22px;
    border: 1px solid black;
    border-radius: 12px;
    padding: 8px;
    width: 100%;
    box-sizing: border-box;
}

.login-input-pwd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 5px;
}

.login-input-pwd a {
    color: blue;
    font-style: normal;
    text-decoration: none;
}

.login_remme_container {
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin-top: 10px;
}

.login_remme_checkbox {
    width: 20px;
    height: 20px;
}

.login_remme_label {
    display: inline-block;
}

.log_button {
    font-size: 22px;
    text-align: center;
    margin-top: 20px;
    background-color: orange;
    color: black;
    font-weight: 600;
    width: min(250px, 75%);
    padding: 5px;
    box-sizing: border-box;
    border: none;
    border-radius: 8px;
}

.login_error {
    background-color: rgba(0, 0, 0, 0.7);
    color: red;
    font-weight: 700;
    text-align: center;
    font-size: 24px;
    padding: 8px;
    border-radius: 6px;
}

.login_message {
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    margin: 20px 0;
}