html, body, .vue-wrap {
	touch-action: pan-x pan-y;
}
body {
	background: #FFF;
	font-family: 'montserrat';
}
.content{
	position: relative;
	padding-top: 14px;
	padding-bottom: 50px;
	margin: 0 auto;
}
.content-go{
	border: none;
  	border-radius: 0px;
}
.content-full{
	padding: 0;
	margin-top: -15px;
}
.content-filter-btn{
	position: absolute;
	cursor: pointer;
	top: 15px;
	right: 5px;
	width: 58px;
	height: 40px;
}
.content > .btn:after{
	display: none;
}
#main{
	padding: 0;
}
.login-success{
	
}
.btn-login-signup{
	margin: 10px;
}
.signup-captcha input[type=text]{
	margin-top: 5px;
}
.under_construction{
	font-size: 30px;
	text-align: center;
}

/* --------------- swal alerts --------------- */ 
.swal-footer{
	text-align: center;
}
.swal-title{
	font-size: 20px;
	text-transform: uppercase;
}

/* --------------- welcome popup --------------- */ 

.welcome-popup {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #28a745; /* Green background */
    color: white;
    padding: 10px 40px;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.fade-enter-active, .fade-leave-active {
    transition: opacity 0.5s;
}
.fade-enter, .fade-leave-to {
    opacity: 0;
}

/* --------------- contact page --------------- */ 
.contact-options{
	display: flex;
  flex-direction: row; /* Side-by-side on desktop */
  justify-content: space-between; /* Pushes items to opposite sides */
  gap: 5px; /* Space between the two divs */
}
/* Style the sub-sections */
.contact-info, .contact-hours {
  flex: 1; /* Each takes equal space; adjust as needed */
}
.contact-text > div{
	font-size: 16px;
	padding-bottom: 5px;
	max-width: 350px;
}
.bi-clocks{
	border-radius: 10px;
	border: 1px solid #ccc;
	width: 240px !important;
	max-height: 110px;
	padding: 10px 15px;
}
.contact-message{
	max-width: 600px;
	margin: 0 auto;
}
.contact-hours{
	font-size: 16px;
}
.contact-hours td{
	padding-left: 15px;
}


.contact-map {
    width: 350px;
    height: 200px;
    border: 1px solid #d42022;
    border-radius: 10px;
}


/* ----------------------- Footer ---------------------- */
.main-order-notice{
	background-color: #e8f0e8;
	color: #2f4f4f;
	font-size: 18px;
	padding: 5px;
	margin: 5px 0;
	text-align: center;
	border-radius: 10px;
}
.footer {
	background-color: #e8f0e8;
	color: #2f4f4f;
}
.footer-text{
	padding-top: 10px;
	font-size: 18px;
}
.footer-text span{
	font-weight: 500;
}
.footer a{
	color: #2f4f4f !important;
	font-size: 18px;
}
.footer .social-media a{
	font-size: 26px;
}
.footer .social-media{
	padding-bottom: 15px;
}
.footer .footer-links{
	padding-bottom: 15px;
}

.footer .container-fluid {
    display: flex;
    flex-direction: column;
    min-height: 100%; /* Ensures container takes full height of footer */

}
.footer-bottom {
    margin-top: auto; /* Pushes this section to the bottom */
}

/* --------------- facebook login custom / laravel socialite --------------- */ 
.fb-login-button { z-index: 10; cursor: pointer; text-align: center; }
.fb-login-button iframe { z-index: -2; }

/* ----------------------- Top Nav ---------------------- */
.navbar-fixed-top{
	border-bottom: 1px solid #e7e7e7;
	padding: 0 10px 0px 10px;
	height: 75px;
}
.navbar-brand{
	position: absolute;
	left: 15px;
}
.navbar-brand img{
	width: 140px;
}
.order-now-btn{
	position: absolute;
	top: 20px;
	right: 70px;
}
.main-nav-links{
	font-family: 'Neucha' !important;
	width: 100%;
	text-align: center;
	margin-top: 10px;
}
.main-nav-links a{
	color: #d42022;
	font-size: 18px;
	font-weight: bold;
	margin: 0 15px;
	letter-spacing: 2px;
}
.main-nav-links a:hover{
	color: #d42022 !important;
}
.main-nav-links-order{
	text-align: left;
	margin-left: 200px;
	width: 400px;
}
.navbar-toggler{
	position: absolute;
	right: 10px;
	cursor: pointer;
	border: none;
	margin-top: 7px;
}
.navbar-toggler-icon{
	background: url("../img/menu.png") !important;
	background-size: 30px !important;
	font-size: 20px;
}
.navbar-collapse{
	font-family: 'Neucha' !important;
	position: absolute;
	right: 25px;
}
.navbar-cart{
	margin: 0 auto;
	margin-top: 7px;
	padding: 5px 20px;
	border-radius: 7px;
	font-size: 18px;
	background-color: #FFF;
	color: #d42022;
	border-color: #d42022;
	font-weight: bold;
	letter-spacing: 1px;
	border: 1px solid #d42022;
	outline: none !important;
	border-radius: 20px;
}
.navbar-cart:hover{
	background-color: #d42022;
	color: #FFF;
}
.navbar-cart:active{
	background-color: #b5332d;
}

/* --------------- Sidenav --------------- */
.sidenav {
	font-family: 'Neucha' !important;
	display: none;
	height: 100%;
	width: 250px;
	position: fixed;
	z-index: 1500;
	top: 0;
	right: 0;
	background-color: #FFF;
	overflow-x: hidden;
	border-left: 1px solid #e7e7e7;
	border-top: 1px solid #e7e7e7;
	margin-top: 74px;
	overflow: visible;
}
.sidenav-logo{
	display: none;
	position: absolute;
	right: 20px;
	height: 55px;
	top: -65px;
	opacity: .5;
}
.sidenav a {
	text-transform: uppercase;
  padding: 14px 10px 14px 30px;
  text-decoration: none;
  font-size: 20px;
  font-weight: bold;
  color: #000;
  display: block;
  border-bottom: 1px solid #e7e7e7;
  letter-spacing: 2px;
}
.sidenav a:hover{
	text-decoration: underline;
}
.sidenav-social{
	position: absolute;
	bottom: 74px;
	height: 74px;
}
.sidenav-social a{
	font-size: 28px;
	padding: 15px 25px 15px 25px;
	width: 33.3%;
	float: left;
	text-align: center;
}
.sidenav-bottom{
	position: absolute;
	bottom: 0;
	padding-bottom: 66px;
	width: 100%;
	margin-bottom: 148px;
	text-align: center;
}
.sidenav-bottom a {
	font-size: 16px !important;
}
.sidenav-logout{
	text-align: center;
  position: absolute;
  bottom: 0;
  width: 100%;
  color: #d42022 !important;
  margin-bottom: 148px;
}
.sidenav .sidenav-close {
  position: absolute;
  top: 10px;
  padding: 0;
  height: 40px;
  right: 25px;
  font-size: 60px;
  line-height: 45px;
  border: 0px;
}
.sidenav .sidenav-close:hover{
	background: #FFF !important;
	color: #000 !important;
}
/* ------------------ Dropdown ------------------ */
.dropdown-menu{
	width: 200px;
	border-radius: 7px;
	overflow: hidden;
	left: inherit;
	top: 53px;
	right: -11px;
	border-top-left-radius: 0px;
	border-top-right-radius: 0px;
}
.navbar .dropdown-menu{
	text-transform: uppercase;
	font-size: 20px;
	letter-spacing: 1px;
}
.navbar .dropdown-menu a{
	padding: 10px 20px;
}
.dropdown-logout{
	color: #d42022 !important;
	padding: 5px 20px !important;
}
.dropdown-menu label{
	font-size: 20px;
	font-family: 'Neucha' !important;
	letter-spacing: 0px;
	padding-left: 10px;
}
.dropdown-select{
	margin: 7px;
}
.dropdown-menu label{
	color: #000;
}
.dropdown-header{
	font-family: 'Neucha', sans-serif;
	font-size: 16px;
	font-weight: bold;
	padding: 9px 15px;
	border-bottom: 1px solid #e7e7e7;
	color: #444;
	text-transform: uppercase;
	letter-spacing: 2px;
	margin-bottom: 7px;
}
#navbarDropdown{
	margin-top: 10px;
}
.dropdown-item{
	font-weight: bold;
  color: #000;
}
.dropdown-item:hover{
	background-color: #FFF;
	text-decoration: underline;
}
/* ---------------------- Home ------------------------  */
.home-top-text h1{
	font-size: 24px;
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
	padding-top: 30px;
	padding-bottom: 5px;
	color: #d42022;
	letter-spacing: 1px;
}
.mobile-br{
	display: none;
}


/* --------------------- HERO VIDEO -------------- */

	.hero-video {
	    position: relative;
	    width: 100%;
	    height: 60vh;
	    overflow: hidden;
	}

	.hero-video video {
	    width: 100%;
	    height: 100% !important;
	    object-fit: cover; /* Ensures the video fills the space nicely */
	}

	.video-caption {
	    position: absolute;
	    bottom: 20px;
	    left: 50%;
	    transform: translateX(-50%);
	    text-align: center;
	    color: #fff;
	    text-shadow: 0 0 5px rgba(0, 0, 0, 0.7); /* Readable on video */
	    font-size: 1.2rem;
	    padding: 10px;
	}

	@media (max-width: 768px) {
	    .hero-video {
	        height: 35vh; /* Smaller on mobile */
	    }
	    .video-caption {
	        font-size: 1rem;
	    }
	}

	/* --------------------- END HERO VIDEO -------------- */


.home-products{
	margin-top: 25px;
	padding: 0;
	margin-bottom: 50px;
}
.home-section{
	padding: 0 30px;
	position: relative;
	text-align: center;
}
.home-section h5{
	color: #d42022;
	font-size: 24px;
	text-transform: uppercase;
	font-weight: bold;
	letter-spacing: 1px;
}
.home-section p{
	font-size: 20px;
}
.home-section-2{
	margin-bottom: 25px;
}
.no-items-message{
	font-size: 20px;
	text-align: center;
}


/* Popup styling */
.detail-popup {
    position: absolute !important;
    z-index: 1000 !important;
    background: white !important;
    border: 1px solid #d42022 !important;
    border-radius: 20px !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2) !important;
    text-align: center !important;
}

.popup-details > div {
    font-size: 20px !important;
    color: #d42022 !important;
    font-weight: bold !important;
}
.popup-details > span {
    font-size: 18px !important;
}

.popup-content {
    padding: 10px !important;
    padding-right: 20px !important;
    padding-left: 20px !important;
    position: relative !important;
}

.popup-arrow {
    position: absolute !important;
    bottom: -10px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 10px solid transparent !important;
    border-right: 10px solid transparent !important;
    border-top: 10px solid #d42022 !important;
    z-index: 1001 !important;
}

.popup-arrow::before {
    content: '' !important;
    position: absolute !important;
    top: -11px !important;
    left: -11px !important;
    width: 0 !important;
    height: 0 !important;
    border-left: 11px solid transparent !important;
    border-right: 11px solid transparent !important;
    border-top: 11px solid #FFF !important;
}

.close-btn {
    position: absolute !important;
    top: 5px !important;
    right: 12px !important;
    cursor: pointer !important;
    font-size: 16px !important;
    font-weight: bold !important;
}






/* ---------------------- General Syling ------------------------  */
.page-title{
	font-family: 'Neucha' !important;
	text-transform: uppercase;
	text-align: center;
	font-size: 24px;
	color: #585248;
	letter-spacing: 2px;
	margin-top: 5px;
	margin-bottom: 15px;
	color: #d42022;
	font-weight: bold;
}
.page-subtitle{
	text-align: center;
	font-size: 20px;
	color: #555;
	margin-top: -18px;
	margin-bottom: 15px;
}
.section-title{
	font-family: 'Neucha' !important;
	font-size: 16px;
	font-weight: bold;
	color: #d42022;
	border-bottom: 1px solid #d42022;
	text-align: center;
	margin-bottom: 10px;
	text-transform: uppercase;
	letter-spacing: 2px;
}
.section-title-2{
	font-size: 20px;
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
	color: #d42022;
	letter-spacing: 2px;
	padding-top: 20px;

}
.section-title-2-subtitle{
	font-size: 16px;
	color: #444;
	letter-spacing: 2px;
	text-align: center;
	margin-top: -10px;
}
.lined-sides {
   width: 100%; 
   text-align: center; 
   border-bottom: 1px solid #ccc !important; 
   line-height: 0.1em;
   margin: 10px 0 20px;
} 
.lined-sides span { 
    background:#fff; 
    padding:0 10px; 
}
.contact .lined-sides {
	border-bottom: 1px solid #ccc; 
}
.styled-select{
	background: transparent;
    background-image: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  	appearance: none;
	background: url("../img/arrow-down.png") no-repeat 95% 50%;
	background-size: 22px;
	color: #d42022;
	font-weight: bold;
	letter-spacing: 1px;
	width: 75px;

	border-radius: 10px;
}
.no-border{
	border: none !important;
}
.btn{
	cursor: pointer;
}
.bold{
	font-weight: bold;
}
.alert{
	text-align: center;
	letter-spacing: 1px;
}
.modal input{
	max-width: 100% !important;
	letter-spacing: 1px;
}
.modal .form-group div{
	max-width: 100% !important;
}
.modal .lined-sides {
	padding-top: 20px;
	font-size: 20px;
}
.modal .btn-rappit{
	font-size: 16px;
	padding: 7px 20px;
}
.modal-header{
	border-bottom: 0px;
	margin: 0 auto;
}
.modal-header img{
	width: 100%;
}
.modal-symbols {
	position: relative;
	top: -5px;
	text-align: center;
	margin-bottom: 10px;
}
.modal-symbols img{
	width: 36px;
	height: 36px;
}
.modal-header .close{
	position: absolute;
	right: 20px;
}
.modal-body{
	padding-top: 0px;
}
.modal-title{
	border-bottom: 0px;
	font-family: 'Neucha' !important;
	font-weight: bold;
	font-size: 26px;
	color: #d42022;
	letter-spacing: 1px;
	margin: 0 auto;
	text-transform: uppercase;
}
.modal-subtitle{
	text-align: center;
	padding: 0px 40px;
}
.modal-footer-text{
	font-size: 18px;
	text-align: center;
}
.modal-body .alert{
	font-size: 14px;
}
.invalid-feedback{
	display: block !important;
}

.btn-to-top{
	opacity: .9;
}
.pagination{
	margin-top: 20px;
}
.page-item a{
	width: 35px;
	text-align: center;
	color: #d42022 !important;
}
.page-item.active a{
	background-color: #d42022 !important;
	color: #FFF !important;
	border-color: #d42022 !important;
}
[v-cloak] {
  display: none;
}
.filter-button{
	background-image: url("../img/filter.png");
	background-size: 34px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-color: inherit;
	border: none;
}
.filter-dropdown{
	transform: none !important;
	top: 55px !important;
	right: 0px !important;
	left: initial !important;
}
.calendar-button{
	background-image: url("../img/calendar2.png");
	background-size: 24px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-color: inherit;
}
.month-picker__container{
	max-width: 280px !important;
	font-family: initial !important;
}
.month-picker__year p{
	font-size: 20px !important;
	margin: 0px !important;
	padding: 10px 0 !important;
	font-family: sans-serif !important;
	font-weight: normal !important;
}
.month-picker__year button{
	background-color: #FFF !important;
	height: 40px !important;
	width: 70px !important;
	font-size: 24px !important;
	font-weight: bold !important;
}
.month-picker__month {
	font-size: 20px !important;
	flex-basis: 33.333% !important;
	padding: 0.60em 0.25em !important;
}
.order-note{
	padding-top: 10px;
}
.order-note .details-text{
	padding: 8px 0;
}


/* --------------- icons --------------- */
.bi-check-circle:before{
	color: green;
}
.bi-patch-check:before{
	color: green;
}
.bi-x-circle:before{
	color: darkred;
}
.bi-arrow-right{
	color: #d42022;
	font-size: 24px;
	line-height: 16px;
	vertical-align: middle;
}
/* --------------- General Buttons --------------- */
.btn-rappit{
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 1px;
	border-radius: 20px;
	border: 1px solid #d42022;
	padding: 7px 25px;
	color: #FFF !important;
	background: #d42022;
	text-transform: uppercase;
}
.btn-rappit:hover{
	text-decoration: none;
	background: #bd1d1e;
}
.btn-rappit-2{
	padding: 3px 25px;
	border-radius: 20px;
	background: none;
	border: 1px solid #bd1d1e !important;
	color: #d42022 !important;
	font-weight: bold;
	text-transform: uppercase;
}
.btn-rappit-2:hover{
	color: #FFF !important;
	background: #bd1d1e !important;
}
.btn-rappit-2.active{
	color: #FFF !important;
	background: #bd1d1e !important;
}
.back-btn{
	background: url("../img/back.png") !important;
	background-size: 30px !important;
	width: 30px;
	height: 30px;
	position: absolute;
	margin-top: 5px;
	cursor: pointer;
}
/* --------------- General Checkbox --------------- */
.checkbox-label{
	display: grid;
  grid-template-columns: 1em auto;
  gap: 0.75em;
  cursor: pointer;
  margin-bottom: 10px;
}
.checkbox-label input[type="checkbox"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #fff;
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.35em;
  height: 1.35em;
  border: 0.15em solid lightgrey;
  border-radius: 0.15em;
  transform: translateY(-0.075em);
  display: grid;
  place-content: center;
  margin-top: 2px;
  cursor: pointer;
}
.checkbox-label input[type="checkbox"]::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  transform: scale(0);
  transition: 120ms transform ease-in-out;
  box-shadow: inset 1em 1em #d42022;
  transform-origin: bottom left;
  clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}
.checkbox-label input[type="checkbox"]:checked::before {
  transform: scale(1);
}
.checkbox-label input[type="checkbox"]:disabled {
  color: red;
  cursor: not-allowed;
}
.checkbox-label:has(input[type="checkbox"]:disabled) {

}
/* --------------- preloader ---------------  */

.spinner {
  margin: 50px auto 0;
  width: 70px;
  text-align: center;
}

.spinner > div {
  width: 18px;
  height: 18px;
  background-color: #ef453e;

  border-radius: 100%;
  display: inline-block;
  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.spinner .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.spinner .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% { -webkit-transform: scale(0) }
  40% { -webkit-transform: scale(1.0) }
}

@keyframes sk-bouncedelay {
  0%, 80%, 100% { 
    -webkit-transform: scale(0);
    transform: scale(0);
  } 40% { 
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
  }
}

/* --------------- Order Menu Title ---------------  */
.menu-for .page-title{
	
}
.menu-no-products{
	margin-top: 20px !important;
	text-align: center;
	font-size: 24px;
}
.order-menu-select{
	text-align: center;
}
.order-menu-select .page-title{
	display: inline-block;
}
.order-menu-select span{
	color: #585248;
	font-size: 20px;
	padding: 2px;
	position: relative;
	bottom: 1px;
}
.order-menu-day{
	font-size: 22px;
	font-family: 'Neucha' !important;
	line-height: 50px;
	font-weight: bold;
	display: inline-block;
	width: 250px;
	height: 100% !important;
	padding: 0px 10px;
	padding-top: 3px;
	text-transform: uppercase;
}

/* --------------- order Menu ---------------  */
.order-menu{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.order-menu-product{
	position: relative;
	min-height: 125px;
	width: 100%;
	display: flex;
  flex-wrap: wrap;
  padding-top: 15px;
  padding-bottom: 15px;
}
.order-menu-product-top{
	width: 100%;
}
.order-menu-product-left{
	width: 115px;
}
	.order-menu-product-img{
		border: 1px solid #d42022;
		border-radius: 60px;
		overflow: hidden;
		height: 110px;
		width: 110px;
		cursor: pointer;
	}
	.order-menu-product-img img{
		height: 110px;
	}
	.order-menu-product-symbols{
		margin-bottom: 5px;
	}
	.order-menu-product-symbols > img{
		margin: 0px;
	}
.order-menu-product-right{
	position: absolute;
    top: 15px;
    left: 170px;
}
		.order-menu-product-title{
			display: inline-block;
			font-family: 'Neucha' !important;
			font-size: 22px;
			font-weight: bold;
			line-height: 30px;
			cursor: pointer;
			text-transform: uppercase;
			font-weight: 500 !important;
		}
		.order-menu-product-type{
			letter-spacing: 1px;
			font-size: 16px;
			color: #786259;
		}
		.order-menu-product-badge{
			position: absolute;
			left: 0;
			display: inline-block;
			font-size: 14px;
			font-weight: bold;
			background-color: #d42022;
			color: #FFF;
			border-radius: 10px;
			padding: 0 5px;
		}
	.order-menu-product-middle{
			font-size: 18px;
			letter-spacing: 1px;
			font-weight: 500;
			display: flex;
			color: #777;
	}
	.order-menu-product-middle div{
		margin-top: 5px;
		margin-left: 10px;
		margin-right: 30px;
	}

	.order-menu-product-bottom{
		display: inline-block;
		margin-top: 10px;
	}
			.order-menu-product-info{
				margin-right: 7px;
				padding: 0;
				background-color: #FFF;
			}
			.add-to-bag{
				padding: 5px 0;
			}
		.add-to-bag button{
			width: 110px;
			font-size: 15px;
			padding: 3px 15px;
			padding-top: 4px;
			letter-spacing: 1px;
			font-weight: 500;
			text-transform: none !important;
		}
		.add-to-bag button:before{
			padding-right: 5px;
		}
		.choose-qty-container{
			border-top: 1px solid #d42022;
			width: 95%;
		}
		.choose-qty{
			text-align: center;
			padding-top: 6px;
			font-size: 18px;
			color: #444;
	    	font-weight: bold;
	    	text-transform: uppercase;
	    	height: 55px;
	    	clear: both;
	    	border-bottom: 1px solid #ccc;
		}
		.product-size-name{
			font-size: 18px;
			padding-top: 8px;
			display: inline-block;
			letter-spacing: 1px;
			float: left;
		}
		.product-size-price{
			display: inline-block;
			color: #786259;
			padding-left: 5px;
			padding-top: 7px;
			font-size: 18px;
			float: right;
			font-weight: 600;
		}
		.choose-qty select{
			font-size: 20px;
			display: inline-block;
			margin-left: 10px;
			padding-left: 4px;
			text-align: center;
			text-align-last: center;
			height: 42px;
			float: right;
		}
		.order-menu-product .modal-title{
			font-size: 22px;
			position: relative;
			top: -6px;
			text-align: center;
			letter-spacing: 1px;
			text-transform: uppercase;
		}

.product-qty{
	float: left;
	margin-left: 0px;
	z-index: 100;
}
.product-qty input{
	text-align: center;
  width: 60px !important;
  position: absolute !important;
  top: -2px;
  left: 30px;
  z-index: 1000;
  border-radius: 25px !important;
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 3px !important;
}
.input-group-btn button{
	border-radius: 5px;
}
.input-group-btn-plus{
	margin-left: 45px;
}
.qty-plus{
	height: 38px;
	width: 38px;
	background-image: url("../img/add.png");
	background-size: 14px;
	background-repeat: no-repeat;
	background-position: 11px 11px;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
.qty-minus{
	height: 38px;
	width: 38px;
	background-image: url("../img/minus.png");
	background-size: 14px;
	background-repeat: no-repeat;
	background-position: 11px 11px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}
#modal-meal-deals{
	font-size: 18px;
}
#modal-meal-deals .modal-body-text{
	margin: 20px;
	text-align: center;
	letter-spacing: 1px;
}
#modal-meal-deals .modal-footer-text{
	font-size: 16px;
}
.order-discounts{
	padding: 6px 20px;
	margin: 15px 0;
	font-size: 16px;
	font-weight: 500;
	text-transform: uppercase !important;
	letter-spacing: 0 !important;
}
/* --------------- Gallery ---------------  */
.gallery{
	margin-top: 15px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	align-items: center;
	/*justify-content: center;
	/*grid-auto-rows: 90px;
	/*grid-auto-flow: row;*/
}
.product-type{
	position: relative;
	cursor: pointer;
	height: 90px;
	text-align: center;
	overflow: hidden;
}
.product-type-img{
	position: absolute;
	left: 0;
	top: -50%;
    width: 100%;
}
.product-type-img-overlay{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color:rgba(0, 0, 0, .1);
}
.product-type-img-overlay:hover{
	background-color:rgba(0, 0, 0, 0);
}
.product-type-text{
	font-family: 'Neucha' !important;
	position: relative;
	display: inline-block;
	margin: 0 auto;
	top: 18px;
	text-align: center;
  	padding: 0 11px;
  	border-radius: 12px;
	font-size: 26px;
	background-color:rgba(0, 0, 0, .45);
	color: #FFF;
	font-weight: 500;
	text-transform: uppercase;
}
.gallery-products{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
.gallery-product{
	cursor: pointer;
 	margin-bottom: 7px;
	min-height: 87px;
}
.gallery-product-left{
	position: absolute;
}
	.gallery-product-img{
		border: 1px solid #d42022;
		border-radius: 20px;
		overflow: hidden;
		height: 80px;
	}
	.gallery-product-img img{
		height: 80px;
	}
.gallery-product-right{
	margin-left: 135px;
}
	.gallery-product-top{
		margin-top: 4px;
	}
		.gallery-product-title{
			font-family: 'Neucha' !important;
			display: inline-block;
			font-size: 22px;
			font-weight: bold;
			line-height: 34px;
			font-weight: 500;
			text-transform: uppercase;
		}
	.gallery-product-bottom{
		margin-bottom: 7px;
	}
		.gallery-product-symbols{
			display: inline-block;
			margin-top: 5px;
			margin-left: 5px;
		}
		.gallery-product-symbols > img{
			margin-right: 5px;
		}

		.gallery-product-subtype{
			display: inline-block;
			padding-left: 5px;
			line-height: 34px;
			vertical-align: top;
			font-size: 16px;
			color: #777;
		}
/* --------------- Pickup / Delivery ---------------  */
.pickup-delivery{
	font-size: 18px;
}
.pickup-options{

}
.pickup-delivery-btns{
	margin-bottom: 15px;
	text-align: center;
	font-size: 22px;
	letter-spacing: 1px;
}
.pickup-btn, .delivery-btn{
	display: inline-block;
	cursor: pointer;
	margin: 0 10px;
}
.pickup-delivery-days{
	margin: 25px 0;
	margin-bottom: 15px;
}
.zip-invalid{
	white-space:pre;
}
.zip-invalid:after{
	content: "Sorry, we can't deliver to your area.\A  Please contact us at 559-629-5189.";
	color: #d42022;
}
.address-choose select{
	color: #000;
	font-weight: normal;
}
.address-new button{
	margin-top: 2px;
	float: right;
}
.address-new input{
	font-size: 20px;
}
.pickup-delivery-info{
	font-size: 20px;
}
.order-date-options{
	padding-left: 15px;
	letter-spacing: 1px;
}
.delivery-time{
	margin-bottom: 10px;
}
.delivery-time label{
	width: 100%;
	cursor: pointer;
}
.delivery-time input{
	display: inline-block;
	width: 22px;
	margin-right: 10px;
	margin-left: 15px;
	font-size: 5px;
}
.delivery-options .addresses{
	margin-left: 15px;
}
.delivery-note input{
	margin-left: 15px;
}
.details-text{
	font-style: italic;
	font-size: 16px;
	color: #444;
}
.delivery-error{
	color: darkred;
}
/* --------------- Cart ---------------  */
.cart{
	margin-bottom: 15px;
}
.total-dollars{
	display: inline-block;
	float: right;
}
.list-row{

}
.row-title{
	font-size: 20px;
	font-weight: 500;
	border-bottom: 1px solid #ddd;
	width: 100%;
	padding: 6px 0;
	height: 44px;
}
.row-title-text{
	float: left;
}
.row-title-text:before{
	padding-right: 4px;
}
.row-total{
	font-size: 18px;
	padding-top: 6px;
	font-weight: 600;
}
.arrow-right:after, .arrow-down:after{
	content: '';
	background-size: 30px 30px;
	background-repeat: no-repeat;
	width: 30px;
	height: 30px;
	position: relative;
	display: inline-block;
	left: 4px;
	top: 6px;
}
.arrow-right-2:after, .arrow-down-2:after{
	content: '';
	background-size: 14px 14px;
	background-repeat: no-repeat;
	width: 14px;
	height: 14px;
	position: relative;
	display: inline-block;
	left: 8px;
	top: 1px;
}
.arrow-right:after{
	background-image: url("../img/arrow-right.png");
}
.arrow-down:after{
	background-image: url("../img/arrow-down.png");
}
.arrow-right-2:after{
	background-image: url("../img/arrow-right-black.png");
}
.arrow-down-2:after{
	background-image: url("../img/arrow-down-black.png");
}
.row-title-no-arrow:after{
	background-image: none !important;
}
.row-collapse{
	margin-top: 3px;
	margin-bottom: 3px;
	padding-left: 20px;
	<!--display: none;-->
}
.row-collapse > div, .row-collapse-section > div{
	padding: 3px 0px 3px 0px;
	border-bottom: 1px solid #ddd;
	font-size: 16px;
	margin-left: 10px;
}

.row-collapse-section > span{
	font-style: italic;
	color: #d42022;
}
.row-collapse-text{
	font-size: 16px;
	display: inline-block;
	letter-spacing: 0;
}
.row-collapse-dollars{
}
.discount-row{
	color: green !important;
	font-weight: bold;
}

.grand-total{
	font-weight: 600;
	font-size: 20px;
	margin-top: 15px;
}
.grand-total-text{
	display: inline-block;
}

.cart-tip{
	border-bottom: 1px solid #ddd;
	padding-top: 10px;
	padding-bottom: 5px;
}
.cart-tip > label{
	font-size: 20px;
	font-weight: 500;
}
.cart-tip > label:before{
	padding-right: 4px;
}
.tip-more-info{
	margin-top: -10px;
	padding: 10px 0;
}
.tip-total{
	float: none;
	display: block;
	width: 100%;
	text-align: right;
	margin-top: 15px;
	font-size: 18px;
}
.tip-custom{
	border-top-right-radius: 20px !important;
	border-bottom-right-radius: 20px !important;
}
.tip-custom-input{
	width: 100px;
	height: 32px;
	margin-left: 10px;
}

.checkout-error{
	font-size: 22px;
	padding-top: 5px;
	color: darkred;
}

.wide-btn{
	display: block;
	font-weight: bold;
	font-size: 18px;
	margin: 0 auto;
	margin-top: 10px;
	border-radius: 20px;
	padding: 7px 0px;
	width: 100%;
	letter-spacing: 2px;
	text-transform: uppercase;
}
.wide-btn:before{
	padding-right: 0px;
}

/* --------------- Product ---------------  */
.product-img{
	border: 1px solid #d42022;
	border-radius: 5px;
	overflow: hidden;
	margin-bottom: 10px;
	height: 100%;
	max-width: 450px;
	margin: 0 auto;
	margin-bottom: 15px;
}
.product-img img{
	max-width: 100%;
}
.product-info{
}
.product-ingredients{
	font-size: 16px;
  	font-style: normal;
  	font-weight: 500;
	text-align: left;
	color: #4A4A4A;
	max-width: 700px;
}
.product-symbols{
	display: inline-block;
}
.product-symbols img{
	margin: 0 5px;
}

/* --------------- Orders ---------------  */
.orders-list-order{
	font-family: 'Neucha' !important;
	padding: 20px 25px 10px 25px;
	border: 1px solid #cecece;
	border-radius: 10px;
	cursor: pointer;
	transition: .3s;
	margin-bottom: 10px;
	position: relative;
}
.orders-list .arrow-right:after{
	background-size: 30px;
	position: absolute;
	left: 91% !important;
	top: 39%;
}
.orders-list-order:hover{
	background: #fbeeee;
}
.orders-list-order-content{
	width: 100%;
	font-size: 20px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
}
.orders-list-order-content div{
	display: flex;
	letter-spacing: 2px;
	padding-bottom: 10px;
}
.orders-list-order-content div:before{
	margin-right: 7px;
	margin-top: 4px;
}
/* --------------- Order ---------------  */
.order-details{
	border-bottom: 1px solid #cecece;
	font-size: 15px;
	padding-bottom: 7px;
	margin-bottom: 7px;
}
.order-details div:not(:last-child){
	padding-bottom: 7px;
}
.order-pickup-delivery{
	margin-top: 7px;
	padding-top: 5px;
}
.order-dates{
	font-weight: bold;
}
.order-product{
	padding: 5px 0;
}
.order-product:not(:last-child){
	border-bottom: 1px solid #e7e7e7;
}
.order-product-name{
	display: block;
}
.order-product-qty{
	display: inline-block;
}
.order-product-price{
	float: right;
}
.order .cart-totals{
	border: none;
}

.order-bottom{
	text-align: center;
	margin-top: 20px;
}
.order-paid{
	font-size: 28px;
	font-weight: bold;
	color: green;
	margin:20px 0;
	letter-spacing: 1px;
	text-align: center;
}
.order-error{
	font-size: 28px;
	font-weight: bold;
	color: darkred;
	margin: 20px 0;
	text-align: center;
}
.order a{
	display: inline-block;
	margin-bottom: 10px;
	font-size: 16px;
	letter-spacing: 1px;
}

/* --------------- Settings ---------------  */
.settings{
	padding-top: 5px;
}
.settings label{
	display: block;
}
.settings input{
	font-size: 18px;
}
.settings > div{
	padding-bottom: 10px;
}
.settings-name{
	display: flex;
}
.first-name{
	width: 50%;
	display: inline-block;
}
.last-name{
	flex-grow: 1;
	display: inline-block;
}
.settings-nav ul{
	width: 100%;
}
.settings-addresses{
	margin-top: 5px;
	padding-top: 10px;
}
.settings-address{
	position: relative;
	border-bottom: 1px solid #e7e7e7;
	font-size: 16px;
}
.settings-address-text{
	line-height: 40px;
	height: 40px;
	overflow: hidden;
	display: inline-block;
}
.settings-address-btn{
	line-height: 42px;
	font-size: 20px;
	display: inline-block;
	cursor: pointer;
	padding: 0 5px;
	vertical-align: top;
	float: right;
}
.content-title{
	font-family: 'Neucha' !important;
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #333;
}
.contact .content-title{
	padding-top: 10px;
	letter-spacing: 2px;
}

/* --------------- Privacy Policy ---------------  */
.privacy-policy h6{
	font-weight: bold;
}
/* --------------- About ---------------  */
.section{
	display: flex;
	justify-content:center;
	align-items: center;
	overflow: hidden !important;
}
.about-title{
	font-size: 26px;
	font-weight: bold;
	color: #d42022;
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 20px;
}
.section-text{
	font-size: 16px;
  	font-style: normal;
  	font-weight: 500;
	text-align: left;
	margin: 20px;
	margin-top: 0;
	color: #4A4A4A;
	max-width: 700px;
}
.section-text-wide{
	max-width: 900px;
	margin: 0 auto;
	padding: 0 20px;
}
.section-image{
	width: 100%;
	max-width: 500px;
	border-radius: 10px;
}
.section-image-scroll {
    width: 300vw;
    height: 350px; /* Adjust this height to control the window size */
    background-size: cover; /* Makes the image width match the div, height adjusts automatically */
    background-position: center; /* Initial position at top */
    background-repeat: no-repeat;
    border-radius: 10px; /* Retains the original border-radius */
    background-image: url('/img/top_view.jpg');
}
.quote{
	font-family: 'Special Elite', cursive;
	margin: 0 auto;
	max-width: 600px !important;
	padding: 20px 30px;
	border-radius: 10px;
	text-align: center;
}
blockquote {
	font-style: italic;
	text-align: center;
	font-weight: 100;
	font-size: 20px;
	line-height: 1.4;
	position: relative;
	padding: .5rem;
	margin-bottom: 5px;
}
blockquote:before {
	color: #efc4c2;
  position: absolute;
  content: open-quote;
  font-size: 4em;
  margin-left: -0.8em;
  margin-top: -0.4em;
}
blockquote:after {
	color: #efc4c2;
  position: absolute;
  content: close-quote;
  font-size: 4em;
  bottom: 0;
  right: 0;
  margin-right: -0.4em;
  margin-bottom: -0.8em;
}
cite {
	font-size: 18px;
	font-style: initial;
}

/* ------------------ Media Queries ------------------ */

@media (max-width: 767px){

	.settings-address{
		font-size: 14px;
	}

	.section-image, .section-image-scroll{
		border-radius: 0;
	}
	.section-image-scroll{
		height: 250px;
	}


	.home-top-text h1{
		font-size: 20px;
	}
	.mobile-br{
		display: block;
	}

	.home-section h5{
		font-size: 20px;
	}
	.home-section p{
		font-size: 18px;
	}

	.order-now-btn{
		font-size: 16px;
		margin-top: 2px;
		padding-left: 15px !important;
		padding-right: 15px !important;

	}
	.navbar-cart{
		
	}
	.main-nav-links{
		display: none;
	}
	.navbar-cart{
		position: absolute;
		right: 70px;
	}
	.menu-product:not(:last-child){
		border-bottom: 1px solid #e7e7e7;
	}
	.order-menu-product:not(:last-child){
		border-bottom: 1px solid #e7e7e7;
	}
	.section-title-br{
		display: block;
	}

  .row-collapse-text{
  	max-width: 265px;
		font-size: 16px;
	}

	.order-menu-product-right{
		top: 10px;
		left: 130px;
	}

	.cart-tip .btn {
		padding-left: 18px;
		padding-right: 18px;
	}
}

@media (max-width: 991px) {

	.hide-before-992{
		display: none !important;
	}

	.orders-list-order-content .bi-shop-window, .orders-list-order-content .bi-geo-alt {
		display: none;
	}
	/* bootstrap .fixed-bottom */
	.bottom-nav {
		position: fixed;
	  right: 0;
	  bottom: 0;
	  left: 0;
	  z-index: 1030;
	}
	.bottom-nav{
		padding: 0;
	}
	.bottom-nav > a, .bottom-nav > div{
		width: 100%;
	}
	.bottom-nav-left{
		width: 30%;
	}
	.bottom-nav-right{
		width: 70%;
	}
	.bottom-nav button{
		width: 100%;
		height: 50px;
		font-weight: bold;
		font-size: 26px;
		border-radius: 0;
	}


	.about{
		padding-left: 0;
		padding-right: 0;
	}
	.section{
		flex-direction: column;
		justify-content: center;
	}
	.section-reverse-mobile{
		flex-direction: column-reverse;
	}
	.section img{
		margin: 0 auto;
	}


	/*------------ contact----------*/
	  .contact-options {
	    flex-direction: column; /* Stack vertically on mobile */
	    justify-content: flex-start; /* Align to top */
	  }
	  .contact-text{
	  	margin: 0 auto;
	  	text-align: center;
	  }
	  .contact-info, .contact-hours {
	    flex: none; /* Reset flex for mobile */
	    width: 100%; /* Full width on mobile */
	  }

	  .contact-map {
	    width: 100%;
	    max-width: 500px;
	    margin: 0 auto;
	    margin-bottom: 10px;
	  }
	  .bi-clocks{
	  	margin: 0 auto;
	  }

}

@media (min-width: 768px) and (max-width: 992px){

	.main-nav-links{
		top: 22px;
	}
	/* --------------- Home Page ---------------  */
	.product-type{
		height: 140px;
	}
	.product-type-img{
		top: -25%;
	}
	.product-type-text{
		top: 50px;
	}
}

@media (min-width: 768px){
	.hide-after-768{
		display: none !important;
	}
	.order-menu-product{
		min-height: 160px;
	}
	.order-menu-product-left{
		width: 140px;
	}
	.order-menu-product-img{
		border: 1px solid #d42022;
		border-radius: 15px;
		height: 150px;
		width: 150px;
	}
	.order-menu-product-img img{
		height: 150px;
	}

	.order-note input{
		max-width: 400px;
	}

	.choose-qty{
  		margin: 0 15px;
	}

	.mobile-break { display: none; }

}

@media (min-width: 992px) {
	.hide-after-992{
		display: none !important;
	}
	.content-small{
		max-width: 600px;
		margin: 0 auto;
	}
	.btn-continue{
		padding: 5px 0;
		max-width: 300px;
	}
	/* --------------- Home Page ---------------  */
	.product-type{
		height: 200px;
	}
	.product-type-img{
		top: 0;
	}
	.product-type-text{
		top: 74px;
	}
	/* --------------- Product ---------------  */
	.product{

	}
	.product-img{
		margin-bottom: 10px;
		margin-right: 20px;
		float: left;
	}
	.product-img img{
		max-width: 100%;
	}
	.product-info{
		padding-left: 470px;
	}


	/*------------- Contact -------------- */

	.contact-options > div{
		min-width: 300px;
	}
	.bi-clocks{
		border-radius: 10px;
		border: 1px solid #ccc;
		width: 220px;
		max-height: 110px;
		padding: 10px 15px;
		float: right;
	}

}