/* general page styling */ :root { --main-bg-color: #020404; --main-text-color: #efe3e3; --main-accent-color: #f9c827; --secondary-accent-color: #ff925f; } * { box-sizing: border-box; } body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; background-color: var(--main-bg-color); color: var(--main-text-color); margin: 1.5rem; margin-top: 0; } a { color: var(--main-accent-color); &:hover, &:focus { color: var(--secondary-accent-color); } } code { font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace; } img { display: block; &.small { max-height: 10em; width: auto; } } h1 { font-weight: 700; font-size: 1.8rem; margin-bottom: 0.5em; color: var(--main-accent-color); } h2 { font-size: 1.5rem; } h3 { font-size: 1.2rem; } /* page header */ #space-image { height: 8vh; transition: height 0.2s, transform 0.2s; &:hover { height: 11vh; } } #header-image { max-height: 100%; } header { display: grid; grid-template: "logo . nav nav" "logo . . ." min-content "logo . space-text space-image" min-content / minmax(min-content, 30vw) 1fr auto minmax(0, min-content); overflow: hidden; #logo { grid-area: logo; } nav { grid-area: nav; } #space-text { grid-area: space-text; text-align: right; margin-right: 1em; vertical-align: bottom; margin-top: auto; } #space-image-container { grid-area: space-image; } } @media screen and (device-width < 600px) { header { grid-template: "logo space-image" minmax(0, 20vh) "nav nav" min-content / auto minmax(0, min-content); #space-image-container { margin-top: auto; margin-bottom: auto; margin-left: auto; } #space-text { display: none; } } } @media screen and (device-width < 340px) { header { grid-template: "logo" minmax(5cm, 20vh) "space-image" min-content "nav" / 1fr; } } #skip-header { background: var(--main-bg-color); border: 0; clip: rect(0, 0, 0, 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; &:active, &:focus { clip: auto; height: auto; margin: 1em; overflow: visible; white-space: inherit; width: auto; } } nav { display: flex; justify-content: end; flex-wrap: wrap; margin: 1em; a { height: min-content; font-size: 1.2em; font-weight: bold; color: var(--main-text-color); margin-left: 1em; margin-bottom: 0.4em; text-transform: uppercase; text-decoration: underline 0.15em var(--main-text-color); transition: text-decoration-color 0.3s, color 0.25s; &:focus, &:hover { text-decoration-color: var(--main-accent-color); color: var(--main-accent-color); } } } /* main grid */ main { display: grid; grid-template: ". content ." auto / 1fr minmax(min-content, 45rem) 1fr; section { grid-area: content; } img { height: auto; max-width: 100%; border-radius: 1em; } } footer { background-color: var(--main-bg-color); text-align: center; padding-top: 1.5em; margin-top: 1.5em; font-weight: bold; border-top: 2px solid transparent; border-image: linear-gradient( 90deg, transparent, var(--secondary-accent-color), transparent ); border-image-slice: 1; } /* calendar */ #dbkcalendar { * { border-radius: 0.25em; } .calendar-date th { padding: 0.5em 1em; background: oklch(40% 0 0); } td { padding: 1em; } p { margin: 0; max-height: min-content; &.categories { margin-top: 0.2em; em { background-color: var(--main-accent-color); padding: 0 0.25em; font-style: normal; font-weight: bold; color: var(--main-bg-color); } } } } em.summary { font-style: normal; font-weight: bold; } table { border-spacing: 0; border-collapse: collapse; * { text-align: left; vertical-align: top; } }