Informations légales

Mentions légales

Informations relatives à l’éditeur du site BONGEST, à son exploitation et aux conditions d’utilisation des contenus.

.bg-legal { --navy: #10243e; --blue: #087bdc; --cyan: #10b8e8; --line: #e2eaf2; font-family: Inter, Arial, sans-serif; color: var(--navy); background: #fff; } .bg-legal * { box-sizing: border-box; } .bg-legal a { color: var(--blue); text-decoration: none; } .bg-legal .layout { max-width: 1240px; margin: auto; padding: 40px 24px 80px; display: grid; grid-template-columns: 285px minmax(0, 1fr); gap: 42px; align-items: start; } /* MENU LATERAL */ .bg-legal .side { position: sticky; top: 90px; align-self: start; max-height: calc(100vh - 110px); overflow-y: auto; background: #f5f9fd; border: 1px solid var(--line); border-radius: 16px; padding: 24px 16px; scrollbar-width: thin; } .bg-legal .side h2 { font-size: 16px; margin: 0 10px 16px; color: var(--navy); } .bg-legal .side nav { display: flex; flex-direction: column; gap: 3px; } .bg-legal .side a { font-size: 13px; line-height: 1.5; color: #53647a; display: block; padding: 10px 13px; border-left: 3px solid transparent; border-radius: 8px; transition: background-color .2s ease, color .2s ease, border-color .2s ease; } .bg-legal .side a:hover, .bg-legal .side a.active { color: var(--blue); background: #e6f2ff; border-left-color: var(--blue); } .bg-legal .side a.active { font-weight: 700; } /* CONTENU */ .bg-legal main { min-width: 0; } .bg-legal section { scroll-margin-top: 110px; border-bottom: 1px solid var(--line); padding-bottom: 28px; margin-bottom: 34px; } .bg-legal section h2 { font-size: 23px; margin: 0 0 16px; color: var(--navy); line-height: 1.35; } .bg-legal section p { font-size: 15px; line-height: 1.9; color: #52647a; margin: 0 0 14px; } .bg-legal section p:last-child { margin-bottom: 0; } /* ENCADRES D'INFORMATION */ .bg-legal .legal-info { background: #eef6fd; border: 1px solid var(--line); padding: 26px; border-radius: 15px; } .bg-legal .legal-info p { margin: 0 0 11px; } .bg-legal .legal-info strong { color: var(--navy); } .bg-legal .legal-info a { color: var(--blue); } .bg-legal .legal-info a:hover { text-decoration: underline; } /* RESPONSIVE */ @media (max-width: 900px) { .bg-legal .layout { grid-template-columns: 1fr; padding: 30px 18px 60px; gap: 26px; } .bg-legal .side { position: relative; top: auto; max-height: none; overflow: visible; } .bg-legal .side nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 540px) { .bg-legal .side nav { grid-template-columns: 1fr; } .bg-legal section h2 { font-size: 20px; } .bg-legal .legal-info { padding: 20px; } } (function () { const root = document.getElementById('bg-legal-root'); if (!root) return; const links = Array.from( root.querySelectorAll('.side a[href^="#"]') ); const sections = links .map(link => document.getElementById( link.getAttribute('href').slice(1) )) .filter(Boolean); if (!sections.length) return; function updateActiveMenu() { const offset = 140; let activeSection = sections[0]; for (const section of sections) { if (section.getBoundingClientRect().top = document.documentElement.scrollHeight - 5; if (atBottom) { activeSection = sections[sections.length - 1]; } const activeId = '#' + activeSection.id; links.forEach(link => { const active = link.getAttribute('href') === activeId; link.classList.toggle('active', active); if (active) { link.setAttribute('aria-current', 'location'); } else { link.removeAttribute('aria-current'); } }); /* Garde le lien actif visible dans le sommaire */ const activeLink = links.find( link => link.getAttribute('href') === activeId ); const sidebar = root.querySelector('.side'); if (activeLink && sidebar && window.innerWidth > 900) { const linkTop = activeLink.offsetTop; const linkBottom = linkTop + activeLink.offsetHeight; const visibleTop = sidebar.scrollTop; const visibleBottom = visibleTop + sidebar.clientHeight; if (linkTop visibleBottom - 20) { sidebar.scrollTop = linkBottom - sidebar.clientHeight + 40; } } } let scheduled = false; function onScroll() { if (scheduled) return; scheduled = true; requestAnimationFrame(() => { updateActiveMenu(); scheduled = false; }); } window.addEventListener('scroll', onScroll, { passive: true }); window.addEventListener('resize', onScroll); links.forEach(link => { link.addEventListener('click', event => { const target = document.getElementById( link.getAttribute('href').slice(1) ); if (!target) return; event.preventDefault(); target.scrollIntoView({ behavior: window.matchMedia( '(prefers-reduced-motion: reduce)' ).matches ? 'auto' : 'smooth', block: 'start' }); history.replaceState(null, '', '#' + target.id); }); }); updateActiveMenu(); })();