// Main Script for Silent Comet LDA Website document.addEventListener('DOMContentLoaded', function() { // Initialize Feather Icons if (typeof feather !== 'undefined') { feather.replace(); } // Tech Stack Data const techStack = [ 'Python', 'TensorFlow', 'PyTorch', 'React', 'Node.js', 'AWS', 'Azure', 'GCP', 'Kubernetes', 'Docker', 'TypeScript', 'Java', 'PostgreSQL', 'MongoDB', 'Redis', 'Nginx', 'Linux', 'Git', 'CI/CD', 'Jenkins', 'Terraform', 'Ansible', 'Puppet', 'Spark', 'Hadoop', 'Kafka', 'RabbitMQ', 'GraphQL', 'REST APIs', 'Selenium', 'Jest', 'Cypress', 'Wireshark', 'Burp Suite', 'Metasploit', 'Nmap', 'ELK Stack', 'Prometheus', 'Grafana', 'Splunk', 'OpenCV', 'spaCy', 'NLTK', 'Hugging Face', 'FastAPI', 'Django', 'Flask', 'Spring Boot', '.NET', 'Rust', 'Go' ]; // Populate Tech Stack const techContainer = document.getElementById('tech-stack-container'); if (techContainer) { techStack.sort(() => Math.random() - 0.5).forEach(tech => { const techItem = document.createElement('div'); techItem.className = 'tech-item'; techItem.textContent = tech; techContainer.appendChild(techItem); }); } // Service Card Animation const serviceCards = document.querySelectorAll('.service-card'); serviceCards.forEach(card => { card.addEventListener('mouseenter', function() { this.style.transform = 'translateY(-8px) scale(1.02)'; }); card.addEventListener('mouseleave', function() { this.style.transform = 'translateY(0) scale(1)'; }); }); // Smooth scrolling for anchor links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { const href = this.getAttribute('href'); if (href !== '#') { e.preventDefault(); const targetElement = document.querySelector(href); if (targetElement) { targetElement.scrollIntoView({ behavior: 'smooth', block: 'start' }); } } }); }); // Parallax effect for hero section window.addEventListener('scroll', function() { const scrolled = window.pageYOffset; const heroSection = document.querySelector('.relative.min-h-screen'); if (heroSection) { const rate = scrolled * 0.3; heroSection.style.transform = `translate3d(0, ${rate}px, 0)`; } }); // Intersection Observer for animations const observerOptions = { threshold: 0.1, rootMargin: '0px 0px -50px 0px' }; const observer = new IntersectionObserver(function(entries) { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.style.opacity = '1'; entry.target.style.transform = 'translateY(0)'; } }); }, observerOptions); // Observe service cards serviceCards.forEach(card => { card.style.opacity = '0'; card.style.transform = 'translateY(30px)'; card.style.transition = 'opacity 0.6s ease, transform 0.6s ease'; observer.observe(card); }); // Dynamic year for footer const yearElement = document.getElementById('current-year'); if (yearElement) { yearElement.textContent = new Date().getFullYear(); } });