Compare commits
9 Commits
f41fdf6606
...
1ee6b819b1
Author | SHA1 | Date | |
---|---|---|---|
1ee6b819b1 | |||
18d0d8315b | |||
92980ad4c3 | |||
23fa3af9ed | |||
31c89b4c33 | |||
790868bb5c | |||
0ea4cbf51a | |||
3e691bd97a | |||
5200e5f421 |
69
index.html
69
index.html
@@ -1,38 +1,47 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta name="description" content="Deaf-led community builder & creator advocate. Projects, socials, and contact.">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<link href="https://fonts.googleapis.com/css2?family=Iceland&display=swap" rel="stylesheet">
|
||||||
<title>Peter the Baker</title>
|
<link rel="icon" href="/resources/img/pp.jpg" type="image/jpeg">
|
||||||
|
<meta name="color-scheme" content="dark light">
|
||||||
|
<meta property="og:title" content="Petrus Pistor — Peter Baker">
|
||||||
|
<meta property="og:description" content="Deaf-led community builder & creator advocate.">
|
||||||
|
<meta property="og:image" content="/resources/img/pb_16_9_under512kb.webp">
|
||||||
|
|
||||||
<!-- Optional: system fonts for speed; swap later if you like -->
|
<!-- Your stylesheet MUST be inside the head, before <body> -->
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Iceland&display=swap" rel="stylesheet">
|
<link rel="stylesheet" href="/resources/css/index.css">
|
||||||
<link rel="stylesheet" href="/resources/css/index.css" />
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
|
||||||
<header class="site-header">
|
|
||||||
<img src="/resources/img/pb.png" alt="Portrait of Peter Baker" width="1280" height="372"/>
|
|
||||||
<h1 class="site-title">Peter Baker</h1>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<nav class="site-nav" aria-label="Primary">
|
|
||||||
<ul>
|
|
||||||
<li><a href="#social">Social</a></li>
|
|
||||||
<li><a href="#projects">Projects</a></li>
|
|
||||||
<li><a href="#contact">Contact</a></li>
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
<main id="main" class="content">
|
<body>
|
||||||
</main>
|
|
||||||
|
|
||||||
<footer class="site-footer">
|
<header class="site-header" role="banner">
|
||||||
<small>© <span id="year"></span> Peter Baker</small>
|
<h1 class="site-title">Peter Baker</h1>
|
||||||
</footer>
|
|
||||||
|
<picture>
|
||||||
|
<source srcset="/resources/img/pb_16_9_under512kb.webp" type="image/webp">
|
||||||
|
<img src="/resources/img/pb.png" alt="Portrait of Peter Baker" width="1280" height="372" loading="eager" decoding="async">
|
||||||
|
</picture>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<nav class="site-nav" aria-label="Primary">
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="#content">Content</a></li>
|
||||||
|
<li><a href="#social">Social</a></li>
|
||||||
|
<li><a href="#projects">Projects</a></li>
|
||||||
|
<li><a href="#contact">Contact</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<main id="main" class="content">
|
||||||
|
|
||||||
|
</main>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
|
||||||
<script>
|
|
||||||
document.getElementById('year').textContent = new Date().getFullYear();
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
</html>
|
||||||
|
@@ -1,133 +1,167 @@
|
|||||||
/* ========== Base ========== */
|
/* style.css (minimal baseline) */
|
||||||
:root {
|
:root {
|
||||||
--nav-h: 64px; /* tweak nav height */
|
--bg:#0e0e10; --text:#eaeaea; --accent:#ffd700;
|
||||||
--bg: #0e0e10; /* page background */
|
|
||||||
--text: #eaeaea; /* body text color */
|
|
||||||
--gold: #ffd700; /* title gold */
|
|
||||||
--ring: rgba(255,255,255,.08); /* nav border */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
* { box-sizing: border-box; }
|
* {
|
||||||
html, body { margin: 0; padding: 0; }
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
html, body {
|
||||||
|
|
||||||
|
margin:0;
|
||||||
|
padding:0;
|
||||||
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background: var(--bg);
|
background: var(--bg);
|
||||||
color: var(--text);
|
color: var(--text);
|
||||||
font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
|
font-family: system-ui, -apple-system, "Iceland", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
||||||
|
line-height: 1.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ========== Sticky Nav ========== */
|
header {
|
||||||
.site-nav {
|
text-align:center;
|
||||||
position: sticky;
|
padding:2rem 1rem;
|
||||||
top: 0;
|
|
||||||
z-index: 20;
|
|
||||||
height: var(--nav-h);
|
|
||||||
display: flex;
|
|
||||||
gap: 1rem;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
padding: 0 1rem;
|
|
||||||
background: rgba(14,14,16,.7);
|
|
||||||
backdrop-filter: blur(6px);
|
|
||||||
border-bottom: 1px solid var(--ring);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
h1, h3 {
|
||||||
|
font-family: "Iceland", sans-serif;
|
||||||
|
letter-spacing:.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav ul {
|
||||||
|
list-style:none;
|
||||||
|
display:flex;
|
||||||
|
gap:1rem;
|
||||||
|
justify-content:center;
|
||||||
|
padding:0; margin:0 0 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a, nav li {
|
||||||
|
text-decoration:none;
|
||||||
|
color:#ddd;
|
||||||
|
padding:.4rem .6rem;
|
||||||
|
border-radius:.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
nav a:hover, nav li:hover {
|
||||||
|
background:rgba(255,255,255,.08);
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
max-width: 900px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 1rem 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Normalize nav list look */
|
||||||
|
|
||||||
.site-nav ul {
|
.site-nav ul {
|
||||||
margin: 0;
|
list-style: none;
|
||||||
padding: 0;
|
margin: 0;
|
||||||
list-style: none;
|
padding: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 1rem;
|
gap: 1rem;
|
||||||
align-items: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.site-nav a {
|
.site-nav a {
|
||||||
font-family: 'Iceland', sans-serif;
|
text-decoration: none;
|
||||||
text-decoration: none;
|
|
||||||
color: #ddd;
|
|
||||||
padding: .35rem .6rem;
|
|
||||||
border-radius: .5rem;
|
|
||||||
}
|
}
|
||||||
.site-nav a:hover,
|
|
||||||
.site-nav a:focus-visible {
|
.site-nav a:focus-visible {
|
||||||
background: rgba(255,255,255,.08);
|
outline: 2px solid currentColor;
|
||||||
|
outline-offset: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ========== Header + Banner ========== */
|
/* ===== Header & title (pop from nav) ===== */
|
||||||
.site-header {
|
|
||||||
position: relative;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.site-header img {
|
.site-header img {
|
||||||
display: block;
|
display:block;
|
||||||
width: 100%;
|
width:100%;
|
||||||
height: auto;
|
height:auto
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ========== Title (pops from nav) ========== */
|
|
||||||
.site-title {
|
.site-title {
|
||||||
font-family: 'Iceland', sans-serif;
|
font-family:"Iceland",sans-serif;
|
||||||
font-size: clamp(2.4rem, 6vw, 6rem);
|
font-size:clamp(2.4rem,6vw,6rem);
|
||||||
line-height: 1;
|
line-height:1;
|
||||||
margin: 0;
|
margin:.75rem 0 0;
|
||||||
color: var(--gold);
|
color: #FFD700;
|
||||||
text-shadow: 0 4px 12px rgba(0,0,0,.6);
|
text-align:center;
|
||||||
|
text-shadow:0 4px 12px rgba(0,0,0,.6);
|
||||||
position: absolute;
|
opacity:0;
|
||||||
left: 50%;
|
transform:translateY(calc(-1*var(--nav-h))) scale(.98);
|
||||||
bottom: calc(var(--nav-h) * 0.15);
|
animation:popFromNav 900ms cubic-bezier(.2,.75,.15,1.1) forwards,
|
||||||
transform: translate(-50%, 0);
|
underlineDelay 1ms linear 900ms forwards;
|
||||||
|
|
||||||
opacity: 0;
|
|
||||||
animation: popFromNav 900ms cubic-bezier(.2,.75,.15,1.1) forwards,
|
|
||||||
underlineIn 700ms ease-out 650ms forwards;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.site-title::after {
|
.site-title::after{
|
||||||
content: "";
|
content:""; display:block; height:3px; width:0%;
|
||||||
display: block;
|
margin:.6rem auto 0;
|
||||||
height: 3px;
|
background:linear-gradient(90deg,#b8860b,#ffd700,#b8860b);
|
||||||
width: 0%;
|
border-radius:999px;
|
||||||
margin: .55rem auto 0;
|
animation:underlineGrow 700ms ease-out 1200ms forwards;
|
||||||
background: var(--gold);
|
|
||||||
border-radius: 999px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ========== Keyframes ========== */
|
/* ===== Keyframes ===== */
|
||||||
|
|
||||||
@keyframes popFromNav {
|
@keyframes popFromNav {
|
||||||
0% { opacity: 0; transform: translate(-50%, calc(var(--nav-h) * .6)); }
|
0% {
|
||||||
60% { opacity: 1; transform: translate(-50%, -8px); }
|
opacity:0;
|
||||||
100% { opacity: 1; transform: translate(-50%, 0); }
|
transform:translateY(calc(-1*var(--nav-h))) scale(.98)
|
||||||
|
}
|
||||||
|
60% {
|
||||||
|
opacity:1;
|
||||||
|
transform:translateY(-8px) scale(1.02)
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity:1;
|
||||||
|
transform:translateY(0) scale(1)
|
||||||
}
|
}
|
||||||
@keyframes underlineIn { to { width: 56%; } }
|
|
||||||
|
|
||||||
/* ========== Content + Footer ========== */
|
@keyframes underlineGrow{
|
||||||
|
to
|
||||||
|
{
|
||||||
|
width:54%
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes underlineDelay{} /* just to offset ::after timing */
|
||||||
|
|
||||||
|
/* ===== Content container ===== */
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
max-width: 1000px;
|
max-width:1000px;
|
||||||
margin: 2rem auto 4rem;
|
margin:2rem auto 4rem;
|
||||||
padding: 0 1rem;
|
padding:0 1rem
|
||||||
}
|
|
||||||
.site-footer {
|
|
||||||
text-align: center;
|
|
||||||
color: #bdbdbd;
|
|
||||||
padding: 1.5rem 1rem 3rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ========== Responsive Tweaks ========== */
|
/* ===== Responsive ===== */
|
||||||
@media (max-width: 800px) {
|
|
||||||
:root { --nav-h: 56px; }
|
@media (max-width:800px){
|
||||||
.site-title::after { height: 2px; }
|
:root {
|
||||||
|
--nav-h:56px
|
||||||
}
|
}
|
||||||
@media (max-width: 480px) {
|
|
||||||
:root { --nav-h: 52px; }
|
|
||||||
.site-title { font-size: clamp(2rem, 9vw, 3.2rem); }
|
|
||||||
.site-title::after { width: 60%; }
|
|
||||||
}
|
|
||||||
@media (prefers-reduced-motion: reduce) {
|
|
||||||
.site-title,
|
|
||||||
.site-title::after {
|
.site-title::after {
|
||||||
animation: none !important;
|
height:2px
|
||||||
opacity: 1 !important;
|
}
|
||||||
transform: translate(-50%, 0) !important;
|
|
||||||
width: 56%;
|
@media (max-width: 480px) {
|
||||||
}
|
:root{--nav-h:52px
|
||||||
|
}
|
||||||
|
.site-title {
|
||||||
|
font-size:clamp(2rem,9vw,3.2rem)
|
||||||
|
}
|
||||||
|
.site-title::after {
|
||||||
|
width:60%
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Respect reduced motion */
|
||||||
|
@media (prefers-reduced-motion:reduce){
|
||||||
|
.site-title,.site-title::after {
|
||||||
|
animation:none !important;
|
||||||
|
opacity:1 !important;
|
||||||
|
transform:none !important
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user