/* cmsms stylesheet: Custom Theme Overrides modified: 11/29/25 20:30:37 */
/*
 * Custom Overrides for M6 Bootstrap Navigation
 * Ensures main navigation is visible on desktop and functions on mobile within the 'navbar-header-full' theme.
 * NOW WITH CENTERING AND BUTTON STYLING FOR DESKTOP, AND STACKED LINKS FOR MOBILE!
 */

/* --- Desktop Styles (min-width: 768px) --- */
@media (min-width: 768px) {
    /* Ensure the main navigation container is always visible and positioned correctly */
    .navbar-header-full .navbar-collapse#bs-example-navbar-collapse-1 {
        display: block !important; /* Force display */
        height: auto !important;    /* Reset height */
        overflow: visible !important; /* Ensure content is not clipped */
        visibility: visible !important; /* Ensure visibility */
        opacity: 1 !important;      /* Ensure full opacity */
        
        /* Positioning for centering: Remove float and add margin auto */
        position: relative !important;
        float: none !important; /* IMPORTANT: Remove float */
        margin-left: auto !important; /* Center the block */
        margin-right: auto !important; /* Center the block */
        width: fit-content !important; /* Allow it to shrink-wrap its content for centering */
        max-width: 100% !important; /* Prevent width from overflowing */

        /* Vertical alignment within the gray bar - adjust padding/margin */
        margin-top: 0px !important; /* Adjust if it's too high/low */
        margin-bottom: 0px !important;
        padding-top: 0px !important;
        padding-bottom: 0px !important;
        border: none !important;
    }

    /* Ensure the unordered list inside the navbar-collapse displays horizontally */
    .navbar-header-full .navbar-collapse#bs-example-navbar-collapse-1 .nav.navbar-nav {
        display: flex !important; /* Use flexbox for horizontal items */
        flex-direction: row !important;
        justify-content: center !important; /* CENTER THE MENU ITEMS within the ul */
        align-items: center !important; /* Vertically center items if they have different heights */
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        height: auto !important;
        width: 100% !important; /* Ensure UL takes full width to allow justify-content: center */
    }

    /* Ensure individual list items display correctly */
    .navbar-header-full .navbar-collapse#bs-example-navbar-collapse-1 .nav.navbar-nav > li {
        display: list-item !important; /* or inline-block */
        float: none !important; /* Remove float for flexbox centering */
        margin: 0 5px !important; /* Add horizontal spacing between "buttons" */
        height: auto !important;
    }

    /* Style the links to look like buttons */
    .navbar-header-full .navbar-collapse#bs-example-navbar-collapse-1 .nav.navbar-nav > li > a {
        display: block !important;
        padding: 8px 15px !important; /* Adjust padding for button size */
        color: #FFFFFF !important; /* Text color */
        text-decoration: none !important;
        background-color: #4CAF50 !important; /* Example Button Background Color (Green) */
        border: 1px solid #4CAF50 !important; /* Example Button Border */
        border-radius: 4px !important; /* Rounded corners for button look */
        transition: all 0.3s ease !important; /* Smooth transition for hover effect */
        text-transform: uppercase !important; /* Optional: Uppercase text */
        font-weight: bold !important; /* Optional: Bold text */
        font-size: 14px !important; /* Optional: Adjust font size */
        line-height: 1.2 !important; /* Adjust line height for vertical centering */
        white-space: nowrap !important; /* Prevent text wrapping */
    }

    /* Hover and Active/Current Page styles for buttons */
    .navbar-header-full .navbar-collapse#bs-example-navbar-collapse-1 .nav.navbar-nav > li > a:hover,
    .navbar-header-full .navbar-collapse#bs-example-navbar-collapse-1 .nav.navbar-nav > li.active > a,
    .navbar-header-full .navbar-collapse#bs-example-navbar-collapse-1 .nav.navbar-nav > li.currentpage > a {
        background-color: #45a049 !important; /* Darker green on hover/active */
        border-color: #45a049 !important;
        color: #FFFFFF !important;
    }

    /* Hide the hamburger button on desktop */
    .navbar-header-full .navbar-toggle {
        display: none !important;
    }

    /* Hide the specific ar-brand on desktop if it's part of the navbar-header */
    #ar-brand.hidden-lg.hidden-md.hidden-sm {
        display: none !important;
    }
}

/* --- Mobile Styles (max-width: 767px) --- */
@media (max-width: 767px) {
    /* Ensure the main navigation container starts hidden on mobile */
    .navbar-header-full .navbar-collapse.collapse {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
        position: absolute !important; /* Make it expand over content */
        width: 100% !important;
        background-color: #333 !important; /* A background color for the mobile menu */
        top: 100% !important; /* Position it below the brand/toggle */
        left: 0 !important;
        z-index: 1000 !important; /* Ensure it's on top */
    }

    /* When the mobile menu is open, show it */
    .navbar-header-full .navbar-collapse.collapse.in {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        overflow: visible !important;
    }

    /* Show the hamburger button on mobile */
    .navbar-header-full .navbar-toggle {
        display: block !important;
        position: relative !important;
        float: right !important; /* Position it to the right */
        margin-top: 8px !important; /* Adjust if too high/low */
        margin-right: 15px !important;
        background-color: transparent !important;
        border: 1px solid #FFF !important; /* White border for visibility */
        color: #FFF !important; /* White icon color */
        font-size: 20px !important;
    }
    .navbar-header-full .navbar-toggle .fa-bars {
        color: #FFF !important; /* Ensure the icon itself is white */
    }

    /* Ensure the hidden brand for mobile shows */
    #ar-brand.navbar-brand.hidden-lg.hidden-md.hidden-sm {
        display: block !important; /* Show the brand for mobile */
        float: left !important;
        padding: 15px !important;
        color: #FFF !important;
        font-size: 24px !important;
        line-height: 20px !important;
    }

    /* Ensure vertical stacking of menu items on mobile */
    .navbar-header-full .navbar-collapse .nav.navbar-nav {
        display: block !important;
        width: 100% !important;
    }

    .navbar-header-full .navbar-collapse .nav.navbar-nav > li {
        display: block !important;
        float: none !important;
        width: 100% !important;
        border-bottom: 1px solid #444 !important; /* Separator for mobile items */
        margin: 0 !important; /* Remove horizontal margins from desktop */
    }

    /* Style the links for mobile: no button look, standard links */
    .navbar-header-full .navbar-collapse .nav.navbar-nav > li > a {
        padding: 10px 15px !important; /* Adjust padding for mobile links */
        color: #FFFFFF !important; /* Link text color */
        background-color: transparent !important; /* Remove button background */
        border-radius: 0 !important; /* Remove button radius */
        border: none !important; /* Remove button border */
        text-transform: none !important; /* Revert text transform */
        font-weight: normal !important; /* Revert font weight */
        font-size: initial !important; /* Revert font size */
        white-space: normal !important; /* Allow text to wrap if needed */
        text-align: left !important; /* Align text to the left */
    }

    /* Hover style for mobile links */
    .navbar-header-full .navbar-collapse .nav.navbar-nav > li > a:hover {
        background-color: #555 !important; /* Darker background on hover */
        color: #FFF !important;
    }

    /* Active/Current Page styles for mobile links */
    .navbar-header-full .navbar-collapse .nav.navbar-nav > li.active > a,
    .navbar-header-full .navbar-collapse .nav.navbar-nav > li.currentpage > a {
        background-color: #007bff !important; /* Example active background color (Bootstrap primary blue) */
        color: #FFF !important;
        border-radius: 0 !important;
    }
}
/* Force specific header text to black */
header#header-full-top .header-full-title p {
    color: #000000 !important; /* Black color */
}
/* cmsms stylesheet: Custom modified: 03/27/25 11:55:50 */
/* Navbar Brand Style */
.navbar-default .navbar-brand {
    font-size: 28px;
    font-weight: 300;
    text-transform: lowercase;
    font-family: "Muli", sans-serif;
    word-spacing: -6px;
    background-image: none;
    background-position: left center;
    background-repeat: no-repeat;
    padding-left: 0;
    color: #000;
    -webkit-text-stroke: 0;
}

/* Header Title with Logo */
.header-full-title {
    float: left;
    padding-left: 225px;
    background-image: url('https://wggh.net/uploads/images/wgghlogo1.png');
    background-repeat: no-repeat;
    background-position: left center;
    overflow: hidden;
}

/* Utility Classes for Margin */
.m-0 { margin: 0!important; }
.m-1 { margin: .25rem!important; }
.m-2 { margin: .5rem!important; }
.m-3 { margin: 1rem!important; }
.m-4 { margin: 1.5rem!important; }
.m-5 { margin: 3rem!important; }

/* Margin - Specific Directions */
.mt-0, .mr-0, .mb-0, .ml-0 { margin: 0!important; }
.mt-1, .mr-1, .mb-1, .ml-1 { margin: .25rem!important; }
.mt-2, .mr-2, .mb-2, .ml-2 { margin: .5rem!important; }
.mt-3, .mr-3, .mb-3, .ml-3 { margin: 1rem!important; }
.mt-4, .mr-4, .mb-4, .ml-4 { margin: 1.5rem!important; }
.mt-5, .mr-5, .mb-5, .ml-5 { margin: 3rem!important; }

/* Auto Margin (Used for centering) */
.mt-auto, .mr-auto, .mb-auto, .ml-auto { margin: auto!important; }

/* Utility Classes for Padding */
.p-0 { padding: 0!important; }
.p-1 { padding: .25rem!important; }
.p-2 { padding: .5rem!important; }
.p-3 { padding: 1rem!important; }
.p-4 { padding: 1.5rem!important; }
.p-5 { padding: 3rem!important; }

/* Padding - Specific Directions */
.pt-0, .pr-0, .pb-0, .pl-0 { padding: 0!important; }
.pt-1, .pr-1, .pb-1, .pl-1 { padding: .25rem!important; }
.pt-2, .pr-2, .pb-2, .pl-2 { padding: .5rem!important; }
.pt-3, .pr-3, .pb-3, .pl-3 { padding: 1rem!important; }
.pt-4, .pr-4, .pb-4, .pl-4 { padding: 1.5rem!important; }
.pt-5, .pr-5, .pb-5, .pl-5 { padding: 3rem!important; }

/* Padding - X and Y Axes */
.px-0 { padding-left: 0!important; padding-right: 0!important; }
.py-0 { padding-top: 0!important; padding-bottom: 0!important; }
.px-1 { padding-left: .25rem!important; padding-right: .25rem!important; }
.py-1 { padding-top: .25rem!important; padding-bottom: .25rem!important; }
.px-2 { padding-left: .5rem!important; padding-right: .5rem!important; }
.py-2 { padding-top: .5rem!important; padding-bottom: .5rem!important; }
.px-3 { padding-left: 1rem!important; padding-right: 1rem!important; }
.py-3 { padding-top: 1rem!important; padding-bottom: 1rem!important; }
.px-4 { padding-left: 1.5rem!important; padding-right: 1.5rem!important; }
.py-4 { padding-top: 1.5rem!important; padding-bottom: 1.5rem!important; }
.px-5 { padding-left: 3rem!important; padding-right: 3rem!important; }
.py-5 { padding-top: 3rem!important; padding-bottom: 3rem!important; }

/* Custom Media Queries for Responsiveness */
@media (max-width: 768px) {
    .header-full-title {
        padding-left: 0; /* Adjust padding for smaller screens */
        background-size: contain;
    }

    .navbar-default .navbar-brand {
        font-size: 24px;
    }
}

/* Font and Text Customization */
.text-lowercase { text-transform: lowercase!important; }
.text-uppercase { text-transform: uppercase!important; }
.text-center { text-align: center!important; }
.text-left { text-align: left!important; }
.text-right { text-align: right!important; }

/* Flexbox Helper Classes */
.d-flex { display: flex!important; }
.d-block { display: block!important; }
.d-inline { display: inline!important; }
.d-inline-block { display: inline-block!important; }
.justify-content-center { justify-content: center!important; }
.align-items-center { align-items: center!important; }

/* Custom Background Colors */
.bg-light { background-color: #f8f9fa!important; }
.bg-dark { background-color: #343a40!important; }
.bg-primary { background-color: #007bff!important; }
.bg-secondary { background-color: #6c757d!important; }
.bg-success { background-color: #28a745!important; }
.bg-danger { background-color: #dc3545!important; }
.bg-warning { background-color: #ffc107!important; }
.bg-info { background-color: #17a2b8!important; }

/* Custom Border Styles */
.border-0 { border: none!important; }
.border-top { border-top: 1px solid #ddd!important; }
.border-bottom { border-bottom: 1px solid #ddd!important; }
.border-left { border-left: 1px solid #ddd!important; }
.border-right { border-right: 1px solid #ddd!important; }
.border { border: 1px solid #ddd!important; }
