@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap');


/* Importing fonts */
/* @import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,100..900;1,100..900&display=swap'); */
/* Root Variables */
:root {
    --grey: #D3CED5;
    --darkgrey: #F4F4F4;
    --placed: #51CAD3;
    --white: #fff;
    --cancelled: #D3517F;
    --primary: #171717;
    --completed: #51D387;
}
/* Base Styles */
html,
body {
    padding: 0;
    margin: 0;
    min-height: 100dvh;
    background: linear-gradient(to bottom, #eee8f1, #FFFFFF);
    font-family: "Raleway", sans-serif !important;
    color: var(--primary);
}
svg {
    cursor: pointer;
}
svg:hover,
svg:focus {
    color: var(--placed);
    transition: color 0.3s ease-in-out;
}
button {
    font-family: inherit;
}
body {
    padding: 0 1rem;
}
.flex-row {
    display: flex;
    flex-direction: row;
}
.wrap {
    display: flex;
    flex-wrap: wrap;
}
.no-wrap {
    display: flex;
    flex-wrap: nowrap;
}
.flex-col {
    display: flex;
    flex-direction: column;
}
.space-between {
    justify-content: space-between;
}
.align-center {
    /* justify-content: center; */
    align-items: center;
}
.justify-center {
    justify-content: center;
}
/* Base Styles End */
.brand.text {
    color: #0B191E;
    font-weight: 600;
    font-size: 2rem;
}
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
/* Track */
::-webkit-scrollbar-track {
    background: var(--grey);
}
/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--darkgrey);
    border-radius: 5px;
}
/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: var(--white);
}
/* Divider */
hr {
    border: 1px solid lightgray;
    width: 98%;
    margin: 2rem 0;
}
/* Spacers */
.spacer-input {
    display: block;
    height: 1rem;
}
.spacer-btn {
    display: block;
    height: 1rem;
}
.spacer {
    height: 0.5rem;
}
.spacer.medium {
    display: block;
    height: 1rem;
}
.spacer.large {
    display: block;
    height: 1.5rem;
}
.spacer.xl {
    display: block;
    height: 2rem;
}
.spacer.xxl {
    display: block;
    height: 3rem;
}
.spacer.xxxl {
    display: block;
    height: 4rem;
}
/* Texts */
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.text,
.hyperlink {
    color: #0B191E;
    font-weight: 400;
}
.subheading {
    color: #384E58;
}
.text.center {
    text-align: center;
}
/* Semantic Colors */
.color.success {
    color: #159B78;
}
.color.error {
    color: #C4454D;
}
.color.warning {
    color: #F3C344;
}
.color.info {
    color: #FFFFFF;
}
/* Layout */
.column {
    display: flex;
    flex-direction: column;
}
.circle-img {
    clip-path: circle(50%);
}
/* Header Styles */
.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style-type: none;
    padding: 1em 0;
    margin: 0;
    height: 3.125rem;
}
.header li {
    display: flex;
    align-items: center;
}
.header .icon-menu {
    cursor: pointer;
}
.header .search-bar {
    flex-grow: 1;
    min-height: 3.125rem;
    font-size: 0.875rem;
    padding: 0 1.5rem;
    border: 0;
    border-radius: 1.5625rem;
    background-color: #e2e3e2;
}
.header .avatar {
    height: 3.125rem;
    cursor: pointer;
}
/* Welcome screen  */
.welcome {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}
.center-content {
    display: flex;
    flex-direction: column;
    align-items: center !important;
    justify-content: center !important;
    min-height: 100vh;
}
.big-button {
    font-size: 3rem;
    padding: 1em;
    height: 5em !important;
    cursor: pointer;
}
/* Form Elements */
form {
    width: 100%;
}
.input {
    min-height: 3.125rem;
    font-size: 0.875rem;
    padding: 0 0.875rem;
    border: 0;
    border-radius: 0.5rem;
    background-color: #e2e3e2;
    width: calc(100% - 2em);
    font-family: inherit;
}
.input[type="tel"]::-webkit-inner-spin-button,
.input[type="tel"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid #ccc;
    border-radius: 3px;
    background-color: #fff;
    outline: none;
    cursor: pointer;
}
input[type="checkbox"]:checked {
    background-color: #4CAF50;
    border-color: #4CAF50;
}
input[type="checkbox"]:checked::before {
    content: "\2713";
    color: #fff;
    font-size: 16px;
    display: block;
    text-align: center;
    line-height: 20px;
}
/* Hover and focus styles */
input[type="checkbox"]:hover {
    border-color: #888;
}
input[type="checkbox"]:focus {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}
.checklist-item {
    display: flex;
    align-items: center;
    margin-bottom: 0.5rem;
    border: 1px #159B78;
}
#input-email {
    color: var(--primary);
}
form .button.green {
    width: inherit;
}
/* Buttons */
.button {
    min-height: 3.125rem;
    font-size: 1rem;
    border: 0;
    border-radius: 0.5rem;
    font-weight: 500;
    font-family: inherit;
}
.button.small {
    min-height: 1.875rem;
    font-size: 0.8125rem;
}
.button.outlined {
    border: 2px solid lightgray;
}
.button.green {
    background-color: #159B78;
    color: #FFFFFF;
}
.button.green:active {
    background-color: #3a8559;
    font-weight: 600;
}
.button.filter {
    min-height: 1.875rem;
    background-color: #c8d7e4;
    border-radius: 3.125rem;
    padding: 0 1rem;
    margin-right: 0.3125rem;
    font-weight: 600;
    font-size: 0.75rem;
    white-space: nowrap;
}
.button.filter.active {
    background-color: #3a8559;
    color: #FFFFFF;
}
.button.add-to-order {
    font-weight: bold;
    background-color: #51D387;
}
/* Bottom Bar */
.bottom-bar {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    list-style-type: none;
    justify-content: space-around;
    padding: 0 1rem;
    background-color: #FEFEFE;
    height: 4.375rem;
    /* height: 100vh; */
    position: fixed;
    left: 0;
    bottom: 0;
    width: calc(100% - 2rem);
    color: #282E40;
    border: 1px solid #EBE9EC;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x;
    scrollbar-width: none;
}
.bottom-bar a {
    text-decoration: none;
    color: var(--primary);
}
.bottom-bar a:hover {
    color: var(--placed);
    transition: all .5s;
}
.bottom-bar li {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-right: 1em;
    padding: 1em;
    scroll-snap-align: start;
}
.bottom-bar li img,
.bottom-bar li svg {
    margin-bottom: 0.5rem;
}
/* Tab View */
.tabview {
    display: flex;
    border-bottom: 1px solid #ddd;
    font-size: 0.875rem;
}
.tab {
    padding: 0.625rem 1.25rem;
    cursor: pointer;
    border-bottom: 2px solid transparent;
    flex: 1;
    text-align: center;
}
.tab.active {
    border-bottom-color: #333;
    font-weight: bold;
}
.tabview-content {
    padding: 1rem 0;
}
.content {
    display: none;
}
.content.active {
    display: block;
}
/* Images */
img.responsive-image {
    width: 100%;
    height: auto;
    object-fit: cover;
}
/* Card Lists */
div.card-list {
    display: flex;
    flex-direction: row;
}
div.card-list span.card {
    margin-bottom: 1.75rem;
    padding: 0 .25rem;
}
div.card-list span.card p {
    margin: 0 0 0.25rem;
    font-weight: 300;
    color: #384E58;
}
div.card-list span.card p.restaurant-name,
div.card-list span.card p.store-name {
    font-size: 1.125rem;
    font-weight: 600;
}
div.card-list span.card p.distance,
div.card-list span.card p.rating {
    font-size: 0.875rem;
    font-weight: 500;
}
/* Foods */
.food-card {
    display: inline-block;
    margin-right: 0.625rem;
    background-color: #F7F5F8;
    border: 1px solid #EBE9EC;
    border-radius: 0.75rem;
}
.food-card img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
.food-card-content {
    padding: 0.625rem;
    display: flex;
    justify-content: space-between;
}
p.food-name {
    font-weight: bold;
    margin: 0 0 0.3125rem;
}
p.food-price {
    margin: 0;
    color: #3a8559;
    font-size: 1.4375rem;
}
/* Reusable Generic Classes */
.row {
    display: flex;
    flex-direction: row;
}
.scroll-container {
    width: 100%;
    overflow-x: scroll;
    white-space: nowrap;
    scroll-padding: 0.625rem;
    padding: 0.375rem;
}
.filter-categories {
    display: flex;
    overflow-x: scroll;
    padding-bottom: 0.375rem;
}
img.circle {
    width: 6.25rem;
    height: 6.25rem;
    clip-path: circle();
}
img.circle.menu-picks {
    width: 3rem;
    height: 3rem;
    margin: 0 0.25rem;
}
#pickedItemsList {
    list-style: none;
    padding-left: 0;

}
.d-left {
    color: var(--completed);
    font-weight: bold;
}
.d-right {
    color: var(--cancelled);
    font-weight: bold;
}
.picked-list-content {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0.25em 0;
    border-bottom: 1px solid var(--grey);
    justify-content: space-between;
}
.pick-list::marker {
    display: none;
}
.pick-list {
    list-style: none;
}
#card-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0 auto;
    margin-bottom: 6rem;
}
.card-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: 0 auto;
    margin-bottom: 6rem;
}
/* Mobile Styles */
@media (min-width:1030px) and (max-width:1460px) {
    #card-container {
        justify-content: center;
    }

    .card-container {
        justify-content: center;
    }

    #clocking-container {
        margin: 0 6em;
    }

}
@media (max-width: 1024px) {
    #card-container {
        display: flex;
        flex-direction: column;
        padding: 0;
        flex-wrap: nowrap;
        justify-content: center;
    }

    .card-container {
        display: flex;
        flex-direction: column;
        padding: 0;
        flex-wrap: nowrap;
        justify-content: center;
    }

    #clocking-container {
        margin: 0;
    }
}
@media (max-width: 767px) {
    body {
        padding: 0 1rem;
    }

    #clocking-container {
        margin: 0;
    }

    .pop-up-modal {
        width: 100vw;
    }

    .w-card {
        margin: 0;
    }

    .brand.text {
        color: #0B191E;
        font-weight: 600;
        font-size: 2rem;
    }

    .brand.address {
        color: #384E58;
        font-weight: 300;
        font-size: 0.75rem;
    }

    .header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        list-style-type: none;
        /* padding: 0; */
        /* margin: 0; */
        height: 3.125rem;
    }

    .header.icon-menu:active {
        color: #4B986C;
    }

    .header.search-bar {
        min-height: 3.125rem;
        font-size: 0.875rem;
        padding: 0 1.5rem;
        border: 0;
        border-radius: 1.5625rem;
        background-color: #e2e3e2;
        width: 100%;
    }

    .header .avatar {
        position: relative;
        /* top: 1rem;
        right: 1.25rem; */
        height: 3.125rem;
    }

    div.card-list.foods {
        flex-wrap: nowrap;
        overflow-x: scroll;
    }

    div.card-list.foods span.card {
        display: inline-block;
        width: 100%;
    }

    .tabview-content {
        margin-bottom: 6.25rem;
    }
}
/* Waiters Styles */
.w-card {
    display: flex;
    flex-direction: column;
    background-color: var(--white);
    border-radius: 1rem;
    box-shadow: 0 4px 4px 0 #0000001F;
    overflow: hidden;
    margin: .5em;
    height: auto;
}
.card-heading {
    display: flex;
    padding: 1rem;
}
.card-body {
    padding: 1rem;
}
i {
    font-size: 3rem;
}
.grid-item:has(> i) {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4em;
}
.w-card.analytics {
    background-color: #f9f9f9;
    padding: 20px;
    margin: 20px;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    min-width: calc(25% - 20px);
    /* 25% of the parent container width minus 20px for margin */
    height: auto;
    /* fixed height */
    display: inline-block;
    /* display as inline-block to allow for multiple cards on the same line */
    vertical-align: top;
    /* align cards to the top */
}
@media (max-width: 480px) {
    .w-card.analytics {
        width: 100%;
        /* full width on small screens */
    }
}
.x-padding {
    padding: 0 1rem;
}
.y-padding-small {
    padding: .25em 0;
}
.transactionId {
    padding: 0 1rem;
    color: var(--grey);
    font-weight: bold;
    text-align: left;
}
.top-rect {
    display: flex;
    justify-content: space-between;
    font-weight: 800;
    font-size: 1rem;
    padding: 1rem;
    border-bottom: 1px dashed var(--grey);
}
.dashed-line {
    border-top: 1px dashed var(--grey);
    padding: 0;
    margin: 0.2rem;
}
.solid-grey {
    border-top: 1px solid var(--grey);
    padding: 0;
    margin: 0.2rem;
}
.grid-container {
    display: grid;
    grid-template-columns: auto auto;
    padding: 0.625rem;
}
.grid-item {
    margin: 0.5rem;
}
.grid-item h1 {
    font-size: 1.2rem;
    padding: 0;
    margin: 0;
}
.grid-item h2 {
    font-size: 1rem;
    padding: 0;
    margin: 0;
}
.grid-item p {
    padding: 0;
}
.grid-item span {
    padding: 0 1rem;
    font-weight: bold;
    border-radius: 1rem;
    color: var(--white);
}
.grid-item p {
    margin-bottom: 0;
}
.no-margin {
    margin: 0;
    padding: 0;
}
.left-align {
    display: flex;
    flex-direction: column;
    align-items: start;
    text-align: left;
}
.right-align {
    /* display: flex;
    flex-direction: column;
    align-items: end; */
    text-align: right;
    padding-right: .5em;
}
.text-large {
    font-size: 1.5rem !important;
}
.text-xl {
    font-size: 2rem !important;
}
.pending {
    background-color: #51CAD3;
    margin-top: 0.2rem;
}
.in-progress {
    background-color: #FFE78A;
    color: #a18202 !important;
    margin-top: 0.2rem;
}
.completed {
    background-color: #51D387;
    margin-top: 0.2rem;
}
.cancelled {
    background-color: #D3517F;
    margin-top: 0.2rem;
}
.options-slider {
    display: flex;
    overflow-x: auto;
    background-color: var(--darkgrey);
    border-top: 1px solid var(--grey);
}
.options {
    padding: 1.4rem;
    border: none;
    white-space: nowrap;
    border-right: 1px solid var(--grey);
    background-color: transparent;
    font-weight: bold;
    position: relative;
    color: var(--primary);
}
.options:first-child {
    color: var(--cancelled);
}
.options:last-child {
    border: none;
}
.options-slider.disabled button {
    background-color: var(--darkgrey);
    color: var(--grey);
    pointer-events: none;
    /* Prevents clicking */
}
.extension {
    display: none;
    padding: 0.25rem 1rem;
}
#payment-status {
    display: none;
}
/* Table Styling */
table {
    border-top: 1px dashed var(--grey);
    border-bottom: 1px dashed var(--grey);
    width: 100%;
}
thead tr {
    margin: 0.2rem 0;
    border-bottom: 1px solid var(--grey);
    text-align: left;
}
[colspan="4"] {
    text-align: left;
}
[colspan="4"]:first-of-type {
    font-weight: bold;
}
.grand-total {
    font-size: 1rem;
}
ol,
.no-request {
    padding-left: 1rem;
    font-size: 0.625rem;
}
tr td {
    font-size: 0.625rem;
    height: 2rem;
    text-align: center;
}
.block {
    display: block !important;
}
/* Modal styling */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
}
.modal-content {
    background-color: #fefefe;
    margin: 15% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 600px;
}
.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}
.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}
#iframeModal {
    min-width: 100%;
    min-height: 100%;
}
#iframeModal .modal-content {
    width: 100%;
    height: 100%;
    margin: 0;

}
/* Barcode  */
.scan-barcode {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(100vh - 4rem);
}
video {
    width: 100%;
    /* make the video element full-width */
    height: 90vh;
    /* make the video element full-height */
    object-fit: cover;
    /* make the video element cover the entire screen */
    position: absolute;
    /* position the video element absolutely */
    top: 0;
    /* position the video element at the top of the screen */
    left: 0;
    /* position the video element at the left of the screen */
    z-index: 99;
    /* make sure the video element is on top of other elements */
}
#cancel-scan {
    position: absolute;
    bottom: 2em;
    left: 40vw;
    z-index: 111;
    padding: 1em;
}
.scan-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background-color: rgba(0, 0, 0, 0.5); */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 100;
}
/* Shifts */
.day-btn {
    padding: 10px;
    margin: 5px;
    cursor: pointer;
}
.day-btn.selected {
    background-color: #007bff;
    color: #fff;
}
/* clocking  */
#clocking-container {

    display: flex;
    flex-direction: column;
    padding: 0;
    flex-wrap: nowrap;
    justify-content: center;
}
.hidden {
    display: none !important;
}
.clocking-bar {
    height: 4em;
    width: calc(100% - 1em);
    background-color: var(--white);
    display: flex;
    align-items: center;
    padding: .5em;
    border-radius: 1rem;
}
.start-end {
    display: flex;
    justify-content: space-between;
}
.time-in-out {
    display: flex;
    justify-content: space-between;
}
#timeOut {
    text-align: right;
}
.clock-in-out {
    background-color: var(--white);
    border-radius: 1.25em;
    margin: 1em 0;
    padding: 1em;
    transition: all 1s;

}
.clock-in-out button {
    width: 100%;
    border: none;
    margin: .25em 0;
    color: var(--white);
}
.clock-in {
    background-color: var(--primary);
}
.break {
    background-color: var(--placed);
    transition: background-color 0.5s;
}
.clock-out-form {
    display: flex;
    flex-direction: column;
    row-gap: 1em;
}
.submit {
    background-color: var(--primary);
    color: var(--white);
    /* font-weight: 600; */
    padding: .75em;
}
#clockInOutTable {
    margin-bottom: 6em;
}
/* pop-up modal */
.pop-up-modal {
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: 60%;
    margin-bottom: 6em;
    display: flex;
    background-color: var(--completed);
    padding: .5em;
    animation-name: popup;
    animation-duration: 2s;
}
.pop-up-modal .icon {
    display: flex;
    flex-direction: column;
    /* align-items: center; */
    margin: 1em;
}
.pop-up-modal p {
    color: var(--white);
}
/* error  */
.error-page {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    height: 100vh;
    color: var(--primary);
}
.error-page h1 {
    font-size: 4rem;
    font-weight: bold;
}
.full-screen {
    min-height: 100vh;
    min-width: 100%;
}
/* profile modal  */
.top-profile-modal {
    display: flex;
    justify-content: space-between;
}
.profile-modal {
    min-width: 80vw;
    background-color: var(--darkgrey);
    display: flex;
    flex-direction: column;
    border-radius: 2em;
    padding: 2em;
    position: absolute;
    z-index: 99;


}
.bg-opacity-1 {
    width: 100%;
    height: 100%;
    background-color: #061d25a6;
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    overflow: hidden;
    display: flex;

    padding-top: 6em;
    justify-content: center;


}
.profile-info {
    background-color: var(--grey);
    display: flex;
    gap: 2em;
    padding: 0 1em;
    border-radius: 1em;
}
.profile-menu {
    list-style-type: none;
    padding-left: 0;
    background-color: var(--darkgrey);
}
.profile-menu li {
    display: flex;
    gap: 2em;
    padding: .5em 0;
}
.profile-modal .policies {
    display: flex;
    justify-content: space-between;
}
/*Payment*/
.back-button {
    font-weight: bold;
    display: flex;
    /* align-items: center; */
    justify-content: center;
    width: 1.5em;
    padding: 1em;
    background-color: #3333330c;
    margin-right: 1em;
    border-radius: 50%;
    cursor: pointer;
}
#fixed-tips {
    display: flex;
    width: 100%;
    margin: 0.25em 0;
}
.button.full {
    width: 100%;
    margin: .25em;
}
.button.full:focus,
.button.full:active {
    transition: all 1s ease-in;
    background-color: var(--placed);
    color: var(--white);
}
.full-width {
    width: 100%;
}
.edit-view {
    display: flex;
    margin: .5em 0;
}
.edit {
    background-color: var(--cancelled);
    color: var(--white)
}
.view {
    background-color: var(--completed);
    color: var(--white)
}
/* Payment Success  */
.payment-success {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
@keyframes popup {
    from {
        background-color: transparent;
    }

    to {
        background-color: var(--completed);
    }
}