| class CustomFooter extends HTMLElement { | |
| connectedCallback() { | |
| this.attachShadow({ mode: 'open' }); | |
| this.shadowRoot.innerHTML = ` | |
| <style> | |
| footer { | |
| background: #0f172a; | |
| color: #94a3b8; | |
| padding: 3rem 0; | |
| margin-top: auto; | |
| } | |
| .footer-container { | |
| max-width: 1200px; | |
| margin: 0 auto; | |
| padding: 0 2rem; | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); | |
| gap: 2rem; | |
| } | |
| .footer-logo { | |
| font-size: 1.5rem; | |
| font-weight: 700; | |
| margin-bottom: 1rem; | |
| background: linear-gradient(to right, #2dd4bf, #3b82f6); | |
| -webkit-background-clip: text; | |
| background-clip: text; | |
| color: transparent; | |
| } | |
| .footer-links h3 { | |
| color: #e2e8f0; | |
| font-size: 1.1rem; | |
| margin-bottom: 1rem; | |
| } | |
| .footer-links ul { | |
| list-style: none; | |
| padding: 0; | |
| } | |
| .footer-links li { | |
| margin-bottom: 0.5rem; | |
| } | |
| .footer-links a { | |
| color: #94a3b8; | |
| text-decoration: none; | |
| transition: color 0.2s; | |
| } | |
| .footer-links a:hover { | |
| color: #2dd4bf; | |
| } | |
| .social-links { | |
| display: flex; | |
| gap: 1rem; | |
| margin-top: 1rem; | |
| } | |
| .social-links a { | |
| color: #94a3b8; | |
| transition: color 0.2s; | |
| } | |
| .social-links a:hover { | |
| color: #2dd4bf; | |
| } | |
| .copyright { | |
| text-align: center; | |
| margin-top: 3rem; | |
| padding-top: 1.5rem; | |
| border-top: 1px solid #1e293b; | |
| } | |
| @media (max-width: 768px) { | |
| .footer-container { | |
| grid-template-columns: 1fr; | |
| } | |
| } | |
| </style> | |
| <footer> | |
| <div class="footer-container"> | |
| <div class="footer-about"> | |
| <div class="footer-logo">HandSpeak AI</div> | |
| <p>Breaking communication barriers with AI-powered sign language recognition.</p> | |
| <div class="social-links"> | |
| <a href="#"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z"></path></svg></a> | |
| <a href="#"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="2" width="20" height="20" rx="5" ry="5"></rect><path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z"></path><line x1="17.5" y1="6.5" x2="17.51" y2="6.5"></line></svg></a> | |
| <a href="#"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 4s-.7 2.1-2 3.4c1.6 10-9.4 17.3-18 11.6 2.2.1 4.4-.6 6-2C3 15.5.5 9.6 3 5c2.2 2.6 5.6 4.1 9 4-.9-4.2 4-6.6 7-3.8 1.1 0 3-1.2 3-1.2z"></path></svg></a> | |
| </div> | |
| </div> | |
| <div class="footer-links"> | |
| <h3>Product</h3> | |
| <ul> | |
| <li><a href="/">Features</a></li> | |
| <li><a href="/pricing.html">Pricing</a></li> | |
| <li><a href="#">API</a></li> | |
| <li><a href="#">Documentation</a></li> | |
| </ul> | |
| </div> | |
| <div class="footer-links"> | |
| <h3>Company</h3> | |
| <ul> | |
| <li><a href="/about.html">About</a></li> | |
| <li><a href="#">Blog</a></li> | |
| <li><a href="#">Careers</a></li> | |
| <li><a href="#">Press</a></li> | |
| </ul> | |
| </div> | |
| <div class="footer-links"> | |
| <h3>Support</h3> | |
| <ul> | |
| <li><a href="/contact.html">Contact</a></li> | |
| <li><a href="#">Help Center</a></li> | |
| <li><a href="#">Privacy Policy</a></li> | |
| <li><a href="#">Terms of Service</a></li> | |
| </ul> | |
| </div> | |
| </div> | |
| <div class="copyright"> | |
| © ${new Date().getFullYear()} HandSpeak AI. All rights reserved. | |
| </div> | |
| </footer> | |
| `; | |
| } | |
| } | |
| customElements.define('custom-footer', CustomFooter); |