/* General Styles */
/* General Body Styling */
body {
    font-family: 'Helvetica Neue', Arial, sans-serif;
    font-weight: 500;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Prevent horizontal overflow */
    box-sizing: border-box;
    padding-top: 60px; /* Add space for the fixed navbar */
}



.navbar .logo {
    display: flex;
    align-items: center;
    margin-right: auto; /* Push the logo to the left */
}

.navbar .logo img {
    max-height: 40px; /* Logo size for desktop */
    width: auto; /* Maintain aspect ratio */
    display: block; /* Ensure proper alignment */
}
/* Navbar and Footer Styling */
.navbar, .footer {
    background: linear-gradient(to right, #000428, #004e92); /* Gradient from dark blue to light blue */
    color: white; /* White text for contrast */
    padding: 15px 20px; /* Padding for spacing */
    text-align: center; /* Center align text */
    width: 100%; /* Full width */
    box-sizing: border-box; /* Include padding/border in dimensions */
}
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed; /* Fix navbar at the top */
    top: 0;
    left: 0;
    z-index: 1000;
    height: 60px; /* Set fixed height for the navbar */
}

/* Logo */
.navbar .logo {
    font-size: 24px;
    font-weight: bold;
    color: white;
    text-decoration: none;
}

/* Menu Toggle Button (Mobile Only) */
.navbar .menu-toggle {
    display: none; /* Hidden by default for desktop view */
    font-size: 24px;
    cursor: pointer;
    color: white;
    background: none;
    border: none;
}

.navbar .menu-toggle.up::before {
    content: '\25B2'; /* Up arrow */
}

.navbar .menu-toggle.down::before {
    content: '\25BC'; /* Down arrow */
}

/* Navigation Links */
.navbar .nav-container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.navbar .nav-links {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 20px;
}

.navbar .nav-links li {
    position: relative;
}

.navbar .nav-links a {
    color: white;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    padding: 8px 12px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.navbar .nav-links a:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 5px;
}

/* Dropdown Menu Styles for Desktop */
.navbar .dropdown {
    display: none;
    position: absolute; /* Prevent pushing other elements */
    top: 100%; /* Position dropdown below the parent menu */
    left: 0;
    background: #004e92;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    border-radius: 5px;
    margin-top: 5px; /* Add spacing below the parent menu */
    padding: 10px 0;
    width: 200px; /* Set a fixed width for the dropdown */
}

.navbar .dropdown a {
    display: block;
    padding: 10px 20px;
    color: white;
    font-size: 14px;
    text-align: left;
}

.navbar .dropdown a:hover {
    background-color: rgba(255, 255, 255, 0.15);
}

/* Show Dropdown on Hover for Desktop */
.navbar .nav-links li:hover .dropdown {
    display: block; /* Show dropdown on hover */
}

/* Mobile View */
@media (max-width: 768px) {
     .navbar .logo img {
        max-height: 25px; /* Smaller logo size for mobile */
        width: auto; /* Maintain aspect ratio */
    }
    .navbar .menu-toggle {
        display: block; /* Show toggle button in mobile view */
    }

    .navbar .nav-container {
        position: fixed;
        top: 60px; /* Push menu below the header */
        left: 0;
        height: calc(100% - 60px); /* Full screen height minus the header height */
        width: 100%; /* Full screen width */
        background: rgba(0, 4, 40, 0.95);
        transform: translateX(-100%);
        transition: transform 0.3s ease-in-out;
        flex-direction: column;
        padding: 20px;
        z-index: 1000;
        box-shadow: 4px 0 8px rgba(0, 0, 0, 0.5);
        align-items: flex-start; /* Align items to the top */
        justify-content: flex-start; /* Start menu from the top */
        overflow-y: auto; /* Enable vertical scrolling for long content */
    }

    .navbar .nav-container.active {
        transform: translateX(0); /* Slide menu in from the left */
    }

    .navbar .nav-links {
        flex-direction: column; /* Stack links vertically */
        gap: 15px; /* Add spacing between links */
        align-items: flex-start; /* Align links to the top */
        width: 100%;
        margin-top: 0; /* Remove extra margin above the links */
    }

    .navbar .nav-links li {
        width: 100%;
    }

    .navbar .nav-links a {
        padding: 15px 20px;
        width: 100%;
        text-align: left; /* Align text to the left */
        font-size: 18px;
        background-color: rgba(0, 0, 0, 0.1); /* Subtle background for links */
        border-radius: 8px; /* Rounded corners for links */
    }

    .navbar .nav-links a:hover {
        background-color: rgba(0, 4, 40, 0.5); /* Darker hover effect */
    }

    .navbar .dropdown {
        display: none;
        flex-direction: column;
        align-items: flex-start; /* Align dropdown items to the top */
        background: #004e92;
        width: 100%; /* Full width dropdown for mobile */
        margin-top: 5px; /* Add spacing below the parent menu */
        padding: 10px 0;
    }

    .navbar .nav-links li.active .dropdown {
        display: flex; /* Show dropdown when parent menu is active */
    }

    .navbar .dropdown a {
        padding: 10px 20px;
        text-align: left;
        width: 100%;
    }
}

.image-container {
    position: relative;
    width: 100%;
    height: 500px;      /* Match video height to avoid overflow */
    overflow: hidden;   /* Hide anything outside the container */
}

.image-container video {
    width: 100%;
    height: 100%;       /* Fill container height */
    object-fit: cover;
}

.floating-text {
    position: absolute;
    bottom: 50%;
    left: 50%;
    max-width: 80vw;
    padding: 0 10px;
    font-size: clamp(20px, 3vw, 36px);
    font-weight: bold;
    color: white;
    text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.8);
    text-transform: uppercase;
    font-family: 'Helvetica Neue', Arial, sans-serif;
    white-space: normal;
    overflow-wrap: break-word;

    /* Animate floating up and down continuously */
    animation: floatUpDown 4s ease-in-out infinite;
    /* Optimize performance */
    will-change: transform, opacity;
}

/* Keyframes defining the floating motion */
@keyframes floatUpDown {
    0% {
        transform: translate(-50%, 70%);
        opacity: 0.6;
    }
    50% {
        transform: translate(-50%, 30%);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, 70%);
        opacity: 0.6;
    }
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    .floating-text {
        font-size: 18px;
        max-width: 90vw;
        bottom: 45%;
        padding: 0 15px;
        text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);

        animation: floatUpDown 4s ease-in-out infinite;
    }
}


/* Content Styles */
/* Content Container */
.content-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 20px;
    margin-bottom: 0; /* Remove bottom margin to eliminate extra gap */
}

/* Left Section */
.left-section {
    flex: 1; /* Take up equal space */
    margin: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Center text vertically */
}

.left-section h5,
.left-section h2 {
    margin: 0;
    padding-bottom: 10px;
}

.left-section p {
    font-size: 16px;
    line-height: 1.6;
}

/* Right Section */
/* Styling for the right section */
.right-section {
    flex: 1; /* Take up equal space with other flex items */
    margin: 10px; /* Add margin around the section */
    display: flex; /* Use flexbox layout */
    justify-content: center; /* Center the image horizontally */
    align-items: center; /* Center the image vertically */
}

/* Styling for the image inside the right section */
.right-section img {
    max-width: 100%; /* Ensure the image does not exceed the container's width */
    height: auto; /* Maintain the aspect ratio of the image */
    border-radius: 8px; /* Add rounded corners to the image */
}

/* Mobile View */
@media (max-width: 768px) {
    .content-container {
        flex-direction: column; /* Stack items vertically */
        align-items: flex-start; /* Align items to the start */
    }

    .right-section {
        width: 100%; /* Take full width */
        margin-top: 20px; /* Add spacing between sections */
    }

    .left-section {
        width: 100%; /* Take full width */
    }
}

/* General Container Styling with Padding Bottom */
/* General Container Styling with Padding Bottom */
.content-container2 {
    display: flex; /* Use flexbox to align sections side by side */
    flex-wrap: nowrap; /* Prevent wrapping */
    justify-content: center; /* Center the content horizontally */
    align-items: flex-start; /* Align items to the top to start at the same height */
    padding: 0; /* Reset padding */
    padding-bottom: 20px; /* Add space below the container */
    margin: 0; /* Remove any margin */
    width: 100%; /* Full width */
    height: 100vh; /* Full viewport height */
    box-sizing: border-box; /* Include padding/border in dimensions */
}

/* Left Section (Container 2) */
.left-section2 {
    flex: 1; /* Take up 50% of the container */
    display: flex; /* Flexbox for centering content */
    justify-content: center; /* Center content horizontally */
    align-items: flex-start; /* Align video to the top */
    position: relative;
    padding: 20px 0 0 20px; /* Add margin from the top and left */
    margin: 0; /* Reset margin */
    box-sizing: border-box; /* Include padding/margin in dimensions */
}

.left-section2 .left-video {
    width: 100%; /* Make the video responsive */
    height: 100%; /* Make the video fill the height of the section */
    object-fit: contain; /* Ensure the video fits within its container without being cropped */
    border-radius: 0; /* Remove rounded corners */
    box-shadow: none; /* Remove shadow */
    filter: brightness(0.7); /* Darken the video slightly */
}

/* Right Section (Container 2) */
.right-section2 {
    flex: 1; /* Take up 50% of the container */
    display: flex; /* Flexbox for centering the text */
    flex-direction: column; /* Stack text vertically */
    justify-content: flex-start; /* Align text to the top */
    align-items: flex-start; /* Align text to the left */
    padding: 20px; /* Add padding for text */
    margin: 0 20px 0 0; /* Add margin on the right */
    box-sizing: border-box; /* Include padding in dimensions */
    background: white; /* Optional background for contrast */
}

/* Text Styling */
.right-section2 h5 {
    font-size: 1rem;
    margin: 0;
    text-align: left; /* Align text to the left */
}

.right-section2 h2 {
    font-size: 2rem;
    margin: 10px 0;
    text-align: left; /* Align text to the left */
}

.right-section2 p {
    font-size: 1rem;
    line-height: 1.5;
    margin: 10px 0;
    text-align: left; /* Align text to the left */
}

.view-people-button {
    display: inline-block;
    margin-top: 20px;
    font-size: 1rem;
    text-decoration: none;
    color: #007BFF;
    text-align: left; /* Align button text to the left */
}

/* Mobile View Adjustments */
@media (max-width: 768px) {
    .content-container2 {
        flex-direction: column-reverse; /* Stack sections vertically and reverse the order */
        height: auto; /* Allow height to adjust */
    }

    .left-section2 {
        flex: none; /* Remove flex behavior */
        width: 100%; /* Full width for the video section */
        height: auto; /* Allow height to adjust */
        margin: 0 0 20px 0; /* Add margin below the video */
        padding: 0; /* Remove padding */
    }

    .right-section2 {
        flex: none; /* Remove flex behavior */
        width: 100%; /* Full width for the text section */
        height: auto; /* Allow height to adjust */
        margin: 0; /* Reset margin */
        padding: 20px; /* Add padding for text */
    }

    .left-section2 .left-video {
        height: auto; /* Adjust video height for mobile view */
        margin-right: 0; /* Remove right margin in mobile */
    }
}
/* General Container Styling */
.container3 {
    display: flex; /* Flexbox for side-by-side layout */
    height: 100vh; /* Full viewport height */
    width: 100%; /* Full viewport width */
    margin: 0; /* Remove default margin */
    padding: 0; /* Remove default padding */
    padding-bottom: 20px; /* Add space below the container for the footer */
    overflow: hidden; /* Ensure no overflow */
    box-sizing: border-box; /* Include padding/border in width/height */
}


/* Left Section Styling */
.left-section3 {
    flex: 1; /* Take up 50% of the container */
    display: flex; /* Flexbox for centering content */
    flex-direction: column; /* Stack content vertically */
    justify-content: center; /* Center content vertically */
    align-items: center; /* Center content horizontally */
    background: #004e92; /* Regular blue background */
    color: white; /* White text color */
    text-align: center; /* Center align text */
    padding: 20px;
    box-sizing: border-box; /* Include padding in width/height */
}

/* Text Styling in Left Section */
.text-title3 {
    font-size: 2rem; /* Large title font size */
    margin-bottom: 10px;
}

.text-description3 {
    font-size: 1rem; /* Smaller font size for the description */
}

/* Right Section Styling */
.right-section3 {
    flex: 1; /* Take up 50% of the container */
    display: flex; /* Flexbox for centering the image */
    justify-content: center; /* Center image horizontally */
    align-items: center; /* Center image vertically */
    background: white; /* Optional background for the right section */
    box-sizing: border-box; /* Include padding/border in width/height */
    overflow: hidden; /* Ensure no overflow */
}

/* Image Styling in Right Section */
.right-image3 {
    width: 100%; /* Make the image fill the section's width */
    height: 100%; /* Make the image fill the section's height */
    object-fit: cover; /* Keep the aspect ratio and cover the section */
}

/* Mobile View Adjustments */
@media (max-width: 768px) {
    .container3 {
        flex-direction: column; /* Stack sections vertically */
        height: auto; /* Allow height to adjust */
    }

    .left-section3, 
    .right-section3 {
        flex: none; /* Remove flex behavior */
        width: 100%; /* Full width for each section */
        height: auto; /* Allow height to adjust */
    }

    .right-image3 {
        width: 100%; /* Make the image occupy full width */
        height: 200px; /* Reduce the height of the image */
        object-fit: cover; /* Ensure the image's aspect ratio is maintained */
    }
}
/* find a lawyer */
.find-lawyer-button {
    position: fixed; /* Pin the button to the screen */
    bottom: 20px; /* Position 20px from the bottom */
    right: 20px; /* Position 20px from the right */
    z-index: 1000; /* Ensure it is above other content */
}

.find-lawyer-button button {
    background: #004e92; /* Use the site's blue color code */
    color: white; /* Ensure button text is white */
    font-size: 16px;
    font-weight: bold;
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Add a subtle shadow */
    transition: background-color 0.3s ease, transform 0.3s ease;
}

/* Style the link inside the button */
.find-lawyer-button button a {
    text-decoration: none; /* Remove underline from link */
    color: white; /* Make the link text white */
    display: block; /* Ensure the link covers the entire button */
    width: 100%; /* Full width of the button */
    height: 100%; /* Full height of the button */
}

/* Hover effect for the button */
.find-lawyer-button button:hover {
    background: #003f7a; /* Darken the color on hover */
    transform: scale(1.05); /* Slightly enlarge the button */
}

/* Active effect for the button */
.find-lawyer-button button:active {
    transform: scale(0.95); /* Shrink slightly on click */
}

/* General Button Styling */
.view-people-button {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 16px; /* Reduced padding for a neat look */
    background: white; /* Initial white background */
    color: black; /* Initial black text */
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    border: 2px solid black; /* Black border */
    border-radius: 8px;
    transition: all 0.4s ease; /* Smooth transition for hover effects */
    position: relative; /* Required for pseudo-element positioning */
    overflow: hidden; /* Keep pseudo-element within bounds */
    width: fit-content; /* Adjust width to content */
    text-align: center;
    z-index: 1;
}

/* Gradient Background Hover Effect (Pseudo-element) */
.view-people-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, #000428, #004e92); /* Blue gradient */
    z-index: -1; /* Ensure the gradient stays behind the text */
    transition: all 0.4s ease; /* Smooth transition */
    opacity: 0; /* Initially hidden */
}

/* Reveal the Gradient and Change Text Color on Hover */
.view-people-button:hover::before {
    opacity: 1; /* Show the gradient background */
}

.view-people-button:hover {
    color: white; /* Change text color to white */
    animation: pulse 0.6s infinite; /* Add pulsing effect */
}

/* Text Styling */
.view-people-button span {
    z-index: 1; /* Explicitly keep text above the pseudo-element */
    position: relative; /* This ensures layering works properly */
}

/* Pulsing Animation */
@keyframes pulse {
    0%, 100% {
        transform: scale(1); /* Normal size */
    }
    50% {
        transform: scale(1.05); /* Slightly larger */
    }
}

/* Button Styling */
.view-people-button2 {
    display: inline-block;
    margin-top: 20px;
    font-size: 1rem;
    text-decoration: none;
    color: #ffffff; /* White text for better contrast on a blue background */
    background-color: transparent; /* Transparent background */
    border: 2px solid #ffffff; /* White border for contrast */
    padding: 12px 30px; /* Increase padding for a wider button */
    border-radius: 5px; /* Rounded corners */
    transition: all 0.3s ease; /* Smooth transition for hover effects */
    position: relative; /* To position the arrow */
}

/* Button Hover Effect */
.view-people-button2:hover {
    color: #ffffff; /* Keep text white on hover */
    background-color: #003366; /* Darker shade of blue for hover background */
    animation: pulse 1s infinite; /* Add pulsing animation */
}

/* Pulse Animation */
@keyframes pulse {
    0% {
        transform: scale(1); /* Normal size */
    }
    50% {
        transform: scale(1.1); /* Slightly larger */
    }
    100% {
        transform: scale(1); /* Back to normal */
    }
}

/* Arrow Styling */
.view-people-button2 span {
    margin-left: 10px; /* Add spacing between text and arrow */
    font-size: 1.2rem; /* Slightly larger arrow */
    position: relative; /* For additional styling */
    top: 2px; /* Align the arrow vertically */
    transition: margin-left 0.3s ease; /* Smooth transition for arrow movement */
}

/* Arrow Movement on Hover */
.view-people-button2:hover span {
    margin-left: 15px; /* Move arrow further on hover */
}


