@font-face { font-family: 'NationalPark-Light'; src: url(/assets/NationalPark-Variable-Webfonts/woff2/NationalPark-Light.woff2) format('woff2'); font-weight: normal; font-style: normal; font-display: swap; } @font-face { font-family: 'NationalPark-Regular'; src: url(/assets/NationalPark-Variable-Webfonts/woff2/NationalPark-Regular.woff2); font-weight: normal; font-style: normal; font-display: swap; } :root { --font-size: 18px; --line-height: 1.5; --heading-font: 'NationalPark-Regular', serif; --body-font: 'NationalPark-Light', sans-serif; /* light mode variables (default) */ --heading-color: #42a142; --body-color: #3D3D3D; --page-color: #fdfdfd; --link-color: #0645ad; --link-visited: #0b0080; --link-hover: #3366cc; --link-active: #faa700; --blockquote-color: #f5f5f5; --blockquote-highlight-color: #dbeadb; --panel-border-color: #edf2ec; --tr-hover-color: #ebf9ed; --hr-color: #d8f6d7; --post-date-color: #f5f5f5; } /* Dark mode overrides */ @media (prefers-color-scheme: dark) { :root { --heading-color: #408440; --body-color: #abb1af; --page-color: #121212; --link-color: #9ecbff; --link-visited: #9e91b4; --link-hover: #68aee8; --link-active: #ffcc00; --blockquote-color: #232323; --blockquote-highlight-color: #414e40; --panel-border-color: #252b25; --tr-hover-color: #464f46; --hr-color: #181d1c; --post-date-color: #414e40; } } * { margin: 0; padding: 0; box-sizing: border-box; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizelegibility; } html { font-family: var(--body-font); font-size: var(--font-size); line-height: var(--line-height); color: var(--body-color); } /* This controls main site padding */ body { margin: 0; background-color: var(--page-color); padding-top: 2rem; padding-bottom: 2rem; } header { padding-bottom: 1rem; } main { /* Keep content centered */ margin: 0 auto; max-width: 70rem; /* generous desktop width, ~960px */ /* Fluid side padding */ padding-left: clamp(0.5em, 5vw, 3em); padding-right: clamp(0.5em, 5vw, 3em); } footer { padding-top: 1.5rem; } table { table-layout: fixed; width: 100%; border: 1px solid; border-collapse: collapse; } th { font-family: var(--heading-font); } tr:hover {background-color: var(--tr-hover-color);} th, td { width: 50%; overflow-wrap: break-word; vertical-align: top; text-align: left; padding: 0.5rem; border: 1px solid; } blockquote { /* Indenting */ margin-top: 1em; margin-left: 2em; margin-right: 2em; margin-bottom: 3em; /* add space inside */ padding: 1em; /* solid background color */ background-color: var(--blockquote-color); /* visual accent on left hand edge */ border-left: 4px solid var(--blockquote-highlight-color); } /* suppress standard paragraph margins inside blockquotes */ blockquote p { margin: 0; } hr { border: none; border-top: 1px solid var(--hr-color); margin-top: 6rem; } .simple_image { max-width: 100%; display: block; margin-left: auto; margin-right: auto; margin-top: 2rem; } audio { max-width: 100%; display: block; margin-left: auto; margin-right: auto; margin-top: 1rem; } /* links */ a:link { color: var(--link-color); text-decoration: none; } a:visited { color: var(--link-visited); } a:hover { color: var(--link-hover); text-decoration: underline; } a:active { color: var(--link-active); } /* no underlines for "navheart" link */ #navheart { display: inline-block; /* allow transforms */ text-decoration: none; /* no underline */ transition: transform 0.2s ease-out; /* animate transform */ } #navheart:hover, #navheart:active, #navheart:focus { transform: scale(1.6); /* scale up on hover/focus */ } h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font); color: var(--heading-color); font-weight: 700; margin-top: 1rem; } h1 { font-size: 3rem; } h2 { font-size: 2rem; } h3 { font-size: 1.5rem; } h4 { font-size: 1.25rem; } h5 { font-size: 1rem; } h6 { font-size: 0.8rem; } /* Vertical spacing for paragraphs */ p { margin-top: 1rem; margin-bottom: 1rem; } table { margin-top: 1rem; margin-bottom: 1rem; } /* Horizontal indent for lists */ ul, ol { padding-inline-start: 1.5rem; } .post-date { font-size: 0.6rem; /* smaller than body text */ color: var(--post-date-color); text-transform: uppercase; margin-top: 0rem; display: block; /* ensures it sits on its own line */ } .posts-shell { display: grid; gap: 1.5rem; } .posts-header { display: grid; gap: 0.5rem; } .posts-header p { margin: 0; } .posts-list { display: grid; gap: 2.1rem; } .post-detail { padding: 1rem; border: 1px solid var(--panel-border-color); border-radius: 16px; background: color-mix(in srgb, var(--page-color) 92%, var(--panel-border-color)); } .post-detail { display: grid; gap: 0.9rem; } .post-card { display: grid; gap: 0.25rem; } .post-card__title, .post-card__summary, .post-card__footer, .post-card__actions, .post-detail__header, .post-detail__footer { margin: 0; } .post-card__title { margin: 0; font-size: 1.5rem; line-height: 1.1; } .post-card__summary { line-height: 1.45; } .post-card__inline-link { white-space: nowrap; text-decoration: none; } .post-card__thumb-link { display: inline-block; margin-top: 0.15rem; } .post-card__thumb { display: block; width: min(100%, 220px); max-width: 100%; border-radius: 10px; height: auto; } .post-card__footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 0.5rem; } .post-card__tags { min-width: 0; margin: 0; } .post-card__actions { justify-self: end; margin-left: 0; } .post-card__button { text-decoration: none; font-size: 0.78rem; } .post-tags { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.5rem; } .post-tags a { text-decoration: none; font-size: 0.9rem; } .post-tags--small a { font-size: 0.78rem; } .post-detail__content img { display: block; max-width: min(100%, 680px); height: auto; border-radius: 12px; margin: 1rem 0; } .post-detail__header { display: grid; gap: 0.35rem; } .post-detail__header h1 { margin: 0; line-height: 1.05; } .post-detail__header .post-date { margin: 0; } .post-detail__content > :first-child { margin-top: 0; } .post-detail__footer .post-tags { margin: 0; } .post-detail__content a { overflow-wrap: anywhere; } .posts-pagination { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.5rem 0; } .posts-tag-list { display: flex; flex-wrap: wrap; gap: 0.75rem; padding: 0; list-style: none; } .posts-tag-list li { margin: 0; } .bsky-feed-shell { margin-top: 2rem; } .bsky-feed-list { display: grid; gap: 1rem; margin-top: 1.5rem; } .bsky-feed-card { background: var(--blockquote-color); border: 1px solid var(--panel-border-color); border-radius: 16px; padding: 1rem; } .bsky-feed-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; margin-bottom: 0.85rem; font-size: 0.95rem; } .bsky-feed-kind { display: inline-block; padding: 0.15rem 0.55rem; border-radius: 999px; background: var(--panel-border-color); color: var(--body-color); } .bsky-feed-date { opacity: 0.75; } .bsky-feed-text { white-space: pre-wrap; overflow-wrap: break-word; } .bsky-feed-media { display: grid; gap: 0.75rem; margin-top: 1rem; } .bsky-feed-media img { display: block; width: 100%; border-radius: 12px; } .bsky-feed-external { display: block; margin-top: 1rem; padding: 0.9rem 1rem; border-radius: 12px; background: var(--page-color); border: 1px solid var(--panel-border-color); color: inherit; } .bsky-feed-external:hover { text-decoration: none; } .bsky-feed-external-title { font-family: var(--heading-font); color: var(--heading-color); } .bsky-feed-external-desc { margin-top: 0.35rem; opacity: 0.8; } .bsky-feed-footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-top: 1rem; font-size: 0.95rem; } .bsky-feed-stats { display: flex; flex-wrap: wrap; gap: 0.8rem; opacity: 0.8; } .bsky-feed-controls { margin-top: 1.5rem; display: flex; align-items: center; gap: 1rem; } .bsky-feed-status { opacity: 0.8; } .bsky-feed-status[data-error="true"] { color: #b04a4a; opacity: 1; } .bsky-feed-button { font: inherit; cursor: pointer; padding: 0.65rem 1rem; border-radius: 999px; border: 1px solid var(--panel-border-color); background: var(--blockquote-color); color: var(--body-color); } .bsky-feed-button:hover:not(:disabled) { background: var(--panel-border-color); } .bsky-feed-button:disabled { cursor: default; opacity: 0.6; }