/* oswald-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 400;
  src: url('./oswald-v53-latin-regular.woff2') format('woff2');
}

/* oswald-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  src: url('./oswald-v53-latin-700.woff2') format('woff2');
}

body {
    font-family: 'Oswald', sans-serif;
}



/* General Styles */
body {
    background-color: #f4f4f4;
    color: #333;
    margin: 0;
    padding: 0;
    line-height: 1.6;
    font-family: 'Oswald', sans-serif;
    overflow-x: hidden; /* This prevents horizontal overflow */
}


.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px; /* Add padding to avoid content touching the edges */
    box-sizing: border-box; /* Ensure padding is included in the width */
	text-align: center;
}


.section {
    padding: 50px 0;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .container {
        width: 100%;
        padding: 0 10px;
    }

    .section {
        padding: 30px 0;
    }

    .hero h2 {
        font-size: 2rem;
    }

    p, h2, h3 {
        font-size: 0.9rem;
    }

    .main-nav ul {
        flex-direction: column;
        align-items: center;
    }

    .main-nav ul li {
        margin: 10px 0;
    }
}

/* Header Section */
.main-header {
    background: #fff;
    color: #000;
    padding: 20px 0;
    border-bottom: 2px solid #ccc;
}

/* Default logo size for other pages */
.logo img {
    width: 100%;
    max-width: 100%;
    height: auto;
	display: inline-block;
	text-align: center;
}


/* Center the logo on larger screens */
@media (min-width: 768px) {
    .logo img {
        max-width: 60%; /* Adjust the max-width for desktop if needed */
        margin-left: auto;
        margin-right: auto;
    }
}

/* Target the logo on the homepage for mobile */
@media only screen and (max-width: 768px) {
    .logo img {
        max-width: 100%; /* Adjust this percentage to fit your needs */
        margin-left: auto;
        margin-right: auto;
     
    }
}







/* Navigation Styles */
.nav-background {
    background-color: #e0e0e0; /* Light gray background color */
    padding: 5px 0; /* Adjust padding to match the height of the buttons */
    text-align: center; /* Center the buttons horizontally */
    width: 100%; /* Ensure it spans the full width of the viewport */
    position: relative; /* Ensure it respects the document flow */
    left: 0;
    right: 0;
    box-sizing: border-box; /* Include padding in the width calculation */
    border-top: 2px solid #cccccc; /* Darker gray line at the top */
    border-bottom: 2px solid #cccccc; /* Darker gray line at the bottom */
}

.main-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.main-nav ul li {
    margin: 0 15px;
}

.main-nav ul li a {
    color: #000; /* Text color initially black */
    text-decoration: none;
    font-weight: 700;
    background-color: transparent; /* No background initially */
    padding: 5px 20px;
    border-radius: 5px;
    display: block;
    text-align: center;
    transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
}

.main-nav ul li a:hover {
    background-color: #333; /* Dark background on hover */
    color: #fff; /* White text on hover */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .main-nav ul {
        flex-direction: row; /* Keeps the buttons in a row on mobile */
        align-items: center;
    }

    .main-nav ul li {
        margin: 10px 5px; /* Adjusts space between buttons */
    }

    .main-nav ul li a {
        padding: 5px 10px; /* Adjust padding for smaller screens */
        font-size: 0.8rem; /* Slightly reduced font size */
        width: auto; /* Makes sure the buttons adjust to the text size */
        background-color: #fff; /* White background on mobile */
        color: #000; /* Black text on mobile */
        border: 1px solid #ccc; /* Light border to define the button */
    }

    .main-nav ul li a:hover {
        background-color: #333; /* Dark background on hover */
        color: #fff; /* White text on hover */
    }
}





/* Hero Section */
.hero {
    background: url('light-background.jpg') no-repeat center center/cover;
    color: #000;
    padding: 25px 0 50px 0;
    text-align: center;
}

.hero h2 {
    font-size: 3rem;
    margin-bottom: 10px;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
}

.hero p {
    font-size: 1.5rem;
    margin-bottom: 20px;
}

/* Button Styles */
.btn-primary {
    background: #000;
    color: #fff;
    padding: 15px 30px;
    text-decoration: none;
    border-radius: 5px;
    font-weight: 700;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    display: inline-block;
}

.btn-primary:hover {
    background-color: #555;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* About, Services, and Contact Sections */
.about,
.services,
.contact {
    padding: 50px 0;
    background: #fff;
    color: #000;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

.about h2,
.services h2,
.contact h2 {
    text-align: center;
    margin-bottom: 20px;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
}

/* General Styles */
body {
    background-color: #f4f4f4;
    color: #333;
    margin: 0;
    padding: 0;
    line-height: 1.6;
    font-family: 'Oswald', sans-serif;
    overflow-x: hidden; /* This prevents horizontal overflow */
}

/* Service Grid */
.service-grid {
    display: grid;
    grid-template-columns: 1fr; /* Single column layout by default */
    gap: 20px; /* Adds some space between the items */
}

/* For medium screens and up (like tablets) */
@media (min-width: 600px) {
    .service-grid {
        grid-template-columns: repeat(2, 1fr); /* Two columns on medium screens */
    }
}

/* For large screens and up (like desktops) */
@media (min-width: 768px) {
    .service-grid {
        grid-template-columns: repeat(3, 1fr); /* Three columns on larger screens */
    }
}

/* Service Item Styling */
.service-item {
    background: #fff;
    border: 1px solid #ccc;
    padding: 20px;
    text-align: center;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    cursor: pointer;
    border-radius: 8px; /* Round corners of the entire service box */
}

.service-item:hover {
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); /* Add shadow on hover */
    transform: translateY(-5px); /* Slight lift effect on hover */
}

/* Service Item Image Styling */
.service-item img {
    width: 100%;
    height: auto;
    max-width: 300px; /* Ensure images don't exceed 300px in width */
    border-radius: 8px;
    margin: 0 auto;
    display: block;
}

/* Link Styling for Service Titles as Buttons */
.service-item h3 a {
    display: inline-block;
    background: #000;
    color: #fff;
    padding: 15px 30px;
    text-decoration: none;
    border-radius: 5px;
    font-weight: 700;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    font-size: 1.1rem; /* Font size stays the same */
    margin-bottom: 10px; /* Add spacing between button and description */
}

.service-item h3 a:hover {
    background-color: #333;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Styling for Service Descriptions */
.service-item p {
    margin-top: 10px;
    font-size: 1rem;
    color: #666;
}

/* Instruction Text for Service Grid */
.service-grid-instruction {
    text-align: center;
    font-size: 1.1rem;
    color: #333;
    margin-bottom: 20px;
}


/* General Button Styles */
.btn-primary {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: #333;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    letter-spacing: 1px;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.btn-primary:hover {
    background-color: #555;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}




/* Contact Form */
.contact {
    padding: 50px 0; /* Adjusted to match other sections */
    background: #fff;
    color: #000;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Added drop shadow for consistency */
    border-radius: 8px; /* Rounded corners for consistency */
    text-align: center; /* Center the content */
}

.contact form {
    max-width: 600px; /* Set max width to ensure form doesn't stretch too wide */
    margin: 0 auto; /* Center the form */
}

.contact form label {
    display: block;
    margin-bottom: 5px;
    font-weight: 700;
    text-align: left; /* Align labels to the left for consistency */
}

.contact form input,
.contact form textarea {
    width: 100%;
    max-width: 100%;
    padding: 15px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    box-sizing: border-box;
}

.contact form input[type="tel"] {
    padding: 15px;
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
}

.contact form button {
    display: block;
    width: 100%;
    max-width: 600px; /* Ensure button is the same width as the form */
    margin: 0 auto; /* Center the button */
    background: #000;
    color: #fff;
    border: none;
    padding: 15px;
    font-size: 1.2rem;
    cursor: pointer;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.contact form button:hover {
    background-color: #555;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

.contact p {
    margin-top: 20px; /* Add some space between the form and the note */
    font-size: 0.9rem;
    color: #555;
}

/* Main Footer */
.main-footer {
    background: #fff;
    color: #000;
    text-align: center;
    padding: 20px 0;
    border-top: 2px solid #ccc;
}

.main-footer p {
    margin: 0;
    font-weight: 700;
}

/* Reviews Section */
.reviews {
    padding: 50px 0;
    background-color: #f9f9f9;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

.reviews h2 {
    margin-bottom: 30px;
    font-size: 2rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
}

.carousel {
    position: relative;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    overflow: hidden;
}

.review-item {
    display: none;
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    opacity: 0;
    transition: opacity 0.5s ease;
}

.review-item.active {
    display: block;
    opacity: 1;
}

.review-item p {
    font-size: 1rem;
    line-height: 1.6;
    color: #333;
}

.review-item span {
    display: block;
    margin-top: 10px;
    font-weight: bold;
    color: #555;

}


.btn-primary {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: #333;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    font-weight: bold;
    letter-spacing: 1px;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.btn-primary:hover {
    background-color: #555;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}

/* Disclaimer */
.disclaimer {
    font-size: 0.9rem;
    color: #555;
    margin-top: 10px;
}

/* Mobile Specific Adjustments */
@media only screen and (max-width: 768px) {
    /* Adjusting the contact section margins for mobile */
    .contact {
        padding: 20px 10px;  /* Reducing padding for smaller screens */
    }

    .contact h2 {
        text-align: center;
        font-size: 1.5rem;
    }

    .contact form {
        width: 100%;
        margin: 0 auto;
    }

    .contact form input,
    .contact form textarea,
    .contact form button {
        width: 100%;
        margin-bottom: 15px;
    }
}

