body {
    font-family: 'Poppins', sans-serif;
    background-color: #f5f7fa;
    color: #333333;
    margin: 0;
    overflow-x: hidden;
    padding-top: 80px; /* Prevent content from being hidden under the fixed header on frontend */
}

/* Remove padding-top for admin pages */
body.admin-page {
    padding-top: 0 !important; /* Override the 80px padding for admin pages */
}

h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    color: #1a3c34;
}

p {
    color: #666666;
    font-weight: 300;
}

a {
    text-decoration: none;
}

.px-4 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

/* Wave Animation */
.wave-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    z-index: -1;
}

.wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23e3e7f1' fill-opacity='0.5' d='M0,224L48,213.3C96,203,192,181,288,181.3C384,181,480,203,576,224C672,245,768,267,864,245.3C960,224,1056,160,1152,149.3C1248,139,1344,181,1392,202.7L1440,224L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");
    background-size: cover;
    animation: wave 10s linear infinite;
}

.wave:nth-child(2) {
    opacity: 0.7;
    animation-duration: 15s;
}

.wave:nth-child(3) {
    opacity: 0.3;
    animation-duration: 20s;
}

@keyframes wave {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-1440px);
    }
}

/* Header and Navigation */
header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
}

/* Center the logo */
header .text-2xl {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    color: #1a3c34 !important;
    font-size: 1.5rem !important;
}

@media (max-width: 768px) {
    header .text-2xl {
        font-size: 1.25rem !important;
    }
}

/* Navigation items (left and right) */
.nav-items-left, .nav-items-right {
    display: flex;
    align-items: center;
}

.nav-items-left a, .nav-items-right a {
    color: #333333 !important;
}

.nav-items-left a:hover, .nav-items-right a:hover {
    color: #2e5b52 !important;
}

/* Mobile menu styling */
#mobile-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background-color: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Ensure navigation links are centered on mobile */
#mobile-menu a {
    text-align: center;
    padding: 0.5rem 0;
    width: 100%;
    color: #333333 !important;
}

#mobile-menu a:hover {
    color: #2e5b52 !important;
}

/* Hamburger menu styling */
.hamburger {
    display: none;
    cursor: pointer;
}

.hamburger i {
    font-size: 1.5rem;
    color: #1a3c34;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .nav-items-left, .nav-items-right {
        display: none;
    }
    .hamburger {
        display: block;
    }
}

/* Admin Dashboard Enhancements */
.card {
    border-radius: 0.5rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.card-header {
    background-color: #1a3c34;
    color: white;
    padding: 1rem;
    border-radius: 0.5rem 0.5rem 0 0;
}

.card-title {
    color: white;
}

.card-body {
    padding: 1.5rem;
}

.table th, .table td {
    padding: 0.75rem;
    vertical-align: middle;
}

.table th {
    background-color: #1a3c34;
    color: white;
}

.table tbody tr:hover {
    background-color: #f5f7fa;
}

.btn-primary {
    background-color: #1a3c34;
    border-color: #1a3c34;
}

.btn-primary:hover {
    background-color: #2e5b52;
    border-color: #2e5b52;
}

.btn-secondary {
    background-color: #666666;
    border-color: #666666;
}

.btn-secondary:hover {
    background-color: #555555;
    border-color: #555555;
}

.form-control {
    border-radius: 0.375rem;
    border: 1px solid #e5e7eb;
    padding: 0.5rem 1rem;
    font-weight: 300;
}

.form-control:focus {
    border-color: #1a3c34;
    box-shadow: 0 0 0 0.2rem rgba(26, 60, 52, 0.1);
}

/* Custom Form Inputs */
input, textarea, select {
    transition: all 0.3s ease;
}

input:focus, textarea:focus, select:focus {
    border-color: #1a3c34;
    box-shadow: 0 0 0 0.2rem rgba(26, 60, 52, 0.1);
}

/* Minimalistic Card Hover */
.card-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* Testimonial section styling */
.testimonial-card {
    background-color: #ffffff;
    border-radius: 0.5rem;
    padding: 1.5rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.testimonial-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

/* Color Classes */
.bg-primary {
    background-color: #1a3c34 !important; /* Ensure green background */
}

.text-primary {
    color: #1a3c34 !important;
}

.text-secondary {
    color: #2e5b52 !important;
}

.bg-secondary {
    background-color: #2e5b52 !important;
}

.bg-background {
    background-color: #f5f7fa !important;
}

.text-white {
    color: #ffffff !important;
}

/* Ensure text visibility on green background */
.bg-primary h1,
.bg-primary h2,
.bg-primary h3,
.bg-primary p,
.bg-primary a,
.bg-primary li {
    color: #ffffff !important;
}

.bg-primary a:hover {
    color: #2e5b52 !important;
}

/* Call to Action Button Styling */
.bg-primary .inline-block {
    border-radius: 9999px; /* Fully rounded button */
    padding: 0.75rem 2rem; /* Consistent padding */
    font-size: 1rem; /* Ensure consistent font size */
    font-weight: 300; /* Light font weight */
    background-color: #ffffff !important; /* White background */
    color: #1a3c34 !important; /* Primary text color */
}

.bg-primary .inline-block:hover {
    background-color: #e5e7eb !important; /* Gray hover effect */
}

/* Footer-specific styles */
footer.bg-primary a,
footer.bg-primary p,
footer.bg-primary h3 {
    color: #ffffff !important;
}

footer.bg-primary a:hover {
    color: #2e5b52 !important;
}

/* AdminLTE footer styling */
.main-footer {
    background-color: #1a3c34 !important;
    color: #ffffff !important;
}

.main-footer a {
    color: #ffffff !important;
}

.main-footer a:hover {
    color: #f5f7fa !important;
}

/* Ensure button and link hover states are consistent */
a:hover, button:hover {
    color: #2e5b52 !important; /* Secondary color for hover */
}

/* Subtle Animations for Icons in Why Choose Us Section */
.fas {
    transition: transform 0.3s ease;
}

.fas:hover {
    transform: scale(1.2);
}

/* Logo Styling */
.logo-img {
    width: auto; /* Maintain aspect ratio */
    height: 40px; /* Set a fixed height */
    max-height: 40px; /* Ensure it doesn't exceed header height */
}

/* Responsive adjustments for logo */
@media (max-width: 768px) {
    .logo-img {
        height: 30px; /* Smaller logo on mobile */
        max-height: 30px;
        width: auto; /* Ensure width is auto, removing any fixed width */
    }
}

/* Adjust nav padding to accommodate logo */
nav {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

/* Responsive adjustments for logo */
@media (max-width: 768px) {
    .logo-img {
        height: 30px; /* Smaller logo on mobile */
        max-height: 30px;
        width: auto; /* Ensure width is auto, removing any fixed width */
    }
}

/* Ensure the header height accommodates the logo */
header {
    height: 60px; /* Adjust header height if needed */
}

/* Remove top margin and padding to fix spacing issue */
body.admin-page .main-header {
    margin-bottom: 0 !important;
}

body.admin-page .content-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.admin-page .content-header {
    margin-top: 0 !important;
    padding-top: 5px !important; /* Minimal padding for a clean look */
}

/* Ensure the content starts right below the navbar */
.content {
    padding-top: 0 !important;
}

/* Responsive Adjustments for Ideal Mobile View */
@media (max-width: 767px) {
    .main-sidebar {
        margin-left: -250px; /* Hide sidebar by default on mobile */
        transition: margin-left 0.3s ease;
    }
    .sidebar-open .main-sidebar {
        margin-left: 0; /* Show sidebar when toggled */
    }
    .sidebar-open .content-wrapper {
        margin-left: 0; /* Adjust content when sidebar is open */
    }
    .table-responsive {
        overflow-x: auto; /* Enable horizontal scrolling for tables on mobile */
        -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
    }
    .main-footer .float-right {
        float: none !important; /* Stack footer content on mobile */
        text-align: center;
        margin-top: 0.5rem;
    }
    .card-body {
        padding: 1rem; /* Reduce padding on mobile */
    }
    .card-header {
        padding: 0.75rem; /* Reduce header padding on mobile */
    }
}

section img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* Additional CSS for simplified design */
        .text-2xl {
            font-size: 2rem;
            font-weight: 600;
        }

        .text-xl {
            font-size: 1.2rem;
            font-weight: 400;
        }

        /* Simplified Section Styling */
        .section {
            padding: 4rem 0;
            position: relative;
            overflow: hidden;
        }

        .card-hover {
            background: #ffffff;
            padding: 1.5rem;
            border-radius: 0.5rem;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .card-hover:hover {
            transform: translateY(-5px);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        }

        .logo-placeholder {
            width: 100px;
            height: 100px;
            background: transparent;
            margin: 0 auto 2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #1a3c34;
            font-size: 3rem;
            transition: transform 0.3s ease;
        }

        .card-hover:hover .logo-placeholder {
            transform: rotate(5deg);
        }

        .underline-decor {
            width: 90px;
            height: 3px;
            background: #1a3c34;
            margin: 1rem auto;
            border-radius: 2px;
            transition: transform 0.3s ease;
        }

        .card-hover:hover .underline-decor {
            transform: scaleX(1.2);
        }

        /* Gentle Bounce Animation for Icon */
        .bounce {
            animation: gentleBounce 2s ease-in-out infinite;
        }

        @keyframes gentleBounce {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-8px); }
        }

        /* Slide Animation for Headline */
        @keyframes slideIn {
            0% { transform: translateX(-20px); opacity: 0; }
            100% { transform: translateX(0); opacity: 1; }
        }

        .slide-in {
            animation: slideIn 0.5s ease-out;
        }

        /* AOS Animation Support */
        [data-aos] {
            transition-property: all;
            transition-duration: 500ms;
            transition-timing-function: ease-in-out;
        }

        /* Adjust wave for simplicity */
        .wave {
            height: 100px;
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            opacity: 0.4;
            background: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNDQwIDEyMCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE0NDAsMzZjMCw0MC43NjQtMzMuNjY2LDczLjMzMy05My4zMzMsNzMuMzMzSDkzLjMzM0MtMzMuNjY3LDEwOS4zMzMsMCw3Ni43NjcsMCwzNmMwLTM2Ljk5NyAzMC45OTctNjcuOTk3IDY3Ljk5Ny02Ny45OTdIMTQ0MFYzem0wLTM2SDAuMDAxVjBIMTQ0MFYzNnoiLz48L3N2Zz4=') repeat-x;
            background-size: 100px 100px;
        }

        .wave-container {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 100px;
            overflow: hidden;
            z-index: 0;
        }

        /* New styles for Industries Icons */
        .industry-icon {
            font-size: 2.5rem;
            color: #1a3c34;
            margin-bottom: 0.5rem;
        }