Rebuild SW site to OC standard (continuity-led, steel-accent sibling)
Sibling of the finished OC site: shared paper+navy + Playfair/Lora/DM Sans foundation, steel-blue accent (replaces warm amber). First-person voice. Restructured to diagnose -> fix -> keep-it-handled with the recurring Continuity Partner elevated as a feature card; web-tools cases kept as proof of delivery; single earned OC handoff. Tuned per the Charlene Li REC: reinvention-not-efficiency hero, messy-data objection killer, MIT 95% stat (primary-sourced), sovereignty stated louder. continuity-audit.html rebuilt to match. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+174
-84
@@ -4,10 +4,13 @@
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>The Continuity Audit | Shop Wisdom</title>
|
||||
<meta name="description" content="Find out exactly where your shop is exposed. The Continuity Audit is a fixed-fee diagnostic: who holds the critical know-how, what it would cost you if they left, and what it's doing to the value of your business — with a plain-English report and roadmap.">
|
||||
<meta name="description" content="Find out exactly where your shop is exposed. The Continuity Audit is a fixed-fee diagnostic: who holds the critical know-how, what it would cost you if they left, and what it's doing to the value of your business — with a plain-English report and roadmap you keep.">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Lora:ital,wght@0,400;0,500;1,400&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap">
|
||||
<link rel="stylesheet" href="style.css">
|
||||
<meta name="robots" content="index,follow">
|
||||
<meta name="theme-color" content="#faf7f2">
|
||||
<meta name="theme-color" content="#f7f4ef">
|
||||
<link rel="canonical" href="https://shopwisdom.ca/continuity-audit.html">
|
||||
<link rel="icon" href="favicon.svg" type="image/svg+xml">
|
||||
<meta property="og:type" content="website">
|
||||
@@ -21,28 +24,30 @@
|
||||
<meta property="og:image:alt" content="Shop Wisdom — your best people are retiring. Their know-how doesn't have to.">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:image" content="https://shopwisdom.ca/og-card.png">
|
||||
<script>document.documentElement.className += ' has-motion';</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<header class="site-header">
|
||||
<div class="wrap header-row">
|
||||
<a class="wordmark" href="index.html#top">Shop<span>Wisdom</span></a>
|
||||
<nav class="site-nav" aria-label="Main">
|
||||
<a href="index.html#work">The work</a>
|
||||
<a href="index.html#results">Client results</a>
|
||||
<a href="index.html#process">How it works</a>
|
||||
<a href="index.html#about">About</a>
|
||||
<a class="tel nav-phone" data-p1="778" data-p2="985" data-p3="6736" href="#contact" aria-label="Call Shop Wisdom">778‑985‑OPEN</a>
|
||||
<a class="nav-cta" href="#contact">Book a call</a>
|
||||
</nav>
|
||||
<button class="nav-toggle" id="navToggle" aria-label="Open menu" aria-expanded="false">
|
||||
<svg class="nav-toggle-icon" viewBox="0 0 32 32" aria-hidden="true">
|
||||
<line class="bar bar-top" x1="6" y1="10" x2="26" y2="10"/>
|
||||
<line class="bar bar-mid" x1="6" y1="16" x2="26" y2="16"/>
|
||||
<line class="bar bar-bot" x1="6" y1="22" x2="26" y2="22"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
<header class="nav" id="nav">
|
||||
<a class="nav-logo" href="index.html#top" aria-label="Shop Wisdom — home">
|
||||
<span class="nav-wordmark">Shop<span>Wisdom</span></span>
|
||||
</a>
|
||||
<nav class="nav-links-desktop" aria-label="Main">
|
||||
<a href="index.html#work">The work</a>
|
||||
<a href="index.html#results">Client results</a>
|
||||
<a href="index.html#process">How it works</a>
|
||||
<a href="index.html#about">About</a>
|
||||
<a class="tel nav-phone" data-p1="778" data-p2="985" data-p3="6736" href="#contact" aria-label="Call Shop Wisdom">778‑985‑OPEN</a>
|
||||
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
|
||||
</nav>
|
||||
<button class="nav-toggle" id="navToggle" aria-label="Open menu" aria-expanded="false">
|
||||
<svg class="nav-toggle-icon" viewBox="0 0 32 32" aria-hidden="true">
|
||||
<line class="bar bar-top" x1="6" y1="10" x2="26" y2="10"/>
|
||||
<line class="bar bar-mid" x1="6" y1="16" x2="26" y2="16"/>
|
||||
<line class="bar bar-bot" x1="6" y1="22" x2="26" y2="22"/>
|
||||
<circle class="o-ring" cx="16" cy="16" r="9"/>
|
||||
</svg>
|
||||
</button>
|
||||
</header>
|
||||
<div class="nav-mobile-menu" id="navMobileMenu">
|
||||
<a href="index.html#work">The work</a>
|
||||
@@ -50,60 +55,64 @@
|
||||
<a href="index.html#process">How it works</a>
|
||||
<a href="index.html#about">About</a>
|
||||
<a class="tel" data-p1="778" data-p2="985" data-p3="6736" href="#contact">Call 778‑985‑OPEN (6736)</a>
|
||||
<a class="nav-cta" href="#contact">Book a call</a>
|
||||
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
|
||||
</div>
|
||||
|
||||
<main id="top">
|
||||
|
||||
<section class="hero">
|
||||
<div class="wrap">
|
||||
<p class="eyebrow">Start here · A fixed‑fee diagnostic</p>
|
||||
<h1>Find out exactly where your shop is exposed.</h1>
|
||||
<p class="hero-sub">The Continuity Audit is the first step: a clear, honest read on whose knowledge your business depends on — and what it would cost you to lose them.</p>
|
||||
<div class="hero-actions">
|
||||
<a class="btn" href="#contact">Book a fit call — free, no pitch</a>
|
||||
<a class="btn ghost" href="index.html#work">See all the work</a>
|
||||
<section class="hero band light" data-bg="light">
|
||||
<div class="wrap hero-wrap"><div class="hero-col">
|
||||
<p class="eyebrow">Start here · a fixed‑fee diagnostic</p>
|
||||
<h1>Find out exactly where your shop is <em>exposed.</em></h1>
|
||||
<p class="lead">The Continuity Audit is the first step: a clear, honest read on whose knowledge your business depends on — and what it would cost you to lose them.</p>
|
||||
<div class="actions">
|
||||
<a class="btn" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a fit call — free, no pitch</a>
|
||||
<a class="btn link" href="index.html#work">See all the work</a>
|
||||
</div>
|
||||
<p class="hero-call">or call <a class="tel" data-p1="778" data-p2="985" data-p3="6736" href="#contact">778‑985‑OPEN (6736)</a></p>
|
||||
<p class="call">or call <a class="tel" data-p1="778" data-p2="985" data-p3="6736" href="#contact">778‑985‑OPEN (6736)</a></p>
|
||||
</div></div>
|
||||
</section>
|
||||
|
||||
<section class="band dark statement" data-bg="dark">
|
||||
<div class="motif" aria-hidden="true"></div>
|
||||
<div class="wrap narrow reveal">
|
||||
<p class="eyebrow">Why start with an audit</p>
|
||||
<h2 class="statement-line">Most owners have a gut feeling about who they can't afford to lose. <em>This turns it into something you can act on.</em></h2>
|
||||
<p>A clear map of where the knowledge lives, how exposed you are, and what to fix first. It's deliberately low‑commitment — no software to buy, no obligation to do the bigger work. You come away with a real deliverable whether or not we ever work together again.</p>
|
||||
<p class="emph">You can't fix what you can't see. This is how you see it.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="moment">
|
||||
<div class="wrap narrow">
|
||||
<h2>Why start with an audit</h2>
|
||||
<p>Most owners have a gut feeling about who they can't afford to lose. The Continuity Audit turns that feeling into something you can act on — a clear map of where the knowledge lives, how exposed you are, and what to fix first.</p>
|
||||
<p>It's deliberately low‑commitment. No software to buy. No obligation to do the bigger work. You come away with a real deliverable whether or not we ever work together again.</p>
|
||||
<p class="pull">You can't fix what you can't see. This is how you see it.</p>
|
||||
<section class="band light">
|
||||
<div class="wrap reveal">
|
||||
<p class="eyebrow">What you get</p>
|
||||
<h2>A short, focused engagement — <em>not</em> weeks of disruption.</h2>
|
||||
<p class="section-intro">Built around a few hours on your floor, scheduled around your production.</p>
|
||||
<div class="cards stagger">
|
||||
<div class="card">
|
||||
<span class="step-k">Map</span>
|
||||
<h3>A knowledge‑risk map</h3>
|
||||
<p>Who holds the critical know‑how — the setups, the fixes, the customer history, the judgment that isn't written down anywhere. The people, the roles, and the single points of failure.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<span class="step-k">Quantify</span>
|
||||
<h3>An honest exposure read</h3>
|
||||
<p>What it would actually cost you if a key person left tomorrow — in downtime, scrap, late jobs, and lost customers. The risks ranked, so you know what's urgent and what can wait.</p>
|
||||
</div>
|
||||
<div class="card feature">
|
||||
<span class="card-tag">Yours to keep</span>
|
||||
<h3>A plain‑English report & roadmap</h3>
|
||||
<p>A written summary you can read in one sitting — no jargon — plus a prioritized roadmap of what to capture first and how. For owners thinking about exit, it doubles as a clear statement of where your business value is concentrated, and how to protect it before you sell.</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="reassure">Fixed fee, agreed before we start. You'll know exactly what it costs and exactly what you get.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="services">
|
||||
<div class="wrap">
|
||||
<h2>What you get</h2>
|
||||
<p class="section-intro">A short, focused engagement — built around a few hours on your floor, not weeks of disruption.</p>
|
||||
|
||||
<div class="service">
|
||||
<h3>A knowledge‑risk map</h3>
|
||||
<p>Who holds the critical know‑how in your shop — the setups, the fixes, the customer history, the judgment that isn't written down anywhere. We identify the people, the roles, and the single points of failure.</p>
|
||||
</div>
|
||||
|
||||
<div class="service">
|
||||
<h3>An honest exposure read</h3>
|
||||
<p>What it would actually cost you if a key person left tomorrow — in downtime, scrap, late jobs, and lost customers. The risks ranked, so you know what's urgent and what can wait.</p>
|
||||
</div>
|
||||
|
||||
<div class="service flagship">
|
||||
<h3>A plain‑English report & roadmap <span class="tag">Yours to keep</span></h3>
|
||||
<p>A written summary you can read in one sitting — no jargon — plus a prioritized roadmap of what to capture first and how. <strong>For owners thinking about exit, it doubles as a clear statement of where your business value is concentrated, and how to protect it before you sell.</strong></p>
|
||||
</div>
|
||||
|
||||
<p class="reassure">Fixed fee, agreed before we start. You'll know exactly what it costs and what you get.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="process">
|
||||
<div class="wrap narrow">
|
||||
<h2>How it works</h2>
|
||||
<section class="band alt">
|
||||
<div class="wrap narrow reveal">
|
||||
<p class="eyebrow">How it works</p>
|
||||
<h2>Three steps. <em>That's it.</em></h2>
|
||||
<ol class="steps">
|
||||
<li>
|
||||
<h3>A free fit call</h3>
|
||||
@@ -121,36 +130,58 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="contact" id="contact">
|
||||
<div class="wrap narrow">
|
||||
<h2>See where you stand.</h2>
|
||||
<div class="o-divider" aria-hidden="true">
|
||||
<svg viewBox="0 0 538 538"><path d="M269.06,0C120.46,0,0,120.46,0,269.06s120.46,269.06,269.06,269.06,269.06-120.46,269.06-269.06S417.66,0,269.06,0ZM276.06,356.34c-48.2,0-87.28-39.07-87.28-87.28s39.07-87.28,87.28-87.28,87.28,39.08,87.28,87.28-39.07,87.28-87.28,87.28Z"/></svg>
|
||||
</div>
|
||||
|
||||
<section class="band light contact" data-bg="light" id="contact">
|
||||
<div class="wrap narrow reveal">
|
||||
<p class="eyebrow">Start a conversation</p>
|
||||
<h2>See where you <em>stand.</em></h2>
|
||||
<p>Start with a free fit call. Describe your shop — even roughly — and we'll figure out whether an audit makes sense for you.</p>
|
||||
<p class="contact-action">
|
||||
<a class="btn" href="mailto:michael@opencommunications.consulting?subject=Continuity%20Audit%20—%20Shop%20Wisdom">Email Michael</a>
|
||||
<a class="btn ghost tel" data-p1="778" data-p2="985" data-p3="6736" href="mailto:michael@opencommunications.consulting">Call 778‑985‑OPEN (6736)</a>
|
||||
<p class="actions center">
|
||||
<a class="btn" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a fit call</a>
|
||||
<a class="btn link" href="mailto:michael@opencommunications.consulting?subject=Continuity%20Audit%20—%20Shop%20Wisdom">Email Michael</a>
|
||||
<a class="btn link tel" data-p1="778" data-p2="985" data-p3="6736" href="mailto:michael@opencommunications.consulting">Call 778‑985‑OPEN (6736)</a>
|
||||
</p>
|
||||
<p class="contact-promise">The first call is free and commits you to nothing.</p>
|
||||
<p class="promise">The first call is free and commits you to nothing.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="wrap">
|
||||
<p class="footer-brand">Shop<span>Wisdom</span></p>
|
||||
<p>Built with care and AI · Work owned by its clients</p>
|
||||
<p>Hosted in Beauharnois, Québec — your data stays in Canada.</p>
|
||||
<p class="footer-call"><a class="tel" data-p1="778" data-p2="985" data-p3="6736" href="mailto:michael@opencommunications.consulting">778‑985‑OPEN (6736)</a></p>
|
||||
<p class="footer-legal">Shop Wisdom and Open Communications are practices of Open Communications, owned and operated by Michael Victory · British Columbia, Canada</p>
|
||||
<footer class="site-footer" data-bg="dark">
|
||||
<div class="footer-bg" aria-hidden="true">
|
||||
<svg class="footer-bg-img" viewBox="0 0 1267.12 317" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
||||
<path d="M158.5,0C70.96,0,0,70.96,0,158.5s70.96,158.5,158.5,158.5,158.5-70.96,158.5-158.5S246.04,0,158.5,0ZM158.42,210.08c-28.44,0-51.5-23.06-51.5-51.5s23.06-51.5,51.5-51.5,51.5,23.06,51.5,51.5-23.06,51.5-51.5,51.5Z"/>
|
||||
<path d="M475.45.08c-87.54,0-158.5,70.96-158.5,158.5,0,1.27.02,2.54.05,3.81v154.87h106.87v-158.6h0c0-28.44,23.06-51.5,51.5-51.5s51.5,23.06,51.5,51.5-23.06,51.5-51.5,51.5c-6.49,0-12.7-1.21-18.42-3.41v109.24c6.07.71,12.24,1.08,18.5,1.08,87.54,0,158.5-70.96,158.5-158.5S562.99.08,475.45.08Z"/>
|
||||
<path d="M791.96,210.25c-28.44,0-51.5-23.06-51.5-51.5s23.06-51.5,51.5-51.5,51.5,23.06,51.5,51.5c0,6.49-1.21,12.7-3.41,18.42h109.41c.71-6.07,1.08-12.24,1.08-18.5C950.54,71.13,879.57.17,792.04.17s-158.5,70.96-158.5,158.5,70.96,158.5,158.5,158.5c69.48,0,128.51-44.71,149.91-106.92h-149.99Z"/>
|
||||
<path d="M1109.31,0h0S950.12,0,950.12,0v159.19h0c.35,81.64,62.41,148.7,141.95,156.95v-156.13c0-9.14,7.41-16.54,16.54-16.54s16.54,7.41,16.54,16.54v156.13c79.76-8.27,141.96-75.69,141.96-157.64C1267.12,71.19,1196.53.38,1109.31,0Z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="footer-content">
|
||||
<div class="footer-block">
|
||||
<p class="footer-wordmark">Shop<span>Wisdom</span></p>
|
||||
<nav class="footer-links" aria-label="Footer">
|
||||
<a href="index.html#work">The work</a>
|
||||
<a href="index.html#results">Client results</a>
|
||||
<a href="index.html#process">How it works</a>
|
||||
<a href="https://www.opencommunications.consulting/">Open Communications</a>
|
||||
</nav>
|
||||
<p class="footer-note">Built with care and AI · Work owned by its clients · Hosted in Beauharnois, Québec — your data stays in Canada.</p>
|
||||
<p class="footer-copy">Shop Wisdom and Open Communications are practices of Open Communications, owned and operated by Michael Victory · British Columbia, Canada</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<div class="float-cta">
|
||||
<a class="btn" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
var links = document.querySelectorAll('a.tel');
|
||||
for (var i = 0; i < links.length; i++) {
|
||||
var el = links[i];
|
||||
el.setAttribute('href', 'tel:+1' + el.dataset.p1 + el.dataset.p2 + el.dataset.p3);
|
||||
for (var l of document.querySelectorAll('a.tel')) {
|
||||
l.setAttribute('href', 'tel:+1' + l.dataset.p1 + l.dataset.p2 + l.dataset.p3);
|
||||
}
|
||||
var toggle = document.getElementById('navToggle');
|
||||
var menu = document.getElementById('navMobileMenu');
|
||||
@@ -164,9 +195,68 @@
|
||||
menu.classList.toggle('open', open); toggle.classList.toggle('open', open);
|
||||
toggle.setAttribute('aria-label', open ? 'Close menu' : 'Open menu');
|
||||
toggle.setAttribute('aria-expanded', open ? 'true' : 'false');
|
||||
updateNavTheme();
|
||||
});
|
||||
var mlinks = menu.querySelectorAll('a');
|
||||
for (var j = 0; j < mlinks.length; j++) { mlinks[j].addEventListener('click', closeMenu); }
|
||||
for (var a of menu.querySelectorAll('a')) { a.addEventListener('click', closeMenu); }
|
||||
}
|
||||
var nav = document.getElementById('nav');
|
||||
var sections = Array.prototype.slice.call(document.querySelectorAll('[data-bg]'));
|
||||
function darkBehind(y) {
|
||||
for (var i = 0; i < sections.length; i++) {
|
||||
var r = sections[i].getBoundingClientRect();
|
||||
if (r.top <= y && r.bottom > y) return sections[i].dataset.bg === 'dark';
|
||||
}
|
||||
return false;
|
||||
}
|
||||
function updateNavTheme() {
|
||||
nav.classList.toggle('scrolled', window.scrollY > 24);
|
||||
var nr = nav.getBoundingClientRect();
|
||||
nav.classList.toggle('on-dark', darkBehind((nr.top + nr.bottom) / 2));
|
||||
if (menu && menu.classList.contains('open')) {
|
||||
var links = menu.querySelectorAll('a');
|
||||
var probe = links.length ? links[links.length - 1].getBoundingClientRect().bottom : (nav.getBoundingClientRect().bottom);
|
||||
menu.classList.toggle('on-dark', darkBehind(probe));
|
||||
}
|
||||
}
|
||||
updateNavTheme();
|
||||
window.addEventListener('scroll', function () { window.requestAnimationFrame(updateNavTheme); }, { passive: true });
|
||||
window.addEventListener('resize', updateNavTheme);
|
||||
})();
|
||||
</script>
|
||||
|
||||
<!-- Cal.com booking embed -->
|
||||
<script>
|
||||
(function (C, A, L) { let p = function (a, ar) { a.q.push(ar); }; let d = C.document; C.Cal = C.Cal || function () { let cal = C.Cal; let ar = arguments; if (!cal.loaded) { cal.ns = {}; cal.q = cal.q || []; d.head.appendChild(d.createElement("script")).src = A; cal.loaded = true; } if (ar[0] === L) { const api = function () { p(api, arguments); }; const namespace = ar[1]; api.q = api.q || []; if (typeof namespace === "string") { cal.ns[namespace] = cal.ns[namespace] || api; p(cal.ns[namespace], ar); p(cal, ["initNamespace", namespace]); } else p(cal, ar); return; } p(cal, ar); }; })(window, "https://cal.shopwisdom.ca/embed/embed.js", "init");
|
||||
Cal("init", { origin: "https://cal.shopwisdom.ca" });
|
||||
</script>
|
||||
|
||||
<!-- Motion: reveal-on-scroll + stagger + open-o + persistent CTA. Gated on html.has-motion. -->
|
||||
<script>
|
||||
(function () {
|
||||
var root = document.documentElement;
|
||||
if (!root.classList.contains('has-motion')) return;
|
||||
var nodes = [].slice.call(document.querySelectorAll('.reveal, .stagger, .o-divider'));
|
||||
function showAll() { nodes.forEach(function (n) { n.classList.add('in'); }); }
|
||||
try {
|
||||
if ('IntersectionObserver' in window) {
|
||||
var io = new IntersectionObserver(function (entries) {
|
||||
entries.forEach(function (e) { if (e.isIntersecting) { e.target.classList.add('in'); io.unobserve(e.target); } });
|
||||
}, { rootMargin: '0px 0px -10% 0px', threshold: 0.12 });
|
||||
nodes.forEach(function (n) { io.observe(n); });
|
||||
} else { showAll(); }
|
||||
} catch (err) { showAll(); }
|
||||
var cta = document.querySelector('.float-cta');
|
||||
var hero = document.querySelector('.hero');
|
||||
var contact = document.getElementById('contact');
|
||||
if (cta && hero) {
|
||||
var upd = function () {
|
||||
var pastHero = window.scrollY > hero.offsetHeight - 90;
|
||||
var atContact = contact && contact.getBoundingClientRect().top < window.innerHeight * 0.92;
|
||||
cta.classList.toggle('show', pastHero && !atContact);
|
||||
};
|
||||
upd();
|
||||
window.addEventListener('scroll', function () { window.requestAnimationFrame(upd); }, { passive: true });
|
||||
window.addEventListener('resize', upd);
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user