/* Media query for mobile devices */
@media (max-width: 768px) {
    .header-container .header-buttons {
        display: none;
        width: 100%;
    }

    /* Ensure header-buttons appear below nav-links */
    .header-buttons.active {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin-top: 10px;

    }

    /* Top bar adjustments */
    .top-bar {
        padding: 5px;
        flex-direction: row;
        justify-content: space-between;
        width: 100vw;
        /* Ensure full width */
    }

    .header-container .logo-img {
    margin-right: auto; /* Pushes the logo to the far left */
    transform: translateX(-100%); /* Adjusts left positioning to counter alignment center */
    font-size: 52px;
    }

    .topbar-contact-wrapper .contact-info1 {
        display: none;
    }



    /* Smaller social icons */
    .social-icons1 .social-icon1 {
        width: 17px;
        height: 17px;
    }

    /* Header adjustments */
    .header-container {
        position: relative;
        /* Allow absolute positioning of children */
        display: flex;
        flex-direction: column;
        align-items: center;

    }

    /* Hide navigation links and header buttons initially */
    nav.closed .nav-links {
        display: none;
    }


    nav.active {
        position: relative;
        /* Prevent overlapping */
        top: 100%;
        /* Extend from the bottom of the header-container */
        left: 0;
        width: 100%;

    }

    nav.active .nav-links {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 1px 0;
    }

    nav.active .nav-links li {
        padding: 1px 0;
        text-align: left;
        position: relative;
        /* Position relative for dropdown positioning */
    }


    .menu-button {
        position: absolute;
        /* Position it absolutely to place it on the left */
        right: 0;
        display: block !important;
        font-size: 45px;
        color: white;
        font-weight: bold;
        cursor: pointer;
        padding: 5px 20px;
    }

    .footer-section .footer-column.left {
        display: none;
    }

    .footer-section .footer-column.social {
        display: none;
    }

    .footer-section .footer-column.buttons {
        display: none;
    }
}

.menu-button {

    display: none;
    ;

}

body {
    font-family: 'Trebuchet MS', sans-serif;
    background: linear-gradient(145deg, #ffffff, #ffffff);
    /* Subtle gradient */
    margin: 0;
    padding: 0px;
}

/* Top Bar Styling */
.top-bar {
    background: linear-gradient(135deg, #1a1a1a, #2d2d2d, #4c4c4c, #3e3e3e);
    background-image:
        repeating-linear-gradient(135deg,
            rgba(255, 255, 255, 0.1) 0,
            rgba(255, 255, 255, 0.1) 1px,
            transparent 1px,
            transparent 5px),
        repeating-linear-gradient(45deg,
            rgba(255, 255, 255, 0.1) 0,
            rgba(255, 255, 255, 0.1) 1px,
            transparent 1px,
            transparent 5px);

    color: #ffffff;
    font-size: 10px;
    padding: 2px 15px 1px;
    /* Increased top padding to 15px, left and right to 30px, and bottom to 5px */
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.topbar-contact-wrapper {
    display: flex;
    align-items: center;
    gap: 13px;
    /* Adjust spacing between contact info and social icons */
}

.contact-info1 {
    display: flex;
    align-items: center;
}

.contact-info1 .no-style {
    color: inherit;
    text-decoration: none;
    font-weight: bold;
    font-family: 'Trebuchet MS', sans-serif;
    font-size: 13px;
}

.contact-info1 .no-style:hover {
    text-decoration: underline;
}

.contact-info1 .icon {
    font-size: 11px;
    /* Adjust the size as needed */
    color: #ffffff;
    margin-right: 3px;
    /* Add spacing between icon and text */
    vertical-align: middle;
    position: relative;
    /* Allows manual adjustment */
    top: -1px;
    /* Move the icon up slightly */
}


.social-icons1 {
    display: flex;
    align-items: center;
    gap: 10px;
}

.social-icons1 .social-icon1 {
    width: 16px;
    height: 16px;
    border: 1px solid #d3d3d3;
    border-radius: 15px;
    filter: brightness(0) invert(1);
    /* Default white color */
    transition: transform 0.3s, filter 0.3s;
}

.social-icons1 .social-icon1:hover {
    transform: scale(1.2);
    filter: none;
}

.login-signup {
    display: flex;
    align-items: center;
}

.login-signup .login-button {
    color: #ffffff;
    text-decoration: none;
    font-family: 'Trebuchet MS', sans-serif;
    font-weight: bold;
    font-size: 13px;
    padding: 5px 10px;
    transition: color 0.3s;
}

.login-signup .login-button:hover {
    color: #ff6f61;
}

/* Apply box-sizing for consistent padding handling */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Header Styles */
.main-header {
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 9;
    background-color: rgb(0, 0, 0);
}


.main-header.shrink .header-container {
    transform: scaleY(1);
    padding: 5px 5px;
    /* Adjust padding to shrink smoothly */
}

/* Scale and fade-in animation */
@keyframes scaleIn {
    from {
        transform: scale(0.8);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

/* Header styles remain the same */
header {
    background: linear-gradient(135deg, #000000, #3b3b3b, #1e1e1e) !important;

}

.header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 10px;

    transition: transform 0.3s ease, padding 0.3s ease;
}

.logo-img {
    max-width: 125px;
    /* Adjust the size of the jb.png image */
    margin-bottom: 10px;
    /* Add some space between the image and the text */
    margin-top: 10px;
    /* Add some space between the image and the text */
    display: flex;
    align-items: center;
    margin-left: 10px;
    transition: transform 0.3s ease;
    /* Smooth transition for scaling */
}

.logo-img:hover {
    transform: scale(1.1);
    /* Slightly increase the size on hover */
}

nav .nav-links {
    list-style: none;
    display: flex;
    gap: 10px;
    margin-right: 10px;
}

nav .nav-links li {
    display: inline;
}

nav .nav-links li a {
    position: relative;
    display: inline-block;
    padding: 5px 10px;
    color: #ffffff;
    font-family: 'Trebuchet MS', sans-serif;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: transform 0.3s ease, color 0.3s ease;
    z-index: 1;
}

nav .nav-links li a svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    /* Ensure SVG is behind text */
}

nav .nav-links li a svg path {
    stroke: none;
    /* Red stroke color */
    stroke-width: 2;
    fill: none;
    stroke-dasharray: 710;
    stroke-dashoffset: 710;
    /* Initially hide the stroke */
    transition: stroke-dashoffset 0.6s ease-in-out;
}

nav .nav-links li a:hover svg path {
    stroke-dashoffset: 0;
    /* Reveal stroke on hover */
}

nav .nav-links li a:hover {
    color: #ff0000;
    /* Bright red color */
    text-shadow: 0 0 5px #ff0000, 0 0 10px #ff3333, 0 0 20px #ff6666, 0 0 40px #ff0000;
    transform: scale(1.05);
    /* Slight enlargement effect */
    transition: all 0.3s ease-in-out;
    /* Smooth animation */
}


/* Specific styles for the "HOT DEALS" button */
nav .nav-links li a[href="special_deal_car.html"] {
    background: linear-gradient(135deg, #a0522d, #8b4513, #5e2b10);
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2), 0 4px 8px rgba(0, 0, 0, 0.3);
    border: 2px solid rgb(255, 255, 255);
    border-radius: 25px;
    font-weight: 500;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    color: white;
    top: 3px;
    /* Adjusted padding */
    padding: 5px 10px;
    /* Reduces top/bottom and side padding */
    margin-top: -5px;
    /* Slightly elevated above other buttons */
   
    /* Subtle shadow */
}

/* Shine effect on hover */
nav .nav-links li a[href="special_deal_car.html"]:hover {
    border-color: white;
    /* Change border color on hover */
    background: linear-gradient(135deg, #b5651d, #a0522d, #7b3d1b);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
    /* Slightly more pronounced shadow on hover */
}

nav .nav-links li a[href="special_deal_car.html"]::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    /* Start off-screen */
    width: 200%;
    /* Wide enough for shine effect */
    height: 100%;
    background: rgba(229, 228, 228, 0.153);
    transform: skewX(-45deg);
    transition: none;
}

/* Shine animation */
nav .nav-links li a[href="special_deal_car.html"]:hover::after {
    left: 100%;
    /* Move across the button */
    transition: left 0.7s ease-in-out;
}

/* Disable path stroke effect for 'HOT DEALS' */
nav .nav-links li a[href="special_deal_car.html"] svg path {
    stroke: none;
    /* Ensure no initial stroke */
    transition: none;
    /* Remove any transition effect */
}

/* Ensure hover state doesn't add a stroke */
nav .nav-links li a[href="special_deal_car.html"]:hover svg path {
    stroke: none;
    /* Maintain no stroke on hover */
}


/* Footer Section */
.page-footer {
    background: rgba(254, 254, 254, 0.744);
    /* Light background */
    box-shadow: 0 0 20px rgba(28, 28, 28, 0.41);
    padding: 0px 0px;
}

.footer-content {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    /* Add gap for better spacing */
}

/* Contact Info Styling */

/* Contact Info Styling */
.contact-info {
    width: 45%;
    display: flex;
    flex-direction: column;
    font-family: 'Trebuchet MS', sans-serif;
    justify-content: center;
    padding-left: 20px;
}

.contact-info h2 {
    font-size: 25px;
    font-family: 'Trebuchet MS', sans-serif;
    font-weight: bold;
    color: #333;
    letter-spacing: 2px;
    position: relative;
    margin-bottom: 10px;
}

/* Accent line below the heading */
.contact-info h2:after {
    content: '';
    position: absolute;
    width: 30px;
    margin-bottom: 10px;
    height: 2px;
    background-color: #ff6f61;
    left: 50%;
    transform: translateX(-50%);
    bottom: -10px;
}

/* Main Header Styling */
.contact-header {
    font-family: 'Trebuchet MS', sans-serif;
    font-size: 14px;
    /* Main header size */
    color: #333;
    /* Main header color */
    margin-bottom: 10px;
    /* Add space below the header */
}

/* Info Item Styling */
/* Info Item Styling */
.info-item {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
    padding: 10px;
    background-color: #ffffff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    /* Default shadow */
    border-radius: 8px;
    /* Rounded corners */
    transition: box-shadow 0.3s ease;
    /* Smooth transition for hover */
}

.info-item:hover {
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.5);
    /* Enhanced shadow on hover */
}

/* Icon Styling */
.info-item .icon {
    width: 30px;
    height: 30px;
    margin-right: 15px;
}

/* Adjust the font size and color dynamically */
.info-item .info-text {
    font-size: var(--info-text-size, 16px);
    /* Adjustable font size */
    color: var(--info-text-color, #555);
    /* Adjustable font color */
}

#mapid {
    height: 320px;
    width: 1500px;
    /* More space for the map */
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    z-index: 1;
    /* Lower z-index */
}

/* Mobile view adjustments */
@media (max-width: 768px) {

    /* Footer Section */
    .page-footer {
        padding: 20px 10px;
    }

    /* Footer Content: Stack elements vertically */
    .footer-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    /* Map: Full width on mobile */
    #mapid {
        width: 98%;
        height: 300px;
        /* Adjust height for mobile */
        border-radius: 8px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
        margin-bottom: 20px;
    }

    /* Contact Info Section: Center and resize for mobile */
    .contact-info {
        width: 100%;
        padding: 0 10px;
        text-align: center;
    }

    /* Contact Header: Reduce font size for mobile */
    .contact-info h2 {
        font-size: 28px;
        margin-bottom: 15px;
    }

    /* Info Item: Stack each item and center-align content */
    .info-item {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 10px;
        width: 100%;
        margin-bottom: 15px;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    }

    /* Icon Styling: Center-align each icon on top of the text */
    .info-item .icon {
        margin: 0 auto 10px;
        width: 25px;
        height: 25px;
    }

    /* Info Text: Adjust size and center-align */
    .info-item .info-text {
        font-size: 14px;
    }
}

/* Map Popup Customization */
.leaflet-popup-content-wrapper {
    background: #f9f9f9;
    border-radius: 10px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
}

.leaflet-popup-content {
    font-family: 'Trebuchet MS', sans-serif;
    color: #e71313;
    z-index: 1000;
}

.leaflet-popup-content h2 {
    margin: 0;
    padding: 0;


}

.leaflet-popup-content p {
    margin: 0;
    padding: 0;
}

.floating-buttons {
    position: fixed;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1.5px;
    z-index: 1000;
}

/* Button styles */
.floating-buttons .button {
    position: relative;
    width: 35px;
    height: 35px;
    background-color: #333;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    /* Keeps the icon on the left */
    transition: width 0.3s ease;
    cursor: pointer;
    overflow: hidden;
    padding-left: 5px;
    /* Adds space for the icon */
    padding-right: 10px;
}

/* Icon styles */
.floating-buttons .button img {
    width: 14px;
    height: 14px;
    filter: invert(1);
    margin-left: auto;
    /* Keeps the icon in place when the button expands */
}

/* Expanded button styles on hover */
.floating-buttons .button:hover {
    width: 120px;
    /* Adjust this width for the expanded state */
}

/* Tooltip text as part of the button */
.floating-buttons .button .tooltip {
    position: absolute;
    left: 8px;
    /* Positions text to the left of the icon */
    color: #fff;
    white-space: nowrap;
    font-size: 13px;
    font-weight: 500;
    opacity: 0;
    transition: opacity 0.3s ease;
}

/* Make tooltip visible when button is expanded */
.floating-buttons .button:hover .tooltip {
    opacity: 1;
}


/* Footer Styling */
.footer-section {
    display: flex;
    background: linear-gradient(135deg, #000000, #3b3b3b, #1e1e1e);
    color: white;
    padding: 0px 20px;
    padding-bottom: 15px;
    font-family: 'Trebuchet MS', sans-serif;
}

.footer-column.left {
    flex: 0 0 25%;
}

.footer-column.social {
    flex: 0 0 18%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-column.right {
    flex: 0 0 30%;
    text-align: center;
}

.footer-column.impact {
    flex: 0 0 27%;
    text-align: left;
}

.footer-column.buttons {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}


.footer-column h3 {
    color: white;
    font-size: 25px;
    margin-bottom: 15px;
    font-family: 'Trebuchet MS', sans-serif;

}

.footer-column p {
    font-size: 16px;
    line-height: 1.6;
}

/* Social Media Icons with Individual Blocks */
.social-icons {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.social-icons a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background-color: transparent;
    border: 2px solid #d3d3d3;
    border-radius: 5px;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.social-icons a img {
    filter: brightness(0) invert(1);
    /* Icon appears white */
    transition: filter 0.3s ease;
    width: 37px;
    /* Adjust icon size as needed */
    height: 37px;
}

.social-icons a:hover {
    transform: scale(1.1);
}

.social-icons a:hover img {
    filter: none;
    /* Original color on hover */
}

/* Button Section */
.footer-column.buttons button {
    background: none;
    color: white;
    border: none;
    text-align: center;
    font-size: 16px;
    margin: 5px 0;
    cursor: pointer;
    transition: color 0.3s ease;
}

.footer-column.buttons button:hover {
    color: #e0b13b;
}

/* Membership Logos */
.membership {
    margin-bottom: 10px;
    margin: 0 auto;
}

.footer-column.right h3 {
    color: white;
    font-size: 25px;
    margin-bottom: 15px;
    font-family: 'Trebuchet MS', sans-serif;
    align-items: center;
    text-align: center;
}

.membership img {
    width: 80px;
    margin: 0 auto;
    align-items: center;
    text-align: center;
    justify-content: center;
    margin-bottom: 0px;
    transition: transform 0.3s ease;

    /* Make the image take up the full width of its line and align to the left */
    display: block;

}

.membership img:hover {
    transform: scale(1.05);
}

.membership .logo-description {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.5;
    font-family: 'Trebuchet MS', sans-serif;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 0px;
    color: white;
}

.membership p {
    margin-top: 0px;
    font-size: 16px;
    ;
    font-family: 'Trebuchet MS', sans-serif;
    text-align: center;
    color: white;
}

/* Impact Section Styling */


.impact h3 {
    color: white;
    font-size: 25px;
    margin-bottom: 15px;
    text-align: center;
    font-family: 'Trebuchet MS', sans-serif;
}


/* Container for all brand logos */
.brand-logos {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    /* 5 columns */
    gap: 10px;
    align-items: center;
}

/* Container for individual logos */
.brand-logo {
    position: relative;
    text-align: center;
    padding: 8px;
    background-color: #f8f8f8;
    /* Optional: to make each logo visually distinct */
    border-radius: 8px;
}

/* Logo images */
.brand-logos img {
    width: 40px;
    /* Set a fixed width for consistency */
    height: 40px;
    /* Set a fixed height for consistency */
    object-fit: contain;
    /* Keep aspect ratio within the defined box */
    transition: transform 0.3s ease;
    display: block;
    margin: 0 auto;
}

/* Scale effect on hover */
.brand-logos img:hover {
    transform: scale(1.1);
}

/* Tooltip styling */
.brand-tooltip {
    visibility: hidden;
    opacity: 0;
    width: 100%;
    background-color: #333;
    color: white;
    text-align: center;
    border-radius: 5px;
    padding: 5px;
    position: absolute;
    bottom: 100%;
    /* Position above the image */
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    transition: opacity 0.3s ease;
    font-size: 11px;
}

/* Show tooltip on hover */
.brand-logo:hover .brand-tooltip {
    visibility: visible;
    opacity: 1;
}

/* Footer Bottom Line */
.footer-bottom {
    background:
        repeating-linear-gradient(135deg,
            rgba(255, 255, 255, 0.1) 0,
            rgba(255, 255, 255, 0.1) 1px,
            transparent 1px,
            transparent 5px),
        repeating-linear-gradient(45deg,
            rgba(255, 255, 255, 0.1) 0,
            rgba(255, 255, 255, 0.1) 1px,
            transparent 1px,
            transparent 5px),
        linear-gradient(135deg, #1a1a1a, #232323, #1f1f1f, #1f1f1f);
    /* Base gradient at the bottom layer */
    width: 100%;
    margin-top: 0px;
    padding-top: 6px;
    padding-bottom: 6px;
    text-align: center;
    font-family: 'Trebuchet MS', sans-serif;
    color: rgb(250, 250, 250);
    font-size: 14px;

}

/* Responsive Design */
@media (max-width: 768px) {
    .footer-section {
        flex-direction: column;
        text-align: center;
    }

    .footer-column {
        padding: 10px 0 !important;
        flex: 1 1 100%;
    }

    .impact h3 {
        color: white;
        font-size: 24px !important;
        margin-bottom: 15px;
        font-family: 'Trebuchet MS', sans-serif;
    }

    .membership p {
        margin-top: 0px;
        font-size: 16;
        font-family: 'Trebuchet MS', sans-serif;
        text-align: center;
        color: white;
        margin: 0 auto;
    }

    .footer-bottom p {
        font-size: 12px !important;
    }
}

/* Sticky positioning for the header and top-bar */


/* Apply animation class for scale and fade-in effect to footer columns */
.footer-column.animate {
    animation: scaleIn 1s ease-out forwards;
}

.nav-links li {
    position: relative;
    /* Establish a containing block for absolute positioning of dropdown */
}

.nav-links li .dropdown-content {
    display: none;
    /* Hide by default */
    position: absolute;
    background-color: #080808;
    min-width: 220px;
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    padding: 10px 0;
    z-index: 1;
    top: 100%;
    /* Position directly below the button */
    left: 0;
    /* Align to the left edge of the button */
}

.nav-links li .dropdown-content button {
    background-color: #080808;
    border: none;
    color: white;
    padding: 5px 10px;
    text-align: left;
    cursor: pointer;
    width: 100%;
    font-size: 13px;
    font-family: 'Trebuchet MS', sans-serif;
    transition: background-color 0.3s ease;
}

.nav-links li .dropdown-content button:hover {
    background-color: #4a494982;
}

/* Show dropdown on hover for the "Company" button */
.nav-links li:hover .dropdown-content {
    display: block;
    pointer-events: auto;
}

/* Prevent gaps between button and dropdown */
.nav-links li {
    pointer-events: auto;
}

/* Style for the dropdown arrow */
.dropdown-arrow {

    color: #fff;
    /* Match the color scheme */
    display: inline-block;
    transition: transform 0.3s ease;
}

/* Rotate the arrow when dropdown is active */
.nav-links li:hover .dropdown-arrow {
    transform: rotate(180deg);
    /* Flip arrow */
}

@media (max-width: 768px) {

    /* Adjust styles for the dropdown under the "COMPANY" button */
    .nav-links li .dropdown-content {
        display: none;
        /* Hide dropdown by default */
        position: absolute;
        top: 100%;
        /* Position dropdown below the button */
        margin-left: 25px !important;

        min-width: 220px;
        box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
        border-radius: 5px;
        z-index: 1;
        padding: 10px 0;
    }

    /* Show the dropdown on click or hover */
    .nav-links li:hover .dropdown-content,
    .nav-links li:focus-within .dropdown-content {
        display: block;
    }

    /* Extend the header when the dropdown is active */
    nav.active .nav-links li:hover .dropdown-content,
    nav.active .nav-links li:focus-within .dropdown-content {
        position: static;
        /* Make sure dropdown positions properly in a flex column */
    }

    /* Adjust the dropdown arrow */
    .dropdown-arrow {
        color: #fff;
        display: inline-block;
        transition: transform 0.3s ease;
    }

    /* Rotate the arrow when dropdown is active */
    .nav-links li:hover .dropdown-arrow,
    .nav-links li:focus-within .dropdown-arrow {
        transform: rotate(180deg);
        /* Flip arrow */
    }
}