@import url('https://fonts.googleapis.com/css2?family=Berkshire+Swash&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

:root {
  --theme-bg: #013C0E;
  --theme-text: #FFFFFF;
  --accent-color: #EFD9A1;
  --orange-color: #CE6203;
  --primary-color: #013C0E;
  --med-primary-color: #014510;
  --dark-primary-color: #002007;
  /* common colors  */
  --white-color: #fff;
  --text-black: #000;
  /* fonts */
  --theme-font: "Poppins", sans-serif;
  --heading-font: "Berkshire Swash", serif;
  --text-white: #fff;
  --black-color: #000;
  --dark-color: #050d12;
  --lightDark-color: #0b0b0b;
  --light-text-color: #a9a9a9;
  --border-color: #cacaca;
  --heading-color: var(--white-color);
  --section-padding: 30px;
  --section-heading-padding: calc(var(--section-padding) / 2);
  --section-discrb-size: clamp(16px, 2vw, 20px);
  --stroke-img: url("../img/bg-effects/heading-stroke.png");
}

/* 
# bootstrap color reset
------------------------*/
:root {
  --bs-primary: var(--primary-color) !important;
  --bs-primary-rgb: 5, 99, 21 !important;
  --bs-secondary: var(--accent-color) !important;
  --bs-secondary-rgb: 0, 131, 216 !important;
}

body {
  font-size: 16px;
  font-family: var(--theme-font) !important;
  min-height: 100vh;
  width: 100%;
  /* background-color: var(--theme-bg); */
  color: var(--theme-text);
  background-attachment: fixed;
  transition: background-color 0.4s, color 0.4s;
}


/* theme chnage */
.theme-toggle {
  display: none !important;
  width: 60px;
  height: 30px;
  background: #ddd;
  border-radius: 30px;
  position: relative;
  cursor: pointer;
  transition: background 0.4s;
  display: flex;
  align-items: center;
  padding: 3px;

  .toggle-circle {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: white;
    position: absolute;
    left: 3px;
    top: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    transition: all 0.4s ease;
  }

  &.dark {
    background: #333;

    .toggle-circle {
      left: calc(100% - 27px);
      background: #111;
      color: yellow;
    }
  }
}

/* 
# global css start 
------------------------*/
.font-family-theme {
  font-family: var(--heading-font);
}

.font-family-normal {
  font-family: var(--theme-font);
}

.customShadow {
  box-shadow: #ffffff1a 0px 10px 15px -3px, #ffffff0d 0px 4px 6px -2px !important;
}

.customShadow-1 {
  box-shadow: #ffffff1f 0px 1px 3px, #ffffff3d 0px 1px 2px !important;
}

.container-xxxl {
  /* max-width: 2000px; */
  margin-inline: auto;
}

.card {
  box-shadow: #ffffff1a 0px 4px 6px -1px, #ffffff0f 0px 2px 4px -1px;
  /* border-color: rgba(0, 0, 0, 0.056); */
  border: 0;
  border-radius: 0px;
  color: var(--text-black);
  background-color: var(--white-color);

  &&.rounded-30 {
    border-radius: 30px;
  }

  &&.rounded-20 {
    border-radius: 20px;
  }

  .card-footer:last-child {
    border-radius: 0 0 12px 12px;
  }

  .card-link {
    text-decoration: none;
    color: var(--white-color);

    &&:hover {
      text-decoration: none;
      color: var(--accent-color);
    }

    &&+.card-link {
      margin-left: 0px;
    }
  }
}

.bg-light-green {
  background-color: var(--lightgreen-color) !important;
}

section,
.section {
  --section-bg: var(--theme-bg);
  --secion-border-color: var(--white-color);
  border-color: var(--secion-border-color) !important;
  padding: var(--section-padding) 0;
  scroll-margin-top: 72px !important;
  background-color: var(--section-bg);
  overflow: clip !important;
  min-height: calc(100dvh - 72px);
  background-size: 100%;
  background-repeat: no-repeat;
  position: relative;
  z-index: 3 !important;

  .bg-effect-img {
    position: absolute;
    z-index: 0 !important;
    width: auto !important;

    img {
      min-width: 600px;
    }
  }

  &&.height-unset {
    min-height: auto !important;
  }

  &&.light-bg {
    --section-bg: var(--med-primary-color) !important;
  }

  &&.dark-bg {
    --section-bg: var(--dark-primary-color) !important;
  }

  &&.border-accent {
    --secion-border-color: var(--accent-color);
  }

  &&.border-orange {
    --secion-border-color: var(--orange-color);
  }

  .section-heading {
    padding: var(--section-heading-padding) 0;
  }
}

.section-heading {
  position: relative;
  padding: 0;
  margin: 0;
  text-align: center;
  /* -webkit-transition: all 0.4s ease 0s;
  -o-transition: all 0.4s ease 0s;
  transition: all 0.4s ease 0s;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  grid-template-columns: 1fr auto 1fr;
  grid-template-rows: 16px 0;
  grid-gap: 0rem; */
  font-family: var(--heading-font);
  font-weight: 600;

  h1,
  h2 {
    min-width: 210px;
    font-size: clamp(30px, 4vw, 60px);
    color: var(--heading-color);

    span {
      color: var(--accent-color);
    }

  }

  /* &::before,
  &::after {
    content: " ";
    display: block;
    background-size: 100%;
    height: 1px;
    width: 100%;
    max-width: 200px;
    mix-blend-mode: multiply;
    background-image: var(--stroke-img);
  } */
}

.section-discrb {
  font-size: var(--section-discrb-size);
}


.text-orange {
  color: var(--orange-color);
}

@media (max-width: 1199px) {

  section,
  .section {
    scroll-margin-top: 60px !important;
  }
}

/* btns */
.grad-btn {
  border-radius: 7px;
  background: radial-gradient(51.89% 116.98% at 12.06% 92.55%,
      #4ca9ed 0%,
      #0078d0 100%);
  background-color: var(--accent-color) !important;

  &:hover {
    background: unset;
  }
}

.btn-theme-white {
  background-color: var(--white-color);
  color: var(--primary-color);

  &:hover {
    background-color: var(--primary-light-color);
    color: var(--accent-color);
  }
}

.w-90 {
  width: 90%;
}

.end-25 {
  right: 25% !important;
}

a {
  &:hover {
    opacity: 0.75 !important;
  }
}

.link-theme {
  color: var(--black-color) !important;
  text-decoration: none !important;
}

.link-accent {
  color: var(--accent-color) !important;
  text-decoration: none !important;
}

/* ------------------------------
#custom cards
------------------------------- */
.custom-card {
  background-color: var(--white-color);
  color: var(--black-color);
  border-radius: 20px;
  padding: 30px 20px;
  padding-top: 60px;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);

  .outer-icon {
    transition: all 0.5s ease;
    opacity: 0;
  }

  &:hover {
    transform: translateY(-10px);
    box-shadow: 0 8px 25px var(--primary-light-color);

    .custom-card-bg {
      transform: scale(7);
      background-color: var(--primary-light-color);

      /* Color change on hover */
      i {
        color: var(--white-color) !important;
      }
    }

    .outer-icon {
      opacity: 1;
    }

    .card-title,
    .card-body p {
      color: var(--bg-color);
    }

    .card-img {
      transform: translateY(-10px);
    }
  }

  .custom-card-bg {
    height: 128px;
    width: 128px;
    background-color: var(--primary-light-color);
    /* Original color */
    position: absolute;
    top: -50px;
    left: -50px;
    border-radius: 50%;
    z-index: 0;
    transition: all 0.5s ease;

    i {
      color: var(--primary-color) !important;
    }
  }

  .image-container {
    background-color: #f5f8fa;
    border-radius: 1.2rem;
    /* Like rounded-4 or rounded-5 */
    padding: 1.2rem;
    width: 100px;
    height: 100px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }

  .custom-card-img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
  }

  .card-img,
  .card-body,
  .card-title {
    position: relative;
    z-index: 1;
  }

  .card-title {
    font-size: 1.5rem;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
    color: var(--default-color);
  }

  .card-body p {
    font-size: 1rem;
    line-height: 1.5;
    color: var(--default-color);
  }
}

/*------------------------------------------------
# slick slider
------------------------------------------------------ */
.slick-slider {
  --img-width: 370px;

  .image {
    width: var(--img-width);
    min-width: var(--img-width);
    padding: 1rem;
    cursor: grab;

    img {
      width: 100%;
      border-radius: 30px;
    }
  }
}

/*------------------------------------------------
# Header
------------------------------------------------------ */
.custom-header {
  transition: all 0.8s ease;

  a {
    &:hover {
      opacity: 1 !important;
    }
  }

  .navbar-brand {
    margin-right: 0;

    img {
      width: clamp(180px, 5vw, 283px);
      max-height: 80px;
      object-fit: contain !important;
    }
  }

  .download-btn {
    --imgsize: 60px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;

    &::before {
      content: "";
      display: inline-block;
      background-repeat: no-repeat;
      position: absolute;
      left: -2%;
      background-size: contain;
      background-image: url(../img/bg-effects/Group\ 63.png);
      width: var(--imgsize);
      height: var(--imgsize);
    }
  }
}

.btn-primary {
  background-color: var(--primary-color);
}
.btn-orange {
  background-color: var(--orange-color) !important;
  font-weight: 600;
  color: var(--white-color);
  &:hover{
   background-color: color-mix(in srgb, var(--orange-color) 90%, var(--black-color));
  }
}

/*------------------------
# Hero section
---------------------------------------*/
.hero-section {
  .section-cont {
    position: relative;
    aspect-ratio: 16/8;

    .banner-image {
      width: 100%;
      aspect-ratio: 16/8;
      position: absolute;
      z-index: 0;
    }

      .main-heading {
        /* font-size: clamp(19px, 4vw, 60px); */
        font-size: clamp(2rem, 5vw, 4.5rem) !important;
        font-family: var(--heading-font);
        line-height: 1;
        span{
          color: var(--accent-color) !important;
        }
      }
  }
}

@keyframes fadeContent {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*------------------------
# About section
---------------------------------------*/
.about-section {
  --about-desc-size: 1.8rem;

  .section-container {
    position: relative;

    .fadeimg {
      display: block;
      object-fit: contain;
      z-index: 0;
      right: -5px;
      position: absolute;
    }
  }
    .aboutImg-left{
      max-width: 600px;
    }

  .about-discb {
    font-size: var(--about-desc-size);
  }

  .aboutBadge {
    max-width: 160px;
    aspect-ratio: 4/4;
  }
}

/*------------------------
# taste-section section
---------------------------------------*/
.taste-section {
  --bg-effect-size: 300px;
  --min-text-size: 29px;

  .section-cont {
    /* position: relative; */
    .sliderCont{
      position: relative;
      &::before{
        content: "";
        /* background-image: linear-gradient(-180deg, #012308 0%, #002508 100%); */
        background-color:var(--dark-primary-color);
        filter: blur(8px);
        background-position: right;
        background-size: contain;
        display: inline-block;
        height: 100%;
        /* width: 150px !important; */
        width: 10% !important;
        z-index: 1;
        left: -2%;
        top: 0;
        position: absolute;

      }
      &::after{
        content: "";
        /* background-image: linear-gradient(180deg, #012308 0%, #002508 100%); */
        background-color:var(--dark-primary-color);
        filter: blur(8px);
        background-size: contain;
        display: inline-block;
        height: 100%;
        /* width: 150px !important; */
        width: 14% !important;
        z-index: 1;
        right: -2%;
        top: 0;
        position: absolute;

      }

    }
    .serve-slider {
      /* margin: 20px auto; */
      /* max-width: 1200px; */
      .slick-list {
        .slick-track {
          padding: 30px 0;
        }
      }

      .slick-arrow {
        /* border: 1px solid var(--red-color) !important; */
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        color: var(--red-color) !important;
        width: 30px !important;
        height: 30px !important;
        padding: 1rem !important;

        &::before {
          content: unset !important;
        }
      }

      .slider-item {
        text-align: center;
        cursor: pointer;

        img {
          width: 100%;
          max-width: 180px;
          /* bo/rder-radius: 50%; */
          object-fit: cover;
          margin: 0 auto;
          scale: 0.7;
          padding: 2px;
          transition: all 0.5s ease;
          /* border: 2px solid var(--white-color); */

          &:hover {
            transform: scale(1.05);
          }
        }

        .slider-item-title {
          margin-top: 0px;
          text-transform: capitalize;
          font-size: clamp(1rem, 2vw, 2.2rem);
          color: var(--white-color);
          scale: 0.7;
          transition: all .3s ease;
        }

        &.slick-center {
          img {
            /* border: 2px solid var(--accent-color); */
            scale: 1.1;
            transform: translateY(-20px);
            padding: 2px;
          }

          .slider-item-title {
            color: var(--accent-color);
            scale: 1.1;
          }
        }
      }
    }

    &::before {
      content: "";
      position: absolute;
      display: block;
      z-index: 0;
      background-size: contain;
      width: var(--bg-effect-size);
      height: var(--bg-effect-size);
      aspect-ratio: 4/16;
      bottom: -5%;
      left: -10%;
      background-repeat: no-repeat;
      background-position: bottom;
      background-image: url(../img/bg-effects/cards-left-bg-effect.png);
    }

  }
}

/*------------------------
# opening hours section
---------------------------------------*/
.opening-hours-section {
  .section-cont {
    text-align: center;

    .openingHoursCont {
      padding: 2rem 1rem;
      max-width: 95%;
      width: 100%;
      height: 100%;
      background-color: var(--dark-primary-color);
      border-radius: 2rem !important;
      margin: auto;

      .contHeading {
        display: inline-block;
        padding: 0.2rem 1rem;
        font-size: clamp(1.3rem, 4vw, 2.5rem);
        font-family: var(--heading-font);
        border-radius: 0.5rem;
        background-color: var(--orange-color);
        border: 2px solid var(--white-color);
      }

      .contText {
        padding: 1rem;
        margin-top: 1.4rem;

        .days,
        .hours {
          text-wrap: nowrap;
          font-weight: 400;
          font-size: clamp(1rem, 4vw, 2.7rem);
        }

        .hours {
          font-size: clamp(1.7rem, 5vw, 3rem) !important;
          color: var(--accent-color);
        }
      }
    }
  }
}

/*------------------------
locate us section
---------------------------------------*/
.locate-us-section {
  .section-cont {
    .floating-img {
      position: absolute;
      opacity: 0.2;
      top: -50px;
      left: 30%;
      z-index: -1;
      transform: translateX(-50%);
    }

    /* .logo {
      max-width: 30vw;
      max-height: 100px;
    } */
  }
}

/*------------------------
# menu-section
---------------------------------------*/
.menu-section {
  position: relative;
  padding-top: 0;

  &::before {
    content: url(../img/bg-effects/menu-bg-effect.png);
    position: absolute;
    right: -2%;
    min-height: 100%;
    display: block;
    z-index: -1;
    width: auto;
  }

  .menu-slider {

    /* margin: 20px auto; */
    /* max-width: 1200px; */
    .slick-list {
      .slick-track {
        padding: 30px 0;
      }
    }

    .slick-arrow {
      /* border: 1px solid var(--red-color) !important; */
      border-radius: 50%;
      display: flex;
      justify-content: center;
      align-items: center;
      color: var(--red-color) !important;
      width: 30px !important;
      height: 30px !important;
      padding: 1rem !important;

      &::before {
        content: unset !important;
      }
    }
  }

  .slider-item {
    text-align: center;
    cursor: pointer;

    img {
      width: 100%;
      max-width: 180px;
      border-radius: 50%;
      object-fit: cover;
      margin: 0 auto;
      scale: 0.7;
      padding: 2px;
      transition: all 0.5s ease;
      border: 2px solid var(--white-color);

      &:hover {
        transform: scale(1.05);
      }
    }

    .slider-item-title {
      margin-top: 0px;
      text-transform: capitalize;
      font-size: clamp(1rem, 2vw, 2.2rem);
      color: var(--white-color);
      scale: 0.7;
      transition: all .3s ease;
    }

    &.slick-center {
      img {
        border: 2px solid var(--accent-color);
        scale: 1.1;
        transform: translateY(-20px);
        padding: 2px;
      }

      .slider-item-title {
        color: var(--accent-color);
        scale: 1.1;
      }
    }
  }

  .menu-content {
    margin: 2rem 0;

    .menu-category-title {
      font-size: 2rem;
      font-weight: 700;
      margin-bottom: 1rem;
      color: var(--accent-color);
      text-transform: capitalize;
    }

    .menu-items {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }

    .menu-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 15px;
      border-radius: 12px;
      border: 1px solid var(--accent-color);
      background: var(--menu-item-bg);
      box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
      transition: transform 0.3s ease, box-shadow 0.3s ease;

      &:hover {
        transform: translateY(-4px);
        box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
      }

      img {
        width: 120px;
        height: 120px;
        object-fit: cover;
        border-radius: 50% 25% / 40% 60%;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
        flex-shrink: 0;
      }

      .menu-item-content {
        flex: 1;
        display: flex;
        align-items: flex-end;
        justify-content: space-between;

        .menu-item-title {
          flex: 1;
          text-wrap: pretty !important;
          min-width: 130px;
          font-size: clamp(1rem , 2vw , 1.5rem);
          font-weight: 600;
          margin-bottom: 5px;
          position: relative;
          display: flex;
          align-items: end;

          &::after {
            content: "";
            min-width: 50px;
            display: block;
            width: 90%;
            max-width: calc(100% - 30px);
            border-bottom: 2px dashed currentColor;
          }
        }

        .menu-item-desc {
          font-size: 0.95rem;
          color: #666;
          margin-bottom: 8px;
        }

        .menu-item-price {
          font-weight: 700;
          font-size: 1rem;
        }
      }
    }

    /* // Mobile responsive */
    @media (max-width: 575.5px) {
      .menu-item {
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        text-align: start;

        img {
          margin-bottom: 10px;
        }

        .menu-item-content {
          width: 100%;

          .menu-item-price {
            display: block;
            margin-top: 5px;
          }
        }
      }
    }
  }



}

/*------------------------
media querry
---------------------------------------*/
@media only screen and (max-width: 992.5px) {
  .explore-section {
    --img-offset: 30%;
    --plane-image-width: 900px;
  }

  .safariSlider-section {
    --img-offset: 0%;
    --left-image-width: 100%;
  }
}

@media only screen and (min-width: 768px) {
  .w-md-75 {
    width: 75%;
  }

  .text-md-nowrap {
    text-wrap: nowrap;
  }
}

@media only screen and (max-width: 767.5px) {
  .about-section {
    --about-desc-size: 1.2rem;
  }
}

@media only screen and (max-width: 576.5px) {
  .about-section {
    --about-desc-size: 1rem;
  }

  .taste-section {
    --bg-effect-size: 300px;
    --min-text-size: 60px;
  }

  .whyChoose-section {
    --gird-column-width: 150px;
    --gird-column-gap: 1rem;
  }

  .safariSlider-section {
    --img-offset: 0%;
  }

  .footer-section {
    .footer-banner {
      object-position: 75% !important;
    }
  }
}

@media only screen and (max-width: 425.5px) {
  .custom-header {
    .download-btn {
      --imgsize: 40px;
    }
  }

  .taste-section {
    /* --bg-effect-size:300px; */
    --min-text-size: 40px;
  }

  .slick-slider {
    .image {
      --img-width: 270px;
    }
  }
}

@media only screen and (min-width: 425.5px) {
  .d-xsm-none {
    display: none !important;
  }

  .d-xsm-inline {
    display: inline !important;
  }

  .opening-hours-section {
    --img-heading-size: 45vw;
  }
}