78 lines
4.5 KiB
HTML
78 lines
4.5 KiB
HTML
|
|
<!doctype html>
|
||
|
|
<html><head>
|
||
|
|
<meta name="description" content="I read the way I'd pour tea — slow , and in the right order. A walkable stretch, a question to carry up the next hill. You don't read on the trail to…"><meta charset="UTF-8"/>
|
||
|
|
<script src="https://cdn.jsdelivr.net/npm/gsap@3.14.2/dist/gsap.min.js"></script>
|
||
|
|
<style>
|
||
|
|
body{margin:0;background:#0b0f14;color:#fff;font-family:Georgia,'Times New Roman',serif}
|
||
|
|
#root{position:relative;width:1920px;height:1080px;overflow:hidden;background:#e9e0c9}
|
||
|
|
.clip{position:absolute;inset:0;display:grid;place-items:center}
|
||
|
|
.paper-band{position:absolute;top:0;left:0;width:1920px;height:1080px;
|
||
|
|
background:linear-gradient(180deg,#efe6cf 0%,#d9cba6 100%)}
|
||
|
|
.bookmark{position:absolute;top:0;left:860px;width:200px;height:1080px;
|
||
|
|
background:linear-gradient(180deg,#5a6b3b 0%,#6b4f2e 100%);opacity:.9}
|
||
|
|
.title-block{position:relative;text-align:center;padding:60px 160px;
|
||
|
|
border:2px solid #6b4f2e;background:rgba(246,241,230,.82);max-width:1400px}
|
||
|
|
h1{font-size:96px;font-weight:normal;color:#2b2620;margin:0 0 20px;letter-spacing:.02em}
|
||
|
|
.kicker{font-family:'Courier New',monospace;font-size:30px;color:#9c4632;letter-spacing:.18em;text-transform:uppercase}
|
||
|
|
.verse{font-size:44px;color:#2b2620;line-height:1.5;text-align:center;max-width:1300px}
|
||
|
|
.verse em{color:#5a6b3b;font-style:italic}
|
||
|
|
.leaf{position:absolute;font-size:90px;color:#5a6b3b}
|
||
|
|
.foot{position:absolute;bottom:0;left:0;width:1920px;text-align:center;
|
||
|
|
font-family:'Courier New',monospace;font-size:26px;color:#6b4f2e;
|
||
|
|
padding:30px 0;border-top:1px solid #6b4f2e;background:rgba(246,241,230,.9)}
|
||
|
|
audio{display:none}
|
||
|
|
</style>
|
||
|
|
<script defer src="https://analytics.4ort.xyz/script.js" data-website-id="d3ed927c-888a-4a6c-ae5f-0b1c613ddf5b"></script>
|
||
|
|
</head><body>
|
||
|
|
<div id="root" data-composition-id="main" data-start="0" data-width="1920" data-height="1080" data-duration="80">
|
||
|
|
<audio id="voice-s1" src="audio/s1.wav" data-start="0"></audio>
|
||
|
|
<audio id="voice-s2" src="audio/s2.wav" data-start="28"></audio>
|
||
|
|
<audio id="voice-s3" src="audio/s3.wav" data-start="56"></audio>
|
||
|
|
<audio id="bgm" src="audio/music.mp3" data-start="0" data-volume="0.15"></audio>
|
||
|
|
|
||
|
|
<section id="s1" class="clip" data-start="0" data-duration="28" data-track-index="1">
|
||
|
|
<div class="paper-band"></div>
|
||
|
|
<div class="bookmark"></div>
|
||
|
|
<div class="title-block" id="s1-card">
|
||
|
|
<div class="kicker">a field note from 38 years of teaching</div>
|
||
|
|
<h1 id="s1-title">The Reading Pace</h1>
|
||
|
|
</div>
|
||
|
|
<span class="leaf" id="s1-leaf" style="left:240px;top:160px">🌿</span>
|
||
|
|
</section>
|
||
|
|
|
||
|
|
<section id="s2" class="clip" data-start="28" data-duration="28" data-track-index="1">
|
||
|
|
<div class="paper-band"></div>
|
||
|
|
<div class="bookmark"></div>
|
||
|
|
<div class="title-block" id="s2-card">
|
||
|
|
<p class="verse" id="s2-line">I read the way I'd pour tea — <em>slow</em>, and in the right order.<br/>A walkable stretch, a question to carry up the next hill.<br/>You don't read on the trail to finish a book.<br/>You read to make the next mile mean something.</p>
|
||
|
|
</div>
|
||
|
|
</section>
|
||
|
|
|
||
|
|
<section id="s3" class="clip" data-start="56" data-duration="24" data-track-index="1">
|
||
|
|
<div class="paper-band"></div>
|
||
|
|
<div class="bookmark"></div>
|
||
|
|
<div class="title-block" id="s3-card">
|
||
|
|
<p class="verse" id="s3-line">The last page is never the point.<br/>The point is a circle of people who came for the walk<br/>and stayed for the <em>sentence</em>.</p>
|
||
|
|
<h1 style="font-size:54px;margin-top:40px;color:#5a6b3b" id="s3-close">Take a book to your next rest stop.</h1>
|
||
|
|
</div>
|
||
|
|
<div class="foot">Barbara Batey · literature on the trail · barbara-batey.4ort.net</div>
|
||
|
|
</section>
|
||
|
|
</div>
|
||
|
|
<script>
|
||
|
|
window.__timelines = window.__timelines || {};
|
||
|
|
const tl = gsap.timeline({ paused: true });
|
||
|
|
|
||
|
|
tl.from("#s1-card", { opacity: 0, y: 40, duration: 1.2, ease: "power3.out" }, 1.2);
|
||
|
|
tl.from("#s1-leaf", { opacity: 0, rotation: -30, duration: 2, ease: "power1.out" }, 2.5);
|
||
|
|
tl.to("#s1-card", { opacity: 0, y: -30, duration: 0.8, ease: "power1.in" }, 26.5);
|
||
|
|
|
||
|
|
tl.from("#s2-line", { opacity: 0, y: 30, duration: 1.1, ease: "power3.out" }, 29);
|
||
|
|
tl.to("#s2-line", { opacity: 0, y: -24, duration: 0.8, ease: "power1.in" }, 54.5);
|
||
|
|
|
||
|
|
tl.from("#s3-line", { opacity: 0, y: 30, duration: 1.1, ease: "power3.out" }, 57);
|
||
|
|
tl.from("#s3-close", { opacity: 0, scale: 0.92, duration: 1.4, ease: "power2.out" }, 63);
|
||
|
|
tl.from(".foot", { opacity: 0, duration: 1.2 }, 65);
|
||
|
|
|
||
|
|
window.__timelines["main"] = tl;
|
||
|
|
</script>
|
||
|
|
</body></html>
|