:root {
--background: white;
--accent-bg: white;
--text: #223;
--accent: var(--text);
--red: #fff2f5;
--yellow: #fff5c2;
--green: #eaf4dd;
--blue: #e1f3f8;
--source-serif: "Source Serif 4 Variable", "Source Serif 4", "Source Serif Pro", Georgia, serif;
font-size: 1rem;
}
#oudheden, [href*="oudheden"] {
--accent-bg: var(--yellow);
--display: var(--blackletter);
}
#oudheden main {
background: url(/cosmetics/bgvignette.png), url(/gallery/oudheden/bg.png);
background-size: 100% 100%, auto;
}
#nieuwetijd, [href*="nieuwetijd"] {
--accent-bg: var(--red);
--display: var(--cormorant);
}
#nieuwetijd h2 strong, [href*="nieuwetijd"] strong {
text-transform: uppercase;
}
#nieuwetijd main {
background: url(/cosmetics/bgvignette.png), url(/gallery/nieuwetijd/bg.png);
background-size: 100% 100%, auto;
}
#modernisme, [href*="modernisme"] {
--accent-bg: var(--green);
--display: var(--gill-sans);
}
#modernisme h2 strong, [href*="modernisme"] strong {
text-transform: uppercase;
}
#modernisme main {
background: url(/cosmetics/bgvignette.png), url(/gallery/modernisme/bg.png);
background-size: 100% 100%, auto;
}
#hedendaags, [href*="hedendaags"] {
--accent-bg: var(--blue);
--display: var(--source-serif);
}
#hedendaags h2 strong, [href*="hedendaags"] strong, #navbar [href*="hedendaags"] .icon {
font-style: italic;
font-weight: 600;
text-transform: lowercase;
}
#hedendaags main {
background: url(/cosmetics/bgvignette.png), linear-gradient(to bottom left, var(--accent-bg), #9DA3E8);
background-size: 100% 100%, auto;
}
body {
font-family: var(--gill-sans);
}
#body-container {
display: grid;
grid-template-columns: 15em 1fr;
}
#navbar {
position: sticky;
inset-block-start: 0;
z-index: 10;
display: grid;
grid-template-rows: auto auto 1fr;
block-size: 100vh;
--accent-bg: var(--background);
}
#navbar ul {
margin: 0;
padding: 0;
line-height: 1;
}
#navbar ul li {
position: relative;
display: block;
margin: 0;
box-shadow: 0 0 1em #0008;
transition: transform 0.2s;
}
#navbar ul li:hover {
transform: translateX(1em);
}
#navbar ul li a {
display: grid;
grid-template-columns: 2rem 1fr;
align-items: center;
gap: 1rem;
block-size: 4rem;
padding: 1rem;
hyphens: none;
letter-spacing: var(--caps-spacing);
text-decoration: none;
text-transform: uppercase;
background: var(--accent-bg);
}
#navbar ul li a .icon {
font-family: var(--display, var(--gill-sans));
font-size: 2rem;
text-align: center;
}
#navbar ul li a:is([href*="toilets"], [href*="gifts"], [href="/gallery"], [href="/"]) .icon {
font-family: var(--gill-sans);
font-size: 1.5rem;
}
#navbar ul li a[hreflang] .icon {
display: flex;
align-items: center;
justify-content: center;
font-family: var(--gill-sans);
font-size: 1.5rem;
}
.icon::after {
content: "\FE0E";
}
h1 {
z-index: 1000;
margin: 0;
padding-block: 1rem;
font-family: var(--blackletter);
font-size: 1.75rem;
background-color: var(--background);
box-shadow: 0 0 1rem #0008;
}
.fraktur {
font-family: var(--blackletter);
}
#navbar footer {
z-index: 50;
display: grid;
align-items: end;
padding: 1rem;
background-color: var(--background);
box-shadow: 0 0 1rem #0008;
}
#navbar footer small {
font-size: 1em;
text-align: end;
}
main {
block-size: 100%;
inline-size: 100%;
max-inline-size: none;
padding: 0;
}
h2 {
inline-size: fit-content;
margin-block: 2rem 0;
margin-inline: auto;
padding-block: 1rem;
padding-inline: 2rem;
font-weight: normal;
text-align: center;
background-color: var(--accent-bg);
box-shadow: 0 0.25rem 1rem #0008;
}
h2 strong {
font-family: var(--display);
font-size: 3rem;
font-weight: normal;
}
h2 small {
display: block;
font-size: 1.5rem;
letter-spacing: 0.1em;
text-transform: uppercase;
}
.gallery {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-evenly;
gap: 4rem;
padding-inline: 2em;
}
.gallery>li {
display: flex;
align-items: flex-start;
gap: 1em;
margin-block: 3rem;
}
.gallery>li.landscape {
flex-direction: column;
}
.gallery>li>img, .gallery>li>video {
margin: 0;
filter: drop-shadow(0 0.25rem 1rem #0008);
}
video {
max-inline-size: 100%;
}
.framed img, .framed video {
max-inline-size: 100%;
border: 20px solid;
border-image: url(/cosmetics/goldtrim.gif) 20 round;
}
.photo img, .photo video {
max-inline-size: 100%;
border: 20px solid white;
border-block-end: 40px solid white;
transform: rotate(1deg);
}
.gallery figcaption {
margin: 0;
padding: 1em;
font-size: 0.9rem;
background-color: var(--background);
box-shadow: 0 0.25rem 1rem #0008;
}
.gallery .portrait figcaption {
max-inline-size: 35ch;
}
.gallery .landscape figcaption {
max-inline-size: 62.5ch;
}
figcaption p {
margin-block: 0.5rem;
text-align: start;
}
figcaption p:first-child {
margin-block-start: 0;
}
figcaption p:last-child {
margin-block-end: 0;
text-align: end;
}
.artist, .title {
font-size: 1.1rem;
font-weight: bold;
line-height: 1.1;
}
.details, .acquired {
font-size: 0.8rem;
}
.artist time, .title time {
font-weight: normal;
}
main>footer {
position: relative;
z-index: 5;
display: flex;
flex-wrap: wrap;
justify-content: space-evenly;
gap: 1rem;
margin: 1rem;
--display: var(--gill-sans);
font-size: 1rem;
--accent-bg: var(--background);
}
main>footer>a {
display: flex;
align-items: center;
justify-content: flex-start;
padding-block: 1em;
padding-inline: 2em;
text-decoration: none;
background-color: var(--accent-bg);
box-shadow: 0 0 1em #0008;
}
main>footer>a .icon {
margin-inline-end: 1rem;
font-size: 2.5em;
text-align: center;
}
main>footer>a strong {
font-family: var(--display);
font-size: 2em;
font-weight: normal;
line-height: 1.1;
text-align: start;
}
main>footer>a small {
display: block;
font-size: 1em;
font-style: normal;
letter-spacing: var(--caps-spacing);
text-align: start;
text-transform: uppercase;
}
@media screen and (max-width: 900px) {
#body-container {
grid-template-columns: none;
grid-template-rows: auto auto;
}
#navbar {
position: sticky;
inset-block-start: 0;
display: flex;
align-content: center;
align-items: stretch;
block-size: fit-content;
inline-size: 100%;
overflow-x: auto;
}
#navbar ul {
display: flex;
flex-grow: 1;
flex-shrink: 0;
align-content: center;
align-items: stretch;
}
h1 {
display: flex;
flex-shrink: 0;
align-items: center;
padding-block: 0;
padding-inline: 1rem;
}
#navbar footer small {
flex-shrink: 0;
}
#navbar footer {
flex-shrink: 0;
align-items: center;
padding-inline: 1rem;
}
#navbar ul li {
display: flex;
flex-shrink: 0;
}
#navbar ul li a {
block-size: auto;
}
#navbar ul li {
display: flex;
}
}
@media screen and (max-width: 750px) {
.gallery {
padding-inline: 0;
}
.gallery>li {
flex-direction: column;
align-items: center;
}
.gallery .portrait figcaption {
max-inline-size: 60ch;
}
}
@media screen and (max-width: 600px) {
h2 strong {
font-size: 2rem;
}
h2 small {
font-size: 1rem;
}
}
@font-face {
font-family: 'UnifrakturCook';
font-style: normal;
font-weight: 700;
src: local('UnifrakturCook'), local('UnifrakturCook-Bold'),
url('/fonts/unifrakturcook.woff2') format('woff2'),
url('/fonts/unifrakturcook.woff') format('woff');
}
@font-face {
font-family: 'Source Serif 4 Variable';
src: url('/fonts/SourceSerif4Variable-Roman.otf.woff2') format('woff2-variations');
font-style: normal;
font-weight: 200 900;
font-variation-settings: "opsz"8 60;
}
@font-face {
font-family: 'Source Serif 4 Variable';
src: url('/fonts/SourceSerif4Variable-Italic.otf.woff2') format('woff2-variations');
font-style: italic;
font-weight: 200 900;
font-variation-settings: "opsz"8 60;
}
@font-face {
font-family: "Cormorant Garamond";
font-style: normal;
font-weight: 400;
src: local("Cormorant Garamond Regular"), local("CormorantGaramond-Regular"),
url("/fonts/cormorant-regular.woff2") format("woff2");
font-display: fallback;
}