feat: socials grid, cookie consent (GDPR/CCPA/PIPEDA), privacy & terms pages, enhanced SEO meta tags
- index.tsx: full socials section (YouTube, X, Instagram, Facebook, TikTok, Patreon) - index.tsx: enhanced meta description + keywords - _document.tsx: global meta keywords, proper OG image dimensions, twitter:creator - _app.tsx: cookie consent component mounted globally - CookieConsent.tsx: GDPR/CCPA/PIPEDA compliant banner with accept/decline + localStorage + GA disable - pages/privacy.tsx: full Privacy Policy (GDPR, CCPA/CPRA, PIPEDA sections) - pages/terms.tsx: Terms & Conditions (IP, governing law NE, disclaimers) - Home.module.css: socialGrid/socialBtn styles, footerLinks, legal page styles - footer: Privacy Policy + Terms links on all pages
This commit is contained in:
+7
-1
@@ -1,6 +1,12 @@
|
|||||||
import "@/styles/globals.css";
|
import "@/styles/globals.css";
|
||||||
import type { AppProps } from "next/app";
|
import type { AppProps } from "next/app";
|
||||||
|
import CookieConsent from "./components/CookieConsent";
|
||||||
|
|
||||||
export default function App({ Component, pageProps }: AppProps) {
|
export default function App({ Component, pageProps }: AppProps) {
|
||||||
return <Component {...pageProps} />;
|
return (
|
||||||
|
<>
|
||||||
|
<Component {...pageProps} />
|
||||||
|
<CookieConsent />
|
||||||
|
</>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
+34
-8
@@ -5,21 +5,43 @@ export default function Document() {
|
|||||||
<Html lang="en">
|
<Html lang="en">
|
||||||
<Head>
|
<Head>
|
||||||
<meta charSet="utf-8" />
|
<meta charSet="utf-8" />
|
||||||
<meta name="description" content="Bone Lord Bob is an American Anime project — dark, brutal, beautiful. Coming soon." />
|
{/* Primary SEO */}
|
||||||
|
<meta name="description" content="Bone Lord Bob is an American Anime project — dark, brutal, beautiful. An original animated series unlike anything you've seen before." />
|
||||||
|
<meta name="keywords" content="Bone Lord Bob, American Anime, indie animation, dark fantasy anime, animated series, original anime, BLB, dark fantasy, indie anime, anime art, American animation, bone lord" />
|
||||||
|
<meta name="author" content="Mathison Projects Inc." />
|
||||||
|
<meta name="robots" content="index, follow" />
|
||||||
|
<meta name="theme-color" content="#0a0806" />
|
||||||
|
|
||||||
{/* Open Graph */}
|
{/* Open Graph */}
|
||||||
|
<meta property="og:site_name" content="Bone Lord Bob" />
|
||||||
<meta property="og:title" content="Bone Lord Bob — American Anime" />
|
<meta property="og:title" content="Bone Lord Bob — American Anime" />
|
||||||
<meta property="og:description" content="American Anime. Dark. Brutal. Beautiful." />
|
<meta property="og:description" content="American Anime. Dark. Brutal. Beautiful. An original animated series unlike anything you've seen before." />
|
||||||
<meta property="og:image" content="https://bonelordbob.com/og-image.png" />
|
<meta property="og:image" content="https://www.bonelordbob.com/og-image.png" />
|
||||||
<meta property="og:url" content="https://bonelordbob.com/" />
|
<meta property="og:image:width" content="1536" />
|
||||||
|
<meta property="og:image:height" content="1024" />
|
||||||
|
<meta property="og:image:alt" content="Bone Lord Bob — American Anime" />
|
||||||
|
<meta property="og:url" content="https://www.bonelordbob.com/" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
{/* Twitter Card */}
|
<meta property="og:locale" content="en_US" />
|
||||||
|
|
||||||
|
{/* Twitter / X Card */}
|
||||||
<meta name="twitter:card" content="summary_large_image" />
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
<meta name="twitter:site" content="@bonelordbob" />
|
<meta name="twitter:site" content="@bonelordbob" />
|
||||||
|
<meta name="twitter:creator" content="@bonelordbob" />
|
||||||
<meta name="twitter:title" content="Bone Lord Bob — American Anime" />
|
<meta name="twitter:title" content="Bone Lord Bob — American Anime" />
|
||||||
<meta name="twitter:description" content="American Anime. Dark. Brutal. Beautiful." />
|
<meta name="twitter:description" content="American Anime. Dark. Brutal. Beautiful." />
|
||||||
<meta name="twitter:image" content="https://bonelordbob.com/og-image.png" />
|
<meta name="twitter:image" content="https://www.bonelordbob.com/og-image.png" />
|
||||||
<link rel="icon" href="/favicon.ico" />
|
<meta name="twitter:image:alt" content="Bone Lord Bob — American Anime" />
|
||||||
|
|
||||||
|
{/* Icons */}
|
||||||
|
<link rel="icon" href="/favicon.ico" sizes="any" />
|
||||||
|
<link rel="icon" href="/icon-192.png" type="image/png" sizes="192x192" />
|
||||||
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
|
||||||
|
<link rel="manifest" href="/manifest.json" />
|
||||||
|
|
||||||
|
{/* Canonical */}
|
||||||
|
<link rel="canonical" href="https://www.bonelordbob.com/" />
|
||||||
|
|
||||||
{/* Google Analytics GA4 — G-6EJVCK4931 */}
|
{/* Google Analytics GA4 — G-6EJVCK4931 */}
|
||||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-6EJVCK4931" />
|
<script async src="https://www.googletagmanager.com/gtag/js?id=G-6EJVCK4931" />
|
||||||
<script
|
<script
|
||||||
@@ -28,7 +50,11 @@ export default function Document() {
|
|||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
function gtag(){dataLayer.push(arguments);}
|
function gtag(){dataLayer.push(arguments);}
|
||||||
gtag('js', new Date());
|
gtag('js', new Date());
|
||||||
gtag('config', 'G-6EJVCK4931');
|
// Respect declined cookie consent
|
||||||
|
var consent = typeof localStorage !== 'undefined' ? localStorage.getItem('blb_cookie_consent') : null;
|
||||||
|
if (consent !== 'declined') {
|
||||||
|
gtag('config', 'G-6EJVCK4931', { anonymize_ip: true });
|
||||||
|
}
|
||||||
`,
|
`,
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -0,0 +1,96 @@
|
|||||||
|
import { useState, useEffect } from "react";
|
||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
|
export default function CookieConsent() {
|
||||||
|
const [visible, setVisible] = useState(false);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
try {
|
||||||
|
const consent = localStorage.getItem("blb_cookie_consent");
|
||||||
|
if (!consent) {
|
||||||
|
setVisible(true);
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
// localStorage not available
|
||||||
|
}
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
function accept() {
|
||||||
|
try {
|
||||||
|
localStorage.setItem("blb_cookie_consent", "true");
|
||||||
|
} catch {
|
||||||
|
// ignore
|
||||||
|
}
|
||||||
|
setVisible(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!visible) return null;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
position: "fixed",
|
||||||
|
bottom: 0,
|
||||||
|
left: 0,
|
||||||
|
right: 0,
|
||||||
|
zIndex: 9999,
|
||||||
|
background: "#1a1510",
|
||||||
|
borderTop: "1px solid rgba(232,220,200,0.18)",
|
||||||
|
padding: "16px 24px",
|
||||||
|
display: "flex",
|
||||||
|
flexWrap: "wrap",
|
||||||
|
alignItems: "center",
|
||||||
|
gap: "12px",
|
||||||
|
justifyContent: "space-between",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<p
|
||||||
|
style={{
|
||||||
|
color: "#e8dcc8",
|
||||||
|
fontSize: "0.92rem",
|
||||||
|
lineHeight: 1.5,
|
||||||
|
maxWidth: "680px",
|
||||||
|
margin: 0,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
We use cookies to improve your experience and analyze site traffic. By
|
||||||
|
continuing, you agree to our cookie policy.
|
||||||
|
</p>
|
||||||
|
<div style={{ display: "flex", gap: "10px", flexShrink: 0 }}>
|
||||||
|
<Link
|
||||||
|
href="/privacy"
|
||||||
|
style={{
|
||||||
|
padding: "9px 18px",
|
||||||
|
border: "1px solid rgba(232,220,200,0.3)",
|
||||||
|
borderRadius: "4px",
|
||||||
|
color: "#e8dcc8",
|
||||||
|
fontSize: "0.88rem",
|
||||||
|
cursor: "pointer",
|
||||||
|
background: "transparent",
|
||||||
|
textDecoration: "none",
|
||||||
|
lineHeight: 1,
|
||||||
|
display: "inline-flex",
|
||||||
|
alignItems: "center",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Privacy Policy
|
||||||
|
</Link>
|
||||||
|
<button
|
||||||
|
onClick={accept}
|
||||||
|
style={{
|
||||||
|
padding: "9px 18px",
|
||||||
|
background: "#c0392b",
|
||||||
|
border: "none",
|
||||||
|
borderRadius: "4px",
|
||||||
|
color: "#e8dcc8",
|
||||||
|
fontSize: "0.88rem",
|
||||||
|
cursor: "pointer",
|
||||||
|
fontWeight: 600,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Accept
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
+219
-36
@@ -1,13 +1,66 @@
|
|||||||
import Head from "next/head";
|
import Head from "next/head";
|
||||||
import Image from "next/image";
|
import Image from "next/image";
|
||||||
|
import Link from "next/link";
|
||||||
import styles from "@/styles/Home.module.css";
|
import styles from "@/styles/Home.module.css";
|
||||||
|
|
||||||
|
const SOCIALS = [
|
||||||
|
{
|
||||||
|
name: "YouTube",
|
||||||
|
handle: "@bonelordbob",
|
||||||
|
url: "https://www.youtube.com/@bonelordbob",
|
||||||
|
icon: "▶",
|
||||||
|
color: "#ff0000",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Instagram",
|
||||||
|
handle: "@bonelordbob",
|
||||||
|
url: "https://www.instagram.com/bonelordbob",
|
||||||
|
icon: "📷",
|
||||||
|
color: "#e1306c",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Facebook",
|
||||||
|
handle: "Bone Lord Bob",
|
||||||
|
url: "https://www.facebook.com/profile.php?id=61580718487639",
|
||||||
|
icon: "f",
|
||||||
|
color: "#1877f2",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "X / Twitter",
|
||||||
|
handle: "@BoneLordBob",
|
||||||
|
url: "https://x.com/BoneLordBob",
|
||||||
|
icon: "𝕏",
|
||||||
|
color: "#e8dcc8",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Patreon",
|
||||||
|
handle: "BoneLordBob",
|
||||||
|
url: "https://www.patreon.com/c/BoneLordBob",
|
||||||
|
icon: "P",
|
||||||
|
color: "#ff424d",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "TikTok",
|
||||||
|
handle: "@bonelordbob",
|
||||||
|
url: "https://www.tiktok.com/@bonelordbob",
|
||||||
|
icon: "♪",
|
||||||
|
color: "#69c9d0",
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
export default function Home() {
|
export default function Home() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<Head>
|
<Head>
|
||||||
<title>Bone Lord Bob — American Anime</title>
|
<title>Bone Lord Bob — American Anime</title>
|
||||||
<meta name="description" content="Bone Lord Bob is an American Anime project — dark, brutal, beautiful. Coming soon." />
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="Bone Lord Bob is an American Anime project — dark, brutal, beautiful. Coming soon."
|
||||||
|
/>
|
||||||
|
<meta
|
||||||
|
name="keywords"
|
||||||
|
content="Bone Lord Bob, BLB, American Anime, indie anime, dark fantasy anime, original anime series, animated series, dark fantasy, American animation, independent animation, bone kingdom"
|
||||||
|
/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<link rel="icon" href="/favicon.ico" sizes="any" />
|
<link rel="icon" href="/favicon.ico" sizes="any" />
|
||||||
<link rel="icon" href="/icon-192.png" type="image/png" sizes="192x192" />
|
<link rel="icon" href="/icon-192.png" type="image/png" sizes="192x192" />
|
||||||
@@ -15,30 +68,43 @@ export default function Home() {
|
|||||||
|
|
||||||
{/* Open Graph */}
|
{/* Open Graph */}
|
||||||
<meta property="og:title" content="Bone Lord Bob" />
|
<meta property="og:title" content="Bone Lord Bob" />
|
||||||
<meta property="og:description" content="American Anime. Dark. Brutal. Beautiful." />
|
<meta
|
||||||
|
property="og:description"
|
||||||
|
content="American Anime. Dark. Brutal. Beautiful."
|
||||||
|
/>
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
|
<meta property="og:url" content="https://www.bonelordbob.com" />
|
||||||
<meta property="og:image" content="/og-image.png" />
|
<meta property="og:image" content="/og-image.png" />
|
||||||
<meta property="og:image:width" content="1536" />
|
<meta property="og:image:width" content="1536" />
|
||||||
<meta property="og:image:height" content="1024" />
|
<meta property="og:image:height" content="1024" />
|
||||||
|
|
||||||
{/* Twitter Card */}
|
{/* Twitter Card */}
|
||||||
<meta name="twitter:card" content="summary_large_image" />
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:site" content="@BoneLordBob" />
|
||||||
<meta name="twitter:title" content="Bone Lord Bob" />
|
<meta name="twitter:title" content="Bone Lord Bob" />
|
||||||
<meta name="twitter:description" content="American Anime. Dark. Brutal. Beautiful." />
|
<meta
|
||||||
|
name="twitter:description"
|
||||||
|
content="American Anime. Dark. Brutal. Beautiful."
|
||||||
|
/>
|
||||||
<meta name="twitter:image" content="/og-image.png" />
|
<meta name="twitter:image" content="/og-image.png" />
|
||||||
</Head>
|
</Head>
|
||||||
|
|
||||||
<div className={styles.page}>
|
<div className={styles.page}>
|
||||||
|
|
||||||
{/* ── Nav ─────────────────────────────────────────────────────── */}
|
{/* ── Nav ─────────────────────────────────────────────────────── */}
|
||||||
<nav className={styles.nav}>
|
<nav className={styles.nav}>
|
||||||
<span className={styles.navLogo}>
|
<span className={styles.navLogo}>
|
||||||
Bone Lord <span>Bob</span>
|
Bone Lord <span>Bob</span>
|
||||||
</span>
|
</span>
|
||||||
<ul className={styles.navLinks}>
|
<ul className={styles.navLinks}>
|
||||||
<li><a href="#about">About</a></li>
|
<li>
|
||||||
<li><a href="#characters">Characters</a></li>
|
<a href="#about">About</a>
|
||||||
<li><a href="#follow">Follow</a></li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#characters">Characters</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="#follow">Follow</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
@@ -67,13 +133,21 @@ export default function Home() {
|
|||||||
|
|
||||||
{/* ── Divider ─────────────────────────────────────────────────── */}
|
{/* ── Divider ─────────────────────────────────────────────────── */}
|
||||||
<div className={styles.divider}>
|
<div className={styles.divider}>
|
||||||
{["💀", "💀", "💀", "💀", "💀", "💀", "💀", "💀", "💀", "💀"].map((s, i) => (
|
{["💀", "💀", "💀", "💀", "💀", "💀", "💀", "💀", "💀", "💀"].map(
|
||||||
<span key={i} className={styles.dividerSkull}>{s}</span>
|
(s, i) => (
|
||||||
))}
|
<span key={i} className={styles.dividerSkull}>
|
||||||
|
{s}
|
||||||
|
</span>
|
||||||
|
)
|
||||||
|
)}
|
||||||
<span className={styles.dividerText}>Coming Soon</span>
|
<span className={styles.dividerText}>Coming Soon</span>
|
||||||
{["💀", "💀", "💀", "💀", "💀", "💀", "💀", "💀", "💀", "💀"].map((s, i) => (
|
{["💀", "💀", "💀", "💀", "💀", "💀", "💀", "💀", "💀", "💀"].map(
|
||||||
<span key={i} className={styles.dividerSkull}>{s}</span>
|
(s, i) => (
|
||||||
))}
|
<span key={i} className={styles.dividerSkull}>
|
||||||
|
{s}
|
||||||
|
</span>
|
||||||
|
)
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* ── About ───────────────────────────────────────────────────── */}
|
{/* ── About ───────────────────────────────────────────────────── */}
|
||||||
@@ -81,16 +155,18 @@ export default function Home() {
|
|||||||
<div>
|
<div>
|
||||||
<span className={styles.sectionLabel}>The Project</span>
|
<span className={styles.sectionLabel}>The Project</span>
|
||||||
<h2 className={styles.sectionTitle}>
|
<h2 className={styles.sectionTitle}>
|
||||||
American stories.<br />Anime soul.
|
American stories.
|
||||||
|
<br />
|
||||||
|
Anime soul.
|
||||||
</h2>
|
</h2>
|
||||||
<p className={styles.sectionBody}>
|
<p className={styles.sectionBody}>
|
||||||
Bone Lord Bob is an original American Anime project — a dark, hand-crafted
|
Bone Lord Bob is an original American Anime project — a dark,
|
||||||
universe that pulls from the grit of American storytelling and channels it
|
hand-crafted universe that pulls from the grit of American
|
||||||
through the visual language of anime.
|
storytelling and channels it through the visual language of anime.
|
||||||
</p>
|
</p>
|
||||||
<p className={styles.sectionBody}>
|
<p className={styles.sectionBody}>
|
||||||
Not an adaptation. Not a tribute. Something new.
|
Not an adaptation. Not a tribute. Something new. A world of bone
|
||||||
A world of bone and blood and meaning, built from scratch.
|
and blood and meaning, built from scratch.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.aboutVisual}>
|
<div className={styles.aboutVisual}>
|
||||||
@@ -120,8 +196,8 @@ export default function Home() {
|
|||||||
<h3 className={styles.characterName}>Bone Lord Bob</h3>
|
<h3 className={styles.characterName}>Bone Lord Bob</h3>
|
||||||
<p className={styles.characterRole}>The Protagonist</p>
|
<p className={styles.characterRole}>The Protagonist</p>
|
||||||
<p className={styles.characterDesc}>
|
<p className={styles.characterDesc}>
|
||||||
A man cursed to walk between worlds — carrying the weight
|
A man cursed to walk between worlds — carrying the weight of the
|
||||||
of the dead and the rage of the living. He answers to no one.
|
dead and the rage of the living. He answers to no one.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.characterCard}>
|
<div className={styles.characterCard}>
|
||||||
@@ -129,8 +205,8 @@ export default function Home() {
|
|||||||
<h3 className={styles.characterName}>???</h3>
|
<h3 className={styles.characterName}>???</h3>
|
||||||
<p className={styles.characterRole}>Coming Soon</p>
|
<p className={styles.characterRole}>Coming Soon</p>
|
||||||
<p className={styles.characterDesc}>
|
<p className={styles.characterDesc}>
|
||||||
More characters will be revealed as the story unfolds.
|
More characters will be revealed as the story unfolds. The
|
||||||
The roster is deep. The world is darker than it looks.
|
roster is deep. The world is darker than it looks.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.characterCard}>
|
<div className={styles.characterCard}>
|
||||||
@@ -153,17 +229,91 @@ export default function Home() {
|
|||||||
The story is <em>coming</em>.
|
The story is <em>coming</em>.
|
||||||
</h2>
|
</h2>
|
||||||
<p className={styles.sectionBody}>
|
<p className={styles.sectionBody}>
|
||||||
Bone Lord Bob is in active development. Follow along as the
|
Bone Lord Bob is in active development. Follow along as the world
|
||||||
world takes shape — art, lore, characters, and more.
|
takes shape — art, lore, characters, and more.
|
||||||
</p>
|
</p>
|
||||||
<a
|
|
||||||
href="https://x.com/bonelordbob"
|
{/* Social grid */}
|
||||||
className={styles.btnPrimary}
|
<div
|
||||||
target="_blank"
|
style={{
|
||||||
rel="noopener noreferrer"
|
display: "grid",
|
||||||
|
gridTemplateColumns: "repeat(auto-fit, minmax(160px, 1fr))",
|
||||||
|
gap: "12px",
|
||||||
|
marginTop: "32px",
|
||||||
|
maxWidth: "700px",
|
||||||
|
width: "100%",
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
Follow on X
|
{SOCIALS.map((s) => (
|
||||||
</a>
|
<a
|
||||||
|
key={s.name}
|
||||||
|
href={s.url}
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
style={{
|
||||||
|
display: "flex",
|
||||||
|
alignItems: "center",
|
||||||
|
gap: "10px",
|
||||||
|
padding: "12px 16px",
|
||||||
|
background: "#1a1510",
|
||||||
|
border: "1px solid rgba(232,220,200,0.12)",
|
||||||
|
borderRadius: "6px",
|
||||||
|
color: "#e8dcc8",
|
||||||
|
textDecoration: "none",
|
||||||
|
transition: "border-color 0.2s, background 0.2s",
|
||||||
|
}}
|
||||||
|
onMouseEnter={(e) => {
|
||||||
|
(e.currentTarget as HTMLAnchorElement).style.borderColor =
|
||||||
|
s.color;
|
||||||
|
(e.currentTarget as HTMLAnchorElement).style.background =
|
||||||
|
"#231e18";
|
||||||
|
}}
|
||||||
|
onMouseLeave={(e) => {
|
||||||
|
(e.currentTarget as HTMLAnchorElement).style.borderColor =
|
||||||
|
"rgba(232,220,200,0.12)";
|
||||||
|
(e.currentTarget as HTMLAnchorElement).style.background =
|
||||||
|
"#1a1510";
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
style={{
|
||||||
|
fontSize: "1.1rem",
|
||||||
|
width: "24px",
|
||||||
|
textAlign: "center",
|
||||||
|
color: s.color,
|
||||||
|
fontWeight: 700,
|
||||||
|
flexShrink: 0,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{s.icon}
|
||||||
|
</span>
|
||||||
|
<div style={{ minWidth: 0 }}>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
fontSize: "0.8rem",
|
||||||
|
fontWeight: 700,
|
||||||
|
letterSpacing: "0.05em",
|
||||||
|
textTransform: "uppercase",
|
||||||
|
color: "#9e9080",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{s.name}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style={{
|
||||||
|
fontSize: "0.85rem",
|
||||||
|
color: "#e8dcc8",
|
||||||
|
overflow: "hidden",
|
||||||
|
textOverflow: "ellipsis",
|
||||||
|
whiteSpace: "nowrap",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{s.handle}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -172,11 +322,44 @@ export default function Home() {
|
|||||||
<span className={styles.footerLogo}>
|
<span className={styles.footerLogo}>
|
||||||
Bone Lord <span>Bob</span>
|
Bone Lord <span>Bob</span>
|
||||||
</span>
|
</span>
|
||||||
<span className={styles.footerNote}>
|
<div
|
||||||
© {new Date().getFullYear()} Mathison Projects Inc. All rights reserved.
|
style={{
|
||||||
</span>
|
display: "flex",
|
||||||
|
flexWrap: "wrap",
|
||||||
|
alignItems: "center",
|
||||||
|
justifyContent: "center",
|
||||||
|
gap: "16px",
|
||||||
|
marginTop: "8px",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<span className={styles.footerNote}>
|
||||||
|
© {new Date().getFullYear()} Mathison Projects Inc. All rights
|
||||||
|
reserved.
|
||||||
|
</span>
|
||||||
|
<span style={{ color: "rgba(232,220,200,0.2)" }}>|</span>
|
||||||
|
<Link
|
||||||
|
href="/privacy"
|
||||||
|
style={{
|
||||||
|
color: "#9e9080",
|
||||||
|
fontSize: "0.82rem",
|
||||||
|
textDecoration: "none",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Privacy Policy
|
||||||
|
</Link>
|
||||||
|
<span style={{ color: "rgba(232,220,200,0.2)" }}>|</span>
|
||||||
|
<Link
|
||||||
|
href="/terms"
|
||||||
|
style={{
|
||||||
|
color: "#9e9080",
|
||||||
|
fontSize: "0.82rem",
|
||||||
|
textDecoration: "none",
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Terms & Conditions
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -0,0 +1,405 @@
|
|||||||
|
import Head from "next/head";
|
||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
|
const s = {
|
||||||
|
page: {
|
||||||
|
minHeight: "100vh",
|
||||||
|
background: "#0a0806",
|
||||||
|
color: "#e8dcc8",
|
||||||
|
fontFamily: "'Segoe UI', system-ui, -apple-system, sans-serif",
|
||||||
|
lineHeight: 1.7 as const,
|
||||||
|
} as React.CSSProperties,
|
||||||
|
nav: {
|
||||||
|
display: "flex",
|
||||||
|
alignItems: "center",
|
||||||
|
justifyContent: "space-between",
|
||||||
|
padding: "20px 32px",
|
||||||
|
borderBottom: "1px solid rgba(232,220,200,0.1)",
|
||||||
|
} as React.CSSProperties,
|
||||||
|
logo: {
|
||||||
|
fontFamily: "'Georgia', 'Times New Roman', serif",
|
||||||
|
fontSize: "1.2rem",
|
||||||
|
fontWeight: 700,
|
||||||
|
letterSpacing: "0.04em",
|
||||||
|
textDecoration: "none",
|
||||||
|
color: "#e8dcc8",
|
||||||
|
} as React.CSSProperties,
|
||||||
|
logoSpan: { color: "#c0392b" } as React.CSSProperties,
|
||||||
|
backLink: {
|
||||||
|
fontSize: "0.88rem",
|
||||||
|
color: "#9e9080",
|
||||||
|
textDecoration: "none",
|
||||||
|
display: "inline-flex",
|
||||||
|
alignItems: "center",
|
||||||
|
gap: "4px",
|
||||||
|
} as React.CSSProperties,
|
||||||
|
main: {
|
||||||
|
maxWidth: "780px",
|
||||||
|
margin: "0 auto",
|
||||||
|
padding: "56px 32px 80px",
|
||||||
|
} as React.CSSProperties,
|
||||||
|
eyebrow: {
|
||||||
|
display: "block",
|
||||||
|
fontSize: "0.78rem",
|
||||||
|
fontWeight: 700,
|
||||||
|
letterSpacing: "0.14em",
|
||||||
|
textTransform: "uppercase" as const,
|
||||||
|
color: "#c0392b",
|
||||||
|
marginBottom: "12px",
|
||||||
|
} as React.CSSProperties,
|
||||||
|
h1: {
|
||||||
|
fontFamily: "'Georgia', 'Times New Roman', serif",
|
||||||
|
fontSize: "clamp(2rem, 5vw, 2.8rem)",
|
||||||
|
fontWeight: 700,
|
||||||
|
color: "#e8dcc8",
|
||||||
|
marginBottom: "8px",
|
||||||
|
lineHeight: 1.2,
|
||||||
|
} as React.CSSProperties,
|
||||||
|
updated: {
|
||||||
|
fontSize: "0.85rem",
|
||||||
|
color: "#9e9080",
|
||||||
|
marginBottom: "48px",
|
||||||
|
paddingBottom: "32px",
|
||||||
|
borderBottom: "1px solid rgba(232,220,200,0.1)",
|
||||||
|
} as React.CSSProperties,
|
||||||
|
h2: {
|
||||||
|
fontFamily: "'Georgia', 'Times New Roman', serif",
|
||||||
|
fontSize: "1.35rem",
|
||||||
|
fontWeight: 700,
|
||||||
|
color: "#e8dcc8",
|
||||||
|
marginTop: "40px",
|
||||||
|
marginBottom: "12px",
|
||||||
|
} as React.CSSProperties,
|
||||||
|
p: {
|
||||||
|
fontSize: "0.95rem",
|
||||||
|
color: "#c8bfae",
|
||||||
|
marginBottom: "14px",
|
||||||
|
} as React.CSSProperties,
|
||||||
|
ul: {
|
||||||
|
paddingLeft: "20px",
|
||||||
|
marginBottom: "14px",
|
||||||
|
} as React.CSSProperties,
|
||||||
|
li: {
|
||||||
|
fontSize: "0.95rem",
|
||||||
|
color: "#c8bfae",
|
||||||
|
marginBottom: "6px",
|
||||||
|
} as React.CSSProperties,
|
||||||
|
a: {
|
||||||
|
color: "#c0392b",
|
||||||
|
textDecoration: "underline",
|
||||||
|
} as React.CSSProperties,
|
||||||
|
footer: {
|
||||||
|
borderTop: "1px solid rgba(232,220,200,0.1)",
|
||||||
|
padding: "28px 32px",
|
||||||
|
textAlign: "center" as const,
|
||||||
|
fontSize: "0.82rem",
|
||||||
|
color: "#9e9080",
|
||||||
|
} as React.CSSProperties,
|
||||||
|
};
|
||||||
|
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default function Privacy() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Head>
|
||||||
|
<title>Privacy Policy — Bone Lord Bob</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="Privacy Policy for Bone Lord Bob — how we collect, use, and protect your data."
|
||||||
|
/>
|
||||||
|
<meta
|
||||||
|
name="keywords"
|
||||||
|
content="Bone Lord Bob, privacy policy, cookies, GDPR, CCPA, CASL, American Anime"
|
||||||
|
/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<link rel="icon" href="/favicon.ico" sizes="any" />
|
||||||
|
<meta property="og:title" content="Privacy Policy — Bone Lord Bob" />
|
||||||
|
<meta
|
||||||
|
property="og:description"
|
||||||
|
content="Privacy Policy for Bone Lord Bob."
|
||||||
|
/>
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
<meta
|
||||||
|
property="og:url"
|
||||||
|
content="https://www.bonelordbob.com/privacy"
|
||||||
|
/>
|
||||||
|
<meta property="og:image" content="/og-image.png" />
|
||||||
|
<meta name="twitter:card" content="summary" />
|
||||||
|
<meta name="twitter:site" content="@BoneLordBob" />
|
||||||
|
<meta name="twitter:title" content="Privacy Policy — Bone Lord Bob" />
|
||||||
|
</Head>
|
||||||
|
|
||||||
|
<div style={s.page}>
|
||||||
|
{/* Nav */}
|
||||||
|
<nav style={s.nav}>
|
||||||
|
<Link href="/" style={s.logo}>
|
||||||
|
Bone Lord <span style={s.logoSpan}>Bob</span>
|
||||||
|
</Link>
|
||||||
|
<Link href="/" style={s.backLink}>
|
||||||
|
← Back to Home
|
||||||
|
</Link>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
{/* Content */}
|
||||||
|
<main style={s.main}>
|
||||||
|
<span style={s.eyebrow}>Legal</span>
|
||||||
|
<h1 style={s.h1}>Privacy Policy</h1>
|
||||||
|
<p style={s.updated}>Last updated: April 2026</p>
|
||||||
|
|
||||||
|
<p style={s.p}>
|
||||||
|
Bone Lord Bob ("we", "us", "our") is
|
||||||
|
operated by Mathison Projects Inc. We respect your privacy and are
|
||||||
|
committed to protecting any personal data we collect. This policy
|
||||||
|
explains what we collect, how we use it, and your rights.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 style={s.h2}>1. Information We Collect</h2>
|
||||||
|
<p style={s.p}>
|
||||||
|
We collect limited information when you visit{" "}
|
||||||
|
<strong>www.bonelordbob.com</strong>:
|
||||||
|
</p>
|
||||||
|
<ul style={s.ul}>
|
||||||
|
<li style={s.li}>
|
||||||
|
<strong>Usage data</strong> — pages visited, browser type,
|
||||||
|
device, IP address, and referral source, collected automatically
|
||||||
|
via analytics tools.
|
||||||
|
</li>
|
||||||
|
<li style={s.li}>
|
||||||
|
<strong>Cookie consent preference</strong> — stored locally in
|
||||||
|
your browser's localStorage.
|
||||||
|
</li>
|
||||||
|
<li style={s.li}>
|
||||||
|
<strong>Contact information</strong> — only if you email us
|
||||||
|
directly at{" "}
|
||||||
|
<a href="mailto:hello@bonelordbob.com" style={s.a}>
|
||||||
|
hello@bonelordbob.com
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2 style={s.h2}>2. Cookies & Analytics</h2>
|
||||||
|
<p style={s.p}>
|
||||||
|
We use <strong>Google Analytics</strong> to understand how visitors
|
||||||
|
interact with our site. Google Analytics places cookies on your
|
||||||
|
device to collect anonymized data about your visit (e.g., pages
|
||||||
|
viewed, session duration, geographic region).
|
||||||
|
</p>
|
||||||
|
<p style={s.p}>
|
||||||
|
You can opt out of Google Analytics tracking by installing the{" "}
|
||||||
|
<a
|
||||||
|
href="https://tools.google.com/dlpage/gaoptout"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
style={s.a}
|
||||||
|
>
|
||||||
|
Google Analytics Opt-out Browser Add-on
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
<p style={s.p}>
|
||||||
|
We also use a localStorage key (<code>blb_cookie_consent</code>) to
|
||||||
|
remember your cookie consent choice. This is not transmitted to any
|
||||||
|
server.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 style={s.h2}>3. Third-Party Services</h2>
|
||||||
|
<p style={s.p}>
|
||||||
|
Our site links to and embeds content from third-party platforms.
|
||||||
|
Each has its own privacy policy:
|
||||||
|
</p>
|
||||||
|
<ul style={s.ul}>
|
||||||
|
<li style={s.li}>
|
||||||
|
<strong>YouTube</strong> —{" "}
|
||||||
|
<a
|
||||||
|
href="https://policies.google.com/privacy"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
style={s.a}
|
||||||
|
>
|
||||||
|
Google Privacy Policy
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li style={s.li}>
|
||||||
|
<strong>Instagram</strong> —{" "}
|
||||||
|
<a
|
||||||
|
href="https://privacycenter.instagram.com/policy"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
style={s.a}
|
||||||
|
>
|
||||||
|
Meta Privacy Policy
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li style={s.li}>
|
||||||
|
<strong>X (Twitter)</strong> —{" "}
|
||||||
|
<a
|
||||||
|
href="https://twitter.com/en/privacy"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
style={s.a}
|
||||||
|
>
|
||||||
|
X Privacy Policy
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li style={s.li}>
|
||||||
|
<strong>Facebook</strong> —{" "}
|
||||||
|
<a
|
||||||
|
href="https://www.facebook.com/privacy/policy"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
style={s.a}
|
||||||
|
>
|
||||||
|
Meta Privacy Policy
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li style={s.li}>
|
||||||
|
<strong>Patreon</strong> —{" "}
|
||||||
|
<a
|
||||||
|
href="https://www.patreon.com/policy/privacy"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
style={s.a}
|
||||||
|
>
|
||||||
|
Patreon Privacy Policy
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li style={s.li}>
|
||||||
|
<strong>TikTok</strong> —{" "}
|
||||||
|
<a
|
||||||
|
href="https://www.tiktok.com/legal/page/us/privacy-policy/en"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
style={s.a}
|
||||||
|
>
|
||||||
|
TikTok Privacy Policy
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p style={s.p}>
|
||||||
|
We are not responsible for the privacy practices of these
|
||||||
|
third-party platforms. Visiting their links is subject to their
|
||||||
|
respective policies.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 style={s.h2}>4. How We Use Your Information</h2>
|
||||||
|
<p style={s.p}>
|
||||||
|
We use the data we collect to:
|
||||||
|
</p>
|
||||||
|
<ul style={s.ul}>
|
||||||
|
<li style={s.li}>Analyze and improve site performance</li>
|
||||||
|
<li style={s.li}>Understand audience demographics and interests</li>
|
||||||
|
<li style={s.li}>
|
||||||
|
Respond to inquiries you send via email
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p style={s.p}>
|
||||||
|
We do <strong>not</strong> sell, rent, or trade your personal
|
||||||
|
information to third parties.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 style={s.h2}>5. Your Rights</h2>
|
||||||
|
|
||||||
|
<p style={s.p}>
|
||||||
|
<strong>GDPR (European Union):</strong> If you are located in the
|
||||||
|
EU/EEA, you have the right to access, rectify, erase, restrict, or
|
||||||
|
object to processing of your personal data. You also have the right
|
||||||
|
to data portability. To exercise these rights, contact us at{" "}
|
||||||
|
<a href="mailto:hello@bonelordbob.com" style={s.a}>
|
||||||
|
hello@bonelordbob.com
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p style={s.p}>
|
||||||
|
<strong>CCPA (California, USA):</strong> California residents have
|
||||||
|
the right to know what personal information we collect, to request
|
||||||
|
deletion of that information, and to opt out of the sale of personal
|
||||||
|
information. We do not sell personal information. To submit a
|
||||||
|
request, contact{" "}
|
||||||
|
<a href="mailto:hello@bonelordbob.com" style={s.a}>
|
||||||
|
hello@bonelordbob.com
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p style={s.p}>
|
||||||
|
<strong>CASL (Canada):</strong> We do not send commercial electronic
|
||||||
|
messages unless you have given express or implied consent. If you
|
||||||
|
wish to withdraw consent or unsubscribe from any communications,
|
||||||
|
contact us at{" "}
|
||||||
|
<a href="mailto:hello@bonelordbob.com" style={s.a}>
|
||||||
|
hello@bonelordbob.com
|
||||||
|
</a>
|
||||||
|
.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 style={s.h2}>6. Data Retention</h2>
|
||||||
|
<p style={s.p}>
|
||||||
|
Analytics data is retained by Google Analytics per their default
|
||||||
|
retention settings (26 months). We do not store personal data on
|
||||||
|
our own servers beyond what is needed to respond to direct inquiries.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 style={s.h2}>7. Children's Privacy</h2>
|
||||||
|
<p style={s.p}>
|
||||||
|
Bone Lord Bob is intended for mature audiences. We do not knowingly
|
||||||
|
collect personal information from children under 13. If you believe
|
||||||
|
a child has provided us with personal data, please contact us
|
||||||
|
immediately.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 style={s.h2}>8. Changes to This Policy</h2>
|
||||||
|
<p style={s.p}>
|
||||||
|
We may update this Privacy Policy from time to time. We will post
|
||||||
|
the updated version on this page with a revised "Last
|
||||||
|
updated" date. Continued use of the site after changes
|
||||||
|
constitutes acceptance.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2 style={s.h2}>9. Contact</h2>
|
||||||
|
<p style={s.p}>
|
||||||
|
For any privacy-related questions, requests, or concerns, contact
|
||||||
|
us at:
|
||||||
|
</p>
|
||||||
|
<p style={s.p}>
|
||||||
|
<strong>Mathison Projects Inc.</strong>
|
||||||
|
<br />
|
||||||
|
Email:{" "}
|
||||||
|
<a href="mailto:hello@bonelordbob.com" style={s.a}>
|
||||||
|
hello@bonelordbob.com
|
||||||
|
</a>
|
||||||
|
<br />
|
||||||
|
Website:{" "}
|
||||||
|
<a
|
||||||
|
href="https://www.bonelordbob.com"
|
||||||
|
target="_blank"
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
style={s.a}
|
||||||
|
>
|
||||||
|
www.bonelordbob.com
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer style={s.footer}>
|
||||||
|
<div>
|
||||||
|
© {new Date().getFullYear()} Mathison Projects Inc. All rights
|
||||||
|
reserved. | {" "}
|
||||||
|
<Link href="/" style={{ color: "#9e9080", textDecoration: "none" }}>
|
||||||
|
Home
|
||||||
|
</Link>{" "}
|
||||||
|
| {" "}
|
||||||
|
<Link
|
||||||
|
href="/terms"
|
||||||
|
style={{ color: "#9e9080", textDecoration: "none" }}
|
||||||
|
>
|
||||||
|
Terms & Conditions
|
||||||
|
</Link>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
+162
@@ -0,0 +1,162 @@
|
|||||||
|
import Head from "next/head";
|
||||||
|
import Link from "next/link";
|
||||||
|
import styles from "@/styles/Home.module.css";
|
||||||
|
|
||||||
|
const UPDATED = "April 11, 2025";
|
||||||
|
|
||||||
|
export default function Terms() {
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Head>
|
||||||
|
<title>Terms & Conditions | Bone Lord Bob</title>
|
||||||
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="Terms and Conditions for Bone Lord Bob — rules governing your use of www.bonelordbob.com and all associated content."
|
||||||
|
/>
|
||||||
|
<meta name="keywords" content="Bone Lord Bob terms and conditions, terms of service, legal, usage policy" />
|
||||||
|
<meta property="og:title" content="Terms & Conditions — Bone Lord Bob" />
|
||||||
|
<meta property="og:description" content="Terms and Conditions governing your use of Bone Lord Bob." />
|
||||||
|
<meta property="og:url" content="https://www.bonelordbob.com/terms" />
|
||||||
|
<link rel="canonical" href="https://www.bonelordbob.com/terms" />
|
||||||
|
</Head>
|
||||||
|
|
||||||
|
<div className={styles.page}>
|
||||||
|
<nav className={styles.nav}>
|
||||||
|
<Link href="/" className={styles.navLogo}>
|
||||||
|
Bone Lord <span>Bob</span>
|
||||||
|
</Link>
|
||||||
|
<ul className={styles.navLinks}>
|
||||||
|
<li><Link href="/">Home</Link></li>
|
||||||
|
<li><Link href="/privacy">Privacy</Link></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<main className={styles.legal}>
|
||||||
|
<h1 className={styles.legalTitle}>Terms & Conditions</h1>
|
||||||
|
<span className={styles.legalUpdated}>Last updated: {UPDATED}</span>
|
||||||
|
|
||||||
|
<div className={styles.legalSection}>
|
||||||
|
<p>
|
||||||
|
These Terms and Conditions (“Terms”) govern your use of{" "}
|
||||||
|
<strong>www.bonelordbob.com</strong> (the “Site”), operated by Mathison Projects
|
||||||
|
Inc. (“we,” “our,” or “us”). By accessing or using the Site, you agree
|
||||||
|
to be bound by these Terms. If you do not agree, do not use the Site.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.legalSection}>
|
||||||
|
<h2>1. Use of the Site</h2>
|
||||||
|
<p>You agree to use the Site only for lawful purposes. You must not:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Use the Site in any way that violates applicable local, national, or international laws or regulations</li>
|
||||||
|
<li>Attempt to gain unauthorized access to any part of the Site or its infrastructure</li>
|
||||||
|
<li>Transmit any unsolicited or unauthorized advertising or promotional material</li>
|
||||||
|
<li>Scrape, copy, or harvest Site content in bulk without prior written permission</li>
|
||||||
|
<li>Impersonate Bone Lord Bob, Mathison Projects Inc., or any of their personnel</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.legalSection}>
|
||||||
|
<h2>2. Intellectual Property</h2>
|
||||||
|
<p>
|
||||||
|
All content on this Site — including but not limited to artwork, characters, logos,
|
||||||
|
animation, text, names, and branding — is the exclusive intellectual property of
|
||||||
|
Mathison Projects Inc. and/or its creative collaborators, and is protected by
|
||||||
|
copyright, trademark, and other applicable intellectual property laws.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<strong>Bone Lord Bob</strong>, all character names, and all associated artwork
|
||||||
|
are original creations. All rights reserved.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
You may not reproduce, distribute, modify, publicly display, or create derivative
|
||||||
|
works from any Site content without our prior written consent.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.legalSection}>
|
||||||
|
<h2>3. User-Generated Content</h2>
|
||||||
|
<p>
|
||||||
|
This Site does not currently accept user submissions. Fan art, fan fiction, and other
|
||||||
|
community content shared on third-party platforms (social media, forums) remain the
|
||||||
|
property of their creators, but by tagging or associating such content with Bone Lord
|
||||||
|
Bob, you grant us a non-exclusive, royalty-free right to reshare or reference that
|
||||||
|
content for promotional purposes, with credit given where possible.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.legalSection}>
|
||||||
|
<h2>4. Third-Party Links</h2>
|
||||||
|
<p>
|
||||||
|
The Site contains links to third-party platforms (YouTube, X, Instagram, Facebook,
|
||||||
|
TikTok, Patreon, and others). These links are provided for convenience. We are not
|
||||||
|
responsible for the content, privacy practices, or terms of those platforms. Their
|
||||||
|
use is governed by their own terms and policies.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.legalSection}>
|
||||||
|
<h2>5. Disclaimers</h2>
|
||||||
|
<p>
|
||||||
|
THE SITE AND ITS CONTENT ARE PROVIDED “AS IS” WITHOUT WARRANTIES OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED. WE DO NOT WARRANT THAT THE SITE WILL BE UNINTERRUPTED, ERROR-FREE,
|
||||||
|
OR FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Bone Lord Bob content is intended for mature audiences. The series depicts dark
|
||||||
|
fantasy themes including violence and death. Viewer discretion is advised.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.legalSection}>
|
||||||
|
<h2>6. Limitation of Liability</h2>
|
||||||
|
<p>
|
||||||
|
TO THE FULLEST EXTENT PERMITTED BY LAW, MATHISON PROJECTS INC. SHALL NOT BE LIABLE
|
||||||
|
FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES ARISING
|
||||||
|
FROM YOUR USE OF OR INABILITY TO USE THE SITE OR ITS CONTENT.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.legalSection}>
|
||||||
|
<h2>7. Governing Law</h2>
|
||||||
|
<p>
|
||||||
|
These Terms shall be governed by and construed in accordance with the laws of the
|
||||||
|
State of Nebraska, United States of America, without regard to its conflict of law
|
||||||
|
principles. Any disputes shall be resolved in the courts of Omaha, Nebraska.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.legalSection}>
|
||||||
|
<h2>8. Changes to These Terms</h2>
|
||||||
|
<p>
|
||||||
|
We reserve the right to modify these Terms at any time. Changes will be reflected by
|
||||||
|
updating the “Last updated” date above. Your continued use of the Site after
|
||||||
|
any changes constitutes acceptance of the revised Terms.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.legalSection}>
|
||||||
|
<h2>9. Contact Us</h2>
|
||||||
|
<p>
|
||||||
|
Mathison Projects Inc.<br />
|
||||||
|
Omaha, Nebraska, USA<br />
|
||||||
|
Email:{" "}
|
||||||
|
<a href="mailto:hello@bonelordbob.com">hello@bonelordbob.com</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer className={styles.footer}>
|
||||||
|
<span className={styles.footerLogo}>Bone Lord <span>Bob</span></span>
|
||||||
|
<div className={styles.footerLinks}>
|
||||||
|
<Link href="/privacy">Privacy Policy</Link>
|
||||||
|
<Link href="/terms">Terms & Conditions</Link>
|
||||||
|
</div>
|
||||||
|
<span className={styles.footerNote}>
|
||||||
|
© {new Date().getFullYear()} Mathison Projects Inc. All rights reserved.
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
}
|
||||||
@@ -410,10 +410,109 @@
|
|||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ── Social buttons ──────────────────────────────────────────────────────── */
|
||||||
|
.socialGrid {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 0.75rem;
|
||||||
|
justify-content: center;
|
||||||
|
margin-top: 1.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.socialBtn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
padding: 0.65rem 1.25rem;
|
||||||
|
background: var(--dark-card);
|
||||||
|
color: var(--bone-dim);
|
||||||
|
border: 1px solid var(--border);
|
||||||
|
font-size: 0.8rem;
|
||||||
|
letter-spacing: 0.08em;
|
||||||
|
text-transform: uppercase;
|
||||||
|
transition: border-color 0.2s, color 0.2s, background 0.2s;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.socialBtn:hover {
|
||||||
|
border-color: var(--red);
|
||||||
|
color: var(--bone);
|
||||||
|
background: rgba(192, 57, 43, 0.08);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Footer links ────────────────────────────────────────────────────────── */
|
||||||
|
.footerLinks {
|
||||||
|
display: flex;
|
||||||
|
gap: 1.5rem;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
color: var(--bone-dim);
|
||||||
|
opacity: 0.7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footerLinks a:hover {
|
||||||
|
opacity: 1;
|
||||||
|
color: var(--bone);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ── Legal pages (privacy / terms) ──────────────────────────────────────── */
|
||||||
|
.legal {
|
||||||
|
max-width: 820px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 8rem 2.5rem 6rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.legalTitle {
|
||||||
|
font-family: var(--font-display);
|
||||||
|
font-size: clamp(1.8rem, 3.5vw, 2.8rem);
|
||||||
|
color: var(--bone);
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.legalUpdated {
|
||||||
|
font-size: 0.75rem;
|
||||||
|
color: var(--bone-dim);
|
||||||
|
opacity: 0.5;
|
||||||
|
margin-bottom: 3rem;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.legalSection {
|
||||||
|
margin-bottom: 2.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.legalSection h2 {
|
||||||
|
font-family: var(--font-display);
|
||||||
|
font-size: 1.15rem;
|
||||||
|
color: var(--bone);
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
padding-bottom: 0.4rem;
|
||||||
|
border-bottom: 1px solid var(--border);
|
||||||
|
}
|
||||||
|
|
||||||
|
.legalSection p,
|
||||||
|
.legalSection li {
|
||||||
|
font-size: 0.9rem;
|
||||||
|
color: var(--bone-dim);
|
||||||
|
line-height: 1.8;
|
||||||
|
margin-bottom: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.legalSection ul {
|
||||||
|
padding-left: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.legalSection a {
|
||||||
|
color: var(--red);
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
/* ── Responsive ──────────────────────────────────────────────────────────── */
|
/* ── Responsive ──────────────────────────────────────────────────────────── */
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.nav { padding: 1rem 1.25rem; }
|
.nav { padding: 1rem 1.25rem; }
|
||||||
.navLinks { display: none; }
|
.navLinks { display: none; }
|
||||||
.about { grid-template-columns: 1fr; gap: 2.5rem; }
|
.about { grid-template-columns: 1fr; gap: 2.5rem; }
|
||||||
.footer { flex-direction: column; text-align: center; }
|
.footer { flex-direction: column; text-align: center; }
|
||||||
|
.footerLinks { justify-content: center; }
|
||||||
|
.socialGrid { gap: 0.5rem; }
|
||||||
|
.legal { padding: 6rem 1.25rem 4rem; }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user