HervaMere

Legal information

Privacy Policy

Effective date: January 1, 2025

1. Scope

This policy explains how HervaMere handles information when you visit the website, browse courses, save Fallows, use the cart, or contact our team.

2. Information you provide

If you contact HervaMere, we may receive your name, email address, phone number, and message. We use this information to understand and respond to your request.

3. Local browser storage

The site stores theme preference, cookie consent, saved course IDs, and cart quantities in your browser. These values help the interface remember your choices and are not presented as an account or server profile.

4. Use and retention

Contact information is used for support and operational communication. We retain it only as long as reasonably needed for the request, legal obligations, or service records.

5. Sharing and security

HervaMere does not sell personal information. Information may be disclosed when required by law or necessary to protect the service. We use reasonable safeguards, but no internet transmission can be guaranteed completely secure.

6. Your choices

You can clear local browser storage through your browser settings and can contact us to ask about a message associated with your request.

7. Children and changes

The service is intended for general adult household and grounds-learning use, not directed at children. We may update this policy and will revise the effective date when material changes occur.

8. Contact

Questions may be sent to [email protected] or +1 (503) 555-0148.

`; const footerHTML = ` `; document.getElementById('site-header').innerHTML = headerHTML; document.getElementById('site-footer').innerHTML = footerHTML; // Theme handling function applyTheme(theme) { if (theme === 'dark') { document.documentElement.classList.add('dark'); document.body.classList.add('bg-slate-900', 'text-slate-200'); document.body.classList.remove('bg-slate-50', 'text-slate-800'); } else { document.documentElement.classList.remove('dark'); document.body.classList.remove('bg-slate-900', 'text-slate-200'); document.body.classList.add('bg-slate-50', 'text-slate-800'); } } const savedTheme = localStorage.getItem('hervamere-theme') || 'light'; applyTheme(savedTheme); function toggleTheme() { const current = document.body.classList.contains('bg-slate-900') ? 'dark' : 'light'; const next = current === 'dark' ? 'light' : 'dark'; localStorage.setItem('hervamere-theme', next); applyTheme(next); } document.getElementById('theme-toggle')?.addEventListener('click', toggleTheme); document.getElementById('mobile-theme-toggle')?.addEventListener('click', toggleTheme); // Mobile menu const mobileBtn = document.getElementById('mobile-menu-btn'); const mobileNav = document.getElementById('mobile-nav'); if (mobileBtn && mobileNav) { mobileBtn.addEventListener('click', () => { const isOpen = !mobileNav.classList.contains('hidden'); mobileNav.classList.toggle('hidden'); mobileBtn.setAttribute('aria-expanded', !isOpen); }); } // Modals function setupModals() { const loginModal = document.getElementById('login-modal'); const registerModal = document.getElementById('register-modal'); document.querySelectorAll('[data-open-login]').forEach(btn => { btn.addEventListener('click', () => { registerModal.classList.add('hidden'); registerModal.classList.remove('flex'); loginModal.classList.remove('hidden'); loginModal.classList.add('flex'); }); }); document.querySelectorAll('[data-open-register]').forEach(btn => { btn.addEventListener('click', () => { loginModal.classList.add('hidden'); loginModal.classList.remove('flex'); registerModal.classList.remove('hidden'); registerModal.classList.add('flex'); }); }); document.querySelectorAll('[data-close-modal]').forEach(btn => { btn.addEventListener('click', () => { loginModal.classList.add('hidden'); loginModal.classList.remove('flex'); registerModal.classList.add('hidden'); registerModal.classList.remove('flex'); }); }); [loginModal, registerModal].forEach(modal => { modal?.addEventListener('click', e => { if (e.target === modal) { modal.classList.add('hidden'); modal.classList.remove('flex'); } }); }); } setupModals(); // Cookie banner const banner = document.getElementById('cookie-banner'); const acceptBtn = banner ? banner.querySelector('[data-accept-cookies]') : null; const COOKIE_KEY = 'hervamere-cookies'; function hideBanner() { if (banner) banner.style.display = 'none'; } function showBanner() { if (banner) banner.style.display = 'block'; } if (localStorage.getItem(COOKIE_KEY) === 'true') { hideBanner(); } else { showBanner(); } if (acceptBtn) { acceptBtn.addEventListener('click', () => { localStorage.setItem(COOKIE_KEY, 'true'); hideBanner(); }); }