/* Nationaal Archief style - matching https://www.nationaalarchief.nl/ */ /* Import RO Serif (or fallback to Georgia for serif headings) */ @import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap'); :root { /* NA Color Palette */ --na-primary: #007bc7; --na-red: #d52b1e; --na-orange: #e17000; --na-green: #39870c; --na-cream: #f7f5f3; --na-dark-blue: #154273; --na-text: #333333; --na-text-secondary: #666666; /* Typography */ font-family: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.5; font-weight: 400; color-scheme: light; font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } * { box-sizing: border-box; margin: 0; padding: 0; } body { min-width: 320px; min-height: 100vh; background-color: var(--na-cream); color: var(--na-text); } #root { min-height: 100vh; display: flex; flex-direction: column; } /* Serif headings like NA uses */ h1, h2, h3 { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; font-style: italic; } /* NA-style links */ a { color: var(--na-primary); text-decoration: underline; } a:hover { text-decoration: none; } /* NA-style buttons */ .na-button { background-color: var(--na-primary); color: white; border: none; padding: 12px 24px; font-size: 16px; font-weight: 600; cursor: pointer; transition: background-color 0.2s; } .na-button:hover { background-color: #005a8e; } /* Section card accent borders */ .section-onderzoeken { border-top: 4px solid var(--na-primary); } .section-beleven { border-top: 4px solid var(--na-orange); } .section-archiveren { border-top: 4px solid var(--na-green); } /* ======================================== Toggle Footer Styles ======================================== */ /* Footer toggle button - always visible at bottom center */ .footer-toggle-btn { position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 48px; height: 28px; background: var(--na-dark-blue); border: none; border-radius: 8px 8px 0 0; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 1000; transition: background-color 0.2s, transform 0.3s; box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15); } .footer-toggle-btn:hover { background: var(--na-primary); } .footer-toggle-btn svg { width: 20px; height: 20px; color: white; transition: transform 0.3s ease; } .footer-toggle-btn.footer-open svg { transform: rotate(180deg); } /* Hidden footer container */ .toggle-footer { position: fixed; bottom: 0; left: 0; right: 0; background: var(--na-dark-blue); color: #fff; transform: translateY(100%); transition: transform 0.3s ease-in-out; z-index: 999; max-height: 60vh; overflow-y: auto; } .toggle-footer.footer-visible { transform: translateY(0); } /* Adjust toggle button position when footer is open */ .footer-toggle-btn.footer-open { bottom: auto; /* Position will be set dynamically based on footer height */ } /* ======================================== Collapsible Header Styles ======================================== */ /* Small floating logo - appears when header is collapsed */ .header-logo-small { position: fixed; top: 12px; left: 12px; z-index: 1001; display: block; background: transparent; border: none; padding: 0; margin: 0; cursor: pointer; /* Hidden by default (when header is expanded) */ opacity: 0; pointer-events: none; transition: opacity 0.25s ease-out, transform 0.2s ease; } .header-logo-small.visible { opacity: 1; pointer-events: auto; } .header-logo-small-img { width: 40px; height: 40px; display: block; /* White contour/glow effect for visibility on any background */ filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.95)) drop-shadow(0 0 4px rgba(255, 255, 255, 0.8)) drop-shadow(0 0 6px rgba(255, 255, 255, 0.6)); transition: filter 0.2s ease, transform 0.2s ease; } .header-logo-small:hover { transform: scale(1.08); } .header-logo-small:hover .header-logo-small-img { filter: drop-shadow(0 0 3px rgba(255, 255, 255, 1)) drop-shadow(0 0 6px rgba(255, 255, 255, 0.9)) drop-shadow(0 0 8px rgba(255, 255, 255, 0.7)); } /* Collapsible header container */ .header-collapsible { transition: max-height 0.25s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1), margin-bottom 0.25s cubic-bezier(0.4, 0, 0.2, 1); max-height: 200px; /* Enough height for utility bar + header + nav */ overflow: hidden; opacity: 1; /* Flex-shrink so it gives up space when collapsed */ flex-shrink: 0; /* Enable GPU acceleration for smoother animation */ will-change: max-height, opacity; } /* Collapsed state - hide header */ .header-collapsible.header-collapsed { max-height: 0; opacity: 0; pointer-events: none; /* Ensure no margin/padding takes up space */ margin-bottom: 0; padding: 0; }