@import url('https://fonts.googleapis.com/css2?family=Black+Ops+One&family=Charm:wght@400;700&family=Sour+Gummy:ital,wght@0,100..900;1,100..900&family=Zen+Dots&display=swap');/* APP.CSS
################################### Restaurant Functional Module ###################################
/src/App.css    ::: App.tsx style sheet
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
(c)2024 Lance Stubblefield
####################################################################################################
*/

.visible {
  visibility: visible;
}

.block {
  display: block;
}

.flex {
  display: flex;
}

.table {
  display: table;
}

.h-8 {
  height: 2rem;
}

.w-full {
  width: 100%;
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .container {
    max-width: 1536px;
  }
}
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
/* ! tailwindcss v3.4.15 | MIT License | https://tailwindcss.com
*/
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

#root {
  width: 100vw;
}

header {
  margin-left: auto;
  margin-right: auto;
  min-height: 6rem;
  width: 100%;
}

main {
  margin-bottom: 9rem;
  width: 100%;
}

footer {
  position: fixed;
  bottom: 0px;
  margin-top: 1rem;
  width: 100%;
  padding: 0.5rem;
  text-align: center;
  vertical-align: middle;
    opacity: 0.9;
}

.App {
  width: 100%;
}
/* header.css
################################### Restaurant Functional Module ###################################
/src/layout/Header/header.css    ::: Main header style sheet
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
(c)2024 Lance Stubblefield
####################################################################################################
*/


/* ################################ Header ################################ */
.header {
    border-bottom-width: 4px;
    vertical-align: text-bottom;

    .titleRow {
        display: flex;
    }

    .titleRow {

        .headerLeft {
            width: 33.333333%;
        }

        .headerLeft {
            text-align: left;
        }

        .headerLeft {

            .logo {
                background-size: contain;
            }

            .logo {
                background-repeat: no-repeat;
            }

            .logo {
                cursor: pointer;
            }
        }

        .headerRight {
            align-content: center;
        }

        .headerRight {
            text-align: right;
        }

        .headerRight {

            .cartCorner {
                float: right;
            }

            .cartCorner {
                cursor: pointer;
            }
        }
    }
}

/* --------------- END -- Header -- END --------------- */

/* ########################### Media Selector ########################### */
/* ------------ Small View ------------ */
@media (max-width: 529px) {
    .header {
        margin: 0px;
        height: -moz-fit-content;
        height: fit-content;
    }

    .titleRow {
        height: 6rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-top: 0.5rem;

        .headerLeft {
            position: absolute;
        }

        .headerLeft {
            overflow: visible;
        }

        .headerLeft {

            .logo {
                margin-left: 0.5rem;
            }

            .logo {
                margin-top: 4rem;
            }

            .logo {
                height: 6rem;
            }

            .logo {
                width: 8rem;
            }
        }

        .headerCenter {
            height: 100%;
        }

        .headerCenter {
            width: 83.333333%;
        }

        .headerCenter {
            padding-left: 0.5rem;
        }

        .headerCenter {

            h1 {
                font-size: .9em;
            }

            h5 {
                font-size: .7em;
            }
        }

        .headerRight {
            margin-right: 0.5rem;
        }

        .headerRight {
            height: 100%;
        }

        .headerRight {
            width: 8.333333%;
        }
    }
}

/* ------------ End small ------------ */

@media (min-width: 530px) and (max-width: 667px) {
    .header {
        margin: 0px;
        height: -moz-fit-content;
        height: fit-content;
    }

    .titleRow {
        height: 6rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-top: 0.5rem;

        .headerLeft {
            height: -moz-fit-content;
            height: fit-content;
        }

        .headerLeft {
            width: 25%;
        }

        .headerLeft {

            .logo {
                margin-left: 0.5rem;
            }

            .logo {
                height: 8rem;
            }

            .logo {
                max-height: 8rem;
            }

            .logo {
                width: 100%;
            }
        }

        .headerCenter {
            margin-left: 0.5rem;
        }

        .headerCenter {
            height: 100%;
        }

        .headerCenter {
            width: 58.333333%;
        }

        .headerCenter {
            padding-left: 0.5rem;
        }

        .headerCenter {

            h1 {
                font-size: 1em;
            }

            h5 {
                font-size: .8em;
            }
        }

        .headerRight {
            margin-right: 1rem;
        }

        .headerRight {
            height: 100%;
        }

        .headerRight {
            width: 8.333333%;
        }

        .headerRight {

            .cartCorner {
                width: 100%;
            }
        }
    }
}

/* ------------ End Mobile ------------ */

/* ------------ Tablet View ------------ */
@media (min-width: 668px) and (max-width: 991px) {
    .header {
        margin: 0.25rem;
        height: 150px;
    }

    .titleRow {
        height: 6rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-top: 0.5rem;

        .headerLeft {
            display: flex;
        }

        .headerLeft {
            height: 100%;
        }

        .headerLeft {
            width: 16.666667%;
        }

        .headerLeft {

            .logo {
                height: 8rem;
            }

            .logo {
                width: 100%;
            }
        }

        .headerCenter {
            height: 100%;
        }

        .headerCenter {
            width: 66.666667%;
        }

        .headerCenter {
            padding-left: 0.5rem;
        }

        .headerCenter {
            text-align: center;
        }

        .headerCenter {

            h1 {
                font-size: 1.5em;
            }

            h5 {
                font-size: 1em;
            }
        }

        .headerRight {
            margin-right: 1rem;
        }

        .headerRight {
            height: 100%;
        }

        .headerRight {
            width: 16.666667%;
        }

        .headerRight {

            .cartCorner {
                width: 8rem;
            }
        }
    }
}

/* ------------ End Tablet ------------ */

/* ------------ Desktop View ------------ */
@media (min-width: 992px) {
    .header {
        margin: 0.5rem;
        height: 150px;
    }

    .titleRow {
        height: 6rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-top: 0.5rem;

        .headerLeft {
            height: 100%;
        }

        .headerLeft {
            width: 25%;
        }

        .headerLeft {

            .logo {
                height: 8rem;
            }

            .logo {
                width: 100%;
            }
        }

        .headerCenter {
            height: 100%;
        }

        .headerCenter {
            width: 66.666667%;
        }

        .headerCenter {
            padding-left: 0.5rem;
        }

        .headerCenter {
            text-align: left;
        }

        .headerCenter {

            h1 {
                font-size: 1.5em;
            }

            h5 {
                font-size: 1em;
            }
        }

        .headerRight {
            margin-right: 1rem;
        }

        .headerRight {
            height: 100%;
        }

        .headerRight {
            width: 25%;
        }

        .headerRight {

            .cartCorner {
                width: 8rem;
            }
        }
    }
}

/* ------------ End Desktop ------------ */

/* ##########------------ End Media ------------########## *//* navlist.css
################################### Restaurant Functional Module ###################################
/src/components/Header/navlist.css    ::: navbar style sheet for Navbar.css
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
(c)2024 Lance Stubblefield
####################################################################################################
*/

/*navRow >>>>STRUCTURE<<<<
    navbar
        navbarItem
            button/selected/enabled
        dropdown
            button/enabled/disabled
            dropdownSpace
            navbarSubItem
        navbarItem
            cartButton/selected
 */
*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}
/* ! tailwindcss v3.4.15 | MIT License | https://tailwindcss.com
*/
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}
::before,
::after {
  --tw-content: '';
}
/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}
/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}
/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}
/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
  color: inherit;
  text-decoration: inherit;
}
/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder;
}
/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}
/*
Add the correct font size in all browsers.
*/
small {
  font-size: 80%;
}
/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}
/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}
/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
  text-transform: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}
/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
  outline: auto;
}
/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
  box-shadow: none;
}
/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline;
}
/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}
/*
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none;
}
/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item;
}
/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
fieldset {
  margin: 0;
  padding: 0;
}
legend {
  padding: 0;
}
ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}
/*
Prevent resizing textareas horizontally by default.
*/
textarea {
  resize: vertical;
}
/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}
/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
  cursor: pointer;
}
/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}
/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
  max-width: 100%;
  height: auto;
}
/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {
  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}
@media (min-width: 1024px) {
  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1280px) {
  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {
  .container {
    max-width: 1536px;
  }
}
.visible {
  visibility: visible;
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.table {
  display: table;
}
.h-8 {
  height: 2rem;
}
.w-full {
  width: 100%;
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

/* -------------------------- Main Menu Bar -------------------------- */
button {
  height: 100%;
  width: 100%;
  text-align: center;
}

.navRow {
  display: block;
  height: 3rem;
  width: 100%;
  padding-top: 0.5rem;
  padding-right: 0.5rem;

    .navbar {
    bottom: 0px;
  }

    .navbar {
    float: right;
  }

    .navbar {
    height: -moz-fit-content;
    height: fit-content;
  }

    .navbar {
    align-content: flex-end;
  }

    .navbar {
    text-align: right;
  }

    .navbar {

        .navbarItem {
      height: 2rem;
    }

        .navbarItem {
      width: 25%;
    }

        .navbarItem {
      border-radius: 0px;
    }

        .navbarItem {



            .enabled {
        --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
        --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
      }



            .enabled {
        --tw-shadow-color: #1f2937;
        --tw-shadow: var(--tw-shadow-colored);
      }

            .enabled:hover {
        --tw-border-opacity: 1;
        border-color: rgb(113 63 18 / var(--tw-border-opacity, 1));
      }

            .enabled:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(250 204 21 / var(--tw-bg-opacity, 1));
      }

            .enabled:hover {
        --tw-text-opacity: 1;
        color: rgb(133 77 14 / var(--tw-text-opacity, 1));
      }

            .enabled:hover {
        border-bottom-width: 2px;
      }

            .enabled:hover{
                /*transform: scale(1.1);*/
            }

            .selected, .selected:hover {
        border-width: 2px;
      }

            .selected, .selected:hover {
        --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
        --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
      }

            .selected, .selected:hover {
        --tw-shadow-color: #374151;
        --tw-shadow: var(--tw-shadow-colored);
      }

            .selected, .selected:hover {
        font-size: 0.875rem;
        line-height: 1.25rem;
      }

            .disabled {
        cursor: not-allowed;
      }

            .cartButton {
        --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
        --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
      }

            .cartButton {
        --tw-shadow-color: #6b7280;
        --tw-shadow: var(--tw-shadow-colored);
      }

            .cartButton {
        border-width: 2px;
      }

            .cartButton {
        --tw-border-opacity: 1;
        border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
      }

            .cartButton {
        --tw-bg-opacity: 1;
        background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
      }

            .cartButton {
        --tw-text-opacity: 1;
        color: rgb(34 197 94 / var(--tw-text-opacity, 1));
      }

            .cartButton:hover {
        --tw-border-opacity: 1;
        border-color: rgb(220 252 231 / var(--tw-border-opacity, 1));
      }

            .cartButton:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(22 163 74 / var(--tw-bg-opacity, 1));
      }

            .cartButton:hover {
        --tw-text-opacity: 1;
        color: rgb(240 253 244 / var(--tw-text-opacity, 1));
      }

            .cartButton:hover {
                transform: scale(1.1);
            }

        }
    }
}

.dropDown {
    display: none;
    cursor: pointer;
    text-align: center;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-shadow-color: #1f2937;
    --tw-shadow: var(--tw-shadow-colored);
    z-index: 99;

    .navbarSubItem {
    position: relative;
  }

    .navbarSubItem {
    height: 1.75rem;
  }

    .navbarSubItem {
    border-radius: 0px;
  }

    .navbarSubItem {
    border-bottom-width: 2px;
  }

    .navbarSubItem {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }

    .navbarSubItem {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

    .navbarSubItem {
    font-weight: 500;
  }

    .navbarSubItem {
    line-height: 1.25;
  }

    .navbarSubItem {
        z-index: 98;

        div {
      margin-top: 0.5rem;
    }

        div {
      vertical-align: middle;
    }

        .enabled {
      line-height: 1.25;
    }

        .enabled:hover {
      border-radius: 0px;
    }

        .disabled, .disabled:hover {
      --tw-border-opacity: 1;
      border-color: rgb(156 163 175 / var(--tw-border-opacity, 1));
    }

        .disabled, .disabled:hover {
      --tw-text-opacity: 1;
      color: rgb(156 163 175 / var(--tw-text-opacity, 1));
    }
    }

    .navbarSubItem:hover {
    border-radius: 0px;
  }

    .dropdownSpace {
    position: relative;
  }

    .dropdownSpace {
    border-width: 4px;
  }
}

.dropDown:hover {
  border-radius: 0px;
}

#menu:hover .dropDown {
    display: block;
}

/* ########################### Media Selector ########################### */
/* ------------ Mobile View ------------ */
@media (max-width: 667px) {
    .navRow {
        display: none;
    }
}

/* ------------ End Mobile ------------ */

/* ------------ Tablet View ------------ */
@media (min-width: 668px) and (max-width: 991px) {
    .navbar {
    width: 66.666667%;
        display: flex;

        .navbarItem {
      margin-left: 0.25rem;
      margin-right: 0.25rem;
    }
  }
    .navbarItem-disabled {
        display: none;
    }
    .enabled, .enabled:hover, .selected, .selected:hover, .cartButton {
    border-radius: 0px;
        font-size: .75rem;
  }
}

/* ------------ End Tablet ------------ */

/* ------------ Desktop View ------------ */
@media (min-width: 992px) {
    .navbar {
    width: 66.666667%;
        display: flex;

        .navbarItem {
      margin-left: 0.25rem;
      margin-right: 0.25rem;
    }

        .navbarItem {
      padding-left: 0px;
      padding-right: 0px;
    }
        .navbarItem-disabled {
      margin-left: 0.25rem;
      margin-right: 0.25rem;
    }
        .navbarItem-disabled {
      height: 2rem;
    }
        .navbarItem-disabled {
      width: 25%;
    }
        .navbarItem-disabled {
      border-radius: 0px;
    }
        .navbarItem-disabled {
      padding-left: 0px;
      padding-right: 0px;
    }
  }
    .disabled {
    border-radius: 0.5rem;
    --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
    --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-shadow-color: #9ca3af;
    --tw-shadow: var(--tw-shadow-colored);
  }
    .enabled, .selected, .enabled:hover, .cartButton, .cartButton:hover {
    border-radius: 0.5rem;
    font-weight: 600;
        font-size: .875rem;
  }

}

/* ------------ End Desktop ------------ */

/* ##########------------ End Media ------------########## *//* hamburger.css
################################### Restaurant Functional Module ###################################
/src/components/Header/hamburger.css    ::: hamburger style sheet for Hamburger.tsx
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
support for hamburger.tsx
(c)2024 Lance Stubblefield
####################################################################################################
*/

.hamburger {
    margin-top: -5rem;
    width: 100%;
    .menuRow {
        display: flex
    }
    .menuRow {
        width: 100%
    }
    .menuRow {
        flex-direction: row
    }
    .menuRow {
        .filler {
            height: 0.25rem
        }
        .filler {
            width: 75%
        }

        #hamburgerIcon {
            height: 3.5rem
        }

        #hamburgerIcon {
            width: 3.5rem
        }

        #hamburgerIcon {
            border-radius: 0.5rem
        }

        #hamburgerIcon {
            margin-left: 0.5rem
        }

        #hamburgerIcon {
            margin-bottom: 0.5rem
        }

        #hamburgerIcon {
            border-width: 2px
        }

        #hamburgerIcon {
            padding: 0.25rem
        }

        #hamburgerIcon {
            --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
            --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
        }

        #hamburgerIcon {
            --tw-shadow-color: #d1d5db;
            --tw-shadow: var(--tw-shadow-colored)
        }

        #hamburgerIcon {

            .iconBar {
                margin-top: 0.25rem;
                margin-bottom: 0.25rem
            }

            .iconBar {
                height: 25%
            }

            .iconBar {
                width: 100%
            }

            .iconBar {
                border-width: 2px
            }
        }
    }
    #hamburgerNavbar {
        box-shadow: 0 0 0 2000px #000000CC
    }
    #hamburgerNavbar {
        position: absolute
    }
    #hamburgerNavbar {
        width: 100%
    }
    #hamburgerNavbar {
        .hamburgerItem, .dropDown {
            display: block
        }
        .hamburgerItem, .dropDown {

            button {
                height: 2.5rem
            }

            button {
                width: 100%
            }

            button {
                border-radius: 0px
            }

            button {
                border-bottom-width: 2px
            }
            .cartButton {
                --tw-border-opacity: 1;
                border-color: rgb(21 128 61 / var(--tw-border-opacity, 1))
            }
            .cartButton {
                --tw-bg-opacity: 1;
                background-color: rgb(134 239 172 / var(--tw-bg-opacity, 1))
            }
            .cartButton {
                --tw-text-opacity: 1;
                color: rgb(20 83 45 / var(--tw-text-opacity, 1))
            }
            .dropDown {
                display: block
            }
            .dropDown {
                --tw-shadow: 0 0 #0000;
                --tw-shadow-colored: 0 0 #0000;
                box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
            }
            .dropDown {

                .navbarSubItem {
                    display: block
                }

                .navbarSubItem {
                    height: 2rem
                }

                .navbarSubItem {
                    font-weight: 500
                }
            }
        }
    }
}

.hidden {
    display: none;
}

.enabled {
    display: block
}

.selected {
    display: block
}

.disabled {
    display: block;
    font-size: 0.875rem;
    line-height: 1.25rem
}

/* ########################### Media Selector ########################### */
/* ------------ Mobile View ------------ */
@media (max-width: 667px) {
    .hamburger {
        display: inline-block
    }
}

/* ------------ End Mobile ------------ */

/* ------------ Tablet View ------------ */
@media (min-width: 668px) and (max-width: 991px) {
    .hamburger {
        display: none;
    }
}

/* ------------ End Tablet ------------ */

/* ------------ Desktop View ------------ */
@media (min-width: 992px) {
    .hamburger {
        display: none;
    }

}

/* ------------ End Desktop ------------ */

/* ##########------------ End Media ------------########## *//* cartCount.css
################################### Restaurant Functional Module ###################################
Module: Cart
/modules/Cart/components/cartCount/cartCount.css    ::: cart module style sheet
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
(c)2024 Lance Stubblefield
####################################################################################################
*/
.cartCount {
    --tw-text-opacity: 1;
    color: rgb(34 197 94 / var(--tw-text-opacity, 1))
}

img {
    float: right
}

@media (max-width: 529px) {
    .cartCount {
        margin-left: 0.25rem;
        margin-right: 0.25rem;
        padding-left: 0px;
        padding-right: 0px;
        font-weight: 400;
        font-size: .9em
    }

    img {
        width: 100%
    }
}

@media (min-width: 530px) and (max-width: 991px) {
    .cartCount {
        margin-left: 0.25rem;
        margin-right: 0.25rem;
        padding-left: 0px;
        padding-right: 0px;
        font-weight: 400;
        font-size: 1.1em
    }

    img {
        width: 2.5rem
    }
}

@media (min-width: 992px) {
    .cartCount {
        margin-left: 0.5rem;
        margin-right: 0.5rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        font-weight: 600;
        font-size: 1.3em
    }

    img {
        width: 3rem
    }
}/* footer.css
################################### Restaurant Functional Module ###################################
/src/layout/Footer/footer.css    ::: Main footer styles
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
(c)2024 Lance Stubblefield
####################################################################################################
*/

/* ################################ Footer ################################ */
footer {
    border-top-width: 2px;

    .footRow {
        display: flex
    }

    .footRow {
        align-items: center
    }

    .footRow {
        justify-content: space-between
    }

    .footRow {
        padding-left: 0.75rem;
        padding-right: 0.75rem
    }

    .footRow {

        .footLeft {

        }

        .footCenter {
            text-align: center
        }

        .footCenter {
            font-size: 0.875rem;
            line-height: 1.25rem
        }

        .footCenter {
            font-weight: 300
        }

        .footCenter {

            a, a:visited {
                text-decoration-line: underline
            }


        }

        .footRight {

        }
    }
}
/* --------------- END -- Footer -- END --------------- */


/* Theme Component: Default CSS
################################### Restaurant Functional Module ###################################
/modules/Themes/themes/themes.css    ::: themes style sheet
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
accompanies index.tsx
(c)2024 Lance Stubblefield
####################################################################################################
*/
.ThemeSelector{
    display: block;
    height: -moz-fit-content;
    height: fit-content;
    background-color: transparent;
    padding: 0.5rem;
    text-align: left;
    select{
        margin-top: 0.125rem;
        margin-bottom: 0.125rem;
    }
    select{
        margin-left: 1rem;
    }
    select{
        height: -moz-fit-content;
        height: fit-content;
    }
    select{
        width: -moz-fit-content;
        width: fit-content;
    }
    select{
        min-width: 9rem;
    }
    select{
        cursor: pointer;
    }
    select{
        --tw-bg-opacity: 1;
        background-color: rgb(209 213 219 / var(--tw-bg-opacity, 1));
    }
    select{
        padding: 0.25rem;
    }
    select{
        font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    }
    select{
        font-size: 0.75rem;
        line-height: 1rem;
    }
    select{
        font-weight: 700;
    }
    select{
        line-height: 1.25;
    }
    select{
        --tw-text-opacity: 1;
        color: rgb(3 7 18 / var(--tw-text-opacity, 1));
    }
    select{
        border-radius: 0.375rem;
    }
    select{
        --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
        --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }
    select{
        --tw-shadow-color: #374151;
        --tw-shadow: var(--tw-shadow-colored);
    }
}
.error {
    background-color: #f8ec65;
    height: -moz-fit-content;
    height: fit-content;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
    font-weight: 700;
    line-height: 1.25;
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity, 1));
    border-bottom-width: 2px;
    --tw-border-opacity: 1;
    border-color: rgb(185 28 28 / var(--tw-border-opacity, 1));
}
:root {

    /* ######################## Theme1:Blue Styles ######################## */
    /*--light-color: #dbedff;*/
    /*--soft-color: #8bc0f1;*/
    /*--medium-color: #7c9bb8;*/
    /*--darkBlue-color: #124374;*/
    /*--very-darkBlue-color: #091f34;*/
    /*--bright-color: #0381f4;*/

    /*--ok-color: #25e507;*/
    /*--highlight-color: #ed42c7;*/
    /*--alert-color: #ef9e39;*/


    /* ######################## Theme2:Green Styles ######################## */
    /*--light-color: #ddffdb;*/
    /*--soft-color: #b0f18b;*/
    /*--medium-color: #87b87c;*/
    /*--darkBlue-color: #2b7412;*/
    /*--very-darkBlue-color: #0a3409;*/
    /*--bright-color: #25e507;*/

    /*--ok-color: #25e507;*/
    /*--highlight-color: #fde907;*/
    /*--alert-color: #fa295a;*/


    /* ######################## Theme3:Orange Styles ######################## */
    /*--light-color: #fff2db;*/
    /*--soft-color: #f1be8b;*/
    /*--medium-color: #b8937c;*/
    /*--dark-color: #743812;*/
    /*--very-dark-color: #341909;*/
    /*--bright-color: #ff8d46;*/

    /*--ok-color: #25e507;*/
    /*--highlight-color: #fde907;*/
    /*--alert-color: #fa295a;*/


    /* ######################## Theme4:Purple Styles ######################## */
    /*--light-color: #efdbff;*/
    /*--soft-color: #d48bff;*/
    /*--medium-color: #8c51a8;*/
    /*--darkBlue-color: #460f61;*/
    /*--very-darkBlue-color: #290934;*/
    /*--bright-color: #be34f4;*/

    /*--ok-color: #25e507;*/
    /*--highlight-color: #07fde8;*/
    /*--alert-color: #fa29d7;*/


    /* ######################## General Theme Styles ######################## */

    /*--light-shade: #dddfe1;*/
    /*--medium-shade: #aeb4b9;*/
    /*--dark-shade: #596066;*/
    /*--very-dark-shade: #272a2d;*/


}/* pages.css
################################### Restaurant Functional Module ###################################
/src/pages/pages.css    ::: navbar style sheet for Navbar.css
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
(c)2024 Lance Stubblefield
####################################################################################################
*/

.hrDivider {
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem;
    margin-bottom: 2rem;
    width: 41.666667%;
    border-top-width: 8px;
    border-style: dotted;
}

.quote {
    font-weight: 300;
    font-style: italic;
}

.mainPage {
    margin-left: auto;
    margin-right: auto;
    margin-top: 1rem;
    width: 91.666667%;
    padding-left: 1rem;
    padding-right: 1rem;
    padding-top: 1rem;
    padding-bottom: 6rem;
    border-width: 2px;

    h1 {
        margin-bottom: 0.75rem;
    }

    h1 {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }

    h1 {
        font-weight: 700;
    }

    h1 {
        line-height: 1.25;
    }

    h2 {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }

    p {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }

    p {
        line-height: 1.25;
    }
}

.bodyHead {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1rem;
}

.bodyMain {
    margin-left: auto;
    margin-right: auto;
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.bodyFoot {
    margin-left: auto;
    margin-right: auto;
    margin-top: 2rem;
    padding-bottom: 1rem;
}

/* ###################### HOME ###################### */
.imageCard {
    margin-left: auto;
    margin-right: auto;
    height: 24rem;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.5rem;
    border-radius: 0.5rem;
    border-width: 2px;
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-shadow-color: #6b7280;
    --tw-shadow: var(--tw-shadow-colored);

    img {
        margin-left: auto;
        margin-right: auto;
    }

    img {
        margin-bottom: 1rem;
    }

    img {
        max-height: 20rem;
    }

    img {
        width: 100%;
    }

    img {
        max-width: 100%;
    }

    img {
        -o-object-fit: fill;
           object-fit: fill;
    }

    p {
        margin-left: auto;
        margin-right: auto;
    }

    p {
        width: 91.666667%;
    }

    p {
        font-size: .8em;
    }
}

/* ---------------------- END HOME ---------------------- */

/* ###################### ABOUT ###################### */
table {
    margin-left: auto;
    margin-right: auto;
    margin-top: 1rem;
    width: 100%;
    border-width: 2px;
    /*font-family: arial, sans-serif;*/
}

td, th {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-align: left;
}

tr:nth-child(even) {
    background-color: rgba(70, 70, 70, .2);
}

.title, .description, .details {
    vertical-align: top;
}

.theadrow {
    border-bottom-width: 2px;
    letter-spacing: 0.05em;
    vertical-align: bottom;
}

/* ---------------------- END ABOUT ---------------------- */

/* ###################### CONTACT ###################### */

.contactCard {
    align-content: center;
    padding-top: 2rem;
    padding-bottom: 2rem;
    border-radius: 1.5rem;
    border-width: 2px;
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-shadow-color: #6b7280;
    --tw-shadow: var(--tw-shadow-colored);
}

.formInput {
    margin-left: auto;
    margin-right: auto;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
    display: block;
    width: 75%;
    cursor: text;
    padding: 0.5rem;
    font-size: 1.125rem;
    line-height: 1.75rem;
    letter-spacing: 0.05em;
    border-radius: 0.5rem;
    border-width: 2px;
    --tw-bg-opacity: 1;
    background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

#formMessage {
    margin-left: auto;
    margin-right: auto;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
    display: block;
    width: 75%;
    cursor: text;
    padding: 0.5rem;
    font-size: 1rem;
    line-height: 1.5rem;
    letter-spacing: 0.05em;
    border-radius: 0.5rem;
    border-width: 2px;
    --tw-bg-opacity: 1;
    background-color: rgb(255 251 235 / var(--tw-bg-opacity, 1));
}

.buttonRow {
    display: flex;
    justify-content: space-around;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

#formButton {
    height: 3rem;
    width: 6rem;
    border-width: 2px;
    font-size: 1.125rem;
    line-height: 1.75rem;
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-shadow-color: #6b7280;
    --tw-shadow: var(--tw-shadow-colored);
    border-radius: 0.5rem;
    --tw-border-opacity: 1;
    border-color: rgb(21 128 61 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}

#clearButton {
    height: 3rem;
    width: 6rem;
    border-width: 2px;
    font-size: 1.125rem;
    line-height: 1.75rem;
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-shadow-color: #6b7280;
    --tw-shadow: var(--tw-shadow-colored);
    border-radius: 0.5rem;
    --tw-border-opacity: 1;
    border-color: rgb(194 65 12 / var(--tw-border-opacity, 1));
    --tw-bg-opacity: 1;
    background-color: rgb(254 215 170 / var(--tw-bg-opacity, 1));
    --tw-text-opacity: 1;
    color: rgb(234 88 12 / var(--tw-text-opacity, 1));
}

#formButton:hover {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    transform: scale(1.1);
}

#clearButton:hover {
    --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    transform: scale(1.1);
}

.errorMsg {
    margin-top: 0px;
    font-size: 0.875rem;
    line-height: 1.25rem;
    font-weight: 700;
    --tw-text-opacity: 1;
    color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}

/* ---------------------- END CONTACT ---------------------- */


/* ########################### Media Selector ########################### */
/* ------------ Mobile View ------------ */
@media (max-width: 667px) {
    .bodyHead, .bodyMain, .bodyFoot {
        width: 100%;
    }

    .theadrow {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .title {
        font-size: 1rem;
        line-height: 1.5rem;
        font-weight: 400;
    }

    .description {
        font-size: 1rem;
        line-height: 1.5rem;
        font-style: italic;
        line-height: 1.25;
    }

    .details {
        font-size: 1rem;
        line-height: 1.5rem;
        font-weight: 400;
    }

    .contactContainer, .contactCard {
        width: 100%;
    }

}

/* ------------ End Mobile ------------ */

/* ------------ Tablet View ------------ */
@media (min-width: 668px) and (max-width: 991px) {
    .bodyHead, .bodyMain, .bodyFoot {
        width: 91.666667%;
    }

    .theadrow {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }

    .title {
        font-size: 1rem;
        line-height: 1.5rem;
        font-weight: 600;
    }

    .description {
        font-size: 1rem;
        line-height: 1.5rem;
        font-style: italic;
        line-height: 1.25;
    }

    .details {
        font-size: 1rem;
        line-height: 1.5rem;
        font-weight: 400;
    }

    .contactContainer {
        margin-left: auto;
        margin-right: auto;
        width: 75%;
    }

    .contactCard {
        width: 100%;
    }
}

/* ------------ End Tablet ------------ */

/* ------------ Desktop View ------------ */
@media (min-width: 992px) {
    .bodyHead, .bodyMain, .bodyFoot {
        width: 91.666667%;
    }

    .theadrow {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }

    .title {
        font-size: 1.125rem;
        line-height: 1.75rem;
        font-weight: 600;
    }

    .description {
        font-size: 1rem;
        line-height: 1.5rem;
        font-style: italic;
        line-height: 1.25;
    }

    .details {
        font-size: 1.125rem;
        line-height: 1.75rem;
        font-weight: 400;
    }

    .contactContainer {
        margin-left: auto;
        margin-right: auto;
        width: 50%;
    }

    .contactCard {
        width: 100%;
    }
}

/* ------------ End Desktop ------------ */

/* ##########------------ End Media ------------########## *//* cartPages.css
################################### Restaurant Functional Module ###################################
Module: Cart
/modules/Cart/pages/cartPages.css    ::: cart module style sheet
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
(c)2024 Lance Stubblefield
####################################################################################################
*/


/* ################################ CART ################################ */


/* *********** CART PAGE *********** */
.cartHeader {


    .cartLeft {
        float: left;
    }


    .cartLeft {
        width: 41.666667%;
    }


    .cartLeft {
        text-align: left;
    }

    .cartCenter {
        width: 16.666667%;
    }

    .cartRight {
        float: right;
    }

    .cartRight {
        width: 41.666667%;
    }

    .cartRight {
        text-align: right;
    }

    .cartRight {

        button {
            border-radius: 0.375rem;
        }

        button {
            border-width: 2px;
        }

        button {
            --tw-border-opacity: 1;
            border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
        }

        button {
            --tw-bg-opacity: 1;
            background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
        }

        button {
            padding: 0.25rem;
        }

        button {
            --tw-text-opacity: 1;
            color: rgb(239 68 68 / var(--tw-text-opacity, 1));
        }

        button {
            float: right;
        }

        .enabled {
            cursor: pointer;
        }

        .enabled {
            --tw-border-opacity: 1;
            border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
        }

        .enabled {
            --tw-bg-opacity: 1;
            background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
        }

        .enabled {
            --tw-text-opacity: 1;
            color: rgb(239 68 68 / var(--tw-text-opacity, 1));
        }

        .enabled:hover {
            --tw-border-opacity: 1;
            border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
        }

        .enabled:hover {
            --tw-bg-opacity: 1;
            background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
        }

        .enabled:hover {
            --tw-text-opacity: 1;
            color: rgb(254 226 226 / var(--tw-text-opacity, 1));
        }

        .enabled:hover {
            --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
            --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        }

        .enabled:hover {
            --tw-shadow-color: #374151;
            --tw-shadow: var(--tw-shadow-colored);
        }

        .enabled:hover {
            transform: scale(1.1);
        }

        .disabled {
            cursor: not-allowed;
        }

        .disabled {
            --tw-border-opacity: 1;
            border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
        }

        .disabled {
            --tw-bg-opacity: 1;
            background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
        }

        .disabled {
            --tw-text-opacity: 1;
            color: rgb(107 114 128 / var(--tw-text-opacity, 1));
        }
    }
}

.cartLineTop {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 4rem;
    width: 41.666667%;
    border-bottom-width: 2px;
}

.cartLineBottom {
    margin-left: auto;
    margin-right: auto;
    margin-top: 4rem;
    width: 41.666667%;
    border-bottom-width: 2px;
}

.cartTotal {
    margin-left: auto;
    margin-right: auto;
    width: 75%;
    padding-top: 0.5rem;
    text-align: right;
    font-size: 1.25rem;
    line-height: 1.75rem;
    font-weight: 700;
}

.cartFooter {
    margin-left: auto;
    margin-right: auto;
    width: 91.666667%;
    padding: 1rem;
    text-align: right;

    button {
        margin-left: auto;
        margin-right: auto;
    }

    button {
        border-radius: 9999px;
    }

    button {
        border-width: 2px;
    }

    button {
        --tw-border-opacity: 1;
        border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
    }

    button {
        --tw-bg-opacity: 1;
        background-color: rgb(22 101 52 / var(--tw-bg-opacity, 1));
    }

    button {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }

    button {
        --tw-text-opacity: 1;
        color: rgb(134 239 172 / var(--tw-text-opacity, 1));
    }

    .enabled {
        cursor: pointer;
    }

    .enabled {
        --tw-border-opacity: 1;
        border-color: rgb(134 239 172 / var(--tw-border-opacity, 1));
    }

    .enabled {
        --tw-bg-opacity: 1;
        background-color: rgb(22 101 52 / var(--tw-bg-opacity, 1));
    }

    .enabled {
        --tw-text-opacity: 1;
        color: rgb(134 239 172 / var(--tw-text-opacity, 1));
    }

    .enabled:hover {
        --tw-border-opacity: 1;
        border-color: rgb(22 101 52 / var(--tw-border-opacity, 1));
    }

    .enabled:hover {
        --tw-bg-opacity: 1;
        background-color: rgb(134 239 172 / var(--tw-bg-opacity, 1));
    }

    .enabled:hover {
        --tw-text-opacity: 1;
        color: rgb(22 101 52 / var(--tw-text-opacity, 1));
    }

    .enabled:hover {
        border-radius: 9999px;
    }

    .enabled:hover {
        --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
        --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }

    .enabled:hover {
        --tw-shadow-color: #374151;
        --tw-shadow: var(--tw-shadow-colored);
    }

    .enabled:hover {
        transform: scale(1.3)
    }

    .disabled {
        cursor: not-allowed;
    }

    .disabled {
        --tw-border-opacity: 1;
        border-color: rgb(107 114 128 / var(--tw-border-opacity, 1));
    }

    .disabled {
        --tw-bg-opacity: 1;
        background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
    }

    .disabled {
        --tw-text-opacity: 1;
        color: rgb(107 114 128 / var(--tw-text-opacity, 1));
    }
}

/* *********** CART CONTAINER *********** */
.cartHeader {
    margin-top: 1rem;
    margin-bottom: 1rem;
    margin-left: auto;
    margin-right: auto;
    min-height: 5rem;
    width: 91.666667%;
}

.cartTable {
    margin-left: auto;
    margin-right: auto;
    display: block;
    width: 75%;
    border-bottom-width: 2px;
    border-style: double;

    h3 {
        margin-left: 0.5rem;
        margin-right: 0.5rem;
    }

    h3 {
        --tw-text-opacity: 1;
        color: rgb(75 85 99 / var(--tw-text-opacity, 1));
    }

    .cartTableHeader {

        .cartTableHeaderItem {
            font-weight: 700;
        }

        .column0 {
            font-weight: 700;
        }

        .column1 {
            padding-left: 0.75rem;
        }

        .column2 {
            padding-left: 0.5rem;
            padding-right: 0.5rem;
        }

        .column2 {
            text-align: center;
        }

        .column3 {
            text-align: right;
        }

        .column5 {
            text-align: center;
        }

        .column6 {
            text-align: right;
        }

    }
}

/* ########################### Media Selector ########################### */
/* ------------ Mobile View ------------ */
@media (max-width: 667px) {
    .cartFooter button {
        width: 50%;
        font-size: 0.875rem;
        line-height: 1.25rem;
        font-weight: 400;
    }
    .cartRight button {
        width: 50%;
        font-size: 0.875rem;
        line-height: 1.25rem;
        font-weight: 400;
    }

    .cartTableHeader {
        display: flex;
        width: 100%;
        align-content: space-between;
        justify-content: space-between;
        border-bottom-width: 2px;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-top: 0.25rem;
        font-size: 0.875rem;
        line-height: 1.25rem;
        font-weight: 600;

        .column0 {
            width: 1rem;
        }

        .column1 {
            width: 16rem;
        }

        .column2 {
            display: none;
        }

        .column3 {
            width: 6rem;
        }

        .column4 {
            display: none;
        }

        .column5 {
            width: 8rem;
        }

        .column6 {
            width: 7rem;
        }
    }
}

/* ------------ End Mobile ------------ */

/* ------------ Tablet View ------------ */
@media (min-width: 668px) and (max-width: 991px) {
    .cartRight button {
        width: 33.333333%;
        font-weight: 400;
    }
    .cartFooter button {
        width: 33.333333%;
        font-size: 1.125rem;
        line-height: 1.75rem;
    }
    .cartTableHeader {
        display: flex;
        width: 100%;
        align-content: space-between;
        justify-content: space-between;
        border-bottom-width: 2px;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-top: 0.25rem;

        .column0 {
            width: 1.5rem;
        }

        .column0 {
            padding-left: 0.25rem;
            padding-right: 0.25rem;
        }

        .column1 {
            width: 20rem;
        }

        .column2 {
            display: none;
        }

        .column3 {
            margin-right: 0.5rem;
        }

        .column3 {
            width: 6rem;
        }

        .column4 {
            display: none;
        }

        .column5 {
            width: 8rem;
        }

        .column6 {
            width: 7rem;
        }
    }
}

/* ------------ End Tablet ------------ */

/* ------------ Desktop View ------------ */
@media (min-width: 992px) {
    .cartRight button, .cartFooter button {
        width: 25%;
    }
    .cartFooter button {
        font-size: 1.125rem;
        line-height: 1.75rem;
        --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
        --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        --tw-shadow-color: #16a34a;
        --tw-shadow: var(--tw-shadow-colored);
    }

    .cartTableHeader {
        display: flex;
        width: 100%;
        align-content: space-between;
        justify-content: space-between;
        border-bottom-width: 2px;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-top: 0.25rem;

        .column0 {
            width: 1.5rem;
        }

        .column0 {
            padding-left: 0.25rem;
            padding-right: 0.25rem;
        }

        .column1 {
            width: 20rem;
        }

        .column2 {
            width: 8rem;
        }

        .column3 {
            width: 9rem;
        }

        .column4 {
            width: 3rem;
        }

        .column5 {
            width: 8rem;
        }

        .column6 {
            width: 8rem;
        }
    }
}

/* ------------ End Desktop ------------ */

/* ##########------------ End Media ------------########## */


/* Product.css
################################### Restaurant Functional Module ###################################
Module: Cart
/module/Cart/containers/Product/Product.css    ::: product card style sheet
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
(c)2024 Lance Stubblefield
####################################################################################################
*/

.product-card {
    height: 100%;
    border-radius: 0.75rem;
    border-width: 2px;
    padding: 0.75rem;
    box-shadow: 0 8px 16px 0 #444444, 0 6px 20px 0 #888888;
    max-width: 400px;;
    z-index: 40;

    h2 {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
    }

    h2 {
        text-align: center;
    }

    h2 {
        font-weight: 700;
    }

    .thumbnail {
        margin-left: auto;
        margin-right: auto;
    }

    .thumbnail {
        max-height: 12rem;
    }

    .thumbnail {
        width: 91.666667%;
    }

    .thumbnail {
        overflow: hidden;
    }

    .thumbnail {
        z-index: 41;

        img {
            margin-left: auto;
            margin-right: auto;
        }

        img {
            margin-top: 1rem;
            margin-bottom: 1rem;
        }

        img {
            height: 11rem;
        }

        img {
            width: 24rem;
        }

        img {
            border-radius: 1rem;
        }

        img {
            border-width: 2px;
        }

        img {
            z-index: 42;
        }
    }

    .thumbnail:hover {
        transform: scale(1.3);
    }

    .thumbnail:hover {
        border-radius: 1rem;
    }

    .thumbnail:hover {
        --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
        --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }

    .thumbnail:hover {
        --tw-shadow-color: #6b7280;
        --tw-shadow: var(--tw-shadow-colored);
    }

    .productTitle {
        height: 5rem;
    }

    .productLine {
        display: flex;
    }

    .productLine {
        padding-top: 0.5rem;
    }

    .productLine {


        .productPrice {
            width: 50%;
        }


        .productPrice {
            padding-left: 0.5rem;
            padding-right: 0.5rem;
        }


        .productPrice {
            font-size: 1.125rem;
            line-height: 1.75rem;
        }


        .productPrice {
            font-weight: 700;
        }

        .productType {
            width: 33.333333%;
        }

        .productType {
            cursor: pointer;
        }

        .productType {
            padding-left: 0.5rem;
            padding-right: 0.5rem;
        }

        .productType {
            text-align: center;
        }

        .productType {
            vertical-align: bottom;
        }

        .productCategory {
            width: 33.333333%;
        }

        .productCategory {
            cursor: pointer;
        }

        .productCategory {
            padding-left: 0.5rem;
            padding-right: 0.5rem;
        }

        .productCategory {
            text-align: right;
        }

        .productCategory {
            vertical-align: bottom;
        }

        .productCategory {
            font-style: italic;
        }
    }

    .cartAdded {
        width: 50%;
    }

    .cartAdded {
        padding-top: 1rem;
    }

    .cartAdded {
        text-align: left;
    }

    .cartAdded {
        font-weight: 700;
    }

    .cartAdded {
        --tw-text-opacity: 1;
        color: rgb(234 88 12 / var(--tw-text-opacity, 1));
    }

    .cartButton {
        width: 50%;
    }

    .cartButton {
        align-content: flex-end;
    }

    .cartButton {
        padding-left: 0px;
        padding-right: 0px;
    }

    .cartButton {
        padding-top: 0.5rem;
    }

    .cartButton {
        text-align: right;
    }

    .cartButton {
        font-size: 0.875rem;
        line-height: 1.25rem;
    }

    .cartButton {
        font-weight: 700;
    }

    .cartButton {
        --tw-text-opacity: 1;
        color: rgb(34 197 94 / var(--tw-text-opacity, 1));
    }

    .cartButton {

        button {
            border-width: 2px;
        }

        button {
            --tw-border-opacity: 1;
            border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
        }

        button {
            --tw-bg-opacity: 1;
            background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
        }

        button {
            padding: 0.25rem;
        }

        button:hover {
            --tw-bg-opacity: 1;
            background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
        }

        button:hover {
            transform: scale(1.1);
        }
    }
}


/* ########################### Media Selector ########################### */
/* ------------ Mobile View ------------ */
@media (max-width: 667px) {

}

/* ------------ End Mobile ------------ */

/* ------------ Tablet View ------------ */
@media (min-width: 668px) and (max-width: 991px) {

}

/* ------------ End Tablet ------------ */

/* ------------ Desktop View ------------ */
@media (min-width: 992px) {

}

/* ------------ End Desktop ------------ */

/* ##########------------ End Media ------------########## */
/* menuPages.css
################################### Restaurant Functional Module ###################################
Module: Menu
/modules/Menu/pages/menuPages.css    ::: menu module style sheet
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
(c)2024 Lance Stubblefield
####################################################################################################
*/


/* ################################ MENU ################################ */
.productContainer {
    margin-left: auto;
    margin-right: auto;
    margin-top: 1rem;
    border-width: 2px;
}

/* *********** MENU (food) *********** */
.menuHeader {
    margin-left: auto;
    margin-right: auto;
    height: -moz-fit-content;
    height: fit-content;
    width: 91.666667%;
    padding-top: 1rem;
    p {
        font-size: .75em;
    }
    h1 {
        margin-top: 0.75rem;
        margin-bottom: 0.75rem;
    }
}

.menuContainer {
    margin-left: auto;
    margin-right: auto;
    width: 91.666667%;
}

/* *********** Product Details *********** */
.productPage {
    margin-left: auto;
    margin-right: auto;
    margin-top: 1.25rem;
    width: 91.666667%;
    padding-bottom: 4rem;
    padding-top: 2rem;
    border-width: 2px;
    max-width: 800px;

    .productPic {
        margin-left: auto;
        margin-right: auto;
    }

    .productPic {
        width: 83.333333%;
    }

    .productPic {
        padding: 1rem;
    }

    .productPic {

        img {
            margin-left: auto;
            margin-right: auto;
        }

        img {
            margin-bottom: 1rem;
        }

        img {
            width: 91.666667%;
        }

        img {
            border-radius: 0.375rem;
        }

        img {
            border-width: 2px;
        }

        img {
            --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
            --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        }

        .productTitle {
            margin-left: auto;
            margin-right: auto;
        }

        .productTitle {
            margin-bottom: 0.5rem;
        }

        .productTitle {
            margin-top: 1.5rem;
        }

        .productTitle {
            width: 100%;
        }

        .productTitle {
            text-align: center;
        }
    }

    .productSection {
        margin-left: auto;
        margin-right: auto;
    }

    .productSection {
        width: 66.666667%;
    }

    .productSection {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }

    .productSection {

        .productCatRow {
            margin-top: 1rem;
            margin-bottom: 1rem;
        }

        .productCatRow {
            display: flex;
        }

        .productCatRow {
            justify-content: space-between;
        }

        .productCatRow {

            .productPrice {
                font-size: 1.5rem;
                line-height: 2rem;
            }

            .productPrice {
                font-weight: 700;
            }

            .productType {
                text-align: center;
            }

            .productType {
                font-size: 1.125rem;
                line-height: 1.75rem;
            }

            .productType {
                text-decoration-line: underline;
            }

            .productCat {
                font-size: 1.125rem;
                line-height: 1.75rem;
            }

            .productCat {
                font-style: italic;
            }
        }

        .productButton {
            margin-left: auto;
            margin-right: auto;
        }

        .productButton {
            text-align: center;
        }

        .productButton {

            button {
                border-radius: 0.75rem;
            }

            button {
                border-width: 2px;
            }

            button {
                padding: 0.5rem;
            }

            button {
                --tw-border-opacity: 1;
                border-color: rgb(74 222 128 / var(--tw-border-opacity, 1));
            }

            button {
                --tw-bg-opacity: 1;
                background-color: rgb(20 83 45 / var(--tw-bg-opacity, 1));
            }

            button {
                --tw-text-opacity: 1;
                color: rgb(74 222 128 / var(--tw-text-opacity, 1));
            }

            button:hover {
                --tw-border-opacity: 1;
                border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
            }

            button:hover {
                --tw-bg-opacity: 1;
                background-color: rgb(21 128 61 / var(--tw-bg-opacity, 1));
            }

            button:hover {
                font-weight: 700;
            }

            button:hover {
                --tw-text-opacity: 1;
                color: rgb(187 247 208 / var(--tw-text-opacity, 1));
            }

            button:hover {
                transform: scale(1.1)
            }
        }

        .productInCart {
            margin-left: auto;
            margin-right: auto;
        }

        .productInCart {
            text-align: center;
        }

        .productInCart {
            border-width: 2px;
        }

        .productInCart {
            --tw-border-opacity: 1;
            border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
        }

        .productInCart {
            --tw-bg-opacity: 1;
            background-color: rgb(253 224 71 / var(--tw-bg-opacity, 1));
        }

        .productInCart {
            --tw-text-opacity: 1;
            color: rgb(153 27 27 / var(--tw-text-opacity, 1));
        }

    }
}


/* ########################### Media Selector ########################### */
/* ------------ Mobile View ------------ */
@media (max-width: 539px) {
    .catalog-container {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(1, minmax(0, 1fr));
        row-gap: 0.5rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-top: 0.5rem;
    }

    .productContainer {
        width: 100%;
    }

    .productSection p {
        width: 100%;
        font-size: 0.875rem;
        line-height: 1.25rem;
        line-height: 1.25;
    }

    .productPrice {
        width: 100%;
        text-align: center;
    }

    .productType, .productCat {
        display: none;
    }

    .productButton {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
        width: 58.333333%;
        font-size: 0.875rem;
        line-height: 1.25rem;
    }

    .productInCart {
        height: 2rem;
        width: 75%;
        border-style: none;
        vertical-align: middle;
        font-size: 1.125rem;
        line-height: 1.75rem;
        font-weight: 400;
    }
}

/* ------------ End Mobile ------------ */

/* ------------ Tablet View ------------ */
@media (min-width: 540px) and (max-width: 991px) {
    .catalog-container {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        -moz-column-gap: 1rem;
             column-gap: 1rem;
        row-gap: 1rem;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-top: 0.75rem;
    }

    .productContainer {
        width: 91.666667%;
    }

    .productAction {
        margin-top: 1rem;
        margin-bottom: 1rem;
        display: flex;
        height: 2.5rem;
        flex-direction: row;
        justify-content: space-between;
    }

    .productButton {
        width: 41.666667%;
        font-size: 1.125rem;
        line-height: 1.75rem;
        font-weight: 600;
    }

    .productInCart {
        width: 33.333333%;
        font-size: 1.25rem;
        line-height: 1.75rem;
        font-weight: 600;
    }
}

/* ------------ End Tablet ------------ */

/* ------------ Desktop View ------------ */
@media (min-width: 992px) {
    .catalog-container {
        display: grid;
        width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        -moz-column-gap: 1.5rem;
             column-gap: 1.5rem;
        row-gap: 2rem;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
        padding-top: 1rem;
    }

    .productContainer {
        width: 91.666667%;
    }

    .productAction {
        margin-top: 2rem;
        margin-bottom: 2rem;
        display: flex;
        height: 3rem;
        flex-direction: row;
        justify-content: space-between;
        font-size: 1.25rem;
        line-height: 1.75rem;
        font-weight: 700;
    }

    .productButton {
        width: 33.333333%;
    }

    .productInCart {
        width: 41.666667%;
    }
}

/* ------------ End Desktop ------------ */

/* ##########------------ End Media ------------########## */
/* Cart.css
################################### Restaurant Functional Module ###################################
Module: Cart
/module/Cart/containers/Cart/Cart.css    ::: Cart card style sheet
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
(c)2024 Lance Stubblefield
####################################################################################################
*/

.cartRow {
    border-bottom-width: 2px;
    padding-top: 0.25rem;

    .cartDelete {
        margin-top: 0.25rem;
        margin-bottom: 0.25rem;
    }

    .cartDelete {
        height: -moz-fit-content;
        height: fit-content;
    }

    .cartDelete {
        padding: 0px;
    }

    .cartDelete {

        button {
            position: relative;
        }

        button {
            margin-left: -0.25rem;
        }

        button {
            width: -moz-fit-content;
            width: fit-content;
        }

        button {
            border-radius: 0px;
        }

        button {
            padding: 0.25rem;
        }

        button {
            text-align: center;
        }

        button {
            font-size: 0.875rem;
            line-height: 1.25rem;
        }

        button {
            font-weight: 700;
        }

        button {
            border-width: 2px;
        }

        button {
            --tw-border-opacity: 1;
            border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
        }

        button {
            --tw-bg-opacity: 1;
            background-color: rgb(254 202 202 / var(--tw-bg-opacity, 1));
        }

        button {
            --tw-text-opacity: 1;
            color: rgb(239 68 68 / var(--tw-text-opacity, 1));
        }

        button:hover {
            --tw-border-opacity: 1;
            border-color: rgb(254 202 202 / var(--tw-border-opacity, 1));
        }

        button:hover {
            --tw-bg-opacity: 1;
            background-color: rgb(220 38 38 / var(--tw-bg-opacity, 1));
        }

        button:hover {
            --tw-text-opacity: 1;
            color: rgb(254 226 226 / var(--tw-text-opacity, 1));
        }

        button:hover {
            --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
            --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        }

        button:hover {
            --tw-shadow-color: #b91c1c;
            --tw-shadow: var(--tw-shadow-colored);
        }

        button:hover {
            transform: scale(1.2);
        }
    }

    .cartCategory {
        text-align: center;
    }

    .cartCategory {
        font-size: 0.875rem;
        line-height: 1.25rem;
    }

    .cartCategory {
        font-style: italic;
    }

    .cartPrice {
        text-align: right;
    }

    .cartPrice {
        font-weight: 300;
    }


    .cartQtyCol {
        display: flex;
    }


    .cartQtyCol {
        height: 2.75rem;
    }


    .cartQtyCol {
        align-content: space-around;
    }


    .cartQtyCol {

        .cartQty {
            width: 33.333333%;
        }

        .cartQty {
            text-align: center;
        }

        .cartQty {
            font-weight: 600;
        }

        button {
            font-family: Arial, Helvetica, sans-serif;
        }

        .cartInc:hover {
            --tw-border-opacity: 1;
            border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
        }

        .cartInc:hover {
            --tw-bg-opacity: 1;
            background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
        }

        .cartInc:hover {
            --tw-text-opacity: 1;
            color: rgb(21 128 61 / var(--tw-text-opacity, 1));
        }

        .cartInc:hover {
            --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
            --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        }

        .cartInc:hover {
            --tw-shadow-color: #15803d;
            --tw-shadow: var(--tw-shadow-colored);
        }

        .cartInc:hover {
            transform: scale(1.1);
        }

        .cartDec:hover {
            --tw-border-opacity: 1;
            border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
        }

        .cartDec:hover {
            --tw-bg-opacity: 1;
            background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
        }

        .cartDec:hover {
            --tw-text-opacity: 1;
            color: rgb(185 28 28 / var(--tw-text-opacity, 1));
        }

        .cartDec:hover {
            --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
            --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        }

        .cartDec:hover {
            --tw-shadow-color: #b91c1c;
            --tw-shadow: var(--tw-shadow-colored);
        }

        .cartDec:hover {
            transform: scale(1.1);
        }
    }

    .cartLineTotal {
        text-align: right;
    }

    .cartLineTotal {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }

    .cartLineTotal {
        font-weight: 600;
    }
}


/* ########################### Media Selector ########################### */
/* ------------ Mobile View ------------ */
@media (max-width: 667px) {
    .cartRow {
        display: flex;
        height: -moz-fit-content;
        height: fit-content;
        flex-direction: row;
        align-content: space-between;
        justify-content: space-between;
        padding-left: 0.5rem;
        padding-right: 0.5rem;

        .cartDelete {
            button {
                border-style: none;
            }
            button {
                background-image: none;
            }
            button {
                font-size: 0.875rem;
                line-height: 1.25rem;
            }
            button {
                font-weight: 400;
            }
        }

        .cartDelete {
            margin-right: 0.25rem;
        }

        .cartDelete {
            width: 1.5rem;
        }

        .cartTitle {
            width: 16rem;
        }

        .cartTitle {
            font-size: 0.75rem;
            line-height: 1rem;
        }

        .cartTitle {
            line-height: 1.25;
        }

        .cartCategory {
            display: none;
        }

        .cartPrice {
            margin-top: 0.5rem;
        }

        .cartPrice {
            width: 5rem;
        }

        .cartPrice {
            font-size: 0.75rem;
            line-height: 1rem;
        }

        .column4 {
            display: none;
        }

        .cartQtyCol {
            margin-top: 0.5rem;
        }

        .cartQtyCol {
            width: 8rem;
        }

        .cartQtyCol {
            font-size: 0.875rem;
            line-height: 1.25rem;
        }

        .cartQtyCol {

            button {
                margin-left: 0.25rem;
                margin-right: 0.25rem;
            }

            button {
                margin-top: 0px;
            }

            button {
                height: 1.5rem;
            }

            button {
                width: 25%;
            }

            button {
                border-style: none;
            }

            button {
                text-align: center;
            }

            button {
                font-weight: 600;
            }
        }

        .cartLineTotal {
            margin-top: 0.5rem;
        }

        .cartLineTotal {
            width: 7rem;
        }

        .cartLineTotal {
            font-size: 0.875rem;
            line-height: 1.25rem;
        }
    }

}

/* ------------ End Mobile ------------ */

/* ------------ Tablet View ------------ */
@media (min-width: 668px) and (max-width: 991px) {
    .cartRow {
        display: flex;
        height: -moz-fit-content;
        height: fit-content;
        flex-direction: row;
        align-content: space-between;
        justify-content: space-between;
        padding-left: 0.5rem;
        padding-right: 0.5rem;

        .cartDelete {
            width: 1.5rem;
        }

        .cartDelete {
            padding-left: 0.25rem;
            padding-right: 0.25rem;
        }

        .cartTitle {
            width: 20rem;
        }

        .cartTitle {
            padding-left: 0.25rem;
        }

        .cartTitle {
            font-size: 0.875rem;
            line-height: 1.25rem;
        }

        .cartTitle {
            font-weight: 600;
        }

        .cartCategory {
            display: none;
        }

        .cartPrice {
            margin-right: 0.5rem;
        }

        .cartPrice {
            width: 6rem;
        }

        .column4 {
            display: none;
        }

        .cartQtyCol {
            width: 8rem;
        }

        .cartQtyCol {

            button {
                margin-left: 0.5rem;
                margin-right: 0.5rem;
            }

            button {
                margin-top: 0.25rem;
                margin-bottom: 0.25rem;
            }

            button {
                height: 80%;
            }

            button {
                width: 33.333333%;
            }

            button {
                border-width: 2px;
            }

            button {
                text-align: center;
            }

            button {
                font-weight: 700;
            }
        }

        .cartLineTotal {
            width: 7rem;
        }
    }
}

/* ------------ End Tablet ------------ */

/* ------------ Desktop View ------------ */
@media (min-width: 992px) {
    .cartRow {
        display: flex;
        height: -moz-fit-content;
        height: fit-content;
        flex-direction: row;
        align-content: space-between;
        justify-content: space-between;
        padding-left: 0.5rem;
        padding-right: 0.5rem;

        .cartDelete {
            width: 1.5rem;
        }

        .cartDelete {
            padding-left: 0.25rem;
            padding-right: 0.25rem;
        }

        .cartTitle {
            width: 20rem;
        }

        .cartTitle {
            padding-left: 0.5rem;
        }

        .cartTitle {
            font-weight: 700;
        }

        .cartCategory {
            width: 8rem;
        }

        .cartPrice {
            width: 9rem;
        }

        .column4 {
            width: 3rem;
        }

        .cartQtyCol {
            width: 8rem;
        }

        .cartQtyCol {

            button {
                margin-left: 0.5rem;
                margin-right: 0.5rem;
            }

            button {
                margin-top: 0.25rem;
                margin-bottom: 0.25rem;
            }

            button {
                height: 80%;
            }

            button {
                width: 33.333333%;
            }

            button {
                border-width: 2px;
            }

            button {
                text-align: center;
            }

            button {
                font-weight: 700;
            }
        }

        .cartLineTotal {
            width: 8rem;
        }
    }
}

/* ------------ End Desktop ------------ */

/* ##########------------ End Media ------------########## */

/* cartPages.css
################################### Restaurant Functional Module ###################################
Module: main
/src/components/modals.css    ::: modals
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
companion for modals.tsx
(c)2024 Lance Stubblefield
####################################################################################################
*/
dialog {
    margin-left: auto;
    margin-right: auto;
    border-radius: 0.375rem;
    border-width: 4px;
    padding: 0.75rem;
    box-shadow: 0 0 0 2000px #440202CC;
}
.modal {
    margin: 1rem;

    .modalDialog {
        width: 100%;
    }

    .modalDialog {

        p {
            text-align: center;
        }

        p {
            font-size: 1.25rem;
            line-height: 1.75rem;
        }

        p {
            font-weight: 700;
        }

        p {
            line-height: 1.25;
        }
    }

    .modalResponse {
        display: flex;
    }

    .modalResponse {
        justify-content: space-around;
    }

    .modalResponse {

        button {
            margin-top: 1.5rem;
        }

        button {
            width: 8rem;
        }

        button {
            border-radius: 0.375rem;
        }

        button {
            border-width: 2px;
        }

        button {
            text-align: center;
        }

        button {
            font-size: 1.25rem;
            line-height: 1.75rem;
        }

        button {
            font-weight: 700;
        }

        button {
            --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
            --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        }

        button {
            --tw-shadow-color: #9ca3af;
            --tw-shadow: var(--tw-shadow-colored);
        }

        button:hover {
            transform: scale(1.1);
        }

        button:hover {
            --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
            --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        }

        button:hover {
            --tw-shadow-color: #374151;
            --tw-shadow: var(--tw-shadow-colored);
        }
        button:active {
            --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
            --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);
            box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
        }
        button:active {
            --tw-shadow-color: #6b7280;
            --tw-shadow: var(--tw-shadow-colored);
        }

        .cancelButton {
            --tw-border-opacity: 1;
            border-color: rgb(22 163 74 / var(--tw-border-opacity, 1));
        }

        .cancelButton {
            --tw-bg-opacity: 1;
            background-color: rgb(187 247 208 / var(--tw-bg-opacity, 1));
        }

        .cancelButton {
            --tw-text-opacity: 1;
            color: rgb(22 163 74 / var(--tw-text-opacity, 1));
        }

        .confirmButton {
            --tw-border-opacity: 1;
            border-color: rgb(202 138 4 / var(--tw-border-opacity, 1));
        }

        .confirmButton {
            --tw-bg-opacity: 1;
            background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));
        }

        .confirmButton {
            --tw-text-opacity: 1;
            color: rgb(202 138 4 / var(--tw-text-opacity, 1));
        }
    }
}

/* news.css
################################### Restaurant Functional Module ###################################
/modules/News/news.css    ::: news style sheet
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
(c)2024 Lance Stubblefield
####################################################################################################
*/

.newsContainer {
    width: 83.333333%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1rem;
    min-height: 24rem;
    padding: 1rem;
    padding-bottom: 6rem;
    vertical-align: top;
    border-width: 2px;

    .newsHeader {
        h1 {
            font-size: 2.25rem;
            line-height: 2.5rem;
        }
        h1 {
            font-weight: 700;
        }
        h2 {

        }
        p {

        }
    }
    .newsReel {
        .newsCard {
            margin-top: 1rem;
            margin-bottom: 1rem;
        }
        .newsCard {
            border-top-width: 2px;
        }
        .newsCard {
            padding-top: 1rem;
            padding-bottom: 1rem;
        }
        .newsCard {
            .newsDate {
                width: 100%;
            }
            .newsDate {
                padding-left: 1rem;
                padding-right: 1rem;
            }
            .newsDate {
                font-size: 0.875rem;
                line-height: 1.25rem;
            }
            .newsDate {
                font-weight: 400;
            }
            .newsTop {
                margin-bottom: 0.5rem;
            }
            .newsTop {
                display: flex;
            }
            .newsTop {
                width: 100%;
            }
            .newsTop {
                flex-direction: row;
            }
            .newsTop {
                padding: 0.5rem;
            }
            .newsTop {
                .newsLeft {
                    height: 12rem;
                }
                .newsLeft {
                    width: 33.333333%;
                }
                .newsLeft {

                    img {
                        margin-left: auto;
                        margin-right: auto;
                    }

                    img {
                        max-height: 12rem;
                    }

                    img {
                        width: 100%;
                    }

                    img {
                        border-radius: 0.375rem;
                    }

                    img {
                        border-width: 2px;
                    }

                    img {
                        --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
                        --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
                        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
                    }

                    img {
                        --tw-shadow-color: #6b7280;
                        --tw-shadow: var(--tw-shadow-colored);
                    }

                    img {
                        -o-object-fit: cover;
                           object-fit: cover;
                    }
                }
                .newsRight {
                    height: 100%;
                }
                .newsRight {
                    width: 66.666667%;
                }
                .newsRight {
                    padding-left: 1rem;
                    padding-right: 1rem;
                }
                .newsRight {
                    padding-bottom: 0.5rem;
                }
                .newsRight {
                    .newsTitle {
                        display: block;
                    }
                    .newsTitle {
                        h2 {
                            font-size: 1.875rem;
                            line-height: 2.25rem;
                        }
                        h2 {
                            font-weight: 700;
                        }
                        h2 {
                            line-height: 1.25;
                        }
                    }
                    .newsSub {
                        display: block;
                    }
                    .newsSub {
                        font-size: 1.125rem;
                        line-height: 1.75rem;
                    }
                    .newsSub {
                        font-weight: 400;
                    }
                }

            }
            .newsDescription {
                display: block;
            }
            .newsDescription {
                padding-left: 0.5rem;
                padding-right: 0.5rem;
            }
            .newsDescription {
                padding-bottom: 0.5rem;
            }
            .newsDescription {
                p {
                    font-size: 1rem;
                    line-height: 1.5rem;
                }
                p {
                    font-style: italic;
                }
            }
            .newsFooter {
                display: block;
            }
            .newsFooter {
                padding-left: 0.5rem;
                padding-right: 0.5rem;
            }
            .newsFooter {
                padding-bottom: 0.5rem;
            }
            .newsFooter {
                font-size: 1rem;
                line-height: 1.5rem;
            }
            .newsFooter {
                font-weight: 400;
            }

        }
    }
}
.newsMessage {
    border-top-width: 2px;
    border-bottom-width: 2px;
    --tw-bg-opacity: 1;
    background-color: rgb(254 240 138 / var(--tw-bg-opacity, 1));
    padding: 0.5rem;
    text-align: center;
    font-size: 1rem;
    line-height: 1.5rem;
    font-weight: 700;
}

/* ########################### Media Selector ########################### */
/* ------------ Mobile View ------------ */
@media (max-width: 667px) {

}

/* ------------ End Mobile ------------ */

/* ------------ Tablet View ------------ */
@media (min-width: 668px) and (max-width: 991px) {

}

/* ------------ End Tablet ------------ */

/* ------------ Desktop View ------------ */
@media (min-width: 992px) {

}

/* ------------ End Desktop ------------ */

/* ##########------------ End Media ------------########## *//* gallery.css
################################### Restaurant Functional Module ###################################
/modules/Gallery/gallery.css    ::: gallery style sheet
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
(c)2024 Lance Stubblefield
####################################################################################################
*/

.gallery {
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 1rem;
    padding-bottom: 6rem;
    border-width: 2px;

    .photoCard {
        margin: 0.5rem;
    }

    .photoCard {
        border-radius: 0.75rem;
    }

    .photoCard {
        border-width: 2px;
    }

    .photoCard {
        padding: 1rem;
    }

    .photoCard {
        --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
        --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
        box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    }

    .photoCard {
        --tw-shadow-color: #6b7280;
        --tw-shadow: var(--tw-shadow-colored);
    }

    .photoCard {
        height: 460px;

        .galleryImage {
            margin-left: auto;
            margin-right: auto;
        }

        .galleryImage {
            height: 12rem;
        }

        .galleryImage {
            width: 91.666667%;
        }

        .galleryImage {

            img {
                height: 100%;
            }

            img {
                width: 100%;
            }

            img {
                border-radius: 0.75rem;
            }

            img {
                border-width: 2px;
            }

            img {
                -o-object-fit: cover;
                   object-fit: cover;
            }

            img:hover {
                --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
                --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);
                box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
            }

            img:hover {
                --tw-shadow-color: #6b7280;
                --tw-shadow: var(--tw-shadow-colored);
            }

            img:hover {
                transform: scale(1.4);
            }
        }

        .galleryTitle {
            margin-left: auto;
            margin-right: auto;
        }

        .galleryTitle {
            margin-top: 0.5rem;
        }

        .galleryTitle {
            height: 3rem;
        }

        .galleryTitle {
            width: 91.666667%;
        }

        .galleryTitle {
            font-size: 1.5rem;
            line-height: 2rem;
        }

        .galleryTitle {
            font-weight: 700;
        }

        .galleryDescription {
            margin-left: auto;
            margin-right: auto;
        }

        .galleryDescription {
            height: 6rem;
        }

        .galleryDescription {
            width: 91.666667%;
        }

        .galleryDescription {
            font-size: 1.125rem;
            line-height: 1.75rem;
        }

        .galleryDescription {

            p {
                font-size: 1.125rem;
                line-height: 1.75rem;
            }

            p {
                font-weight: 400;
            }

            p {
                font-style: italic;
            }

            p {
                line-height: 1.25;
            }
        }
    }
}


/* ########################### Media Selector ########################### */
/* ------------ Mobile View ------------ */
@media (max-width: 667px) {
    .gallery {
        width: 100%;
    }

    .photoCardContainer {
        height: 100%;
        width: 100%;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    .photoCard {
        margin-left: auto;
        margin-right: auto;
        width: 91.666667%;
    }
}

/* ------------ End Mobile ------------ */
/* ------------ Smaller Tablet View ------------ */
@media (min-width: 668px) and (max-width: 920px) {
    .gallery {
        width: 100%;
    }

    .photoCardContainer {
        height: 100%;
        width: 50%;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .photoCard {
        width: 100%;
    }
}

/* ------------ End Smaller Tablet ------------ */
/* ------------ Tablet View ------------ */
@media (min-width: 921px) and (max-width: 1300px) {
    .gallery {
        margin-left: auto;
        margin-right: auto;
        width: 95%;
    }

    .photoCardContainer {
        height: 100%;
        width: 33.333333%;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .photoCard {
        width: 100%;
    }
}

/* ------------ End Tablet ------------ */

/* ------------ Desktop View ------------ */
@media (min-width: 1301px) {
    .gallery {
        margin-left: auto;
        margin-right: auto;
        width: 95%;
    }

    .photoCardContainer {
        height: 100%;
        width: 25%;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .photoCard {
        width: 100%;
    }
}

/* ------------ End Desktop ------------ */

/* ##########------------ End Media ------------########## *//* INDEX.CSS
################################### Restaurant Functional Module ###################################
/src/index.css    ::: Main style sheet
REQ: TailwindCSS, PostCSS, PostCSS-Custom-Properties
(c)2024 Lance Stubblefield
####################################################################################################
*/

.visible {

    visibility: visible
}

.block {

    display: block
}

.flex {

    display: flex
}

.table {

    display: table
}

.h-8 {

    height: 2rem
}

.w-full {

    width: 100%
}

.text-white {

    --tw-text-opacity: 1;

    color: rgb(255 255 255 / var(--tw-text-opacity, 1))
}

/* ########################### Media Selector ########################### */
/* ------------ Mobile View ------------ */
@media (max-width: 667px) {

}

/* ------------ End Mobile ------------ */

/* ------------ Tablet View ------------ */
@media (min-width: 668px) and (max-width: 991px) {

}

/* ------------ End Tablet ------------ */

/* ------------ Desktop View ------------ */
@media (min-width: 992px) {


}

/* ------------ End Desktop ------------ */

/* ##########------------ End Media ------------########## */