/*
Theme Name: FoodMart
Theme URI: https://templatesjungle.com/
Author: TemplatesJungle
Author URI: https://templatesjungle.com/
Description: FoodMart is specially designed product packaged for eCommerce store websites.
Version: 1.1
*/

/*--------------------------------------------------------------
This is main CSS file that contains custom style rules used in this template
--------------------------------------------------------------*/

/*------------------------------------*\
    Table of contents
\*------------------------------------*/

/*------------------------------------------------

CSS STRUCTURE:

1. VARIABLES

2. GENERAL TYPOGRAPHY
  2.1 General Styles
  2.2 Floating & Alignment
  2.3 Forms
  2.4 Lists
  2.5 Code
  2.6 Tables
  2.7 Spacing
  2.8 Utilities
  2.9 Misc
    - Row Border
    - Zoom Effect
  2.10 Buttons
    - Button Sizes
    - Button Shapes
    - Button Color Scheme
    - Button Aligns
  2.11 Section
    - Hero Section
    - Section Title
    - Section Paddings
    - Section Margins
    - Section Bg Colors
    - Content Colors
    - Content Borders

3. EXTENDED TYPOGRAPHY
  3.1 Blockquote / Pullquote
  3.2 Text Highlights

4. CONTENT ELEMENTS
  4.1 Tabs
  4.2 Accordions
  4.3 Brand Carousel
  4.4 Category Carousel

5. BLOG STYLES
  5.1 Blog Single Post
  5.2 About Author
  5.3 Comments List
  5.4 Comments Form3

6. SITE STRUCTURE
  6.1 Header
    - Header Menu
    - Nav Sidebar
  6.2 Billboard
  6.3 About Us Section
  6.4 Video Section
  6.5 Selling Products Section
  6.6 Quotation Section
  6.7 Latest Blogs Section
  6.8 Newsletter Section
  6.9 Instagram Section
  6.10 Footer
    - Footer Top
    - Footer Bottom

7. OTHER PAGES
  7.1 Product detail
  7.2 Shop page

    


/*----------------------------------------------*/
/* 6. SITE STRUCTURE */
/*----------------------------------------------*/
/* 6.1 Header
--------------------------------------------------------------*/
/* Preloader */
.preloader-wrapper {
  width: 100%;
  height: 100vh;
  margin: 0 auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 111;
  background: #fff;
}

.preloader-wrapper .preloader {
  margin: 20% auto 0;
  transform: translateZ(0);
}

.preloader:before,
.preloader:after {
  content: '';
  position: absolute;
  top: 0;
}

.preloader:before,
.preloader:after,
.preloader {
  border-radius: 50%;
  width: 2em;
  height: 2em;
  animation: animation 1.2s infinite ease-in-out;
}

.preloader {
  animation-delay: -0.16s;
}

.preloader:before {
  left: -3.5em;
  animation-delay: -0.32s;
}

.preloader:after {
  left: 3.5em;
}

@keyframes animation {

  0%,
  80%,
  100% {
    box-shadow: 0 2em 0 -1em var(--accent-color);
  }

  40% {
    box-shadow: 0 2em 0 0 var(--accent-color);
  }
}

/* *** Start editing below this line *** */
.container-fluid {
  max-width: 1600px;
}

.banner-blocks {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-gap: 2rem;
}

.block-1 {
  grid-area: 1 / 1 / 3 / 8;
}

.block-2 {
  grid-area: 1 / 8 / 2 / 13;
}

.block-3 {
  grid-area: 2 / 8 / 3 / 13;
}

@media screen and (max-width:1140px) {
  .banner-blocks {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 1fr);
  }

  .block-1 {
    grid-area: 1 / 1 / 3 / 2;
  }

  .block-2 {
    grid-area: 3 / 1 / 4 / 2;
  }

  .block-3 {
    grid-area: 4 / 1 / 5 / 2;
  }

}

/* banner ad */
.banner-ad {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
}

.banner-ad.blue {
  background: #e6f3fb;
}

.banner-ad .swiper-pagination {
  bottom: 40px;
  left: 0;
  right: 0;
}

.banner-ad .swiper-pagination .swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  margin: 4px;
  background: #FFF;
  opacity: 1;
  transition: background 0.3s ease-out;
}

.banner-ad .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #B57EDC;
}

.banner-ad .swiper-slide {
  min-height: 630px;
  display: flex;
}

.banner-ad .overlay {
  width: 100%;
  height: 100%;
  /* background-color: #0000006e; */
  background-color: #00000093;
}

/* .banner-ad .banner-content {
  padding: 52px;
}
.banner-ad.large .banner-content {
  padding: 90px;
} */
.banner-ad .banner-content .categories {
  font-family: 'Garamond';
  font-size: 37px;
  text-transform: capitalize;
  color: #B57EDC;
}

.banner-ad .banner-content .sale {
  position: relative;
  display: inline-block;
}

.banner-ad .banner-content .sale:before {
  content: '';
  width: 80px;
  border-bottom: 2px solid #ebebeb;
  position: absolute;
  bottom: 6px;
}

.banner-ad .banner-content .sale:after {
  content: 'SALE';
  font-family: var(--body-font);
  position: absolute;
  font-size: 11px;
  line-height: 15px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #e0e0e0;
  bottom: 0;
  right: 0;
}

.banner-ad .banner-content .shop-collection-link {
  color: var(--light-color);
  font-weight: 600;
  letter-spacing: 1px;
}

.banner-ad .banner-content .banner-title {
  letter-spacing: 0.02em;
  font-size: 30px;
  color: var(--light-color);
  text-shadow: 2px 2px 5px rgba(217, 217, 217, 0.3);
}

.banner-ad .banner-content .banner-subline {
  font-size: 18px;
  color: var(--light-color);
  text-shadow: 2px 2px 5px rgba(217, 217, 217, 0.3);
}

.banner-ad .banner-content .banner-sort-subline {
  font-size: 16px !important;
}

.banner-ad.large .banner-content .categories {
  color: #B57EDC;
}

.banner-ad.large .banner-content .banner-title {
  /* margin-top: 30px; */
  font-size: 43px;
}

/* Swiper carousel */
.swiper-prev,
.swiper-next {
  width: 38px;
  height: 38px;
  line-height: 38px;
  background: #F1F1F1;
  color: #222222;
  padding: 0;
  text-align: center;
  border-radius: 10px;
  --bs-btn-border-color: transparent;
  --bs-btn-active-bg: #784d97;
  --bs-btn-active-border-color: transparent;
  --bs-btn-hover-bg: #B57EDC;
  --bs-btn-hover-border-color: transparent;
  --bs-btn-disabled-color: #ccc;
  --bs-btn-disabled-bg: #eaeaea;
  --bs-btn-disabled-border-color: #eaeaea
}

.swiper-prev:hover,
.swiper-next:hover {
  background: #B57EDC;
}

.btn-link {
  margin-right: 30px;
  font-weight: 600;
  font-size: 16px;
  line-height: 22px;
  text-align: right;
  text-transform: capitalize;
  color: #787878;
}

@media (max-width: 370px) {
  .btn-link {
    font-size: 14px !important;
  }

  .section-title {
    font-size: 22px;
  }

  .card-body p {
    font-size: 12px;
  }

  .card-body .business-title {
    font-size: 15px;
  }

  .banner-ad.large .banner-content .categories {
    font-size: 23px;
  }

  .banner-ad.large .banner-content .banner-title {
    font-size: 23px;
  }

  .banner-ad .banner-content .banner-subline {
    font-size: 12px;
    letter-spacing: 2px;
  }

  .banner-ad .banner-content .shop-now {
    font-size: 15px;
  }

  .swiper-android .swiper-slide,
  .swiper-ios .swiper-slide,
  .wrapper-swiper {
    height: 360px;
  }

  .banner-blocks.first-banner {
    height: 360px;
  }

  .banner-blocks {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .banner-ad .swiper-pagination {
    bottom: 20px;
  }

  .banner-ad .swiper-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
  }

  .banner-ad .banner-content .categories {
    font-size: 27px;
  }

  .banner-ad .banner-content .banner-title {
    font-size: 18px;
  }

  .banner-ad .swiper-slide {
    min-height: fit-content;
  }
}

@media (min-width:1024px) {
  .second-banner-title {
    font-size: 22px !important;
  }
}

@media (min-width:370px) and (max-width:1024px) {
  .card-body p {
    font-size: 13px;
  }

  .card-body .business-title {
    font-size: 18px;
  }

  .banner-ad .banner-content .categories {
    font-size: 40px;
  }

  .banner-ad.large .banner-content .banner-title {
    font-size: 28px;
  }

  .banner-ad .banner-content .banner-subline {
    font-size: 16px;
  }

  .banner-ad .banner-content .shop-now {
    font-size: 15px;
  }

  .swiper-android .swiper-slide,
  .swiper-ios .swiper-slide,
  .wrapper-swiper {
    height: fit-content;
  }

  .banner-blocks.first-banner {
    height: 360px;
  }

  .banner-blocks {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }

  .banner-ad .swiper-pagination {
    bottom: 20px;
  }

  .banner-ad .swiper-pagination .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
  }

  .banner-ad .swiper-slide {
    min-height: fit-content;
  }

}


/* category carousel start */
.category-carousel .category-item {
  width: 225px;
  margin-right: 30px;
  height: min-content;
  background: #FFFFFF;
  border: 1px solid #FBFBFB;
  box-shadow: 0px 5px 22px rgba(0, 0, 0, 0.04);
  border-radius: 16px;
  text-align: center;
  padding: 35px 20px;
  /* margin: 20px 0; */
  transition: box-shadow 0.3s ease-out, transform 0.3s ease-out;
}

.category-carousel .category-item:hover {
  transform: translate3d(0, -10px, 0);
  box-shadow: 0px 21px 44px rgba(0, 0, 0, 0.08);
}

.category-carousel .category-item .category-name {
  width: 100%;
}

.category-carousel .category-item .category-title {
  font-weight: 600;
  font-size: 18px;
  /* line-height: 27px; */
  /* letter-spacing: 0.02em; */
  text-transform: capitalize;
  color: #484747;
  /* margin-top: 10px; */
}
/* category carousel end */

/* service carousel start */
/* .service-carousel .service-item {
  width: 225px;
  margin-right: 30px;
  height: min-content;
  background: #FFFFFF;
  border: 1px solid #FBFBFB;
  box-shadow: 0px 5px 22px rgba(0, 0, 0, 0.04);
  border-radius: 16px;
  text-align: center;
  padding: 35px 20px;
  //margin: 20px 0;
  transition: box-shadow 0.3s ease-out, transform 0.3s ease-out;
}

.service-carousel .service-item:hover {
  transform: translate3d(0, -10px, 0);
  box-shadow: 0px 21px 44px rgba(0, 0, 0, 0.08);
}

.service-carousel .service-item .service-name {
  width: 100%;
}

.service-carousel .service-item .service-title {
  font-weight: 600;
  font-size: 18px;
  //line-height: 27px;
  //letter-spacing: 0.02em;
  text-transform: capitalize;
  color: #484747;
  //margin-top: 10px;
} */

/* service carousel end */


/* brand carousel */
.brand-carousel .brand-item {
  background: #FFFFFF;
  border: 1px solid #FBFBFB;
  box-shadow: 0px 5px 22px rgba(0, 0, 0, 0.04);
  border-radius: 16px;
  padding: 16px;
}

.brand-carousel .brand-item img {
  width: 100%;
  border-radius: 12px;
}

.brand-carousel .brand-item .brand-details {
  margin-left: 15px;
}

.brand-carousel .brand-item .brand-title {
  margin: 0;
}

.brand-carousel .business-img {
  width: 100%;
  height: 110px;
}

.brand-carousel .business-title {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  /* Limit to 3 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

/* product tabs */
.product-tabs .nav-tabs {
  /* justify-content: flex-end; */
  border: none;

  --bs-nav-link-hover-color: #111;
  --bs-nav-link-color: #555;
  --bs-nav-tabs-link-border-color: #fff;
  --bs-nav-tabs-link-hover-border-color: transparent;
  --bs-nav-tabs-link-active-border-color: #fff;
}

.product-tabs .nav-tabs .nav-link.active,
.product-tabs .nav-tabs .nav-item.show .nav-link {
  /* border: none; */
  border-bottom: 3px solid var(--accent-color);
}

/* product-grid */
/* .product-grid {
  gap: 25px;
} */
.product-item {
  height: fit-content;
  position: relative;
  padding: 16px;
  background: #FFFFFF;
  border: 1px solid #FBFBFB;
  box-shadow: 0px 5px 22px rgba(0, 0, 0, 0.04);
  border-radius: 16px;
  margin-bottom: 30px;
  transition: box-shadow 0.3s ease-out;
}

.product-item:hover {
  box-shadow: 0px 21px 44px rgba(0, 0, 0, 0.08);
}

.product-item h3 {
  display: block;
  width: 100%;
  font-weight: 600;
  font-size: 18px;
  line-height: 25px;
  text-transform: capitalize;
  color: #333333;
  margin: 0;
}

.product-item .tab-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-radius: 16px;
}

.product-item figure {
  background: #F9F9F9;
  border-radius: 12px;
  text-align: center;
}

.product-item figure img {
  max-height: 210px;
  height: auto;
}

/* .product-item .btn-wishlist {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #732C7F;
  border: 1px solid #d8d8d8;
  transition: all 0.3s ease-out;
}

.product-item .btn-wishlist:hover {
  background: #732C7F;
  color: #fff;
} */

.product-item .qty {
  font-weight: 400;
  font-size: 13px;
  line-height: 18px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #9D9D9D;
}

.product-item .rating {
  font-weight: 600;
  font-size: 13px;
  line-height: 18px;
  text-transform: capitalize;
  color: #222222;
}

.product-item .rating iconify-icon {
  color: #B57EDC;
}

.product-item .price {
  font-weight: 600;
  font-size: 22px;
  line-height: 30px;
  text-transform: capitalize;
  color: #2c2c2c;
}

.product-item .product-qty {
  width: 85px;
}

.product-item .btn-link {
  text-decoration: none;
}

.product-item #quantity {
  height: auto;
  width: 28px;
  text-align: center;
  border: none;
  margin: 0;
  padding: 0;
}

.product-item .btn-number {
  width: 26px;
  height: 26px;
  line-height: 1;
  text-align: center;
  background: #FFFFFF;
  border: 1px solid #E2E2E2;
  border-radius: 6px;
  color: #222;
  padding: 0;
}

/* cart */
.cart .product-qty {
  min-width: 130px;
}

/* floating image */
.image-float {
  margin-top: -140px;
  margin-bottom: -140px;
}

@media screen and (max-width:991px) {
  .image-float {
    margin: 0;
  }
}

/* post item */
.post-item .post-meta {
  font-size: 0.8rem;
  line-height: 1;
}

.post-item .post-meta svg {
  margin-right: 5px;
}

@media screen and (max-width: 991px) {

  /* offcanvas menu */
  .offcanvas-body .nav-item {
    font-weight: 700;
    border-bottom: 1px solid #d1d1d1;
  }

  .offcanvas-body .filter-categories {
    width: 100%;
    margin-bottom: 20px !important;
    border: 1px solid #d1d1d1 !important;
    padding: 14px;
    border-radius: 8px;
  }

  /* dropdown-menu */
  .dropdown-menu {
    padding: 0;
    border: none;
    line-height: 1.4;
    font-size: 0.9em;
  }

  .dropdown-menu a {
    padding-left: 0;
  }

  .dropdown-toggle::after {
    position: absolute;
    right: 0;
    top: 21px;
  }
}

/* single product */
/* product-thumbnail-slider */
.product-thumbnail-slider {
  height: 740px;
}

@media screen and (max-width:992px) {
  .product-thumbnail-slider {
    margin-top: 20px;
    height: auto;
  }
}

@media screen and (min-width:992px) {
  .product-thumbnail-slider {
    height: 520px;
  }
}

@media screen and (min-width:1200px) {
  .product-thumbnail-slider {
    height: 740px;
  }
}