Install EV Charger at Home Vancouver WA | Tesla Charger Install & Level 2 | Crown Electric :root { --maroon: #800020; --maroon-dark: #660018; --maroon-light: #a0002a; --gold: #FFD700; --gold-dark: #DAA520; --gold-light: #FFF8DC; --white: #FFFFFF; --gray-50: #F9FAFB; --gray-100: #F3F4F6; --gray-200: #E5E7EB; --gray-300: #D1D5DB; --gray-400: #9CA3AF; --gray-500: #6B7280; --gray-600: #4B5563; --gray-700: #374151; --gray-800: #1F2937; --gray-900: #111827; } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.6; color: var(--gray-800); overflow-x: hidden; font-size: 16px; } .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; } /* ===== NAVIGATION SYSTEM ===== */ .navbar { background: var(--white); box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1); position: fixed; top: 0; left: 0; right: 0; z-index: 1000; transition: all 0.3s ease; } .navbar.scrolled { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); } .nav-container { display: flex; justify-content: space-between; align-items: center; padding: 1rem 20px; max-width: 1200px; margin: 0 auto; position: relative; } .nav-logo { display: flex; align-items: center; gap: 0.5rem; text-decoration: none; color: var(--maroon); font-weight: 800; font-size: 1.5rem; z-index: 1002; } .nav-logo img { width: 40px; height: 40px; object-fit: contain; } .nav-menu { display: flex; list-style: none; gap: 2rem; align-items: center; } .nav-link { text-decoration: none; color: var(--gray-700); font-weight: 500; font-size: 0.95rem; transition: all 0.3s ease; position: relative; padding: 0.5rem 0; } .nav-link:hover { color: var(--maroon); } .nav-link::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 2px; background: var(--gold); transition: width 0.3s ease; } .nav-link:hover::after { width: 100%; } .nav-dropdown { position: relative; } .dropdown-content { position: absolute; top: 100%; left: 0; background: var(--white); min-width: 240px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15); border-radius: 10px; padding: 1rem 0; opacity: 0; visibility: hidden; transform: translateY(-10px); transition: all 0.3s ease; border: 1px solid var(--gray-200); z-index: 1001; } .nav-dropdown:hover .dropdown-content { opacity: 1; visibility: visible; transform: translateY(0); } .dropdown-link { display: block; padding: 0.8rem 1.5rem; color: var(--gray-700); text-decoration: none; font-size: 0.9rem; transition: all 0.3s ease; } .dropdown-link:hover { background: var(--gray-50); color: var(--maroon); } .nav-cta { display: flex; align-items: center; gap: 1rem; } .nav-phone { background: linear-gradient(135deg, var(--maroon) 0%, var(--maroon-dark) 100%); color: var(--white); padding: 0.8rem 1.5rem; border-radius: 50px; text-decoration: none; font-weight: 600; font-size: 0.9rem; transition: all 0.3s ease; display: flex; align-items: center; gap: 0.5rem; white-space: nowrap; } .nav-phone:hover { transform: translateY(-2px); box-shadow: 0 10px 30px rgba(128, 0, 32, 0.3); } /* ===== MOBILE NAVIGATION ===== */ .mobile-menu-toggle { display: none; flex-direction: column; justify-content: space-around; width: 30px; height: 30px; background: transparent; border: none; cursor: pointer; padding: 0; z-index: 1002; position: relative; } .mobile-menu-toggle span { display: block; height: 3px; width: 100%; background: var(--maroon); border-radius: 3px; transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55); transform-origin: center; } .mobile-menu-toggle.active span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); } .mobile-menu-toggle.active span:nth-child(2) { opacity: 0; transform: translateX(20px); } .mobile-menu-toggle.active span:nth-child(3) { transform: rotate(-45deg) translate(7px, -6px); } .mobile-menu-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); opacity: 0; visibility: hidden; transition: all 0.3s ease; z-index: 999; } .mobile-menu-overlay.active { opacity: 1; visibility: visible; } .mobile-menu { position: fixed; top: 0; right: -100%; width: 320px; max-width: 85vw; height: 100vh; background: var(--white); z-index: 1001; transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94); overflow-y: auto; box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1); } .mobile-menu.active { right: 0; } .mobile-menu-header { display: flex; align-items: center; justify-content: space-between; padding: 1.5rem; background: linear-gradient(135deg, var(--maroon) 0%, var(--maroon-light) 100%); color: var(--white); border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .mobile-menu-logo { display: flex; align-items: center; gap: 0.5rem; font-size: 1.2rem; font-weight: 700; color: var(--white); } .mobile-menu-logo img { width: 30px; height: 30px; object-fit: contain; background: var(--white); border-radius: 6px; padding: 3px; } .mobile-menu-close { background: none; border: none; color: var(--white); font-size: 1.5rem; cursor: pointer; padding: 0.5rem; border-radius: 4px; transition: background 0.3s ease; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; } .mobile-menu-close:hover { background: rgba(255, 255, 255, 0.1); } .mobile-menu-items { padding: 0; } .mobile-menu-item { border-bottom: 1px solid var(--gray-100); } .mobile-menu-item:last-child { border-bottom: none; } .mobile-menu-link { display: flex; align-items: center; justify-content: space-between; padding: 1.2rem 1.5rem; color: var(--gray-800); text-decoration: none; font-weight: 500; font-size: 1rem; transition: all 0.3s ease; min-height: 56px; background: var(--white); } .mobile-menu-link:hover, .mobile-menu-link:focus { background: var(--gray-50); color: var(--maroon); padding-left: 2rem; } .mobile-menu-link.has-dropdown::after { content: '▼'; font-size: 0.8rem; transition: transform 0.3s ease; color: var(--gray-500); } .mobile-menu-item.active .mobile-menu-link.has-dropdown::after { transform: rotate(180deg); } .mobile-dropdown { max-height: 0; overflow: hidden; background: var(--gray-50); transition: max-height 0.4s ease; } .mobile-menu-item.active .mobile-dropdown { max-height: 400px; } .mobile-dropdown-link { display: flex; align-items: center; padding: 1rem 2.5rem; color: var(--gray-600); text-decoration: none; font-size: 0.9rem; font-weight: 400; transition: all 0.3s ease; border-bottom: 1px solid var(--gray-200); min-height: 48px; background: var(--gray-50); } .mobile-dropdown-link:last-child { border-bottom: none; } .mobile-dropdown-link:hover, .mobile-dropdown-link:focus { background: var(--white); color: var(--maroon); padding-left: 3rem; } .mobile-menu-cta { margin: 1.5rem; padding: 1rem; background: linear-gradient(135deg, var(--maroon) 0%, var(--maroon-light) 100%); color: var(--white); text-decoration: none; border-radius: 12px; text-align: center; font-weight: 600; font-size: 1.1rem; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 56px; box-shadow: 0 4px 15px rgba(128, 0, 32, 0.2); } .mobile-menu-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(128, 0, 32, 0.3); } /* ===== HERO SECTION ===== */ .hero { background: linear-gradient(135deg, var(--maroon) 0%, var(--maroon-dark) 50%, var(--maroon) 100%); color: var(--white); min-height: 100vh; display: flex; align-items: center; position: relative; overflow: hidden; padding-top: 80px; box-sizing: border-box; } .hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(128, 0, 32, 0.9) 0%, rgba(102, 0, 24, 0.95) 50%, rgba(128, 0, 32, 0.9) 100%); z-index: 1; pointer-events: none; } .hero-content { position: relative; z-index: 2; max-width: 1200px; margin: 0 auto; padding: 2rem 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; width: 100%; min-height: calc(100vh - 160px); } .hero-text { animation: fadeInUp 1s ease-out; } .hero-badge { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(255, 215, 0, 0.15); border: 1px solid var(--gold); border-radius: 50px; padding: 0.5rem 1.2rem; font-size: 0.85rem; font-weight: 500; margin-bottom: 1.5rem; backdrop-filter: blur(10px); } .hero h1 { font-size: clamp(2rem, 5vw, 3rem); font-weight: 800; line-height: 1.1; margin-bottom: 1rem; background: linear-gradient(135deg, var(--white) 0%, var(--gold-light) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .hero-subtitle { font-size: 1.1rem; font-weight: 400; margin-bottom: 1.5rem; opacity: 0.95; line-height: 1.5; color: var(--gold-light); } .hero-services { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-bottom: 2rem; } .hero-service { display: flex; align-items: center; gap: 0.5rem; font-size: 0.9rem; font-weight: 500; padding: 0.5rem 1rem; background: rgba(255, 255, 255, 0.1); border-radius: 25px; border: 1px solid rgba(255, 215, 0, 0.2); white-space: nowrap; } .hero-cta { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; } .btn-primary { background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%); color: var(--maroon); padding: 1.2rem 2.5rem; border-radius: 50px; text-decoration: none; font-weight: 700; font-size: 1.1rem; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 10px 30px rgba(255, 215, 0, 0.3); display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; border: none; cursor: pointer; min-height: 56px; } .btn-primary:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 15px 40px rgba(255, 215, 0, 0.4); background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 100%); } .btn-secondary { background: transparent; color: var(--white); padding: 1.2rem 2.5rem; border: 2px solid var(--white); border-radius: 50px; text-decoration: none; font-weight: 600; font-size: 1.1rem; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 56px; } .btn-secondary:hover { background: var(--white); color: var(--maroon); transform: translateY(-2px); } .hero-visual { position: relative; display: flex; align-items: center; justify-content: center; height: 100%; min-height: 450px; } .hero-image-container { position: relative; width: 100%; max-width: 500px; background: linear-gradient(135deg, rgba(255, 215, 0, 0.1) 0%, rgba(255, 215, 0, 0.05) 100%); border-radius: 25px; display: flex; align-items: center; justify-content: center; border: 2px solid rgba(255, 215, 0, 0.2); backdrop-filter: blur(20px); overflow: hidden; padding: 15px; } .hero-image { width: 100%; height: auto; object-fit: contain; border-radius: 20px; border: 2px solid rgba(255, 215, 0, 0.3); max-height: 400px; min-height: 300px; } /* ===== SECTIONS ===== */ .section { padding: 80px 0; } .section-header { text-align: center; margin-bottom: 4rem; } .section-badge { display: inline-block; background: linear-gradient(135deg, var(--maroon) 0%, var(--maroon-light) 100%); color: var(--white); padding: 0.6rem 1.8rem; border-radius: 50px; font-size: 0.9rem; font-weight: 600; margin-bottom: 1rem; text-transform: uppercase; letter-spacing: 0.5px; } .section-title { font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; color: var(--gray-900); margin-bottom: 1rem; line-height: 1.2; } .section-subtitle { font-size: 1.2rem; color: var(--gray-600); max-width: 800px; margin: 0 auto; line-height: 1.6; } /* EV Charger Types Grid */ .ev-charger-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); gap: 2rem; margin-top: 3rem; } .ev-charger-card { background: var(--white); border-radius: 20px; padding: 2.5rem; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08); border: 1px solid var(--gray-200); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); position: relative; overflow: hidden; min-height: 400px; display: flex; flex-direction: column; justify-content: space-between; } .ev-charger-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, var(--maroon) 0%, var(--gold) 100%); transform: scaleX(0); transition: transform 0.4s ease; transform-origin: left; } .ev-charger-card:hover::before { transform: scaleX(1); } .ev-charger-card:hover { transform: translateY(-10px); box-shadow: 0 20px 60px rgba(128, 0, 32, 0.15); border-color: var(--maroon); } .ev-charger-icon { width: 60px; height: 60px; background: linear-gradient(135deg, var(--maroon) 0%, var(--maroon-light) 100%); border-radius: 15px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; color: var(--gold); font-size: 0.8rem; font-weight: 700; } .ev-charger-card h3 { font-size: 1.4rem; font-weight: 700; color: var(--gray-900); margin-bottom: 1rem; line-height: 1.3; } .ev-charger-card p { color: var(--gray-600); line-height: 1.7; margin-bottom: 1.5rem; font-size: 1rem; flex-grow: 1; } .ev-charger-price { font-size: 1.2rem; font-weight: 700; color: var(--maroon); margin-bottom: 1rem; } .ev-charger-features { list-style: none; margin-bottom: 1.5rem; } .ev-charger-features li { padding: 0.3rem 0; color: var(--gray-600); position: relative; padding-left: 1.5rem; font-size: 0.9rem; } .ev-charger-features li::before { content: '✓'; position: absolute; left: 0; color: var(--maroon); font-weight: 600; } .ev-charger-link { color: var(--maroon); text-decoration: none; font-weight: 600; display: inline-flex; align-items: center; gap: 0.5rem; transition: all 0.3s ease; margin-top: auto; } .ev-charger-link:hover { color: var(--maroon-light); transform: translateX(5px); } /* Rebate Callout */ .rebate-callout { background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%); border: 2px solid #22c55e; border-radius: 20px; padding: 2.5rem; text-align: center; margin-top: 3rem; } .rebate-callout h3 { font-size: 1.5rem; font-weight: 700; color: #166534; margin-bottom: 1rem; } .rebate-callout p { color: #15803d; font-size: 1.05rem; line-height: 1.7; max-width: 700px; margin: 0 auto 1.5rem; } .rebate-amount { font-size: 2.5rem; font-weight: 800; color: #166534; margin-bottom: 0.5rem; } /* Installation Process */ .installation-process { background: var(--gray-50); } .process-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 2rem; margin-top: 3rem; } .process-step { background: var(--white); border-radius: 20px; padding: 2rem; text-align: center; position: relative; border: 1px solid var(--gray-200); transition: all 0.3s ease; } .process-step:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1); } .process-step::before { content: ''; position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px; background: linear-gradient(135deg, var(--maroon) 0%, var(--gold) 100%); border-radius: 22px; z-index: -1; opacity: 0; transition: opacity 0.3s ease; } .process-step:hover::before { opacity: 1; } .process-number { width: 60px; height: 60px; background: linear-gradient(135deg, var(--maroon) 0%, var(--maroon-light) 100%); color: var(--gold); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; font-weight: 800; margin: 0 auto 1.5rem; } .process-step h3 { font-size: 1.3rem; font-weight: 700; color: var(--gray-900); margin-bottom: 1rem; } .process-step p { color: var(--gray-600); line-height: 1.6; } /* Vehicle Brands */ .vehicle-brands { background: var(--white); } .brands-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.5rem; margin-top: 3rem; } .brand-card { background: var(--gray-50); border-radius: 15px; padding: 1.5rem; text-align: center; transition: all 0.3s ease; border: 1px solid var(--gray-200); } .brand-card:hover { background: var(--white); border-color: var(--maroon); transform: translateY(-3px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } .brand-card h4 { font-size: 1.1rem; font-weight: 600; color: var(--gray-900); margin-bottom: 0.5rem; } .brand-card p { font-size: 0.9rem; color: var(--gray-600); } /* Location Coverage */ .location-coverage { background: linear-gradient(135deg, var(--gray-900) 0%, var(--gray-800) 100%); color: var(--white); } .location-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 2rem; margin-top: 3rem; } .location-card { background: rgba(255, 255, 255, 0.05); border-radius: 15px; padding: 2rem; border: 1px solid rgba(255, 255, 255, 0.1); transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); text-align: center; min-height: 200px; display: flex; flex-direction: column; justify-content: space-between; } .location-card:hover { background: rgba(255, 255, 255, 0.1); border-color: var(--gold); transform: translateY(-5px); } .location-card:nth-child(1) { background: rgba(255, 215, 0, 0.1); border: 2px solid var(--gold); box-shadow: 0 10px 30px rgba(255, 215, 0, 0.2); } .location-card:nth-child(1):hover { background: rgba(255, 215, 0, 0.15); border-color: var(--gold-light); transform: translateY(-8px) scale(1.02); box-shadow: 0 15px 40px rgba(255, 215, 0, 0.3); } .location-card:nth-child(1) .location-icon { background: var(--gold); color: var(--maroon); box-shadow: 0 5px 15px rgba(255, 215, 0, 0.4); } .location-card:nth-child(1) h3 { color: var(--gold-light); font-weight: 700; font-size: 1.2rem; } .location-icon { width: 50px; height: 50px; background: var(--gold); color: var(--maroon); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; font-weight: 700; font-size: 0.7rem; } .location-card h3 { font-size: 1.1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--gold); } .location-card p { font-size: 0.9rem; color: var(--gray-300); line-height: 1.4; margin-bottom: 1rem; flex-grow: 1; } .location-link { color: var(--white); text-decoration: none; font-size: 0.85rem; font-weight: 500; transition: color 0.3s ease; } .location-link:hover { color: var(--gold); } /* FAQ Section */ .faq { background: var(--gray-50); } .faq-container { max-width: 800px; margin: 0 auto; } .faq-item { background: var(--white); border-radius: 15px; margin-bottom: 1.5rem; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.05); transition: all 0.3s ease; } .faq-item:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(0,0,0,0.1); } .faq-question { padding: 2rem; cursor: pointer; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--gray-200); transition: all 0.3s ease; min-height: 80px; } .faq-question:hover { background: var(--gray-50); } .faq-question h3 { color: var(--gray-900); margin: 0; font-size: 1.2rem; font-weight: 600; line-height: 1.4; flex-grow: 1; margin-right: 1rem; } .faq-toggle { font-size: 1.5rem; color: var(--maroon); transition: transform 0.3s ease; flex-shrink: 0; } .faq-item.active .faq-toggle { transform: rotate(45deg); } .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; } .faq-answer.active { max-height: 400px; } .faq-answer-content { padding: 2rem; color: var(--gray-600); line-height: 1.7; font-size: 1rem; } /* Contact Section */ .contact { background: linear-gradient(135deg, var(--maroon) 0%, var(--maroon-dark) 100%); color: var(--white); } .contact-content { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; } .contact-info h2 { font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 800; margin-bottom: 1.5rem; background: linear-gradient(135deg, var(--white) 0%, var(--gold-light) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .contact-info p { font-size: 1.1rem; color: var(--gray-300); line-height: 1.7; margin-bottom: 2rem; } .contact-details { display: grid; gap: 1.5rem; } .contact-item { display: flex; align-items: center; gap: 1rem; padding: 1.2rem; background: rgba(255, 255, 255, 0.05); border-radius: 15px; border: 1px solid rgba(255, 255, 255, 0.1); transition: all 0.3s ease; min-height: 80px; } .contact-item:hover { background: rgba(255, 255, 255, 0.08); border-color: var(--gold); } .contact-item-icon { width: 50px; height: 50px; background: linear-gradient(135deg, var(--gold) 0%, var(--gold-dark) 100%); border-radius: 12px; display: flex; align-items: center; justify-content: center; color: var(--maroon); font-size: 0.6rem; font-weight: 700; flex-shrink: 0; } .contact-item-info h4 { font-size: 1.1rem; font-weight: 600; margin-bottom: 0.3rem; } .contact-item-info p { color: var(--gray-400); margin: 0; font-size: 0.95rem; } .contact-item-info a { color: var(--gold); text-decoration: none; transition: color 0.3s ease; } .contact-item-info a:hover { color: var(--gold-light); } .map-container { position: relative; border-radius: 20px; overflow: hidden; height: 400px; background: var(--gray-700); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); } .map-container iframe { width: 100%; height: 100%; border: none; } /* Footer */ .footer { background: var(--gray-900); color: var(--gray-400); padding: 3rem 0 1.5rem; } .footer-content { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2rem; margin-bottom: 2rem; } .footer-brand { max-width: 300px; } .footer-brand h3 { color: var(--white); font-size: 1.3rem; font-weight: 700; margin-bottom: 0.75rem; } .footer-brand p { font-size: 0.9rem; line-height: 1.6; } .footer-col h4 { color: var(--white); font-size: 1rem; font-weight: 600; margin-bottom: 1rem; } .footer-col a { display: block; color: var(--gray-400); text-decoration: none; font-size: 0.9rem; padding: 0.3rem 0; transition: color 0.3s ease; } .footer-col a:hover { color: var(--gold); } .footer-bottom { border-top: 1px solid rgba(255,255,255,0.1); padding-top: 1.5rem; text-align: center; font-size: 0.85rem; } .footer-bottom a { color: var(--gold); text-decoration: none; } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } /* ===== RESPONSIVE BREAKPOINTS ===== */ @media (min-width: 769px) { .mobile-menu-toggle, .mobile-menu-overlay, .mobile-menu { display: none !important; } } @media (max-width: 768px) { .nav-menu { display: none; } .mobile-menu-toggle { display: flex; } .nav-phone { font-size: 0.8rem; padding: 0.6rem 1rem; } .hero-content, .contact-content { grid-template-columns: 1fr; gap: 3rem; } .ev-charger-grid, .process-grid, .brands-grid { grid-template-columns: 1fr; } .location-grid { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); } .section { padding: 60px 0; } .footer-content { grid-template-columns: 1fr 1fr; } } @media (max-width: 480px) { .nav-container { padding: 1rem 15px; } .nav-logo { font-size: 1.3rem; } .nav-logo img { width: 35px; height: 35px; } .nav-phone { font-size: 0.75rem; padding: 0.5rem 0.8rem; } .mobile-menu { width: 280px; max-width: 90vw; } .container { padding: 0 15px; } .hero { min-height: 100vh; padding-top: 80px; } .hero-content { grid-template-columns: 1fr; gap: 2rem; text-align: center; padding: 1rem 15px; min-height: calc(100vh - 140px); } .hero-visual { min-height: 300px; order: -1; } .hero-image-container { max-width: 350px; padding: 12px; } .hero-image { max-height: 280px; min-height: 200px; border-radius: 15px; } .hero-services { justify-content: center; gap: 0.5rem; margin-bottom: 1.5rem; } .hero-service { font-size: 0.8rem; padding: 0.4rem 0.8rem; } .hero-cta { flex-direction: column; align-items: stretch; gap: 1rem; } .btn-primary, .btn-secondary { width: 100%; justify-content: center; padding: 1rem 2rem; } .location-grid { grid-template-columns: 1fr; gap: 1rem; } .ev-charger-card, .process-step, .brand-card { padding: 1.5rem; } .map-container { height: 300px; } .section { padding: 50px 0; } .section-header { margin-bottom: 2.5rem; } .section-title { font-size: clamp(1.5rem, 4vw, 2.2rem); } .section-subtitle { font-size: 1rem; } .footer-content { grid-template-columns: 1fr; } } @media (max-width: 360px) { .hero-badge { font-size: 0.75rem; padding: 0.4rem 0.8rem; } .hero h1 { font-size: clamp(1.5rem, 6vw, 2.2rem); } .hero-subtitle { font-size: 1rem; } .hero-service { font-size: 0.75rem; padding: 0.3rem 0.6rem; } .btn-primary, .btn-secondary { font-size: 1rem; padding: 0.9rem 1.5rem; } .faq-question { padding: 1.5rem; } .faq-question h3 { font-size: 1.1rem; } .faq-answer-content { padding: 1.5rem; } } @media (hover: none) and (pointer: coarse) { .btn-primary, .btn-secondary, .ev-charger-link, .location-link, .nav-phone { min-height: 48px; min-width: 48px; } .faq-question { min-height: 60px; } .mobile-menu-link, .mobile-dropdown-link, .mobile-menu-cta { min-height: 48px; } .mobile-menu-close { min-height: 44px; min-width: 44px; } .contact-item { min-height: 72px; } } .text-center { text-align: center; } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
Crown Electric Logo Crown Electric
  • Home
  • Services
    Electric Panels EV Chargers Rewiring Services New Construction Residential Services Commercial Services
  • Service Areas
    Vancouver WA Battle Ground Camas Ridgefield
  • About
  • Contact
(360) 896-4122
Crown Electric Logo Crown Electric
Home
Services
Electric Panels EV Chargers Rewiring Services New Construction Residential Services Commercial Services
Service Areas
Vancouver WA Battle Ground Camas Ridgefield
About
Contact
Call (360) 896-4122
⚡ Licensed EV Charger Installation • Clark County

Install an EV Charger at Home in Vancouver WA — Tesla Wall Connector & Level 2 Charger Installation

Crown Electric provides professional EV charger installation throughout Vancouver WA and Clark County. Our licensed electricians install Tesla chargers at home, Level 2 chargers, and NEMA 14-50 outlets with transparent pricing, full permit handling, and code compliance for all electric vehicle brands. Clark Public Utilities customers may qualify for a $500 rebate on qualifying chargers.

🔌 Tesla Wall Connector
⚡ Level 2 Chargers
🏠 Home EV Charging
🔧 NEMA 14-50 Outlets
Call (360) 896-4122 View EV Charger Options →
Crown Electric licensed electricians — professional EV charger installation team serving Vancouver WA and Clark County
EV Charger Installation Services

Cost to Install an EV Charger at Home in Vancouver WA

Crown Electric's licensed electricians provide professional EV charger installation throughout Vancouver WA and Clark County. Whether you need to install a Tesla charger at home, a universal Level 2 charger, or a NEMA 14-50 outlet for your portable charger, we handle everything from the electrical assessment to final inspection. Washington State code requires a minimum 40-ampere dedicated 208/240-volt branch circuit for each EV charging station (WAC 51-50-0429).

TESLA

Tesla Wall Connector Installation

$750 – $1,200

Looking to install a Tesla charger at home in Vancouver WA? Crown Electric specializes in Tesla Wall Connector installation for all Tesla models, including Model 3, Model Y, Model S, Model X, and Cybertruck. The Wall Connector delivers up to 44 miles of range per hour on a dedicated 60-amp circuit — a full overnight charge for most drivers. Our electricians handle the electrical assessment, dedicated circuit installation, Clark County permit applications, hardwired mounting, and final testing.

  • All Tesla models — Model 3, Y, S, X, Cybertruck
  • Up to 48-amp / 11.5 kW charging capacity
  • Wi-Fi connectivity and Tesla app control
  • 24-foot cable length, indoor or outdoor mounting
  • Load sharing for homes with multiple Teslas
  • Full Clark County permit and inspection handling
Get Tesla Installation Quote →
L2

Level 2 Charger Installation

$800 – $1,500

The cost to install a Level 2 charger at home in Vancouver WA ranges from $800 to $1,500, covering the dedicated 240V circuit, GFCI protection, mounting, and permit fees. Level 2 chargers add 25–40 miles of range per hour — a full charge overnight versus 24+ hours on a standard 120V outlet. We install ChargePoint Home Flex, JuiceBox, ClipperCreek, Grizzl-E, Emporia, and all J1772-compatible stations.

  • Universal J1772 — charges all non-Tesla EVs
  • 32–48 amp charging options (up to 11.5 kW)
  • Smart charging with scheduling and energy monitoring
  • GFCI protection per NEC code requirements
  • Weatherproof NEMA 4 rated outdoor installation
  • $500 Clark Public Utilities rebate eligible
Get Level 2 Quote →
NEMA

NEMA 14-50 Outlet Installation

$300 – $800

A NEMA 14-50 outlet is the most cost-effective way to install an electric car charger at home. This 240V, 50-amp outlet lets you use the portable charger that came with your EV (or an aftermarket mobile connector) at faster Level 2 speeds. It's the same outlet type used for electric dryers and ranges, making it a familiar and flexible option that works with nearly every EV brand.

  • 240V / 50-amp dedicated circuit
  • Works with Tesla Mobile Connector and most portable chargers
  • GFCI breaker protection for safety
  • Indoor garage or outdoor-rated installation
  • Lowest cost EV charging solution
  • Easy upgrade path to hardwired charger later
Get Outlet Quote →
HOME

Complete Home EV Charger Installation

$750 – $1,500

Not sure which charger is right for your home? Crown Electric provides a full home EV charger installation service starting with a free electrical assessment. We evaluate your panel capacity (most homes need at least a 200-amp panel), recommend the best charger for your vehicle and driving habits, handle Clark County permits, install the dedicated circuit, mount and wire the charger, and walk you through how everything works.

  • Free electrical capacity and panel assessment
  • Panel upgrade recommendations if needed
  • Code compliance guaranteed (WA electrical code)
  • All permits and inspections coordinated
  • Comprehensive workmanship warranty
  • Post-install training on charger features
Get Home Installation Quote →
$500 Rebate

Clark Public Utilities EV Charger Rebate

Clark Public Utilities customers can receive up to $500 per qualifying Level 2 EV charger (maximum two per household). The charger must be Energy Star-rated and Wi-Fi enabled. There's also a $100 rebate option for mobile connectors plugged into a 240V outlet. Crown Electric can help you choose a qualifying charger to maximize your rebate savings — ask about it when you call for your free estimate.

Ask About the Rebate →
How It Works

Our EV Charger Installation Process

From the initial call to your first charge, Crown Electric manages every step. Most installations are completed in a single visit (3–6 hours of on-site work) once permits are in hand. Here's what to expect when you install an EV charger at home with us.

1

Electrical Assessment

We evaluate your home's electrical panel capacity, available breaker slots, and the optimal route to run a dedicated circuit to your charger location. We calculate the load to ensure your panel can safely handle a 40–60 amp EV circuit alongside your existing electrical demands. If your panel is at capacity, we'll recommend and quote a panel upgrade.

2

Permit & Planning

Clark County and the City of Vancouver require electrical permits for Level 2 EV charger installations. Crown Electric handles the entire permit application, so you don't have to visit any offices or navigate the paperwork. We coordinate the inspection schedule and ensure your installation will pass on the first visit.

3

Professional Installation

Our licensed electricians install a dedicated 240V branch circuit from your electrical panel to the charger location, mount the charging unit (or install the NEMA 14-50 outlet), and connect everything with proper GFCI protection, grounding, and weatherproofing. All wiring meets or exceeds Washington State electrical codes and NEC standards.

4

Testing & Walkthrough

We verify all electrical connections, test charging functionality with your vehicle, and confirm proper GFCI operation. Before we leave, we walk you through your charger's features — including app setup, charge scheduling (great for taking advantage of off-peak electricity rates), and any load-sharing settings if you have multiple chargers.

All EV Brands Supported

We Install EV Chargers for Every Electric Vehicle

Whether you drive a Tesla, a Ford Lightning, or a Hyundai Ioniq 5, Crown Electric installs the right home charger for your vehicle. We work with all major charger brands including Tesla Wall Connector, ChargePoint Home Flex, JuiceBox, ClipperCreek, Grizzl-E, Emporia, and universal J1772 stations.

Tesla

Model 3, Y, S, X, Cybertruck — Wall Connector

Ford

Lightning, Mustang Mach-E — Level 2 chargers

Chevrolet

Equinox EV, Blazer EV, Bolt — Universal charging

Nissan

Leaf, Ariya — J1772 compatible chargers

BMW

i4, iX, i5, i7 — Smart charging solutions

Hyundai / Kia

Ioniq 5, Ioniq 6, EV6, EV9, Niro EV

Mercedes-Benz

EQS, EQE, EQB — Premium installation

Volkswagen

ID.4, ID.Buzz — Universal compatibility

Rivian

R1T, R1S — High-power charging

Audi

e-tron, Q4 e-tron, Q6 e-tron, Q8 e-tron

Polestar / Volvo

Polestar 2, 3, 4 — EX30, EX90, XC40 Recharge

All Other EVs

Lucid, Toyota, Subaru, Honda — J1772 standard

Service Area

EV Charger Installation Across Clark County

Crown Electric installs EV chargers for residential and commercial clients throughout Southwest Washington. Clark County has over 10,000 registered EVs and growing — our licensed electricians help homeowners across every community make the switch to convenient home charging.

VAN

Vancouver WA

Our home base and primary service area. Vancouver's mix of older homes and new construction means every installation is different — from panel upgrades in Hough to straightforward installs in Cascade Park and Fisher's Landing.

Vancouver EV Installation →
CC

Clark County

Complete EV charging solutions countywide, including unincorporated areas, rural properties, and homes served by Clark Public Utilities (eligible for the $500 charger rebate).

Clark County EV Chargers →
BG

Battle Ground

EV charger installation for Battle Ground's growing residential communities. Many newer homes here have 200-amp panels already equipped for Level 2 charger circuits.

Battle Ground Installation →
CAM

Camas

Serving Camas homeowners with Tesla Wall Connector installs, Level 2 chargers, and NEMA outlets. Camas's tech-savvy community has one of the highest EV adoption rates in the county.

Camas EV Chargers →
RID

Ridgefield

Professional EV charger installation for Ridgefield's rapidly expanding neighborhoods. New construction homes often just need the final charger hookup — we handle it all.

Ridgefield Installation →
FAQ

EV Charger Installation Questions

Answers to the most common questions about the cost to install an EV charger, electrical requirements, permits, and rebates in Vancouver WA and Clark County.

How much does it cost to install an EV charger at home in Vancouver WA?

+

The cost to install an EV charger at home in Vancouver WA depends on the charger type and your home's electrical setup. NEMA 14-50 outlets run $300–$800, Tesla Wall Connectors $750–$1,200, and Level 2 hardwired chargers $800–$1,500. These prices include the dedicated 240V circuit, GFCI protection, permit fees, and professional installation. If your electrical panel needs an upgrade, that's quoted separately. Clark Public Utilities customers may qualify for a $500 rebate on qualifying Level 2 chargers, which can significantly offset the cost. Crown Electric provides free estimates with a detailed breakdown — no hidden fees.

What's the difference between Level 1 and Level 2 EV charger installation?

+

Level 1 chargers plug into a standard 120V household outlet — no installation needed, but they only add 3–5 miles of range per hour (often 24+ hours for a full charge). Level 2 chargers require a dedicated 240V circuit and add 25–40 miles of range per hour, fully charging most EVs overnight. Washington State code (WAC 51-50-0429) requires a minimum 40-ampere dedicated 208/240-volt branch circuit for Level 2 installations. For most EV owners, Level 2 is the practical choice — it turns charging into something you never have to think about.

Do I need a permit to install an EV charger in Vancouver WA?

+

Yes — electrical permits are required in Vancouver WA and throughout Clark County for Level 2 EV charger installations and any hardwired charging equipment. This includes Tesla Wall Connectors, hardwired Level 2 stations, and new 240V outlet installations. Crown Electric handles the entire permit process — application, fee payment, and inspection coordination — so you don't have to deal with it. Permits protect your home's safety, insurance compliance, and resale documentation.

Can you install EV chargers for all electric vehicle brands?

+

Yes. Crown Electric installs home EV chargers for every electric vehicle brand — Tesla, Ford, Chevrolet, Nissan, BMW, Audi, Mercedes, Hyundai, Kia, Rivian, Volkswagen, Polestar, Volvo, Lucid, Toyota, Subaru, and more. We install Tesla Wall Connectors, ChargePoint Home Flex, JuiceBox, ClipperCreek, Grizzl-E, Emporia, and any universal J1772 charging station. If your EV plugs in, we can install the charger for it.

How long does EV charger installation take?

+

Most EV charger installations take 3–6 hours of on-site work for straightforward setups. The full timeline looks like this: electrical assessment (about 30 minutes, often done during the estimate visit), permit processing (1–2 business days), installation day (2–4 hours for the circuit and charger, plus testing), and final inspection. More complex installations — like running conduit through finished walls or adding a subpanel — may take a full day.

Do I need to upgrade my electrical panel for EV charger installation?

+

It depends on your current panel capacity. Most homes with 200-amp panels have enough room for a Level 2 EV charger circuit. Older homes with 100-amp or 125-amp panels may need a panel upgrade to safely support the additional 40–60 amp load. During your free estimate, our electrician will assess your panel, calculate your existing load, and let you know exactly what's needed. We never recommend an upgrade unless it's truly necessary.

Are there rebates for EV charger installation in Clark County?

+

Yes — Clark Public Utilities offers a $500 rebate per qualifying Energy Star-rated, Wi-Fi-enabled Level 2 EV charger, with a maximum of two rebates per household. There's also a $100 rebate for mobile connectors used with a 240V outlet. Qualifying charger brands include JuiceBox, ChargePoint, and others on the Clark Public Utilities approved list. Additionally, Washington State does not charge sales tax on EV chargers. Ask Crown Electric about rebate-eligible chargers when you schedule your free estimate — we'll help you choose a unit that qualifies.

Get a Free EV Charger Installation Estimate

Ready to install an EV charger at home in Vancouver WA or Clark County? Contact Crown Electric for a free estimate on Tesla Wall Connector installation, Level 2 charger setup, or NEMA 14-50 outlet installation. Our licensed electricians provide transparent pricing, handle all permits, and guarantee code-compliant work.

CALL

Call Crown Electric

(360) 896-4122

EMAIL

Email Us

Crownelectric240@yahoo.com

AREA

Service Area

Vancouver WA, Clark County, Battle Ground, Camas, Ridgefield

TIME

Business Hours

Monday – Friday: 8:00 AM – 4:00 PM

ADDR

Office Address

6109 NE 121st Ave Suite 104
Vancouver, WA 98682

Crown Electric

Licensed and insured electrical contractor serving Vancouver WA and Clark County since 2014. Specializing in EV charger installation, electric panel upgrades, rewiring, and residential and commercial electrical services.

Services

Electric Panels EV Charger Installation Rewiring Services New Construction Residential Commercial

Service Areas

Vancouver WA Clark County Battle Ground Camas Ridgefield

Contact

(360) 896-4122 Email Us About Crown Electric Contact Page

© 2025 Crown Electric. Licensed & Insured Washington State Electrical Contractor. (360) 896-4122