// Funcionalidades principais do site document.addEventListener('DOMContentLoaded', function() { // Navegação suave para links de âncora document.querySelectorAll('a[href^="#"]').forEach(anchor => { anchor.addEventListener('click', function (e) { e.preventDefault(); const targetId = this.getAttribute('href'); const targetElement = document.querySelector(targetId); if (targetElement) { window.scrollTo({ top: targetElement.offsetTop - 80, behavior: 'smooth' }); } }); }); // Animação para elementos ao rolar a página const animateOnScroll = function() { const elements = document.querySelectorAll('.category-card, .course-option-card, .platform-feature, .testimonial-card'); elements.forEach(element => { const elementPosition = element.getBoundingClientRect().top; const windowHeight = window.innerHeight; if (elementPosition < windowHeight - 100) { element.classList.add('animated'); } }); }; // Executar animação ao carregar a página animateOnScroll(); // Executar animação ao rolar a página window.addEventListener('scroll', animateOnScroll); // Adicionar classe ativa aos links de navegação const sections = document.querySelectorAll('section[id]'); window.addEventListener('scroll', function() { let current = ''; sections.forEach(section => { const sectionTop = section.offsetTop; const sectionHeight = section.clientHeight; if (pageYOffset >= sectionTop - 200) { current = section.getAttribute('id'); } }); document.querySelectorAll('.main-nav a').forEach(link => { link.classList.remove('active'); if (link.getAttribute('href') === `#${current}`) { link.classList.add('active'); } }); }); // Menu mobile const createMobileMenu = function() { const header = document.querySelector('.header-content'); const nav = document.querySelector('.main-nav'); if (window.innerWidth <= 768 && !document.querySelector('.mobile-menu-toggle')) { const mobileMenuToggle = document.createElement('button'); mobileMenuToggle.classList.add('mobile-menu-toggle'); mobileMenuToggle.innerHTML = ''; mobileMenuToggle.setAttribute('aria-label', 'Abrir menu de navegação'); header.insertBefore(mobileMenuToggle, nav); nav.classList.add('mobile-nav'); mobileMenuToggle.addEventListener('click', function() { this.classList.toggle('active'); nav.classList.toggle('active'); }); } }; // Criar menu mobile se necessário createMobileMenu(); // Atualizar menu mobile ao redimensionar a janela window.addEventListener('resize', createMobileMenu); // Adicionar funcionalidade de FAQ expansível const faqItems = document.querySelectorAll('.faq-item'); faqItems.forEach(item => { const question = item.querySelector('.faq-question'); const answer = item.querySelector('.faq-answer'); // Inicialmente, ocultar as respostas answer.style.display = 'none'; question.addEventListener('click', function() { // Alternar visibilidade da resposta if (answer.style.display === 'none') { answer.style.display = 'block'; question.classList.add('active'); } else { answer.style.display = 'none'; question.classList.remove('active'); } }); }); });