rewrite: clean page from scratch
- Inline styles throughout (no Tailwind class guessing) - hero -> map -> three cards -> problem -> sealed/agent -> why Zurich - Capital of Privacy (not Security) - vault1984 in JetBrains Mono bold + green 1984 wherever referenced - padding-top:100px on hero (fixed nav clearance) - Headline font shrunk to clamp(1.75rem,4vw,3rem) to keep 'it.' on same line
This commit is contained in:
parent
27c0ad6d9b
commit
1b71bd5755
158
hosted.html
158
hosted.html
|
|
@ -10,22 +10,21 @@
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap" rel="stylesheet">
|
||||||
<link rel="stylesheet" href="/tailwind.min.css">
|
<link rel="stylesheet" href="/tailwind.min.css">
|
||||||
<style>
|
<style>
|
||||||
body { background-color: #0A1628; }
|
*{box-sizing:border-box}
|
||||||
.gradient-text { background: linear-gradient(135deg, #22C55E 0%, #4ade80 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
|
body{background:#0A1628;color:#f1f5f9;font-family:Inter,sans-serif;margin:0}
|
||||||
.card-hover { transition: transform 0.2s ease, box-shadow 0.2s ease; }
|
.label{font-family:"JetBrains Mono",monospace;font-size:0.7rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase}
|
||||||
.card-hover:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.3); }
|
.card{border-radius:1rem;border:1px solid rgba(255,255,255,0.06)}
|
||||||
.bg-navy-light { background-color: #111f38; }
|
.card-hover{transition:transform 0.2s,box-shadow 0.2s}
|
||||||
.text-accent { color: #22C55E; }
|
.card-hover:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.3)}
|
||||||
.bg-accent { background-color: #22C55E; }
|
.vaultname{font-family:"JetBrains Mono",monospace;font-weight:700;color:#f1f5f9}
|
||||||
.bg-accent-hover { background-color: #16A34A; }
|
.vaultname .n{color:#22C55E}
|
||||||
.border-accent { border-color: #22C55E; }
|
hr.div{border:none;border-top:1px solid rgba(255,255,255,0.06);margin:0}
|
||||||
.hover\:bg-accent-hover:hover { background-color: #16A34A; }
|
@keyframes hostedPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.3;transform:scale(1.8)}}
|
||||||
@keyframes hostedPulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.3;transform:scale(1.8)} }
|
|
||||||
.hover\:border-accent:hover { border-color: #22C55E; }
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body class="font-sans" style="background-color:#0A1628;color:#f1f5f9">
|
<body>
|
||||||
<nav class="fixed top-0 w-full z-50 bg-navy/80 backdrop-blur-md border-b border-white/5">
|
|
||||||
|
<nav class="fixed top-0 w-full z-50 bg-navy/80 backdrop-blur-md border-b border-white/5">
|
||||||
<div class="max-w-7xl mx-auto px-6 h-16 flex items-center justify-between">
|
<div class="max-w-7xl mx-auto px-6 h-16 flex items-center justify-between">
|
||||||
<a href="/" class="font-mono font-bold text-3xl text-white tracking-tight leading-none">vault<span class="text-accent font-mono">1984</span></a>
|
<a href="/" class="font-mono font-bold text-3xl text-white tracking-tight leading-none">vault<span class="text-accent font-mono">1984</span></a>
|
||||||
<div class="hidden md:flex items-center gap-6 text-sm">
|
<div class="hidden md:flex items-center gap-6 text-sm">
|
||||||
|
|
@ -51,22 +50,18 @@
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
<!-- Hero -->
|
<!-- Hero -->
|
||||||
<div style="height:80px"></div>
|
<div style="padding-top:100px;padding-bottom:2.5rem;text-align:center;max-width:900px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem">
|
||||||
<section class="pb-12" style="padding-top:0">
|
<p class="label" style="color:#22C55E;margin-bottom:1rem">Hosting</p>
|
||||||
<div class="max-w-7xl mx-auto px-6 text-center">
|
<h1 style="font-size:clamp(1.75rem,4vw,3rem);font-weight:800;color:#fff;margin:0 0 1rem;line-height:1.1">Your vault. Wherever you want it.</h1>
|
||||||
<p class="text-green-400 text-xs font-mono uppercase tracking-widest mb-4">Hosting</p>
|
<p style="color:#94a3b8;font-size:1.125rem;margin:0">We run it. You own it. Pick your region — your data stays there.</p>
|
||||||
<h1 class="text-4xl md:text-6xl font-bold text-white mb-5">Your vault. Wherever you want it.</h1>
|
</div>
|
||||||
<p class="text-gray-400 text-xl max-w-2xl mx-auto">We run it. You own it. Pick your region — your data stays there.</p>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<!-- Map -->
|
<!-- Map -->
|
||||||
<section class="pb-10">
|
<div style="max-width:1280px;margin:0 auto;padding:0 1.5rem 1.5rem">
|
||||||
<div class="max-w-7xl mx-auto px-6">
|
<div style="border-radius:1rem;overflow:hidden;border:1px solid rgba(255,255,255,0.06)">
|
||||||
<div class="relative mb-6 rounded-2xl overflow-hidden border border-white/5">
|
<svg id="worldmap" viewBox="0 0 1000 460" xmlns="http://www.w3.org/2000/svg" style="display:block;width:100%;background:#0a1628">
|
||||||
<svg id="worldmap" viewBox="0 0 1000 460" xmlns="http://www.w3.org/2000/svg" class="w-full" style="display:block;background:#0a1628;">
|
<image href="/worldmap.svg" x="0" y="0" width="1000" height="460"/>
|
||||||
<image href="/worldmap.svg" x="0" y="0" width="1000" height="460"/>
|
<circle cx="284.7" cy="143.8" r="4" fill="none" stroke="#22C55E" stroke-width="1.5"><animate attributeName="r" values="4;13;4" dur="2.4s" begin="0.00s" repeatCount="indefinite"/><animate attributeName="stroke-opacity" values="0.6;0;0.6" dur="2.4s" begin="0.00s" repeatCount="indefinite"/></circle>
|
||||||
<circle cx="284.7" cy="143.8" r="4" fill="none" stroke="#22C55E" stroke-width="1.5"><animate attributeName="r" values="4;13;4" dur="2.4s" begin="0.00s" repeatCount="indefinite"/><animate attributeName="stroke-opacity" values="0.6;0;0.6" dur="2.4s" begin="0.00s" repeatCount="indefinite"/></circle>
|
|
||||||
<circle cx="284.7" cy="143.8" r="4" fill="none" stroke="#22C55E" stroke-width="1"><animate attributeName="r" values="4;13;4" dur="2.4s" begin="0.80s" repeatCount="indefinite"/><animate attributeName="stroke-opacity" values="0.4;0;0.4" dur="2.4s" begin="0.80s" repeatCount="indefinite"/></circle>
|
<circle cx="284.7" cy="143.8" r="4" fill="none" stroke="#22C55E" stroke-width="1"><animate attributeName="r" values="4;13;4" dur="2.4s" begin="0.80s" repeatCount="indefinite"/><animate attributeName="stroke-opacity" values="0.4;0;0.4" dur="2.4s" begin="0.80s" repeatCount="indefinite"/></circle>
|
||||||
<circle cx="284.7" cy="143.8" r="4.5" fill="#22C55E" stroke="#0a1628" stroke-width="1.5"/>
|
<circle cx="284.7" cy="143.8" r="4.5" fill="#22C55E" stroke="#0a1628" stroke-width="1.5"/>
|
||||||
<text x="284.7" y="155.8" font-family="Inter,sans-serif" font-size="8.5" fill="#6ee7a0" text-anchor="middle" opacity="0.85">Washington D.C.</text>
|
<text x="284.7" y="155.8" font-family="Inter,sans-serif" font-size="8.5" fill="#6ee7a0" text-anchor="middle" opacity="0.85">Washington D.C.</text>
|
||||||
|
|
@ -155,11 +150,10 @@
|
||||||
<circle cx="817.2" cy="180.3" r="4" fill="none" stroke="#22C55E" stroke-width="1"><animate attributeName="r" values="4;13;4" dur="2.4s" begin="2.48s" repeatCount="indefinite"/><animate attributeName="stroke-opacity" values="0.4;0;0.4" dur="2.4s" begin="2.48s" repeatCount="indefinite"/></circle>
|
<circle cx="817.2" cy="180.3" r="4" fill="none" stroke="#22C55E" stroke-width="1"><animate attributeName="r" values="4;13;4" dur="2.4s" begin="2.48s" repeatCount="indefinite"/><animate attributeName="stroke-opacity" values="0.4;0;0.4" dur="2.4s" begin="2.48s" repeatCount="indefinite"/></circle>
|
||||||
<circle cx="817.2" cy="180.3" r="4.5" fill="#22C55E" stroke="#0a1628" stroke-width="1.5"/>
|
<circle cx="817.2" cy="180.3" r="4.5" fill="#22C55E" stroke="#0a1628" stroke-width="1.5"/>
|
||||||
<text x="817.2" y="172.3" font-family="Inter,sans-serif" font-size="8.5" fill="#6ee7a0" text-anchor="middle" opacity="0.85">Hong Kong</text>
|
<text x="817.2" y="172.3" font-family="Inter,sans-serif" font-size="8.5" fill="#6ee7a0" text-anchor="middle" opacity="0.85">Hong Kong</text>
|
||||||
|
</svg>
|
||||||
</svg>
|
</div>
|
||||||
</svg>
|
<div style="height:1rem"></div>
|
||||||
</div>
|
<div id="dc-grid" style="display:flex;gap:12px;width:100%;margin-bottom:2.5rem">
|
||||||
<div id="dc-grid" style="display:flex;gap:12px;width:100%;margin-bottom:2.5rem">
|
|
||||||
<!-- Self-hosted -->
|
<!-- Self-hosted -->
|
||||||
<div class="rounded-xl p-4 text-center card-hover" style="background:#1f0a0a;border:1px solid rgba(239,68,68,0.35);flex:1;min-width:0">
|
<div class="rounded-xl p-4 text-center card-hover" style="background:#1f0a0a;border:1px solid rgba(239,68,68,0.35);flex:1;min-width:0">
|
||||||
<div class="text-2xl mb-1.5">🖥️</div>
|
<div class="text-2xl mb-1.5">🖥️</div>
|
||||||
|
|
@ -172,7 +166,7 @@
|
||||||
<div class="rounded-xl p-4 text-center card-hover" style="background:#3d2e00;border:1px solid rgba(212,175,55,0.5);flex:1;min-width:0">
|
<div class="rounded-xl p-4 text-center card-hover" style="background:#3d2e00;border:1px solid rgba(212,175,55,0.5);flex:1;min-width:0">
|
||||||
<div class="text-2xl mb-1.5">🇨🇭</div>
|
<div class="text-2xl mb-1.5">🇨🇭</div>
|
||||||
<div class="text-white font-semibold text-sm">Zürich, Switzerland</div>
|
<div class="text-white font-semibold text-sm">Zürich, Switzerland</div>
|
||||||
<div class="text-gray-500 text-xs mb-2">Capital of Security</div>
|
<div class="text-gray-500 text-xs mb-2">Capital of Privacy</div>
|
||||||
<div class="flex items-center justify-center gap-1.5 text-xs mb-3" style="color:#D4AF37"><span class="w-1.5 h-1.5 rounded-full inline-block" style="background:#D4AF37"></span>Headquarters</div>
|
<div class="flex items-center justify-center gap-1.5 text-xs mb-3" style="color:#D4AF37"><span class="w-1.5 h-1.5 rounded-full inline-block" style="background:#D4AF37"></span>Headquarters</div>
|
||||||
<a href="/signup?region=eu-central-2" class="block w-full text-center text-xs font-semibold py-1.5 px-3 rounded-lg transition-colors" style="background:rgba(212,175,55,0.15);color:#D4AF37;border:1px solid rgba(212,175,55,0.3)" onmouseover="this.style.background='rgba(212,175,55,0.25)'" onmouseout="this.style.background='rgba(212,175,55,0.15)'">Buy now →</a>
|
<a href="/signup?region=eu-central-2" class="block w-full text-center text-xs font-semibold py-1.5 px-3 rounded-lg transition-colors" style="background:rgba(212,175,55,0.15);color:#D4AF37;border:1px solid rgba(212,175,55,0.3)" onmouseover="this.style.background='rgba(212,175,55,0.25)'" onmouseout="this.style.background='rgba(212,175,55,0.15)'">Buy now →</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -185,56 +179,57 @@
|
||||||
<a id="closest-buy" href="/signup" class="block w-full text-center text-xs font-semibold py-1.5 px-3 rounded-lg transition-colors" style="background:rgba(34,197,94,0.15);color:#22C55E;border:1px solid rgba(34,197,94,0.3)" onmouseover="this.style.background='rgba(34,197,94,0.25)'" onmouseout="this.style.background='rgba(34,197,94,0.15)'">Buy now →</a>
|
<a id="closest-buy" href="/signup" class="block w-full text-center text-xs font-semibold py-1.5 px-3 rounded-lg transition-colors" style="background:rgba(34,197,94,0.15);color:#22C55E;border:1px solid rgba(34,197,94,0.3)" onmouseover="this.style.background='rgba(34,197,94,0.25)'" onmouseout="this.style.background='rgba(34,197,94,0.15)'">Buy now →</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
|
||||||
|
<hr class="div">
|
||||||
|
|
||||||
<!-- Why it matters -->
|
<!-- Why it matters -->
|
||||||
<section class="py-16 border-t border-white/5">
|
<div style="max-width:1000px;margin:0 auto;padding:4rem 1.5rem">
|
||||||
<div class="max-w-7xl mx-auto px-6">
|
|
||||||
|
|
||||||
<div class="text-center mb-14 max-w-3xl mx-auto">
|
|
||||||
<p class="text-green-400 text-xs font-mono uppercase tracking-widest mb-3">The security model</p>
|
|
||||||
<h2 class="text-2xl md:text-3xl font-bold text-white mb-4">Your AI needs access.<br>Not to everything.</h2>
|
|
||||||
<p class="text-gray-400 text-lg leading-relaxed max-w-2xl mx-auto">A password manager that blocks AI agents is useless in 2025. But one that hands them everything is a liability. vault1984 solves this with two layers.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="grid md:grid-cols-2 gap-6 mb-14 max-w-5xl mx-auto">
|
|
||||||
<div class="rounded-2xl p-6 border border-white/5" style="background:#0d1a0d">
|
|
||||||
<p class="text-green-400 text-xs font-mono uppercase tracking-widest mb-3">Sealed fields</p>
|
|
||||||
<h3 class="text-xl font-bold text-white mb-3">Only you. Only in person.</h3>
|
|
||||||
<p class="text-gray-400 leading-relaxed">Passwords and private notes are encrypted on your device with a key derived from your fingerprint or hardware token. We store a locked box. No key ever reaches our servers. Not a court order. Not your AI assistant. Sealed fields require your physical presence to unlock.</p>
|
|
||||||
</div>
|
|
||||||
<div class="rounded-2xl p-6 border border-white/5" style="background:#0d1627">
|
|
||||||
<p class="text-blue-400 text-xs font-mono uppercase tracking-widest mb-3">Agent fields</p>
|
|
||||||
<h3 class="text-xl font-bold text-white mb-3">Your AI, scoped and controlled.</h3>
|
|
||||||
<p class="text-gray-400 leading-relaxed">Fields you designate as agent-accessible are encrypted on our servers. You issue scoped tokens — Claude gets your GitHub token, nothing else. Revoke at any time. The agent never sees sealed fields, no matter what.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div>
|
|
||||||
<p class="text-xs font-mono uppercase tracking-widest mb-3" style="color:#D4AF37">Why Zürich</p>
|
|
||||||
<h2 class="text-2xl md:text-3xl font-bold text-white mb-4">Sealed fields: jurisdiction irrelevant.<br>Agent fields: it isn't.</h2>
|
|
||||||
<p class="text-gray-400 text-lg leading-relaxed mb-6">Sealed fields are protected by math — the server's location doesn't matter. But agent fields live on a server in a jurisdiction. A US server is subject to the CLOUD Act. A UK server to the Investigatory Powers Act. Zürich is subject to Swiss law — which does not cooperate with foreign government data requests. No backdoors. Both layers protected.</p>
|
|
||||||
<div class="grid md:grid-cols-3 gap-4 max-w-5xl mx-auto">
|
|
||||||
<div class="rounded-xl p-4 border border-white/5" style="background:#1a0a0a">
|
|
||||||
<p class="text-red-400 text-xs font-mono uppercase tracking-widest mb-2">Self-hosted · US</p>
|
|
||||||
<p class="text-gray-300 text-sm leading-relaxed">Your server, your rules — until a court says otherwise. CLOUD Act applies to US persons regardless of encryption.</p>
|
|
||||||
</div>
|
|
||||||
<div class="rounded-xl p-4 border border-white/5" style="background:#0d1627">
|
|
||||||
<p class="text-blue-400 text-xs font-mono uppercase tracking-widest mb-2">Self-hosted · anywhere</p>
|
|
||||||
<p class="text-gray-300 text-sm leading-relaxed">Full control. Your infrastructure, your jurisdiction. The right choice if you know what you're doing.</p>
|
|
||||||
</div>
|
|
||||||
<div class="rounded-xl p-4" style="background:#3d2e00;border:1px solid rgba(212,175,55,0.3)">
|
|
||||||
<p class="text-xs font-mono uppercase tracking-widest mb-2" style="color:#D4AF37">Hosted · Zürich, Switzerland</p>
|
|
||||||
<p class="text-gray-300 text-sm leading-relaxed">Swiss law. Swiss courts. No CLOUD Act. No backdoors. We handle the infrastructure — you get the protection.</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div style="margin-bottom:3.5rem">
|
||||||
|
<p class="label" style="color:#f87171;margin-bottom:0.75rem">The problem</p>
|
||||||
|
<h2 style="font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;color:#fff;margin:0 0 1rem;line-height:1.2">Your AI assistant needs your credentials.<br>That changes everything.</h2>
|
||||||
|
<p style="color:#94a3b8;font-size:1.0625rem;line-height:1.75;max-width:680px;margin:0">A password manager that blocks AI agents is useless in 2025. But one that hands them everything is a liability. The question is: how do you give Claude access to your GitHub token without giving it access to your bank password?</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
|
||||||
|
|
||||||
<!-- Access Methods -->
|
<div style="display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:3.5rem">
|
||||||
|
<div class="card" style="background:#0a1a0a;padding:1.75rem">
|
||||||
|
<p class="label" style="color:#22C55E;margin-bottom:0.75rem">Sealed fields</p>
|
||||||
|
<h3 style="font-size:1.2rem;font-weight:700;color:#fff;margin:0 0 0.875rem">Only you. Only in person.</h3>
|
||||||
|
<p style="color:#94a3b8;line-height:1.7;font-size:0.9375rem;margin:0">Passwords and private notes are encrypted on your device with a key derived from your fingerprint or hardware token. We store a locked box. No key ever reaches our servers — not a court order, not your AI assistant. Sealed fields require your physical presence to unlock.</p>
|
||||||
|
</div>
|
||||||
|
<div class="card" style="background:#0a1220;padding:1.75rem">
|
||||||
|
<p class="label" style="color:#60a5fa;margin-bottom:0.75rem">Agent fields</p>
|
||||||
|
<h3 style="font-size:1.2rem;font-weight:700;color:#fff;margin:0 0 0.875rem">Your AI, scoped and controlled.</h3>
|
||||||
|
<p style="color:#94a3b8;line-height:1.7;font-size:0.9375rem;margin:0">Fields you designate as agent-accessible are encrypted on our servers. You issue scoped tokens — Claude gets your GitHub token, nothing else. Revoke at any time. The agent never touches sealed fields, no matter what.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<p class="label" style="color:#D4AF37;margin-bottom:0.75rem">Why Zürich</p>
|
||||||
|
<h2 style="font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;color:#fff;margin:0 0 1rem;line-height:1.2">Sealed fields: jurisdiction irrelevant.<br>Agent fields: it isn’t.</h2>
|
||||||
|
<p style="color:#94a3b8;font-size:1.0625rem;line-height:1.75;max-width:680px;margin:0 0 1.75rem">Sealed fields are protected by math — where the server sits doesn’t matter. But agent fields live on a server in a jurisdiction. A US server is subject to the CLOUD Act. Zürich, Switzerland is subject to Swiss law — which does not cooperate with foreign government data requests. No backdoors. Both layers protected.</p>
|
||||||
|
<div style="display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem">
|
||||||
|
<div class="card" style="background:#1a0808;padding:1.25rem">
|
||||||
|
<p class="label" style="color:#f87171;margin-bottom:0.5rem">Self-hosted · US</p>
|
||||||
|
<p style="color:#cbd5e1;font-size:0.875rem;line-height:1.65;margin:0">Your server, your rules — until a court says otherwise. CLOUD Act applies to US persons regardless of encryption.</p>
|
||||||
|
</div>
|
||||||
|
<div class="card" style="background:#0a1220;padding:1.25rem">
|
||||||
|
<p class="label" style="color:#60a5fa;margin-bottom:0.5rem">Self-hosted · anywhere</p>
|
||||||
|
<p style="color:#cbd5e1;font-size:0.875rem;line-height:1.65;margin:0">Full control. Your infrastructure, your jurisdiction. The right choice if you know what you’re doing.</p>
|
||||||
|
</div>
|
||||||
|
<div style="border-radius:1rem;border:1px solid rgba(212,175,55,0.3);background:#2a1f00;padding:1.25rem">
|
||||||
|
<p class="label" style="color:#D4AF37;margin-bottom:0.5rem">Hosted · Zürich, Switzerland</p>
|
||||||
|
<p style="color:#cbd5e1;font-size:0.875rem;line-height:1.65;margin:0">Swiss law. Swiss courts. Capital of Privacy. No CLOUD Act. No backdoors. We handle the infrastructure — you get the protection.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr class="div">
|
||||||
|
|
||||||
|
<!-- Access Methods -->
|
||||||
<section class="py-8 border-t border-white/5">
|
<section class="py-8 border-t border-white/5">
|
||||||
<div class="max-w-7xl mx-auto px-6 text-center">
|
<div class="max-w-7xl mx-auto px-6 text-center">
|
||||||
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4">Your agent and you — same vault, right access</h2>
|
<h2 class="text-3xl md:text-4xl font-bold text-white mb-4">Your agent and you — same vault, right access</h2>
|
||||||
|
|
@ -437,7 +432,9 @@
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
|
<script>
|
||||||
(function() {
|
(function() {
|
||||||
const W = 1000, H = 460;
|
const W = 1000, H = 460;
|
||||||
function project(lon, lat) {
|
function project(lon, lat) {
|
||||||
|
|
@ -560,5 +557,6 @@
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
BIN
vault1984-web
BIN
vault1984-web
Binary file not shown.
Loading…
Reference in New Issue