/*-----------------------------------*\
  #style.css
\*-----------------------------------*/

/**
 * copyright 2022 callvcal
 */





/*-----------------------------------*\
  #CUSTOM PROPERTY
\*-----------------------------------*/

:root {

    /**
     * colors
     */
  
    --dark-jungle-green: hsl(188, 63%, 7%);
    --prussian-blue: hsl(200, 69%, 14%);
    --raisin-black-1: hsl(227, 29%, 13%);
    --raisin-black-2: hsl(229, 17%, 19%);
    --yellow-green: hsl(89, 72%, 45%);
    --orange-soda: hsl(230, 83%, 16%);
      /* main color for icon change */
    --cultured-1: hsl(0, 0%, 93%);
    --cultured-2: hsl(192, 24%, 96%);
    --misty-rose: hsl(7, 56%, 91%);
    --alice-blue: hsl(210, 100%, 97%);
    --seashell: hsl(8, 100%, 97%);
    --cadet: hsl(200, 15%, 43%);
    --white: hsl(0, 0%, 100%);
    --black: hsl(0, 0%, 0%);
    --opal: hsl(180, 20%, 62%);
  
    /**
     * typography
     */
  
    --ff-nunito-sans: "Nunito Sans", sans-serif;
    --ff-poppins: "Poppins", sans-serif;
  
    --fs-1: 1.875rem;
    --fs-2: 1.5rem;
    --fs-3: 1.375rem;
    --fs-4: 1.125rem;
    --fs-5: 0.875rem;
    --fs-6: 0.813rem;
    --fs-7: 0.75rem;
  
    --fw-500: 500;
    --fw-600: 600;
    --fw-700: 700;
  
    /**
     * transition
     */
  
    --transition: 0.25s ease;
  
    /**
     * spacing
     */
  
    --section-padding: 100px;
  
    /**
     * shadow
     */
  
    --shadow-1: 0 5px 20px 0 hsla(219, 56%, 21%, 0.1);
    --shadow-2: 0 16px 32px hsla(188, 63%, 7%, 0.1);
  
  }
  
  
  
  
  
  /*-----------------------------------*\
    #RESET
  \*-----------------------------------*/
  
  *, *::before, *::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  li { list-style: none; }
  
  a { text-decoration: none; }
  
  a,
  img,
  span,
  button,
  ion-icon { display: block; }
  
  button {
    border: none;
    background: none;
    font: inherit;
    text-align: left;
    cursor: pointer;
  }

  span {
    cursor: pointer;

  }
  
  address { font-style: normal; }
  
  ion-icon { pointer-events: none; }
  
  html {
    font-family: var(--ff-nunito-sans);
    scroll-behavior: smooth;
  }
  
  body {
    background: var(--white);
    overflow-x: hidden;
  }
  
  ::-webkit-scrollbar {
    width: 10px;
    height: 8px;
  }
  
  ::-webkit-scrollbar-track { background: var(--white); }
  
  ::-webkit-scrollbar-thumb {
    background: var(--cadet);
    border-left: 2px solid var(--white);
  }
  
  
  
  
  
  /*-----------------------------------*\
    #REUSED STYLE
  \*-----------------------------------*/
  
  .container { padding-inline: 15px; }
  
  button, a { transition: var(--transition); }
  
  .h1,
  .h2,
  .h3 {
    color: var(--dark-jungle-green);
    font-family: var(--ff-poppins);
    line-height: 1.3;
  }
  
  .h1 {
    font-size: var(--fs-1);
    line-height: 1;
  }
  
  .h2 { font-size: var(--fs-2); }
  
  .h3 {
    font-size: var(--fs-4);
    font-weight: var(--font-weight, 700);
  }
  
  .h3 > a { color: inherit; }
  
  .btn {
    position: relative;
    background: transparent;
    color: var(--white);
    font-family: var(--ff-poppins);
    font-size: var(--fs-5);
    text-transform: var(--text-transform, capitalize);
    border: 1px solid var(--orange-soda);
    padding: 10px 20px;
    z-index: 1;
  }
  
  .btn:is(:hover, :focus) {
    background: var(--black);
    color: var(--dark-jungle-green);
    border-color: var(--black);
  }
  
  .btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: var(--white);
    transition: var(--transition);
    z-index: -1;
  }
  
  .btn:is(:hover, :focus)::before { width: 100%; }
  
  .w-100 { width: 100%; }
  
  .section-subtitle {
    color: var(--orange-soda);
    font-size: var(--fs-5);
    font-weight: var(--fw-600);
    padding: 5px 20px;
    background: hsla(9, 100%, 62%, 0.1);
    width: max-content;
    border-radius: 50px;
    margin-inline: auto;
    margin-bottom: 15px;
  }
  
  .section-title {
    text-align: var(--text-align, center);
    margin-bottom: var(--margin-bottom, 50px);
  }
  
  .card-badge {
    background: var(--black);
    color: var(--white);
    font-size: var(--fs-7);
    text-transform: uppercase;
    position: absolute;
    top: 15px;
    right: 15px;
    padding: 4px 10px;
  }
  
  .card-badge.green { background: var(--yellow-green); }
  
  .card-badge.orange { background: var(--orange-soda); }
  
  .has-scrollbar {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    overflow-x: auto;
    margin-inline: -15px;
    padding-inline: 15px;
    scroll-padding-left: 15px;
    padding-bottom: 60px;
    scroll-snap-type: inline mandatory;
  }
  
  .has-scrollbar > li {
    min-width: 100%;
    scroll-snap-align: start;
  }
  
  .has-scrollbar::-webkit-scrollbar-track {
    background: var(--cultured-2);
    outline: 2px solid var(--cadet);
    border-radius: 10px;
  }
  
  .has-scrollbar::-webkit-scrollbar-thumb {
    background: var(--cadet);
    border: 1px solid var(--cultured-2);
    border-radius: 10px;
  }
  
  .has-scrollbar::-webkit-scrollbar-button { width: 15%; }
  
  
  
  
  
  /*-----------------------------------*\
    #HEADER
  \*-----------------------------------*/
  
  .header {
 
    position: relative;
    z-index: 2;
    margin-top: -20px;
  
  }
  
  
 
  .header-bottom {
    background: transparent;
    padding-block: 25px;
  }

  
.header-bottom .logo img {
    position: middle;
  align-items: center;
    margin-top: 0;
    padding-top: 0;
    
    height: 50px;
    width: auto;
    margin-inline: auto; 
  
  }


  .header-bottom .logo {
    display: flex; /* Enables flexbox */
    justify-content: center; /* Horizontally centers the content */
    align-items: center; /* Vertically centers the content */
    height: 100%; /* Ensure the container has height */
  }
  
  .header-bottom .logo img {
    margin-left: 200px; /* Reset any existing margins */
    padding-left: 120px;/* Reset any existing padding */
    height: 50px; /* Set the height of the logo */
    width: auto; /* Maintain aspect ratio */
  }
  

  @media (max-width: 768px) {
    .header-bottom .logo img {
      margin-left: 0; /* Remove margin for mobile */
      padding-left: 0; /* Remove padding for mobile */
    }
  }


  
  .navbar {
    background: var(--white);
    position: fixed;
    top: 0;
    left: -310px;
    max-width: 300px;
    width: 100%;
    height: 100%;
    box-shadow: 0 3px 10px hsla(0, 0%, 0%, 0.3);
    z-index: 5;
    padding: 60px 20px;
    visibility: hidden;
    transition: 0.15s ease-in;
  }
  
  .navbar.active {
    visibility: visible;
    transform: translateX(310px);
    transition: 0.25s ease-out;
  }
  
  .navbar-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 40px;
    border-bottom: 1px solid var(--cultured-1);
    margin-bottom: 25px;
  }
  
  .navbar-top .logo img { 
    
    height:30px;
    width: 200px; }
  
  .nav-close-btn ion-icon {
    font-size: 20px;
    --ionicon-stroke-width: 45px;
    padding: 5px;
  }
  
  .navbar-link {
    color: var(--cadet);
    font-size: var(--fs-5);
    font-weight: var(--fw-600);
    text-transform: uppercase;
    padding-block: 15px;
  }
  
  .navbar-link:is(:hover, :focus) { color: var(--orange-soda); }
  
  .overlay {
    position: fixed;
    inset: 0;
    background: hsla(0, 0%, 0%, 0.7);
    opacity: 0;
    pointer-events: none;
    transition: var(--transition);
    z-index: 4;
  }
  
  .overlay.active {
    opacity: 1;
    pointer-events: all;
  }
  
  .header-bottom-actions {
    background: white ;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: space-evenly;
    padding-block: 15px 10px;
    box-shadow: -2px 0 30px hsla(237, 71%, 52%, 0.2);
    z-index: 3;

  }
  
  .header-bottom-actions-btn ion-icon {
    color: hsl(0, 0%, 10%);
    font-size: 20px;
    margin-inline: auto;
    margin-bottom: 5px;
    --ionicon-stroke-width: 40px;
    transition: var(--transition);
  }
  
  .header-bottom-actions-btn:is(:hover, :focus) ion-icon { color: var(--orange-soda); }
  
  .header-bottom-actions-btn span {
    color: var(--cadet);
    font-family: var(--ff-poppins);
    font-size: var(--fs-7);
    font-weight: var(--fw-500);
  }

  .navbar-bottom{
    display: none;
  }
  
  @media (max-width: 1024px) {
    .navbar-bottom {
      display: block;
    }
  }
  

  

  
  .header-bottom .menu-btn {
    position: absolute; /* Keep menu button on the left */
    left: 15px;
  
  }
  
  .header-bottom .logo {
    display: flex;
    justify-content: center; /* Ensures the logo stays in the middle */
    flex: 1; /* Allows the logo to take up center space */
  }
  
  .header-bottom .logo img {
    height: 50px;
    width: auto;
    margin-inline: auto; /* Centers the image horizontally */
  }
  
  
  
  
  
  /*-----------------------------------*\
    #HERO
  \*-----------------------------------*/
  
  .hero {
    background: transparent;
    padding-block: var(--section-padding);
  }


  .herovideo{
    width: 100%;
    height: auto;
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: -1;
  
  }
  
  
  .hero-content { margin-bottom: 60px; }
  
  .hero-subtitle {
   
    display: flex;
    
    justify-content: flex-start;
    align-items: center;
    gap: 5px;
    margin-bottom: 20px;
  }
  
  .hero-subtitle ion-icon { color: var(--orange-soda); }
  
  .hero-subtitle span {
    color: #f8f8f8;

    font-size: var(--fs-5);
    font-weight: var(--fw-700);
  }
  
  .hero-title {
    color: #f8f8f8;
    margin-bottom: 20px; }
  
  .hero-text {
    color:  #f8f8f8;
    font-size: var(--fs-5);
    line-height: 1.8;
    padding-left: 15px;
    border-left: 1px solid;
    margin-bottom: 30px;
  }

  @media (max-width: 1024px) {

    .hero {
      display: flex;
      flex-direction: column;
      height: 100vh; /* Full height of the screen */
    }
  
    .container a {
      color: #a49f9f;
    }
    .container  {
      color: #b3b2b2;
    }

    .herovideo {
      
      width: 100%;
      height: 100%; /* Upper half for the video */
      object-fit: cover; /* Ensures the video covers the area without distortion */
    }
  }






  @media only screen and (max-width: 516px) {
    .hero {
      height: 50vh; /* Full viewport height */
      margin-top: 200px;
    }
  
    .herovideo {
      margin-bottom: 380px;
      height: 50vh; /* Half viewport height */
    }
    
    .hero-subtitle span {
      color: #232323;
    }

    .hero-title {
      color: #2e2e2e;
      }
    
    .hero-text {
      color:  #3d3d3d;
     
    }

  
  
    .hero-content {
      padding: 30px; /* Add padding for mobile readability */
    }
  }
  
  /*-----------------------------------*\
    #ABOUT
  \*-----------------------------------*/
  
  .about { padding-block: var(--section-padding); }
  
  .about-banner {
    position: relative;
    margin-bottom: 40px;
  }
  
  .about-banner > img {
    max-width: max-content;
    width: 100%;
  }
  
  .about-banner .abs-img {
    position: absolute;
    bottom: 100px;
    left: 15px;
    width: 50%;
    height: auto;
    border-radius: 4px;
  }
  
  .about .section-subtitle { margin-inline: 0; }
  
  .about .section-title {
    --text-align: left;
    --margin-bottom: 15px;
  }
  
  .about-text {
    color: var(--cadet);
    font-size: var(--fs-5);
    line-height: 1.7;
    margin-bottom: 30px;
  }
  
  .about-list { margin-bottom: 30px; }
  
  .about-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
  }
  
  .about-item-icon {
    background: var(--misty-rose);
    height: 45px;
    min-width: 45px;
    border-radius: 50%;
    display: grid;
    place-items: center;
  }
  
  .about-item-icon ion-icon {
    color: var(--orange-soda);
    font-size: 18px;
  }
  
  .about-item-text {
    color: var(--cadet);
    font-size: var(--fs-5);
  }
  
  .about .callout {
    background: hsla(7, 78%, 53%, 0.05);
    color: var(--cadet);
    font-size: var(--fs-5);
    font-weight: var(--fw-500);
    line-height: 1.8;
    padding: 20px 25px;
    border-left: 4px solid var(--orange-soda);
    margin-bottom: 40px;
  }
  
  .about .btn {
    max-width: max-content;
    --text-transform: uppercase;
  }
  
  
  
  
  
  /*-----------------------------------*\
    #SERVICE
  \*-----------------------------------*/
  
  .service {
    background: var(--cultured-2);
    padding-block: var(--section-padding);
  }
  
  .service-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
  }
  
  .service-card {
    position: relative;
    background: var(--white);
    text-align: center;
    padding: 40px 30px;
    box-shadow: var(--shadow-2);
  }
  
  .service-card .card-icon {
    width: max-content;
    margin-inline: auto;
    margin-bottom: 20px;
  }
  
  .service-card .card-title { margin-bottom: 15px; }
  
  .service-card .card-title > a:is(:hover, :focus) { color: var(--orange-soda); }
  
  .service-card .card-text {
    color: var(--cadet);
    font-size: var(--fs-5);
    line-height: 1.8;
    margin-bottom: 25px;
  }
  
  .service-card .card-link {
    color: var(--opal);
    font-size: var(--fs-5);
    font-weight: var(--fw-600);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
  }
  
  .service-card:is(:hover, :focus) .card-link { color: var(--orange-soda); }
  
  .service-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 4px;
    background: var(--orange-soda);
    transition: var(--transition);
  }
  
  .service-card:is(:hover, :focus)::after { width: 100%; }






  #slider-container {
    position: relative;
    width: 100%;
    height: 95%;
    max-width:1920px ; /* Adjust the max-width as needed */
    margin: 0px;
    overflow: hidden;
  }

  .slider {
    display: flex;
    transition: transform 0.5s ease-in-out;
  }

  .slide {
    min-width: 100%;
    box-sizing: border-box;
  }

  img {
    width: 100%;
    height: 95%;
    display: block;
  }

  .prev, .next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    cursor: pointer;
    color: white;
    background-color: rgba(0, 0, 0, 0.052);
    border: none;
    padding: 10px;
    outline: none;
    transition: background-color 0.3s;
  }

  .prev:hover, .next:hover {
    background-color: #33333398;
  }

  .prev {
    left: 10px;
  }

  .next {
    right: 10px;
  }

  @media (max-width: 600px) {
    .prev, .next {
      font-size: 18px;
    }
  }




  
  
  
  
  
  /*-----------------------------------*\
    #PROPERTY
  \*-----------------------------------*/





  .property {
    padding-block: var(--section-padding);
    text-align: center;
}

h2 {
    font-size: 2rem;
    margin-bottom: 1.5rem;
}

.property-list {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 1rem 0;
    list-style: none;
    margin: 0;
    padding-inline: 1rem;
}

.property-list::-webkit-scrollbar {
    display: none;
}

.property-card {
    flex: 0 0 calc(33.333% - 1rem);
    border: 1px solid var(--alice-blue);
    box-shadow: var(--shadow-2);
    scroll-snap-align: start;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    transition: transform 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
}

.property-card:hover {
    transform: scale(1.05);
}

.card-banner {
    position: relative;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}

.card-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.property-card:hover .card-banner img {
    transform: scale(1.1);
}

.card-content {
    padding: 1rem;
    text-align: center;
}

.card-title {
    font-size: 1.2rem;
    font-weight: bold;
    margin: 0.5rem 0;
    color: var(--dark-jungle-green);
    transition: color 0.3s ease;
}

.card-title a {
    text-decoration: none;
    color: inherit;
}

.card-title a:hover {
    color: var(--orange-soda);
}

.card-text {
    font-size: 1rem;
    color: var(--cadet);
    margin-top: 0.5rem;
    line-height: 1.5;
}

@media screen and (max-width: 1024px) {
    .property-card {
        flex: 0 0 calc(50% - 1rem);
    }
}

@media screen and (max-width: 768px) {
    .property-card {
        flex: 0 0 calc(100% - 1rem);

    }
}
  
  /*-----------------------------------*\
    #FEATURES
  \*-----------------------------------*/
  
  .features {
    background: var(--cultured-2);
    padding-block: var(--section-padding);
  }
  
  .features-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px 20px;
  }
  
  .features-list > li { width: calc(50% - 10px); }
  
  .features-card {
    position: relative;
    background: var(--white);
    padding: 40px 15px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: center;
    align-items: center;
    gap: 10px;
    box-shadow: var(--shadow-1);
  }
  
  .features-card:is(:hover, :focus) { background: var(--orange-soda); }
  
  .features-card .card-icon {
    background: var(--seashell);
    color: var(--orange-soda);
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    font-size: 28px;
  }
  
  .features-card .card-icon ion-icon { --ionicon-stroke-width: 20px; }
  
  .features-card .card-title {
    color: var(--dark-jungle-green);
    font-family: var(--ff-poppins);
    font-size: var(--fs-6);
    font-weight: var(--fw-600);
    text-align: center;
    transition: var(--transition);
  }
  
  .features-card:is(:hover, :focus) .card-title { color: var(--white); }
  
  .features-card .card-btn {
    background: var(--white);
    color: var(--cadet);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 50%);
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    font-size: 20px;
    border-radius: 50%;
    box-shadow: 0 0 10px hsla(219, 56%, 21%, 0.1);
    transition: var(--transition);
  }
  
  .features-card:is(:hover, :focus) .card-btn { color: var(--orange-soda); }
  
  
  





/* property */




/* General Section Styling */

.property {
  padding: 2rem;
  background-color: #f9f9f9;
}

.section-title {
  font-size: 2rem;
  margin-bottom: 1rem;
  text-align: center;
}

#scroll-container {
  overflow-x: auto;
  display: flex;
  gap: 1rem;
  scroll-behavior: smooth;
  padding-bottom: 1rem;
}

.scroll-slider {
  display: flex;
  gap: 1rem;
}

.scroll-slide {
  flex: 0 0 auto;
  width: 100%;
  max-width: calc(33.33% - 1rem);
  background-color: #ffffff;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.scroll-slide:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.scroll-slide img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: cover;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.card-content {
  padding: 1rem;
  text-align: center;
}

.card-title {
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
  color: #333;
}

.card-text {
  font-size: 0.9rem;
  color: #666;
}

@media (max-width: 1024px) {
  .scroll-slide {
    max-width: calc(50% - 1rem);
  }
}





/* Mobile view styles */
@media (max-width: 768px) {
  #scroll-container {
    overflow: visible; /* Remove horizontal scrolling */
  }

  .scroll-slider {
    display: block; /* Stack cards vertically */
  }

  .scroll-slide {
    margin-bottom: 20px; /* Add space between cards */
    max-width: 100%; /* Full width for mobile */
  }

  .card-banner img {
    width: 100%; /* Make images full width */
    height: auto; /* Maintain aspect ratio */
  }
}





/* property gallary */

.project-gallery {
  padding: 2rem;
  background-color: #f9f9f9;
}

.section-title {
  font-size: 2rem;
  margin-bottom: 1rem;
  text-align: center;
}

.gallery-scroll {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding-bottom: 1rem;
}

.gallery-item {
  position: relative;
  flex: 0 0 calc(33.333% - 1rem);
  cursor: pointer;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.gallery-item img {
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
}

.image-title {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.6);
  color: #fff;
  text-align: center;
  padding: 0.5rem;
  font-size: 1rem;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.gallery-item:hover .image-title {
  opacity: 1;
}

.fullscreen-container {
  display: none;
  position: fixed;
  aspect-ratio: 3/2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1000;
  justify-content: center;
  align-items: center;
  object-fit: contain;
}

.fullscreen-container img {
  max-width: 90%;
  max-height: auto;
}

.close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 2rem;
  color: #fff;
  cursor: pointer;
}




@media (max-width: 1024px) {
  .gallery-item {
    flex: 0 0 calc(50% - 1rem); /* Adjust layout for tablet view */
  }

  .fullscreen-container img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain; /* Maintains aspect ratio on tablets */
  }
}

@media (max-width: 768px) {
  .gallery-item {
    flex: 0 0 calc(100% - 1rem); /* Adjust layout for mobile view */
  }

  .fullscreen-container img {
    max-width: 90%;
    max-height: 90%;
    object-fit: contain; /* Maintains aspect ratio on mobile */
  }
}







/* property gallery  */
  
  /*-----------------------------------*\
    #BLOG
  \*-----------------------------------*/
  
  .blog { padding-block: var(--section-padding); }
  
  .blog-card { box-shadow: var(--shadow-2); }
  
  .blog-card .card-banner {
    overflow: hidden;
    aspect-ratio: 2 / 1.5;
  }
  
  .blog-card .card-banner img {
    height: 100%;
    object-fit: cover;
    transition: 0.5s ease;
  }
  
  .blog-card:is(:hover, :focus) .card-banner img { transform: scale(1.1); }
  
  .blog-content { padding: 30px; }
  
  .blog-card .card-meta-list {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
  }
  
  .blog-card :is(.card-meta-link, .publish-date) {
    color: var(--cadet);
    font-size: var(--fs-7);
    font-weight: var(--fw-600);
    display: flex;
    align-items: center;
    gap: 5px;
    transition: var(--transition);
  }
  
  .blog-card :is(.card-meta-link, .publish-date) ion-icon { color: var(--orange-soda); }
  
  .blog-card .card-meta-link:is(:hover, :focus) { color: var(--orange-soda); }
  
  .blog-title {
    font-size: 1rem;
    --font-weight: var(--fw-600);
  }
  
  .blog-card .blog-title:is(:hover, :focus) { color: var(--orange-soda); }
  
  .blog-content-bottom {
    padding-top: 20px;
    border-top: 1px solid hsla(0, 0%, 0%, 0.1);
    margin-top: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  
  .blog-card .read-more-btn {
    color: var(--orange-soda);
    font-size: var(--fs-7);
    font-weight: var(--fw-600);
    text-transform: uppercase;
  }
  
  
  
  
  
  /*-----------------------------------*\
    #CTA
  \*-----------------------------------*/
  
  .cta {
    background: linear-gradient(to bottom, var(--white) 50%, var(--raisin-black-1) 50%);
  }
  
  .cta-card {
    background: var(--orange-soda);
    padding: 50px 25px;
    box-shadow: var(--shadow-2);
  }
  
  .cta-card .card-content {
    max-width: max-content;
    margin-inline: auto;
    margin-bottom: 30px;
  }
  
  .cta-card .card-title {
    color: var(--white);
    line-height: 1.3;
    margin-bottom: 15px;
  }
  
  .cta-card .card-text {
    color: var(--white);
    font-size: var(--fs-5);
    line-height: 1.8;
  }
  
  .cta-btn {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--black);
    background: var(--white);
    box-shadow: var(--shadow-2);
    border-color: var(--white);
    margin-inline: auto;
  }
  
  .cta-btn:is(:hover, :focus) {
    background: none;
    color: var(--white);
    border-color: transparent;
  }
  
  .cta-btn::before { background: var(--black); }
  
  
  
  
  
  /*-----------------------------------*\
    #FOOTER
  \*-----------------------------------*/
  
  .footer {
    background: var(--raisin-black-1);
    color: var(--white);
    margin-bottom: 68px;
  }
  
  .footer .container { padding-inline: 30px; }
  
  .footer a { color: inherit; }
  
  .footer-top {
    padding-top: 80px;
    padding-bottom: 40px;
  }
  
  .footer-brand { margin-bottom: 70px; }
  
  .footer-brand .logo { margin-bottom: 15px; }
  
  .section-text {
    font-size: var(--fs-5);
    line-height: 1.8;
    margin-bottom: 30px;
    max-width: 45ch;
  }
  
  .contact-list {
    display: grid;
    gap: 15px;
    margin-bottom: 30px;
  }
  
  .contact-link {
    display: flex;
    align-items: flex-start;
    gap: 10px;
  }
  
  .contact-link ion-icon { font-size: 18px; }
  
  .contact-link :is(address, span) {
    font-size: var(--fs-5);
    transition: var(--transition);
  }
  
  .contact-link:is(:hover, :focus) span { color: var(--orange-soda); }
  
  .social-list {
    display: flex;
    align-items: center;
    gap: 20px;
  }


  .social-list .social-link ion-icon {
    font-size: 32px; /* Increase or adjust the size */
    color: #c8c8c8; /* Optional: Set color for the icon */
    transition: transform 0.3s ease, color 0.3s ease; /* Add hover effect */
}

.social-list .social-link ion-icon:hover {
    transform: scale(1.5); /* Enlarge icon slightly on hover */
    color: #ff9764; /* Change color on hover */
}

  
  .footer-list:not(:last-child) { margin-bottom: 50px; }
  
  .footer-list-title {
    font-family: var(--ff-poppins);
    font-size: var(--fs-3);
    font-weight: var(--fw-700);
    margin-bottom: 15px;
  }
  
  .footer-link {
    font-size: var(--fs-5);
    padding-block: 10px;
  }
  
  .footer-link:is(:hover, :focus) { color: var(--orange-soda); }
  
  .footer-bottom {
    background: var(--raisin-black-2);
    padding-block: 25px;
  }
  
  .copyright {
    font-size: var(--fs-5);
    text-align: center;
  }
  
  .copyright a { display: inline-block; }
  
  .copyright a:is(:hover, :focus) { color: var(--orange-soda); }
  
  
  
  
  
  /*-----------------------------------*\
    #MEDIA QUERIES
  \*-----------------------------------*/
  
  /**
   * responsive for larger than 600px screen
   */
  /* Mobile View Styling */





  @media (min-width: 600px) {
  
    /**
     * CUSTOM PROPERTY
     */
  
    :root {
  
      /**
       * typography
       */
  
      --fs-2: 1.875rem;
  
    }
  
  
  
    /**
     * REUSED STYLE
     */
  
    .container {
      max-width: 550px;
      margin-inline: auto;
    }
  
    .has-scrollbar {
      gap: 25px;
      margin-inline: -25px;
      padding-inline: 25px;
      scroll-padding-left: 25px;
    }
  
    .has-scrollbar > li { min-width: calc(50% - 12.5px); }
  
  
  
    /**
     * SERVICE
     */
  
    .service-list > li { width: calc(50% - 15px); }
  
  
  
    /**
     * PROPERTY
     */
  
    .property .container {
      max-width: unset;
      padding-inline: 25px;
    }
  
  
  
    /**
     * CTA
     */
  
    .cta-card { --fs-2: 1.5rem; }
  
  
  
    /**
     * FOOTER
     */
  
    .footer-link-box {
      display: flex;
      justify-content: space-between;
      gap: 20px;
    }
  
  }
  
  
  
  
  
  /**
   * responsive for larger than 768px screen
   */
  
  @media (min-width: 768px) {
  
    /**
     * CUSTOM PROPERTY
     */
  
    :root {
  
      /**
       * typography
       */
  
      --fs-1: 2.5rem;
      --fs-5: 0.938rem;
      --fs-6: 0.875rem;
  
    }
  
  
  
    /**
     * REUSED STYLE
     */
  
    .container { max-width: 720px; }
  
    .btn {
      --fs-5: 1rem;
      padding: 12px 28px;
    }
  
  
  
    /**
     * HEADER
     */
  
    .header-top { padding-block: 5px; }
  
    .header-top .wrapper { margin-left: auto; }
  
    .header-top-social-list { gap: 12px; }
  
    .header-top-social-link { font-size: 1rem; }
  
    .header-top-btn { padding: 10px 20px; }
  
    .header-bottom-actions {
      all: unset;
      display: flex;
      align-items: center;
      gap: 10px;
    }
  
    .header-bottom .container {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
  
    .header-bottom-actions-btn ion-icon { margin-bottom: 0; }
  
    .header-bottom-actions-btn span { display: none; }
  
    .header-bottom-actions-btn {
      background: var(--white);
      width: 50px;
      height: 50px;
      box-shadow: var(--shadow-2);
    }
  
  
  
    /**
     * HERO
     */
  
  


    /**
     * ABOUT
     */
  
    .about .section-title { max-width: 30ch; }
  
    .about-text { max-width: 55ch }
  
    .about-list {
      display: grid;
      grid-template-columns: 1fr 1fr;
    }
  
  
  
    /**
     * FEATURES
     */
  
    .features-list > li { width: calc(33.33% - 13.33px); }
  
    .features-card { gap: 20px; }
  
    .features-card .card-icon {
      width: 80px;
      height: 80px;
      font-size: 32px;
    }
  
    .features-card .card-title { --fs-6: 1.125rem; }
  
  
  
    /**
     * BLOG
     */
  
    .blog-card { --fs-7: 0.875rem; }
  
    .blog-title { font-size: 1.25rem; }
  
    .blog .card-meta-list { gap: 30px; }
  
  
  
    /**
     * CTA
     */
  
    .cta-card { --fs-2: 1.625rem; }
  
  
  
    /**
     * FOOTER
     */
  
    .footer { margin-bottom: 0; }
  
  }
  
  
  
  
  
  /**
   * responsive for larger than 992px screen
   */
  
  @media (min-width: 992px) {
  
    /**
     * CUSTOM PROPERTY
     */
  
    :root {
  
      /**
       * typography
       */
  
      --fs-1: 3.125rem;
      --fs-4: 1.375rem;
  
    }
  
  
  
    /**
     * REUSED STYLE
     */
  
    .container { max-width: 970px; }
  
    .btn { padding: 15px 40px; }
  
  
  
    /**
     * HEADER
     */
  
    .header-top-list,
    .header-top .wrapper { gap: 30px; }
  
  










  
    /**
     * HERO
     */
  
    .hero-content {
      max-width: unset;
      margin-bottom: 0;
    }
  
    .hero .container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
    }
  
  
  
    /**
     * ABOUT
     */
  
    .about .container {
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      gap: 60px;
    }
  
    .about-banner { margin-bottom: 0; }
  
    .about-banner > img { width: 100%; }
  
  
  
    /**
     * SERVICE
     */
  
    .service-list > li { width: calc(33.33% - 20px); }
  
  
  
    /**
     * PROPERTY
     */
  
  
  
    /**
     * FEATURES
     */
  
    .features-list { column-gap: 30px; }
  
    .features-list > li { width: calc(25% - 30px); }
  
  
  
    /**
     * BLOG
     */
  
    .blog-title { font-size: 1.375rem; }
  
  
  
    /**
     * CTA
     */
  
    .cta-card {
      --fs-2: 1.875rem;
      --fs-5: 1rem;
  
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 50px;
    }
  
    .cta-card :is(.card-content, .cta-btn) { margin: 0; }
  
  
  
    /**
     * FOOTER
     */
  
    .footer-top .container {
      display: flex;
      justify-content: space-between;
    }
  
    .footer-brand {
      max-width: 300px;
      margin-bottom: 0;
    }
  
    .footer-link-box { flex-basis: 550px; }
  
  }
  
  
  
  
  
  /**
   * responsive for larger than 1200px screen
   */
  
  @media (min-width: 1200px) {
  
    /**
     * CUSTOM PROPERTY
     */
  
    :root {
  
      /**
       * typography
       */
  
      --fs-2: 2.75rem;
      --fs-4: 1.5rem;
  
    }
  
  
  
    /**
     * REUSED STYLE
     */
  
    .container { max-width: 1200px; }
  
    .has-scrollbar > li { min-width: calc(33.33% - 16.66px); }
  
  
  
    /**
     * HEADER
     */
  
    .header-bottom { padding-block: 30px; }
  
    .header-bottom-actions-btn:last-child,
    .navbar-top,
    .overlay { display: none; }
  
    .navbar,
    .navbar.active { all: unset; }
  
    .navbar-list {
      display: flex;
      align-items: center;
      gap: 30px;
    }
  
    .navbar-link {
      color: var(--dark-jungle-green);
      --fs-5: 1.125rem;
      text-transform: capitalize;
    }
  
    .header { padding-bottom: 114px; }
  
    .header-bottom {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
    }
  
    .header.active .header-bottom {
      position: fixed;
      bottom: auto;
      top: -94px;
      padding-block: 20px;
      box-shadow: 0 10px 50px hsla(237, 71%, 52%, 0.2);
      animation: slideDown 0.25s ease-out forwards;
    }
  
    @keyframes slideDown {
      0% { transform: translateY(0); }
      100% { transform: translateY(100%); }
    }
  
  
  
    /**
     * HERO
     */
  
    .hero-text {
      padding-left: 30px;
      max-width: 450px;
      margin-bottom: 40px;
    }
  
  
  
    /**
     * FEATURES
     */
  
    .features-card .card-icon {
      width: 100px;
      height: 100px;
      font-size: 45px;
    }
  
    .features-card .card-title { --fs-6: 1.375rem; }
  
  
  
    /**
     * CTA
     */
  
    .cta-card {
      --fs-2: 2.25rem;
      padding-inline: 60px;
    }
  
  
  
    /**
     * FOOTER
     */
  
    .footer { --fs-5: 1rem; }
  
    .footer-link-box { flex-basis: 700px; }
  
  }









  /* Sidebar styles */
.sidebar {
  position: fixed;
  top: 0;
  left: -100%; /* Hidden by default */
  width: 370px;
  height: 100%;
  background-color: white;
  color: #f8f8f8;
  overflow-y: auto;
  transition: left 0.3s ease;
  z-index: 1000;
}

.nav-icon {
  font-size: 24px;
  background: none;
  border: none;
  cursor: pointer;
  position: fixed;
  top: 20px;
  left: 80px;
  z-index: 1001;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav-icon:focus {
  outline: none;
}

.nav-icon .menu-text {
  margin-left: 12px;
  margin-right: 10px;
  font-size: 16px;
   /* Hidden by default */
}

.nav-icon.cross .menu-text {
  display: inline; /* Show "Menu" text when open */
  color: #949494;
}


/* Hide nav-icon (☰ and Menu text) when sidebar is open */


.nav-icon.cross::before {
  content: "✖"; /* Change to cross icon when open */
  font-size: 24px;
  color: rgb(150, 150, 150); /* Replace with your desired color */
}


.sidebar.open {
  left: 0; /* Slide into view when open */
}

.sidebar-menu {
  list-style: none;
  margin: 0;
  padding: 60px;
}

.sidebar-menu li {
  padding: 5px 0;
}

.sidebar-menu li a {
  color: rgb(125, 125, 125);
  text-decoration: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sidebar-menu li a:hover {
  background-color: #ffffff;
  padding-left: 10px;
  transition: all 0.3s ease;
}

.sidebar-menu .arrow {
  font-size: 18px;
  margin-left: auto;
}

.overlay {
  display: none; /* Hidden by default */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 999;
}

/* Prevent scrolling when sidebar is open */
body.sidebar-open {
  overflow: hidden;
}

/* Hide menu and content for mobile and tablet views */
@media screen and (max-width: 768px) {
  .nav-icon,
  .sidebar {
      display: none;
  }
}


.nav-icon.hidden {
  opacity: 0; /* Smooth fade-out */
  pointer-events: none;
  color:#ffffff /* Disable interactions */
}





/* Style the dropdown menu */
.dropdown-menu {
  display: none; /* Hide dropdown by default */
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative; /* Align dropdown relative to its parent */
  left: 0;
  top: 0; /* Adjust placement to align with the sidebar */
  background-color: transparent; /* Match the sidebar background */
  box-shadow: none; /* Remove shadow */
  width: 100%; /* Full width to match sidebar links */
}

.dropdown-menu li {
  padding: 5px 0; /* Match sidebar item spacing */
}

.dropdown-menu li a {
  text-decoration: none;
  color: rgb(125, 125, 125); /* Match sidebar link color */
  display: flex;
  align-items: center;
  padding: 5px 10px; /* Align with sidebar spacing */
  transition: all 0.3s ease; /* Smooth hover effect */
}

.dropdown-menu p {
  text-decoration: none;
  color: rgb(255, 77, 77); 
}


.dropdown-menu li a:hover {
  background-color: #ffffff; /* Match hover background */
  padding-left: 20px; /* Add hover effect padding */
}

/* When dropdown is open, show menu */
.dropdown.open .dropdown-menu {
  display: block;
}
