body {
    font-family:  proxima-nova, Helvetica, sans-serif;
    font-weight: 300;
    margin: 0;
    padding: 0;
    color: #333;
    background-color: #f5f5f5;
    background-image: url('background.jpg');
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-top: 70px; /* Adjusted for the fixed header */
    scroll-padding-top: 100px; 
}

.logo {
    display: flex; /* Enables flexible box layout */
    align-items: center; /* Aligns items vertically in the center */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%; /* Ensures the logo container spans the full width */
    background-color:rgba(51, 51, 51, 0.9); /* Match the navigation bar background */
    padding: 10px 20px; /* Adjusted padding for aesthetics */
    z-index: 1010;
}

.logo img {
    height: 50px; /* Adjust the logo image size */
    width: auto; /* Maintain aspect ratio */
}

.logo-text {
    flex-grow: 1; /* Allows the text to fill the space */
    text-align: center; /* Ensures the text is centered */
    font-size: 40px; /* Large size for visibility */
    color: #ffffff; /* White color for contrast */
    font-weight: 700; /* Bold font weight */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); /* Subtle shadow for depth */
    margin: 0; /* Removes default margin */
    padding: 10px 0; /* Top and bottom padding */
    transition: transform 0.5s ease-out; /* Smooth transition for animation */
}


nav {
    background-color: #fff; /* White background for clarity */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Slightly deeper shadow for a floating effect */
    position: fixed;
    top: 85px; /* Adjust based on your header layout */
    width: 100%;
    z-index: 1000;
    display: flex;
    justify-content: space-around;
    padding: 10px 20px; /* Increased padding for larger touch targets */
    border-bottom: 1px solid #e0e0e0; /* Subtle border for visual separation */
}

nav ul {
    list-style-type: none;
    padding: 0;
    margin: 0; /* Ensures no default browser margins */
    display: flex;
    justify-content: space-around; /* Ensures equal spacing between links */
    align-items: center;
    width: 100%;
}

nav ul li a {
    color: #333; /* Dark grey for readability */
    text-decoration: none;
    font-weight: bold;
    font-size: 16px; /* Larger font size for readability and impact */
    padding: 12px 24px; /* Increased padding for better visual and interactive space */
    transition: color 0.3s ease, background-color 0.3s ease; /* Smooth color transition for hover effects */
}

nav ul li a:hover {
    color: #d4af37; /* Gold color on hover for a premium feel */
    background-color: rgba(0, 0, 0, 0.1); /* Subtle background fade on hover for better UX */
}


/* Remaining styles are unchanged */

#about {
    background-color: #fff; /* Solid background color for clarity */
    padding: 40px;
    margin-bottom: 20px; /* Separates from other sections */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* Adds depth with a subtle shadow */
}

#about h2 {
    color: #333;
    font-size: 24px; /* Prominent size for heading */
    margin-bottom: 15px; /* Space between the heading and content */
    text-align: center; /* Centers the heading */
}

.about-content {
    display: flex; /* Aligns image and text side by side */
    align-items: center; /* Centers items vertically */
    gap: 20px; /* Space between image and text */
}

.about-img {
    width: 40%; /* Adjusts the width of the image */
    max-width: 200px; /* Limits maximum size */
    height: auto; /* Maintains aspect ratio */
    border-radius: 10px; /* Optional: rounds the corners of the image */
}

#about p {
    color: #666; /* Soft, professional text color */
    font-size: 16px; /* Comfortable reading size */
    line-height: 1.6; /* Enhances readability */
    text-align: justify; /* Justifies the text for a clean look */
    flex: 1; /* Allows text to fill the remaining space */
    padding: 10px;
}


/* Remaining styles are unchanged, focusing on professional and balanced presentation */


#hero {
    background-color: rgba(255, 255, 255, 0.85); /* Soft white for readability */
    color: #333;
    text-align: center;
    padding: 80px 20px;
    margin-top: 90px;
}
#hero h1 {
    font-size: 36px; /* Increase font size for impact */
    font-weight: bold; /* Bold for emphasis */
    margin-bottom: 20px; /* Space below the header */
}

#hero p {
    font-size: 18px; /* Comfortable reading size */
    margin-bottom: 20px; /* Space below the paragraph */
}

#mainbodytext {
    background-color: rgba(51, 51, 51, 0.9); /* More opaque for main content */
    max-width:95%; /* Slightly narrower for focused reading */
    margin: 40px auto; /* Increased top/bottom margin for separation */
    padding: 30px; /* More internal space */
    box-sizing: border-box;
}

#about, #services, #gallery, #testimonials, #contact, #review {
    padding: 10px;
    color: #333;
    background-color: #fff; /* Solid background for these sections */
    margin-bottom: 20px; /* Adds separation between sections */
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* Subtle shadow for depth */
}

button {
    background-color: rgba(212, 175, 55, 0.85); /* Muted gold for sophistication */
    color: #fff; /* White text for contrast */
    border: none;
    padding: 15px 30px; /* More generous padding for a better click area */
    cursor: pointer;
    font-weight: bold;
    font-size: 20px;
    transition: all 0.3s ease; /* Smooth transition for all properties */
    text-shadow: 1px 1px 2px #000; /* More noticeable text shadow for depth */
    border-radius: 8px; /* Rounded edges */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow for 3D effect */
}

button:hover {
    background-color: rgba(212, 175, 55, 1); /* Slightly deeper gold on hover */
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2); /* Enhanced shadow on hover for 3D effect */
    transform: translateY(-2px); /* Slight lift when hovered */
}


footer {
    background-color: #292929; /* Almost black for footer */
    color: #fff; /* White text for contrast */
    text-align: center;
    padding: 20px;
    margin-top: 20px;
}

h2 {
    background-color: rgba(212, 175, 55, 0.6);
    color: #333; /* Soft black for heading text */
    padding: 20px 0; /* More padding for emphasis */
    margin: 5px 0 20px; /* Reduced top margin to 5px */
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    font-weight: bold;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); /* More subtle shadow */
    border-top: 3px solid rgba(212, 175, 55, 0.8);
    border-bottom: 3px solid rgba(212, 175, 55, 0.8);
    font-size: 30px;
}

#services {
    background-color: #fff; /* Solid background for visibility */
    padding: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* Subtle shadow for depth */
    margin-bottom: 20px; /* Adds separation between sections */
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Creates a responsive grid layout */
    gap: 20px; /* Space between grid items */
}

.service-item {
    background: #f9f9f9; /* Light background for each item */
    border: 1px solid #ddd; /* Subtle border for definition */
    padding: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* Adds depth with a shadow */
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease;
}

.service-item h3 {
    color: #333;
    font-size: 18px;
    margin-bottom: 10px;
}

.service-item p {
    font-size: 14px;
    line-height: 1.6;
    color: #666; /* Lighter text color for readability */
}

.service-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

#services img{
        max-width: 100%; /* Ensures images are not wider than their container */
        height: auto; /* Keeps the aspect ratio of the images */
        display: block; /* Makes images block-level to allow margin specifications */
        margin: 0 auto 20px; /* Centers images and adds space below each */
        box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* Enhances the shadow for depth */
    }

    .gallery-section {
        margin-bottom: 20px; /* Adds separation between sections */
    }
    
    .image-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* 2 columns of equal width */
        gap: 20px; /* Space between images */
    }
    
    .image-grid img {
        width: 100%; /* Ensures images take full width of the column */
        height:620px; /* Fixed height for all images */
        object-fit: cover; /* Ensures images cover the area without distorting aspect ratio */
        display: block;
        margin: auto; /* Centers images */
        box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* Adds shadow for depth */
    }

#services img, #gallery img {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

#contact a {
    color: #007BFF; /* Example: Blue color for links */
    text-decoration: none; /* Removes underline from links */
    font-weight: bold;
}

#contact a:hover {
    text-decoration: underline; /* Adds underline on hover for better interaction visibility */
}
.gallery-section h3 {
    font-size: 20px; /* Adjusts the size to be more noticeable */
    font-weight: bold; /* Makes text bold */
    color: #333; /* Gives a deep, professional color */
    padding: 10px 0; /* Adds space above and below the text */
    margin-top: 60px; /* Separates the title from the previous section */
    margin-bottom: 15px; /* Provides spacing before the images */
    text-transform: uppercase; /* Makes the text uppercase for a more structured look */
    text-align: center; /* Centers the text */
    border-bottom: 2px solid #ccc; /* Adds a subtle line under the text */
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1); /* Optional: Adds a slight shadow for depth */
}

#reviews {
    background-color: #fff;
    padding: 10px;
    margin-bottom: 20px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    text-align: center;
}

#reviews h2 {
    color: #333;
    font-size: 24px;
    margin-bottom: 15px;
}

#reviews-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Creates three columns */
    gap: 20px;
    margin-bottom: 20px;
}

.review-item {
    background: #f9f9f9;
    padding: 20px;
    border: 1px solid #ddd;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.review-item p {
    font-size: 16px;
    color: #666;
    line-height: 1.6;
}

.review-link a {
    color: #007BFF;
    text-decoration: none;
}

.review-link a:hover {
    text-decoration: underline;
}
.rating {
    color: #d4af37; /* Gold color for stars */
    font-size: 18px; /* Size of the stars */
    margin-top: 5px; /* Space above the stars */
}

/* Optionally, if you want to align the ratings with the text */
.review-item {
    display: flex;
    flex-direction: column;
    align-items: center; /* Centers the content vertically */
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease;

}
.review-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}



/*--------------------------------Media Queries---------------------------------*/

@media (max-width: 768px) {
    body {
        padding-top: 0; /* Removes the padding at the top of the body */
    }

    .logo, nav, #hero {
        position: relative; /* Changes positioning from fixed to relative */
        top: 0; /* Ensures it's at the very top */
        left: 0; /* Aligns to the left edge */
        width: 100%; /* Ensures it spans the full width of the viewport */
        z-index: auto; /* Resets any previously set z-index value */
        margin-top: 0; /* Ensures there's no margin pushing it down */
        align-items: center;
    }
    #mainbodytext {
        width: 100%;
        max-width: 95%;
        margin: 20px auto; /* Adjusted to add some space after the nav */
        padding: 30px 5%; /* Adjusts padding for consistency */
    }

    nav ul {
        flex-direction: column; /* Stacks the nav items vertically */
        align-items: center; /* Stretches nav items to fill the width */
        padding: 0; /* Ensures nav items are aligned to the edge */
    }

    nav ul li a {
        display: block; /* Makes the anchor tags block elements */
        padding: 10px; /* Increases tap area */
        
    }
    #gallery {
        grid-template-columns: 1fr; /* Switches to a single column layout */
    }
    #gallery img {
        margin-bottom: 15px; /* Adds space below each image for better separation */
    }
    body, button, #services img, #gallery img, nav ul li a {
        transition: none; /* Disables transitions for smoother performance */
    }
     #contact a {
         display: block; /* Puts the email and phone number on new lines on small screens */
          margin-bottom: 10px; /* Adds space below each for clearer separation */
     }
     .gallery-section h3 {
        font-size: 18px; /* Slightly smaller font size for mobile devices */
        padding: 8px 0;
        margin-top: 20px;
        margin-bottom: 10px;
    }
    .about-content {
        flex-direction: column; /* Stacks image and text vertically on small screens */
        text-align: center; /* Centers text for consistency */
    }

    .about-img {
        width: 70%; /* Larger image for smaller screens */
        margin: 0 auto 20px; /* Centers image and adds space before text */
    }

    #about p {
        text-align: left; /* Aligns text left for better readability on small devices */
    }
    #reviews-container {
        grid-template-columns: 1fr; /* Stack items in a single column */
    }

}
@media (max-width: 1200px) {
    .image-grid {
        grid-template-columns: 1fr; /* Single column layout on smaller screens */
    }
    .image-grid img {
        width: 100%; /* Ensures images take full width of the column */
        height:500px; /* Fixed height for all images */
        object-fit: cover; /* Ensures images cover the area without distorting aspect ratio */
        display: block;
        margin: auto; /* Centers images */
        box-shadow: 0 4px 8px rgba(0,0,0,0.2); /* Adds shadow for depth */
    }
    #reviews-container {
        grid-template-columns: 1fr; /* Stack items in a single column */
    }

}