:root { --fg-color: #ffffff; --bg-color: #214478; --font-family: "IBM Plex Sans Condensed", sans-serif; --font-size: 16px; } html, body { width: 100%; height: 100%; margin: 0; padding: 0; } .container { position: relative; display: flex; flex-direction: column; font-family: var(--font-family); font-size: var(--font-size); overflow-x: hidden; overflow-y: auto; height: 100%; background-size: cover; background: url("../images/3rdparty/unsplash/mountains.jpg") fixed center; } .container header, .container main { position: relative; flex: 1 0 auto; } .container header { height: 100%; background-color: var(--bg-color); color: var(--fg-color); display: flex; justify-content: center; } .container header img { width: 60%; max-width: 320px; } .container main { min-height: 100%; color: var(--bg-color); } .container main .page { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; margin: 200px 0; } .container main .page .centered-block { width: 500px; max-width: 80%; } .container main h2, .container main p { margin-top: 0; background-color: var(--fg-color); color: var(--bg-color); } .container main p { padding: 15px 20px; } .container main h2 { padding: 10px 20px; display: inline-block; letter-spacing: 0.1rem; } .container main h2 a { color: var(--bg-color); text-decoration: none; } .container main h2 a:hover { color: var(--bg-color); text-decoration: underline; } .container main h2 a:active { color: var(--bg-color); } .container main h2 a::after { content: ""; width: 12px; height: 12px; margin-left: 8px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Ctitle%3E external link %3C/title%3E%3Cpath fill='currentColor' d='M6 1h5v5L8.86 3.85 4.7 8 4 7.3l4.15-4.16L6 1Z M2 3h2v1H2v6h6V8h1v2a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: contain; display: inline-block; vertical-align: super; } @media only screen and (min-width: 1024px) { .container { flex-direction: row; align-items: stretch; overflow-y: hidden; } .container header, .container main { width: 50%; } .container header img { width: 320px; } .container main { overflow-y: auto; } .container main .page .centered-block { max-width: 70%; } } @media only screen and (min-width: 1600px) { .container header { justify-content: right; } .container header img { margin-right: 144px; } .container main .page { align-items: flex-start; } .container main .page .centered-block { margin-left: 144px; } } /** Scroll snapping on devices with more than 750px height **/ @media only screen and (min-height: 750px) { .container { scroll-snap-type: y mandatory; } .container header { scroll-snap-align: start; } .container main { scroll-snap-type: y mandatory; } .container main .page { scroll-snap-align: start; height: 100vh; margin: 0; } } /*# sourceMappingURL=style.css.map */