﻿/* Master Header Style */
body {
    margin: 0;
    padding: 0;
    font-family: Arial, sans-serif;
    background-color: #f0f0f0;
    overflow-x: hidden; /* Prevent horizontal overflow */
}

.mb-4 {
    margin-bottom: 0.5rem !important;
}

/* Media Queries for responsiveness */

/* Large screens (xl and lg) */
@media (min-width: 1200px) {
    .col-xl-3 {
        flex: 1 1 23%; /* 4 columns per row, 3% gap */
    }

    .col-lg-3 {
        flex: 1 1 23%; /* 4 columns per row, 3% gap */
    }
}

/* Medium screens (md) */
@media (max-width: 1199px) and (min-width: 768px) {
    .col-md-12 {
        flex: 1 1 100%; /* Full width for medium screens */
    }
}

/* Small screens (mobile and tablets) */
@media (max-width: 767px) {
    .col-12 {
        flex: 1 1 100%; /* Full width for small screens */
    }

    .col-xl-3,
    .col-lg-3 {
        flex: 1 1 100%; /* Stack the columns on small screens */
    }
}

.header-container {
    background: linear-gradient(to right, rgb(46, 190, 252), #2881bd);
    max-width: 980px;
    margin: 0 auto;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
}

@media (max-width: 432px) and (max-height: 932px) {
    .header-container {
        flex-direction: column; /* Stack items vertically */
        padding: 20px; /* Increase padding for better spacing */
        box-shadow: none; /* Remove shadow for a cleaner look */
        max-width: 100%; /* Make the container full-width */
    }
}

.logo {
    height: 150px;
    margin-right: 20px;
    flex-shrink: 0; /* Prevent shrinking of the logo */
}

.header-text {
    color: white;
    text-align: center;
    flex: 1; /* Allow header text to grow and fill available space */
}

.association-name {
    margin: 0;
    font-size: 35px;
    font-weight: bold;
}

.office-address,
.email {
    margin: 10px 0;
    font-size: 20px;
    font-weight: bold;
}

/* Responsive Design */
@media (max-width: 768px) {
    .header-container {
        flex-direction: column;
        align-items: center;
        padding: 20px;
    }

    .logo {
        margin-right: 0;
        margin-bottom: 10px;
        height: 80px;
    }

    .header-text {
        text-align: center;
    }

    .association-name {
        font-size: 28px;
    }

    .office-address,
    .email {
        font-size: 18px;
    }
}

@media (max-width: 480px) {
    .header-container {
        padding: 10px;
    }

    .logo {
        height: 140px;
        margin-bottom: 10px;
    }

    .association-name {
        font-size: 18px;
    }

    .office-address,
    .email {
        font-size: 12px;
    }
}

/* Master container styling */
.masterhead {
    display: flex; /* Use Flexbox for side-by-side layout */
    justify-content: space-between; /* Space between login form and ad container */
    align-items: flex-start; /* Align items at the top */
    gap: 2px; /* Space between the two sections */
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
    margin: 5px auto; /* Center the container */
    width: 100%; /* Ensure the container takes full width */
    max-width: 1000px; /* Max width */
    padding: 10px; /* Add padding to avoid content touching the edges */
    box-sizing: border-box; /* Include padding in width calculation */
}

/* Login form styling */
.loginform {
    background-color: #f8f9fa;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    box-sizing: border-box; /* Ensure padding is inside the width calculation */
    width: 27%; /* Flex width */
}

/* Login form title */
.login-title {
    text-align: center;
    font-weight: bold;
    font-size: 1.2em;
    color: #2881bd;
    margin-bottom: 10px;
}

/* Input field label styling */
.input-label {
    font-size: 0.8em;
    font-weight: bold;
    margin-bottom: 5px;
    display: block;
    color: #555;
}

/* Input field styling */
.input-field {
    width: 100%;
    padding: 2px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 1em;
}

    .input-field:focus {
        border-color: #2881bd;
        outline: none;
        box-shadow: 0 0 5px rgba(40, 129, 189, 0.5);
    }

/* Login button styling */
.login-button {
    width: 100%;
    background-color: #2881bd;
    color: white;
    border: none;
    padding: 2px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 1em;
    transition: background-color 0.3s;
}

    .login-button:hover {
        background-color: #1f5a8c;
    }

/* Link container styling */
.link-container {
    display: flex;
    justify-content: space-between;
    font-size: 0.8em;
    margin-top: 10px;
}

/* Link styling */
.link {
    color: #2881bd;
    text-decoration: none;
}

    .link:hover {
        text-decoration: underline;
    }

/* Ad container styling */
.ad-container {
    padding: 2px;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    gap: 25px;
    width: 70%; /* Flex width */
    box-sizing: border-box;
}

/* Ad slider container */
.ad-slider {
    position: relative;
    width: 100%;
    height: 220px;
    overflow: hidden;
    border-radius: 10px;
    background-color: white;
    display: flex; /* Enable flexbox */
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
}

    .ad-slider .mySlides img {
        max-width: 100%; /* Make sure the image is responsive */
        max-height: 100%; /* Limit the height to prevent overflow */
        object-fit: contain; /* Ensure image maintains aspect ratio */
    }

/* Navigation buttons for ad slider */
.nav-button {
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 10px;
    color: white;
    font-size: 18px;
    background: rgba(0, 0, 0, 0.8);
    border-radius: 3px;
    z-index: 1;
}

    .nav-button.left {
        left: 10px;
    }

    .nav-button.right {
        right: 10px;
    }

/* News Marquee container */
.newsMarqueediv {
    background-color: #f9f9f9;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: center;
    width: 100%;
}

/* News scrolling effect */
.newsMarquee {
    display: flex;
    align-items: center;
    animation: marquee 20s linear infinite; /* Slower speed */
    width: 100%;
    white-space: nowrap;
}

@keyframes marquee {
    from {
        transform: translateX(100%); /* Start from right */
    }

    to {
        transform: translateX(-100%); /* End at the left */
    }
}

/* News list container */
#newsList {
    display: flex;
    padding: 0;
    margin: 0;
}

/* News item styling */
.newsMarquee p {
    height: 40px;
    min-width: 100%; /* Full width for the content to display without breaking */
    margin: 0;
    display: flex;
    align-items: center;
    font-weight: bold;
    color: #2881bd;
    white-space: nowrap;
    padding: 0 10px;
}

/* Responsive adjustments for smaller screens */
@media (max-width: 768px) {
    .masterhead {
        flex-direction: column; /* Stack the two divs vertically on smaller screens */
        align-items: center; /* Center the content on smaller screens */
        gap: 10px;
    }

    .loginform,
    .ad-container {
        width: 90%; /* Full width on smaller screens */
    }
}

/* Adjustments for extra small screens (mobile devices) */
@media (max-width: 480px) {
    .loginform,
    .ad-container {
        width: 100%; /* Ensure full width on very small devices */
    }
}

#profileForm {
    padding: 20px;
}

.profile-container {
    display: block;
    flex-direction: column; /* Stack elements vertically */
    margin-bottom: 20px;
}

.image-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 80px; /* Image container width */
    height: 80px; /* Image container height */
    margin-bottom: 20px; /* Space below the image */
}

.header-profile-user {
    border-radius: 50%; /* Makes the image round */
    width: 100%; /* Image takes full width of the container */
    height: 100%; /* Image takes full height of the container */
    object-fit: cover; /* Ensures the image fits without distortion */
}

.profile-details {
    display: flex;
    flex-direction: column;
}

.input-label {
    font-size: 14px;
    margin-bottom: 5px;
}

.alertmessage {
    font-size: 12px;
    color: #888;
}

.login-button {
    background-color: #007bff;
    color: white;
    padding: 2px 2px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

    .login-button:hover {
        background-color: #0056b3;
    }

.link-container {
    margin-top: 10px;
}

.link {
    text-decoration: none;
    color: #007bff;
    margin-right: 15px;
}

    .link:hover {
        text-decoration: underline;
    }

.mastermenu {
    background-color: #f8f8f8;
    max-width: 981px;
    margin: 0 auto;
    padding: 20px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

.button-container {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
    max-width: 950px;
    margin: 0 auto;
}

    .button-container .dropdown,
    .button-container button {
        height: 35px;
        font-size: 10px;
        color: white;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        text-align: center;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        background-color: #2881bd;
    }

        .button-container button:hover,
        .dropdown:hover button {
            background-color: #0073c0;
        }

.dropdown-content {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background-color: white;
    min-width: 100%;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 1;
    border-radius: 5px;
}

    .dropdown-content a {
        color: black;
        padding: 8px;
        text-decoration: none;
        display: block;
        font-size: 9px;
    }

        .dropdown-content a:hover {
            background-color: #ddd;
            font-size: 10px;
        }

.dropdown:hover .dropdown-content {
    display: block;
}

.containerdata {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    padding: 20px;
}

/* Media Queries */
@media (max-width: 1024px) {
    .containerdata {
        flex-direction: column;
        gap: 20px;
    }
}

@media (max-width: 768px) {
    .containerdata {
        flex-direction: column;
        align-items: center;
    }

    .ad-container1,
    .header-row {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    /* For extra small screens (very small mobile phones) */
    .containerdata .ad-container1,
    .containerdata .ad-container2 {        
        width: 100%;
    }
}

.combined-images-container {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    max-width: 1000px;
    margin: 20px auto;
}

.image-box {
    flex: 1;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    text-align: center;
    position: relative;
    overflow: hidden;
    height: auto;
    max-width: 1000px;
    width: 100%;
    transition: all 0.3s ease; /* Smooth resizing */
}

.image-slider {
    position: relative;
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    .combined-images-container {
        flex-direction: column; /* Stack vertically */
        gap: 15px;
        margin: 10px auto;
        padding: 0 10px;
    }

    .image-box {
        width: 90%; /* Reduced width */
        margin: 0 auto; /* Center boxes */
        padding: 10px;
        flex: none; /* Disable flex grow */
    }

    .image-slider {
        max-width: 100%; /* Ensure images don't overflow */
        height: auto;
    }
}

@media (max-width: 480px) {
    .combined-images-container {
        gap: 10px;
    }

    .image-box {
        width: 95%; /* Use more screen width */
        height:auto;
        padding: 8px;
        border-radius: 8px;
    }

    /* Optional: Make images slightly smaller */
    .image-slider img {
        max-width: 90%;
        height: auto;
        margin: 0 auto;
    }
}

.follow-us-site-map {
    background-color: #e9ecef;
    padding: 10px;
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    border-radius: 10px;
}

.site-map {
    width: 100%;
    border-radius: 10px;
    overflow: hidden;
}

.footer {
    background-color: #2881bd;
    padding: 20px 0;
    text-align: center;
    color: white;
    margin-top: 20px;
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    border-radius: 10px;
}

    .footer h2 {
        margin-bottom: 15px;
    }

.social-links {
    display: inline-block;
}

    .social-links a {
        margin: 0 10px;
        text-decoration: none;
    }

    .social-links img {
        width: 24px;
        height: auto;
    }

.footer p {
    margin-top: 20px;
    font-size: 14px;
}

.footer a {
    color: white;
    text-decoration: none;
}

.footer .powered-by {
    color: black;
    font-weight: bold;
}

/* Responsive Styles */
@media (max-width: 768px) {
    .button-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 500px) {
    .button-container {
        grid-template-columns: 1fr;
    }

        .button-container .dropdown,
        .button-container button {
            font-size: 12px;
            height: 40px;
        }

    .felicitation-container {
        width: 100%;
    }

    .combined-images-container {
        flex-direction: column;
        gap: 10px;
    }
}

/* Loader Styles */
#loader {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
}

/* Container styling */
.containerdata {
    display: flex;
    justify-content: flex-start; /* Space between the items */
    align-items: flex-start; /* Align items to the top */
    max-width: 1000px; /* Max width of the container */
    margin: 0 auto; /* Center the container horizontally */
    padding-top: 20px; /* Add padding to the top */
    gap: 20px; /* Space between the columns */
    flex-wrap: wrap; /* Allow wrapping when the screen is smaller */
}

/* Ad container styling */
.ad-container1 {
    background-color: #e0e0e0;
    padding: 2px;
    border-radius: 5px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 200px; /* Full width for responsiveness */
    text-align: center;
}

/* Style for images */
.ad-container1 img {        
    height: auto; /* Maintain aspect ratio */
}

@media (max-width: 768px) {
    .ad-container1 {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;        
        transition: transform 0.3s ease-in-out;
    }

    .ad-container1 img {        
        height: auto; /* Maintain aspect ratio */
    }
}

/* Optional: Styling the logo for better display */
.ad-container1 .logo {
    max-width: 200px; /* Make the logo responsive */
    height: auto;
}

/* Header row (right side) styling */
.header-row {
    flex: 2; /* Make header row larger than the ad */
    display: block;
    flex-direction: column;
    align-items: center;
    gap: 0px;
    background-color: #f9f9f9; /* Light background color */
    border-radius: 10px;
    margin: 0px auto; /* Center the content */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    box-sizing: border-box; /* Ensure padding is included in width */
    width: 740px; /* Set a constant width for larger screens */
    padding: 20px;
}

/* Mobile view */
@media (max-width: 767px) {
    .header-row {
        width: 340px;
        margin-left: 10px;
    }
}

/* Heading Styles */
.header-row h2 {
    font-size: 18px; /* Slightly larger font size for the heading */
    text-transform: uppercase;
    font-weight: 700; /* Bold the heading */
    color: blue; /* Dark color for contrast */
    margin-top: 0px; /* Space below the heading */
    text-align: center; /* Center the heading */
    padding: 10px;
}

/* Paragraph Styling */
.header-row p {
    font-size: 16px; /* Standard readable font size */
    line-height: 1.6; /* Add line-height for readability */
    color: #555; /* Slightly lighter text color */
    margin-bottom: 0px; /* Add space between paragraphs */
    text-align: justify; /* Justify the text for a clean block appearance */
    padding: 10px;
}

/* Horizontal Line Styling */
.header-row hr {
    border: 0;
    border-top: 1px solid #ddd; /* Light gray color for the line */
    margin-top: 30px; /* Add space before the line */
    margin-bottom: 15px; /* Add space after the line */
}

/* Container for the slider */
#sliderContainer {
    position: relative;
    width: 100%;
    max-width: 1000px; /* Max width of the container */
    margin: 0 auto; /* Center the container horizontally */
    overflow: hidden; /* Hide overflow to prevent slides from spilling */
    background-color: #f9f9f9; /* Light background color */
    border-radius: 10px; /* Round corners for the container */
    height: 300px; /* Set a fixed height for the slider */
}

/* Slider Slide */
.slider-slide {
    display: none; /* Hide all slides by default */
    width: 100%;
    height: 80%; /* Ensure each slide takes up the full container height */
    text-align: center; /* Center align the content */
    padding: 10px; /* Optional: padding inside the slide */
    box-sizing: border-box;
}

    .slider-slide img {
        width: 100%;
        height: auto; /* Make image height responsive */
        border-radius: 10px;
        object-fit: cover; /* Ensure image fills the area without distortion */
    }

    .slider-slide p {
        font-size: 16px;
        color: #333;
        padding: 10px 20px;
    }

/* Dot container for navigation */
.dot-container {
    position: absolute;
    bottom: 10px; /* Position the dots slightly above the bottom of the container */
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    z-index: 1; /* Ensure dots are visible on top of the content */
}

.dot {
    height: 10px;
    width: 10px;
    margin: 0 5px;
    background-color: #bbb;
    border-radius: 50%;
    transition: background-color 0.3s;
    cursor: pointer;
}

    .dot.active {
        background-color: #717171;
    }

/* Navigation buttons */
.slider-navigation {
    position: absolute;
    bottom: 10px; /* Place navigation buttons just above the dots */
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 0 20px; /* Add some padding on the sides */
    z-index: 1; /* Ensure buttons are on top of the content */
}

.prev,
.next {
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    padding: 10px;
    font-size: 20px;
    border: none;
    cursor: pointer;
    border-radius: 50%;
}

    .prev:hover,
    .next:hover {
        background-color: rgba(0, 0, 0, 0.8);
    }

/* Enhanced Mobile Responsiveness */
@media (max-width: 600px) {
    .header-container {
        padding: 15px;
    }

    .logo {
        height: 100px;
        margin-bottom: 15px;
    }

    .association-name {
        font-size: 22px;
    }

    .office-address,
    .email {
        font-size: 14px;
    }

    .loginform {
        padding: 15px;
    }

    .input-field {
        padding: 8px;
    }

    .button-container {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 0 10px;
    }

    #sliderContainer {
        height: 500px;
    }

    .social-links {
        flex-direction: column;
        gap: 10px;
    }

    .image-container {
        width: 60px;
        height: 60px;
    }
}

@media (max-width: 400px) {
    .association-name {
        font-size: 18px;
    }

    .office-address,
    .email {
        font-size: 12px;
    }

    .login-title {
        font-size: 1em;
    }

    .input-label {
        font-size: 0.7em;
    }

    .prev,
    .next {
        padding: 6px;
        font-size: 16px;
    }
}

/* Touch Target Optimization */
button,
.link,
.nav-button {
    min-height: 40px;
    min-width: 40px;
}

/* Image Fluid Scaling */
img {
    max-width: 100%;
    height: auto;
}

/* Mobile Navigation Styles */
.mobile-nav {
    display: none;
    position: relative;
    z-index: 1000;
}

.mobile-menu-toggle {
    display: none;
    background: #0073c0; /* Bootstrap secondary color */
    border: none;
    padding: 15px;
    cursor: pointer;
}

.toggle-bar {
    display: block;
    width: 25px;
    height: 3px;
    background: #ffffff; /* White color for bars */
    margin: 4px 0;
}

.mobile-nav-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.mobile-nav-items {
    background: #f8f9fa; /* Light background similar to Bootstrap */
}

.mobile-nav-group {
    border-bottom: 1px solid #dee2e6; /* Bootstrap border color */
}

.mobile-nav-header {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    color: #212529; /* Dark text color */
    font-size: 1em;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.mobile-submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    padding-left: 20px;
    background: #e9ecef; /* Slightly darker background for submenu */
}

.mobile-nav-link {
    display: block;
    padding: 5px 20px;
    color: #495057; /* Subdued text color */
    text-decoration: none;
    transition: background 0.2s;
}

    .mobile-nav-link:hover {
        background: #dee2e6; /* Hover effect */
    }

.dropdown-indicator {
    font-size: 1.2em;
    color: #2cb2f0; /* Secondary color for indicator */
    transform: rotate(0deg);
    transition: transform 0.3s;
}

/* Active states */
.mobile-nav-group.active .mobile-submenu {
    max-height: 1000px;
}

.mobile-nav-group.active .dropdown-indicator {
    transform: rotate(90deg);
}

/* Responsive Show/Hide */
@media (max-width: 768px) {
    .mastermenu {
        display: none;
    }

    .mobile-nav {
        display: block;
    }

    .mobile-menu-toggle {
        display: block;
    }

    .mobile-nav-panel.active {
        max-height: 100vh;
    }
}

@media (min-width: 769px) {
    .mobile-nav {
        display: none;
    }
}


/* currentactivaepage */


.center-container {
    display: flex;
    justify-content: left;
    align-items: center;
    background-color: #e97e4d; /* Light background */
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    text-align: center;
    margin: auto;
    margin-bottom: 10px;
    padding: 5px;
}

    .center-container a {
        padding-left: 10px;
    }

@media (max-width: 767px) {
    .center-container {
        margin-left: 10px;
    }
}

.tag .icon {
    width: 16px; /* Adjust size as needed */
    height: 16px;
    margin-left: 5px;
    margin-right: 10px;
}

.tag {
    text-decoration: none;
    color: #ffffff; /* Bootstrap primary blue */
    font-weight: bold;
    font-size: 16px;
}

    .tag:hover {
        text-decoration: underline;
        color: white;
    }

/* currentactivepageend */

.site-map iframe {
    border: 1px solid #ccc;
    border-radius: 6px;
}

.modal {
    z-index: 9999;
}