// Smooth scroll for any future internal links document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { e.preventDefault(); const target = document.querySelector(this.getAttribute('href')); if (target) { target.scrollIntoView({ behavior: 'smooth', block: 'start' }); } }); }); // Add fade-in animation to cards on scroll const observerOptions = { threshold: 0.1, rootMargin: '0px 0px -50px 0px' }; const observer = new IntersectionObserver((entries) => { entries.forEach(entry => { if (entry.isIntersecting) { entry.target.style.opacity = '0'; entry.target.style.transform = 'translateY(20px)'; entry.target.style.transition = 'opacity 0.6s ease, transform 0.6s ease'; setTimeout(() => { entry.target.style.opacity = '1'; entry.target.style.transform = 'translateY(0)'; }, 100); observer.unobserve(entry.target); } }); }, observerOptions); // Observe all service cards and tech items document.querySelectorAll('.service-card, .tech-item, .flow-step').forEach(el => { observer.observe(el); }); // Easter egg: Konami code detector let konamiCode = ['ArrowUp', 'ArrowUp', 'ArrowDown', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'ArrowLeft', 'ArrowRight', 'b', 'a']; let konamiIndex = 0; document.addEventListener('keydown', (e) => { if (e.key === konamiCode[konamiIndex]) { konamiIndex++; if (konamiIndex === konamiCode.length) { document.body.style.animation = 'rainbow 2s ease infinite'; setTimeout(() => { document.body.style.animation = ''; konamiIndex = 0; }, 5000); } } else { konamiIndex = 0; } }); // Add CSS for rainbow animation const style = document.createElement('style'); style.textContent = ` @keyframes rainbow { 0% { filter: hue-rotate(0deg); } 100% { filter: hue-rotate(360deg); } } `; document.head.appendChild(style); // Console message for developers console.log('%c👋 Hello, developer!', 'font-size: 20px; color: #6366f1; font-weight: bold;'); console.log('%cInterested in the infrastructure? Check out https://git.dc.railwayka.ru', 'font-size: 14px; color: #a1a1aa;'); console.log('%cPowered by Dcape - GitOps infrastructure management', 'font-size: 12px; color: #6366f1;');