/* Reset some default styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  /* font-family: "Arial", sans-serif; */
  font-family: 'Times New Roman', Times, serif;
  background-color: #f0f0f0;
  /* Light background for the page */
}

/* //////////////////// Header styles //////////////// */

header {
  position: relative;
  height: 100vh;
  background-color: #121212;
  /* Dark background */
  color: #fff;
  /* White text color */
  overflow: hidden;
}

/* Banner styles */
.banner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  color: #ffffff;
  text-align: center;
}

/* Navbar styles */
.navbar {
  z-index: 999999;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 15px;
  background: rgba(0, 0, 0, 0.7);
  /* background: #242424; */
  /* Dark semi-transparent background */
  position: fixed;
  top: 0;
  width: 100%;
  transition: background 0.3s ease;
}

.logo img {
  height: 70px;
  width: 130px;
  /* object-fit: cover; */
  /* border-radius: 50%; */
  /* background-position: center; */
  transition: transform 0.3s ease;
}

.logo img:hover {
  transform: scale(1.1);
  /* Slight zoom on hover */
}

/* Burger menu */
.burger {
  display: none;
  /* Hidden by default */
  font-size: 28px;
  color: #ffffff;
  cursor: pointer;
  transition: color 0.3s ease;
}

/* Close icon */
.close {
  display: none;
  /* Hidden by default */
  font-size: 28px;
  color: #ffffff;
  cursor: pointer;
  transition: color 0.3s ease;
}

/* Navigation links */
.nav-links {
  display: flex;
  list-style: none;
  font-weight: 500;
  padding: 1rem 0;
}

.navlink-items {
  margin: 0 1.5rem;
}

/* Navigation links */
.navlink-items a {
  font-size: 18px;
  color: #ffffff;
  padding: 5px 10px;
  border-radius: 4px;
  text-decoration: none;
  transition: color 0.3s ease;
}

.navlink-items a:hover,
.navlink-items a.active {
  color: white;
  background-color: #1683e9;
}

/* ////////////////// Banner slider ///////////////////// */

.mainslider {
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.slideHead {
  display: flex;
  height: 100%;
  width: 100%;
}

.slideHead img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(80%);
  /* Darken image for better text visibility */
  transition: transform 0.5s ease;
  /* Add transition for smooth sliding */
}

.slide {
  min-width: 100%;
  height: 100%;
  object-fit: cover;
}

.controls {
  position: absolute;
  width: 100%;
  top: 50%;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  padding: 0 1rem;
}

.controls button {
  cursor: pointer;
  background-color: #1683e9;
  color: white;
  border: none;
  padding: 12px 14px;
  border-radius: 50%;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.controls button:hover {
  background-color: #186fc0;
  transform: scale(1.1);
}

/* Media queries for responsiveness */
@media (max-width: 768px) {

  header {
    height: 70vh;
  }

  .controls button {
    font-size: 10px;
    padding: 10px;
  }

  .burger {
    display: block;
    /* Show burger icon on mobile */
  }

  .nav-links {
    display: none;
    /* Hidden by default */
    z-index: 5;
    flex-direction: column;
    width: 100%;
    background: rgb(0, 0, 0,0.8);
    position: absolute;
    top: 56px;
    left: 0;
    text-align: center;
  }

  .navlink-items {
    margin: 10px 20px;
  }

  .nav-links.active {
    display: flex;
    /* Show links when active */
    padding: 20px 0;
  }

  .close {
    display: none;
    /* Hidden by default */
  }

  .nav-links.active~.close {
    display: block;
    /* Show close icon when nav is active */
  }
}

/* /////////////////////////// Center text of banner ///////////////////// */
.banner-details {
  user-select: none;
  position: absolute;
  display: flex;
  flex-direction: column;
  width: 80vw;
  justify-content: center;
  align-items: center;
  /* z-index: 2; */
}

/* Banner title and description styles */
.banner-title {
  color: #ffffffd2;
  font-size: 3.8rem;
  font-weight: 700;
  margin: 20px;
  /* color: #186fc0; */
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8);
  transition: color 0.3s ease;
}

.banner-description {
  font-size: 1.4rem;
  max-width: 600px;
  letter-spacing: 1px;
  text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8);
  line-height: 1.5;
  padding: 0 10px;
}

@media (max-width: 480px) {
  .banner-title {
    font-size: 2.2rem;
  }

  .banner-description {
    font-size: 1.1rem;
  }
}

/*.book_btn {*/
/*  background-color: #1683e9;*/
/*  color: white;*/
/*  border: none;*/
/*  padding: 10px 20px;*/
/*  border-radius: 5px;*/
/*  font-size: 16px;*/
/*  cursor: pointer;*/
/*  text-transform: uppercase;*/
/*  text-decoration: none;*/
/*  transition: background-color 0.3s ease, transform 0.2s ease;*/
/*}*/

/*.book_btn:hover {*/
/*  background-color: #186fc0;*/
/*  transform: scale(1.05);*/
/*}*/

/*@media (max-width: 768px) {*/
/*  .book-now {*/
/*    display: none;*/
/*  }*/
/*}*/

/* //////////////////// Footer styles //////////////// */
.footer {
  height: fit-content;
  padding: 2rem 1.5rem;
  background: black;
  color: white;
}

.main-footer {
  display: flex;
  gap: 40px;
  justify-content: space-around;
  align-items: flex-start;
  /* Align items at the start */
  flex-wrap: wrap;
  /* Allow items to wrap on smaller screens */
}

.footer-partone {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  /* Change 'start' to 'flex-start' */
  gap: 0.8rem;
  font-size: 14px;
}

.footer-subhead {
  font-size: 26px;
}

.footer-partone p {
  color: rgba(255, 255, 255, 0.7);
}

.footer-partone span a:hover {
  color: rgb(231, 229, 229);
  text-decoration: underline;
}

.footer-parttwo {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  /* Change 'start' to 'flex-start' */
  gap: 1.4rem;
}

.footer-parttwo p {
  color: rgba(255, 255, 255, 0.7);
}

.footer-description {
  display: flex;
  align-items: start;
  gap: 10px;
}

.sub-footer {
  font-size: 18px;
  font-weight: 400;
  text-align: center;
  margin-top: 40px;
  color: rgba(255, 255, 255, 0.7);
}

/* Responsive styles */
@media (max-width: 768px) {
  .main-footer {
    flex-direction: column-reverse;
    /* Stack items vertically */
    align-items: center;
    /* Center align for smaller screens */
    text-align: center;
    /* Center text */
    gap: 2rem;
  }

  .footer {
    height: fit-content;
    padding: 0.5rem;
    background: black;
    color: white;
  }

  .footer-partone,
  .footer-parttwo {
    align-items: center;
    /* Center align items */
    gap: 0.4rem;
    /* Adjust gap for better spacing */
  }

  .footer-subhead {
    font-size: 24px;
    /* Slightly smaller for mobile */
  }

  .footer-partone span {
    font-size: 12px;
    /* Smaller links */
  }

  .footer-parttwo span {
    font-size: 14px;
    /* Smaller phone numbers */
  }
}

@media (max-width: 480px) {
  .footer-subhead {
    font-size: 16px;
    /* Even smaller for very small screens */
  }

  .footer-partone span {
    font-size: 16px;
    /* Smaller links */
  }

  .footer-parttwo span {
    font-size: 16px;
    /* Smaller phone numbers */
  }
}

/* Parallax Background */
.parallax-section {
  height: fit-content;
  width: 100%;
  /* background-image: url(./assets/img_.jpeg); */
  background-color: rgb(144, 141, 141);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: white;
}

.parallax-title {
  font-weight: bolder;
  font-size: 3rem;
  color: #ffffff;
  margin: 20px 0;
  text-align: center;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.4);
  transition: font-size 0.2s ease;
  cursor: pointer;
}

.parallax-description {
  text-align: center;
  cursor: pointer;
}

.parallax-section p {
  margin: 0 0 20px 0;
  font-size: 18px;
  font-weight: bold;
  padding: 0 20px;
  color: white;
  transition: font-size 0.3s ease, margin 0.3s ease, background-color 0.3s ease;
}
/* 
.parallax-section:hover p {
  font-size: 22px;
  padding: 5px 0;
  width: 100%;
  text-align: center;
  background-color: #186fc0;
} */

.parallax-section:hover .parallax-title {
  font-size: 3.5rem;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .parallax-title {
    font-size: 3rem;
  }

  .parallax-section p {
    font-size: 16px;
  }

  .parallax-description {
    text-align: center;
  }
}

@media (max-width: 768px) {
  .parallax-title {
    font-size: 2.5rem;
  }

  .parallax-section p {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .parallax-title {
    font-size: 2rem;
  }

  .parallax-section p {
    font-size: 12px;
  }
}

/*///////////////////// About section  css //////////////// */

/* About Section */
.about-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4rem 2rem;
  background-color: #ffffff;
  gap: 2rem;
  width: 100%;
  height: 70vh;
}

.about-content {
  flex: 1;
  max-width: 50%;
}

.about-title {
  font-size: 36px;
  color: #333333;
  margin-bottom: 1rem;
  padding: 10px;
  border-left: 5px solid #8dc63f;
}

.about-description {
  font-size: 16px;
  /* color: #555555; */
  line-height: 1.6;
  text-align: justify;
}

/* Image Container */
.about-image-container {
  position: relative;
  flex: 1;
  height: 50vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.about-image {
  width: 80%;
  height: 50vh;
  object-fit: cover;
  display: block;
  position: relative;
  z-index: 1;
  max-width: 100%;
}

/* Image Effect using ::before */
.about-image-container::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 20px;
  width: 300px;
  height: 300px;
  background-color: #e0e0e0;
  z-index: 0;
  transform: rotate(10deg);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease-in-out;
}

/* Responsive Adjustments */
@media (max-width: 1024px) {
  .about-section {
    padding: 3rem 1.5rem;
  }

  .about-title {
    font-size: 30px;
  }

  .about-description {
    font-size: 16px;
  }

  .about-image {
    height: 45vh;
  }

  .about-image-container::before {
    width: 250px;
    height: 250px;
  }
}

@media (max-width: 768px) {
  .about-section {
    flex-direction: column;
    text-align: center;
    height: 90vh;
  }

  .about-content {
    max-width: 100%;
  }

  .about-image-container {
    max-width: 100%;
    margin-top: 0rem;
  }

  .about-image {
    height: 35vh;
  }

  .about-image-container::before {
    top: 10px;
    left: 10px;
    width: 220px;
    height: 220px;
  }
}

@media (max-width: 480px) {
  .about-section {
    flex-direction: column;
    text-align: justify;
  }

  .about-title {
    font-size: 28px;
  }

  .about-description {
    font-size: 14px;
  }

  .about-image-container::before {
    top: 5px;
    left: 5px;
    width: 180px;
    height: 180px;
  }

  .about-section {
    height: 100vh;
  }

  .about-image {
    height: 30vh;
  }
}

/*  ////////////// About2  section //////////////////*/

/* Container for the layout */
.restaurant-section {
  background-color: #f5f5f5;
  padding: 4rem 2rem;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 40px;
  gap: 40px;
  max-width: 100%;
  margin: 0 auto;
}

/* Image container */
.image-container {
  flex: 1;
  height: 110vh;
  width: 100%;
  object-fit: contain;
  position: relative;
  border: 3px solid #ddd;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.image-container img {
  width: 100%;
  height: -webkit-fill-available;
  display: block;
  object-fit: cover;
  border-left: 5px solid #8dc63f;
  padding: 30px;
}

/* Content container */
.content-container {
  flex: 1;
  padding-left: 20px;
  letter-spacing: 0.5px;
}

/* Title and subtitle styling */
.section-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 5px;
  color: #333;
}

.sub-title {
  font-size: 24px;
  font-weight: bold;
  margin: 20px 0 10px;
  color: #333;
  border-left: 5px solid #8dc63f;
  /* Green accent */
  padding-left: 10px;
}

/* Text description styling */
.description {
  font-size: 16px;
  line-height: 1.8;
  /* color: #666; */
  margin-bottom: 15px;
  text-align: justify;
}

.video-sundar {
  width: 100%;
  height: -webkit-fill-available;
}

/* Responsive styles */
@media (max-width: 1024px) {

  /* Tablet view */
  .restaurant-section {
    flex-direction: column;
    padding: 30px;
  }

  .content-container {
    padding-left: 0;
  }

  .section-title {
    font-size: 32px;
  }

  .sub-title {
    font-size: 22px;
  }

  .description {
    font-size: 15px;
  }
}

@media (max-width: 768px) {

  /* Mobile view */
  .restaurant-section {
    padding: 10px;
    gap: 20px;
    margin-top: 220px;
  }

  .section-title {
    font-size: 28px;
    text-align: center;
  }

  .sub-title {
    font-size: 20px;
    text-align: center;
    margin: 15px 0;
    padding-left: 0;
    border-left: none;
    border-bottom: 3px solid #8dc63f;
    /* Adjust accent line for mobile */
    padding-bottom: 5px;
  }

  .description {
    font-size: 14px;
    padding: 5px;
  }

  /* Adjusting image for mobile */
  .image-container {
    max-width: 90%;
    margin: 0 auto;
    height: 50vh;
    margin-bottom: 20px;
  }
}

/* /////////////// Gallery section ////////////// */
/* Gallery Section */
.gallery-section {
  padding: 4rem 1rem;
  background-color: #ffffff;
  text-align: center;
  max-width: 100%;
  margin: 0 auto;
  /* Centering the gallery container */
}

.gallery-title {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 2rem;
  color: #333;
  text-transform: uppercase;
  text-align: center;
}

/* Gallery Container */
.gallery-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  /* 4 items per row for larger screens */
  gap: 0.2rem;
  place-items: center;
  width: 90%;
  margin: 20px auto;
}

/* Gallery Item */
.gallery-item {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  border-radius: 10px;
  /* height: -webkit-fill-available; */
  height: 390px;
  /* Fixed height for gallery items */
}

/* Ensure images fill the item */
.gallery-image {
  width: 300px;
  height: 300px;
  background: red;
  display: block;
  object-fit: cover;
  transition: opacity 0.4s ease, transform 0.4s ease;
  border-radius: 10px;
}



/* Responsive Design */
@media (max-width: 1024px) {
  .gallery-container {
    grid-template-columns: repeat(3, 1fr);
    /* 3 items per row on tablets */
  }
}

@media (max-width: 768px) {
  .gallery-container {
    grid-template-columns: repeat(2, 1fr);
    /* 2 items per row for smaller tablets */
  }

  .gallery-item {
    height: 180px;
    /* Adjusted height for smaller screens */
  }

  .gallery-title {
    font-size: 28px;
  }

  .gallery-image {
    height: 280px;
    width: 300px;
  }
}

@media (max-width: 480px) {
  .gallery-container {
    grid-template-columns: 1fr;
    gap: 25px;
    /* 1 item per row on mobile */
  }

  .gallery-item {
    height: auto;
    /* Adjusted height for mobile */
  }
}

/* ///////////////////// Gallery section 2 ///////////////// */
.ImageCard {
  background-color: #f5f5f5;
  padding: 2rem 2rem;
}

.imagecard-title h2 {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 2rem;
  color: #333;
  text-align: center;
  text-transform: uppercase;
}

/* 2x2 Grid Container */
.gallery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

/* Each Card */
.grid-card {
  background-color: white;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.grid-card img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}

.card-title {
  text-align: center;
  padding: 12px;
  font-weight: bold;
  font-size: 1.1rem;
  background-color: #fff;
  color: #333;
}

/* Responsive: Stack for smaller screens */
@media screen and (max-width: 768px) {
  .gallery-grid {
    grid-template-columns: 1fr;
  }

  .grid-card img {
    height: 200px;
  }

  .imagecard-title h2 {
    font-size: 28px;
  }

  .ImageCard {
    background-color: #f5f5f5;
    padding: 2rem 1rem;
  }
}

/* //// Our amenities //// */

.amenities {
  background-color: white;
  padding: 2rem 0;
}

.amenities h2 {
  font-size: 36px;
  font-weight: bold;
  margin: 0px 0;
  color: #333;
  text-align: center;
  text-transform: uppercase;
}

.amenities-icons {
  padding: 2rem 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  color: #080808;
  font-size: large;
}

.center-amenities {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 3px;
}

@media (max-width: 768px) {
  .amenities-icons {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }

  .amenities h2 {
    font-size: 28px;
  }
}


/* About us pointer changes  */

.aboutus-points {
  display: flex;
  gap: 15px;
  flex-direction: column;
  justify-content: start;
  align-items: center;
}

.aboutus-point-first {
  font-size: 22px;
}

.aboutus-timing {
  display: flex;
  gap: 25px;
  padding-bottom: 30px;
  justify-content: center;
  align-items: center;
}


@media (max-width: 768px) {
  .aboutus-points {
    justify-content: center;
  }

  .aboutus-point-first {
    font-size: 18px;
  }

  .aboutus-timing {
    flex-direction: column;
    gap: 10px;
  }
}

/* privacy policy css */

.privacy-container {
  width: 100%;
  margin: 0 auto;
  padding: 2rem 1.5rem;
  font-family: 'Arial', sans-serif;
  line-height: 1.6;
  color: #333;
}

.privacy-heading {
  color: #2c3e50;
  margin-bottom: 0.5rem;
  border-bottom: 2px solid #eaeaea;
  padding-bottom: 0.5rem;
}

.privacy-date {
  color: #7f8c8d;
  font-style: italic;
  margin-bottom: 2rem;
}

.privacy-section {
  margin-bottom: 2.5rem;
}

.privacy-subheading {
  color: #34495e;
  margin: 1.5rem 0 1rem;
}

.privacy-paragraph {
  margin-bottom: 1rem;
}

.privacy-list {
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
}

.privacy-list-item {
  margin-bottom: 0.75rem;
}

.privacy-highlight {
  font-weight: bold;
}

.privacy-link {
  color: #3498db;
  text-decoration: none;
  transition: color 0.3s;
}

.privacy-link:hover {
  color: #2980b9;
  text-decoration: underline;
}

.privacy-contact {
  background-color: #f9f9f9;
  padding: 1.5rem;
  border-left: 4px solid #3498db;
  margin-top: 2rem;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .privacy-container {
    padding: 1.5rem 1rem;
  }

  .privacy-heading {
    font-size: 1.75rem;
  }

  .privacy-subheading {
    font-size: 1.25rem;
  }
}

@media (max-width: 480px) {
  .privacy-container {
    padding: 1rem 0.75rem;
  }

  .privacy-heading {
    font-size: 1.5rem;
  }

  .privacy-subheading {
    font-size: 1.125rem;
  }

  .privacy-list {
    padding-left: 1.25rem;
  }
}

/* near by attraction  */

/* Nearby Attractions Section */
.nearby-attractions {
  padding: 4rem 2rem;
  background-color: #f8f8f8;
  text-align: center;
}

.nearby-title {
  font-size: 36px;
  margin-bottom: 2.5rem;
  color: #2c2c2c;
  text-transform: uppercase;
}

/* Grid Layout */
.attractions-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

/* Individual Card */
.attraction-card {
  background-color: #ffffff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.07);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.attraction-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.attraction-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
}

.attraction-info {
  padding: 15px;
}

.attraction-info h3 {
  font-size: 18px;
  color: #333333;
  margin: 0;
}

/* Tablet View (2 Columns) */
@media (max-width: 1024px) {
  .attractions-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .nearby-title {
    font-size: 30px;
  }
}

/* Mobile View (1 Column) */
@media (max-width: 600px) {
  .attractions-grid {
    grid-template-columns: 1fr;
  }

  .attraction-card img {
    height: 200px;
  }

  .nearby-title {
    font-size: 24px;
  }

  .attraction-info h3 {
    font-size: 16px;
  }
}

.book-now-btn {
    position: fixed;
    bottom: 70px;
    right: 20px;
    background-color: #007BFF;
    color: white;
    font-weight: bold;
    padding: 12px 20px;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 9999;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.book-now-btn:hover {
    background-color: #0056b3;
    transform: scale(1.05);
}