:root {
	--primary-color: #3674d9;
	--secondary-color: #5c6ac4;
	--danger-color: #e55c57;
	--success-color: #50b83c;
	--warning-color: #eec200;
	--teal-color: #46bdbb;
	--gray-100: #f7fafc;
	--gray-200: #edf2f7;
	--border-color: #e2e2e2;
	--border-color-2: #b6b6b6;
	--secondary-text: #b7b7b7;
	--header-color: #2f3447;
	--custom-red: #eb5757;
	--default-background: #f4f5fa;
	--custom-black-1: #212b36;
	--custom-black-2: #454f5b;
	--custom-gray-1: #637381;
	--white-2: #f4f6f8;
	--white-1: #f9fafb;
	--shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
}

body,
html {
	font-family: "SF Pro Text", "SF Pro Icons", "Helvetica Neue", "Helvetica",
		"Arial", sans-serif;
	background-color: #fff;
	font-size: 14px;
}

.app {
	height: 100vh;
	overflow: scroll;
}

.def-bg {
	background-color: var(--default-background);
}

.app-header {
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid var(--border-color);
	background-color: #fff;
}

.form-control {
	border: 1px solid var(--border-color);
	padding: 0.5rem 0.75rem;
}

.form-control:focus {
	box-shadow: none;
	border-color: var(--border-color);
}

.form-control::placeholder {
	color: var(--secondary-text);
	font-style: italic;
}

.text-secondary {
	color: var(--secondary-text);
}

.text-border {
	color: var(--border-color);
}

.border-0 {
	border: none;
}

.border-1 {
	border: 1px solid var(--border-color);
}

.border-2 {
	border: 2px solid var(--border-color);
}

.border-dark {
	border-color: #000;
}

.border-left-1 {
	border-left: 1px solid var(--border-color);
}

.border-right-1 {
	border-right: 1px solid var(--border-color);
}

.border-top-1 {
	border-top: 1px solid var(--border-color);
}

.border-bottom-1 {
	border-bottom: 1px solid var(--border-color);
}

.font-sm {
	font-size: 0.9rem;
}

.font-xs {
	font-size: 0.8rem;
}

.font-lg {
	font-size: 1.2rem;
}

.bg-primary {
	background-color: var(--primary-color) !important;
}

.bg-gray {
	background-color: var(--gray-100);
}

.bg-green {
	background-color: #dff2bf !important;
}

.bg-blue {
	background-color: #d9edf7 !important;
}

.bg-yellow {
	background-color: #fff3cd !important;
}

.bg-red {
	background-color: #f8d7da !important;
}

.sidebar-container {
	width: 0vw;
	overflow: hidden;
	opacity: 0;
	transition: all ease 0.2s;
	height: 100%;
	position: fixed;
	top: 0;
	background-color: var(--white-1);
	border-right: 1px solid var(--border-color);
	z-index: 101;
}

.sidebar-container.open {
	width: 25vw;
	opacity: 1;
	transition: all ease 0.2s;
}

.sidebar-menu {
	padding: 1rem;
}

.sidebar-menu .menu-item {
	padding: 0.75rem 0;
}

.sidebar-menu .menu-item a {
	color: var(--custom-black-1);
	text-decoration: none;
	width: 100%;
	display: block;
}

.sidebar-menu .menu-item i {
	width: 24px;
}

.backdrop {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 100;
	transition: all ease 0.2s;
}

.product {
	border-radius: 12px;
	overflow: hidden;
}

.product .product-image {
	width: 100%;
	height: 120px;
	object-fit: cover;
	position: relative;
}

.product .product-image .badge-qty {
	position: absolute;
	top: 0;
	right: 0;
	background-color: var(--primary-color);
	color: #fff;
	padding: 0.25rem 0.5rem;
	border-radius: 0 0 0 12px;
}

.product .product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Select2 */
.select2-container--default .select2-selection--single {
	border: 1px solid var(--border-color);
	height: 36px;
}
.select2-container--default .select2-selection--multiple {
	border: 1px solid var(--border-color);
	min-height: 36px;
}

.select2-container--default
	.select2-selection--single
	.select2-selection__arrow {
	height: 36px;
}

.select2-container--default
	.select2-selection--single
	.select2-selection__rendered {
	line-height: 36px;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
	border: 1px solid var(--border-color);
}

.select2-container--default.select2-container--focus
	.select2-selection--multiple {
	border: 1px solid var(--border-color);
}

.select2-dropdown {
	border: 1px solid var(--border-color);
	border-top: 1px solid var(--border-color) !important;
	box-shadow: var(--shadow);
}

.order-type .select2-container--default .select2-selection--single {
	border: 0px;
}

.select2-container--default
	.select2-search--dropdown
	.select2-search__field:focus-visible {
	outline: none;
}
.select2-results__option {
	padding: 8px 6px;
}
.select2-container--default
	.select2-results__option--highlighted[aria-selected] {
	background-color: var(--primary-color);
}

.rounded-lg {
	border-radius: 12px;
}

.rounded-md {
	border-radius: 8px;
}

.rounded-sm {
	border-radius: 4px;
}

.bg-secondary {
	background-color: var(--secondary-color);
}

.bg-border {
	background-color: var(--border-color);
}

.bg-white-2 {
	background-color: var(--white-2);
}

.bg-white-1 {
	background-color: var(--white-1);
}

.bg-border {
	background-color: var(--border-color);
}

.opacity-1\/2 {
	opacity: 0.5;
}

.opacity-1\/4 {
	opacity: 0.25;
}

.modal-content {
	border-radius: 0px !important;
}

.btn-primary {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
}

.text-primary {
	color: var(--primary-color) !important;
}

.card {
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid var(--border-color);
}

.payment-option.selected {
	border-bottom: 2px solid var(--primary-color);
	color: var(--primary-color);
	font-weight: 600;
}

.default-payment-amount.selected {
	border: 2px solid var(--primary-color) !important;
	color: var(--primary-color);
	font-weight: 600;
}
.modal-backdrop {
	backdrop-filter: blur(1px);
}

.disabled {
	pointer-events: none;
}

.pin-code {
	padding: 0;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}

.pin-code input {
	border: none;
	text-align: center;
	width: 48px;
	height: 48px;
	font-size: 36px;
	background-color: #f3f3f3;
	margin-right: 5px;
}

.pin-code input:focus {
	border: 0px;
	outline: none;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.keyboard {
	width: 400px;
	margin-top: 40px;
}
.keyboard .number {
	width: 100%;
	font-size: 0;
	text-align: center;
}
.keyboard .number.aling-right {
	text-align: right;
	width: 100%;
}
.keyboard .number span {
	font-size: 24px;
	display: inline-block;
	width: 33%;
	text-align: center;
	margin-bottom: 25px;
}
.keyboard .number span i {
	display: inline-block;
	width: 80px;
	height: 80px;
	line-height: 80px;
	background: white;
	cursor: pointer;
	border-radius: 100%;
	transition: 250ms;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-box-shadow: 8px 8px 24px 0px rgba(132, 132, 132, 0.09);
	-moz-box-shadow: 8px 8px 24px 0px rgba(132, 132, 132, 0.09);
	box-shadow: 8px 8px 24px 0px rgba(132, 132, 132, 0.09);
}
.keyboard .number span i.delete {
	background: transparent;
	box-shadow: 0 0 0 0;
	-webkit-box-shadow: 0 0 0 0;
	-moz-box-shadow: 0 0 0 0;
	-ms-box-shadow: 0 0 0 0;
}
.keyboard .number span i.delete img {
	display: inline-block;
	vertical-align: middle;
}
.keyboard .number span:hover i {
	color: black;
}
.keyboard .number span:active i {
	transform: translateY(1px);
	-webkit-box-shadow: 5px 5px 24px 0px rgba(132, 132, 132, 0.18);
	-moz-box-shadow: 5px 5px 16px 0px rgba(132, 132, 132, 0.18);
	box-shadow: 5px 5px 16px 0px rgba(132, 132, 132, 0.18);
}
.keyboard .number span:active i.delete {
	box-shadow: 0 0 0 0;
	-webkit-box-shadow: 0 0 0 0;
	-moz-box-shadow: 0 0 0 0;
	-ms-box-shadow: 0 0 0 0;
	transform: translateY(0px);
}
.keyboard .number span:active i.delete img {
	transtiion: 250ms;
}
.keyboard .number span:active i.delete:active img {
	transform: translateY(2px);
}

.hide {
	opacity: 0;
	visibility: hidden;
	height: 0;
	overflow: hidden;
}

div:where(.swal2-container) div:where(.swal2-popup) {
	border-radius: 0px !important;
}

.hide {
	display: none;
}

.table.table-bordered {
	border-collapse: separate;
	/* border-width: 1px; */
	border-spacing: 0px;
}

.table.table-bordered {
	/* border: 1px solid #b6b6b6; */
}

.table.table-bordered th {
	background-color: #ddd;
	text-align: center;
	border: 0px;
	border-right: 1px solid #b6b6b6;
	border-top: 1px solid #b6b6b6;
}

.table.table-bordered th:first-child {
	border-left: 1px solid #b6b6b6;
}

.table.table-bordered th:last-child {
	border-right: 1px solid #b6b6b6;
}
.table.table-bordered td {
	border: 0px;
	border-top: 1px solid #b6b6b6;
	border-right: 1px solid #b6b6b6;
	background-color: transparent;
}

.table.table-bordered td:first-child {
	border-left: 1px solid #b6b6b6;
}

.table.table-bordered td:last-child {
	border-right: 1px solid #b6b6b6;
}
.table.table-bordered tr:last-child td {
	border-bottom: 1px solid #b6b6b6;
}

/* Loader */
/* HTML: <div class="loader"></div> */
.loader {
	width: 60px;
	aspect-ratio: 4;
	--_g: no-repeat
		radial-gradient(circle closest-side, var(--primary-color) 90%, #0000);
	background: var(--_g) 0% 50%, var(--_g) 50% 50%, var(--_g) 100% 50%;
	background-size: calc(100% / 3) 100%;
	animation: l7 1s infinite linear;
}
@keyframes l7 {
	33% {
		background-size: calc(100% / 3) 0%, calc(100% / 3) 100%, calc(100% / 3) 100%;
	}
	50% {
		background-size: calc(100% / 3) 100%, calc(100% / 3) 0%, calc(100% / 3) 100%;
	}
	66% {
		background-size: calc(100% / 3) 100%, calc(100% / 3) 100%, calc(100% / 3) 0%;
	}
}

.zoom {
	animation: zoom 2s infinite;
}

@keyframes zoom {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
	}
}

.shadow {
	box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.xox::-webkit-scrollbar {
	width: 5px;
}

.scrollbox::-webkit-scrollbar-thumb {
	background: var(--border-color);
	border-radius: 10px;
}

.scrollbox::-webkit-scrollbar-track {
	background: var(--gray-100);
}

.btn-gray {
	background-color: #e2e2e2;
}

/* Datepicker */
.datepicker {
	box-shadow: var(--shadow);
	border: 0px;
	/* border-radius: 12px; */
	padding: 0px !important;
	overflow: hidden;
}
.datepicker thead {
	background-color: var(--primary-color);
	border: 0px;
	color: #fff;
	font-weight: 400;
	padding: 12px !important;
}
.datepicker .next,
.datepicker .prev {
	color: #ddd;
}
.datepicker .dow {
	font-weight: 600;
	font-size: 0.8rem;
}
.datepicker thead,
.datepicker tbody {
	padding: 12px !important;
	display: list-item;
}
.datepicker .datepicker-switch:hover,
.datepicker .next:hover,
.datepicker .prev:hover,
.datepicker tfoot tr th:hover {
	background-color: var(--primary-color);
}
.datepicker table tr td.active.active {
	background-color: var(--primary-color) !important;
	background: none;
	border-radius: 50%;
}
.datepicker td,
.datepicker th {
	width: 48px;
	height: 48px;
	border-radius: 0px;
	font-size: 12px;
}
.datepicker .datepicker-switch {
	font-size: 1.2rem;
	padding: 10px;
}
.datepicker th {
	font-weight: 400;
}
.datepicker table tr td.new,
.datepicker table tr td.old {
	color: #ddd;
}
.datepicker table tr td.today {
	background-color: #ddd !important;
	background: none;
	border-radius: 50%;
}

div:where(.swal2-container).swal2-backdrop-show,
div:where(.swal2-container).swal2-noanimation {
	backdrop-filter: blur(2px);
	/* background: #4b4b4b5e !important; */
}
div:where(.swal2-container) h2:where(.swal2-title) {
	font-size: 1.2rem !important;
}
div:where(.swal2-container) .swal2-html-container {
	color: #818181 !important;
	font-size: 14px !important;
	line-height: 1.5rem !important;
}
div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm {
	background-color: #fff !important;
	border: 0px;
	border-radius: 0px !important;
	font-size: 1rem !important;
	box-shadow: none;
	color: var(--primary) !important;
	width: 100%;
	border-right: 1px solid #ddd !important;
	margin: 0px !important;
	padding: 18px 0px !important;
	border-top: 1px solid #ddd !important;
}
div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel {
	background-color: #fff !important;
	border: 0px;
	border-radius: 0px;
	font-size: 1rem;
	color: var(--bs-danger) !important;
	box-shadow: none;
	width: 100%;
	margin: 0px !important;
	padding: 18px 0px !important;
	border-radius: 0px !important;
	border-top: 1px solid #ddd !important;
}
div:where(.swal2-container).swal2-center > .swal2-popup {
	border-radius: 28px !important;
	background-color: #ffffff !important;
	backdrop-filter: blur(2px) !important;
	padding-bottom: 0px;
	overflow: hidden;
}

div:where(.swal2-container) div:where(.swal2-actions) button {
	min-width: 100px !important;
}

.swal2-icon div {
	background-color: transparent !important;
}

div:where(.swal2-icon).swal2-success [class^="swal2-success-line"] {
	background-color: var(--primary) !important;
}

div:where(.swal2-icon).swal2-success [class^="swal2-success-line"] {
	background-color: var(--primary) !important;
}

div:where(.swal2-icon).swal2-success {
	border-color: var(--primary) !important;
	color: var(--primary) !important;
}
div:where(.swal2-container)
	div:where(.swal2-actions):not(.swal2-loading)
	.swal2-styled:active {
	background-image: none !important;
}

div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm:focus {
	box-shadow: none !important;
}
div:where(.swal2-container) button:where(.swal2-styled).swal2-cancel:focus {
	box-shadow: none !important;
}

.swal2-actions {
	display: flex !important;
	justify-content: center;
	width: 100%;
	flex-wrap: nowrap;
	/* border-top: 1px solid #ddd; */
}

.custom-check .checkbox {
	--bg: #fff;
	--brdr: #d1d6ee;
	--brdr-actv: #1e2235;
	--brdr-hovr: #bbc1e1;
	--dur: calc((var(--size, 2) / 2) * 0.6s);
	display: inline-block;
	width: calc(var(--size, 1) * 22px);
	position: relative;
}
.custom-check .checkbox:after {
	content: "";
	width: 100%;
	padding-top: 100%;
	display: block;
}
.custom-check .checkbox > * {
	position: absolute;
}
.custom-check .checkbox input {
	-webkit-appearance: none;
	-moz-appearance: none;
	-webkit-tap-highlight-color: transparent;
	cursor: pointer;
	background-color: var(--bg);
	border-radius: calc(var(--size, 1) * 4px);
	border: calc(var(--newBrdr, var(--size, 1)) * 1px) solid;
	color: var(--newBrdrClr, var(--brdr));
	outline: none;
	margin: 0;
	padding: 0;
	transition: all calc(var(--dur) / 3) linear;
}
.custom-check .checkbox input:hover,
.custom-check .checkbox input:checked {
	--newBrdr: calc(var(--size, 1) * 2);
}
.custom-check .checkbox input:hover {
	--newBrdrClr: var(--brdr-hovr);
}
.custom-check .checkbox input:checked {
	--newBrdrClr: var(--brdr-actv);
	transition-delay: calc(var(--dur) / 1.3);
}
.custom-check .checkbox input:checked + svg {
	--dashArray: 16 93;
	--dashOffset: 109;
}
.custom-check .checkbox svg {
	fill: none;
	left: 0;
	pointer-events: none;
	stroke: var(--stroke, var(--border-active));
	stroke-dasharray: var(--dashArray, 93);
	stroke-dashoffset: var(--dashOffset, 94);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2px;
	top: 0;
	transition: stroke-dasharray var(--dur), stroke-dashoffset var(--dur);
}
.custom-check .checkbox svg,
.custom-check .checkbox input {
	display: block;
	height: 100%;
	width: 100%;
}

.custom-check input + label svg path {
	fill: none;
	stroke: var(--primary);
	stroke-width: 6px;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-dasharray: 100;
	stroke-dashoffset: 101;
	transition: all 250ms cubic-bezier(1, 0, 0.37, 0.91);
}

.swal2-actions.swal2-loading {
	margin-bottom: 12px;
}
