/* Global Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: 'Arial', sans-serif;
  line-height: 1.5;
  color: #000;
  background-color: #fff;
  width: 100vw;
}

header {
  display: flex;
  align-items: center;
  padding: 1rem;
}

.logo {
  display: flex;
  align-items: center;
}

.logo-star {
  width: 50px; /* Set the desired size for the star */
  height: 30px;
  /* margin-right: 0.2rem; Add spacing between the star and text */
  object-fit: contain; /* Ensure the star image scales properly */
}

h1 {
  font-size: 1.75rem;
  font-weight: bold;
}

/* Hero Section */
.hero {
  text-align: left; /* Changed to left-aligned */
  padding: 2rem 1rem;
}

.hero h2 {
  font-size: 3rem;
  font-weight: bold;
  margin-bottom: 1rem;
  line-height: 70px;
}

.hero p {
  font-size: 2rem;
  margin: 1rem 0;
  line-height: 30px;
  
}
.hero h2, #hero-p{
  opacity: 0; /* Start hidden */
  animation: fadeInFromLeft 1.5s ease-out forwards; /* Apply the animation */
  animation-delay: 0.5s; /* Add a slight delay to make it appear after the title */
}
.btn {
  display: inline-block;
  padding: 1rem 3rem;
  background-color: black;
  color: white;
  text-decoration: none;
  border-radius: 3rem;
  font-weight: bold;
  font-size: .75rem;
  
}

.btn:hover {
  background-color: #333;
}

/* Image Section */
.image-section {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem 1rem;
  position: relative;
  margin-bottom: 100px;
}

.splashes {
  position: relative;
  top: 30px;
  width: 250px;
  height: 250px;
}

.purple-splash {
  position: absolute;
  top: -50px;
  left: 10px;
  width: 250px;
  height: auto;
  z-index: 1;
}

.cleaning-lady {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* Ensures the image is centered */
  width: 220px; /* Ensures consistent sizing */
  height: 220px;
  border-radius: 50%; /* Makes the image circular */
  object-fit: cover; /* Crops and fits the image inside the circle */
  object-position: left; /* Keeps the focal point in the center */
  z-index: 2;
}

.yellow-splash {
  position: absolute;
  top: 130px;
  left: -15px;
  width: 230px;
  height: auto;
  z-index: 3;
  
}

@media screen and (min-width: 768px) {
  .hero {
    display: flex;
    justify-content: space-between; /* Position text and images side by side */
    align-items: flex-start; /* Align text and images at the top */
    width: 100%; /* Ensure the section spans the full width of the screen */
    padding: 0 5%; /* Add padding on the left and right for spacing */
  }

  .hero-text {
    width: 50%; /* Allocate half of the width for text */
    text-align: left; /* Ensure text is left-aligned */
  }

  .image-section {
    position: relative;
    width: 50%; /* Allocate half of the width for images */
    max-width: 500px; /* Limit image section size */
    height: auto;
    margin-bottom: 100px;
  }

  .splashes {
    /* position: relative; */
    width: 100%;
    /* height: auto; */
    transform: translate(10%, -35% );
  }

  .purple-splash {
    position: absolute;
    top: -70; /* Align the purple splash tip with the top of the logo */
    right: 0;
    width: 100%;
    max-width: 400px; /* Limit the splash size */
    height: auto;
    z-index: 1;
  }

  .yellow-splash {
    /* position: absolute; */
    top: 150%; /* Place yellow splash below the purple */
    right: 0;
    width: 80%;
    max-width: 350px; /* Limit splash size */
    transform: translate(-5%, -30% );
    height: auto;
    z-index: 3;
  }

  .cleaning-lady {
    position: absolute;
    top: 10%; /* Place cleaning lady relative to the splashes */
    right: 10%;
    transform: translate(-60%, 20% ); /* Ensure the lady is aligned properly */
    width: 350px;
    height: 350px;
    border-radius: 50%;
    object-fit: cover;
    z-index: 2;
  }
}

@media screen and (min-width: 1200px) {
  .hero {
    display: flex;
    justify-content: space-between; /* Keep text and images on their respective sides */
    align-items: flex-start; /* Align the content at the top */
    width: 100%; /* Allow the section to stretch across the entire screen */
    padding: 2% 1.5%; /* Add padding for spacing from the edges */
    left: -100;
  }

  .hero-text h2{
    width: 100%; /* Allocate 65% of the screen width to the text */
    text-align: left; /* Ensure the text is left-aligned */
    font-size: 9rem;
    line-height: 9rem;
  }

  .btn{
    margin-top: 50px;
  }

  .image-section {
    position: relative;
    width: 35%; /* Allocate 35% of the screen width to the images */
    max-width: none; /* Remove width constraints */
    height: auto;
    text-align: right; /* Keep the images aligned to the right */
  }

  .splashes {
    position: relative;
    display: flex;
    justify-content: flex-end; /* Push the images to the right */
    align-items: flex-start; /* Align images at the top */
    width: 100%;
    height: auto;
  }

  .purple-splash {
    /* position: absolute; */
    top: -170px;
    right: -10;
    width: 100%;
    max-width: 500px; /* Control the splash size */
    transform: translate(100, -70); /* Ensure alignment */
    height: auto;
    z-index: 1;
  }

  .yellow-splash {
    /* position: absolute; */
    top: 260px; /* Place yellow splash lower than the purple */
    right: 0;
    width: 80%;
    max-width: 420px; /* Limit splash size */
    /* height: auto; */
    z-index: 3;
  }

  .cleaning-lady {
    /* position: absolute; */
     /* Align the cleaning lady relative to the splashes */
    /* right: 10%; */
    top: -70px;
    transform: translate(10,0); /* Ensure alignment */
    width: 450px;
    height: 450px;
    border-radius: 50%;
    object-fit: cover;
    z-index: 2;
  }
}


/* Keyframes for the fade-in-from-left animation */
@keyframes fadeInFromLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px); /* Start slightly off-screen to the left */
  }
  100% {
    opacity: 1;
    transform: translateX(0); /* End at the original position */
  }
}

/* Keyframes for the pop and bounce effect */
@keyframes popAndBounce {
  0% {
    opacity: 0; /* Start invisible */
    transform: scale(0.5) translateY(0); /* Start small */
  }
  30% {
    opacity: 1; /* Fade in */
    transform: scale(1.1) translateY(-20px); /* First big bounce */
  }
  50% {
    transform: scale(1) translateY(10px); /* Settle slightly */
  }
  70% {
    transform: scale(1.05) translateY(-10px); /* Second smaller bounce */
  }
  90% {
    transform: scale(1) translateY(5px); /* Final smaller bounce */
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0); /* Settle in place */
  }
}

/* Apply the animation to the splashes */
.purple-splash,
.yellow-splash {
  opacity: 0; /* Start hidden */
  animation: popAndBounce 2s ease-out forwards; /* Animation lasts 2 seconds */
}

.purple-splash {
  animation-delay: 0.3s; /* Add a slight delay for the purple splash */
}

.yellow-splash {
  animation-delay: 0.6s; /* Add a slight delay for the yellow splash */
}

/* About Section Styling */
.about-section {
  background-color: #a448fe; /* Purple background */
  color: white;
  padding: 2rem 1rem; /* Add padding around the content */
  text-align: center; /* Center text for small screens */
}

/* Image Container */
.about-image {
  width: 100%;
  margin-bottom: 1.5rem; /* Add space below the image */
}

.combined-image {
  width: 90%; /* Adjust width for responsiveness */
  height: auto; /* Maintain aspect ratio */
  display: block; /* Center the image */
  margin: 0 auto; /* Center the image horizontally */
}

/* Text Content */
.about-text h2 {
  font-size: 2.5rem; /* Bold and larger title */
  /* font-weight: bold; */
  margin-bottom: 1rem;
  line-height: 2.5rem;
  text-align: left;
  letter-spacing: 3px;
  opacity: 0; /* Start invisible */
  transform: translateX(-30px); /* Start off-screen */
  transition: opacity 0.5s ease, transform 0.5s ease; /* Smooth transition */
}
/* Add the "in-view" class when the element is visible */
.about-text h2.in-view {
  animation: slideInFromLeft 1s ease-out forwards; /* Trigger the animation */
}
.about-text p {
  font-size: 1rem;
  line-height: 1.5;
  text-align: left;
}

/* Responsive Styling for Larger Screens (1200px and above) */
@media screen and (min-width: 769px) {
  .about-section {
    display: flex; /* Flexbox for side-by-side layout */
    align-items: center; /* Vertically center the content */
    justify-content: space-between; /* Space between image and text */
    height: 640px; /* Fix height to 640px */
    width: 100%; /* Full-width layout */
    padding: 0 5%; /* Add horizontal padding for spacing */
    box-sizing: border-box; /* Ensure padding is included in total width */
  }

  .about-image {
    flex: 1; /* Image section takes up equal space */
    max-width: 50%; /* Restrict the image section to 50% of the width */
    height: 100%; /* Ensure the image section matches the section's height */
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .combined-image {
    max-height: 100%; /* Scale image to fit within the height */
    max-width: 100%; /* Ensure the image scales proportionally */
    object-fit: contain; /* Maintain the aspect ratio */
  }

  .about-text {
    flex: 1; /* Text section takes up equal space */
    max-width: 50%; /* Restrict the text section to 50% of the width */
    padding-left: 2rem; /* Add spacing between image and text */
    text-align: left; /* Left-align the text */
  }

  .about-text h2 {
    font-size: 2rem; /* Larger title for larger screens */
    font-weight: bold;
    margin-bottom: 1rem;
    letter-spacing: 1.5px; /* Add spacing between characters */
  }

  .about-text p {
    font-size: 1rem;
    line-height: 1.5;
  }
}

/* Keyframes for the slide-in effect */
@keyframes slideInFromLeft {
  0% {
    opacity: 0;
    transform: translateX(-30px); /* Start slightly off-screen to the left */
  }
  100% {
    opacity: 1;
    transform: translateX(0); /* End at the original position */
  }
}

/* Services Section */
.services-section {
  background-color: #ffd700; /* Bright yellow background */
  padding: 2rem 1rem; /* Add spacing around the section */
}

.service {
  display: flex;
  flex-direction: column; /* Stack image, text box, and content vertically */
  align-items: center;
  margin-bottom: 2rem; /* Add spacing between services */
}

.service:last-child {
  margin-bottom: 0; /* Remove margin for the last service */
}

/* Section Title */
.services-title {
  font-size: 2rem; /* Larger font for the title */
  font-weight: bold; /* Bold text */
  color: black; /* Black text color */
  text-align: left; /* Center the title */
  margin-bottom: 2rem; /* Add space below the title */
  opacity: 0; /* Start hidden */
  transform: translateX(-30px); /* Start off-screen to the left */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* When in view: fully visible and in position */
.services-title.in-view {
  opacity: 1;
  transform: translateX(0);
}

/* Service Image Wrapper */
.service-image-wrapper {
  position: relative; /* Ensure child elements (e.g., splash) are positioned relative to this container */
  width: 100%; /* Wrapper takes the full width of the container */
  max-width: 300px; /* Limit wrapper size */
  aspect-ratio: 1 / 1; /* Make it a square */
  margin: 0 auto; /* Center the wrapper */
}

/* Service Image */
.service-image {
  width: 100%; /* Image fills the wrapper */
  height: 100%; /* Matches the wrapper height */
  border-radius: 50%; /* Makes the image circular */
  overflow: hidden; /* Ensures the image fits within the circle */
  position: relative; /* Needed for the splash to layer correctly */
}

.service-img {
  width: 100%; /* Image scales with the container */
  height: 100%; /* Maintains height based on the wrapper */
  object-fit: cover; /* Crops the image to fit the circular shape */
  display: block; /* Remove inline spacing issues */
}

/* Purple Splash */
.splash {
  position: absolute; /* Absolutely positioned relative to the .service-image-wrapper */
  bottom: 1%; /* Adjust to overlap the bottom-left corner */
  left: 1%; /* Adjust to overlap the left edge */
  width: 30%; /* Size the splash relative to the wrapper */
  height: auto; /* Maintain aspect ratio */
  z-index: 1; /* Ensure splash is behind the circular image */
}
/* Rectangular Text Box */
.service-text-box {
  background-color: black; /* Black background for the text box */
  color: white; /* White text color */
  font-size: 1rem; /* Font size for the text */
  font-weight: bold; /* Make the text bold */
  text-align: center; /* Center align the text */
  padding: 0.5rem 1rem; /* Add padding for the text */
  width: 100%; /* Make the box match the image width */
  max-width: 300px; /* Limit the text box width */
  margin-bottom: 1rem; /* Add space below the text box */
  margin-top: 1rem;
}

/* Service Content */
.service-content {
  text-align: center; /* Center the text */
}

.service-content p {
  font-size: 0.9rem;
  line-height: 1.5;
}

/* Responsive Layout for Screens Over 768px */
@media screen and (min-width: 768px) {
  .services-section {
    padding: 2rem; /* Add spacing around the section */
    width: 100%; /* Ensure the section spans the full width */
  }

  .services-title {
    font-size: 2.5rem; /* Increase font size for larger screens */
    text-align: left; /* Align the title to the left */
    margin-bottom: 2rem; /* Add spacing below the title */
  }

  .service-list {
    display: flex; /* Enable flexbox for horizontal alignment */
    flex-wrap: wrap; /* Allow items to wrap if they don't fit in a single row */
    gap: 2rem; /* Add spacing between services */
    justify-content: space-between; /* Distribute services evenly across the row */
    width: 100%; /* Ensure the list spans the available width */
  }

  .service {
    flex: 1 1 calc(33.333% - 2rem); /* Allow each service to take 1/3 of the row with spacing */
    max-width: calc(33.333% - 2rem); /* Set a maximum width to match the flex value */
    text-align: center; /* Center-align the content */
  }

  .service-image-wrapper {
    margin: 0 auto; /* Center the image wrapper */
  }

  .service-text-box {
    margin: 1rem auto 1rem auto; /* Center the text box below the image */
    width: 80%; /* Maintain consistent size */
  }

  .service-content p {
    font-size: 1rem; /* Adjust text size for readability */
    line-height: 1.5; /* Add spacing between lines */
  }
}

/* Packages Section */
.packages-section {
  padding: 1.5rem 1rem; /* Add padding for spacing */
  background-color: white; /* Background color */
  color: black; /* Text color */
}

/* Title */
.packages-title {
  font-size: 2rem; /* Large font size */
  font-weight: bold;
  text-align: left; /* Align title to the left */
  margin-bottom: 1.5rem; /* Spacing below the title */
  opacity: 0; /* Start hidden */
  transform: translateX(-30px); /* Slide in from the left */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
/* Title: Visible State */
.packages-title.in-view {
  opacity: 1; /* Fully visible */
  transform: translateX(0); /* Move into position */
}
/* Packages Content */
.packages-content {
  width: 80%; /* Center the content */
  margin: 0 auto; /* Center horizontally */
}

.package {
  text-align: center; /* Center-align all elements */
  margin-bottom: 2rem; /* Add spacing between packages */
}

.package-header h3 {
  width: 100%; /* Fixed width for all h3 elements */
   /* Fixed height to keep the size consistent */
  
  background-color: black; /* Background color */
  color: white; /* Text color */
  text-align: center; /* Center-align text horizontally */
  
  
  
  font-size: 1rem; /* Control font size */
  font-weight: bold; /* Make the text bold */
  
}



ul {
  list-style: disc; /* Use bullets */
  margin: 0;
  padding: 0 1.5rem; /* Indent the bullets */
  text-align: left; /* Align bullets to the left */
  font-size: 1.2rem;
}


/* Images Section */
.packages-images {
  position: relative; /* Set container as the reference point */
  display: grid; /* Use grid for precise alignment */
  grid-template-areas: 
    "large-splash"
    "small-splash"
    "steam";
  grid-template-rows: auto; /* Automatically adjust row sizes */
  justify-content: center; /* Center the images horizontally */
  align-items: center; /* Center the images vertically */
  gap: 1rem; /* Reduce spacing between images */
  max-width: 90%; /* Prevent container from becoming too wide */
  margin: 0 auto; /* Center the container */
}

/* Images: Visible State (with Bounce Animation) */
.splash-large.in-view,
.splash-small.in-view,
.steam-image.in-view {
  opacity: 1; /* Fully visible */
  transform: translateY(0); /* Move into position */
  animation: bounce 2s ease-out 3; /* Apply bounce animation */
}

/* Large Purple Splash */
.splash-large {
  grid-area: large-splash; /* Assign position in the grid */
  width: 60%; /* Adjust size dynamically */
  max-width: 250px; /* Limit max size */
  aspect-ratio: 1 / 1; /* Maintain consistent shape */
  margin-bottom: -1rem; /* Overlap slightly with the next image */
  margin-left: 6rem;
}

/* Small Purple Splash */
.splash-small {
  grid-area: small-splash; /* Assign position in the grid */
  width: 60%; /* Adjust size dynamically */
  max-width: 200px; /* Limit max size */
  aspect-ratio: 1 / 1; /* Maintain consistent shape */
  margin-top: -1.5rem; /* Bring closer to the large splash */
  margin-bottom: -9rem; /* Slight overlap with the steam image */
  margin-left: -.5rem;
}

/* Yellow Steam Image */
.steam-image {
  grid-area: steam; /* Assign position in the grid */
  width: 100%; /* Adjust size dynamically */
  max-width: 400px; /* Limit max size */
  aspect-ratio: 1 / 1; /* Maintain consistent shape */
  margin-top: 1rem; /* Bring closer to the small splash */
}

/* Common Bounce Animation */
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0); /* Default position */
  }
  40% {
    transform: translateY(-10px); /* Move up */
  }
  60% {
    transform: translateY(-5px); /* Slightly less movement */
  }
}

/* Common Animation Properties */
.splash-large,
.splash-small,
.steam-image {
  opacity: 0; /* Start invisible */
  transform: translateY(0); /* Default position */
  animation: popAndBounce 2s ease-out 3; /* Bounce 3 times */
  animation-fill-mode: forwards; /* Keep final state after animation */
}

@keyframes popAndBounce {
  0% {
    opacity: 0; /* Start invisible */
    transform: scale(0.5) translateY(0); /* Start small */
  }
  30% {
    opacity: 1; /* Fade in */
    transform: scale(1.1) translateY(-20px); /* First big bounce */
  }
  50% {
    transform: scale(1) translateY(10px); /* Settle slightly */
  }
  70% {
    transform: scale(1.05) translateY(-10px); /* Second smaller bounce */
  }
  90% {
    transform: scale(1) translateY(5px); /* Final smaller bounce */
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0); /* Settle in place */
  }
}

/* Unique Animation Delays */
.splash-large.in-view {
  animation-delay: 0.8s; /* Starts first */
  opacity: 1; /* Become visible */
}

.splash-small.in-view {
  animation-delay: 0.5s; /* Starts second */
  opacity: 1;
}

.steam-image.in-view {
  animation-delay: 0.2s; /* Starts third */
  opacity: 1;
}
@media screen and (min-width: 1200px) {
.splash-large{
    max-width: 350px;
    margin-bottom: -3rem; /* Overlap slightly with the next image */
    margin-left: 6rem;
  }
  .splash-small{
    max-width: 250px;
    margin-bottom: -12.5rem; /* Slight overlap with the steam image */
  }
  .steam-image {
    max-width: 400px; /* Allow larger images on bigger screens */
  }
  .package-header h3{
    font-size: 3.5rem;
  }
  li {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 768px) {
  .packages-section {
    display: flex; /* Use flexbox for row layout */
    flex-direction: row; /* Arrange sections in a single row */
    justify-content: space-between; /* Space between columns */
    align-items: flex-start; /* Align content to the top */
    gap: 2rem; /* Space between the two columns */
    padding: 3rem 2rem; /* Add padding around the section */
  }

  .packages-content-wrapper {
    flex: 1; /* Take up most of the space for the left column */
    display: flex;
    flex-direction: column; /* Stack title and packages content */
    align-items: flex-start; /* Align to the left */
    gap: 2rem; /* Add space between the title and content */
  }

  .packages-images {
    grid-template-areas: 
      "large-splash"
      "small-splash"
      "steam";
    gap: 3rem; /* Larger spacing for bigger screens */
    margin-right: 100px;
  }

  .packages-title {
    font-size: 5rem; /* Larger font size for larger screens */
    margin-bottom: 2rem; /* Add spacing below the title */
    text-align: left; /* Align to the left */
  }

  
  

  .packages-content {
    width: 100%; /* Full width of the left column */
    display: flex;
    flex-direction: row; /* Stack packages vertically */
    gap: 2rem; /* Add space between individual packages */
  }

  .packages-content h3 {
    width: 475px;
  }
  

  ul{
    font-size: 1.5rem;
  }

  

}

/* Testimonials Section */
.testimonials-section {
  padding: 2rem 1rem;
  background-color: #9f4bff; /* Purple background */
  color: white; /* White text for contrast */
  text-align: center;
}

/* Title */
.testimonials-title {
  padding: 0;
  font-size: 2.5rem;
  font-weight: bold;
  text-align: left; /* Align title to the left */
  margin-bottom: 2rem;
  opacity: 0; /* Start hidden */
  transform: translateX(-30px); /* Slide in from the left */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  width: 100%; /* Full width of the column */
}

/* Title: Visible State */
.testimonials-title.in-view {
  opacity: 1;
  transform: translateX(0); /* Move into place */
}

/* Testimonial Container */
.testimonial {
  margin-bottom: 3rem; /* Space between testimonials */
  display: flex;
  flex-direction: column;
  align-items: flex-start; /* Center images and text */
  width: 80%; /* Take up 80% of the screen width */
  margin-left: auto;
  margin-right: auto;
}

.testimonial-image-wrapper {
  width: clamp(100px, 15vw, 300px); /* Dynamically scale between 100px and 300px */
  height: clamp(100px, 15vw, 300px); /* Maintain the same size for height */
  position: relative; /* Ensure relative positioning for the yellow splash */
}


/* Testimonial Image */
.testimonial-image {
  width: 100%; /* Fill the wrapper */
  height: 100%;
  object-fit: cover; /* Maintain aspect ratio */
  border-radius: 50%; /* Circular shape */
  z-index: 2; /* Above the splash */
}

/* Yellow Splash */
.testimonial-splash {
  position: absolute;
  width: clamp(50px, 5vw, 100px); /* Scale splash size dynamically */
  height: clamp(50px, 5vw, 100px);
  bottom: -10%; /* Offset the splash below the image */
  left: -1%; /* Offset the splash to the left */
  z-index: 1; /* Below the image */
}

/* Testimonial Text */
.testimonial-text {
  font-size: 1rem;
  line-height: 1.5;
  text-align: left; /* Center-align text */
  color: white; /* Ensure readability */
  width: 250px;
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  /* Testimonials Section */
  .testimonials-section {
    text-align: center; /* Keep the text centered */
    padding: 3rem 2rem; /* Add more padding for larger screens */
  }

  /* Title */
  .testimonials-title {
    font-size: 4rem; /* Increase font size for larger screens */
    margin-bottom: 3rem; /* Add more spacing below the title */
  }

  /* Layout for Testimonials */
  .testimonial {
    display: inline-flex; /* Inline-flex for a row layout */
    flex-direction: column; /* Keep images and text stacked */
    align-items: center; /* Center content in each testimonial */
    justify-content: center;
    width: 30%; /* Each testimonial takes up 30% of the row */
    margin: 0 1%; /* Add space between testimonials */
  }

  /* Testimonial Image Wrapper */
  .testimonial-image-wrapper {
    width: 150px; /* Slightly larger images for larger screens */
    height: 150px;
  }

  /* Yellow Splash */
  .testimonial-splash {
    width: 60px; /* Resize splash for larger screens */
    height: 60px;
  }

  /* Testimonial Text */
  .testimonial-text {
    font-size: 1.1rem; /* Slightly larger text for readability */
    margin-top: 1rem;
    line-height: 1.8; /* Increase line spacing for readability */
  }
}

@media screen and (min-width: 1200px) {
  .testimonial-image-wrapper {
    width: 300px; /* Fixed size for extra-large screens */
    height: 300px;
    margin-bottom: 20px;
  }

  .testimonial-splash {
    width: 100px;
    height: 100px;
  }
}


  /* Footer Section */
.footer-section {
  position: relative;
  background-color: #ffec00; /* Yellow background */
   /* Ensure the footer spans the entire viewport width */
  text-align: center;
  color: black;
  overflow: hidden; /* Prevent content overflow */
  box-sizing: border-box; /* Ensure padding is included in the width */
  z-index: 1; /* Ensure it stays above other elements if needed */

  
}
 


/* Images Section */
.footer-images {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 200px;
  margin-bottom: 14rem; /* Add space between images and title */
}

.footer-image {
  position: absolute;
  opacity: 0; /* Start hidden */
  animation: popAndBounce 2s ease-out 1 forwards; /* Bounce animation with 'forwards' */
}

.footer-splash {
  width: 80%; /* Larger white splash */
  z-index: 1; /* Behind other images */
}

.footer-leaf {
  width: 40%;
  top: -90px;
  left: 1%;
  z-index: 2; /* Above the splash */
  animation-delay: 0.3s;
}

.footer-small-splash {
  width: 30%;
  top: 50px;
  right: 30%;
  z-index: 2; /* Above the splash */
  animation-delay: 0.5s;
}

.footer-logo{
    display: flex;
    align-items: center;
}

/* Title Section */
.footer-title {
  font-size: 2rem;
  font-weight: bold;
  text-align: left; /* Left-align title */
  position: relative;
  display: block; /* Ensure the title occupies its own line */
  z-index: 3; /* Ensure it's above other elements */
}

/* Footer Content */
.footer-content {
  text-align: left;
  padding: 0 30px;
}

.footer-content img{
  width: 30px;
}

.footer-section1{
  flex-direction: column;
  display: flex;
  gap: 0rem;
  margin-right: 1rem;
  width: 100%;
}

/* Content Sections */
.footer-section h3 {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  text-align: left;
  margin-top: 20px;
}

.footer-columns {
  display: flex;
  flex-wrap: nowrap; /* Ensure columns stay in one row */
  gap: 0.5rem; /* Adjust spacing between columns */
}

.footer-columns1{
  display: flex;
  flex-wrap: nowrap; /* Ensure columns stay in one row */
  gap: 1.5rem;
  width: 100%;
}

#address{
  width: 90px;
  font-size: .7rem;
}
 #contact{
  width: 100%;
  font-size: .7rem;
 }

 #mf{
  font-size: .7rem;
 }
 #s{
  font-size: .7rem;
 }

.footer-columns div {
  flex: 1;
  text-align: left;
}

.footer-columns p {
  margin: 0;
  font-size: .7rem;
}

.social-icons{
  margin-top: 15px;
  margin-left: 1rem;
}

/* Social Media Icons */
.social-icons a {
  text-decoration: none; /* Remove underline */
  color: black; /* Default icon color */
  font-size: 1.5rem; /* Adjust icon size */
  transition: color 0.3s ease; /* Smooth hover effect */
}

.social-icons a:hover {
  color: #007bff; /* Change color on hover (blue for example) */
}

#qr-codes{
  display: none;
}

/* Bounce Animation */
@keyframes popAndBounce {
  0% {
    opacity: 0;
    transform: scale(0.5) translateY(0);
  }
  30% {
    opacity: 1;
    transform: scale(1.1) translateY(-20px);
  }
  50% {
    transform: scale(1) translateY(10px);
  }
  70% {
    transform: scale(1.05) translateY(-10px);
  }
  90% {
    transform: scale(1) translateY(5px);
  }
  100% {
    transform: scale(1) translateY(0); /* Final position */
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .footer-splash {
    margin-top: 5vw;
    width: 300px; /* Larger white splash */
  }

  .footer-leaf {
    width: 20vw;
    top: -90px;
    left: 15rem;
    animation-delay: 0.3s;
  }
  .footer-small-splash {
    width: 15vw;
    top: 50px;
    right: 43%;
    animation-delay: 0.5s;
  }
  .footer-content img{
    width: 70px;
  }
  /* Right Column: Content */
  .footer-content {
    text-align: left;
    align-items: center;
  }
  .footer-content h1 {
    font-size: 60px;
  }
  /* Content Section Titles */
  .footer-section h3 {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 1rem;
    text-align: left;
    margin-top: 20px;
  }
  
  .footer-section1{
    width: 100%;
    
  }
  
  #address{
    width: auto;
    font-size: 1.8rem;
  }
   #contact{
    width: auto;
    overflow: hidden;
    font-size: 1.8rem;
   }

   #mf{
    font-size: 1.8rem;
   }
   #s{
    font-size: 1.8rem;
   }

  .social-icons {
    margin-left: 5rem;
  }
  .social-icons a {
    font-size: 2.5rem;
    margin-right: 1.5rem;
  }
}
@media screen and (min-width: 950px) {
  /* Footer Section */
  .footer-section {
    display: flex; /* Flex layout for two columns */
    justify-content: space-between; /* Separate image and text sections */
    align-items: flex-start; /* Align content to the top */
    padding: 3rem 5%; /* Add padding around the section */
    box-sizing: border-box; /* Include padding in dimensions */
    margin: 0 auto; /* Center horizontally */
    flex-direction: row;
  }

  /* Left Column: Images */
  .footer-images {
    flex: 1; /* Occupy 1/3 of the available space */
    display: flex;
    flex-direction: column; /* Stack images */
    align-items: flex-start; /* Align images to the left */
    gap: 1rem; /* Space between images */
    position: relative;
    max-width: 400px; /* Limit the width of the images */
  }

  .footer-image {
    position: absolute;
    opacity: 0; /* Start hidden */
    animation: popAndBounce 2s ease-out 1 forwards; /* Bounce animation with 'forwards' */
  }
  
  .footer-splash {
    margin-top: 10vw;
    width: 500px; /* Larger white splash */
  }
  
  .footer-leaf {
    width: 15vw;
    top: -90px;
    left: -4rem;
    animation-delay: 0.3s;
  }
  
  .footer-small-splash {
    width: 10vw;
    top: 150px;
    right: 10%;
    animation-delay: 0.5s;
  }

  .footer-section1{
    flex-direction: column;
    display: flex;
    z-index: 1;
  }
  
  .footer-content img{
    width: 70px;
  }
  /* Right Column: Content */
  .footer-content {
    text-align: left;
    padding: 0 100px;
    z-index: 3;
    align-items: center;
    margin-right: 65px;
  }
  .footer-content h1 {
    font-size: 60px;
  }
  /* Content Section Titles */
  .footer-section h3 {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 1rem;
    text-align: left;
    margin-top: 20px;
  }
  
  .footer-columns {
     /* Ensure columns stay in one row */
    gap: 0rem; /* Adjust spacing between columns */
  }
  
  .footer-columns div {
    flex: 1;
    text-align: left;
  }
  
  .footer-columns p {
    margin: 0;
    font-size: 1.5rem;
  }
  
  .social-icons{
    margin-top: 25px;
    margin-left: 3rem;
  }

  .social-icons a {
    text-decoration: none; /* Remove underline */
    color: black; /* Default icon color */
    transition: color 0.3s ease; /* Smooth hover effect */
  }

  .social-icons a:hover {
    color: #007bff; /* Blue hover effect */
  }

  #qr-codes {
    display: block;
  }
}








.oswald-500 {
  font-family: "Oswald", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
.oswald-200 {
  font-family: "Oswald", serif;
  font-optical-sizing: auto;
  font-weight: 200;
  font-style: normal;
}

.oswald-400 {
  font-family: "Oswald", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.noto-serif-100 {
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}
