this is great! can you change the color schema to black and white or grey scaled and add a blog section?
7bffc23
verified
| class CustomFooter extends HTMLElement { | |
| connectedCallback() { | |
| this.attachShadow({ mode: 'open' }); | |
| this.shadowRoot.innerHTML = ` | |
| <style> | |
| :host { | |
| display: block; | |
| background: rgb(88, 28, 135); | |
| color: white; | |
| padding: 4rem 2rem; | |
| } | |
| .footer-container { | |
| max-width: 1200px; | |
| margin: 0 auto; | |
| display: grid; | |
| grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); | |
| gap: 3rem; | |
| } | |
| .footer-brand { | |
| font-size: 1.5rem; | |
| font-weight: bold; | |
| margin-bottom: 1.5rem; | |
| display: flex; | |
| align-items: center; | |
| } | |
| .footer-brand i { | |
| margin-right: 0.5rem; | |
| } | |
| .footer-description { | |
| opacity: 0.8; | |
| line-height: 1.6; | |
| margin-bottom: 2rem; | |
| } | |
| .social-links { | |
| display: flex; | |
| gap: 1rem; | |
| } | |
| .social-link { | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| width: 40px; | |
| height: 40px; | |
| background: rgba(255, 255, 255, 0.1); | |
| border-radius: 50%; | |
| transition: all 0.3s; | |
| } | |
| .social-link:hover { | |
| background: rgb(234, 179, 8); | |
| transform: translateY(-3px); | |
| } | |
| .footer-heading { | |
| font-size: 1.25rem; | |
| font-weight: bold; | |
| margin-bottom: 1.5rem; | |
| position: relative; | |
| display: inline-block; | |
| } | |
| .footer-heading::after { | |
| content: ''; | |
| position: absolute; | |
| left: 0; | |
| bottom: -8px; | |
| width: 40px; | |
| height: 3px; | |
| background: rgb(234, 179, 8); | |
| } | |
| .footer-links { | |
| display: flex; | |
| flex-direction: column; | |
| gap: 1rem; | |
| } | |
| .footer-link { | |
| color: white; | |
| opacity: 0.8; | |
| text-decoration: none; | |
| transition: all 0.3s; | |
| } | |
| .footer-link:hover { | |
| opacity: 1; | |
| color: rgb(234, 179, 8); | |
| padding-left: 5px; | |
| } | |
| .copyright { | |
| max-width: 1200px; | |
| margin: 4rem auto 0; | |
| text-align: center; | |
| padding-top: 2rem; | |
| border-top: 1px solid rgba(255, 255, 255, 0.1); | |
| opacity: 0.7; | |
| font-size: 0.9rem; | |
| } | |
| </style> | |
| <div class="footer-container"> | |
| <div> | |
| <div class="footer-brand"> | |
| <i data-feather="activity"></i> | |
| DataAlchemy | |
| </div> | |
| <p class="footer-description"> | |
| Transforming data into insights through research and engineering. | |
| Bridging theory and practice in artificial intelligence. | |
| </p> | |
| <div class="social-links"> | |
| <a href="#" class="social-link"> | |
| <i data-feather="github"></i> | |
| </a> | |
| <a href="#" class="social-link"> | |
| <i data-feather="linkedin"></i> | |
| </a> | |
| <a href="#" class="social-link"> | |
| <i data-feather="twitter"></i> | |
| </a> | |
| <a href="#" class="social-link"> | |
| <i data-feather="youtube"></i> | |
| </a> | |
| </div> | |
| </div> | |
| <div> | |
| <h3 class="footer-heading">Quick Links</h3> | |
| <div class="footer-links"> | |
| <a href="#about" class="footer-link">About Me</a> | |
| <a href="#experience" class="footer-link">Experience</a> | |
| <a href="#projects" class="footer-link">Research Projects</a> | |
| <a href="#publications" class="footer-link">Publications</a> | |
| <a href="#blog" class="footer-link">Blog</a> | |
| <a href="#contact" class="footer-link">Contact</a> | |
| </div> | |
| </div> | |
| <div> | |
| <h3 class="footer-heading">Resources</h3> | |
| <div class="footer-links"> | |
| <a href="#" class="footer-link">GitHub Repos</a> | |
| <a href="#" class="footer-link">Research Blog</a> | |
| <a href="#" class="footer-link">Technical Papers</a> | |
| <a href="#" class="footer-link">Learning Resources</a> | |
| <a href="#" class="footer-link">Conference Talks</a> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="copyright"> | |
| © ${new Date().getFullYear()} DataAlchemy Portfolio. All rights reserved. | |
| </div> | |
| `; | |
| } | |
| } | |
| customElements.define('custom-footer', CustomFooter); |