/* 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: 12vh; transition: height 0.2s, transform 0.2s; &:hover { height: 14vh; } } header { display: flex; flex-direction: row; align-items: flex-start; justify-content: space-between; overflow: hidden; } #header-image { height: 20vh; max-width: 40vw; } #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; 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; } }