* {
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}


.social-links {
  display: inline-flex;      /* keeps them side‑by‑side */
  gap: 15px;                  /* space between icons */
}

.social-links a {
  text-decoration: none;     /* no underline on links */
}



/* Importing MonumentExtended-Regular font if it's a local file */
@font-face {
    font-family: 'MonumentExtended';
    src: url('fonts/MonumentExtended-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

/* Apply to whole page */
body {  
    background-color: #000000; /* Full black background */
    color: #000000; /* White text for readability */
    font-family: 'MonumentExtended', sans-serif;
    margin: 0;
    padding: 0;
}

/* Optional: Basic styling for headings and paragraphs */
h1, h2, h3, h4, h5, h6, p, a, li {
    font-family: 'MonumentExtended', sans-serif;
    color: #ffffff; /* White text for all content */
    z-index: 1000;
}


.site-header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1500;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 120px;
    
    background-color: transparent;          /* Transparent by default */
    transition: background-color 0.3s ease; /* Smooth fade transition */
}


.site-header.scrolled {
    background-color: rgb(1, 10, 30);
    box-shadow: 0 2px 10px rgba(0,0,0,0.6); /* Optional shadow effect */
}


.logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.logo {
    height: 150px;                 /* Default logo size for desktop */
    max-width: 90%;                /* Prevents overflow on small screens */
    object-fit: contain;
    transition: all 0.3s ease;  /* Smooth transition for logo change */
}

/* Brand name text (if you add it) */
.brand-name {
    color: rgb(255, 174, 0);
    font-family: 'MonumentExtended', sans-serif;
    font-size: 28px;
    margin-left: 10px;
    letter-spacing: 1px;
}

#header-logo {
  transition: opacity 1s ease;
  opacity: 1;
}


/* Logo size when scrolled (desktop) */
.site-header.scrolled #header-logo {
    height: 150px;
}

/* Default: Mobile View - Center logo */
@media screen and (max-width: 768px) {
    .site-header {
        justify-content: center;                /* ✅ Center logo container */
        height: 70px;
    }

    .logo-container {
        
        justify-content: center;                /* ✅ Center logo inside container */
        width: 100%;
    }

    #header-logo {
        height: 60px;                           /* ✅ Smaller logo size for mobile */
        transition: all 0.3s ease;
    }
    

    /* ✅ When scrolled: Align logo left on mobile */
    .site-header.scrolled {
        justify-content: flex-start;           /* ✅ Move container to left */
    }

    .site-header.scrolled .logo-container {
        justify-content: flex-start;           /* ✅ Align logo left */
        width: auto;                           /* ✅ Let container shrink */
    }

    .site-header.scrolled #header-logo {
        height: 80px;                          /* ✅ Optional: shrink logo on scroll */
    }
}



.section {
   
    padding: 80px 20px;
    text-align: center;
    border-bottom: 1px solid #222; /* Optional: subtle divider between sections */
}

.section h1, .section h2 {
    color: rgb(255, 170, 0);
    font-family: 'MonumentExtended', sans-serif;
    margin-bottom: 20px;
}

.section p, .section li {
    color: #fff;
    font-family: 'MonumentExtended', sans-serif;
    font-size: 16px;
}

ul {
    list-style: none;
    padding: 0;
}

.fade-in-section {
  opacity: 0;
  transform: translateY(30px);
  filter: blur(10px);                  /* Start with blur */
  transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease;
  will-change: opacity, transform, filter;
}

.fade-in-section.visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);                      /* Clear blur on visible */
}



#hero {
    background-attachment: scroll;
    background-image: url('c10.webp'); /* Replace with your image filename */
    background-size: cover;                  /* Makes image cover entire section */
    background-position: center;             /* Centers the image */
    background-repeat: no-repeat;
    height: 200vh;                           /* Full screen height */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: white;
    position: relative;
    padding: 20px;
}


.call-button {
  display: block;                   /* Makes margin auto work */
  margin: 20px auto;                /* Center horizontally on all screen sizes */
  background-color: #ffffff;
  color: #000000;
  font-family: 'MonumentExtended', sans-serif;
  font-size: 1rem;
  padding: 10px 10px;
  border-radius: 50px;
  border: none;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
  transition: all 0.3s ease;
  max-width: 250px;                 /* Prevents button from being too wide on mobile */
  width: 80%;                       /* Responsive width for smaller screens */
  z-index: 1000;
}

.call-button img {
  width: 20px;
  height: 20px;
  margin-left: 10px;
  vertical-align: middle;
  transition: transform 0.3s ease;
}

.call-button:hover img {
  transform: scale(1.1);
}

@media (max-width: 600px) {
  .call-button {
    font-size: 0.8rem;
    padding: 12px 20px;
    border-radius: 30px;
    width: auto;                 /* Let button size depend on content */
    max-width: 90%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 10px auto;           /* Ensure button stays centered horizontally */
  }

  .call-button img {
    width: 16px;
    height: 16px;
    margin-left: 8px;
  }
}


/* Optional: Add dark overlay for text readability */
#hero::before {
    
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.629); /* Dark overlay */
    z-index: 1;
}

#hero h1, #hero p {
    position: relative;
    z-index: 2;
    font-family: 'MonumentExtended', sans-serif;
    color: rgb(255, 153, 0); /* You can adjust this */
}

#hero p {
   
    color: white;
    padding: 30px 30px;
    border-radius: 8px;
    display: inline-block;
    line-height: 1.8;
    font-size: 1.2rem;
    font-family: 'Helvetica', 'Arial', sans-serif;   /* Sans-serif font stack */
}


@media screen and (max-width: 768px) {
    #hero {
        min-height: 100vh;                     /* Full screen height to allow enough space */
        height: auto;                          /* Let it grow if content exceeds */
        background-position: center top;       /* Focus top part of image */
        padding: 20px 15px;                    /* Adequate padding */
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        text-align: center;
        box-sizing: border-box;
    }

    #hero h1 {
        font-size: 18px;
        margin-bottom: 10px;
        padding-top: 0;                         /* Remove the 70vw padding! */
    }

    #hero p {
        font-size: 14px;
        text-align: left;
        padding: 10px 15px;
        line-height: 1.6;
        word-spacing: 1px;
        letter-spacing: 0.3px;
        max-width: 600px;
    }
}


#about {
    background-attachment: scroll;
    background-image: url('c5.webp');   /* ✅ Replace with your actual image filename */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    padding: 80px 20px;
    color: white;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-height: 100vh;                      /* Adjust height as needed */
}

/* Optional: Dark overlay for text readability */
#about::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.629); /* Dark overlay */
    z-index: 0;
}

#about h2, #about p {
    position: relative;
    z-index: 2;
    font-family: 'MonumentExtended', sans-serif;
   color: rgb(255, 153, 0); /* You can adjust this */

}

#about h2{
   padding-top:20vw; 
}

#about p {
    color: white;
    padding: 30px 30px;
    border-radius: 8px;
    display: inline-block;
    line-height: 1.8;
    font-size: 1.2rem;
    font-family: 'Helvetica', 'Arial', sans-serif;   /* Sans-serif font stack */
}

.stat-icon {
    width: 20px;
    height: 20px;
    margin-right: 8px;
    vertical-align: middle;
    flex-shrink: 0;          
}


.stats-container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.05);
    padding: 20px;
    border-radius: 12px;
    flex-wrap: wrap;
    gap: 15px;
    z-index: 2;
}

.stat-box {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 15px;
    color: #fff;
    display: flex;
    flex-direction: column;         /* Stack: icon → heading → number */
    justify-content: center;
    align-items: center;
    width: 150px;
    height: 150px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    transition: all 0.4s ease;
    text-align: center;
}

.stat-icon-top {
    width: 30px;
    height: 30px;
    margin-bottom: 8px;             /* Space below the icon */
}

/* On scroll appearance */
.stat-box.show {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Hover effect for desktop */
.stat-box:hover {
    transform: translateY(-8px) scale(1.05);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.4);
    background-color: rgba(255, 255, 255, 0.15);
}

/* Glow effect during scroll (mobile only) */
.stat-box.active-glow {
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
    transform: translateY(-5px) scale(1.05);
    background-color: rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

/* Prevent accidental glow on desktop scroll */
@media (hover: hover) and (pointer: fine) {
    .stat-box.active-glow {
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
        transform: scale(1);
        background-color: rgba(255, 255, 255, 0.05);
    }
}

/* Text styling */
.stat-box h3 {
    font-size: 1rem;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 1px;
    z-index: 2;
}

.stat-box span {
    font-size: 2rem;
    color: rgb(255, 153, 0);
    font-weight: bold;
    z-index: 2;
}

/* Mobile Responsive - Rectangle Boxes on Phones */
@media (max-width: 768px) {
    .stats-container {
        flex-direction: column;
        align-items: center;
        padding: 15px;
    }

    .stat-box {
        width: 90%;             /* Wide horizontal rectangle */
        max-width: 350px;
        height: 100px;           /* Shorter rectangle height */
        padding: 10px;
        flex-direction: column;  /* Text on top, number below */
        justify-content: center;
        align-items: center;
        text-align: center;
        margin-bottom: 15px;
    }

    .stat-box h3 {
        font-size: 0.9rem;
        margin-bottom: 5px;
    }

    .stat-box span {
        font-size: 1.5rem;
    }
}



@media screen and (max-width: 768px) {
    #about {
        padding: 40px 10px;
        min-height:20vh;
    }

    #about h2 {
        padding-top: 1vw;
        font-size: 18px;
        justify-content: center;
    align-items: center;
    text-align: center;
        
    }

    #about p {
        text-align: left;
        padding: 20px 20px;          /* Less padding for small screens */
        font-size: 0.9rem;           /* Slightly smaller text */
        line-height: 1.5;            /* Reduced line height */
        word-spacing: 2px;           /* Slightly reduced word space */
        letter-spacing: 0.5px;       /* Slightly reduced letter space */
    }
}

#services {
    background-attachment: scroll;
    background-image: url('c3.webp');  /* ✅ Replace with your actual image file name */
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    position: relative;
    padding: 80px 20px;
    color: white;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;                      /* Section height */
}

/* Optional: Dark overlay for readability */
#services::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.629); /* Dark overlay */
    z-index: 1;
}

#services h2, #services ul, #services li {
    position: relative;
    z-index: 2;
    font-family: 'MonumentExtended', sans-serif;
}

#services h2 {
   color: rgb(255, 153, 0); /* You can adjust this */
    margin-bottom: 20px;
}

#services ul {
    list-style: none;
    padding: 0;
}

#services li {
    color: white;
    font-size: 18px;
    margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
    #services {
        padding: 40px 10px;
        min-height: 110vh;
        background-position:60% center;
    }

    #services h2 {
        font-size: 18px;
    }

    #services li {
        font-size: 14px;
    }
}

/* Section Background + Overlay */
#themes {
    background-attachment: scroll;
    background-image: url('c6.webp');
    background-size: cover;
    background-position: 45% center;
    background-repeat: no-repeat;
    position: relative;
    padding: 90px 20px;
    color: white;
    text-align: center;
    min-height: 80vh;
    overflow: visible;
}

#themes::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.671);
    z-index: 1;
}

#themes > * {
    position: relative;
    z-index: 2;
}

#themes h2, #themes p {
    font-family: 'MonumentExtended', sans-serif;
    position: relative;
    z-index: 2;
}

#themes h2 {
    color: rgb(255, 153, 0);
    margin-bottom: 20px;
}

#themes p {
    font-size: 16px;
    max-width: 800px;
    font-family: 'Helvetica', 'Arial', sans-serif;
}

/* Carousel Container */
.themes-carousel {
    display: flex;
    overflow-x: auto;
    overflow-y: visible;
    gap: 12px;
    scroll-snap-type: x mandatory;
    padding: 10px 0;
}

/* Individual Theme Cards */
.theme-card {
    flex: 0 0 auto;
    width: 80%;
    max-width: 300px;
    height:auto;
    background: rgba(255,255,255,0.08);
    border-radius: 10px;
    padding: 15px;
    color: white;
    text-align: center;
    overflow: visible;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    scroll-snap-align: center;
}


.theme-card img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    margin-bottom: 10px;
}

.theme-card p {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.5;
    overflow: visible;
}


/* Mobile Responsive Fixes */
@media screen and (max-width: 768px) {
    #themes {
        padding: 60px 0px;
        min-height: 90vh;
        background-position: 45% center;
    }

    #themes h2 {
        font-size: 18px;
    }

    #themes p {
        font-size: 14px;
        overflow: visible;
    }

    .theme-card {
        width: 85%;
        max-width: none;
        padding: 10px;
    }

    .theme-card p {
        font-size: 13px;
    }

    .theme-card h3{
        padding: 8px;
    }
}



#portfolio {
    background-attachment: scroll;
    background-image: url('c8.webp');  /* ✅ Replace with your actual image */
    background-size: cover;
    background-position:  left;
    background-repeat: no-repeat;
    position: relative;
    padding: 80px 20px;
    color: white;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 80vh;
    overflow: hidden;
}

/* ✅ Optional: Add dark overlay for readability */
#portfolio::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.629); /* Dark overlay */
    z-index: 1;
}

#portfolio h2, #portfolio p {
    position: relative;
    z-index: 2;
    font-family: 'MonumentExtended', sans-serif;
}

#portfolio h2 {
    color: rgb(255, 153, 0); /* You can adjust this */
    margin-bottom: 20px;
}

#portfolio p {
    font-size: 16px;
    max-width: 2000px;
    font-family: 'Helvetica', 'Arial', sans-serif;
}

@media screen and (max-width: 768px) {
    #portfolio {
        padding: 40px 10px;
        min-height: 95vh;
        background-position: center;
    }

    #portfolio h2 {
        font-size: 18px;
    }

    #portfolio p {
        font-size: 14px;
    }
}

#whyus {
    background-attachment: scroll;
    background-image: url('c7.webp');  /* ✅ Replace with your actual image filename */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    padding: 80px 20px;
    color: white;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 80vh;
}

/* ✅ Dark overlay for better text readability */
#whyus::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.629); /* Dark overlay */
    
}

#whyus h2, #whyus p {
    position: relative;
    z-index: 100;
    font-family: 'MonumentExtended', sans-serif;
}

#whyus h2 {
   color: rgb(255, 153, 0); /* You can adjust this */
    margin-bottom: 20px;
    z-index: 100;
}

#whyus p {
    font-size: 16px;
    max-width: 1200px;
    font-family: 'Helvetica', 'Arial', sans-serif;   /* Sans-serif font stack */
    z-index: 100;
}

@media screen and (max-width: 768px) {
    #whyus {
        padding: 40px 10px;
        min-height: 60vh;
        background-position: center;
        z-index: 100;
    }

    #whyus h2 {
        font-size: 18px;
        z-index: 100;
    }

    #whyus p {
        font-size: 14px;
        z-index: 100;
    }
}

#testimonials {
  position: relative;
  padding: 80px 20px;
  color: white;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 60vh;
  background-image: url('c9.webp'); /* ✅ Make sure your image path is correct */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  z-index: 100;
}

#testimonials::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);  /* ✅ Translucent overlay */
  z-index: 1;
}

#testimonials h2 {
  color: rgb(255, 153, 0);
  margin-bottom: 30px;
  font-family: 'MonumentExtended', sans-serif;
  position: relative;
  z-index: 2;
  font-size: 24px;
}

@media (max-width: 767px) {
  #testimonials h2 {
    font-size: 18px;    /* ✅ Smaller on mobile */
  }
}

.testimonials-slider {
  min-height: 160px;
  position: relative;
  z-index: 2;
  max-width: 800px;
  width: 100%;
}

.testimonial {
  opacity: 0;
  transition: opacity 0.5s ease;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  box-sizing: border-box;
}

.testimonial.active {
  opacity: 1;
  position: relative;
}

.testimonial p {
  font-size: 16px;
  font-style: italic;
  margin-bottom: 10px;
}

.testimonial span {
  font-size: 14px;
  color: #ffd700;
}
html {
  scroll-behavior: smooth;
}

#contact {
    background-attachment: scroll;
    background-image: url('c2.webp');  /* ✅ Replace with your actual image filename */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    padding: 80px 20px;
    color: white;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    min-height: 60vh;
}

/* ✅ Optional: Dark overlay for readability */
#contact::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.629); /* Dark overlay */
    z-index: 1;
}

#contact h2, #contact p {
    position: relative;
    z-index: 2;
    font-family: 'MonumentExtended', sans-serif;
}

#contact h2 {
    color: rgb(255, 153, 0); /* You can adjust this */
    margin-bottom: 20px;
}

#contact p {
    font-size: 16px;
    max-width: 800px;
}

@media screen and (max-width: 768px) {
    #contact {
        padding: 40px 10px;
        min-height: 50vh;
        background-position: center;
    }

    #contact h2 {
        font-size: 22px;
    }

    #contact p {
        font-size: 14px;
    }
}

.site-footer {
   background-color: rgb(1, 10, 30);
    color: white;
    text-align: center;
    padding: 40px 20px;
    font-family: 'MonumentExtended', sans-serif;
}

.site-footer p {
    margin: 8px 0;
    font-size: 14px;
}

.footer-links a {
    color: rgb(255, 153, 0); /* You can adjust this */
    text-decoration: none;
    margin: 0 8px;
    font-size: 14px;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: rgb(255, 153, 0); /* You can adjust this */
}

@media screen and (max-width: 768px) {
    .site-footer {
        padding: 20px 10px;
    }

    .footer-links a {
        display: inline-block;
        margin: 5px;
        font-size: 12px;
    }
}

/*NAVBAR########################################################################################################*/

/* Hide checkbox */
input[type="checkbox"] {
  display: none;
}



.wrapper{
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: #000000;
  clip-path: circle(0px at calc(100% - 45px) 30px); /* Opening from right top */
  transition: all 0.3s ease-in-out;
}
#active:checked ~ .wrapper{
  opacity: 1;
  pointer-events: auto;
  
  transform: scale(1);
  clip-path: circle(75%);
}
/* Menu button with image only */
.menu-btn {
    display: none;
  position: fixed;
  right: 15px;          /* Navbar icon to right */
  top: 40px;            /* Reduced top spacing */
  height: 30px;
  width: 30px;
  z-index: 11;
  cursor: pointer;
  background: none;
  padding: 0;
  border: none;
}

.menu-btn .menu-icon {
  content: url('nav.webp'); /* default icon */
  transition: all 0.3s ease;

}

/* When checkbox is checked, change to close.webp */
input[type="checkbox"]:checked + .menu-btn .nav-icon {
  content: url('close.webp');
  transition: all 0.3s ease;
}

/* Mobile (phones) */
@media (max-width: 500px) {
  .menu-btn {
    width: 22vw;
    height: 22vw;
    max-width: 20px;
    max-height: 20px;
    top: 8px;
    margin-top: 4vw;
  }
}

/* Tablet (portrait and small landscape) */
@media (min-width: 501px) and (max-width: 1024px) {
  .menu-btn {
    width: 5vw;
    height: 5vw;
    max-width: 40px;
    max-height: 40px;
    top: 8px;
    margin-top: 2vw;
  }
}


.menu-btn img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.wrapper ul {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  list-style: none !important;          /* ✅ No bullet points */
  text-align: center;
  padding: 0;                /* ✅ No default UL padding */
  margin: 0;
}


.wrapper ul li{
  margin: 15px 0;
}

.wrapper ul li a{
  color: none;
  text-decoration: none;
  font-size: 20px;
  font-weight: 500;
  padding: 10px 40px; 
  display: inline-block;
  color: #ffffff;
  border-radius: 50px;
  background: #000000;
  position: relative;
  line-height: 50px;
  transition: all 0.3s ease;
}

.wrapper ul li a:after{
  position: absolute;
  content: "";
  background: #ffffff;
  width: 104%;
  height: 110%;
  left: -2%;
  top: -5%; /* if the font is 'Oswald'*/
  border-radius: 50px;
  transform: scaleY(0);
  z-index: -1;
  animation: rotate 1.5s linear infinite;
  transition: transform 0.3s ease;
}

.wrapper ul li a:hover:after{
  transform: scaleY(1);
}

.wrapper ul li a:hover{
  color: #000000;
}

@keyframes rotate {
  0%{
    filter: hue-rotate(0deg);
  }
  100%{
    filter: hue-rotate(360deg);
  }
}

/*########################################################################################################################################*/

.accordion-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 10px;
  box-sizing: border-box;
  z-index: 100;
  position: relative;
}

.accordion-item {
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0);
  backdrop-filter: blur(5px);
  background: rgba(255, 255, 255, 0);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 100;
  position: relative;
}

.accordion-header {
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-family: 'MonumentExtended', sans-serif;
  text-transform: uppercase;
  letter-spacing: 1px;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 100;
}

.accordion-item.active .accordion-header {
  background: rgba(255, 255, 255, 0.15);
}


.accordion-content {
  display: flex;
  flex-direction: row;              /* ✅ Default: Desktop layout - side by side */
  align-items: flex-start;
  gap: 20px;
  overflow: hidden;
  max-height: 0;
  padding: 0 18px;
  opacity: 0;
   transition: max-height 0.5s ease, opacity 0.5s ease;
  background: rgba(0, 0, 0, 0);
  box-sizing: border-box;
  z-index: 100;
  position: relative;
}

.accordion-item.active .accordion-content {
  opacity: 1;
  max-height: 1000px;
  padding: 15px 18px 20px;
}

.accordion-content img {
  width: 250px;
  height: 250px;
  object-fit: contain;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.05);
  box-shadow:
    0 0 10px rgba(255, 255, 255, 0.2),
    0 0 20px rgba(255, 255, 255, 0.15),
    0 6px 12px rgba(0, 0, 0, 0.5);
  padding: 8px;
  flex-shrink: 0;
  z-index: 100;
  position: relative;
}

.accordion-content p {
  color: #fff;
  flex: 1;
  margin: 0;
  line-height: 1.6;
  text-align: left;
  overflow-wrap: break-word;
  font-family: 'Helvetica', 'Arial', sans-serif;
  z-index: 100;
  position: relative;
}

.accordion-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  background-image: url('a.webp');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-left: 10px;
  z-index: 100;
  position: relative;
}

.accordion-item.active .accordion-icon {
  background-image: url('b.webp');
}

.accordion-header,
.accordion-header *,
.accordion-item,
.accordion-item * {
  -webkit-tap-highlight-color: transparent; /* ✅ Full disable for mobile Chrome/Safari */
  outline: none !important;                  /* ✅ Remove focus outlines */
  user-select: none;                         /* ✅ Optional: Prevents accidental text selection on tap */
}

/* ✅ Mobile View - Image on Top, Text Below */
@media (max-width: 768px) {
  .accordion-content {
    flex-direction: column;          /* ✅ Stack vertically on mobile */
    align-items: center;             /* ✅ Center all content horizontally */
    padding: 0 12px;
  }

  .accordion-header h3{
    font-size: 15px;
  }

  .accordion-item.active .accordion-content {
    max-height: 1500px;              /* ✅ Adjust if needed for large content */
    padding: 12px;
  }

  .accordion-content img {
    width: 90%;                      /* ✅ Responsive image width */
    max-width: 300px;
    height: auto;
    margin: 0 auto 12px auto;         /* ✅ Center image with margin below */
    display: block;
  }

  .accordion-content p {
    text-align: center;              /* ✅ Center the text below the image */
    font-size: 0.9rem;
  }
  
}


.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.6s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}


/* ===== Carousel Container ===== */
.themes-carousel {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  gap: 12px;
  padding: 10px 0;
  max-width: 100%;
  box-sizing: border-box;
  position: relative;
  z-index: 100;
  margin-left: -6px;
  margin-right: -6px;
}



/* ===== Image Styling ===== */
.theme-card img {
  width: 100%;
  height: auto;
  object-fit: contain;           /* ✅ Full image visible on mobile */
  border-radius: 8px;
  margin-bottom: 8px;
}

/* ===== Header Styling ===== */
.theme-card h3 {
  font-size: 16px;               /* ✅ Reduced font size */
  margin: 4px 0;                 /* ✅ Less top and bottom space */
  padding: 8px 8px;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(4px);
  border-radius: 6px;
  color: rgb(255, 255, 255);
  overflow: visible;
  text-overflow: ellipsis;
  overflow:visible;
}

/* ===== Paragraph Styling ===== */
.theme-card p {
  font-size: 13px;
  color: #ffffff;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;

  -webkit-box-orient: vertical;
  flex-grow: 1;
}

/* ===== Hide Scrollbar on Mobile ===== */
.themes-carousel::-webkit-scrollbar {
  display: none;
}

/* ===== Desktop: Wider Cards & Proper Square Image ===== */
@media (min-width: 768px) {
  .themes-carousel {
    overflow-x: visible;
    flex-wrap: wrap;
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
    
  }

  .themes-carousel .theme-card {
    margin-left: 0;
    margin-right: 0;
  }

  .theme-card {
    flex: 0 0 280px;
    max-width: 300px;
    height: auto;
  }

  .theme-card img {
    width: 100%;
    aspect-ratio: 1 / 1;            /* ✅ Perfect square on desktop */
    object-fit: cover;              /* ✅ Image fills the square fully */
    margin-bottom: 8px;
  }

  .theme-card:hover {
    box-shadow: 0 0 30px rgba(255, 255, 255, 0.3), 0 0 50px rgba(255, 215, 0, 0.4);
    transform: scale(1.03);
  }

  .theme-card h3 {
    font-size: 15px;                /* ✅ Slightly smaller header on desktop */
    margin: 4px 0;
    padding: 4px 8px;
  }
}

/* ===== Mobile: Active Centered Card Glow ===== */
@media (max-width: 767px) {
  .theme-card.active-mobile {
    box-shadow: 0 0 25px rgba(255, 255, 255, 0.3), 0 0 40px rgba(255, 215, 0, 0.4);
    transform: scale(1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    z-index: 101;
  }

  .theme-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
}


/*gallery#########################################################################################################*/

 #portfolio {
      position: relative;
    }

    .gallery {
    grid-template-columns: 1fr;
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
      gap: 10px;
    }

    .gallery-img {
      width: 90%;
      height: auto;
      object-fit: cover;
      border-radius: 8px;
      cursor: pointer;
      transition: transform 0.2s ease;
    }

    .gallery-img:hover {
      transform: scale(1.03);
    }

.expanded-view {
  display: none;
  position: fixed;             /* <--- Works on all devices */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.85);
  padding: 20px;
  box-sizing: border-box;
  z-index: 9999;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-radius: 0;            /* Optional: no rounding for fullscreen */
}


    .expanded-view img#expandedImg {
      width: 100%;
      max-height: 80vh;
      object-fit: contain;
      border-radius: 8px;
      display: block;
      margin: auto;
    }

.close-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 28px;
  height: 28px;
  cursor: pointer;
  z-index: 10;
}

.expanded-image-wrapper {
  position: relative;
  width: 90%;
  max-width: 800px;
  margin: auto;
}

.expanded-image-wrapper img#expandedImg {
  width: 100%;
  max-height: 80vh;
  object-fit: contain;
  border-radius: 8px;
  display: block;
}


    @media (max-width: 600px) {
      .gallery {
         grid-template-columns: repeat(3, 1fr); /* 2 columns on tablet/desktop */
      }

        .gallery-img {
    height: 300px; /* Or 300px or whatever suits */
    object-fit: cover; /* Keep image looking good */
  }

        .expanded-view {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
  }
    }

/*WHYUS##################################################################################################################*/

/* ===== Why Us Section ===== */
.whyus-section {
  text-align: center;
  padding: 60px 20px;
  position: relative;
  z-index: 100;
}

.whyus-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 30px;
}

.whyus-card {
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  padding: 20px;
  color: #fff;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.05);
  transition: box-shadow 0.4s ease, transform 0.4s ease;
}

.whyus-card img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  margin-bottom: 12px;
}

.whyus-card h3 {
  color: rgb(255, 153, 0);
  margin-bottom: 10px;
  font-size: 14px;
}

.whyus-card p {
  font-size: 14px;
  color: #ccc;
}

/* ===== Glow when card hits center during scroll ===== */
.whyus-card.active-glow {
  box-shadow: 0 0 30px rgba(255, 255, 255, 0.3), 0 0 50px rgba(255, 255, 255, 0.4);
  transform: scale(1.02);
}

/* ===== Hover glow on desktop ===== */
@media (hover: hover) and (pointer: fine) {
  .whyus-card:hover {
    box-shadow: 0 0 30px rgba(255, 255, 255, 0.3), 0 0 50px rgba(255, 255, 255, 0.4);
    transform: translateY(-5px);
  }
}

/* ===== Desktop Layout Grid ===== */
@media (min-width: 768px) {
  .whyus-cards {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    max-width: 1200px;
    margin: 30px auto 0;
    gap: 25px;
  }

  @media (min-width: 600px) and (max-width: 1024px) {
  .whyus-cards {
    grid-template-columns: repeat(2, 1fr); /* Two columns */
    justify-content: center;               /* Center grid */
    justify-items: center;                 /* Center each card */
  }
}

  .whyus-card {
    transition: box-shadow 0.3s ease, transform 0.3s ease;
  }
}
/*######################################################################################################################*/

/* ===== Contact Section ===== */
.contact-section {
  text-align: center;
  padding: 60px 20px;
  position: relative;
  z-index: 100;                     /* ✅ Z-index updated */
  color: #fff;
}

.contact-section h2 {
  color: rgb(255, 153, 0);
  margin-bottom: 10px;
  font-size: 24px;                   /* Default desktop size */
}

.contact-section p {
  max-width: 700px;
  margin: 0 auto 20px;
  color: #ccc;
}

.contact-details p a {
  color: #ffd700;
  text-decoration: none;
}

.contact-details p a:hover {
  text-decoration: underline;
}

/* ===== Form Styling ===== */
.contact-form {
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(8px);
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.08);
  z-index: 100;
}

.contact-form input,
.contact-form textarea {
  padding: 12px;
  border: none;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: white;
  font-size: 14px;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder {
  color: #aaa;
}

.contact-form input:focus,
.contact-form textarea:focus {
  outline: none;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.4);
}

/* ===== Button Styling ===== */
.contact-form button {
  background: linear-gradient(90deg, #ffcc00, #ff9900);
  color: #000;
  padding: 12px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-weight: bold;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.contact-form button:hover {
  box-shadow: 0 0 25px rgba(255, 215, 0, 0.5), 0 0 40px rgba(255, 153, 0, 0.4);
  transform: scale(1.05);
}

/* ===== Mobile Responsive ===== */
@media (max-width: 767px) {
  .contact-form {
    padding: 15px;
  }

  .contact-section p {
    padding: 0 10px;
  }

  .contact-section h2 {
    font-size: 18px;            /* ✅ Smaller heading for phone */
  }
}


/*#################################################################################################################################*/
/*#################################################################################################################################*/
/*#################################################################################################################################*/
/*#################################################################################################################################*/

/* ===== Services Sections ===== */
#services-heroo, #service-typess, #service-themess{
    background-image: url('b2.webp');
  padding: 60px 20px;
  text-align: center;
  position: relative;
  z-index: 100;
}

#services-ctaa {
  background-image: url('b4.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  z-index: 100;
  min-height: 90vh;
  display: flex;                    /* ✅ Enables flex centering */
  flex-direction: column;            /* ✅ Stack heading and button vertically */
  justify-content: center;           /* ✅ Vertical center */
  align-items: center;               /* ✅ Horizontal center */
  padding: 20px;
  text-align: center;
}

/* ✅ Optional overlay for text readability */
#services-ctaa::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);    /* Semi-transparent dark layer */
  z-index: 1;
}

#services-ctaa * {
  position: relative;
  z-index: 2;
}

/* ✅ Mobile Responsive */
@media (max-width: 767px) {
  #services-ctaa {
    min-height: 80vh;                /* ✅ Taller on small screens */
    padding: 30px 15px;
  }

  #services-ctaa h3 {
    font-size: 18px;
  }

  .cta-button {
    padding: 10px 20px;
    font-size: 14px;
  }
}




#services-heroo h2, #service-typess h3, #service-themess h3, #services-ctaa h3 {
   color: rgb(255, 153, 0);
  margin-bottom: 20px;
}

#services-heroo p{
font-family: 'Helvetica', 'Arial', sans-serif;   /* Sans-serif font stack */
}
 
.services-gridd {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 30px;
}

.service-cardd {
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(8px);
  border-radius: 12px;
  padding: 20px;
  color: #fff;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.service-cardd img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 8px;
  margin-bottom: 12px;
}

.service-cardd:hover {
  transform: scale(1.03);
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.15), 0 0 35px rgba(255, 215, 0, 0.2);
}

/* Responsive Grid */
@media (min-width: 768px) {
  .services-gridd {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    max-width: 1200px;
    margin: 30px auto 0;
    gap: 25px;
  }
}

.cta-button {
  display: inline-block;
  padding: 12px 24px;
  background-color: rgb(255, 153, 0);
  color: #000;
  text-decoration: none;
  border-radius: 8px;
  margin-top: 20px;
  transition: background-color 0.3s ease;
}

.cta-button:hover {
  background-color: #ffa500;
}

/* ===== Services Section Backgrounds ===== */

/* ===== Services Page Section Backgrounds ===== */

/* Hero Section */
#services-heroo {
  background-image: url('b2.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 60px 20px;
  text-align: center;
  position: relative;
  z-index: 100;
  display: flex;                  /* ✅ Flexbox for centering */
  flex-direction: column;
  justify-content: center;        /* ✅ Vertical centering */
  align-items: center;            /* ✅ Horizontal centering */
  min-height: 100vh;              /* ✅ Full screen for desktop */
}

#services-heroo::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);  /* ✅ Dark overlay */
  z-index: 1;
}

#services-heroo * {
  position: relative;
  z-index: 2;
}

/* ✅ Mobile Responsive Tweaks */
@media (max-width: 767px) {
  #services-heroo {
    padding: 40px 15px;
    min-height: 80vh;             /* ✅ Slightly shorter on small phones */
    background-position: top center;  /* ✅ To avoid cropping heads on mobile images */
  }

  #services-heroo h2 {
    font-size: 18px;              /* ✅ Smaller heading for mobile */
  }

  #services-heroo p {
    font-size: 14px;
  }
}


/* Service Types Section */
#service-typess {
  background-image: url('b3.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 60px 20px;
  position: relative;
  z-index: 100;
  min-height: 80vh;
}

#service-typess::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

#service-typess * {
  position: relative;
  z-index: 2;
}

/* Service Themes Section */
#service-themess {
  background-image: url('b4.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 60px 20px;
  position: relative;
  z-index: 100;
  min-height: 80vh;
}

#service-themess::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

#service-themess * {
  position: relative;
  z-index: 2;
}

/* Service Process Section */
#service-processs {
  background-image: url('b5.webp');             /* ✅ Your background image */
  background-size: cover;
  background-position: center -30vw;
  background-repeat: no-repeat;
  position: relative;
  z-index: 100;
  min-height: 90vh;
  display: flex;                                /* ✅ Flex for centering */
  flex-direction: column;
  justify-content: center;                      /* ✅ Vertical center */
  align-items: center;                          /* ✅ Horizontal center */
  text-align: center;
  padding: 20px;
}

#service-processs::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);               /* ✅ Optional dark overlay for text readability */
  z-index: 1;
}

#service-processs * {
  position: relative;
  z-index: 2;
}

#service-processs h3 {
  color: rgb(255, 153, 0);
  margin-bottom: 20px;
}

#service-processs ol {
    
  list-style: none;
  padding: 0;
  max-width: 800px;
  text-align: center;
}

#service-processs li {
  margin-bottom: 15px;
  background: rgba(255, 255, 255, 0.07);        /* ✅ Glass effect */
  backdrop-filter: blur(6px);
  border-radius: 8px;
  padding: 15px 20px;
  color: white;
  box-shadow: 0 0 15px rgba(255, 215, 0, 0.1);  /* ✅ Soft Glow */
  text-align: center; 
}

/* ✅ Mobile Responsive */
@media (max-width: 767px) {
  #service-processs {
    min-height: 80vh;
    background-position: center;
    padding: 30px 15px;
  }

  #service-processs h3 {
    font-size: 18px;
  }

  #service-processs li {
    font-size: 14px;
    padding: 12px 16px;
    text-align: center; 
  }
}


/* CTA Section */
#services-cta {
  background-image: url('b6.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 60px 20px;
  position: relative;
  z-index: 100;
  min-height: 70vh;
}

#services-cta::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

#services-cta * {
  position: relative;
  z-index: 2;
}

/* ===== Mobile Responsive Height Adjustments ===== */
@media screen and (max-width: 767px) {

  #services-heroo,
  #service-typess,
  #service-themess,
  #services-cta {
    padding: 40px 15px;
    min-height: 100vh;              /* Make each section full screen on mobile */
    background-position: center top;
  }

  /* Optional: Reduce text sizes on mobile if needed */
  #services-heroo h2,
  #service-typess h3,
  #service-themess h3,
  #services-cta h3 {
    font-size: 18px;
  }

  #services-heroo p,
  #service-typess p,
  #service-themess p,
  #service-processs p,
  #services-cta p {
    font-size: 14px;
  }
}


#service-processs {
  padding: 60px 20px;
  position: relative;
  z-index: 100;
  text-align: center;
}

#service-processs h3 {
  color: rgb(255, 153, 0);
  margin-bottom: 20px;
}

#service-processs ol {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 800px;
}

#service-processs li {
    
  font-family: 'Helvetica', 'Arial', sans-serif;   /* Sans-serif font stack */
  background: rgba(255, 255, 255, 0.06);       /* ✅ 50% glass transparency */
  backdrop-filter: blur(10px);                 /* ✅ Glass blur effect */
  border-radius: 12px;
  padding: 15px 20px;
  margin-bottom: 15px;
  color: #fff;
  box-shadow: 0 0 15px rgba(255, 215, 0, 0.1), 0 0 30px rgba(255, 255, 255, 0.08);  /* ✅ Soft outer glow */
  text-align: left;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* ✅ Glow Up on Hover (Desktop Only) */
@media (hover: hover) and (pointer: fine) {
  #service-processs li:hover {
    transform: translateY(-4px);
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.3), 0 0 40px rgba(255, 255, 255, 0.2);
  }
}

/* ✅ Make the text readable on smaller screens */
@media (max-width: 767px) {
  #service-processs li {
    font-size: 14px;
    padding: 12px 16px;
  }

  #service-processs h3 {
    font-size: 18px;
  }
}


/*#################################################################################################################################*/
/*#################################################################################################################################*/
/*#################################################################################################################################*/
/*#################################################################################################################################*/

/* ===== About Hero Section ===== */
.about-hero {
  background-image: url('b3.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  color: white;
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 100px 20px;
}

.about-hero::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

.about-hero-content {
  position: relative;
  z-index: 2;
  max-width: 1100px;
  width: 100%;
  text-align: center;
}

.about-hero h1 {
  font-size: 34px;
  margin-bottom: 12px;
   color: rgb(255, 153, 0);
}

.about-hero p {
  font-size: 18px;
  color: #ddd;
  font-family: 'Helvetica', 'Arial', sans-serif;
}

/* ===== General Section Styles ===== */
section.fade-in-section {
  position: relative;
  overflow: hidden;
  color: white;
  min-height: 80vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 100px 20px;
}

section.fade-in-section .content-wrapper {
  position: relative;
  z-index: 2;
  max-width: 1100px;
  width: 100%;
}

section.fade-in-section h2 {
  color: rgb(255, 153, 0);
  margin-bottom: 18px;
  font-size: 28px;
}

section.fade-in-section p {
  font-size: 16px;
  line-height: 1.8;
  color: #ccc;
  font-family: 'Helvetica', 'Arial', sans-serif;
}

section.fade-in-section ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 700px;
}

section.fade-in-section ul li {
  text-align: left;
  padding-left: 30px;
  position: relative;
  margin-bottom: 12px;
  color: #ddd;
  font-family: 'Helvetica', 'Arial', sans-serif;
}

section.fade-in-section ul li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #ffcc00;
  font-size: 18px;
}

/* ===== Section Specific Backgrounds ===== */
#our-journey,
#our-mission,
#why-choose,
#about-services,
#about-testimonials,
#about-cta {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
}

#our-journey { background-image: url('journey.webp'); }
#our-mission { background-image: url('mission.webp'); }
#why-choose { background-image: url('whychoose.webp'); }
#about-services { background-image: url('services.webp'); }
#about-testimonials { background-image: url('testimonials.webp'); }
#about-cta { background-image: url('cta.webp'); }

/* ===== Overlay for each section ===== */
#our-journey::before,
#our-mission::before,
#why-choose::before,
#about-services::before,
#about-testimonials::before,
#about-cta::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.6);
  z-index: 1;
}

section.fade-in-section > * {
  position: relative;
  z-index: 2;
}

/* ===== CTA Button Style ===== */
.cta-button {
  display: inline-block;
  padding: 14px 30px;
  background: #ff9900;
  color: #000;
  text-decoration: none;
  border-radius: 8px;
  margin-top: 20px;
  font-weight: bold;
  transition: background 0.3s ease, transform 0.2s ease;
}

.cta-button:hover {
  background: #ffa733;
  transform: scale(1.05);
}

/* ===== Mobile Responsive Fixes ===== */
@media (max-width: 767px) {
  .about-hero {
    padding: 60px 15px;
    min-height: 90vh;
  }

  .about-hero h1 {
    font-size: 22px;

  }

  section.fade-in-section {
    padding: 60px 15px;
    min-height: 70vh;
  }

  section.fade-in-section h2 {
    font-size: 18px;
  }

  section.fade-in-section p {
    font-size: 14px;
  }

  .cta-button {
    padding: 10px 20px;
    font-size: 14px;
  }
}


/*#########################################################################################################*/
/*#########################################################################################################*/
/*#########################################################################################################*/

#themes4{
    background-image: url('tt4.webp');
}

#themes3{
    background-image: url('tt3.webp');
}

#themes2{
    background-image: url('tt2.webp');
}

#themes1{
    background-image: url('tt1.webp');
}


#themes4,
#themes3,
#themes2,
#themes1 {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  padding: 90px 20px;
  color: white;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: visible;
  min-height: 80vh;
}

/* ✅ Dark overlay for themes1 to themes4 */
#themes1::before,
#themes2::before,
#themes3::before,
#themes4::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.644); /* Semi-dark overlay */
  z-index: 1;
}

/* ✅ Ensure children appear above overlay */
#themes1 > *,
#themes2 > *,
#themes3 > *,
#themes4 > * {
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 768px) {
  
  #themes2,
  #themes3,
  #themes4 {
    padding: 60px 0px;
    background-position: center;
    min-height: auto;
  }

  #themes1{
    min-height: 190vw;
  }
}

/*#########################################################################################################*/
/*#########################################################################################################*/
/*#########################################################################################################*/

.galleryy {
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
  padding: 0 10px;
}

/* Responsive Grid Layout */
@media (min-width: 768px) {
  .galleryy {
    grid-template-columns: repeat(2, 1fr); /* 2 columns on tablets */
  }
}

@media (min-width: 1024px) {
  .galleryy {
    grid-template-columns: repeat(3, 1fr); /* 3 columns on desktops */
    max-width: 1200px;
    margin: 0 auto;
  }
}

.gallery-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.gallery-img:hover {
  transform: scale(1.03);
}

/*###################################################################################################################################*/
.loader-wrap {
    position: absolute;
    left: 0; right: 0; top: 0; bottom: 0;
    margin: auto;
    background-color: black;
}

.loader {
    position: absolute;
    left: 0; right: 0; top: 0; bottom: 0;
    margin: auto;
    height: 40px; /* 4 * 10px */
    width: 80px;  /* 4 * 20px */
    box-sizing: border-box;
}

.loader .loader-item {
    position: relative;
    float: left;
    height: 40px;
    width: 4px;
    margin: 0 2px;
    background-color: #ffffff;
}

/* Loading text */
.loader::after {
    content: 'Loading...';
    font-size: 16px;
    font-family: Arial;
    color: #ffffff;
    text-align: center;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -32px;
    margin: auto;
}

/* Animation for each bar */
.loader .loader-item:nth-child(1) { animation: loader-item-1 2s linear infinite; }
.loader .loader-item:nth-child(2) { animation: loader-item-2 2s linear infinite; }
.loader .loader-item:nth-child(3) { animation: loader-item-3 2s linear infinite; }
.loader .loader-item:nth-child(4) { animation: loader-item-4 2s linear infinite; }
.loader .loader-item:nth-child(5) { animation: loader-item-5 2s linear infinite; }
.loader .loader-item:nth-child(6) { animation: loader-item-6 2s linear infinite; }
.loader .loader-item:nth-child(7) { animation: loader-item-7 2s linear infinite; }
.loader .loader-item:nth-child(8) { animation: loader-item-8 2s linear infinite; }
.loader .loader-item:nth-child(9) { animation: loader-item-9 2s linear infinite; }
.loader .loader-item:nth-child(10) { animation: loader-item-10 2s linear infinite; }

/* Keyframes for each bar */
@keyframes loader-item-1 { 1% { transform: scaleY(1);} 11% { transform: scaleY(1.4);} 21% { transform: scaleY(1);} 100% { transform: scaleY(1);} }
@keyframes loader-item-2 { 6% { transform: scaleY(1);} 16% { transform: scaleY(1.4);} 26% { transform: scaleY(1);} 100% { transform: scaleY(1);} }
@keyframes loader-item-3 { 11% { transform: scaleY(1);} 21% { transform: scaleY(1.4);} 31% { transform: scaleY(1);} 100% { transform: scaleY(1);} }
@keyframes loader-item-4 { 16% { transform: scaleY(1);} 26% { transform: scaleY(1.4);} 36% { transform: scaleY(1);} 100% { transform: scaleY(1);} }
@keyframes loader-item-5 { 21% { transform: scaleY(1);} 31% { transform: scaleY(1.4);} 41% { transform: scaleY(1);} 100% { transform: scaleY(1);} }
@keyframes loader-item-6 { 26% { transform: scaleY(1);} 36% { transform: scaleY(1.4);} 46% { transform: scaleY(1);} 100% { transform: scaleY(1);} }
@keyframes loader-item-7 { 31% { transform: scaleY(1);} 41% { transform: scaleY(1.4);} 51% { transform: scaleY(1);} 100% { transform: scaleY(1);} }
@keyframes loader-item-8 { 36% { transform: scaleY(1);} 46% { transform: scaleY(1.4);} 56% { transform: scaleY(1);} 100% { transform: scaleY(1);} }
@keyframes loader-item-9 { 41% { transform: scaleY(1);} 51% { transform: scaleY(1.4);} 61% { transform: scaleY(1);} 100% { transform: scaleY(1);} }
@keyframes loader-item-10 { 46% { transform: scaleY(1);} 56% { transform: scaleY(1.4);} 66% { transform: scaleY(1);} 100% { transform: scaleY(1);} }
