* {
    box-sizing: border-box;
    max-width: 100vw; /* Prevent elements from exceeding the viewport width */
}

html {
    scroll-behavior: smooth;
}

html, body {
    overflow-x: hidden; /* Prevent horizontal scrolling */
    margin: 0; /* Remove default margin */
    padding: 0; /* Remove default padding */
    width: 100%; /* Ensure the width does not exceed the viewport */
    box-sizing: border-box; /* Include padding and border in the element's width */
}

/* Default Dark Mode Styles */
body {
    background-color: #121212;
    color: #e0e0e0;
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Prevent horizontal scrolling */
    box-sizing: border-box;
}

body.dark-mode {
    background-color: #121212;
    color: #e0e0e0;
}

body.light-mode {
    background-color: #ffffff;
    color: #333333;
}

h1, h2, h3 {
    color: #ffffff;
}

body.light-mode h1, body.light-mode h2, body.light-mode h3 {
    color: #000000;
}

a {
    color: #04AA6D;
    text-decoration: none;
}

a:hover {
    color: #028a50;
}

body.light-mode a {
    color: #04AA6D;
}

body.light-mode a:hover {
    color: #028a50;
}

.theme-toggle {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #04AA6D;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease;
}

.theme-toggle:hover {
    background-color: #028a50;
}

/* Add this to your CSS */
body, .mobile-container {
    padding: 0 10px; /* Add responsive padding */
    margin: 0;
    box-sizing: border-box;
}

body {
    background-color: #f4f4f9; /* Light grayish background */
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    color: #333;
    box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.1); /* Adds a subtle shadow effect */
}

/* Default H1 Styling */
h1 {
    font-size: 3rem; /* Adjust font size */
    text-align: center;
    margin: 20px 0;
    color: #ffffff; /* Default color for dark mode */
    background-image: none; /* Remove background image for better visibility */
}

/* Light Mode H1 Styling */
body.light-mode h1 {
    color: #000000; /* Dark text for light mode */
}

h1, h2 {
    color: white; /* Ensure headings stand out against the gradient */
    text-align: center;
    margin-top: 20px;
}

.dark-mode h1, .dark-mode h2 {
    color: #ffffff;
}

.mobile container {
    max-width: 480px;
    margin: auto;
    background-color: #555;
    height: 500px;
    color: yellow;
    border-radius: 10px;
}

/* Navigation Bar */
.topnav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #333;
    padding: 10px 20px;
}

.topnav a {
    color: white;
    text-decoration: none;
    padding: 10px 15px;
    font-size: 16px;
}

.topnav .icon {
    display: none;
    font-size: 24px;
    color: white;
    cursor: pointer;
}

/* Responsive Navigation */
@media screen and (max-width: 768px) {
    .topnav a {
        display: none;
    }

    .topnav .icon {
        display: block;
    }

    #myLinks {
        display: none;
        flex-direction: column;
        background-color: #333;
        position: absolute;
        top: 50px;
        right: 0;
        width: 100%;
        text-align: center;
    }

    #myLinks a {
        display: block;
        padding: 15px;
        border-bottom: 1px solid #575757;
    }

    #myLinks a:last-child {
        border-bottom: none;
    }

    #myLinks.show {
        display: flex;
    }
}

.topnav a.active {
    background-color: #04AA6D;
    color: white;
}

/* Hide the links inside the navigation menu (except for logo/home) */
.topnav #myLinks {
    display: none;
}

/* Style the hamburger menu */
.topnav a.icon {
    background: black;
    display: block;
    position: absolute;
    right: 0;
    top: 0;
}

/* Add a grey background color on mouse-over */
.topnav a:hover {
    background-color: #ddd;
    color: black;
}

/* Style the active link (or home/logo) */
.active {
    background-color: #04AA6D;
    color: white;
}

main {
    padding: 20px;
}

section {
    margin-bottom: 30px;
}

/* Center the Our Cars Section */
#cars {
    display: flex;
    flex-wrap: wrap; /* Allow items to wrap to the next row */
    justify-content: center; /* Center the car containers horizontally */
    gap: 20px; /* Add spacing between the containers */
    padding: 20px;
    text-align: center; /* Center-align the text inside the containers */
}

.car {
    background-color: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    text-align: center;
    padding: 20px;
    max-width: 300px; /* Set a maximum width for each car container */
    flex: 1 1 calc(33.333% - 20px); /* Responsive grid: 3 items per row */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.car:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

.car img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin-bottom: 15px;
}

.car h3 {
    font-size: 20px;
    margin-bottom: 10px;
}

.car p {
    font-size: 16px;
    margin-bottom: 10px;
}

.car button {
    background-color: #04AA6D;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.car button:hover {
    background-color: #028a50;
}

/* Responsive Design for Smaller Screens */
@media screen and (max-width: 768px) {
    .car {
        flex: 1 1 calc(50% - 20px); /* 2 items per row */
    }
}

@media screen and (max-width: 480px) {
    .car {
        flex: 1 1 100%; /* 1 item per row */
    }
}

button {
    background-color: #e40c0c;
    color: #fff;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
}

.column {
    float: right;
    width: 33.33%;
}

/* Clear floats after the columns */
.row:after {
    content: "";
    display: table;
    clear: both;
}

/* Footer */
footer {
    text-align: center;
    padding: 20px;
    background-color: #333;
    color: white;
    font-size: 14px;
}

footer p {
    margin: 0;
}

/* Slideshow container */
.slideshow-container {
    position: relative;
    max-width: 100%;
    margin: auto;
    overflow: hidden;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Slides */
.mySlides1, .mySlides2 {
    display: none;
    position: relative;
    width: 100%;
    animation: fade 1.5s ease-in-out;
}

@keyframes fade {
    from {
        opacity: 0.4;
    }
    to {
        opacity: 1;
    }
}

/* Next and previous buttons */
.prev, .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -22px;
    color: white;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    user-select: none;
}

.next {
    right: 0;
    border-radius: 3px 0 0 3px;
}

.prev:hover, .next:hover {
    background-color: rgba(0, 0, 0, 0.8);
}

/* Caption text */
.numbertext {
    position: absolute;
    top: 0;
    padding: 8px 12px;
    color: white;
    font-size: 12px;
    background-color: rgba(0, 0, 0, 0.5);
}

#social-media {
    text-align: center;
    margin: 20px 0;
}

#social-media h2 {
    font-size: 24px;
    margin-bottom: 10px;
}

/* Social Media Icons */
.social-icons {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
}

.social-icon {
    font-size: 30px;
    color: #333;
    transition: color 0.3s ease, transform 0.3s ease;
}

.social-icon:hover {
    color: #04AA6D;
    transform: scale(1.2);
}

/* Ensure all images are responsive */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Slideshow images */
.slideshow-container img {
    width: 100%;
    height: auto;
}

/* Thumbnail images */
.row {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 10px;
}

.row img {
    width: 100px;
    height: auto;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.3s ease;
}

.row img:hover {
    border-color: #04AA6D;
}

/* Hero Section */
#home {
    background-color: #f9f9f9; /* Light background */
    color: #333; /* Dark text */
    padding: 40px 20px;
    border-radius: 10px;
    text-align: center;
}

#home h2 {
    font-size: 36px;
    margin-bottom: 20px;
}

#home p {
    font-size: 18px;
    line-height: 1.8;
    color: #555;
    margin-bottom: 20px;
    text-align: justify;
}

#home p strong {
    color: #04AA6D;
    font-weight: bold;
}

/* Responsive Design for Smaller Screens */
@media screen and (max-width: 768px) {
    #home p {
        font-size: 16px;
    }
}

@media screen and (max-width: 480px) {
    #home p {
        font-size: 14px;
    }
}

#home p {
    font-size: 18px;
    line-height: 1.6;
}

/* Why Choose Us Section */
#home ul {
    list-style-type: none; /* Remove default bullet points */
    padding: 0;
    margin: 20px auto;
    max-width: 600px; /* Center the content and limit the width */
    text-align: left; /* Align text to the left */
}

#home ul li {
    background-color: #04AA6D; /* Green background for each item */
    color: white; /* White text */
    padding: 10px 15px;
    margin-bottom: 10px;
    border-radius: 5px; /* Rounded corners */
    font-size: 16px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Add a subtle shadow */
    display: flex;
    align-items: center;
    gap: 10px;
}

#home ul li::before {
    content: "✔"; /* Add a checkmark icon before each item */
    color: white;
    font-weight: bold;
    margin-right: 10px;
}

/* Booking Form Styling */
#booking {
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    max-width: 600px;
    margin: 20px auto;
}

#booking h2 {
    text-align: center;
    margin-bottom: 20px;
    font-size: 24px;
    color: #333;
}

#booking form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

#booking label {
    font-size: 16px;
    color: #555;
}

#booking input, #booking select, #booking button {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 5px;
    width: 100%;
    box-sizing: border-box;
}

#booking button {
    background-color: #04AA6D;
    color: white;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#booking button:hover {
    background-color: #028a50;
}

/* Manager Section */
#manager {
    text-align: center;
    padding: 40px 20px;
    background-color: #f9f9f9;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

#manager h2 {
    font-size: 28px;
    margin-bottom: 20px;
    color: #333;
}

.manager-profile {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.manager-photo {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    object-fit: cover;
}

.manager-info {
    max-width: 600px;
    text-align: center;
}

.manager-info h3 {
    font-size: 22px;
    margin-bottom: 10px;
    color: #04AA6D;
}

.manager-info p {
    font-size: 16px;
    color: #555;
    line-height: 1.6;
}

/* Testimonials Section */
#testimonials {
    text-align: center;
    padding: 40px 20px;
    background-color: #f4f4f4;
}

#testimonials h2 {
    font-size: 28px;
    margin-bottom: 20px;
    color: #333;
}

.testimonial-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.testimonial {
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
    max-width: 300px;
    text-align: center;
}

.testimonial p {
    font-size: 16px;
    color: #555;
    margin-bottom: 10px;
}

.testimonial h3 {
    font-size: 18px;
    color: #04AA6D;
}

/* Location Section */
#location {
    text-align: center;
    padding: 40px 20px;
    background-color: #f9f9f9;
}

.map-container {
    margin-top: 20px;
    border: 1px solid #ddd;
    border-radius: 10px;
    overflow: hidden;
}

/* Our Fleet Section */
#our-fleet {
    text-align: center;
    padding: 40px 20px;
    background-color: #f9f9f9;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

#our-fleet h2 {
    font-size: 28px;
    margin-bottom: 30px;
    color: #333;
}

.fleet-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.fleet-item {
    background-color: #ffffff;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 10px;
    max-width: 300px;
    flex: 1 1 calc(33.333% - 20px); /* Responsive grid */
    box-sizing: border-box;
}

.fleet-photo {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

/* Responsive Design */
@media screen and (max-width: 768px) {
    .fleet-item {
        flex: 1 1 calc(50% - 20px);
    }
}

@media screen and (max-width: 480px) {
    .fleet-item {
        flex: 1 1 100%;
    }
}

/* Responsive Design */
@media screen and (max-width: 768px) {
    #booking {
        padding: 15px;
    }

    #booking h2 {
        font-size: 20px;
    }

    #booking input, #booking select, #booking button {
        font-size: 14px;
    }
}

/* Search Section */
#search {
    text-align: center;
    padding: 40px 20px;
    background-color: #f4f4f4;
}

#search form {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 20px;
}

#search input {
    padding: 10px;
    width: 300px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-size: 16px;
}

#search button {
    padding: 10px 20px;
    background-color: #04AA6D;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    transition: background-color 0.3s ease;
}

#search button:hover {
    background-color: #028a50;
}

/* Responsive Design for Search Bar */
@media screen and (max-width: 768px) {
    #search form {
        flex-direction: column; /* Stack input and button vertically */
        gap: 15px; /* Add spacing between input and button */
    }

    #search input {
        width: 100%; /* Full width for smaller screens */
    }

    #search button {
        width: 100%; /* Full width for smaller screens */
    }
}

@media screen and (max-width: 480px) {
    #search input {
        font-size: 14px; /* Adjust font size for smaller screens */
        padding: 8px; /* Reduce padding */
    }

    #search button {
        font-size: 14px; /* Adjust font size for smaller screens */
        padding: 8px 16px; /* Reduce padding */
    }
}

/* FAQ Section */
#faq {
    padding: 40px 20px;
    background-color: #f9f9f9;
}

#faq h2 {
    text-align: center;
    margin-bottom: 20px;
}

.faq-item {
    margin-bottom: 20px;
}

.faq-item h3 {
    font-size: 18px;
    color: #04AA6D;
}

faq-item p {
    font-size: 16px;
    color: #555;
}

#contact-form {
    padding: 40px 20px;
    background-color: #f4f4f4;
    text-align: center;
}

#contact-form form {
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

#contact-form input, #contact-form textarea {
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    width: 100%;
    box-sizing: border-box;
}

#contact-form button {
    padding: 10px 20px;
    background-color: #04AA6D;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

#contact-form button:hover {
    background-color: #028a50;
}

/* Rewards Section */
#rewards {
    text-align: center;
    padding: 40px 20px;
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeeba;
    border-radius: 10px;
}

#rewards button {
    padding: 10px 20px;
    font-size: 16px;
    border: none;
    border-radius: 5px;
    background-color: #856404;
    color: white;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#rewards button:hover {
    background-color: #704c03;
}

/* Contact Us Section */
#contact {
    text-align: center;
    padding: 40px 20px;
    background-color: #f4f4f4;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-radius: 10px;
    margin: 20px auto;
    max-width: 600px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

#contact h2 {
    font-size: 28px;
    margin-bottom: 20px;
    color: #04AA6D;
}

.contact-container {
    font-size: 16px;
    color: #555;
    line-height: 1.8;
}

.contact-container p {
    margin: 10px 0;
}

.contact-container a {
    color: #04AA6D;
    text-decoration: none;
    font-weight: bold;
}

.contact-container a:hover {
    text-decoration: underline;
}

/* General Grid Layout */
.fleet-container, .team-container, .car {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.fleet-item, .team-member, .car {
    flex: 1 1 calc(33.333% - 20px); /* 3 items per row */
    max-width: 300px;
    box-sizing: border-box;
}

@media screen and (max-width: 768px) {
    .fleet-item, .team-member, .car {
        flex: 1 1 calc(50% - 20px); /* 2 items per row */
    }
}

@media screen and (max-width: 480px) {
    .fleet-item, .team-member, .car {
        flex: 1 1 100%; /* 1 item per row */
    }
}

/* Form Styling */
form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 400px;
    margin: 0 auto;
}

form input, form select, form textarea, form button {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 5px;
    box-sizing: border-box;
}

/* Slideshow container */
.slideshow-container {
    position: relative;
    max-width: 100%;
    margin: auto;
}

/* Slides */
.mySlides1, .mySlides2 {
    display: none;
}

/* Thumbnail images */
.row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

/* Column for thumbnails */
.column {
    flex: 1 1 calc(25% - 10px); /* 4 thumbnails per row */
    max-width: 150px;
}

@media screen and (max-width: 768px) {
    .column {
        flex: 1 1 calc(33.333% - 10px); /* 3 thumbnails per row */
    }
}

@media screen and (max-width: 480px) {
    .column {
        flex: 1 1 calc(50% - 10px); /* 2 thumbnails per row */
    }
}

/* Logo Styling */
.logo img {
    height: 40px;
    vertical-align: middle;
    transition: transform 0.3s ease;
}

.logo img:hover {
    transform: scale(1.1); /* Slight zoom effect on hover */
}

/* Leasing Form Styling */
#leasing-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: 400px;
    margin: 20px auto;
}

#leasing-form input, #leasing-form select, #leasing-form button {
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ddd;
    border-radius: 5px;
    width: 100%;
    box-sizing: border-box;
}

#leasing-form button {
    background-color: #04AA6D;
    color: white;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

#leasing-form button:hover {
    background-color: #028a50;
}

/* For tablets and smaller screens (max-width: 768px) */
@media screen and (max-width: 768px) {
    .topnav {
        flex-wrap: wrap; /* Allow navigation items to wrap */
    }

    .car, .fleet-item, .team-member {
        flex: 1 1 calc(50% - 20px); /* 2 items per row */
    }

    #home h2 {
        font-size: 28px; /* Reduce heading size */
    }

    #home p {
        font-size: 16px; /* Reduce paragraph size */
    }
}

/* For mobile phones (max-width: 480px) */
@media screen and (max-width: 480px) {
    .car, .fleet-item, .team-member {
        flex: 1 1 100%; /* 1 item per row */
    }

    .topnav {
        flex-direction: column; /* Stack navigation items vertically */
    }

    .topnav a {
        text-align: center;
        padding: 10px;
    }

    #home h2 {
        font-size: 24px; /* Further reduce heading size */
    }

    #home p {
        font-size: 14px; /* Further reduce paragraph size */
    }
}

/* Hero Section */
#hero {
    background-image: url('images/background.jpg'); /* Replace with your image */
    background-size: cover;
    background-position: center;
    color: white;
    text-align: center;
    padding: 100px 20px;
    position: relative;
}

#hero .hero-content {
    max-width: 600px;
    margin: 0 auto;
    background-color: rgba(0, 0, 0, 0.5); /* Add a dark overlay */
    padding: 20px;
    border-radius: 10px;
}

#hero h1 {
    font-size: 36px;
    margin-bottom: 20px;
}

#hero p {
    font-size: 18px;
    margin-bottom: 20px;
}

#hero button {
    background-color: #04AA6D;
    color: white;
    border: none;
    padding: 10px 20px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
}

#hero button:hover {
    background-color: #028a50;
}

#back-to-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #04AA6D;
    color: white;
    border: none;
    padding: 10px 15px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    display: none; /* Initially hidden */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease, transform 0.3s ease;
}

#back-to-top:hover {
    background-color: #028a50;
    transform: scale(1.1);
}

/* General Heading Styling */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Arial', sans-serif; /* Use a clean, readable font */
    color: #04AA6D; /* Use a bold green color for visibility */
    margin-bottom: 20px; /* Add spacing below headings */
    text-align: center; /* Center-align all headings */
}

/* Specific Styling for H1 */
h1 {
    font-size: 3rem; /* Increase font size for main heading */
    font-weight: bold; /* Make it bold */
    text-transform: uppercase; /* Capitalize all letters */
    margin-top: 20px; /* Add spacing above the heading */
    color: #333; /* Use a dark color for contrast */
}

/* Specific Styling for H2 */
h2 {
    font-size: 2.5rem; /* Slightly smaller than H1 */
    font-weight: bold;
    color: #04AA6D; /* Highlighted green color */
    margin-top: 30px;
}

/* Specific Styling for H3 */
h3 {
    font-size: 2rem; /* Smaller than H2 */
    font-weight: bold;
    color: #555; /* Softer gray color */
    margin-top: 20px;
}

/* Add Shadow Effect for Better Visibility */
h1, h2, h3 {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2); /* Subtle shadow for better visibility */
}

<style>
#booking-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0; top: 0;
    width: 100vw; height: 100vh;
    background: rgba(0,0,0,0.5);
    align-items: center;
    justify-content: center;
}
#booking-modal[style*="display: flex"] {
    display: flex !important;
}
</style>
