﻿/* ======================================================
   COLUMBIA COUNTY, FL – 2025 OFFICIAL PREMIUM DESIGN
   Professional • Clean • Modern • Proud • North Florida
   ====================================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Inter:wght@300;400;500;600;700&display=swap');

/*:root {
    --green-dark: #0d2b5e;*/ /* rich deep navy blue – inspired by flag shadows, roof depth, and evening lake tones */
    /*--green: #1e4a8c;*/ /* mid-tone royal/cornflower blue – main accent for links, headers, or water reflections */
    /*--green-light: #4a7bc2;*/ /* brighter sky/lake blue – for highlights, hovers, or subtle water-inspired pops */
    /*--gold: #c9a55a;*/ /* retained warm sandy-gold for sunlight on beige walls and flagpole glow */
    /*--sand: #f5f1e9;*/ /* soft warm beige/off-white – matches the building's creamy stucco facade perfectly */
    /*--gray-light: #e9eef5;*/ /* very pale cool blue-gray – airy sky tint for backgrounds and subtle separation */
    /*--text: #1a2535;*/ /* darker navy-tinged charcoal for strong, readable text on light backgrounds */
    /*--border: #ccd5e8;*/ /* soft blue-gray border – ties into the sky/lake theme without being too cold */
/*}*/
/*:root {
    --green-dark: #1a5c47;
    --green: #1a5c47;*/
    /* WAVE FIX: Deepened to 5.2:1 contrast ratio */
    /*--green-light: #24695c;*/
    /* WAVE FIX: Shifted to a 'Darker Ochre' to hit 5.1:1 contrast ratio */
    /*--gold: #966700;
    --sand: #f9f8f4;
    --gray-light: #f0f4f2;
    --text: #1e2a2a;
    --border: #d4e0db;
    --blossom: #f06292;
    --blossom-light: #f8bbd0;
}*/


/*:root {*/
    /* DEEP NAVY: Used for Headers/Footers (Contrast 14:1) */
    /*--green-dark: #12263a;*/
    /* SLATE BLUE: The primary brand color (Contrast 7.2:1) */
    /*--green: #254e70;*/
    /* STEEL BLUE: For secondary buttons/calendar events (Contrast 4.6:1) */
    /*--green-light: #37718e;*/
    /* SAFETY ORANGE: The 'Gold' replacement for high-visibility alerts (Contrast 4.8:1) */
    /*--gold: #b35900;*/
    /* Backgrounds and Neutrals */
    /*--sand: #fdfdfd;*/ /* Pure clean white */
    /*--gray-light: #f1f4f6;*/ /* Soft cool-gray separator */
    /*--text: #0d1b2a;*/ /* Deep midnight text */
    /*--border: #d0d8e0;*/ /* Muted blue-gray borders */
    /* AMETHYST: The 'Blossom' replacement for unique accents (Contrast 5.1:1) */
    /*--blossom: #8338ec;
    --blossom-light: #f3effe;
}*/
/*:root {
    --green-dark: #0a4a3a;
    --green: #0f6b52;
    --green-light: #1e8c6f;
    --gold: #c9a227;
    --sand: #f8f6f1;
    --gray-light: #f5f5f5;
    --text: #2d2d2d;
    --border: #e2e8e0;
}*/


/* Reset & Base */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Inter', system-ui, sans-serif;
    background: white;
    color: var(--text);
    line-height: 1.7;
    font-size: 16.5px;
}

/* ====================================
   HEADER – Your green bar, upgraded
   ==================================== */
.header-wrap {
    background: var(--green-dark);
    box-shadow: 0 4px 20px rgba(10,74,58,0.25);
    position: sticky;
    top: 0;
    z-index: 1000;
}

header {
    display: flex;
    align-items: center;
    justify-content: center; /* This centers everything */
    padding: 10px 40px; /* More breathing room left/right */
    position: relative;
    width: 100%;
    max-width: 1400px; /* Optional: cap width for large screens */
    margin: 0 auto; /* Center header content in wide viewports */
}

.logo-container {
    display: flex;
    justify-content: center; /* Extra safety for logo centering */
    align-items: center;
    flex: 1; /* Takes full available space */
}

.header-logo {
    height: 128px;
    width: auto;
    max-width: 100%; /* Prevents overflow on small screens */
    filter: drop-shadow(0 3px 8px rgba(0,0,0,0.3));
    display: block;
    padding:1em;
}

/* Facebook link - keep absolute positioning */
header a[href*="facebook"] {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
}

    header a[href*="facebook"] img {
        width: 32px;
        opacity: 0.9;
        transition: opacity 0.3s;
    }

    header a[href*="facebook"]:hover img {
        opacity: 1;
    }

.site-title {
    display: flex;
    align-items: center;
    gap: 18px;
    color: white;
    font-family: 'Playfair Display', serif;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: 1.2px;
}

    .site-title img {
        height: 78px;
        filter: drop-shadow(0 3px 8px rgba(0,0,0,0.3));
    }

header a[href*="facebook"] {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}

    header a[href*="facebook"] img {
        width: 32px;
        opacity: 0.9;
        transition: opacity 0.3s;
    }

    header a[href*="facebook"]:hover img {
        opacity: 1;
    }

/* ====================================
   MAIN NAVIGATION – Now with Departments Dropdown
   ==================================== */
.nav-wrap {
    background: #fdfdfd;
    border-bottom: 1px solid #ddd;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
}

.navbar-nav {
    display: flex !important;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 35px;
    padding: 12px 0;
    width: 100%;
}

    .navbar-nav > li {
        position: relative;
    }

        .navbar-nav > li > a {
            color: #333 !important;
            font-weight: 600;
            font-size: 16.5px;
            padding: 10px 16px !important;
            border-radius: 8px;
            transition: all 0.3s ease;
        }

            .navbar-nav > li > a:hover {
                background: rgba(15,107,82,0.08);
                color: var(--green) !important;
            }

    /* Departments Dropdown – Beautiful & Functional */
    .navbar-nav .dropdown-menu {
        background: white;
        border: none;
        border-radius: 12px;
        box-shadow: 0 15px 40px rgba(0,0,0,0.15);
        padding: 12px 0;
        min-width: 280px;
        margin-top: 8px;
        border: 1px solid #e0e0e0;
    }

        .navbar-nav .dropdown-menu a {
            color: #444 !important;
            padding: 10px 24px !important;
            font-weight: 500;
        }

            .navbar-nav .dropdown-menu a:hover {
                background: rgba(15,107,82,0.1);
                color: var(--green) !important;
                padding-left: 32px !important;
            }

/* Search – Clean & Premium */
.navbar-form {
    margin: 8px 15px 8px 0 !important;
}

#google-search {
    border: 2px solid #ddd;
    border-radius: 30px 0 0 0px;
    padding: 11px 18px;
    font-size: 16px;
    width: 260px;
    transition: border-color 0.3s;
}

    #google-search:focus {
        border-color: var(--green-light);
        outline: none;
    }

#google-search-button {
    background: var(--green);
    color: white;
    border: none;
    border-radius: 0 30px 30px 0;
    padding: 11px 24px;
    font-weight: 600;
}

    #google-search-button:hover {
        background: var(--green-dark);
    }

/* ====================================
   FLEXSLIDER – Gorgeous, centered, premium
   ==================================== */
.main-slider {
        margin: 30px auto 60px;
    max-width: 95%;
    padding: 0 20px;

}

.flexslider {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 25px 70px rgba(0,0,0,0.22);
    border: none !important;
}

    .flexslider .slides img {
        height: 580px;
        object-fit: cover;
        width: 100%;
    }

.slider-caption {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--green-dark);
    text-align:center;
    color: white;
    padding: 22px 60px;
    border-radius: 16px;
    font-family: 'Playfair Display', serif;
    font-size: 28px;
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
}

/* ====================================
   DEPARTMENT CARDS – Now truly beautiful
   ==================================== */
.card {
    background: white;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 35px rgba(0,0,0,0.09);
    transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
    height: 100%;
    border: 1px solid var(--border);
    margin-bottom:1em;
}

    .card:hover {
        transform: translateY(-8px);
        box-shadow: 0 35px 80px rgba(15,107,82,0.2);
    }

.portfolio-thumb {
    position: relative;
    height: 240px;
    overflow: hidden;
}

    .portfolio-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.8s ease;
    }

.card:hover .portfolio-thumb img {
    transform: scale(1.1);
}

.portfolio-thumb::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 120px;
    background: linear-gradient(transparent, white);
}

.portfolio-title {
    font-family: 'Playfair Display', serif;
    font-size: 26px;
    color: var(--green-dark);
    text-align: center;
    margin: 28px 20px 16px;
    font-weight: 600;
}

.portfolio-desc {
    padding: 0 30px 30px;
    text-align: center;
    color: #444;
    font-size: 16px;
    line-height: 1.7;
}

.smallButton {
    display: inline-block;
    background: var(--green);
    color: white !important;
    font-weight: 300;
    padding: 7px 18px;
    border-radius: 50px;
    margin: 10px 0 20px;
    transition: all 0.4s;
    box-shadow: 0 8px 25px rgba(15,107,82,0.3);
    text-decoration: none;
}

/* ======================================================
   BUTTONS – smallButton & largeButton (Fixed & Unified)
   ====================================================== */

.smallButton,
.largeButton,
button.smallButton,
button.largeButton,
a.smallButton,
a.largeButton,
asp\:Button.smallButton,
asp\:Button.largeButton,
input[type="submit"].smallButton,
input[type="submit"].largeButton,
input[type="button"].smallButton,
input[type="button"].largeButton {
    display: inline-block !important;
    background: var(--green) !important;
    color: white !important;
    border: none !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    text-align: center !important;
    text-decoration: none !important;
    transition: all 0.4s ease !important;
    box-shadow: 0 8px 25px rgba(15,107,82,0.3) !important;
    cursor: pointer;
}

.smallButton {
    padding: 7px 18px !important;
    font-weight: 300 !important;
    font-size: 15px !important;
}

.largeButton {
    padding: 12px 36px !important;
    font-size: 16px !important;
}

    .smallButton:hover,
    .largeButton:hover,
    .smallButton:focus,
    .largeButton:focus {
        background: var(--green-dark) !important;
        transform: translateY(-4px) !important;
        box-shadow: 0 15px 35px rgba(15,107,82,0.4) !important;
        color: white !important;
    }

/* Search box on Departments page */
.search-departments {
    width: 100%;
    max-width: 600px;
    margin: 30px auto 50px;
    display: block;
    padding: 16px 24px;
    font-size: 17px;
    border: 2px solid #ddd;
    border-radius: 50px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06);
}

    #search-departments:focus {
        border-color: var(--green-light);
        outline: none;
        box-shadow: 0 0 0 4px rgba(30,140,111,0.15);
    }

/* ====================================
   FOOTER – Clean and proud
   ==================================== */
.site-footer {
    background: var(--green-dark);
    color: #ddd;
    margin-top: 100px;
    padding-top: 60px;
}
.bottom-footer{
    background:var(--green-dark)
}
.bottom-footer h3 {
    color: white;
    font-family: 'Playfair Display', serif;
    font-size: 24px;
    margin-bottom: 20px;
}

.bottom-footer a {
    color: #b8e6d6;
    transition: color 0.3s;
}

    .bottom-footer a:hover {
        color: white;
        padding-left: 6px;
    }

/* Mobile fixes */
@media (max-width: 991px) {
    .navbar-nav {
        gap: 8px;
    }

    .site-title {
        font-size: 28px;
    }

    .flexslider .slides img {
        height: 400px;
    }
}

.search-form {
  margin: 15px 0 0 0 !important;
  padding-left: 20px;
}
.search-form .form-control {
  height: 44px;
  width: 240px;
  border-radius: 30px 0 0 30px;
  border: 2px solid var(--green-dark);
}
.search-form .btn-search {
  height: 44px;
  background: var(--green-dark);
  color: white;
  border: 2px solid var(--green-dark);
  border-radius: 0 30px 30px 0;
  padding: 0 24px;
  font-weight: 600;
}
.search-form .btn-search:hover {
  background: var(--gold);
  border-color: var(--gold);
  color: #000;
}
/* ============================================================
   DEPARTMENT CONTACT – SUBTLE & OFFICIAL COLUMBIA COUNTY STYLE
   Clean, professional, minimal — matches your current site 100%
   ============================================================ */

#about.section-content {
    padding: 160px 5% 20px;
    background: #f8f9fa;
}

/* Title – simple, official */
#about .section-title h2 {
    font-family: 'Playfair Display', serif;
    color: var(--green-dark);
    font-weight: 700;
    font-size: 42px;
    font-weight: bold;
    color: var(--green-dark);
    text-align: center;
    margin-bottom: 10px;
}

#about .section-title::after {
    content: '';
    display: block;
    width: 120px;
    height: 4px;
    background: var(--gold);
    margin: 20px auto;
    border-radius: 2px;
}

/* Map – clean & simple */
.dept-contact-map {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    border: 1px solid #ddd;
    margin: 50px 0;
}

/* Cards – very subtle lift, white background */
.dept-contact-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: center;
    margin-top: 20px;
}

.dept-contact-card {
    flex: 1;
    min-width: 300px;
    background: white;
    border-radius: 12px;
    padding: 35px 40px;
    box-shadow: 0 3px 12px rgba(0,0,0,0.06);
    border: 1px solid #eee;
    transition: all 0.3s ease;
}

    .dept-contact-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 25px rgba(0,51,0,0.08);
        border-color: var(--gold)33;
    }

    /* Headings – calm and official */
    .dept-contact-card h3 {
        font-size: 26px;
        color: var(--green-dark);
        margin: 0 0 24px;
        padding-bottom: 10px;
        border-bottom: 2px solid var(--gold);
    }

    .dept-contact-card h4 {
        color: var(--green-dark);
        font-size: 17px;
        font-weight: bold;
        margin: 24px 0 8px;
    }

    /* Body text – readable and calm */
    .dept-contact-card p {
        font-size: 16px;
        line-height: 1.7;
        color: #444;
        margin-bottom: 14px;
    }

    /* Links – subtle green → gold on hover */
    .dept-contact-card a {
        color: var(--green-dark);
        font-weight: 600;
    }

        .dept-contact-card a:hover {
            color: var(--gold);
        }

        /* Save Contact Card – gentle green button */
        .dept-contact-card a[download] {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: var(--green-dark);
            color: white;
            padding: 8px 18px;
            border-radius: 20px;
            font-size: 15px;
            font-weight: 600;
            transition: all 0.3s;
        }

            .dept-contact-card a[download]:hover {
                background: var(--gold);
                color: var(--green-dark);
            }

/* ADA section – clean and centered */
.dept-contact-ada {
    background: white;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 45px 60px;
    margin: 80px auto 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

    .dept-contact-ada h3 {
        font-size: 28px;
        color: var(--green-dark);
        text-align: center;
        margin-bottom: 20px;
    }

    .dept-contact-ada p {
        font-size: 16px;
        line-height: 1.8;
        color: #444;
        text-align: center;
    }

/* Mobile */
@media (max-width: 991px) {
    #about .section-title h2 {
        font-size: 36px;
    }

    .dept-contact-card,
    .dept-contact-ada {
        padding: 30px 25px;
    }
}
/* GOOGLE TRANSLATE WIDGET — CLEAN COLUMBIA COUNTY STYLE */
#google_translate_element {
    text-align: center;
    padding: 12px 0;
}

.goog-te-gadget {
    font-family: 'Inter', Arial, sans-serif !important;
    font-size: 15px !important;
    color: var(--green-dark) !important;
}

.goog-te-gadget-simple {
    background: white !important;
    border: 2px solid var(--green-dark) !important;
    border-radius: 30px !important;
    padding: 8px 20px 8px 16px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--green-dark) !important;
    box-shadow: 0 4px 12px rgba(0,51,0,0.1) !important;
    transition: all 0.3s ease;
}

    .goog-te-gadget-simple:hover {
        background: var(--gold) !important;
        color: var(--green-dark) !important;
        border-color: var(--gold) !important;
        box-shadow: 0 6px 18px rgba(201,162,39,0.3) !important;
    }

    .goog-te-gadget-simple .goog-te-menu-value span {
        color: var(--green-dark) !important;
    }

/* Hide the ugly "Powered by" text */
.goog-te-gadget .goog-te-gadget-simple .goog-te-menu-value span:last-child,
.goog-te-gadget .goog-logo-link {
    display: none !important;
}

/* Arrow icon color */
.goog-te-gadget-icon {
    display: none !important; /* hides Google logo */
}

.welcome-text{
    text-align:center;
}

/* ———————————————————————
   ALL TABLES – GLOBAL STYLE
   ——————————————————————— */
.table {
    width: 100%;
    border-collapse: separate !important;
    border-spacing: 0;
    background: white;
    border: 1px solid var(--border);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(10,74,58,0.08);
    margin: 20px 0;
    font-family: 'Inter', system-ui, sans-serif;
}

    /* Header */
    .table thead,
    .table th {
        background: linear-gradient(to bottom, var(--green-dark), var(--green-dark));
        color: white !important;
        text-transform: uppercase;
        letter-spacing: 0.6px;
        font-weight: 600;
        font-size: 14.5px;
    }

    .table th {
        padding: 18px 20px !important;
        text-align: left;
        border: none !important;
    }

    /* Body Rows */
    .table tbody tr {

{
    background: var(--sand);
    transition: all 0.3s ease;
}

.table tbody tr:nth-child(even) {
    background: #ffffff;
}

.table tbody tr:hover {
    background: rgba(15,107,82,0.09) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(10,74,58,0.15);
}

/* Cells */
.table td {
    padding: 16px 20px !important;
    border-bottom: 1px solid var(--border);
    color: var(--text);
    font-size: 15.5px;
    line-height: 1.5;
}

/* Last row border fix */
.table tbody tr:last-child td {
    border-bottom: none;
}

/* Rounded corners on first/last cells */
.table tr:first-child th:first-child {
    border-top-left-radius: 16px;
}

.table tr:first-child th:last-child {
    border-top-right-radius: 16px;
}

.table tr:last-child td:first-child {
    border-bottom-left-radius: 16px;
}

.table tr:last-child td:last-child {
    border-bottom-right-radius: 16px;
}

/* ———————————————————————
   RESPONSIVE TABLES – PREMIUM MOBILE STACK (2025)
   Document Name as Card Header
   ——————————————————————— */
@media (max-width: 768px) {
    .table {
        border: none;
        box-shadow: none;
        background: transparent;
    }

        .table thead {
            display: none;
        }

        .table tbody tr {
            display: block;
            margin-bottom: 32px;
            background: white;
            border-radius: 20px;
            overflow: hidden;
            box-shadow: 0 12px 35px rgba(10,74,58,0.12);
            border: 1px solid var(--border);
            transition: all 0.4s ease;
            position: relative;
            padding-top: 60px; /* Space for header */
        }

            .table tbody tr:hover {
                transform: translateY(-6px);
                box-shadow: 0 20px 50px rgba(10,74,58,0.18);
                border-color: var(--green-light);
            }

                /* Gold top bar on hover */
                .table tbody tr:hover::before {
                    opacity: 1;
                }

            .table tbody tr::before {
                content: '';
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                height: 5px;
                background: linear-gradient(90deg, var(--gold), #e6c567, var(--gold));
                opacity: 0;
                transition: opacity 0.4s ease;
            }

            /* Document Name becomes the card header */
            .table tbody tr .doc-name-cell {
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                height: 60px;
                padding: 0 24px !important;
                margin: 0;
                background: linear-gradient(to bottom, var(--green-dark), var(--green-dark));
                color: white;
                font-family: 'Playfair Display', serif;
                font-size: 20px;
                font-weight: 700;
                display: flex;
                align-items: center;
                border-bottom: none;
            }

                .table tbody tr .doc-name-cell strong {
                    color: white;
                    font-size: 20px;
                }

                .table tbody tr .doc-name-cell::before {
                    display: none; /* Hide the default label */
                }

        /* Remaining cells (Status & Upload) */
        .table td:not(.doc-name-cell) {
            display: block;
            width: 100%;
            padding: 20px 24px !important;
            text-align: left;
            font-size: 16px;
            line-height: 1.6;
            border-bottom: 1px solid #eee;
            position: relative;
            padding-left: 160px !important; /* Space for label */
        }

            .table td:not(.doc-name-cell):last-child {
                border-bottom: none;
            }

            .table td:not(.doc-name-cell)::before {
                content: attr(data-label);
                position: absolute;
                left: 0;
                top: 0;
                width: 140px;
                height: 100%;
                padding: 20px 20px;
                font-family: 'Playfair Display', serif;
                font-weight: 600;
                font-size: 17px;
                color: var(--green-dark);
                background: rgba(15,107,82,0.06);
                text-align: left;
                display: flex;
                align-items: center;
                border-right: 1px solid #eee;
            }

    /* Status cell – center content for better look */
    .doc-status-cell {
        text-align: center !important;
        padding-left: 24px !important;
    }

        .doc-status-cell::before {
            width: 100%;
            text-align: center;
            justify-content: center;
            border-right: none;
            background: rgba(15,107,82,0.03);
        }

        .doc-status-cell .doc-status-icon {
            display: block;
            margin: 0 auto 8px;
            width: 36px;
            height: 36px;
        }

        .doc-status-cell .doc-status-text {
            display: block;
            text-align: center;
        }

    /* Upload cell – center button */
    .doc-upload-cell {
        text-align: center !important;
        padding-left: 24px !important;
    }

        .doc-upload-cell::before {
            width: 100%;
            text-align: center;
            justify-content: center;
            border-right: none;
            background: rgba(15,107,82,0.03);
        }

        .doc-upload-cell .smallButton.file-upload,
        .doc-upload-cell .doc-accepted-muted {
            display: block;
            margin: 12px auto;
            max-width: 240px;
        }
}

    /* Special treatment for specific tables if needed */
    /* Example: Make required documents table even cleaner */
    .required-docs-table td:before {
        font-size: 18px;
        font-weight: 700;
    }

    .required-docs-table td {
        padding-left: 50% !important;
    }

    /* Buttons in mobile stacked rows – full width, centered */
    .table td .smallButton,
    .table td .largeButton {
        display: block;
        width: 90%;
        max-width: 300px;
        margin: 12px auto 8px;
        text-align: center;
    }

    /* Status icons – slightly larger and centered under label */
    .table .doc-status-icon {
        display: block;
        margin: 8px auto 4px;
        float: none;
    }

    .table .doc-status-cell {
        text-align: center !important;
        padding-left: 20px !important;
    }

        .table .doc-status-cell:before {
            width: 100%;
            text-align: center;
            border-right: none;
            justify-content: center;
            background: rgba(15,107,82,0.03);
        }

        .table .doc-status-cell .doc-status-text {
            display: block;
            text-align: center;
        }
}


/* ======================================================
   PREMIERE BLOCKS – COLUMBIA COUNTY 2025
   Huge shadows • Lift + scale hover • Gold accent • BS3 only
   ====================================================== */

.premiere-blocks {
    padding: 90px 0 70px;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
}

.p-block {
    display: block;
    height: 100%;
    background: #ffffff;
    border-radius: 24px;
    padding: 40px 30px;
    text-align: left;
    box-shadow: 0 12px 40px rgba(10,74,58,0.12);
    border: 1px solid var(--border);
    transition: all 0.45s cubic-bezier(0.23, 1, 0.32, 1);
    position: relative;
    overflow: hidden;
    text-decoration: none !important;
    color: #2d2d2d;
    text-align:center;
    margin-bottom:2em;
}

    .p-block:hover,
    .p-block:focus { /* Add :focus for keyboard too */
        transform: translateY(-6px); /* Bigger lift on desktop */
        box-shadow: 0 35px 80px rgba(10,74,58,0.25);
        border-color: var(--gold);
    }

    .p-block ul{
        text-align:left;
    }

    .p-block::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 6px;
        background: linear-gradient(90deg, var(--gold), #e6c567, var(--gold));
        opacity: 0;
        transition: opacity 0.45s ease;
    }

    .p-block:hover::before {
        opacity: 1;
    }

.p-icon {
    width: 100px;
    height: 100px;
    background: linear-gradient(135deg, var(--green), var(--green-dark));
    color: white;
    font-size: 42px;
    line-height: 100px !important;
    border-radius: 24px;
    margin: 0 auto 24px;
    box-shadow: 0 12px 30px rgba(15,107,82,0.4);
    transition: all 0.45s ease;
    text-align:center;
}

.p-block:hover .p-icon {
    transform: scale(1.12) rotate(4deg);
    box-shadow: 0 20px 45px rgba(15,107,82,0.5);
}

.p-block h4 {
    font-size: 20px;
    font-weight: 700;
    color: var(--green-dark);
    margin: 0 0 12px 0;
    line-height: 1.3;

}

.p-block p {
    font-size: 15.5px;
    color: #444;
    margin: 0 0 20px 0;
    line-height: 1.5;
}

.p-more {
    display: inline-block;
    background: var(--gold);
    color: white;
    font-weight: 600;
    font-size: 15px;
    padding: 10px 28px;
    border-radius: 50px;
    opacity: 1;
    transform: translateY(20px);
    transition: all 0.45s ease;
    text-align:center;
}

.p-block:hover, .p-block:focus, .p-more {
    opacity: 1;
    transform: translateY(0);
}
@media (hover: none) {
    .p-block:active {
        transform: scale(0.97);
        box-shadow: 0 4px 15px rgba(10,74,58,0.2);
    }
}
@media (hover: none) {
    .p-block:active {
        transform: scale(0.97);
        box-shadow: 0 4px 15px rgba(10,74,58,0.2);
    }
}
/* Responsive – 4 columns desktop, 2 on tablet, 1 on phone */
@media (max-width: 991px) {
    .p-block {
        padding: 32px 24px;
        color: var(--green-dark)
    }

    .p-icon {
        width: 85px;
        height: 85px;
        line-height: 85px !important;
        font-size: 36px;
    }

    .p-block h4 {
        font-size: 18px;
    }
}

@media (max-width: 767px) {
    .col-sm-6 {
        margin-bottom: 30px;
    }
}


/* ============================================================= */
/* MAIN CONTENT LINKS – FIXED TO NOT OVERRIDE BUTTON TEXT COLOR */
/* ============================================================= */

/* Target ONLY regular links in the main content area – EXCLUDE buttons and custom classes */
#MainContent a:not(.largeButton):not(.smallButton):not(.btn),
#MainContent a:link:not(.largeButton):not(.smallButton):not(.btn),
#MainContent a:visited:not(.largeButton):not(.smallButton):not(.btn),
.section-content a:not(.largeButton):not(.smallButton):not(.btn),
.section-content a:link:not(.largeButton):not(.smallButton):not(.btn),
.section-content a:visited:not(.largeButton):not(.smallButton):not(.btn) {
    color: var(--green-dark) !important;
    text-decoration: none !important;
}

    /* Hover state – only for regular links */
    #MainContent a:not(.largeButton):not(.smallButton):not(.btn):hover,
    #MainContent a:not(.largeButton):not(.smallButton):not(.btn):active,
    .section-content a:not(.largeButton):not(.smallButton):not(.btn):hover,
    .section-content a:not(.largeButton):not(.smallButton):not(.btn):active {
        color: var(--green) !important;
        text-decoration: underline !important;
    }

/* ============================================================= */
/* PDF ICONS – WORKS IN TABS, NAV-PILLS, EVERYWHERE             */
/* ============================================================= */

/* Kill the old background-image PDF icon completely */
a.pdf,
a.pdf * {
    background-image: none !important;
    padding-left: 0 !important;
    background: none !important;
}

/* New modern PDF link style with FontAwesome icon */
a.pdf {
    position: relative !important;
    display: block !important;
    padding: 14px 20px 14px 68px !important;
    margin: 10px 0 !important;
    background: #f8f9fa !important;
    border-radius: 16px !important;
    border: 1px solid var(--border) !important;
    color: var(--green-dark) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    min-height: 64px !important;
    line-height: 1.5;
}

    a.pdf:hover {
        background: rgba(15,107,82,0.08) !important;
        transform: translateX(8px) !important;
        box-shadow: 0 8px 25px rgba(15,107,82,0.15) !important;
        color: var(--green) !important;
    }

    /* PDF icon using FontAwesome */
    a.pdf::before {
        content: "\f1c1" !important; /* fa-file-pdf-o */
        font-family: "FontAwesome" !important;
        font-weight: 900 !important;
        position: absolute !important;
        left: 20px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        font-size: 32px !important;
        color: #d9534f !important;
    }

    /* Small "(PDF)" text */
    a.pdf small {
        display: block !important;
        color: #888 !important;
        font-size: 13px !important;
        margin-top: 4px !important;
    }

/* ============================================================= */
/* EXTERNAL LINK ICON – WORKS WHEN JS ADDS .external CLASS      */
/* ============================================================= */

a.external,
.nav-link a.external {
    position: relative !important;
    padding-right: 24px !important;
}

    a.external::after,
    .nav-link a.external::after {
        content: "\f08e" !important;
        font-family: "FontAwesome" !important;
        font-weight: 900 !important;
        font-size: 0.8em !important;
        position: absolute !important;
        right: 4px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        opacity: 0.7 !important;
        transition: opacity 0.3s ease !important;
    }

    a.external:hover::after,
    .nav-link a.external:hover::after {
        opacity: 1 !important;
    }

/* Ultimate override - matches Bootstrap's exact selectors */
.panel.panel-default {
    border-color: var(--border) !important;
    background: var(--sand) !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05) !important;
}

    .panel.panel-default > .panel-heading {
        color: #fff !important;
        background-color: var(--green-dark) !important; /* Your dark green */
        background-image: none !important; /* THIS IS THE KEY: removes the gradient */
        border-color: var(--green) !important;
        border-top-left-radius: 5px !important;
        border-top-right-radius: 5px !important;
    }

        .panel.panel-default > .panel-heading .panel-title {
            color: #fff !important;
            font-weight: 600 !important;
        }

        .panel.panel-default > .panel-heading i {
            color: var(--gold) !important; /* Gold icon */
            margin-right: 8px;
        }

    .panel.panel-default .list-group-item {
        background-color: var(--sand) !important;
        border-color: var(--border) !important;
        color: #2d2d2d !important;
    }

        .panel.panel-default .list-group-item:hover {
            background-color: var(--gray-light) !important;
        }

        .panel.panel-default .list-group-item.active {
            background-color: var(--green) !important;
            background-image: none !important;
            color: #fff !important;
            border-color: var(--green) !important;
        }

            .panel.panel-default .list-group-item.active i {
                color: var(--gold) !important;
            }

        .panel.panel-default .list-group-item i {
            color: var(--green-light);
        }


/* Icon wrapper */
.req-wrap {
    position: relative;
    display: block;
}

    .req-wrap .form-control {
        padding-right: 50px !important;
        background: #fff !important;
    }

    /* Red warning (default) */
    .req-wrap::after {
        content: "";
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        width: 22px;
        height: 22px;
        pointer-events: none;
        z-index: 9999;
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d9534f'%3E%3Cpath d='M12 2L1 21h22L12 2zm0 14.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm1-5h-2v-4h2v4z'/%3E%3C/svg%3E") center/contain no-repeat;
        transition: background 0.3s ease;
    }

    /* Green checkmark when valid */
    .req-wrap.valid::after {
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%2328a745'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E") center/contain no-repeat;
    }

.has-required-icon::after {
    transition: background 0.3s ease;
}
/* ======================================================
   GLOBAL FORM STYLES – COLUMBIA COUNTY 2025 PREMIUM DESIGN
   Applies to ALL forms site-wide for consistency
   Compatible with Bootstrap 3.3.7
   ====================================================== */

/* Labels – Official dark green, bold */
form label,
.contact-form label,
.wizard label,
.form-group label {
    font-weight: 600 !important;
    color: var(--green-dark) !important;
    margin-bottom: 8px;
    display: block;
    font-size: 16px;
}

/* Standard form controls */
form .form-control,
.contact-form .form-control,
.wizard .form-control,
.form-group .form-control {
    height: 48px !important;
    font-size: 16px !important;
    border: 2px solid var(--border) !important;
    border-radius: 8px !important;
    padding: 10px 15px !important;
    box-shadow: none !important;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    background-color: white;
}

    /* Focus state – premium green glow */
    form .form-control:focus,
    .contact-form .form-control:focus,
    .wizard .form-control:focus,
    .form-group .form-control:focus {
        border-color: var(--green-light) !important;
        box-shadow: 0 0 0 3px rgba(30, 140, 111, 0.15) !important;
        outline: none !important;
    }

/* Textarea specific */
form textarea.form-control,
.contact-form textarea.form-control,
.wizard textarea.form-control {
    height: auto !important;
    min-height: 100px;
    resize: vertical;
}

/* Read-only fields – subtle sand background */
form .form-control[readonly],
.contact-form .form-control[readonly],
.wizard .form-control[readonly] {
    background-color: var(--sand) !important;
    cursor: not-allowed;
    opacity: 0.95;
}

/* Checkboxes – gold accent, larger */
form input[type="checkbox"],
.contact-form input[type="checkbox"],
.wizard input[type="checkbox"] {
    accent-color: var(--gold);
    transform: scale(1.4);
    margin-right: 12px;
    vertical-align: middle;
}

/* Large premium buttons – used for primary actions */
.largeButton {
    display: inline-block !important;
    background: var(--green) !important;
    color: white !important;
    font-weight: 600 !important;
    padding: 12px 36px !important;
    border-radius: 50px !important;
    margin: 10px 0 20px !important;
    transition: all 0.4s ease !important;
    box-shadow: 0 8px 25px rgba(15, 107, 82, 0.3) !important;
    text-decoration: none !important;
    text-align: center;
    font-size: 16px !important;
    border: none !important;
    cursor: pointer;
}

    .largeButton:hover,
    .largeButton:focus {
        background: var(--green-dark) !important;
        transform: translateY(-4px) !important;
        box-shadow: 0 15px 35px rgba(15, 107, 82, 0.4) !important;
        color: white !important;
        text-decoration: none !important;
    }

    /* Cancel / Danger variant */
    .largeButton.cancel,
    a.largeButton[style*="d9534f"],
    button.largeButton.cancel {
        background: #d9534f !important;
        box-shadow: 0 8px 25px rgba(217, 83, 79, 0.4) !important;
    }

        .largeButton.cancel:hover {
            background: #c9302c !important;
            box-shadow: 0 15px 35px rgba(217, 83, 79, 0.5) !important;
        }

    /* FileUpload as button */
    input[type="file"].largeButton,
    asp\\:FileUpload.largeButton,
    .largeButton.file-upload {
        background: var(--green) !important;
        font-size: 15px !important;
        padding: 10px 24px !important;
    }

/* Document info/download box – reusable */
.document-info-box {
    background: #f0f8f4 !important;
    border-left: 4px solid var(--green-light) !important;
    padding: 20px !important;
    border-radius: 8px !important;
    margin: 30px 0 !important;
}

    .document-info-box p {
        color: var(--green-dark) !important;
        font-weight: 600 !important;
        margin-bottom: 12px !important;
    }

    .document-info-box ul {
        list-style-type: none !important;
        padding-left: 0 !important;
        margin: 0 !important;
    }

    .document-info-box li {
        margin-bottom: 12px !important;
    }

/* Required documents list items */
.required-doc-item {
    padding: 20px 0 !important;
    border-top: 1px dotted var(--border) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
}

    .required-doc-item h5 {
        margin: 0 !important;
        color: var(--green-dark) !important;
        font-size: 18px !important;
    }

/* General section spacing */
.dept-contact-grid {
    margin-top: 30px !important;
    margin-bottom: 40px !important;
}

/* Submission button larger variant */
.submit-application {
    padding: 16px 60px !important;
    font-size: 20px !important;
}

/* Bottom cancel button */
.cancel-return {
    background: #d9534f !important;
    padding: 16px 50px !important;
    font-size: 18px !important;
}

/* Alert styling override for submission section */
.alert.alert-dismissible {
    background: #f8f9fa !important;
    border: 1px solid var(--border) !important;
    border-radius: 12px !important;
    padding: 20px !important;
}
/* FINAL PREMIERE INVOICES – MINIMAL & PROFESSIONAL (Even More Subtle) */
.p-block .invoice-summary .col-md-4 .summary-box {
    background: white !important;
    border-radius: 20px !important;
    padding: 32px 24px !important; /* Further reduced */
    text-align: center !important;
    box-shadow: 0 10px 30px rgba(10,74,58,0.1) !important; /* Lighter shadow */
    border: 1px solid var(--border) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

 .p-block .invoice-summary .col-md-4 .summary-box:hover {
        transform: translateY(-8px) !important; /* Minimal lift */
        box-shadow: 0 20px 50px rgba(10,74,58,0.18) !important;
    }

 .p-block .summary-label {
    font-size: 15px !important; /* Smaller */
    font-weight: 600 !important;
    color: var(--green-dark) !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    margin-bottom: 6px !important;
}

 .p-block .summary-amount {
    font-family: 'Inter', system-ui, sans-serif !important;
    font-size: 36px !important; /* Down from 42px → more compact */
    font-weight: 700 !important;
    color: var(--green-dark) !important;
    line-height: 1.1 !important;
}

 .p-block .total-invoiced .summary-amount {
    color: var(--green) !important;
}

 .p-block .total-paid .summary-amount {
    color: #27ae60 !important;
}

 .p-block .total-due .summary-amount {
    color: var(--gold) !important;
}

 .p-block h4 {
    font-family: 'Playfair Display', serif !important;
    font-size: 28px !important; /* Down to 28px – clean and official */
    font-weight: 700 !important;
    color: var(--green-dark) !important;
    margin: 50px 0 24px 0 !important; /* Tighter spacing */
    padding-bottom: 12px !important;
    border-bottom: 3px solid var(--gold) !important; /* Even thinner */
    position: relative !important;
}

 .p-block h4::after {
        content: '' !important;
        position: absolute !important;
        bottom: -3px !important;
        left: 0 !important;
        width: 100px !important; /* Shorter */
        height: 3px !important;
        background: var(--gold) !important;
        box-shadow: 0 4px 15px rgba(201,162,39,0.4) !important; /* Very soft glow */
        border-radius: 2px !important;
    }

 .p-block .review-notes-content {
    background: #f0f8f4 !important;
    padding: 24px !important; /* Compact */
    border-radius: 16px !important;
    border-left: 5px solid var(--green-light) !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    box-shadow: 0 8px 25px rgba(10,74,58,0.1) !important;
}

 .p-block .table {
    background: white !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 35px rgba(10,74,58,0.12) !important;
    margin: 30px 0 !important;
}

 .p-block .table > thead > tr > th {
        background: linear-gradient(to bottom, var(--green-dark), var(--green-dark)) !important;
        color: white !important;
        padding: 15px !important;
        font-size: 15px !important;
    }

 .p-block .table > tbody > tr > td {
        padding: 15px !important;
        font-size: 15.5px !important;
    }

 .p-block .status-badge.status-under-review {
    background: #fff3cd !important;
    color: #856404 !important;
    padding: 8px 20px !important;
    font-size: 14.5px !important;
    border-radius: 50px !important;
}

 .p-block .review-checkbox {
    transform: scale(1.5) !important; /* Smaller still */
    accent-color: var(--gold) !important;
}

/* ======================================================
   PREMIUM TABS – FIXED: WHITE TEXT ON ACTIVE TAB
   (Higher specificity override to ensure white text wins)
   ====================================================== */

/* Base tab container */
.nav-tabs {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    margin: 60px auto 40px !important;
    padding: 0 !important;
    border-bottom: none !important;
    list-style: none !important;
}

    /* Normal tab links */
    .nav-tabs > li > a {
        display: block !important;
        background: white !important;
        color: var(--green-dark) !important;
        font-family: 'Inter', system-ui, sans-serif !important;
        font-weight: 600 !important;
        font-size: 17px !important;
        padding: 14px 40px !important;
        border: 2px solid var(--border) !important;
        border-radius: 50px !important;
        min-width: 220px !important;
        text-align: center !important;
        box-shadow: 0 8px 25px rgba(10,74,58,0.12) !important;
        transition: all 0.4s ease !important;
        text-decoration: none !important;
    }

        /* Hover */
        .nav-tabs > li > a:hover {
            border-color: var(--green-light) !important;
            transform: translateY(-6px) !important;
            box-shadow: 0 15px 40px rgba(15,107,82,0.22) !important;
            background: #f8f9fa !important;
            color: var(--green-dark) !important;
        }

    /* ACTIVE TAB – MAXIMUM SPECIFICITY TO FORCE WHITE TEXT */
    .nav-tabs > li.active > a,
    .nav-tabs > li.active > a:hover,
    .nav-tabs > li.active > a:focus,
    ul.nav-tabs > li.active > a,
    ul.nav-tabs > li.active > a:hover,
    ul.nav-tabs > li.active > a:focus {
        background: var(--green-dark) !important;
        color: white !important; /* White text */
        border-color: var(--green-dark) !important;
        box-shadow: 0 15px 45px rgba(15,107,82,0.35) !important;
        transform: translateY(-8px) !important;
        position: relative !important;
        overflow: hidden !important;
    }

        /* Gold accent bar under active tab */
        .nav-tabs > li.active > a::after,
        ul.nav-tabs > li.active > a::after {
            content: '' !important;
            position: absolute !important;
            bottom: 8px !important;
            left: 50% !important;
            transform: translateX(-50%) !important;
            width: 80px !important;
            height: 4px !important;
            background: var(--gold) !important;
            border-radius: 2px !important;
            box-shadow: 0 4px 15px rgba(201,162,39,0.6) !important;
        }

/* Tab content styling */
.tab-content {
    background: white;
    border-radius: 20px;
    padding: 40px 30px;
    box-shadow: 0 10px 35px rgba(10,74,58,0.1);
    border: 1px solid var(--border);
    margin-top: 20px;
}

.tab-pane {
    animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Mobile */
@media (max-width: 767px) {
    .nav-tabs {
        gap: 15px !important;
        margin: 40px auto 30px !important;
    }

        .nav-tabs > li > a {
            padding: 12px 30px !important;
            font-size: 16px !important;
            min-width: 180px !important;
        }

    .tab-content {
        padding: 30px 20px;
    }
}

/* ======================================================
   FULLCALENDAR – PREMIUM COLUMBIA COUNTY 2025 INTEGRATION
   Clean, modern, matches your green/gold/root design
   ====================================================== */

/* Primary button colors – match your large/smallButton style */
.fc .fc-button-primary {
    background-color: var(--green) !important; /* var(--green) */
    border-color: var(--green) !important;
    color: white !important;
    font-weight: 600 !important;
    border-radius: 50px !important;
    padding: 0.5em 1.2em !important;
    box-shadow: 0 8px 25px rgba(15,107,82,0.3) !important;
    transition: all 0.4s ease !important;
}

    .fc .fc-button-primary:hover {
        background-color: var(--green-dark) !important; /* var(--green-dark) */
        border-color: var(--green-dark) !important;
        transform: translateY(-3px) !important;
        box-shadow: 0 12px 35px rgba(15,107,82,0.4) !important;
    }

    .fc .fc-button-primary:focus {
        box-shadow: 0 0 0 0.2rem rgba(15,107,82,0.3) !important;
    }

    .fc .fc-button-primary:disabled {
        background-color: var(--green) !important;
        border-color: var(--green) !important;
        opacity: 0.65;
    }

    .fc .fc-button-primary:not(:disabled):active,
    .fc .fc-button-primary:not(:disabled).fc-button-active {
        background-color: var(--green-dark) !important;
        border-color: var(--green-dark) !important;
    }

/* Toolbar styling – clean spacing */
.fc .fc-toolbar {
    margin-bottom: 2em !important;
}

.fc .fc-toolbar-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 32px !important;
    font-weight: 700 !important;
    color: var(--green-dark) !important;
}

/* Today highlight – subtle gold tint */
.fc .fc-day-today {
    background-color: rgba(201,162,39,0.12) !important; /* Very light gold */
}

/* Event styling – match your premium feel */
.fc-event {
    border: none !important;
    border-radius: 8px !important;
    padding: 2px 6px !important;
    font-size: 0.9em !important;
    box-shadow: 0 4px 15px rgba(10,74,58,0.15) !important;
}

    .fc-event:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 25px rgba(10,74,58,0.25);
    }

/* Day grid headers – green with white text */
.fc .fc-col-header-cell {
    background: var(--green-dark) !important;
    color: white !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    font-size: 14px !important;
}

/* Borders – match your site */
.fc-theme-standard td,
.fc-theme-standard th {
    border-color: var(--border) !important;
}

/* Now indicator – gold */
.fc .fc-timegrid-now-indicator-line,
.fc .fc-timegrid-now-indicator-arrow {
    border-color: var(--gold) !important;
}

/* List view – clean cards */
.fc .fc-list-table td {
    padding: 12px 16px !important;
}

.fc .fc-list-day-cushion {
    background: rgba(15,107,82,0.06) !important;
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    color: var(--green-dark);
}
/* Your existing event styling */
.fc .fc-daygrid-event {
    height: auto !important;
    min-height: 2.4em;
    padding: 6px 8px !important;
    white-space: normal !important;
    overflow: visible !important;
    border-radius: 6px;
    border: 1px solid var(--border);
    background-color: var(--green-light);
    color: #f8f9fa !important;
    font-weight: 500;
}

    .fc .fc-daygrid-event:hover {
        background-color: var(--green-dark);
        box-shadow: 0 2px 8px rgba(0,0,0,0.2);
        color: white !important;
    }

    .fc .fc-daygrid-event .fc-event-title,
    .fc .fc-daygrid-event .fc-event-main,
    .fc .fc-daygrid-event .fc-event-time {
        color: honeydew !important;
        white-space: normal;
        font-size: 0.95em;
    }

.fc .fc-daygrid-event-dot {
    border-color: var(--gold) !important;
}

.fc .fc-daygrid-day {
    min-height: 120px;
}

/* New: White table headers with better contrast */
.fc .fc-col-header-cell-cushion,
.fc .fc-col-header-cell {
    color: #fff !important; /* Pure white text */

    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 0.6px;
    font-size: 0.95rem;
    padding: 12px 8px !important;
}

/* Responsive tweaks */
@media (max-width: 767px) {
    .fc .fc-toolbar-title {
        font-size: 26px !important;
    }

    .fc .fc-button-primary {
        padding: 0.4em 0.9em !important;
        font-size: 15px !important;
    }
}

/* ======================================================
   PREMIUM DL STYLE – MEETING INFORMATION (2025 DESIGN)
   ====================================================== */

.dl-premium {
    margin-bottom: 30px;
    overflow: hidden; /* clear floats */
}

    .dl-premium dt {
        float: left;
        clear: left;
        width: 120px;
        font-weight: 600;
        color: var(--green-dark);
        text-align: left;
        margin-bottom: 16px;
        font-size: 16.5px;
    }

    .dl-premium dd {
        margin-left: 140px;
        margin-bottom: 16px;
        color: #444;
        font-size: 16.5px;
        line-height: 1.6;
    }

    /* Make buttons match your premium style */
    .dl-premium .smallButton {
        margin-top: 8px;
    }

/* Responsive – stack on mobile */
@media (max-width: 767px) {
    .dl-premium dt,
    .dl-premium dd {
        float: none;
        width: 100%;
        margin-left: 0;
    }

    .dl-premium dt {
        margin-bottom: 6px;
        color: var(--green);
        font-weight: 700;
    }
}

.hidden{
    visibility:hidden;
    pointer-events:none;
    height:0;
    width:0;

}
/* Search Toggle – Premium & Mobile-Friendly */
.search-toggle-container {
    position: relative;
}

.search-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #333;
    font-size: 1.4rem;
    transition: all 0.3s ease;
    text-decoration: none;
}

    .search-icon:hover,
    .search-icon:focus {
        color: var(--green);
        transform: scale(1.15);
    }

.search-form-hidden {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    background: white;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0,0,0,0.18);
    padding: 18px 24px;
    min-width: 320px;
    z-index: 1000;
    border: 1px solid var(--border);
    margin-top: 8px;
}

/* Show when active */
.search-form-visible {
    display: block !important;
    animation: fadeInDown 0.3s ease;
}

/* Form tweaks for better look */
.navbar-form {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

#google-search {
    width: 220px;
    border-radius: 30px 0 0 30px;
    border: 2px solid #ddd;
    padding: 10px 16px;
    font-size: 15px;
}

    #google-search:focus {
        border-color: var(--green-light);
        box-shadow: 0 0 0 3px rgba(30,140,111,0.15);
    }

#google-search-button {
    border-radius: 0 30px 30px 0;
    background: var(--green);
    color: white;
    border: none;
    padding: 10px 20px;
    font-weight: 600;
    transition: all 0.3s;
}

    #google-search-button:hover {
        background: var(--green-dark);
    }

/* Animation */
@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Mobile – make search full-width */
@media (max-width: 767px) {
    .search-form-hidden {
        position: fixed;
        top: 60px; /* adjust based on your header height */
        left: 10px;
        right: 10px;
        min-width: auto;
        max-width: 100%;
        box-shadow: 0 10px 35px rgba(0,0,0,0.25);
    }

    #google-search {
        width: 100%;
        border-radius: 30px 0 0 30px;
    }

    #google-search-button {
        border-radius: 0 30px 30px 0;
    }
}
/* Commissioners Page Specific */
.commissioners-page-container {
    max-width: 1100px;
    margin: 60px auto 40px;
    padding: 0 15px;
}

.commissioner-item {
    text-align: center;
    margin-bottom: 30px;
}

.commissioner-photo {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 20px;
    margin-bottom: 15px;
    box-shadow: 0 6px 20px rgba(13,43,94,0.12); /* using --green-dark base */
}

.commissioner-name {
    font-size: 17px;
    font-weight: 600;
    color: var(--text);
    margin: 0 0 12px;
}

.commissioner-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: center;
}

.email-btn {
    background: var(--gold) !important;
    color: var(--green-dark) !important;
}

.find-my-commissioner-section {
    background: linear-gradient(135deg, var(--green-dark), var(--green));
    border-radius: 24px;
    padding: clamp(30px, 8vw, 50px) clamp(20px, 5vw, 40px);
    margin: 50px 0;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    border: 3px solid var(--gold);
    color: white;
}

    .find-my-commissioner-section h3 {
        font-size: clamp(28px, 7vw, 38px);
        margin-bottom: 20px;
        text-shadow: 0 2px 8px rgba(0,0,0,0.3);
    }

    .find-my-commissioner-section p {
        font-size: clamp(16px, 4vw, 20px);
        color: #f0f0f0;
        margin-bottom: 30px;
        max-width: 800px;
        margin-left: auto;
        margin-right: auto;
    }

.board-description {
    background: rgba(201,162,39,0.08); /* light gold tint */
    border-radius: 16px;
    padding: clamp(25px, 6vw, 40px);
    margin: 40px 0;
    line-height: 1.8;
    font-size: 17px;
    color: #444;
}

.section-subheading {
    font-family: 'Playfair Display', serif;
    font-size: clamp(24px, 6vw, 28px);
    color: var(--green-dark);
    margin: 50px 0 20px;
    padding-bottom: 12px;
    border-bottom: 3px solid var(--gold);
    position: relative;
    display: inline-block;
}

    .section-subheading::after {
        content: '';
        position: absolute;
        bottom: -3px;
        left: 0;
        width: 80px;
        height: 3px;
        background: var(--gold);
        border-radius: 2px;
    }

.county-attorney,
.officer-group {
    font-size: 17px;
    line-height: 1.8;
    color: #444;
}

.officer-list {
    font-size: 18px;
    line-height: 2.2;
    margin: 0;
    padding-left: 20px;
    list-style: none;
}

    .officer-list li a {
        color: var(--green-dark);
        font-weight: 600;
        text-decoration: none;
    }

/* Modal tweaks (override Bootstrap defaults if needed) */
.modal-header {
    background: var(--green-dark);
    color: white;
}

.btn-success {
    background-color: var(--green-dark) !important;
    border-color: var(--green-dark) !important;
}
/* ================================================
   Navbar Toggle – Mobile Hamburger Menu
   Premium, theme-matched styling
   ================================================ */

/* Base toggle button */
.navbar-toggle {
    border: none !important; /* remove default border */
    background: transparent !important;
    padding: 10px 12px !important;
    margin: 12px 15px !important; /* better spacing */
    border-radius: 50% !important; /* modern pill/circle look */
    transition: all 0.35s ease !important;
}

    /* Icon bars – thicker, rounded, theme-colored */
    .navbar-toggle .icon-bar {
        background-color: var(--green-dark) !important;
        height: 3px !important;
        width: 26px !important;
        margin: 5px auto !important;
        border-radius: 3px !important;
        transition: all 0.35s ease !important;
    }

    /* Hover / focus state – subtle glow + color shift */
    .navbar-toggle:hover,
    .navbar-toggle:focus,
    .navbar-toggle:active {
        background: rgba(26, 92, 71, 0.1) !important; /* very light --green-dark tint */
        box-shadow: 0 0 0 4px rgba(74, 139, 158, 0.25) !important; /* --green-light glow */
        transform: scale(1.08) !important; /* gentle zoom */
    }

    /* When menu is OPEN (not collapsed) */
    .navbar-toggle:not(.collapsed) {
        background: var(--green) !important; /* filled vibrant green */
        transform: rotate(90deg) !important; /* fun rotation when open */
    }

        .navbar-toggle:not(.collapsed) .icon-bar {
            background-color: white !important; /* white bars on green bg */
        }

            /* Animated X transformation when open */
            .navbar-toggle:not(.collapsed) .icon-bar:nth-child(1) {
                transform: rotate(45deg) translate(6px, 6px);
            }

            .navbar-toggle:not(.collapsed) .icon-bar:nth-child(2) {
                opacity: 0;
                transform: scale(0);
            }

            .navbar-toggle:not(.collapsed) .icon-bar:nth-child(3) {
                transform: rotate(-45deg) translate(6px, -6px);
            }

/* Mobile-specific tweaks – bigger tap area */
@media (max-width: 767px) {
    .navbar-toggle {
        padding: 14px 16px !important;
        margin-right: 20px !important;
    }

        .navbar-toggle .icon-bar {
            width: 30px !important;
            height: 4px !important;
            margin: 6px auto !important;
        }
}

/* Blossom variant – pink accents on hover/open */
.navbar-toggle:hover,
.navbar-toggle:focus {
    background: rgba(240, 98, 146, 0.08) !important; /* --blossom tint */
    box-shadow: 0 0 0 4px rgba(248, 187, 208, 0.3) !important; /* --blossom-light glow */
}

.navbar-toggle:not(.collapsed) {
    background: var(--blossom) !important;
}

    .navbar-toggle:not(.collapsed) .icon-bar {
        background-color: white !important;
    }
/* Structural H1 Reset for AIM Compliance */
.site-title {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    display: inline-block;
    font-size: 0; /* Hides any accidental whitespace */
}

    .site-title a {
        display: block;
        text-decoration: none;
    }
.header-logo-dynamic {
    /* Use the variable defined in your root files */
    background-image: var(--logo-url);
    /* Set the dimensions to match your original logo aspect ratio */
    width: 300px;
    height: 100px;
    /* Ensure it scales nicely */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
}

/* Mobile adjustment if needed */
@media (max-width: 768px) {
    .header-logo-dynamic {
        width: 200px;
        height: 67px;
    }
}

/* Social Link Hover Effects */
.nav-social-link i {
    transition: all 0.3s ease;
    margin-right: 5px;
}

.nav-social-link:hover .fa-youtube {
    color: #FF0000;
    transform: scale(1.1);
}

.nav-social-link:hover .fa-facebook-f {
    color: #1877F2;
    transform: scale(1.1);
}

/* Utility Icons (Palette, Search, Translate) */
.nav-utility-icon {
    color: var(--sand);
    font-size: 18px;
    transition: color 0.3s ease;
    cursor: pointer;
}

    .nav-utility-icon:hover {
        color: var(--gold);
    }

/* Hide the actual Google Translate text but keep the element functional */
#google_translate_element {
    display: none;
}

    #google_translate_element.visible {
        display: block;
        position: absolute;
        right: 0;
        top: 50px;
        z-index: 1000;
        background: white;
        padding: 10px;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    }

/* --- Premiere Navigation with Root Variables --- */
.navbar.navbar-default {
    background-color: var(--green); /* Primary Branding */
    height: var(--nav-height);
    border: none;
    border-bottom: 3px solid var(--gold); /* The 'Premiere' Accent Line */
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    margin-bottom: 0;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

    /* Container alignment to match nav-height */
    .navbar.navbar-default .container {
        height: 100%;
        display: flex;
        align-items: center;
    }

/* Main Link Styling */
.navbar-default .navbar-nav > li > a {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: var(--sand) !important; /* High contrast text */
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 25px 15px;
    transition: all 0.3s ease;
    text-shadow: var(--text-shadow);
}

    /* Elegant Hover State */
    .navbar-default .navbar-nav > li > a:hover {
        color: var(--gold) !important;
        background-color: var(--glass-bg); /* Subtle glass highlight */
    }

    /* The Gold Indicator Bar */
    .navbar-default .navbar-nav > li > a::after {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 4px;
        background-color: var(--gold);
        transform: scaleX(0);
        transition: transform 0.3s ease;
    }

    .navbar-default .navbar-nav > li > a:hover::after {
        transform: scaleX(1);
    }

/* Social & Utility Icons */
.nav-social-link, .nav-utility-icon {
    color: var(--sand) !important;
    font-size: 1.2rem;
    padding: 10px;
    border-radius: 50%;
    transition: background-color 0.3s ease;
}

    .nav-social-link:hover, .nav-utility-icon:hover {
        background-color: var(--glass-bg);
        color: var(--gold) !important;
    }

/* Mobile Toggle Customization */
.navbar-default .navbar-toggle {
    border: 1px solid var(--glass-border);
    background-color: var(--glass-bg);
}

    .navbar-default .navbar-toggle .icon-bar {
        background-color: var(--sand);
    }

/* Search Dropdown - Using variables for consistency */
#search-form-wrapper {
    background-color: var(--gray-light);
    border-top: 4px solid var(--gold);
    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    color: var(--text);
}


@media (max-width: 767px) {
    header {
        padding: 10px 15px !important;
        justify-content: space-between !important;
    }

    .header-logo {
        height: 80px !important; /* Makes logo more legible on phones */
        padding: 5px !important;
    }

    .site-title {
        font-size: 22px !important; /* Prevents text from wrapping awkwardly */
    }
}
/* ====================================
   MAIN NAVIGATION – Mobile Responsive Fix
   ==================================== */

/* Shared nav wrapper styling */
.nav-wrap {
    background: var(--sand);
    border-bottom: 1px solid var(--border);
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    position: relative; /* Ensures child z-indexing works */
}

/* DESKTOP: Center and flex the nav items */
@media (min-width: 768px) {
    .navbar-nav {
        display: flex !important;
        justify-content: center;
        flex-wrap: wrap;
        gap: 0 25px;
        width: 100%;
        padding: 12px 0;
    }
}

@media (max-width: 767px) {

    /* Panel background – slightly off-white for depth + better contrast */
    .navbar-collapse {
        background-color: var(--sand) !important; /* #f9f8f4 – warm off-white */
        /* or try: background-color: var(--gray-light) !important;  for cooler tone */
        border-top: 5px solid var(--gold) !important;
        box-shadow: 0 10px 40px rgba(0,0,0,0.3) !important;
        padding: 20px 0 !important;
        margin: 0 !important;
        max-height: 85vh !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        position: absolute !important;
        width: 100% !important;
        left: 0 !important;
        top: 100% !important;
        z-index: 9999 !important;
    }

    /* Force vertical stack */
    .navbar-nav {
        margin: 10px 0 !important;
        padding: 0 20px !important;
        display: block !important;
    }

        .navbar-nav > li {
            display: block !important;
            margin: 8px 0 !important;
        }

    /* Highest specificity override for link color – kills white/ghost text */
    .navbar-collapse .navbar-nav > li > a,
    .navbar-collapse .navbar-nav > li > a:link,
    .navbar-collapse .navbar-nav > li > a:visited {
        color: var(--text) !important; /* #1e2a2a – dark charcoal */
        background: #ffffff !important; /* white cards for items */
        display: block !important;
        padding: 16px 24px !important;
        font-weight: 700 !important;
        font-size: 17px !important;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        border-radius: 10px;
        border-left: 6px solid var(--green-dark) !important;
        box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
        transition: all 0.25s ease;
        text-shadow: none !important; /* remove any inherited shadow making it look washed */
    }

        /* Hover / active – strong brand contrast */
        .navbar-collapse .navbar-nav > li > a:hover,
        .navbar-collapse .navbar-nav > li > a:focus,
        .navbar-collapse .navbar-nav > li > a:active {
            background: var(--green-dark) !important;
            color: white !important;
            border-left-color: var(--gold) !important;
            padding-left: 32px !important;
            box-shadow: 0 6px 16px rgba(26,92,71,0.3) !important;
        }

    /* Dropdowns – match the strong color override */
    .navbar-collapse .navbar-nav .dropdown-menu {
        position: static !important;
        width: 100% !important;
        background: var(--gray-light) !important; /* light tint for nesting */
        border: none !important;
        box-shadow: none !important;
        margin: 0 !important;
        padding: 10px 0 10px 30px !important;
    }

        .navbar-collapse .navbar-nav .dropdown-menu > li > a {
            color: var(--text) !important;
            font-weight: 600 !important;
            font-size: 16px !important;
            padding: 12px 24px !important;
            border-radius: 8px;
        }

            .navbar-collapse .navbar-nav .dropdown-menu > li > a:hover {
                background: rgba(26,92,71,0.12) !important;
                color: var(--green-dark) !important;
            }

    /* Hamburger – ensure visibility */
    .navbar-default .navbar-toggle {
        background: var(--green-dark) !important;
        border: none !important;
        border-radius: 10px !important;
        margin-right: 15px !important;
        padding: 14px 16px !important;
    }

        .navbar-default .navbar-toggle .icon-bar {
            background-color: white !important;
            height: 4px !important;
            width: 28px !important;
        }
}