/** * municipal.css - Municipal Holiday Lighting Programs * Holiday Lights Decor - Multi-Franchise Template * * Professional government/civic design. Uses GLOBAL palette with * dark-green primary instead of navy for brand consistency. * * Loaded via:$page_css = ['municipal.css'] * Dependencies:main.css (global),pages-common.css (breadcrumb,FAQ,section-header) * * @version 12.0.0 (UNIFIED PALETTE) */ /* ========================================================================== MUNICIPAL VARIABLES — mapped to global palette ========================================================================== */ :root{--muni-navy:var(--color-primary-dark);--muni-navy-mid:#1e5c35;--muni-navy-light:var(--color-primary);--muni-gold:var(--color-gold);--muni-gold-light:var(--color-gold-light);--muni-gold-pale:rgba(212,175,55,0.08);--muni-slate:#3b6b4f;--muni-light:var(--color-bg-alt);--muni-border:#dfe3ea;--muni-text:var(--color-text);--muni-text-muted:var(--color-text-muted);--muni-radius:12px;--muni-radius-lg:20px;} /* ========================================================================== HERO — Split layout with floating card ========================================================================== */ .muni-hero{position:relative;min-height:580px;display:flex;align-items:center;overflow:hidden;background:var(--muni-navy);padding-top:var(--header-height);} .muni-hero-bg{position:absolute;inset:0;pointer-events:none;} .muni-hero-image{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0.15;} .muni-hero-gradient{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 80%,rgba(212,175,55,0.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(212,175,55,0.04) 0%,transparent 50%),linear-gradient(160deg,var(--muni-navy) 0%,var(--muni-navy-mid) 100%);} .muni-hero-pattern{position:absolute;inset:0;opacity:0.03;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='1'%3E%3Cpath d='M20 0v40M0 20h40' stroke='%23ffffff' stroke-width='0.5' fill='none'/%3E%3C/g%3E%3C/svg%3E");} .muni-hero .snow-container{z-index:1;} .muni-hero .container{position:relative;z-index:2;} .muni-hero-grid{display:grid;grid-template-columns:1fr 380px;gap:60px;align-items:center;padding:60px 0 50px;} .muni-hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(212,175,55,0.1);border:1px solid rgba(212,175,55,0.2);color:var(--muni-gold);padding:6px 16px;border-radius:50px;font-size:0.78rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:20px;} .muni-hero-badge svg{width:14px;height:14px;} .muni-hero h1{font-size:clamp(2rem,4.5vw,3rem);color:#fff;font-weight:800;line-height:1.15;margin-bottom:16px;} .muni-hero h1 span{color:var(--muni-gold);} .muni-hero-lead{color:rgba(255,255,255,0.65);font-size:1.05rem;line-height:1.75;margin-bottom:28px;max-width:580px;} .muni-hero-metrics{display:flex;align-items:center;gap:0;margin-bottom:32px;flex-wrap:wrap;} .muni-metric{text-align:center;padding:0 20px;} .muni-metric:first-child{padding-left:0;} .muni-metric strong{display:block;font-family:var(--font-heading);font-size:1.5rem;font-weight:800;color:var(--muni-gold-light);line-height:1;margin-bottom:4px;} .muni-metric span{font-size:0.72rem;color:rgba(255,255,255,0.45);text-transform:uppercase;letter-spacing:0.04em;font-weight:500;} .muni-metric-divider{width:1px;height:36px;background:rgba(255,255,255,0.1);flex-shrink:0;} .muni-hero-actions{display:flex;gap:12px;flex-wrap:wrap;} .muni-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;background:var(--muni-gold);color:var(--muni-navy);font-weight:700;font-size:0.92rem;border-radius:8px;text-decoration:none;border:2px solid var(--muni-gold);transition:all 0.3s;} .muni-btn-primary:hover{background:var(--muni-gold-light);border-color:var(--muni-gold-light);transform:translateY(-1px);box-shadow:0 6px 20px rgba(212,175,55,0.25);} .muni-btn-primary svg{width:16px;height:16px;} .muni-btn-outline{display:inline-flex;align-items:center;gap:8px;padding:13px 30px;border:2px solid rgba(255,255,255,0.2);border-radius:8px;color:#fff;font-weight:600;font-size:0.92rem;text-decoration:none;transition:all 0.3s;} .muni-btn-outline:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.4);} .muni-btn-outline svg{width:16px;height:16px;} .muni-hero-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:var(--muni-radius-lg);padding:28px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);} .muni-hero-card-header{display:flex;align-items:center;gap:10px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,0.08);} .muni-hero-card-header svg{width:20px;height:20px;color:var(--muni-gold);} .muni-hero-card-header span{font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:rgba(255,255,255,0.5);} .muni-hero-card-list{display:flex;flex-direction:column;gap:18px;} .muni-client-row{display:flex;align-items:center;gap:14px;} .muni-client-icon{width:40px;height:40px;background:rgba(212,175,55,0.1);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;} .muni-client-icon svg{width:18px;height:18px;color:var(--muni-gold);} .muni-client-row strong{display:block;font-size:0.9rem;color:#fff;font-weight:600;margin-bottom:1px;} .muni-client-row span{font-size:0.78rem;color:rgba(255,255,255,0.4);} /* ========================================================================== CAPABILITIES — Numbered cards ========================================================================== */ .muni-capabilities{padding:90px 0;background:#fff;} .muni-cap-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;} .muni-cap-card{position:relative;background:var(--muni-light);border:1px solid var(--muni-border);border-radius:var(--muni-radius-lg);padding:36px 32px 32px;transition:all 0.3s ease;} .muni-cap-card:hover{border-color:var(--muni-gold);box-shadow:0 8px 30px rgba(26,71,42,0.06);transform:translateY(-3px);} .muni-cap-number{position:absolute;top:20px;right:24px;font-family:var(--font-heading);font-size:2.5rem;font-weight:800;color:rgba(26,71,42,0.04);line-height:1;pointer-events:none;} .muni-cap-icon{width:50px;height:50px;background:var(--muni-navy);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:var(--muni-gold);} .muni-cap-icon svg{width:24px;height:24px;} .muni-cap-card h3{font-size:1.15rem;color:var(--muni-text);margin-bottom:10px;} .muni-cap-card > p{font-size:0.9rem;color:var(--muni-text-muted);line-height:1.7;margin-bottom:18px;} .muni-cap-features{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;} .muni-cap-features li{position:relative;font-size:0.82rem;color:var(--muni-text-muted);padding-left:18px;} .muni-cap-features li::before{content:'';position:absolute;left:0;top:7px;width:6px;height:6px;background:var(--muni-gold);border-radius:50%;} /* ========================================================================== PROCESS — Vertical timeline ========================================================================== */ .muni-process{padding:90px 0;background:var(--muni-light);} .muni-process-timeline{max-width:680px;margin:0 auto;position:relative;} .muni-process-step{display:flex;gap:28px;position:relative;} .muni-process-step:not(:last-child){padding-bottom:40px;} .muni-step-marker{position:relative;flex-shrink:0;display:flex;flex-direction:column;align-items:center;} .muni-step-marker span{width:44px;height:44px;background:var(--muni-navy);color:var(--muni-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:1.1rem;font-weight:700;position:relative;z-index:2;box-shadow:0 4px 12px rgba(26,71,42,0.15);} .muni-step-line{width:2px;flex:1;background:var(--muni-border);margin-top:8px;} .muni-process-step:last-child .muni-step-line{display:none;} .muni-step-body{padding-top:8px;} .muni-step-body h3{font-size:1.1rem;color:var(--muni-text);margin-bottom:8px;} .muni-step-body p{font-size:0.9rem;color:var(--muni-text-muted);line-height:1.7;} /* ========================================================================== PROJECTS — Featured case study cards ========================================================================== */ .muni-projects{padding:90px 0;background:#fff;} .muni-projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;} .muni-project-card{border-radius:var(--muni-radius-lg);overflow:hidden;border:1px solid var(--muni-border);background:#fff;transition:all 0.3s;} .muni-project-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px rgba(26,71,42,0.1);} .muni-project-image{position:relative;height:200px;background-size:cover;background-position:center;} .muni-project-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,71,42,0.8) 0%,transparent 60%);display:flex;align-items:flex-end;padding:16px;} .muni-project-tag{background:var(--muni-gold);color:var(--muni-navy);padding:4px 12px;border-radius:50px;font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;} .muni-project-body{padding:24px;} .muni-project-body h3{font-size:1.15rem;color:var(--muni-text);margin-bottom:10px;} .muni-project-body > p{font-size:0.88rem;color:var(--muni-text-muted);line-height:1.65;margin-bottom:20px;} .muni-project-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:16px;border-top:1px solid var(--muni-border);} .muni-project-stat{text-align:center;} .muni-project-stat strong{display:block;font-family:var(--font-heading);font-size:1.25rem;font-weight:800;color:var(--muni-navy);line-height:1;margin-bottom:3px;} .muni-project-stat span{font-size:0.7rem;color:var(--muni-text-muted);text-transform:uppercase;letter-spacing:0.03em;} /* ========================================================================== TRUST — Why municipalities choose us ========================================================================== */ .muni-trust{padding:90px 0;background:var(--muni-navy);} .muni-trust .section-label{color:var(--muni-gold);} .muni-trust .section-title{color:#fff;} .muni-trust .section-subtitle{color:rgba(255,255,255,0.55);} .muni-trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;} .muni-trust-card{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);border-radius:var(--muni-radius);padding:30px 24px;text-align:center;transition:all 0.3s;} .muni-trust-card:hover{background:rgba(255,255,255,0.07);border-color:rgba(212,175,55,0.15);transform:translateY(-3px);} .muni-trust-icon{width:50px;height:50px;background:rgba(212,175,55,0.08);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--muni-gold);} .muni-trust-icon svg{width:22px;height:22px;} .muni-trust-card h3{font-size:1rem;color:#fff;margin-bottom:8px;} .muni-trust-card p{font-size:0.82rem;color:rgba(255,255,255,0.45);line-height:1.6;} /* ========================================================================== CONSULTATION FORM SECTION ========================================================================== */ .muni-form-section{padding:90px 0 100px;background:var(--muni-light);} .muni-form-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start;} .muni-form-badge{display:inline-block;background:var(--muni-gold-pale);border:1px solid rgba(212,175,55,0.2);color:var(--muni-gold);padding:5px 14px;border-radius:50px;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;margin-bottom:16px;} .muni-form-info h2{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--muni-text);margin-bottom:14px;line-height:1.2;} .muni-form-info > p{font-size:0.95rem;color:var(--muni-text-muted);line-height:1.75;margin-bottom:30px;} .muni-form-benefits{display:flex;flex-direction:column;gap:14px;margin-bottom:36px;} .muni-form-benefit{display:flex;align-items:flex-start;gap:12px;} .muni-form-benefit svg{width:18px;height:18px;color:var(--color-primary);flex-shrink:0;margin-top:2px;} .muni-form-benefit span{font-size:0.9rem;color:var(--muni-text);line-height:1.5;} .muni-form-contact{padding-top:24px;border-top:1px solid var(--muni-border);} .muni-form-contact p{font-size:0.82rem;color:var(--muni-text-muted);margin-bottom:10px;font-weight:500;} .muni-form-phone,.muni-form-email{display:inline-flex;align-items:center;gap:8px;font-size:0.95rem;font-weight:600;color:var(--muni-text);text-decoration:none;transition:color 0.2s;margin-right:24px;margin-bottom:8px;} .muni-form-phone:hover,.muni-form-email:hover{color:var(--color-primary);} .muni-form-phone svg,.muni-form-email svg{width:18px;height:18px;color:var(--color-primary);} .muni-form-card{background:#fff;border:1px solid var(--muni-border);border-radius:var(--muni-radius-lg);overflow:hidden;box-shadow:0 8px 30px rgba(26,71,42,0.06);} .muni-form-card-header{background:var(--muni-navy);padding:24px 32px;} .muni-form-card-header h3{font-size:1.15rem;color:#fff;margin-bottom:4px;} .muni-form-card-header p{font-size:0.82rem;color:rgba(255,255,255,0.5);} .muni-form{padding:28px 32px 32px;} .muni-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;} .muni-form-group{margin-bottom:18px;} .muni-form-group label{display:block;font-size:0.82rem;font-weight:600;color:var(--muni-text);margin-bottom:6px;} .muni-form-group label span{color:var(--color-secondary);} .muni-form-group input,.muni-form-group select,.muni-form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--muni-border);border-radius:8px;font-family:var(--font-primary);font-size:0.9rem;color:var(--muni-text);background:#fff;transition:border-color 0.2s,box-shadow 0.2s;-webkit-appearance:none;appearance:none;} .muni-form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235a6a80' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;} .muni-form-group input:focus,.muni-form-group select:focus,.muni-form-group textarea:focus{outline:none;border-color:var(--muni-gold);box-shadow:0 0 0 3px rgba(212,175,55,0.1);} .muni-form-group input::placeholder,.muni-form-group textarea::placeholder{color:#b0b8c6;} .muni-form-group textarea{resize:vertical;min-height:100px;} .muni-form-submit{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 30px;background:var(--muni-gold);color:var(--muni-navy);font-family:var(--font-primary);font-size:0.95rem;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all 0.3s;} .muni-form-submit:hover{background:var(--muni-gold-light);transform:translateY(-1px);box-shadow:0 6px 20px rgba(212,175,55,0.3);} .muni-form-submit svg{width:18px;height:18px;} .muni-form-disclaimer{font-size:0.75rem;color:var(--muni-text-muted);text-align:center;margin-top:14px;line-height:1.5;} /* ========================================================================== SERVICES NAV ========================================================================== */ .muni-services-nav{padding:50px 0 150px;background:#fff;text-align:center;} .muni-services-nav h3{font-size:0.95rem;color:var(--muni-text-muted);font-weight:500;margin-bottom:20px;} .muni-nav-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;} .muni-nav-links a{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:1px solid var(--muni-border);border-radius:8px;color:var(--muni-text);font-size:0.88rem;font-weight:500;text-decoration:none;transition:all 0.2s;} .muni-nav-links a:hover{border-color:var(--color-primary);color:var(--color-primary);background:rgba(34,139,34,0.03);} .muni-nav-links a svg{width:16px;height:16px;} /* ========================================================================== FAQ SECTION OVERRIDES (municipal context) ========================================================================== */ .page-municipal .faq-section{padding:80px 0;background:#fff;} /* ========================================================================== RESPONSIVE ========================================================================== */ @media (max-width:1100px){.muni-hero-grid{grid-template-columns:1fr 340px;gap:40px;} .muni-projects-grid{grid-template-columns:repeat(2,1fr);}} @media (max-width:991px){.muni-hero-grid{grid-template-columns:1fr;gap:40px;} .muni-hero-visual{display:none;} .muni-hero{min-height:auto;} .muni-hero-grid{padding:50px 0 40px;} .muni-cap-grid{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto;} .muni-trust-grid{grid-template-columns:repeat(2,1fr);} .muni-form-wrapper{grid-template-columns:1fr;gap:40px;} .muni-projects-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto;}} @media (max-width:768px){.muni-capabilities,.muni-process,.muni-projects,.muni-trust,.muni-form-section{padding:60px 0;} .muni-hero-metrics{gap:0;justify-content:flex-start;} .muni-metric{padding:0 14px;} .muni-metric strong{font-size:1.25rem;} .muni-trust-grid{grid-template-columns:1fr;max-width:400px;margin-left:auto;margin-right:auto;} .muni-form{padding:24px 20px;} .muni-form-row{grid-template-columns:1fr;} .muni-form-card-header{padding:20px;} .muni-cap-features{grid-template-columns:1fr;}} @media (max-width:480px){.muni-hero h1{font-size:1.7rem;} .muni-hero-actions{flex-direction:column;} .muni-btn-primary,.muni-btn-outline{width:100%;justify-content:center;} .muni-hero-metrics{flex-wrap:wrap;gap:12px;} .muni-metric{flex:0 0 calc(50% - 6px);padding:10px;background:rgba(255,255,255,0.03);border-radius:8px;text-align:center;} .muni-metric-divider{display:none;} .muni-project-stats{grid-template-columns:repeat(3,1fr);gap:8px;} .muni-project-stat strong{font-size:1.05rem;} .muni-nav-links{flex-direction:column;align-items:stretch;} .muni-nav-links a{justify-content:center;}}
