glam/frontend/src/App.css
2025-12-01 23:55:55 +01:00

210 lines
3.8 KiB
CSS

/**
* Global Application Styles
* Heritage Custodian Ontology Visualization
* Following Netwerk Digitaal Erfgoed (NDE) house style
*
* NDE Brand Colors:
* - Primary Blue: #0a3dfa
* - Dark Blue: #172a59 (primary text)
* - Orange Accent: #fa5200 (highlights)
* - Light Gray: #f6f6f6 (backgrounds)
*
* NDE Typography:
* - Headings: Poppins (400, 500, 600)
* - Body: Roboto (400, 500, 700)
*/
/* Import NDE fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600&family=Roboto:wght@400;500;700&display=swap');
* {
box-sizing: border-box;
}
html {
height: 100%;
margin: 0;
padding: 0;
}
body {
height: 100%;
margin: 0;
padding: 0;
font-family: 'Roboto', Helvetica, Arial, sans-serif; /* NDE body font */
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background: #f6f6f6; /* NDE light background */
color: #172a59; /* NDE dark blue text */
}
#root {
height: 100%;
display: flex;
flex-direction: column;
position: relative;
}
/* NDE-style faded sunburst rays background */
#root::before {
content: '';
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url('/nde-icon-square.png');
background-repeat: no-repeat;
background-position: -20vw 30vh;
background-size: 80vw auto;
opacity: 0.04;
pointer-events: none;
z-index: 0;
}
/* Ensure all content appears above the sunburst */
#root > * {
position: relative;
z-index: 1;
}
code {
font-family: 'Courier New', Courier, monospace;
background: rgba(10, 61, 250, 0.05);
padding: 0.2em 0.4em;
border-radius: 3px;
font-size: 0.9em;
}
h1, h2, h3, h4, h5, h6 {
margin: 0;
font-family: 'Poppins', Helvetica, Arial, sans-serif; /* NDE heading font */
color: #172a59; /* NDE dark blue */
line-height: 1.3em;
}
h1 {
font-size: clamp(1.5rem, 2vw + 1rem, 2.5rem);
font-weight: 500;
}
h2 {
font-size: clamp(1.25rem, 1.5vw + 0.75rem, 2rem);
font-weight: 500;
}
h3 {
font-size: clamp(1.1rem, 1vw + 0.5rem, 1.5rem);
font-weight: 500;
}
h4 {
font-size: clamp(1rem, 0.75vw + 0.5rem, 1.25rem);
font-weight: 500;
}
p {
margin: 0;
color: #172a59;
font-size: 1rem;
line-height: 1.6;
}
a {
color: #0a3dfa; /* NDE primary blue */
text-decoration: underline;
transition: color 0.2s ease-in-out;
}
a:hover {
color: #172a59; /* NDE dark blue */
}
strong {
font-weight: 500;
color: #172a59;
}
/* NDE Button Styles */
button {
font-family: 'Poppins', Helvetica, Arial, sans-serif;
font-size: 0.9375rem;
font-weight: 400;
padding: 0.75rem 1.25rem;
border-radius: 4px;
border: none;
cursor: pointer;
transition: all 0.2s ease-in-out;
}
button.primary {
background-color: #0a3dfa; /* NDE primary blue */
color: white;
}
button.primary:hover {
background-color: #172a59; /* NDE dark blue */
}
button.secondary {
background-color: #f6f6f6;
color: #172a59;
}
button.secondary:hover {
background-color: #ebefff; /* Light blue */
}
button.accent {
background-color: #fa5200; /* NDE orange */
color: white;
}
button.accent:hover {
background-color: #0a3dfa; /* NDE blue */
}
/* Scrollbar Styling (WebKit browsers) with NDE colors */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: #f6f6f6; /* NDE light gray */
}
::-webkit-scrollbar-thumb {
background: rgba(10, 61, 250, 0.3); /* Semi-transparent NDE blue */
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #0a3dfa; /* NDE primary blue */
}
/* Responsive Typography */
@media (max-width: 768px) {
body {
font-size: 0.9375rem;
}
button {
padding: 0.625rem 1rem;
font-size: 0.875rem;
}
}
@media (max-width: 480px) {
body {
font-size: 0.875rem;
}
button {
padding: 0.5rem 0.875rem;
font-size: 0.8125rem;
}
}