.notices-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:2rem}.notice-card{background:var(--light-gold);padding:1.5rem;border-radius:8px;border-left:4px solid var(--gold)}.notice-card h3{color:var(--primary-green);margin-bottom:.5rem}.notice-card .notice-date{color:var(--text-light);font-size:.9rem;margin-bottom:.5rem}.info-box{background:var(--light-gold);padding:1.5rem;border-radius:8px;margin:1rem 0;border:2px solid var(--gold)}.info-box h4{color:var(--primary-green);margin-bottom:.5rem}.map-container{margin:1.5rem 0;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0003}.map-container iframe{display:block;width:100%}@media(max-width:768px){.notices-container{grid-template-columns:1fr}.map-container iframe{height:300px}}@media(max-width:480px){.map-container iframe{height:250px}}.calendar-container{background:var(--white);padding:1rem;border-radius:8px;overflow-x:auto}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.calendar-month{margin:0;font-size:1.25rem}.calendar-nav{background:#f5f5f5;border:1px solid #ddd;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem}.calendar-nav:hover{background:#e0e0e0}.calendar-grid{width:100%;border-collapse:collapse;table-layout:fixed}.calendar-grid th{padding:.5rem;text-align:center;background-color:#f5f5f5;font-weight:600;color:#333;border:1px solid #e0e0e0}.calendar-day{height:80px;vertical-align:top;padding:.25rem;border:1px solid #e0e0e0;background:#fff}.calendar-day.empty{background:#fafafa}.calendar-day.has-event{background:#f0f7ff}.day-number{font-weight:600;font-size:.875rem;color:#333;margin-bottom:.25rem}.day-events{font-size:.7rem}.event-dot{background:#2f4f2f;color:#fff;padding:2px 4px;border-radius:3px;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}a.event-dot{display:block;text-decoration:none;transition:all .3s ease}a.event-dot:hover{background:#d4af37}.calendar-table a{color:#2f4f2f;text-decoration:none;font-weight:600;border-bottom:2px solid transparent;transition:all .3s ease}.calendar-table a:hover{color:#d4af37;border-bottom:2px solid #d4af37}.calendar-table{width:100%;border-collapse:collapse;margin-top:1rem}.calendar-table th,.calendar-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e0e0e0}.calendar-table th{background-color:#f5f5f5;font-weight:600;color:#333}.calendar-table tbody tr:hover{background-color:#f9f9f9}.calendar-table tbody tr:last-child td{border-bottom:none}@media(max-width:600px){.calendar-day{height:60px;font-size:.75rem}.event-dot{font-size:.6rem}.calendar-nav{padding:.25rem .5rem;font-size:.75rem}}.officers-container{margin-top:1rem;overflow-x:auto}.officers-table,.meetings-table{width:100%;border-collapse:collapse;background-color:#fff;margin:20px 0;font-size:.95em;border-radius:8px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.officers-table thead tr,.meetings-table thead tr{background-color:#2f4f2f;color:#fff;text-align:left;font-weight:700}.officers-table th,.officers-table td,.meetings-table th,.meetings-table td{padding:12px 15px}.officers-table tbody tr,.meetings-table tbody tr{border-bottom:1px solid #dddddd}.officers-table tbody tr:nth-of-type(2n),.meetings-table tbody tr:nth-of-type(2n){background-color:#f9f9f9}.officers-table tbody tr:hover,.meetings-table tbody tr:hover{background-color:#f1f1f1;cursor:default}.officers-table tbody tr:last-child td,.meetings-table tbody tr:last-child td{border-bottom:none}.documents-cell a,.officers-table a,.meetings-table a{color:#2f4f2f;text-decoration:none;font-weight:600;border-bottom:2px solid transparent;transition:all .3s ease}.documents-cell a:hover,.officers-table a:hover,.meetings-table a:hover{color:#d4af37;border-bottom:2px solid #d4af37}.doc-separator{margin:0 .5rem;color:#999}.community-layout{display:grid;grid-template-columns:2fr 1fr;gap:2rem}.community-main{display:flex;flex-direction:column;gap:2rem}.community-sidebar{display:flex;flex-direction:column;gap:1.5rem}.image-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}.gallery-item{position:relative;overflow:hidden;border-radius:8px}.gallery-item img{width:100%;height:150px;object-fit:cover;display:block;transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:1.5rem .75rem .5rem;color:#fff;font-size:.8rem;font-weight:600}.pricing-section{background:var(--light-gold)!important}.pricing-section h3{color:var(--primary-green);margin-top:0}.pricing-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.pricing-list{display:flex;flex-direction:column;gap:.5rem}.pricing-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid rgba(45,80,22,.2);font-size:.9rem;color:var(--primary-green)}.pricing-item .price{font-weight:700}.booking-actions{display:flex;flex-direction:column;gap:.75rem}.booking-actions p{margin:0 0 .5rem;font-size:.875rem;color:var(--primary-green)}.btn-primary{background:var(--primary-green);color:#fff;text-align:center;padding:.75rem 1rem;border-radius:8px;text-decoration:none;font-weight:600;transition:background .3s ease}.btn-primary:hover{background:var(--secondary-green)}.btn-facebook{background:#1877f2;color:#fff;text-align:center;padding:.75rem 1rem;border-radius:8px;text-decoration:none;font-weight:600;transition:background .3s ease}.btn-facebook:hover{background:#166fe5}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-top:1.5rem;border-top:1px solid rgba(45,80,22,.2);font-size:.875rem;color:var(--primary-green)}.contact-item{display:flex;flex-direction:column;gap:.25rem}.sidebar-card{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.sidebar-card h3{color:var(--primary-green);margin:0 0 1rem;font-size:1.1rem;padding-bottom:.5rem;border-bottom:2px solid var(--gold)}.sidebar-item{margin-bottom:1rem}.sidebar-label{display:block;font-size:.7rem;text-transform:uppercase;color:#999;font-weight:700;letter-spacing:.05em;margin-bottom:.25rem}.sidebar-value{display:block;font-weight:600;color:var(--text-dark)}.schedule-display{display:flex;align-items:flex-start;gap:.75rem;margin-top:.25rem}.schedule-day{font-size:1.5rem;font-weight:700;color:var(--primary-green)}.schedule-details{font-size:.875rem;color:var(--text-light);line-height:1.4}.sidebar-alert{background:#fff3cd;border-left:4px solid #ffc107;padding:.75rem;font-size:.875rem;color:#856404;margin-top:1rem}.sidebar-note{font-size:.8rem;color:#555;margin-top:.75rem;padding:.5rem .75rem;background:#f5f5f5;border-radius:4px}.poi-item{padding:.75rem;border-radius:6px;transition:background .2s ease;margin-bottom:.5rem}.poi-item:hover{background:var(--light-gray)}.poi-title{font-weight:600;font-size:.875rem;color:var(--text-dark)}.poi-desc{font-size:.75rem;color:var(--text-light);margin-top:.25rem}.poi-item a{display:inline-block;font-size:.75rem;color:var(--primary-green);text-decoration:none;font-weight:600;margin-top:.5rem;padding:.25rem .5rem;background:var(--light-gold);border-radius:4px;transition:background .2s ease}.poi-item a:hover{background:var(--gold);color:var(--primary-green)}@media(max-width:900px){.community-layout,.pricing-grid,.contact-grid{grid-template-columns:1fr}.image-gallery{grid-template-columns:1fr 1fr}}@media(max-width:480px){.image-gallery{grid-template-columns:1fr}}.election-hero-banner{background-color:#2f4f2f;color:#fff;padding:2rem;border-radius:12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.election-date-label{font-size:.85em;opacity:.9;letter-spacing:1px}.election-date-big{font-size:2.5em;font-weight:700;line-height:1.1}.election-name{margin-top:5px;font-size:1em}.election-polls-info{text-align:right}.polls-label{font-size:.9em;opacity:.9}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.action-box{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;text-align:center;box-shadow:0 2px 4px #0000000d}.action-box.map-box{border:2px solid #d4af37}.action-box h3{margin:0 0 .5rem;font-size:1.1em;color:#333;display:flex;align-items:center;justify-content:center;gap:.25rem}.action-box p{font-size:.9em;color:#666;margin-bottom:1.25rem;min-height:2.5em}.btn-main{display:inline-block;background-color:#2f4f2f;color:#fff;padding:.75rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:600;transition:all .3s ease}.btn-main:hover{background-color:#d4af37;color:#2f4f2f}.btn-secondary{display:inline-block;background-color:#d4af37;color:#2f4f2f;padding:.75rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:600;transition:all .3s ease}.btn-secondary:hover{background-color:#2f4f2f;color:#d4af37}.voter-alert{display:flex;gap:1rem;background:#f0f7f0;border:2px solid #2f4f2f;border-radius:12px;padding:1.5rem;margin-top:2rem;border-left:6px solid #2f4f2f}.voter-alert-icon{font-size:2rem;flex-shrink:0}.voter-alert-content{flex:1}.voter-alert-content h3{margin:0 0 .5rem;color:#2f4f2f;font-size:1.2em}.voter-alert-content p{margin:0 0 1rem;color:#333;font-size:.95em}.voter-requirements{display:flex;flex-wrap:wrap;gap:.5rem}.requirement-tag{display:inline-flex;align-items:center;gap:.25rem;background:#fff;border:1px solid #2f4f2f;color:#2f4f2f;padding:.4rem .75rem;border-radius:20px;font-size:.85em;font-weight:500}.election-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}.dashboard-column{display:flex;flex-direction:column;gap:1.5rem}.dashboard-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d}.dashboard-card.clerk-card{background:#fdf8e8}.dashboard-card h3{margin:0 0 1rem;font-size:1.1em;color:#2f4f2f;display:flex;align-items:center;gap:.5rem}.dashboard-card h4{margin:1rem 0 .5rem;font-size:.95em;color:#333}.dashboard-card ul{margin:0;padding-left:1.25rem}.dashboard-card li{margin-bottom:.5rem;font-size:.9em;color:#555}.dashboard-card p{margin:.5rem 0;font-size:.9em;color:#555}.election-list{display:flex;flex-direction:column;gap:.75rem}.election-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f9f9f9;border-radius:6px;border-left:3px solid #d4af37}.election-item-name{font-weight:600;color:#333}.election-item-date{color:#666;font-size:.9em}.election-table{width:100%;border-collapse:collapse;margin-top:1rem}.election-table th,.election-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #e0e0e0}.election-table th{background-color:#f5f5f5;font-weight:600;color:#333}.election-table tbody tr:hover{background-color:#f9f9f9}.election-table tbody tr:last-child td{border-bottom:none}@media(max-width:768px){.election-dashboard{grid-template-columns:1fr}.election-hero-banner{flex-direction:column;text-align:center;gap:1rem}.election-polls-info{text-align:center}.election-date-big{font-size:2em}.action-grid{grid-template-columns:1fr}.action-box p{min-height:auto}}.header-with-image{position:relative;width:100%;margin:0;padding:0}.header-image-container{position:relative;width:100%;height:400px;overflow:hidden}.header-background-image{width:100%;height:100%;object-fit:cover;object-position:50% 80%;display:block}.header-text-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;width:30%;min-width:300px;z-index:10;background:#2d5016cc;padding:1rem;border-radius:8px;box-shadow:0 4px 12px #00000080}.header-text-overlay h1{font-size:3rem;margin-bottom:.5rem;color:var(--gold);text-shadow:2px 2px 4px rgba(0,0,0,.5);font-weight:700;white-space:nowrap}.header-text-overlay p{font-size:1.5rem;color:var(--light-gold);margin:0;text-shadow:1px 1px 3px rgba(0,0,0,.5)}nav{background-color:var(--secondary-green);padding:0;box-shadow:0 2px 5px #0000001a;position:sticky;top:0;z-index:1000}nav ul{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:0;padding:0;margin:0}nav li{margin:0}nav a{display:block;text-decoration:none;color:var(--white);font-weight:700;padding:1rem 1.5rem;transition:background-color .3s ease}nav a:hover{background-color:var(--gold);color:var(--primary-green)}nav a.active{background-color:var(--gold);color:var(--primary-green)}nav a:focus,nav a:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}button:focus,button:focus-visible,a:focus,a:focus-visible,input:focus,input:focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-to-main{position:absolute;left:-9999px;z-index:999;padding:1em;background-color:var(--gold);color:var(--primary-green);text-decoration:none;font-weight:700}.skip-to-main:focus{left:50%;transform:translate(-50%);top:10px}@media(max-width:768px){.header-image-container{height:300px}.header-text-overlay{padding:1.5rem 2rem}.header-text-overlay h1{font-size:2rem}.header-text-overlay p{font-size:1.2rem}nav ul{flex-direction:column;text-align:center}nav a{padding:.75rem 1rem}}@media(max-width:480px){.header-image-container{height:250px}.header-text-overlay{padding:1rem 1.5rem}.header-text-overlay h1{font-size:1.5rem}.header-text-overlay p{font-size:1rem}}:root{--primary-green: #2d5016;--secondary-green: #4a7c2c;--gold: #d4af37;--light-gold: #f4e5b8;--white: #ffffff;--light-gray: #f5f5f5;--text-dark: #333333;--text-light: #666666}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Arial,sans-serif;line-height:1.6;color:var(--text-dark);background-color:var(--light-gray)}main{max-width:1200px;margin:2rem auto;padding:0 1rem}.content-section{background:var(--white);padding:2rem;margin-bottom:2rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.content-section h2{color:var(--primary-green);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:3px solid var(--gold);font-size:1.8rem}.content-section h3{color:var(--secondary-green);margin-top:1.5rem;margin-bottom:.5rem;font-size:1.4rem}.btn{display:inline-block;background-color:var(--gold);color:var(--primary-green);padding:.75rem 1.5rem;text-decoration:none;border-radius:5px;font-weight:700;transition:all .3s ease;border:2px solid var(--gold);cursor:pointer}.btn:hover{background-color:var(--primary-green);color:var(--gold);border-color:var(--primary-green)}.content-section ul,.content-section ol{margin-left:2rem;margin-top:.5rem;margin-bottom:1rem}.content-section li{margin-bottom:.5rem;color:var(--text-dark)}table{width:100%;border-collapse:collapse;margin:1rem 0}thead{background-color:var(--primary-green);color:var(--white)}th{padding:1rem;text-align:left;font-weight:700}td{padding:.75rem;border-bottom:1px solid #ddd}tbody tr:hover{background-color:var(--light-gold)}footer{background-color:var(--primary-green);color:var(--white);text-align:center;padding:2rem 1rem;margin-top:3rem}footer p{margin-bottom:.5rem}footer a{color:var(--gold);text-decoration:none}footer a:hover{text-decoration:underline}@media(max-width:768px){.content-section{padding:1.5rem}table{font-size:.9rem}th,td{padding:.5rem}}@media(max-width:480px){.content-section{padding:1rem}.content-section h2{font-size:1.4rem}.table-container{overflow-x:auto}}.text-center{text-align:center}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mb-1{margin-bottom:1rem}.mb-2{margin-bottom:2rem}.highlight{background-color:var(--light-gold);padding:.25rem .5rem;border-radius:3px}
