merge in changes from upstream

This commit is contained in:
Lee Hanken
2025-09-04 11:16:12 +01:00
10 changed files with 468 additions and 209 deletions

View File

@@ -25,22 +25,19 @@ https://creativecommons.org/publicdomain/
local("BebasNeue"),
url("/css/bebas/BebasNeue.woff") format("woff");
}
@font-face {
font-family: "PatrickHand";
src:
local("PatrickHand"),
url("/css/PatrickHand/PatrickHand-Regular.ttf") format("ttf");
}
:root {
--background-primary: #fffff7/*#fafafa#fbfbee #dfdfdf */;
--text-primary: #4d4d4d; /* HPR Grey */
--banner-text-primary: #000000;
--background-secondary: #4d4d4d;
--banner-background-color: #40a5b9;
/* --background-secondary: #4d4d4d; */
--background-secondary: #00003e;
--text-secondary: #dfdfdf;
--link-primary: #004852 /*#154a60*/;
--link-primary-hover: #b54c08/*#f8961e*/;
--link-secondary: #a8f8ff;
--link-secondary-hover: #f9e9c2;
--link-title-color: #00003e;
--lane-button-border: #80b4c0;
--input-border-primary: #4d4d4d;
@@ -53,12 +50,22 @@ https://creativecommons.org/publicdomain/
--shadow-main-header-color: hsl(190deg 48% 49% / 0.2);
--shadow-secondary-color: hsl(0, 0%, 30.2%);
--shadow-cards: var(--shadow-secondary-color);
--content-max-width: 1080pt;
/* screen breakpoints */
--for-phone-only: 599px;
--for-tablet-portrait-up: 600px;
--for-tablet-landscape-up: 900px;
--for-desktop-up: 1200px;
--for-big-desktop-up: 1800px;
--default-header-x-font-weight: bold;
--default-header-x-margin: 1.25rem 0 0.75rem 0;
--default-header-1-font-size: 1.5rem;
--default-header-2-font-size: 1.45rem;
--default-header-3-font-size: 1.25rem;
--default-header-4-font-size: 1.15rem;
}
html {
@@ -80,24 +87,27 @@ body {
padding: 0;
min-height: 100vh;
}
body > nav {
#top_navigation {
display: flex;
flex-direction: row-reverse;
justify-content: space-between;
background-color: var(--background-secondary);
color: var(--text-secondary);
padding: 0.5rem;
}
body > nav a {
#top_navigation > nav a {
color: var(--link-secondary);
}
body > nav a:hover {
#top_navigation > nav a:hover {
color: var(--link-secondary-hover);
}
body > nav ul {
#top_navigation > nav menu {
background-color: inherit;
color: inherit;
margin: 0;
padding: 0.25rem;
}
body > nav ul li {
#top_navigation > nav menu li {
display: inline-block;
background-color: inherit;
color: inherit;
@@ -106,23 +116,30 @@ body > nav ul li {
padding: 0;
padding-right: var(--link-spacing-horizontal);
}
body > nav ul li a {
#top_navigation > nav menu li a {
padding: 0.25rem 0;
}
body > header {
padding: clamp(0.5rem, -0.25rem + 3vw, 1rem) 0.25rem;
background-color: var(--banner-background-color);
background-image: url("/images/main-header-background.png");
background-size: cover;
background-repeat: no-repeat;
background-position: left top;
color: var(--banner-text-primary);
align-items: center;
border-top: var(--background-secondary) solid 1rem;
}
body > header .bounding-box {
background: none;
display: flex;
flex-direction: row;
flex-flow: wrap;
justify-content: space-between;
padding: 0.25rem;
background-image: url("/images/hpr-splatter-logo.svg"), url("/images/main-header-background.png");
background-size: 59%, cover;
background-repeat: no-repeat, no-repeat;
background-position: right -15px top -20px, left top;
color: var(--banner-text-primary);
align-items: center;
max-width: var(--content-max-width);
margin: 0 auto;
}
body > header > * {
body > header .bounding-box > * {
margin: 0;
padding: 0;
flex: 1 1 auto;
@@ -132,6 +149,9 @@ body > header > * {
body > main {
flex: 1 0 auto;
padding: 0.25rem;
max-width: var(--content-max-width);
margin-left: auto;
margin-right: auto;
}
body > footer {
flex: 0 1 auto;
@@ -142,6 +162,10 @@ body > footer {
text-align: center;
line-height: 1.25;
}
body > footer #copyright {
max-width: var(--content-max-width);
margin: 0 auto;
}
body > footer a {
color: var(--link-secondary);
}
@@ -174,27 +198,27 @@ blockquote {
}
h1 {
font-size: 1.5rem;
margin: 1.25rem 0 0.75rem 0;
font-size: var(--default-header-1-font-size);
margin: var(--default-header-x-margin);
}
h2,
article * h1,
section > header:first-child {
font-size: 1.45rem;
margin: 1.25rem 0 0.75rem 0;
font-size: var(--default-header-2-font-size);
margin: var(--default-header-x-margin);
}
h3,
article * h2 {
font-size: 1.25rem;
margin: 1.25rem 0 0.75rem 0;
font-size: var(--default-header-3-font-size);
margin: var(--default-header-x-margin);
}
h4,
article * h3 {
font-size: 1.15rem;
margin: 1.25rem 0 0.75rem 0;
font-size: var(--default-header-4-font-size);
margin: var(--default-header-x-margin);
}
img {
@@ -202,7 +226,7 @@ img {
height: auto;
}
ul {
dl, ul {
padding-left: 1.15rem;
}
@@ -213,9 +237,28 @@ li {
li:last-child {
margin-bottom: 0.25rem;
}
dt, dd {
line-height: 1.25;
}
dt {
display: list-item;
list-style-type: disc;
margin-bottom: 0.15rem;
}
dd {
margin-bottom: 0.35rem;
margin-left: 1rem;
}
a {
text-decoration: none;
color: var(--link-primary);
text-decoration-style: dotted;
text-decoration-color: inherit;
text-decoration-thickness: .125rem;
text-underline-offset: 0.2rem;
}
a:hover {
cursor: pointer;
@@ -257,15 +300,21 @@ article > p,
flex-wrap: wrap;
gap: 1.0rem;
justify-content: space-around;
justify-items: space-around;
}
.lane.stack {
flex-direction: column;
justify-content: flex-start;
}
.lane.stack > * {
flex: 1 0 100%;
}
#podcast_lane > .lane,
#project_lane > .lane,
#latest_lane.lane {
justify-content: flex-start;
justify-content: flex-between;
}
.lane > article {
.lane > article,
#hosts tr {
/* Add shadows to create the "card" effect */
border-top: thin solid var(--shadow-cards);
border-left: thin solid var(--shadow-cards);
@@ -278,7 +327,8 @@ article > p,
overflow-x: scroll;
padding-bottom: 1rem;
}
.lane > article:hover {
.lane > article:hover,
#hosts tr:hover {
box-shadow:
4px 8px 8px var(--shadow-cards),
8px 16px 16px var(--shadow-cards);
@@ -287,7 +337,8 @@ article > p,
margin-left: 1rem;
margin-right: 1rem;
}
.lane > article > header {
.lane > article > header,
.lane > article > h3 {
background: var(--background-secondary);
padding: 1.5rem 1rem 1rem 1rem;
margin: 0;
@@ -295,12 +346,22 @@ article > p,
font-size: 1.45rem;
color: var(--background-primary);
}
.lane > article > header a {
.lane > article > header a,
.lane > article > h3 a {
color: var(--link-secondary);
}
.lane > article > header a:hover {
.lane > article > header a:hover,
.lane > article > h3:hover {
color: var(--link-secondary-hover);
}
.lane.stack> * > header * {
margin-top: 0;
margin-bottom: 0;
}
.lane.stack > * > header p {
font-size: var(--default-header-4-font-size);
margin-left: 22px;
}
a.lane-button {
display: flex;
flex-direction: column;
@@ -398,30 +459,60 @@ section:nth-of-type(even) .lane a:nth-of-type(4) {
text-transform: uppercase;
}
#tag_line {
line-height: 1;
line-height: 1.1;
}
#tag_line *,
#title * {
margin: 0;
padding: 0;
flex: 1 1 auto;
background: none;
}
#title h1 {
#title {
background-image: url("/images/hpr-splatter-logo.svg");
background-repeat: no-repeat;
background-size: 15rem;
background-position: left 8.5em top -2em;
}
#title a {
color: var(--link-title-color);
}
#title a:hover {
color: var(--link-primary-hover);
}
#title #site_acronym {
font-size: 7.5rem;
letter-spacing: -0.65rem;
line-height: 0.75;
margin-bottom: 0.25rem;
color: transparent;
}
#tag_line h2 {
#title #site_acronym a {
text-decoration: none;
text-shadow: 0 1px var(--link-secondary);
}
#title #site_name {
font-size: var(--default-header-2-font-size);
font-weight: bold;
}
#tag_line {
text-align: center;
}
#tag_line #tag1,
#tag_line #tag2 {
text-transform: uppercase;
font-family: "BebasNeue", sans-serif;
font-size: 1.15rem;
font-size: clamp(1.03rem, -0.25rem + 3vw, var(--default-header-4-font-size));
font-weight: var(--default-header-x-font-weight);
letter-spacing: 0.05rem;
}
#tag_line h2:first-child {
font-size: 2rem;
#tag_line #tag1 {
font-size: clamp(2.1rem, calc(100vw - 360px + 2.1rem), 2.3rem);
}
#tag_line h3 {
#tag_line #tag3 {
text-align: center;
text-transform: capitalize;
font-size: 1.15rem;
font-weight: var(--default-header-x-font-weight);
}
#site_url {
font-family: "GNUTypewriter", monospace;
@@ -448,7 +539,7 @@ fieldset > table {
width: calc(100vw + -16vw + -1rem);
max-width: 100%;
}
fieldset > input,
fieldset > table td input,
fieldset > table td textarea {
width: calc(100vw + -16vw + -1.5rem);
@@ -483,41 +574,127 @@ fieldset > table td input[type="radio"] {
width: initial;
margin-bottom: 0.5rem;
}
fieldset > input {
background: var(--background-secondary);
color: white;
font-weight: 600;
padding: 0.5rem;
border: thin solid var(--input-border-primary);
border-radius: 0.2rem;
#search form {
flex: 1 1 auto
}
#search fieldset {
padding-top: 1rem;
}
#search fieldset > legend {
font-weight: var(--default-header-x-font-weight);
}
#search fieldset > input {
width: 94%;
}
#search fieldset > input[type="submit"] {
background-color: var(--background-secondary);
color: var(--text-secondary);
width: 100%;
}
#search fieldset > input[type="submit"]:hover {
background-color: var(--link-primary-hover);
color: var(--background-primary);
}
#search fieldset > p {
margin-top: 0.5rem;
margin-bottom: 0.5rem;
}
.no-css {
display: none;
}
#tags .date {
margin:0;
font-size: 1rem;
}
#tags #tag_initial_letter_index {
columns: 3 auto;
}
#tags #tag_initial_letter_index li {
font-weight: bold;
list-style: none;
}
#tags .tag-index {
columns: 3 calc(var(--for-tablet-landscape-up) /3 );
column-gap: 1rem;
}
#tags .index-link {
text-align: right;
}
#comments > article > .show-meta {
font-size: smaller;
}
#hosts tr {
gap: 0;
justify-content: flex-start;
}
#hosts td {
display: inline-block;
}
#hosts td:nth-child(-n+2) {
background: var(--background-secondary);
color: var(--background-primary);
}
#hosts td:nth-child(-n+2) a {
color: var(--link-secondary);
}
#hosts td:nth-child(-n+2) a:hover {
color: var(--link-secondary-hover);
}
#hosts td:nth-child(2) {
padding: 0.25rem 0 0 8px;
width: calc(100% - 90px);
}
#hosts td:nth-last-child(-n+2) {
padding: 0.5rem 0 0 95px;
}
#hosts td:nth-last-child(2)::before {
content: ;
content: "License: ";
}
#hosts td:nth-last-child(1)::before {
content: "Last Show: ";
}
#hosts td > img {
border-radius: 0.25rem;
}
.series-description {
margin: 0;
padding: 0;
font-style: italic;
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
@media (min-width: 600px) {
body > header {
background-size: 200pt, cover;
background-position: left 128pt top -12pt, left top;
body > header .bounding-box {
justify-content: space-between;
}
#tag_line {
text-align: center;
line-height: 1;
}
#title h1 {
#title #tag1 {
font-size: 7.5rem;
letter-spacing: -0.65rem;
line-height: 0.75;
}
#tag_line h2 {
#tag_line #tag2 {
font-size: 1.82rem;
letter-spacing: 0.05rem;
}
#tag_line h2:first-child {
#tag_line #tag1 {
font-size: 4rem;
}
#tag_line h3 {
#tag_line #tag3 {
font-size: 1.85rem;
letter-spacing: 0.05rem;
margin-left: 5rem;
}
#qr_code {
@@ -568,23 +745,39 @@ fieldset > input {
margin-bottom: 1.0rem;
width: 100%;
}
#search fieldset > input {
width: 55%;
}
#search fieldset > input[type="submit"] {
width: 40%;
}
body > main {
padding: 0.25rem 2rem;
}
.lane > article {
max-height: 40vw;
overflow-y: scroll
}
#latest_lane.lane section > ul {
margin: 0.5rem 3rem 0 1rem;
}
#hosts tbody.lane.stack {
flex-direction: row;
justify-content: space-between;
gap: 1rem
}
#hosts tr {
flex: 1 1 45%;
max-width: 45%;
}
}
@media (min-width: 900px) {
.lane > article {
flex-basis: 32%;
max-width: 32%;
#podcast_lane > .lane,
#project_lane > .lane {
justify-content: flex-start;
gap: 2rem;
}
#latest_lane.lane section {
flex: 1;
}
#hosts tr {
flex: 1 1 30%;
max-width: 30%;
}
}