@use 'utils/minireset'; @use '@splidejs/splide/dist/css/splide-core.min'; @use 'partials/fonts'; @use 'partials/variables' as *; @use 'partials/animations'; // ---------------------------------------------------------------------------- // GENERALITIES // ---------------------------------------------------------------------------- // Fonts and colors body { font-family: var(--text-font-family); font-size: var(--text-font-size); line-height: var(--text-line-height); color: var(--black); background-color: var(--feldgrau); } h1 { font-family: var(--title-font-family); font-size: var(--h1-font-size); line-height: var(--h1-line-height); } h2 { font-family: var(--text-font-family); font-size: var(--h2-font-size); line-height: var(--h2-line-height); margin: 0 0 4rem 0; } h3 { font-family: var(--text-font-family); font-size: var(--h3-font-size); line-height: var(--h3-line-height); margin: 2rem 0 1rem 0; } p { text-align: justify; } strong { font-weight: var(--bold-font-weight); } em { font-style: italic; } // Link style a { color: var(--black); text-decoration: none; transition: text-decoration 200ms ease-in-out; &:hover, &:focus, &:active { text-decoration: underline; } &:focus-visible { outline: 1px dashed var(--black); outline-offset: 2px; animation: expand-outline 200ms ease-in-out; } } // General layout body { min-height: 100vh; overflow-x: hidden; } @media screen and (min-width: $desktop-media-query) { body { overflow-y: hidden; } } // ---------------------------------------------------------------------------- // HEADER // ---------------------------------------------------------------------------- // Sidebar .sidebar { position: relative; z-index: 2; width: 100%; padding: var(--sidebar-padding); display: flex; flex-direction: column; justify-content: space-between; align-items: flex-start; background-color: transparent; .sidebar__nav { max-width: 100%; } .sidebar__nav-item { + .sidebar__nav-item { margin: 0.2rem 0 0 0; } } .sidebar__nav-link { display: inline-block; max-width: 100%; overflow-x: hidden; white-space: nowrap; text-overflow: ellipsis; transition: color 200ms ease-in-out; &--white { color: var(--white); &:focus-visible { outline: 1px dashed var(--white); } } } .sidebar__social { width: 100%; display: flex; justify-content: center; align-items: center; margin: 0.8rem 0 0 0; } .sidebar__social-link { width: var(--icon-size); height: var(--icon-size); display: flex; justify-content: center; align-items: center; + .sidebar__social-link { margin: 0 0 0 0.8rem; } svg { width: 100%; height: 100%; fill: var(--black); transition: fill 200ms ease-in-out; } &--white { &:focus-visible { outline: 1px dashed var(--white); } svg { fill: var(--white); } } } } @media screen and (min-width: $desktop-media-query) { .sidebar { &--fixed { position: fixed; z-index: 3; overflow-y: auto; top: 0; bottom: 0; left: 0; } &--slimmed { width: 15%; min-width: 15rem; .sidebar__nav-link { color: var(--transparent-black); } .sidebar__social-link { svg { fill: var(--transparent-black); } } &:hover { .sidebar__nav-link { color: var(--black); } .sidebar__social-link { svg { fill: var(--black); } } } .sidebar__nav-link { &:focus-visible { color: var(--black); } } .sidebar__social-link { &:focus-visible { svg { fill: var(--black); } } } } .sidebar__social { width: auto; justify-content: flex-start; } } } // ---------------------------------------------------------------------------- // MAIN // ---------------------------------------------------------------------------- // Slider section .slider-section { position: fixed; z-index: 1; top: 0; right: 0; visibility: visible; opacity: 1; transition: visibility 0ms 400ms, opacity 400ms ease-in-out; &--hidden { visibility: hidden; opacity: 0; transition: visibility 0ms, opacity 400ms ease-in-out; } } .splide__image { width: 100%; height: 100%; object-fit: cover; } // Exhibition section .exhibition-section { display: none; } @media screen and (min-width: $desktop-media-query) { .exhibition-section { position: relative; z-index: 2; display: block; width: 100vw; height: 100vh; } .exhibition { visibility: hidden; opacity: 0; width: 100%; height: 100%; transition: visibility 0ms, opacity 400ms ease-in-out; &--visible { visibility: visible; opacity: 1; transition: visibility 0ms 400ms, opacity 400ms ease-in-out; } } }