Files
hpr_generator/public_html/css/hpr.css
2025-07-18 23:44:46 -04:00

325 lines
5.7 KiB
CSS

@charset "utf-8";
/* Website design Copyright Ken Fallon - Released into the public domain/
https://creativecommons.org/publicdomain/
*/
/*
* See the following for the modern CSS responsive design techniques used in this file:
* - MDN web docs: Responsive design
* -- https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Responsive_Design
* - Matthew James Tayler: Responsive Font Size (Optimal Text at Every Breakpoint)
* -- https://matthewjamestaylor.com/responsive-font-size
* - CSS-Tricks: Linearly Scale font-size with CSS clamp() Based on the Viewport
* -- https://css-tricks.com/linearly-scale-font-size-with-css-clamp-based-on-the-viewport/
*/
@font-face {
font-family: "GNUTypewriter";
src:
local("GNUTypewriter"),
url("/css/gnutypewriter/gtw.woff") format("woff");
}
@font-face {
font-family: "BebasNeue";
src:
local("BebasNeue"),
url("/css/bebas/BebasNeue.woff") format("woff");
}
:root {
--background-primary: #dfdfdf;
--text-primary: #4d4d4d; /* HPR Grey */
--banner-text-primary: #000000;
--background-secondary: #4d4d4d;
--text-secondary: #dfdfdf;
--link-primary: #004852 /*#154a60*/;
--link-primary-hover: #f8961e;
--link-secondary: #a8f8ff;
--link-secondary-hover: #f9e9c2;
--link-spacing-horizontal: clamp(0.5rem, -0.25rem + 3vw, 2.5rem);
--font-family-hpr: Verdana, Arial, Helvetica, sans-serif; /* 1em/1.5 OpenDyslexic, */;
--font-size-default: clamp(1rem, 15px + 0.3vw, 1.07rem);
/* 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;
}
html {
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
}
body {
display: flex;
flex-direction: column;
justify-content: flex-start;
background-color: var(--background-primary);
color: var(--text-primary);
font-size: 1rem; /* fallback for browsers that don't support the clamp function) */
font-size: var(--font-size-default);
font-family: var(--font-family-hpr);
margin: 0;
padding: 0;
min-height: 100vh;
}
body > nav {
background-color: var(--background-secondary);
color: var(--text-secondary);
}
body > nav a {
color: var(--link-secondary);
}
body > nav a:hover {
color: var(--link-secondary-hover);
}
body > nav ul {
background-color: inherit;
color: inherit;
margin: 0;
padding: 0.25rem;
}
body > nav ul li {
display: inline-block;
background-color: inherit;
color: inherit;
line-height: 1.0;
margin: 0;
padding: 0;
padding-right: var(--link-spacing-horizontal);
}
body > nav ul li a {
padding: 0.25rem 0;
}
body > header {
display: flex;
flex-direction: row;
flex-flow: wrap;
justify-content: space-between;
padding: 0.25rem;
background-image: url("/images/main-header-background.png");
color: var(--banner-text-primary);
align-items: center;
}
body > header > * {
margin: 0;
padding: 0;
flex: 1 1 auto;
padding: 0.5rem;
}
body > main {
flex: 1 0 auto;
padding: 0.25rem;
}
body > footer {
flex: 0 1 auto;
background-color: var(--background-secondary);
color: var(--text-secondary);
padding: 0.25rem;
text-align: center
}
body > footer hr:first-child {
display: none;
margin: 0;
padding: 0;
}
body > footer a {
color: var(--link-secondary);
}
body > footer a:hover {
color: var(--link-secondary-hover);
}
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
img,
form,
fieldset,
input,
textarea,
blockquote {
font-family: inherit;
color: inherit;
background: inherit;
}
h1 {
font-size: 1.5rem;
margin: 1.25rem 0 0.75rem 0;
}
h2,
article * h1,
section > header:first-child {
font-size: 1.45rem;
margin: 1.25rem 0 0.75rem 0;
}
h3,
article * h2 {
font-size: 1.25rem;
margin: 1.25rem 0 0.75rem 0;
}
h4,
article * h3 {
font-size: 1.15rem;
margin: 1.25rem 0 0.75rem 0;
}
img {
max-width: 100%;
height: auto;
}
ul {
padding-left: 1.15rem;
}
li {
line-height: 1.25;
}
a {
text-decoration: none;
color: var(--link-primary);
}
a:hover {
cursor: pointer;
color: var(--link-primary-hover);
}
hr {
background: #4D4D4D;
border: 0;
height: 0.25em;
}
audio {
padding: 0.7em 0em 0.5em 0em;
clear: both;
position: relative;
z-index: auto;
}
.audcredit {
font-size: 75%;
margin-bottom: 1em;
}
p.meta {
line-height: 1.25;
}
p.meta span label {
font-weight: bold;
}
.lane {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 0.5rem;
}
a.lane-button {
display: flex;
flex-direction: column;
justify-content: center;
margin: 0.5rem var(--link-spacing-horizontal);
padding: 0.5rem;
border-width: 5px;
border-color: var(--link-primary);
border-style: solid;
border-radius: 5px;
text-align: center;
}
a.lane-button img {
height: 110px;
filter: invert(60%) sepia(50%) hue-rotate(140deg) saturate(200%);
transform: scaleX(0.9);
}
#tag_line,
#title {
text-transform: uppercase;
}
#tag_line {
line-height: 1;
}
#tag_line *,
#title * {
margin: 0;
padding: 0;
}
#title h1 {
font-size: 7.5rem;
letter-spacing: -0.65rem;
line-height: 0.75;
}
#tag_line h2 {
text-transform: uppercase;
font-family: "BebasNeue", sans-serif;
font-size: 1.15rem;
letter-spacing: 0.05rem;
}
#tag_line h2:first-child {
font-size: 2rem;
}
#tag_line h3 {
text-transform: capitalize;
font-size: 1.15rem;
}
#site_url {
font-family: "GNUTypewriter", monospace;
text-transform: none;
}
@media (min-width: 900px) {
#tag_line {
text-align: center;
}
#title h1 {
font-size: 7.5rem;
letter-spacing: -0.65rem;
line-height: 0.75;
}
#tag_line h2 {
font-size: 1.82rem;
letter-spacing: 0.05rem;
}
#tag_line h2:first-child {
font-size: 4rem;
}
#tag_line h3 {
font-size: 1.85rem;
margin-left: 5rem;
}
#qr_code {
text-align: center;
}
#qr_code > img {
max-height: 195px;
}
body > main {
padding: 0.25rem 2rem;
}
}