/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[6].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[6].rules[1].use[1]!./src/theme/variables.scss?ngGlobalStyle ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/** Ionic CSS Variables **/
:root {
  /** primary **/
  --ion-color-primary: #3C7B9F;
  --ion-color-primary-rgb: 60,123,159;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb: 255,255,255;
  --ion-color-primary-shade: #366D8D;
  --ion-color-primary-tint: #99cfee;
  /** lunchdrive **/
  --ion-color-background: #f4f6fa;
  --ion-color-white: #fff;
  --ion-color-input: #f4f6fa;
  --ion-color-input-focus: #e5eaf3;
  --ion-color-input-white-focus: #eaecf3;
  --ion-color-circle: #f4f6fa;
  /** secondary **/
  --ion-color-secondary: #0c0b0b;
  --ion-color-secondary-rgb: 255,0,98;
  --ion-color-secondary-contrast: #ffffff;
  --ion-color-secondary-contrast-rgb: 255,255,255;
  --ion-color-secondary-shade: #e00056;
  --ion-color-secondary-tint: #ff1a72;
  /** tertiary **/
  --ion-color-tertiary: #00AFFF;
  --ion-color-tertiary-rgb: 0,175,255;
  --ion-color-tertiary-contrast: #000000;
  --ion-color-tertiary-contrast-rgb: 0,0,0;
  --ion-color-tertiary-shade: #009ae0;
  --ion-color-tertiary-tint: #1ab7ff;
  /** success **/
  --ion-color-success: #5bb75b;
  --ion-color-success-rgb: 91,183, 91;
  --ion-color-success-contrast: #ffffff;
  --ion-color-success-contrast-rgb: 255,255,255;
  --ion-color-success-shade: #077334;
  --ion-color-success-tint: #97f5ba;
  /** warning **/
  --ion-color-warning: #ffed11;
  --ion-color-warning-rgb: 255,237,17;
  --ion-color-warning-contrast: #000000;
  --ion-color-warning-contrast-rgb: 0,0,0;
  --ion-color-warning-shade: #655c00;
  --ion-color-warning-tint: #fcf4a7;
  /** danger **/
  --ion-color-danger: #f4344f;
  --ion-color-danger-rgb: 244,52,79;
  --ion-color-danger-contrast: #ffffff;
  --ion-color-danger-contrast-rgb: 255,255,255;
  --ion-color-danger-shade: #7c0e1d;
  --ion-color-danger-tint: #f8a4b0;
  /** lightest **/
  --ion-color-lightest: #FFFFFF;
  --ion-color-lightest-rgb: 255,255,255;
  /** light **/
  --ion-color-light: #f4f5f8;
  --ion-color-light-rgb: 244,244,244;
  --ion-color-light-contrast: #000000;
  --ion-color-light-contrast-rgb: 0,0,0;
  --ion-color-light-shade: #d7d8da;
  --ion-color-light-shade-rgb: 215,216,218;
  --ion-color-light-tint: #f5f6f9;
  --ion-color-light-tint-rgb: 245,246,249;
  /** medium **/
  --ion-color-medium: #575756;
  --ion-color-medium-rgb: 152,154,162;
  --ion-color-medium-contrast: #ffffff;
  --ion-color-medium-contrast-rgb: 255,255,255;
  --ion-color-medium-shade: #313131;
  --ion-color-medium-shade-rgb: 134,136,143;
  --ion-color-medium-tint: #aaaaaa;
  --ion-color-medium-tint-rgb: 170,170,170;
  /** dark **/
  --ion-color-dark: #222428;
  --ion-color-dark-rgb: 34,34,34;
  --ion-color-dark-contrast: #ffffff;
  --ion-color-dark-contrast-rgb: 255,255,255;
  --ion-color-dark-shade: #1e2023;
  --ion-color-dark-shade-rgb: 30,32,35;
  --ion-color-dark-tint: #383a3e;
  --ion-color-dark-tint-rgb: 56,58,62;
  /** darkest **/
  --ion-color-darkest: #000000;
  --ion-color-darkest-rgb: 0,0,0;
}

:root {
  /* Set the font family of the entire app */
  --ion-font-family: "Poppins", sans-serif;
  --app-background: #FFFFFF;
  --app-background-shade: var(--ion-background-color-step-50, #F2F2F2);
  --app-background-alt: var(--ion-color-primary);
  --app-background-alt-shade: var(--ion-color-primary-shade);
  --app-thin-margin: 6px;
  --app-narrow-margin: 12px;
  --app-fair-margin: 16px;
  --app-broad-margin: 20px;
  --app-narrow-radius: 4px;
  --app-fair-radius: 8px;
  --app-broad-radius: 12px;
  --app-page-title-size: 24px;
  --app-page-text-size: 14px;
}

html.ios {
  --app-header-height: 44px;
}

html.md {
  --app-header-height: 56px;
}
/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[6].rules[0].oneOf[0].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[6].rules[1].use[0]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[6].rules[1].use[1]!./src/global.scss?ngGlobalStyle ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
:root {
  --ion-color-primary: #0054e9;
  --ion-color-primary-rgb: 0, 84, 233;
  --ion-color-primary-contrast: #fff;
  --ion-color-primary-contrast-rgb: 255, 255, 255;
  --ion-color-primary-shade: #004acd;
  --ion-color-primary-tint: #1a65eb;
  --ion-color-secondary: #0163aa;
  --ion-color-secondary-rgb: 1, 99, 170;
  --ion-color-secondary-contrast: #fff;
  --ion-color-secondary-contrast-rgb: 255, 255, 255;
  --ion-color-secondary-shade: #015796;
  --ion-color-secondary-tint: #1a73b3;
  --ion-color-tertiary: #6030ff;
  --ion-color-tertiary-rgb: 96, 48, 255;
  --ion-color-tertiary-contrast: #fff;
  --ion-color-tertiary-contrast-rgb: 255, 255, 255;
  --ion-color-tertiary-shade: #542ae0;
  --ion-color-tertiary-tint: #7045ff;
  --ion-color-success: #2dd55b;
  --ion-color-success-rgb: 45, 213, 91;
  --ion-color-success-contrast: #000;
  --ion-color-success-contrast-rgb: 0, 0, 0;
  --ion-color-success-shade: #28bb50;
  --ion-color-success-tint: #42d96b;
  --ion-color-warning: #ffc409;
  --ion-color-warning-rgb: 255, 196, 9;
  --ion-color-warning-contrast: #000;
  --ion-color-warning-contrast-rgb: 0, 0, 0;
  --ion-color-warning-shade: #e0ac08;
  --ion-color-warning-tint: #ffca22;
  --ion-color-danger: #c5000f;
  --ion-color-danger-rgb: 197, 0, 15;
  --ion-color-danger-contrast: #fff;
  --ion-color-danger-contrast-rgb: 255, 255, 255;
  --ion-color-danger-shade: #ad000d;
  --ion-color-danger-tint: #cb1a27;
  --ion-color-light: #f4f5f8;
  --ion-color-light-rgb: 244, 245, 248;
  --ion-color-light-contrast: #000;
  --ion-color-light-contrast-rgb: 0, 0, 0;
  --ion-color-light-shade: #d7d8da;
  --ion-color-light-tint: #f5f6f9;
  --ion-color-medium: #636469;
  --ion-color-medium-rgb: 99, 100, 105;
  --ion-color-medium-contrast: #fff;
  --ion-color-medium-contrast-rgb: 255, 255, 255;
  --ion-color-medium-shade: #57585c;
  --ion-color-medium-tint: #737478;
  --ion-color-dark: #222428;
  --ion-color-dark-rgb: 34, 36, 40;
  --ion-color-dark-contrast: #fff;
  --ion-color-dark-contrast-rgb: 255, 255, 255;
  --ion-color-dark-shade: #1e2023;
  --ion-color-dark-tint: #383a3e;
}

html.ios {
  --ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif;
}

html.md {
  --ion-default-font: "Roboto", "Helvetica Neue", sans-serif;
}

html {
  --ion-dynamic-font: -apple-system-body;
  --ion-font-family: var(--ion-default-font);
}

body {
  background: var(--ion-background-color);
  color: var(--ion-text-color);
}

body.backdrop-no-scroll {
  overflow: hidden;
}

html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type, html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type, html.ios ion-modal ion-footer ion-toolbar:first-of-type, html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type {
  padding-top: 6px;
}

html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type, html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type {
  padding-bottom: 6px;
}

html.ios ion-modal ion-toolbar, html.ios .modal-footer-moving ion-toolbar {
  padding-right: calc(var(--ion-safe-area-right) + 8px);
  padding-left: calc(var(--ion-safe-area-left) + 8px);
}

@media screen and (min-width: 768px) {
  html.ios ion-modal.modal-card:first-of-type {
    --backdrop-opacity: 0.18;
  }
}
ion-modal.modal-default.show-modal ~ ion-modal.modal-default {
  --backdrop-opacity: 0;
  --box-shadow: none;
}

html.ios ion-modal.modal-card .ion-page {
  border-top-left-radius: var(--border-radius);
}

.ion-color-primary {
  --ion-color-base: var(--ion-color-primary, #0054e9) !important;
  --ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;
  --ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;
  --ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important;
}

.ion-color-secondary {
  --ion-color-base: var(--ion-color-secondary, #0163aa) !important;
  --ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;
  --ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;
  --ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important;
}

.ion-color-tertiary {
  --ion-color-base: var(--ion-color-tertiary, #6030ff) !important;
  --ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;
  --ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;
  --ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important;
}

.ion-color-success {
  --ion-color-base: var(--ion-color-success, #2dd55b) !important;
  --ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;
  --ion-color-contrast: var(--ion-color-success-contrast, #000) !important;
  --ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;
  --ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;
  --ion-color-tint: var(--ion-color-success-tint, #42d96b) !important;
}

.ion-color-warning {
  --ion-color-base: var(--ion-color-warning, #ffc409) !important;
  --ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;
  --ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;
  --ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;
  --ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;
  --ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important;
}

.ion-color-danger {
  --ion-color-base: var(--ion-color-danger, #c5000f) !important;
  --ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;
  --ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;
  --ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important;
}

.ion-color-light {
  --ion-color-base: var(--ion-color-light, #f4f5f8) !important;
  --ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;
  --ion-color-contrast: var(--ion-color-light-contrast, #000) !important;
  --ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;
  --ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;
  --ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important;
}

.ion-color-medium {
  --ion-color-base: var(--ion-color-medium, #636469) !important;
  --ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;
  --ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;
  --ion-color-tint: var(--ion-color-medium-tint, #737478) !important;
}

.ion-color-dark {
  --ion-color-base: var(--ion-color-dark, #222428) !important;
  --ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;
  --ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;
  --ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;
  --ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;
  --ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important;
}

.ion-page {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  position: absolute;
  flex-direction: column;
  justify-content: space-between;
  contain: layout size style;
  z-index: 0;
}

ion-modal > .ion-page {
  position: relative;
  contain: layout style;
  height: 100%;
}

.split-pane-visible > .ion-page.split-pane-main {
  position: relative;
}

ion-route, ion-route-redirect, ion-router, ion-select-option, ion-nav-controller, ion-menu-controller, ion-action-sheet-controller, ion-alert-controller, ion-loading-controller, ion-modal-controller, ion-picker-controller, ion-popover-controller, ion-toast-controller, .ion-page-hidden {
  display: none !important;
}

.ion-page-invisible {
  opacity: 0;
}

.can-go-back > ion-header ion-back-button {
  display: block;
}

html.plt-ios.plt-hybrid, html.plt-ios.plt-pwa {
  --ion-statusbar-padding: 20px;
}

@supports (padding-top: 20px) {
  html {
    --ion-safe-area-top: var(--ion-statusbar-padding);
  }
}
@supports (padding-top: env(safe-area-inset-top)) {
  html {
    --ion-safe-area-top: env(safe-area-inset-top);
    --ion-safe-area-bottom: env(safe-area-inset-bottom);
    --ion-safe-area-left: env(safe-area-inset-left);
    --ion-safe-area-right: env(safe-area-inset-right);
  }
}
ion-card.ion-color .ion-inherit-color, ion-card-header.ion-color .ion-inherit-color {
  color: inherit;
}

.menu-content {
  transform: translate3d(0, 0, 0);
}

.menu-content-open {
  cursor: pointer;
  touch-action: manipulation;
  pointer-events: none;
  overflow-y: hidden;
}

.menu-content-open ion-content {
  --overflow: hidden;
}

.menu-content-open .ion-content-scroll-host {
  overflow: hidden;
}

.ios .menu-content-reveal {
  box-shadow: -8px 0 42px rgba(0, 0, 0, 0.08);
}

[dir=rtl].ios .menu-content-reveal {
  box-shadow: 8px 0 42px rgba(0, 0, 0, 0.08);
}

.md .menu-content-reveal {
  box-shadow: 4px 0px 16px rgba(0, 0, 0, 0.18);
}

.md .menu-content-push {
  box-shadow: 4px 0px 16px rgba(0, 0, 0, 0.18);
}

ion-accordion-group.accordion-group-expand-inset > ion-accordion:first-of-type {
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

ion-accordion-group.accordion-group-expand-inset > ion-accordion:last-of-type {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

ion-accordion-group > ion-accordion:last-of-type ion-item[slot=header] {
  --border-width: 0px;
}

ion-accordion.accordion-animated > [slot=header] .ion-accordion-toggle-icon {
  transition: 300ms transform cubic-bezier(0.25, 0.8, 0.5, 1);
}

@media (prefers-reduced-motion: reduce) {
  ion-accordion .ion-accordion-toggle-icon {
    transition: none !important;
  }
}
ion-accordion.accordion-expanding > [slot=header] .ion-accordion-toggle-icon, ion-accordion.accordion-expanded > [slot=header] .ion-accordion-toggle-icon {
  transform: rotate(180deg);
}

ion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-previous ion-item[slot=header] {
  --border-width: 0px;
  --inner-border-width: 0px;
}

ion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanding:first-of-type, ion-accordion-group.accordion-group-expand-inset.md > ion-accordion.accordion-expanded:first-of-type {
  margin-top: 0;
}

ion-input input::-webkit-date-and-time-value {
  text-align: start;
}

.ion-datetime-button-overlay {
  --width: fit-content;
  --height: fit-content;
}

.ion-datetime-button-overlay ion-datetime.datetime-grid {
  width: 320px;
  min-height: 320px;
}

[ion-last-focus], header[tabindex="-1"]:focus, [role=banner][tabindex="-1"]:focus, main[tabindex="-1"]:focus, [role=main][tabindex="-1"]:focus, h1[tabindex="-1"]:focus, [role=heading][aria-level="1"][tabindex="-1"]:focus {
  outline: none;
}

.popover-viewport:has(> ion-content) {
  overflow: hidden;
}

@supports not selector(:has(> ion-content)) {
  .popover-viewport {
    overflow: hidden;
  }
} 
audio, canvas, progress, video {
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

b, strong {
  font-weight: bold;
}

img {
  max-width: 100%;
}

hr {
  height: 1px;
  border-width: 0;
  box-sizing: content-box;
}

pre {
  overflow: auto;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

label, input, select, textarea {
  font-family: inherit;
  line-height: normal;
}

textarea {
  overflow: auto;
  height: auto;
  font: inherit;
  color: inherit;
}

textarea::placeholder {
  padding-left: 2px;
}

form, input, optgroup, select {
  margin: 0;
  font: inherit;
  color: inherit;
}

html input[type=button], input[type=reset], input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
}

a, a div, a span, a ion-icon, a ion-label, button, button div, button span, button ion-icon, button ion-label, .ion-tappable, [tappable], [tappable] div, [tappable] span, [tappable] ion-icon, [tappable] ion-label, input, textarea {
  touch-action: manipulation;
}

a ion-label, button ion-label {
  pointer-events: none;
}

button {
  padding: 0;
  border: 0;
  border-radius: 0;
  font-family: inherit;
  font-style: inherit;
  font-variant: inherit;
  line-height: 1;
  text-transform: none;
  cursor: pointer;
  -webkit-appearance: button;
}

[tappable] {
  cursor: pointer;
}

a[disabled], button[disabled], html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td, th {
  padding: 0;
} 
* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

html {
  width: 100%;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
}

html.ion-ce body {
  display: block;
}

html.plt-pwa {
  height: 100vh;
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
  position: fixed;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  transform: translateZ(0);
  text-rendering: optimizeLegibility;
  overflow: hidden;
  touch-action: manipulation;
  -webkit-user-drag: none;
  -ms-content-zooming: none;
  word-wrap: break-word;
  overscroll-behavior-y: none;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
       text-size-adjust: none;
} 
html {
  font-family: var(--ion-font-family);
}

@supports (-webkit-touch-callout: none) {
  html {
    font: var(--ion-dynamic-font, 16px var(--ion-font-family));
  }
}
a {
  background-color: transparent;
  color: var(--ion-color-primary, #0054e9);
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 16px;
  margin-bottom: 10px;
  font-weight: 500;
  line-height: 1.2;
}

h1 {
  margin-top: 20px;
  font-size: 1.625rem;
}

h2 {
  margin-top: 18px;
  font-size: 1.5rem;
}

h3 {
  font-size: 1.375rem;
}

h4 {
  font-size: 1.25rem;
}

h5 {
  font-size: 1.125rem;
}

h6 {
  font-size: 1rem;
}

small {
  font-size: 75%;
}

sub, sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
} 
.ion-no-padding {
  --padding-start: 0;
  --padding-end: 0;
  --padding-top: 0;
  --padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  padding-top: 0;
  padding-bottom: 0;
}

.ion-padding {
  --padding-start: var(--ion-padding, 16px);
  --padding-end: var(--ion-padding, 16px);
  --padding-top: var(--ion-padding, 16px);
  --padding-bottom: var(--ion-padding, 16px);
  padding-inline-start: var(--ion-padding, 16px);
  padding-inline-end: var(--ion-padding, 16px);
  padding-top: var(--ion-padding, 16px);
  padding-bottom: var(--ion-padding, 16px);
}

.ion-padding-top {
  --padding-top: var(--ion-padding, 16px);
  padding-top: var(--ion-padding, 16px);
}

.ion-padding-start {
  --padding-start: var(--ion-padding, 16px);
  padding-inline-start: var(--ion-padding, 16px);
}

.ion-padding-end {
  --padding-end: var(--ion-padding, 16px);
  padding-inline-end: var(--ion-padding, 16px);
}

.ion-padding-bottom {
  --padding-bottom: var(--ion-padding, 16px);
  padding-bottom: var(--ion-padding, 16px);
}

.ion-padding-vertical {
  --padding-top: var(--ion-padding, 16px);
  --padding-bottom: var(--ion-padding, 16px);
  padding-top: var(--ion-padding, 16px);
  padding-bottom: var(--ion-padding, 16px);
}

.ion-padding-horizontal {
  --padding-start: var(--ion-padding, 16px);
  --padding-end: var(--ion-padding, 16px);
  padding-inline-start: var(--ion-padding, 16px);
  padding-inline-end: var(--ion-padding, 16px);
}

.ion-no-margin {
  --margin-start: 0;
  --margin-end: 0;
  --margin-top: 0;
  --margin-bottom: 0;
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
  margin-bottom: 0;
}

.ion-margin {
  --margin-start: var(--ion-margin, 16px);
  --margin-end: var(--ion-margin, 16px);
  --margin-top: var(--ion-margin, 16px);
  --margin-bottom: var(--ion-margin, 16px);
  margin-inline-start: var(--ion-margin, 16px);
  margin-inline-end: var(--ion-margin, 16px);
  margin-top: var(--ion-margin, 16px);
  margin-bottom: var(--ion-margin, 16px);
}

.ion-margin-top {
  --margin-top: var(--ion-margin, 16px);
  margin-top: var(--ion-margin, 16px);
}

.ion-margin-start {
  --margin-start: var(--ion-margin, 16px);
  margin-inline-start: var(--ion-margin, 16px);
}

.ion-margin-end {
  --margin-end: var(--ion-margin, 16px);
  margin-inline-end: var(--ion-margin, 16px);
}

.ion-margin-bottom {
  --margin-bottom: var(--ion-margin, 16px);
  margin-bottom: var(--ion-margin, 16px);
}

.ion-margin-vertical {
  --margin-top: var(--ion-margin, 16px);
  --margin-bottom: var(--ion-margin, 16px);
  margin-top: var(--ion-margin, 16px);
  margin-bottom: var(--ion-margin, 16px);
}

.ion-margin-horizontal {
  --margin-start: var(--ion-margin, 16px);
  --margin-end: var(--ion-margin, 16px);
  margin-inline-start: var(--ion-margin, 16px);
  margin-inline-end: var(--ion-margin, 16px);
} 
.ion-float-left {
  float: left !important;
}

.ion-float-right {
  float: right !important;
}

.ion-float-start {
  float: left !important;
}

:host-context([dir=rtl]) .ion-float-start {
  float: right !important;
}

[dir=rtl] .ion-float-start {
  float: right !important;
}

@supports selector(:dir(rtl)) {
  .ion-float-start:dir(rtl) {
    float: right !important;
  }
}
.ion-float-end {
  float: right !important;
}

:host-context([dir=rtl]) .ion-float-end {
  float: left !important;
}

[dir=rtl] .ion-float-end {
  float: left !important;
}

@supports selector(:dir(rtl)) {
  .ion-float-end:dir(rtl) {
    float: left !important;
  }
}
@media (min-width: 576px) {
  .ion-float-sm-left {
    float: left !important;
  }
  .ion-float-sm-right {
    float: right !important;
  }
  .ion-float-sm-start {
    float: left !important;
  }
  :host-context([dir=rtl]) .ion-float-sm-start {
    float: right !important;
  }
  [dir=rtl] .ion-float-sm-start {
    float: right !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-sm-start:dir(rtl) {
      float: right !important;
    }
  }
  .ion-float-sm-end {
    float: right !important;
  }
  :host-context([dir=rtl]) .ion-float-sm-end {
    float: left !important;
  }
  [dir=rtl] .ion-float-sm-end {
    float: left !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-sm-end:dir(rtl) {
      float: left !important;
    }
  }
}
@media (min-width: 768px) {
  .ion-float-md-left {
    float: left !important;
  }
  .ion-float-md-right {
    float: right !important;
  }
  .ion-float-md-start {
    float: left !important;
  }
  :host-context([dir=rtl]) .ion-float-md-start {
    float: right !important;
  }
  [dir=rtl] .ion-float-md-start {
    float: right !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-md-start:dir(rtl) {
      float: right !important;
    }
  }
  .ion-float-md-end {
    float: right !important;
  }
  :host-context([dir=rtl]) .ion-float-md-end {
    float: left !important;
  }
  [dir=rtl] .ion-float-md-end {
    float: left !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-md-end:dir(rtl) {
      float: left !important;
    }
  }
}
@media (min-width: 992px) {
  .ion-float-lg-left {
    float: left !important;
  }
  .ion-float-lg-right {
    float: right !important;
  }
  .ion-float-lg-start {
    float: left !important;
  }
  :host-context([dir=rtl]) .ion-float-lg-start {
    float: right !important;
  }
  [dir=rtl] .ion-float-lg-start {
    float: right !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-lg-start:dir(rtl) {
      float: right !important;
    }
  }
  .ion-float-lg-end {
    float: right !important;
  }
  :host-context([dir=rtl]) .ion-float-lg-end {
    float: left !important;
  }
  [dir=rtl] .ion-float-lg-end {
    float: left !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-lg-end:dir(rtl) {
      float: left !important;
    }
  }
}
@media (min-width: 1200px) {
  .ion-float-xl-left {
    float: left !important;
  }
  .ion-float-xl-right {
    float: right !important;
  }
  .ion-float-xl-start {
    float: left !important;
  }
  :host-context([dir=rtl]) .ion-float-xl-start {
    float: right !important;
  }
  [dir=rtl] .ion-float-xl-start {
    float: right !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-xl-start:dir(rtl) {
      float: right !important;
    }
  }
  .ion-float-xl-end {
    float: right !important;
  }
  :host-context([dir=rtl]) .ion-float-xl-end {
    float: left !important;
  }
  [dir=rtl] .ion-float-xl-end {
    float: left !important;
  }
  @supports selector(:dir(rtl)) {
    .ion-float-xl-end:dir(rtl) {
      float: left !important;
    }
  }
} 
.ion-text-center {
  text-align: center !important;
}

.ion-text-justify {
  text-align: justify !important;
}

.ion-text-start {
  text-align: start !important;
}

.ion-text-end {
  text-align: end !important;
}

.ion-text-left {
  text-align: left !important;
}

.ion-text-right {
  text-align: right !important;
}

.ion-text-nowrap {
  white-space: nowrap !important;
}

.ion-text-wrap {
  white-space: normal !important;
}

@media (min-width: 576px) {
  .ion-text-sm-center {
    text-align: center !important;
  }
  .ion-text-sm-justify {
    text-align: justify !important;
  }
  .ion-text-sm-start {
    text-align: start !important;
  }
  .ion-text-sm-end {
    text-align: end !important;
  }
  .ion-text-sm-left {
    text-align: left !important;
  }
  .ion-text-sm-right {
    text-align: right !important;
  }
  .ion-text-sm-nowrap {
    white-space: nowrap !important;
  }
  .ion-text-sm-wrap {
    white-space: normal !important;
  }
}
@media (min-width: 768px) {
  .ion-text-md-center {
    text-align: center !important;
  }
  .ion-text-md-justify {
    text-align: justify !important;
  }
  .ion-text-md-start {
    text-align: start !important;
  }
  .ion-text-md-end {
    text-align: end !important;
  }
  .ion-text-md-left {
    text-align: left !important;
  }
  .ion-text-md-right {
    text-align: right !important;
  }
  .ion-text-md-nowrap {
    white-space: nowrap !important;
  }
  .ion-text-md-wrap {
    white-space: normal !important;
  }
}
@media (min-width: 992px) {
  .ion-text-lg-center {
    text-align: center !important;
  }
  .ion-text-lg-justify {
    text-align: justify !important;
  }
  .ion-text-lg-start {
    text-align: start !important;
  }
  .ion-text-lg-end {
    text-align: end !important;
  }
  .ion-text-lg-left {
    text-align: left !important;
  }
  .ion-text-lg-right {
    text-align: right !important;
  }
  .ion-text-lg-nowrap {
    white-space: nowrap !important;
  }
  .ion-text-lg-wrap {
    white-space: normal !important;
  }
}
@media (min-width: 1200px) {
  .ion-text-xl-center {
    text-align: center !important;
  }
  .ion-text-xl-justify {
    text-align: justify !important;
  }
  .ion-text-xl-start {
    text-align: start !important;
  }
  .ion-text-xl-end {
    text-align: end !important;
  }
  .ion-text-xl-left {
    text-align: left !important;
  }
  .ion-text-xl-right {
    text-align: right !important;
  }
  .ion-text-xl-nowrap {
    white-space: nowrap !important;
  }
  .ion-text-xl-wrap {
    white-space: normal !important;
  }
} 
.ion-text-uppercase {
  text-transform: uppercase !important;
}

.ion-text-lowercase {
  text-transform: lowercase !important;
}

.ion-text-capitalize {
  text-transform: capitalize !important;
}

@media (min-width: 576px) {
  .ion-text-sm-uppercase {
    text-transform: uppercase !important;
  }
  .ion-text-sm-lowercase {
    text-transform: lowercase !important;
  }
  .ion-text-sm-capitalize {
    text-transform: capitalize !important;
  }
}
@media (min-width: 768px) {
  .ion-text-md-uppercase {
    text-transform: uppercase !important;
  }
  .ion-text-md-lowercase {
    text-transform: lowercase !important;
  }
  .ion-text-md-capitalize {
    text-transform: capitalize !important;
  }
}
@media (min-width: 992px) {
  .ion-text-lg-uppercase {
    text-transform: uppercase !important;
  }
  .ion-text-lg-lowercase {
    text-transform: lowercase !important;
  }
  .ion-text-lg-capitalize {
    text-transform: capitalize !important;
  }
}
@media (min-width: 1200px) {
  .ion-text-xl-uppercase {
    text-transform: uppercase !important;
  }
  .ion-text-xl-lowercase {
    text-transform: lowercase !important;
  }
  .ion-text-xl-capitalize {
    text-transform: capitalize !important;
  }
} 
.ion-align-content-start {
  align-content: flex-start !important;
}

.ion-align-content-end {
  align-content: flex-end !important;
}

.ion-align-content-center {
  align-content: center !important;
}

.ion-align-content-between {
  align-content: space-between !important;
}

.ion-align-content-around {
  align-content: space-around !important;
}

.ion-align-content-stretch {
  align-content: stretch !important;
}

@media (min-width: 576px) {
  .ion-align-content-sm-start {
    align-content: flex-start !important;
  }
  .ion-align-content-sm-end {
    align-content: flex-end !important;
  }
  .ion-align-content-sm-center {
    align-content: center !important;
  }
  .ion-align-content-sm-between {
    align-content: space-between !important;
  }
  .ion-align-content-sm-around {
    align-content: space-around !important;
  }
  .ion-align-content-sm-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 768px) {
  .ion-align-content-md-start {
    align-content: flex-start !important;
  }
  .ion-align-content-md-end {
    align-content: flex-end !important;
  }
  .ion-align-content-md-center {
    align-content: center !important;
  }
  .ion-align-content-md-between {
    align-content: space-between !important;
  }
  .ion-align-content-md-around {
    align-content: space-around !important;
  }
  .ion-align-content-md-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 992px) {
  .ion-align-content-lg-start {
    align-content: flex-start !important;
  }
  .ion-align-content-lg-end {
    align-content: flex-end !important;
  }
  .ion-align-content-lg-center {
    align-content: center !important;
  }
  .ion-align-content-lg-between {
    align-content: space-between !important;
  }
  .ion-align-content-lg-around {
    align-content: space-around !important;
  }
  .ion-align-content-lg-stretch {
    align-content: stretch !important;
  }
}
@media (min-width: 1200px) {
  .ion-align-content-xl-start {
    align-content: flex-start !important;
  }
  .ion-align-content-xl-end {
    align-content: flex-end !important;
  }
  .ion-align-content-xl-center {
    align-content: center !important;
  }
  .ion-align-content-xl-between {
    align-content: space-between !important;
  }
  .ion-align-content-xl-around {
    align-content: space-around !important;
  }
  .ion-align-content-xl-stretch {
    align-content: stretch !important;
  }
}
.ion-align-items-start {
  align-items: start !important;
}

.ion-align-items-end {
  align-items: end !important;
}

.ion-align-items-center {
  align-items: center !important;
}

.ion-align-items-stretch {
  align-items: stretch !important;
}

.ion-align-items-baseline {
  align-items: baseline !important;
}

@media (min-width: 576px) {
  .ion-align-items-sm-start {
    align-items: start !important;
  }
  .ion-align-items-sm-end {
    align-items: end !important;
  }
  .ion-align-items-sm-center {
    align-items: center !important;
  }
  .ion-align-items-sm-stretch {
    align-items: stretch !important;
  }
  .ion-align-items-sm-baseline {
    align-items: baseline !important;
  }
}
@media (min-width: 768px) {
  .ion-align-items-md-start {
    align-items: start !important;
  }
  .ion-align-items-md-end {
    align-items: end !important;
  }
  .ion-align-items-md-center {
    align-items: center !important;
  }
  .ion-align-items-md-stretch {
    align-items: stretch !important;
  }
  .ion-align-items-md-baseline {
    align-items: baseline !important;
  }
}
@media (min-width: 992px) {
  .ion-align-items-lg-start {
    align-items: start !important;
  }
  .ion-align-items-lg-end {
    align-items: end !important;
  }
  .ion-align-items-lg-center {
    align-items: center !important;
  }
  .ion-align-items-lg-stretch {
    align-items: stretch !important;
  }
  .ion-align-items-lg-baseline {
    align-items: baseline !important;
  }
}
@media (min-width: 1200px) {
  .ion-align-items-xl-start {
    align-items: start !important;
  }
  .ion-align-items-xl-end {
    align-items: end !important;
  }
  .ion-align-items-xl-center {
    align-items: center !important;
  }
  .ion-align-items-xl-stretch {
    align-items: stretch !important;
  }
  .ion-align-items-xl-baseline {
    align-items: baseline !important;
  }
}
.ion-align-self-start {
  align-self: start !important;
}

.ion-align-self-end {
  align-self: end !important;
}

.ion-align-self-center {
  align-self: center !important;
}

.ion-align-self-stretch {
  align-self: stretch !important;
}

.ion-align-self-baseline {
  align-self: baseline !important;
}

.ion-align-self-auto {
  align-self: auto !important;
}

@media (min-width: 576px) {
  .ion-align-self-sm-start {
    align-self: start !important;
  }
  .ion-align-self-sm-end {
    align-self: end !important;
  }
  .ion-align-self-sm-center {
    align-self: center !important;
  }
  .ion-align-self-sm-stretch {
    align-self: stretch !important;
  }
  .ion-align-self-sm-baseline {
    align-self: baseline !important;
  }
  .ion-align-self-sm-auto {
    align-self: auto !important;
  }
}
@media (min-width: 768px) {
  .ion-align-self-md-start {
    align-self: start !important;
  }
  .ion-align-self-md-end {
    align-self: end !important;
  }
  .ion-align-self-md-center {
    align-self: center !important;
  }
  .ion-align-self-md-stretch {
    align-self: stretch !important;
  }
  .ion-align-self-md-baseline {
    align-self: baseline !important;
  }
  .ion-align-self-md-auto {
    align-self: auto !important;
  }
}
@media (min-width: 992px) {
  .ion-align-self-lg-start {
    align-self: start !important;
  }
  .ion-align-self-lg-end {
    align-self: end !important;
  }
  .ion-align-self-lg-center {
    align-self: center !important;
  }
  .ion-align-self-lg-stretch {
    align-self: stretch !important;
  }
  .ion-align-self-lg-baseline {
    align-self: baseline !important;
  }
  .ion-align-self-lg-auto {
    align-self: auto !important;
  }
}
@media (min-width: 1200px) {
  .ion-align-self-xl-start {
    align-self: start !important;
  }
  .ion-align-self-xl-end {
    align-self: end !important;
  }
  .ion-align-self-xl-center {
    align-self: center !important;
  }
  .ion-align-self-xl-stretch {
    align-self: stretch !important;
  }
  .ion-align-self-xl-baseline {
    align-self: baseline !important;
  }
  .ion-align-self-xl-auto {
    align-self: auto !important;
  }
}
.ion-justify-content-start {
  justify-content: flex-start !important;
}

.ion-justify-content-end {
  justify-content: flex-end !important;
}

.ion-justify-content-center {
  justify-content: center !important;
}

.ion-justify-content-between {
  justify-content: space-between !important;
}

.ion-justify-content-around {
  justify-content: space-around !important;
}

.ion-justify-content-evenly {
  justify-content: space-evenly !important;
}

@media (min-width: 576px) {
  .ion-justify-content-sm-start {
    justify-content: flex-start !important;
  }
  .ion-justify-content-sm-end {
    justify-content: flex-end !important;
  }
  .ion-justify-content-sm-center {
    justify-content: center !important;
  }
  .ion-justify-content-sm-between {
    justify-content: space-between !important;
  }
  .ion-justify-content-sm-around {
    justify-content: space-around !important;
  }
  .ion-justify-content-sm-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 768px) {
  .ion-justify-content-md-start {
    justify-content: flex-start !important;
  }
  .ion-justify-content-md-end {
    justify-content: flex-end !important;
  }
  .ion-justify-content-md-center {
    justify-content: center !important;
  }
  .ion-justify-content-md-between {
    justify-content: space-between !important;
  }
  .ion-justify-content-md-around {
    justify-content: space-around !important;
  }
  .ion-justify-content-md-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 992px) {
  .ion-justify-content-lg-start {
    justify-content: flex-start !important;
  }
  .ion-justify-content-lg-end {
    justify-content: flex-end !important;
  }
  .ion-justify-content-lg-center {
    justify-content: center !important;
  }
  .ion-justify-content-lg-between {
    justify-content: space-between !important;
  }
  .ion-justify-content-lg-around {
    justify-content: space-around !important;
  }
  .ion-justify-content-lg-evenly {
    justify-content: space-evenly !important;
  }
}
@media (min-width: 1200px) {
  .ion-justify-content-xl-start {
    justify-content: flex-start !important;
  }
  .ion-justify-content-xl-end {
    justify-content: flex-end !important;
  }
  .ion-justify-content-xl-center {
    justify-content: center !important;
  }
  .ion-justify-content-xl-between {
    justify-content: space-between !important;
  }
  .ion-justify-content-xl-around {
    justify-content: space-around !important;
  }
  .ion-justify-content-xl-evenly {
    justify-content: space-evenly !important;
  }
}
.ion-flex-row {
  flex-direction: row !important;
}

.ion-flex-row-reverse {
  flex-direction: row-reverse !important;
}

.ion-flex-column {
  flex-direction: column !important;
}

.ion-flex-column-reverse {
  flex-direction: column-reverse !important;
}

@media (min-width: 576px) {
  .ion-flex-sm-row {
    flex-direction: row !important;
  }
  .ion-flex-sm-row-reverse {
    flex-direction: row-reverse !important;
  }
  .ion-flex-sm-column {
    flex-direction: column !important;
  }
  .ion-flex-sm-column-reverse {
    flex-direction: column-reverse !important;
  }
}
@media (min-width: 768px) {
  .ion-flex-md-row {
    flex-direction: row !important;
  }
  .ion-flex-md-row-reverse {
    flex-direction: row-reverse !important;
  }
  .ion-flex-md-column {
    flex-direction: column !important;
  }
  .ion-flex-md-column-reverse {
    flex-direction: column-reverse !important;
  }
}
@media (min-width: 992px) {
  .ion-flex-lg-row {
    flex-direction: row !important;
  }
  .ion-flex-lg-row-reverse {
    flex-direction: row-reverse !important;
  }
  .ion-flex-lg-column {
    flex-direction: column !important;
  }
  .ion-flex-lg-column-reverse {
    flex-direction: column-reverse !important;
  }
}
@media (min-width: 1200px) {
  .ion-flex-xl-row {
    flex-direction: row !important;
  }
  .ion-flex-xl-row-reverse {
    flex-direction: row-reverse !important;
  }
  .ion-flex-xl-column {
    flex-direction: column !important;
  }
  .ion-flex-xl-column-reverse {
    flex-direction: column-reverse !important;
  }
}
.ion-wrap {
  flex-wrap: wrap !important;
}

.ion-nowrap {
  flex-wrap: nowrap !important;
}

.ion-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

.ion-flex-wrap {
  flex-wrap: wrap !important;
}

.ion-flex-nowrap {
  flex-wrap: nowrap !important;
}

.ion-flex-wrap-reverse {
  flex-wrap: wrap-reverse !important;
}

@media (min-width: 576px) {
  .ion-flex-sm-wrap {
    flex-wrap: wrap !important;
  }
  .ion-flex-sm-nowrap {
    flex-wrap: nowrap !important;
  }
  .ion-flex-sm-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
@media (min-width: 768px) {
  .ion-flex-md-wrap {
    flex-wrap: wrap !important;
  }
  .ion-flex-md-nowrap {
    flex-wrap: nowrap !important;
  }
  .ion-flex-md-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
@media (min-width: 992px) {
  .ion-flex-lg-wrap {
    flex-wrap: wrap !important;
  }
  .ion-flex-lg-nowrap {
    flex-wrap: nowrap !important;
  }
  .ion-flex-lg-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
@media (min-width: 1200px) {
  .ion-flex-xl-wrap {
    flex-wrap: wrap !important;
  }
  .ion-flex-xl-nowrap {
    flex-wrap: nowrap !important;
  }
  .ion-flex-xl-wrap-reverse {
    flex-wrap: wrap-reverse !important;
  }
}
.ion-flex-1 {
  flex: 1 !important;
}

.ion-flex-auto {
  flex: auto !important;
}

.ion-flex-initial {
  flex: initial !important;
}

.ion-flex-none {
  flex: none !important;
}

@media (min-width: 576px) {
  .ion-flex-sm-1 {
    flex: 1 !important;
  }
  .ion-flex-sm-auto {
    flex: auto !important;
  }
  .ion-flex-sm-initial {
    flex: initial !important;
  }
  .ion-flex-sm-none {
    flex: none !important;
  }
}
@media (min-width: 768px) {
  .ion-flex-md-1 {
    flex: 1 !important;
  }
  .ion-flex-md-auto {
    flex: auto !important;
  }
  .ion-flex-md-initial {
    flex: initial !important;
  }
  .ion-flex-md-none {
    flex: none !important;
  }
}
@media (min-width: 992px) {
  .ion-flex-lg-1 {
    flex: 1 !important;
  }
  .ion-flex-lg-auto {
    flex: auto !important;
  }
  .ion-flex-lg-initial {
    flex: initial !important;
  }
  .ion-flex-lg-none {
    flex: none !important;
  }
}
@media (min-width: 1200px) {
  .ion-flex-xl-1 {
    flex: 1 !important;
  }
  .ion-flex-xl-auto {
    flex: auto !important;
  }
  .ion-flex-xl-initial {
    flex: initial !important;
  }
  .ion-flex-xl-none {
    flex: none !important;
  }
}
.ion-flex-grow-0 {
  flex-grow: 0 !important;
}

.ion-flex-grow-1 {
  flex-grow: 1 !important;
}

.ion-flex-shrink-0 {
  flex-shrink: 0 !important;
}

.ion-flex-shrink-1 {
  flex-shrink: 1 !important;
}

@media (min-width: 576px) {
  .ion-flex-sm-grow-0 {
    flex-grow: 0 !important;
  }
  .ion-flex-sm-grow-1 {
    flex-grow: 1 !important;
  }
  .ion-flex-sm-shrink-0 {
    flex-shrink: 0 !important;
  }
  .ion-flex-sm-shrink-1 {
    flex-shrink: 1 !important;
  }
}
@media (min-width: 768px) {
  .ion-flex-md-grow-0 {
    flex-grow: 0 !important;
  }
  .ion-flex-md-grow-1 {
    flex-grow: 1 !important;
  }
  .ion-flex-md-shrink-0 {
    flex-shrink: 0 !important;
  }
  .ion-flex-md-shrink-1 {
    flex-shrink: 1 !important;
  }
}
@media (min-width: 992px) {
  .ion-flex-lg-grow-0 {
    flex-grow: 0 !important;
  }
  .ion-flex-lg-grow-1 {
    flex-grow: 1 !important;
  }
  .ion-flex-lg-shrink-0 {
    flex-shrink: 0 !important;
  }
  .ion-flex-lg-shrink-1 {
    flex-shrink: 1 !important;
  }
}
@media (min-width: 1200px) {
  .ion-flex-xl-grow-0 {
    flex-grow: 0 !important;
  }
  .ion-flex-xl-grow-1 {
    flex-grow: 1 !important;
  }
  .ion-flex-xl-shrink-0 {
    flex-shrink: 0 !important;
  }
  .ion-flex-xl-shrink-1 {
    flex-shrink: 1 !important;
  }
}
.ion-order-first {
  order: -1 !important;
}

.ion-order-0 {
  order: 0 !important;
}

.ion-order-1 {
  order: 1 !important;
}

.ion-order-2 {
  order: 2 !important;
}

.ion-order-3 {
  order: 3 !important;
}

.ion-order-4 {
  order: 4 !important;
}

.ion-order-5 {
  order: 5 !important;
}

.ion-order-6 {
  order: 6 !important;
}

.ion-order-7 {
  order: 7 !important;
}

.ion-order-8 {
  order: 8 !important;
}

.ion-order-9 {
  order: 9 !important;
}

.ion-order-10 {
  order: 10 !important;
}

.ion-order-11 {
  order: 11 !important;
}

.ion-order-12 {
  order: 12 !important;
}

.ion-order-last {
  order: 13 !important;
}

@media (min-width: 576px) {
  .ion-order-sm-first {
    order: -1 !important;
  }
  .ion-order-sm-0 {
    order: 0 !important;
  }
  .ion-order-sm-1 {
    order: 1 !important;
  }
  .ion-order-sm-2 {
    order: 2 !important;
  }
  .ion-order-sm-3 {
    order: 3 !important;
  }
  .ion-order-sm-4 {
    order: 4 !important;
  }
  .ion-order-sm-5 {
    order: 5 !important;
  }
  .ion-order-sm-6 {
    order: 6 !important;
  }
  .ion-order-sm-7 {
    order: 7 !important;
  }
  .ion-order-sm-8 {
    order: 8 !important;
  }
  .ion-order-sm-9 {
    order: 9 !important;
  }
  .ion-order-sm-10 {
    order: 10 !important;
  }
  .ion-order-sm-11 {
    order: 11 !important;
  }
  .ion-order-sm-12 {
    order: 12 !important;
  }
  .ion-order-sm-last {
    order: 13 !important;
  }
}
@media (min-width: 768px) {
  .ion-order-md-first {
    order: -1 !important;
  }
  .ion-order-md-0 {
    order: 0 !important;
  }
  .ion-order-md-1 {
    order: 1 !important;
  }
  .ion-order-md-2 {
    order: 2 !important;
  }
  .ion-order-md-3 {
    order: 3 !important;
  }
  .ion-order-md-4 {
    order: 4 !important;
  }
  .ion-order-md-5 {
    order: 5 !important;
  }
  .ion-order-md-6 {
    order: 6 !important;
  }
  .ion-order-md-7 {
    order: 7 !important;
  }
  .ion-order-md-8 {
    order: 8 !important;
  }
  .ion-order-md-9 {
    order: 9 !important;
  }
  .ion-order-md-10 {
    order: 10 !important;
  }
  .ion-order-md-11 {
    order: 11 !important;
  }
  .ion-order-md-12 {
    order: 12 !important;
  }
  .ion-order-md-last {
    order: 13 !important;
  }
}
@media (min-width: 992px) {
  .ion-order-lg-first {
    order: -1 !important;
  }
  .ion-order-lg-0 {
    order: 0 !important;
  }
  .ion-order-lg-1 {
    order: 1 !important;
  }
  .ion-order-lg-2 {
    order: 2 !important;
  }
  .ion-order-lg-3 {
    order: 3 !important;
  }
  .ion-order-lg-4 {
    order: 4 !important;
  }
  .ion-order-lg-5 {
    order: 5 !important;
  }
  .ion-order-lg-6 {
    order: 6 !important;
  }
  .ion-order-lg-7 {
    order: 7 !important;
  }
  .ion-order-lg-8 {
    order: 8 !important;
  }
  .ion-order-lg-9 {
    order: 9 !important;
  }
  .ion-order-lg-10 {
    order: 10 !important;
  }
  .ion-order-lg-11 {
    order: 11 !important;
  }
  .ion-order-lg-12 {
    order: 12 !important;
  }
  .ion-order-lg-last {
    order: 13 !important;
  }
}
@media (min-width: 1200px) {
  .ion-order-xl-first {
    order: -1 !important;
  }
  .ion-order-xl-0 {
    order: 0 !important;
  }
  .ion-order-xl-1 {
    order: 1 !important;
  }
  .ion-order-xl-2 {
    order: 2 !important;
  }
  .ion-order-xl-3 {
    order: 3 !important;
  }
  .ion-order-xl-4 {
    order: 4 !important;
  }
  .ion-order-xl-5 {
    order: 5 !important;
  }
  .ion-order-xl-6 {
    order: 6 !important;
  }
  .ion-order-xl-7 {
    order: 7 !important;
  }
  .ion-order-xl-8 {
    order: 8 !important;
  }
  .ion-order-xl-9 {
    order: 9 !important;
  }
  .ion-order-xl-10 {
    order: 10 !important;
  }
  .ion-order-xl-11 {
    order: 11 !important;
  }
  .ion-order-xl-12 {
    order: 12 !important;
  }
  .ion-order-xl-last {
    order: 13 !important;
  }
} 
/** Ionic CSS Variables **/
:root {
  /** primary **/
  --ion-color-primary: #3C7B9F;
  --ion-color-primary-rgb: 60,123,159;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb: 255,255,255;
  --ion-color-primary-shade: #366D8D;
  --ion-color-primary-tint: #99cfee;
  /** lunchdrive **/
  --ion-color-background: #f4f6fa;
  --ion-color-white: #fff;
  --ion-color-input: #f4f6fa;
  --ion-color-input-focus: #e5eaf3;
  --ion-color-input-white-focus: #eaecf3;
  --ion-color-circle: #f4f6fa;
  /** secondary **/
  --ion-color-secondary: #0c0b0b;
  --ion-color-secondary-rgb: 255,0,98;
  --ion-color-secondary-contrast: #ffffff;
  --ion-color-secondary-contrast-rgb: 255,255,255;
  --ion-color-secondary-shade: #e00056;
  --ion-color-secondary-tint: #ff1a72;
  /** tertiary **/
  --ion-color-tertiary: #00AFFF;
  --ion-color-tertiary-rgb: 0,175,255;
  --ion-color-tertiary-contrast: #000000;
  --ion-color-tertiary-contrast-rgb: 0,0,0;
  --ion-color-tertiary-shade: #009ae0;
  --ion-color-tertiary-tint: #1ab7ff;
  /** success **/
  --ion-color-success: #5bb75b;
  --ion-color-success-rgb: 91,183, 91;
  --ion-color-success-contrast: #ffffff;
  --ion-color-success-contrast-rgb: 255,255,255;
  --ion-color-success-shade: #077334;
  --ion-color-success-tint: #97f5ba;
  /** warning **/
  --ion-color-warning: #ffed11;
  --ion-color-warning-rgb: 255,237,17;
  --ion-color-warning-contrast: #000000;
  --ion-color-warning-contrast-rgb: 0,0,0;
  --ion-color-warning-shade: #655c00;
  --ion-color-warning-tint: #fcf4a7;
  /** danger **/
  --ion-color-danger: #f4344f;
  --ion-color-danger-rgb: 244,52,79;
  --ion-color-danger-contrast: #ffffff;
  --ion-color-danger-contrast-rgb: 255,255,255;
  --ion-color-danger-shade: #7c0e1d;
  --ion-color-danger-tint: #f8a4b0;
  /** lightest **/
  --ion-color-lightest: #FFFFFF;
  --ion-color-lightest-rgb: 255,255,255;
  /** light **/
  --ion-color-light: #f4f5f8;
  --ion-color-light-rgb: 244,244,244;
  --ion-color-light-contrast: #000000;
  --ion-color-light-contrast-rgb: 0,0,0;
  --ion-color-light-shade: #d7d8da;
  --ion-color-light-shade-rgb: 215,216,218;
  --ion-color-light-tint: #f5f6f9;
  --ion-color-light-tint-rgb: 245,246,249;
  /** medium **/
  --ion-color-medium: #575756;
  --ion-color-medium-rgb: 152,154,162;
  --ion-color-medium-contrast: #ffffff;
  --ion-color-medium-contrast-rgb: 255,255,255;
  --ion-color-medium-shade: #313131;
  --ion-color-medium-shade-rgb: 134,136,143;
  --ion-color-medium-tint: #aaaaaa;
  --ion-color-medium-tint-rgb: 170,170,170;
  /** dark **/
  --ion-color-dark: #222428;
  --ion-color-dark-rgb: 34,34,34;
  --ion-color-dark-contrast: #ffffff;
  --ion-color-dark-contrast-rgb: 255,255,255;
  --ion-color-dark-shade: #1e2023;
  --ion-color-dark-shade-rgb: 30,32,35;
  --ion-color-dark-tint: #383a3e;
  --ion-color-dark-tint-rgb: 56,58,62;
  /** darkest **/
  --ion-color-darkest: #000000;
  --ion-color-darkest-rgb: 0,0,0;
}

:root {
  /* Set the font family of the entire app */
  --ion-font-family: "Poppins", sans-serif;
  --app-background: #FFFFFF;
  --app-background-shade: var(--ion-background-color-step-50, #F2F2F2);
  --app-background-alt: var(--ion-color-primary);
  --app-background-alt-shade: var(--ion-color-primary-shade);
  --app-thin-margin: 6px;
  --app-narrow-margin: 12px;
  --app-fair-margin: 16px;
  --app-broad-margin: 20px;
  --app-narrow-radius: 4px;
  --app-fair-radius: 8px;
  --app-broad-radius: 12px;
  --app-page-title-size: 24px;
  --app-page-text-size: 14px;
}

html.ios {
  --app-header-height: 44px;
}

html.md {
  --app-header-height: 56px;
}

:root {
  --ion-color-facebook: #3b5998;
  --ion-color-facebook-rgb: 59,89,152;
  --ion-color-facebook-contrast: #ffffff;
  --ion-color-facebook-contrast-rgb: 255,255,255;
  --ion-color-facebook-shade: #344e86;
  --ion-color-facebook-tint: #4f6aa2;
  --ion-color-google: #cc181e;
  --ion-color-google-rgb: 204,24,30;
  --ion-color-google-contrast: #ffffff;
  --ion-color-google-contrast-rgb: 255,255,255;
  --ion-color-google-shade: #b4151a;
  --ion-color-google-tint: #d12f35;
  --ion-color-twitter: #00aced;
  --ion-color-twitter-rgb: 0,172,237;
  --ion-color-twitter-contrast: #ffffff;
  --ion-color-twitter-contrast-rgb: 255,255,255;
  --ion-color-twitter-shade: #0097d1;
  --ion-color-twitter-tint: #1ab4ef;
}
:root .ion-color-facebook {
  --ion-color-base: var(--ion-color-facebook) !important;
  --ion-color-base-rgb: var(--ion-color-facebook-rgb) !important;
  --ion-color-contrast: var(--ion-color-facebook-contrast) !important;
  --ion-color-contrast-rgb: var(--ion-color-facebook-contrast-rgb) !important;
  --ion-color-shade: var(--ion-color-facebook-shade) !important;
  --ion-color-tint: var(--ion-color-facebook-tint) !important;
}
:root .ion-color-google {
  --ion-color-base: var(--ion-color-google) !important;
  --ion-color-base-rgb: var(--ion-color-google-rgb) !important;
  --ion-color-contrast: var(--ion-color-google-contrast) !important;
  --ion-color-contrast-rgb: var(--ion-color-google-contrast-rgb) !important;
  --ion-color-shade: var(--ion-color-google-shade) !important;
  --ion-color-tint: var(--ion-color-google-tint) !important;
}
:root .ion-color-twitter {
  --ion-color-base: var(--ion-color-twitter) !important;
  --ion-color-base-rgb: var(--ion-color-twitter-rgb) !important;
  --ion-color-contrast: var(--ion-color-twitter-contrast) !important;
  --ion-color-contrast-rgb: var(--ion-color-twitter-contrast-rgb) !important;
  --ion-color-shade: var(--ion-color-twitter-shade) !important;
  --ion-color-tint: var(--ion-color-twitter-tint) !important;
}

.error-message {
  display: flex;
  flex-direction: row;
  align-items: center;
  color: var(--ion-color-danger);
  margin-bottom: 10px;
}
.error-message ion-icon {
  margin-right: 6px;
  font-size: 18px;
  width: 18px;
  height: 18px;
}
.error-message span {
  flex: 1;
  font-size: 12px;
}

ion-button {
  text-transform: none;
  font-size: 18px;
  --padding-top: 13px;
  --padding-bottom: 13px;
  --padding-start: 60px;
  --padding-end: 60px;
  --box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  --border-radius: 10px;
  height: auto;
  margin: 0;
}
ion-button[color=primary][fill=clear] {
  --border-width: 1px;
  --border-style: solid;
  --border-color: var(--ion-color-primary) ;
}
ion-button[color=white] {
  --box-shadow: none;
  --border-width: 1px;
  --border-style: solid;
  --border-color: var(--ion-color-primary);
  --padding-start: 0;
  --padding-end: 0;
  --padding-top: 0;
  --padding-bottom: 0;
}
ion-button[no-shadow] {
  --box-shadow: none;
}
ion-button.button-remove {
  --padding-start: 0;
  --padding-end: 0;
  --padding-top: 0;
  --padding-bottom: 0;
  --box-shadow: none;
  --border-radius: 0;
  border-radius: 0;
}
ion-button.button-remove-meal {
  border-radius: 100%;
  --padding-start: 0;
  --padding-end: 0;
  --padding-top: 0;
  --padding-bottom: 0;
  --box-shadow: none;
  width: 40px;
  height: 40px;
  min-height: 0;
}
ion-button.button-small {
  --padding-start: 15px;
  --padding-end: 15px;
  --padding-top: 8px;
  --padding-bottom: 8px;
  font-size: 14px;
  --box-shadow: none;
}

ion-action-sheet .action-sheet-button {
  font-size: 18px !important;
}
ion-action-sheet .action-sheet-button.selected {
  background-color: var(--ion-color-background);
}

.table-grid table {
  width: 100%;
}
.table-grid table tr th {
  color: var(--ion-color-primary);
  text-align: left;
  padding: 4px 10px;
  border-bottom: 1px solid var(--app-background);
}
.table-grid table tr th:last-child {
  text-align: right;
}
.table-grid table tr td {
  padding: 4px 10px;
  vertical-align: center;
  border-bottom: 1px solid var(--app-background);
}
.table-grid table tr td:last-child {
  text-align: right;
}
.table-grid table tr td:last-child ion-button {
  position: relative;
  top: -3px;
}
.table-grid table tr td ion-item {
  --inner-padding-start: 0;
  --inner-padding-end: 0;
}
.table-grid table tr td ion-item.item-input {
  --background: transparent;
  --padding-start: 0;
  --padding-end: 0;
}
.table-grid table tr td ion-item.item-input ion-input, .table-grid table tr td ion-item.item-input ion-textarea {
  --padding-start: 12px !important;
  --padding-end: 12px !important;
  --padding-top: 8px !important;
  --padding-bottom: 8px !important;
}

ion-popover {
  --width: calc(100% - (2 * 15px));
}
ion-popover::part(content) {
  left: 16px;
}
ion-popover.ion-popover--menu-note {
  --background: #fcf8e3 !important;
  --width: calc(100% - 32px) !important;
}
ion-popover.ion-popover--menu-note .popover--inner {
  padding: var(--app-fair-margin);
}
ion-popover.ion-popover--menu-note .popover--inner p {
  color: #c09853;
  margin: 0;
}
ion-popover.ion-popover--user-menu {
  --background: var(--ion-color-primary);
}
ion-popover.ion-popover--user-menu::part(content) {
  border-radius: 8px;
  margin-top: 20px;
}
ion-popover.ion-popover--user-menu ion-list {
  background: transparent;
  padding: 15px;
  text-align: center;
}
ion-popover.ion-popover--user-menu ion-list ion-item {
  --background: transparent;
  --background-hover: transparent;
  color: var(--ion-color-lightest);
  text-align: center;
}
ion-popover.ion-popover--user-menu ion-list ion-item:hover {
  --background: transparent ;
}
ion-popover.ion-popover--balance {
  --background: var(--ion-color-primary);
  --max-width: 150px;
}
ion-popover.ion-popover--balance::part(content) {
  border-radius: var(--app-fair-radius);
  left: auto;
  right: var(--app-fair-margin);
}
ion-popover.ion-popover--balance p {
  text-align: center;
  padding: var(--app-fair-margin) var(--app-thin-margin);
  color: var(--ion-color-lightest);
  margin: 0;
}

ion-alert .alert-head .alert-title {
  line-height: normal;
}
ion-alert .alert-head .alert-sub-title {
  line-height: normal;
}

ion-item {
  --inner-padding-start: 0;
  --inner-padding-end: 0;
}
ion-item.item-input {
  --background: transparent;
  --padding-start: 0;
  --padding-end: 0;
  overflow: visible;
  width: 100%;
}
ion-item.item-input ion-input.has-focus .native-wrapper, ion-item.item-input ion-textarea.has-focus .native-wrapper {
  background-color: var(--ion-color-input-focus);
}
ion-item.item-input .native-wrapper .native-input {
  transform: none !important;
}
ion-item.item-input .native-wrapper .native-input + .native-input {
  display: none !important;
}
ion-item.item-input--white ion-input .native-wrapper, ion-item.item-input--white ion-textarea .native-wrapper {
  background: var(--ion-color-lightest);
}
ion-item.item-input--white ion-input.has-focus .native-wrapper, ion-item.item-input--white ion-textarea.has-focus .native-wrapper {
  background-color: var(--ion-color-input-white-focus);
}
ion-item.item-input--white ion-textarea .native-wrapper {
  height: 120px;
}
ion-item.item-input--datetime {
  position: relative;
}
ion-item.item-input--datetime ion-input {
  pointer-events: none;
}
ion-item.item-input--password {
  flex-direction: column;
  display: flex;
}
ion-item .native-wrapper {
  background-color: var(--ion-color-input);
  border-radius: 10px;
  padding: 12px 14px;
}
ion-item .brr-0 .native-wrapper {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
  height: 48px;
}
ion-item.ion-invalid.item-has-value .native-wrapper {
  background-color: rgba(var(--ion-color-danger-rgb), 0.05);
}
ion-item .label-text-wrapper {
  transform: none !important;
  margin-bottom: 4px;
  font-size: 14px;
  margin-left: 8px;
}
ion-item .error-container {
  position: absolute;
  right: 0;
  bottom: -33px;
  z-index: 99;
}
ion-item .error-container--top {
  bottom: auto;
  top: 0;
}

.datetime-input-wrapper--disabled .click-area {
  pointer-events: none;
}

.click-area {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50px;
  display: block;
  z-index: 99;
}

.password-strength-container {
  padding: 12px 0 0;
}

.password-strength-segments {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}

.password-strength-segment {
  flex: 1;
  height: 6px;
  background-color: #e0e0e0;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}
.password-strength-segment.active.strength-weak {
  background-color: #f44336;
}
.password-strength-segment.active.strength-medium {
  background-color: #ffc107;
}
.password-strength-segment.active.strength-good {
  background-color: #8bc34a;
}
.password-strength-segment.active.strength-strong {
  background-color: #4caf50;
}

.password-strength-hint {
  font-size: 14px;
  color: #757575;
  line-height: 1.4;
}

form ion-row + ion-row {
  margin-top: 12px;
}

ion-select::part(icon) {
  display: none;
}
ion-select::part(label) {
  transform: none !important;
  margin-bottom: 4px;
  font-size: 14px;
  margin-left: 8px;
}
ion-select::part(container) {
  background: var(--ion-color-input);
  padding: 12px 30px 12px 14px;
  border-radius: 10px;
  width: calc(100% - 14px - 30px);
  position: relative;
}
ion-select::part(container):after {
  position: absolute;
  content: "";
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url('caret-down.svg') no-repeat left top;
}
ion-select ion-label.label-stacked {
  transform: none;
  margin-bottom: 4px;
  font-size: 14px;
  margin-left: 8px;
}
ion-select.select-expanded::part(container):after {
  transform: translateY(-50%) rotate(180deg);
}
ion-select.ion-select--narrow {
  min-height: 32px;
  font-size: 14px;
}
ion-select.ion-select--narrow::part(container) {
  padding: 4px 32px 4px 12px;
}
ion-select.ion-select--narrow::part(container):after {
  width: 14px;
  height: 14px;
  background-size: 100%;
}

ion-select-popover ion-radio-group ion-item {
  --padding-start: 12px;
  --padding-end: 12px;
  --border-color: var(--ion-color-background);
  --background: transparent !important;
  --background-activated: transparent !important;
  --background-focused: transparent !important;
}

form input[type=checkbox] {
  display: none;
}
form input[type=checkbox] + label {
  cursor: pointer;
  font-size: 16px;
  margin: 0;
  padding-left: 36px;
  line-height: 20px;
  position: relative;
  text-transform: none;
  width: 100%;
}
form input[type=checkbox] + label .checkbox-icon {
  display: none;
}
form input[type=checkbox] + label::before {
  background-color: var(--ion-color-lightest);
  border: none;
  border-radius: var(--app-narrow-radius);
  content: "";
  height: 24px;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
}
form input[type=checkbox]:checked + label .checkbox-icon {
  display: block;
  position: absolute;
  left: 1px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  z-index: 2;
}
form input[type=checkbox]:checked + label .checkbox-icon path {
  fill: none;
  stroke: var(--ion-color-lightest);
  stroke-width: 2px;
}
form input[type=checkbox]:checked + label::before {
  background-color: var(--ion-color-primary);
}

ion-toast {
  text-align: left;
  --border-radius: 40px;
}
ion-toast.success {
  --background: var(--ion-color-success-tint);
  color: var(--ion-color-success-shade);
}
ion-toast.error {
  --background: var(--ion-color-danger-tint);
  color: var(--ion-color-danger-shade);
}
ion-toast.info {
  --background: var(--ion-color-warning-tint);
  color: var(--ion-color-warning-shade);
}

ion-menu {
  --background: var(--ion-color-primary);
  --min-width: 100%;
}
ion-menu ion-header:after {
  display: none;
}
ion-menu ion-header ion-toolbar {
  --border-width: 0 !important;
}
ion-menu ion-header ion-button {
  --box-shadow: none;
  border-radius: 0;
  --padding-start: 0;
  --padding-top: 0;
  --padding-end: 0;
  --padding-bottom: 0;
  width: 50px;
  height: 50px;
}
ion-menu ion-header ion-button ion-icon {
  width: 34px;
  height: 34px;
}
ion-menu ion-content {
  --background: var(--ion-color-primary);
  --padding-start: 30px;
  --padding-end: 30px;
}
@media only screen and (max-height: 660px) {
  ion-menu ion-content {
    --padding-top: 0;
  }
}
ion-menu ion-content ion-list {
  background: transparent !important;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-height: 660px) {
  ion-menu ion-content ion-list {
    padding: 0 !important;
  }
}
ion-menu ion-content ion-list ion-item {
  text-align: center;
  --padding-start: 0;
  --padding-end: 0;
  --background: transparent;
  color: var(--ion-color-lightest);
  width: 100%;
}
@media only screen and (max-height: 760px) {
  ion-menu ion-content ion-list ion-item {
    --min-height: 40px;
  }
}
@media only screen and (max-height: 620px) {
  ion-menu ion-content ion-list ion-item {
    --min-height: 35px;
  }
}
ion-menu ion-content ion-list ion-item ion-label {
  margin-right: 0;
}
@media only screen and (max-height: 660px) {
  ion-menu ion-content ion-list ion-item ion-label {
    margin: 0;
  }
}
ion-menu ion-content .user-info {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 0 0 40px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.9);
  margin-bottom: 40px;
}
@media only screen and (max-height: 760px) {
  ion-menu ion-content .user-info {
    padding: 0 0 15px;
    margin-bottom: 0;
  }
}
ion-menu ion-content .user-info p {
  color: var(--ion-color-lightest);
  margin: 0;
}
ion-menu ion-content .user-info p.user__name {
  font-weight: 500;
  font-size: 22px;
}
@media only screen and (max-height: 620px) {
  ion-menu ion-content .user-info p.user__name {
    font-size: 18px;
  }
}
ion-menu ion-content .user-info p.user__email {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
}
ion-menu ion-content .user-info .circle {
  width: 80px;
  height: 80px;
  line-height: 34px;
  border-radius: 100%;
  font-size: 32px;
  color: #000;
  text-align: center;
  background-color: var(--ion-color-primary-tint);
  border: 2px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  margin-bottom: 15px;
}
@media only screen and (max-height: 620px) {
  ion-menu ion-content .user-info .circle {
    width: 50px;
    height: 50px;
    margin-bottom: 10px;
  }
}
ion-menu ion-content .user-info .circle ion-icon {
  width: 60px;
  height: 60px;
}

.ion-row--address ion-item.item-input {
  margin-bottom: 0;
}

ion-list.autocomplete-list {
  border-radius: 10px;
  margin-top: 1px;
  padding: 0;
}
ion-list.autocomplete-list ion-item {
  font-size: 14px;
  --padding-end: 0;
  --padding-start: 0;
  --padding-top: 0;
  --padding-bottom: 0;
  --inner-padding-top: 6px;
  --inner-padding-bottom: 6px;
  --inner-padding-end: 12px;
  --inner-padding-start: 12px;
}
ion-list.autocomplete-list ion-item:hover {
  --background: var(--ion-color-light-tint);
}
ion-list.autocomplete-list ion-item + ion-item {
  border-top: 1px solid var(--ion-color-light-tint);
}

.box {
  padding: var(--app-fair-margin);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
  position: relative;
}
.box--thin {
  padding: 10px var(--app-fair-margin);
}
.box--transparent {
  opacity: 0 !important;
}
.box__user-balance {
  position: absolute;
  right: 10px;
  top: -9px;
  font-size: 11px;
  line-height: 11px;
  padding: 0 10px 0;
  display: flex;
  height: 18px;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border: 1px solid #d3dfe9;
  background-color: #E4EAF2;
  color: var(--ion-color-primary-shade);
  border-radius: 5px;
  margin: 0;
}
.box__user-balance--plus {
  border: 1px solid #74ea70;
  background-color: #d4ffd1;
  color: var(--ion-color-success-shade);
}
.box__user-balance--minus {
  border: 1px solid #ffa2ae;
  background-color: #ffe4ea;
  color: var(--ion-color-danger-shade);
}
.box--shadow {
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}
.box--no-shadow {
  box-shadow: none;
}
.box--bordered {
  border: 1px solid rgba(var(--ion-color-primary-rgb), 0.1);
}
.box--rounded {
  border-radius: 10px;
}
.box--white {
  background-color: #fff;
}
.box--blue {
  background-color: rgba(var(--ion-color-primary-rgb), 0.1);
}
.box--blue p:not(.box__user-balance) {
  color: var(--ion-color-primary);
  line-height: 20px !important;
}
.box--yellow {
  background-color: #fcf8e3;
}
.box--yellow p {
  color: #c09853;
  line-height: 20px !important;
}
.box--yellow.box--bordered {
  border-color: #fbeed5;
}
.box--red {
  background-color: rgba(var(--ion-color-danger-rgb), 0.1);
}
.box--red p {
  color: var(--ion-color-danger);
  line-height: 20px !important;
}
.box--red p + p {
  line-height: 16px !important;
}
.box--red.box--bordered {
  border: 1px solid rgba(var(--ion-color-danger-rgb), 0.1);
}
.box p.box__info-text:not(.box__user-balance) {
  font-size: 13px;
  line-height: 16px !important;
}
.box p.box__info-text:not(.box__user-balance) a {
  text-decoration: none;
  color: var(--ion-color-primary);
}
.box ul {
  margin: 0;
  padding-left: var(--app-fair-margin);
}
.box ul li p {
  line-height: 20px;
}
.box ul li + li {
  margin-top: var(--app-thin-margin);
}
.box p {
  margin: 0;
  line-height: 24px;
}
.box p .link {
  color: var(--ion-color-primary);
}
.box p .link ion-icon {
  color: var(--ion-color-primary);
  width: 12px;
  height: 12px;
  top: 2px;
  position: relative;
}

ion-modal.meal-boxes-modal {
  --height: 70%;
  --max-width:90%;
  --border-radius: 16px;
  --box-shadow: 0 0 15px 0 rgb(0 0 0 / 0.04);
}
ion-modal.meal-boxes-modal::part(backdrop) {
  background: rgb(209, 213, 219);
  opacity: 1;
}
ion-modal.meal-boxes-modal ion-toolbar {
  --background: rgb(14 116 144);
  --color: white;
}

.order-day__header {
  padding: 0 var(--app-fair-margin) var(--app-narrow-margin);
  width: calc(100% + 2 * var(--app-fair-margin));
  margin-left: calc(var(--app-fair-margin) * -1);
  border-bottom: 1px solid var(--ion-color-background);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
}
.order-day__header p {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}
.order-day__menu-note {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.order-day__menu-note ion-icon {
  color: #c09853;
}
.order-day__meal {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  min-height: 74px;
}
.order-day__meal + .order-day__meal {
  border-top: 1px solid var(--ion-color-background);
}
.order-day__meal--disabled * {
  pointer-events: none;
  opacity: 0.6;
}
.order-day__meal--empty {
  padding-top: var(--app-narrow-margin);
}
.order-day__meal--empty p {
  margin: 0;
  font-style: italic;
  color: var(--ion-color-medium);
}
.order-day__meal .meal__left, .order-day__meal .meal__right {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: var(--app-narrow-margin) 0;
  position: relative;
}
.order-day__meal .meal__right {
  align-items: center;
  margin-left: var(--app-fair-margin);
}
.order-day__meal .meal__right .transparent {
  opacity: 0;
  pointer-events: none;
}
.order-day__meal .meal__right .disabled {
  pointer-events: none;
  opacity: 0.4;
}
.order-day__meal .meal__right .buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  width: 50px;
  height: 100%;
  padding-left: 6px;
  position: relative;
}
.order-day__meal .meal__right .buttons.transparent {
  opacity: 0;
}
.order-day__meal .meal__right .buttons button {
  position: absolute;
  width: 32px;
  height: 32px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.order-day__meal .meal__right .buttons button:first-of-type {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  top: -32px;
  right: 0;
  background-color: var(--ion-color-primary);
  color: var(--ion-color-white);
}
.order-day__meal .meal__right .buttons button:last-of-type {
  bottom: -32px;
  right: 0;
  background-color: #edf0f7;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  color: #000;
}
.order-day__meal p {
  margin: 0;
}
.order-day__meal p.name {
  flex: 1;
  text-align: left;
  font-size: 14px;
  line-height: 18px;
  margin-top: 6px;
}
.order-day__meal p.label {
  background-color: var(--ion-color-background);
  border-radius: 100%;
  font-weight: 600;
  color: var(--ion-color-medium-tint);
  width: 30px;
  height: 30px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-right: var(--app-narrow-margin);
}
.order-day__meal p.label--sold-out {
  position: relative;
}
.order-day__meal p.label--small {
  font-size: 10px;
}
.order-day__meal p.label--ordered {
  background-color: var(--ion-color-primary);
  color: var(--ion-color-light);
  position: relative;
}
.order-day__meal p.label .count {
  position: absolute;
  right: -8px;
  top: -6px;
  background-color: var(--ion-color-lightest);
  border-radius: 100%;
  width: 18px;
  height: 18px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  font-size: 9px;
  font-weight: 600;
  margin: 0;
  color: var(--ion-color-darkest);
}
.order-day__meal p.label .count span {
  font-size: 6px;
}
.order-day__meal p.label .count--available {
  right: auto;
  left: -8px;
  top: auto;
  bottom: -6px;
  background-color: var(--ion-color-danger);
  color: var(--ion-color-white);
}
.order-day__meal p.label .count--souldout {
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  border-radius: 15px;
  font-size: 7px;
  padding: 0 4px;
}
.order-day__meal ion-button {
  padding: 0;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-start: 0px;
  --padding-end: 0px;
  --border-radius: 0px;
  --box-shadow: none;
  width: 50px;
  height: 50px;
  min-height: 0;
  display: block;
  margin-top: -2px;
}
.order-day__meal ion-button.disabled {
  pointer-events: none;
}
.order-day__meal .button-inner--only-one {
  background-color: var(--ion-color-primary);
  border-radius: 100%;
  margin-left: auto;
  width: 36px;
  height: 36px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.order-day__meal .button-inner--only-one--ordered {
  background-color: #edf0f7;
}
.order-day__meal ion-icon.add {
  color: var(--ion-color-white);
}
.order-day__meal ion-icon.remove {
  color: var(--ion-color-primary);
}
.order-day__meal img {
  width: 26px;
  margin-left: auto;
  margin-right: 4px;
}

ion-datetime {
  --background: var(--ion-color-lightest);
  min-width: 100%;
  max-width: 400px;
}
ion-datetime.datetime-ready .calendar-body {
  opacity: 1;
}

.day:last-of-type .day-lunch:last-of-type {
  border: none !important;
  padding-bottom: 0 !important;
}
.day + .day {
  margin-top: var(--app-narrow-margin);
}
.day__date {
  margin-bottom: 0px;
  padding-bottom: 0px;
  font-size: 12px;
  color: #aaa;
  white-space: nowrap;
  overflow: hidden;
  width: 100%;
  text-overflow: ellipsis;
}
.day__date i {
  white-space: nowrap;
}
.day-lunch {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--app-narrow-margin) 0;
  border-bottom: 1px solid var(--ion-color-background);
}
.day-lunch--history {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
.day-lunch--history .day-lunch__provider p, .day-lunch--history .day-lunch__user p {
  font-weight: bold;
}
.day-lunch--history .day-lunch__provider p i, .day-lunch--history .day-lunch__user p i {
  font-weight: normal;
}
.day-lunch--history .day-lunch__user {
  padding-top: var(--app-thin-margin);
}
.day-lunch--history .day-lunch__user-wrapper {
  padding-left: var(--app-narrow-margin);
  width: 100%;
}
.day-lunch--history .day-lunch__user-wrapper:nth-child(odd).day-lunch__user-wrapper--colored {
  background-color: rgba(var(--ion-color-medium-rgb), 0.1);
  margin: 0 -10px 0;
  width: calc(100% + 20px);
  padding: 0 10px 0 calc(var(--app-narrow-margin) + 10px);
}
.day-lunch--history .day-lunch__user-wrapper:nth-child(odd).day-lunch__user-wrapper--last {
  margin: 0 -10px -12px;
}
.day-lunch--history .day-lunch__info {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: var(--app-thin-margin) 0;
}
.day-lunch p {
  margin: 0;
}
.day-lunch-info {
  display: flex;
  flex-direction: row;
  align-items: center;
}
.day-lunch__name {
  flex: 1;
}
.day-lunch__label {
  margin-left: 15px;
}
.day-lunch__label--left {
  margin-left: 0;
  margin-right: 15px;
}
.day-lunch__label p {
  font-size: 14px;
  border-radius: 1000%;
  width: 30px;
  height: 30px;
  line-height: 30px;
  background: var(--ion-color-background);
  color: #666;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin: 0;
  position: relative;
}
.day-lunch__label p > span {
  position: absolute;
  right: -8px;
  top: -6px;
  background-color: var(--ion-color-primary);
  border-radius: 100%;
  width: 18px;
  height: 18px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  font-size: 9px;
  font-weight: 600;
  margin: 0;
  color: var(--ion-color-white);
}
.day-lunch__label p > span.box-badge {
  top: auto;
  bottom: -6px;
}
.day-lunch__label p > span.box-badge img {
  width: 65%;
}
.day-lunch__label p > span span {
  font-size: 6px;
}
.day-lunch__label ion-button {
  width: auto;
  min-width: 0;
  --padding-start: 10px;
  --padding-end: 10px;
  --padding-top: 0;
  --padding-bottom: 0;
}
.day-lunch__label ion-button img {
  width: 25px;
}
.day-lunch__label ion-button[color=success] svg {
  width: 25px;
}
.day-lunch__label ion-button[color=success] svg path {
  fill: var(--ion-color-success);
}
.day-lunch__label ion-button[color=danger] svg {
  width: 20px;
}
.day-lunch__label ion-button[color=danger] svg path {
  fill: var(--ion-color-danger);
}
.day-lunch__price {
  text-align: right;
  min-width: 70px;
}
.day-lunch__price p {
  margin: 0;
  font-weight: 600;
  white-space: nowrap;
}
.day-lunch__price p > span {
  font-weight: 500;
  font-size: 12px;
}
.day-lunch__price p > span > span {
  font-size: 10px;
}

.loading-template {
  text-align: center;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.loading-template p {
  text-align: center;
  display: flex;
  flex-direction: row;
}

.order-detail-day--border {
  border-bottom: 1px solid var(--ion-color-background);
  width: calc(100% + 30px);
  margin-left: -15px;
  padding: 0 15px var(--app-narrow-margin);
}
.order-detail-day--no-events {
  pointer-events: none !important;
}
.order-detail-day__note form ion-item::part(native) {
  border: none;
}
.order-detail-day__note form ion-item ion-input {
  --border-width: 0;
}
.order-detail-day__note form ion-item .native-wrapper {
  padding: 7px 14px;
  font-size: 14px;
}

ion-segment {
  border-radius: 50px !important;
}
ion-segment-button {
  --border-radius: 50px !important;
  margin: 4px;
}
ion-segment-button ion-label {
  font-size: 14px;
}

ion-searchbar .searchbar-input-container {
  min-height: 50px !important;
}
ion-searchbar .searchbar-input-container .searchbar-input {
  font-size: 14px !important;
  padding-left: 45px !important;
}
ion-searchbar .searchbar-input-container ion-icon {
  left: 12px !important;
}

ion-loading .loading-wrapper {
  box-shadow: none !important;
  background-color: transparent !important;
}

body {
  background-color: var(--ion-color-background) !important;
}

*::-webkit-scrollbar {
  display: none;
  scrollbar-width: none;
}

p,
h1,
h2,
h3 {
  margin: 0px;
  padding: 0px;
}

p {
  font-size: 14px;
}

ion-content {
  --padding-top: 17px;
  --padding-start: 15px;
  --padding-end: 15px;
  --background: var(--ion-color-background);
}

ion-grid {
  padding: 0px;
}

ion-icon {
  width: 24px;
  height: 24px;
}

ion-segment {
  border-radius: 15px;
  margin-bottom: 20px;
}

ion-segment-button {
  --color: var(--ion-color-primary);
  --indicator-color: var(--ion-color-primary);
  --border-radius: 15px;
  --color-checked: white;
  min-height: 35px;
  font-size: 16px;
}

.rounded-item {
  width: 100%;
  height: 100%;
  border-radius: 10px;
  background-color: var(--ion-color-white);
  padding: 17px 10px 17px 10px;
  margin-bottom: 15px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
}

.flex-container {
  display: flex;
  align-items: center;
}
.flex-container img {
  position: relative;
  top: -2px;
}

.flex-align-right {
  margin-left: auto;
}

.align-right {
  float: right;
}

.rounded-icon {
  border-radius: 50%;
  width: 36px;
  height: 36px;
  line-height: 34px;
  border: 2px solid var(--ion-color-circle);
  background-color: var(--ion-color-circle);
  text-align: center;
  color: #aaa;
  font-size: 14px;
  font-weight: 600;
}

hr {
  margin-top: 12px;
  margin-bottom: 12px;
  border-top: 1px solid #f4f6fa;
}

.bold-text {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.38;
}

ion-content {
  position: relative;
}
ion-content.content--loading {
  z-index: 99;
}
ion-content .ion-content__inner {
  padding-bottom: calc(2 * var(--app-broad-margin));
  min-height: calc(100% - 230px);
}
ion-content .ion-content__inner--noAccess {
  min-height: 100%;
  padding-bottom: 0;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}

.loading-overlay {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-self: center;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  background-color: rgba(255, 255, 255, 0.5);
}
.loading-overlay ion-spinner {
  margin: auto;
}

.mt-thin {
  margin-top: var(--app-thin-margin) !important;
}

.mt-narrow {
  margin-top: var(--app-narrow-margin);
}

.mt-fair {
  margin-top: var(--app-fair-margin);
}

.language-switcher {
  bottom: 0;
  left: 0;
  width: 100%;
  padding: var(--app-fair-margin) 0 calc(var(--app-fair-margin) + var(--ion-safe-area-bottom, 0));
}
.language-switcher p {
  margin: 0;
  text-align: center;
  color: var(--ion-color-lightest);
  font-size: 10px;
}
.language-switcher p span + span {
  padding-left: 12px;
  position: relative;
}
.language-switcher p span + span:before {
  position: absolute;
  content: "";
  left: 5px;
  top: 50%;
  width: 1px;
  height: 70%;
  transform: translateY(-50%);
  background-color: #fff;
  opacity: 0.5;
}
.language-switcher ul {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  list-style: none;
  width: 100%;
  padding-left: 0;
}
.language-switcher ul li {
  color: var(--ion-color-lightest);
  opacity: 0.7;
}
.language-switcher ul li.active {
  font-weight: 600;
  opacity: 1;
}
.language-switcher ul li + li {
  margin-left: var(--app-broad-margin);
}

.page-title span {
  font-size: 14px;
  color: var(--ion-color-medium);
  font-style: italic;
}

/*# sourceMappingURL=styles.css.map*/