From dd0b131b43dd0304cee1d6bc8bc7229e81611240 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 23 Dec 2025 20:12:21 +0000
Subject: [PATCH] =legacy rebrand finished
---
assets/fonts/open-sans-v44-latin-300italic.ttf | 0
assets/fonts/josefin-sans-v34-latin-700.ttf | 0
assets/fonts/open-sans-v44-latin-300.ttf | 0
functions.php | 2
assets/fonts/josefin-sans-v34-latin-700.woff2 | 0
assets/fonts/open-sans-v44-latin-500italic.woff2 | 0
assets/fonts/open-sans-v44-latin-800italic.ttf | 0
style.css | 14
assets/fonts/open-sans-v44-latin-300italic.woff2 | 0
assets/fonts/open-sans-v44-latin-800.woff2 | 0
assets/fonts/josefin-sans-v34-latin-300.woff2 | 0
assets/fonts/open-sans-v44-latin-500italic.ttf | 0
assets/fonts/open-sans-v44-latin-800italic.woff2 | 0
source.css | 596 +++++++++++++++++++++++++++++++++++++++++++++
assets/fonts/josefin-sans-v34-latin-700italic.ttf | 0
assets/fonts/josefin-sans-v34-latin-700italic.woff2 | 0
theme.json | 97 +++++++
assets/fonts/open-sans-v44-latin-500.woff2 | 0
assets/fonts/josefin-sans-v34-latin-300.ttf | 0
assets/fonts/josefin-sans-v34-latin-300italic.woff2 | 0
assets/fonts/open-sans-v44-latin-800.ttf | 0
assets/fonts/josefin-sans-v34-latin-300italic.ttf | 0
assets/fonts/open-sans-v44-latin-500.ttf | 0
assets/fonts/open-sans-v44-latin-300.woff2 | 0
templates/front_page.html | 33 ++
25 files changed, 734 insertions(+), 8 deletions(-)
diff --git a/assets/fonts/josefin-sans-v34-latin-300.ttf b/assets/fonts/josefin-sans-v34-latin-300.ttf
new file mode 100644
index 0000000..c06bbba
--- /dev/null
+++ b/assets/fonts/josefin-sans-v34-latin-300.ttf
Binary files differ
diff --git a/assets/fonts/josefin-sans-v34-latin-300.woff2 b/assets/fonts/josefin-sans-v34-latin-300.woff2
new file mode 100644
index 0000000..f56ba75
--- /dev/null
+++ b/assets/fonts/josefin-sans-v34-latin-300.woff2
Binary files differ
diff --git a/assets/fonts/josefin-sans-v34-latin-300italic.ttf b/assets/fonts/josefin-sans-v34-latin-300italic.ttf
new file mode 100644
index 0000000..02067d6
--- /dev/null
+++ b/assets/fonts/josefin-sans-v34-latin-300italic.ttf
Binary files differ
diff --git a/assets/fonts/josefin-sans-v34-latin-300italic.woff2 b/assets/fonts/josefin-sans-v34-latin-300italic.woff2
new file mode 100644
index 0000000..d0b03f1
--- /dev/null
+++ b/assets/fonts/josefin-sans-v34-latin-300italic.woff2
Binary files differ
diff --git a/assets/fonts/josefin-sans-v34-latin-700.ttf b/assets/fonts/josefin-sans-v34-latin-700.ttf
new file mode 100644
index 0000000..1ce1b54
--- /dev/null
+++ b/assets/fonts/josefin-sans-v34-latin-700.ttf
Binary files differ
diff --git a/assets/fonts/josefin-sans-v34-latin-700.woff2 b/assets/fonts/josefin-sans-v34-latin-700.woff2
new file mode 100644
index 0000000..b1365d8
--- /dev/null
+++ b/assets/fonts/josefin-sans-v34-latin-700.woff2
Binary files differ
diff --git a/assets/fonts/josefin-sans-v34-latin-700italic.ttf b/assets/fonts/josefin-sans-v34-latin-700italic.ttf
new file mode 100644
index 0000000..d45760e
--- /dev/null
+++ b/assets/fonts/josefin-sans-v34-latin-700italic.ttf
Binary files differ
diff --git a/assets/fonts/josefin-sans-v34-latin-700italic.woff2 b/assets/fonts/josefin-sans-v34-latin-700italic.woff2
new file mode 100644
index 0000000..8cf77a1
--- /dev/null
+++ b/assets/fonts/josefin-sans-v34-latin-700italic.woff2
Binary files differ
diff --git a/assets/fonts/open-sans-v44-latin-300.ttf b/assets/fonts/open-sans-v44-latin-300.ttf
new file mode 100644
index 0000000..8c063b5
--- /dev/null
+++ b/assets/fonts/open-sans-v44-latin-300.ttf
Binary files differ
diff --git a/assets/fonts/open-sans-v44-latin-300.woff2 b/assets/fonts/open-sans-v44-latin-300.woff2
new file mode 100644
index 0000000..d6c8549
--- /dev/null
+++ b/assets/fonts/open-sans-v44-latin-300.woff2
Binary files differ
diff --git a/assets/fonts/open-sans-v44-latin-300italic.ttf b/assets/fonts/open-sans-v44-latin-300italic.ttf
new file mode 100644
index 0000000..f0b30b2
--- /dev/null
+++ b/assets/fonts/open-sans-v44-latin-300italic.ttf
Binary files differ
diff --git a/assets/fonts/open-sans-v44-latin-300italic.woff2 b/assets/fonts/open-sans-v44-latin-300italic.woff2
new file mode 100644
index 0000000..02dce9c
--- /dev/null
+++ b/assets/fonts/open-sans-v44-latin-300italic.woff2
Binary files differ
diff --git a/assets/fonts/open-sans-v44-latin-500.ttf b/assets/fonts/open-sans-v44-latin-500.ttf
new file mode 100644
index 0000000..d181698
--- /dev/null
+++ b/assets/fonts/open-sans-v44-latin-500.ttf
Binary files differ
diff --git a/assets/fonts/open-sans-v44-latin-500.woff2 b/assets/fonts/open-sans-v44-latin-500.woff2
new file mode 100644
index 0000000..0cf0f4d
--- /dev/null
+++ b/assets/fonts/open-sans-v44-latin-500.woff2
Binary files differ
diff --git a/assets/fonts/open-sans-v44-latin-500italic.ttf b/assets/fonts/open-sans-v44-latin-500italic.ttf
new file mode 100644
index 0000000..22d5012
--- /dev/null
+++ b/assets/fonts/open-sans-v44-latin-500italic.ttf
Binary files differ
diff --git a/assets/fonts/open-sans-v44-latin-500italic.woff2 b/assets/fonts/open-sans-v44-latin-500italic.woff2
new file mode 100644
index 0000000..09c1787
--- /dev/null
+++ b/assets/fonts/open-sans-v44-latin-500italic.woff2
Binary files differ
diff --git a/assets/fonts/open-sans-v44-latin-800.ttf b/assets/fonts/open-sans-v44-latin-800.ttf
new file mode 100644
index 0000000..57ba141
--- /dev/null
+++ b/assets/fonts/open-sans-v44-latin-800.ttf
Binary files differ
diff --git a/assets/fonts/open-sans-v44-latin-800.woff2 b/assets/fonts/open-sans-v44-latin-800.woff2
new file mode 100644
index 0000000..a9240cb
--- /dev/null
+++ b/assets/fonts/open-sans-v44-latin-800.woff2
Binary files differ
diff --git a/assets/fonts/open-sans-v44-latin-800italic.ttf b/assets/fonts/open-sans-v44-latin-800italic.ttf
new file mode 100644
index 0000000..7354f0c
--- /dev/null
+++ b/assets/fonts/open-sans-v44-latin-800italic.ttf
Binary files differ
diff --git a/assets/fonts/open-sans-v44-latin-800italic.woff2 b/assets/fonts/open-sans-v44-latin-800italic.woff2
new file mode 100644
index 0000000..1a88efe
--- /dev/null
+++ b/assets/fonts/open-sans-v44-latin-800italic.woff2
Binary files differ
diff --git a/functions.php b/functions.php
index 1163a3b..0b24e90 100644
--- a/functions.php
+++ b/functions.php
@@ -15,7 +15,7 @@
function legacy_parent_theme_enqueue_styles() {
wp_enqueue_style( 'jvb-theme-style', get_template_directory_uri() . '/style.css', array(), '0.1.0' );
wp_enqueue_style(
- 'legacy-style',
+ 'jvb-child-style',
get_stylesheet_directory_uri() . '/style.css',
array( 'jvb-theme-style' ),
'0.1.0'
diff --git a/source.css b/source.css
new file mode 100644
index 0000000..36d9dd9
--- /dev/null
+++ b/source.css
@@ -0,0 +1,596 @@
+/*!
+Theme Name: Legacy
+Theme URI: https://legacytattooremoval.ca
+Description: Theme for Legacy Tattoo Removal
+Author: Jake
+Author URI: https://jakevan.ca
+Template: jvb-theme
+Version: 1.0.1
+*/
+:root{
+ --filter: grayscale(.3) sepia(.4);
+
+ /** Download your Fonts from: https://gwfh.mranftl.com/ **/
+ --font-base: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
+ --heading: 'Josefin Sans', var(--font-base);
+ --body: 'Open Sans', var(--font-base);
+ --fw-h: 300;
+ --fw-h-light: 300;
+ --fw-h-bold: 700;
+ --fw-b: 500;
+ --fw-b-bold: 800;
+ --fw-b-light: 300;
+
+ /* Colours
+ For best results, generate colours from base colours using: https://uicolors.app/generate/
+ or sass darken/lighten by 5%: http://scg.ar-ch.org/
+ */
+ --light-0: #efefef;
+ --light-50: #e2e2e2;
+ --light-100: #d5d5d5;
+ --light-200: #c9c9c9;
+ --light-rgb: 239,239,239;
+
+ --dark-0: #151515;
+ --dark-50: #222222;
+ --dark-100: #2e2e2e;
+ --dark-200: #3b3b3b;
+ --dark-rgb: 21,21,21;
+
+ --action-0: #ff0080;
+ --action-50: #ff2492;
+ --action-100: #ff47a4;
+ --action-200: #ff6bb5;
+ --action-rgb: 255,0,128;
+ --action-contrast: var(--light-0);
+
+ --secondary-0: #D69121;
+ --secondary-50: #ffc421;
+ --secondary-100: #ffcd44;
+ --secondary-200: #ffd768;
+ --secondary-rgb: 252,185,0;
+ --secondary-contrast: var(--light-0);
+
+ --success: #20D64E;
+ --successLight: #DBFAE3;
+ --successDark: #05230D;
+ --successBack: var(--successLight);
+ --successText: var(--successDark);
+ --warning: #D69121;
+ --warningLight: #F6E5CB;
+ --warningDark: #231806;
+ --warningBack: var(--warningLight);
+ --warningText: var(--warningDark);
+ --error: #CF1616;
+ --errorLight: #F9C8C8;
+ --errorDark: #4A0808;
+ --errorBack: var(--errorLight);
+ --errorText: var(--errorDark);
+
+ --base: var(--light-0);
+ --base-50: var(--light-50);
+ --base-100: var(--light-100);
+ --base-200: var(--light-200);
+ --base-rgb: var(--light-rgb);
+
+ --contrast: var(--dark-0);
+ --contrast-50: var(--dark-50);
+ --contrast-100: var(--dark-100);
+ --contrast-200: var(--dark-200);
+ --contrast-rgb: var(--dark-rgb);
+}
+
+body:has(#theme-switcher:checked){
+ --action-50: #db006e;
+ --action-100: #b8005c;
+ --action-200: #94004a;
+ --secondary-50: #d89f00;
+ --secondary-100: #b58500;
+ --secondary-200: #916a00;
+
+ --contrast: var(--light-0);
+ --contrast-50: var(--light-50);
+ --contrast-100: var(--light-100);
+ --contrast-200: var(--light-200);
+ --contrast-rgb: var(--light-rgb);
+
+ --base: var(--dark-0);
+ --base-50: var(--dark-50);
+ --base-100: var(--dark-100);
+ --base-200: var(--dark-200);
+ --base-rgb: var(--dark-rgb);
+
+ --successBack: var(--successDark);
+ --successText: var(--successLight);
+ --warningBack: var(--warningDark);
+ --warningText: var(--warningLight);
+ --errorBack: var(--errorDark);
+ --errorText: var(--errorLight);
+}
+/*** FONT START **/
+/* open-sans-300 - latin */
+@font-face {
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 300;
+ src: url('./assets/fonts/open-sans-v44-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ url('./assets/fonts/open-sans-v44-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
+}
+/* open-sans-300italic - latin */
+@font-face {
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 300;
+ src: url('./assets/fonts/open-sans-v44-latin-300italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ url('./assets/fonts/open-sans-v44-latin-300italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
+}
+/* open-sans-500 - latin */
+@font-face {
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 500;
+ src: url('./assets/fonts/open-sans-v44-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ url('./assets/fonts/open-sans-v44-latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
+}
+/* open-sans-500italic - latin */
+@font-face {
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 500;
+ src: url('./assets/fonts/open-sans-v44-latin-500italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ url('./assets/fonts/open-sans-v44-latin-500italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
+}
+/* open-sans-800 - latin */
+@font-face {
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+ font-family: 'Open Sans';
+ font-style: normal;
+ font-weight: 800;
+ src: url('./assets/fonts/open-sans-v44-latin-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ url('./assets/fonts/open-sans-v44-latin-800.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
+}
+/* open-sans-800italic - latin */
+@font-face {
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+ font-family: 'Open Sans';
+ font-style: italic;
+ font-weight: 800;
+ src: url('./assets/fonts/open-sans-v44-latin-800italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ url('./assets/fonts/open-sans-v44-latin-800italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
+}
+
+/* josefin-sans-300 - latin */
+@font-face {
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+ font-family: 'Josefin Sans';
+ font-style: normal;
+ font-weight: 300;
+ src: url('./assets/fonts/josefin-sans-v34-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ url('./assets/fonts/josefin-sans-v34-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
+}
+/* josefin-sans-300italic - latin */
+@font-face {
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+ font-family: 'Josefin Sans';
+ font-style: italic;
+ font-weight: 300;
+ src: url('./assets/fonts/josefin-sans-v34-latin-300italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ url('./assets/fonts/josefin-sans-v34-latin-300italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
+}
+/* josefin-sans-700 - latin */
+@font-face {
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+ font-family: 'Josefin Sans';
+ font-style: normal;
+ font-weight: 700;
+ src: url('./assets/fonts/josefin-sans-v34-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ url('./assets/fonts/josefin-sans-v34-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
+}
+/* josefin-sans-700italic - latin */
+@font-face {
+ font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+ font-family: 'Josefin Sans';
+ font-style: italic;
+ font-weight: 700;
+ src: url('./assets/fonts/josefin-sans-v34-latin-700italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
+ url('./assets/fonts/josefin-sans-v34-latin-700italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
+}
+.home .video-cover.video-cover {
+ margin-top: 0;
+}
+/*** FONT END ***/
+.wp-site-blocks > header {
+ justify-content: center!important;
+}
+.scroll-progress .bar {
+ background:
+ linear-gradient(90deg,
+ rgba(var(--action-rgb),.8) 0%,
+ rgba(var(--action-rgb),1) 40%,
+ rgba(var(--action-rgb),.8) 100%);
+ position: relative;
+
+ box-shadow:
+ 0 0 4px rgba(var(--action-rgb),.9),
+ 0 0 8px rgba(var(--action-rgb),.7),
+ 0 0 16px rgba(var(--action-rgb),.4);
+}
+#theme-switch#theme-switch {
+ position: absolute;
+ left: 1rem;
+}
+
+.fixed.bottom .call {
+ width: var(--btn);
+ flex: 0 1 var(--btn_);
+}
+
+.fixed.bottom li a {
+ gap: 1rem;
+}
+
+nav.always.always a {
+ text-transform: none;
+}
+
+.pre-header {
+ font-family: var(--heading);
+}
+
+.eltrs {
+ min-height: 40vh;
+ width: 100vw;
+ background-color: var(--action-0);
+ --justify: center;
+ --align: center;
+}
+.eltrs h2 {
+ font-family: var(--body);
+ font-weight: var(--fw-h-bold);
+ color: var(--action-contrast);
+ text-align: center;
+ margin: 0;
+ font-size: var(--txt-large);
+}
+.eltrs span:nth-of-type(1) {
+ font-size: 2.25em;
+ letter-spacing: -.15rem;
+}
+.eltrs span:nth-of-type(2) {
+ line-height: .8;
+}
+.eltrs span:nth-of-type(3) {
+ font-size: 2.2em;
+ letter-spacing: -.1rem;
+}
+.eltrs span {
+ display: block;
+ line-height: .9;
+}
+
+@media (min-width:768px) {
+ .eltrs h2 {
+ font-size: var(--txt-xx-large);
+ }
+ .eltrs span:nth-of-type(1) {
+ font-size: 2.25em;
+ letter-spacing: -.35rem;
+ }
+ .eltrs span:nth-of-type(2) {
+ line-height: .8;
+ }
+ .eltrs span:nth-of-type(3) {
+ font-size: 2.35em;
+ letter-spacing: -.25rem;
+ }
+}
+
+ol.blocky.blocky {
+ list-style: none;
+ counter-reset: blocky;
+ padding: 1rem;
+ max-width: none;
+}
+@media (min-width: 768px) {
+ padding: 1rem var(--btn);
+}
+
+ol.blocky li {
+ counter-increment: blocky;
+ --width: 20vw;
+ --gap: 25vw;
+ min-height: var(--width);
+ margin: 4rem auto;
+ display: flex;
+ flex-direction: column;
+ position: relative;
+ padding-left: var(--gap);
+}
+
+ol.blocky li:nth-of-type(odd)::before,
+ol.blocky li:nth-of-type(even)::after {
+ content: counter(blocky);
+ font-weight: 900;
+ font-size: var(--txt-xxx-large);
+ height: var(--width);
+ width: var(--width);
+ /*border: 1rem solid var(--base-200);*/
+ background-color: var(--action-0);
+ color: var(--action-contrast);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ position: absolute;
+ top: 0;
+ left: 0;
+ border-radius: 50% 4px 50% 4px;
+ border: 4px solid var(--action-200);
+ border-left: 0;
+ border-top: 0;
+ box-shadow: rgba(var(--base-rgb),var(--op-45)) var(--shdw);
+}
+
+@media (min-width: 768px) {
+ ol.blocky li {
+ position: relative;
+ display: block;
+ padding: 1rem;
+ }
+
+ ol.blocky li:nth-of-type(odd) {
+ padding-left: var(--gap);
+ }
+ ol.blocky li:nth-of-type(even) {
+ padding-right: var(--gap);
+ }
+
+ ol.blocky li:nth-of-type(odd)::before,
+ ol.blocky li:nth-of-type(even)::after {
+ margin-bottom: 0;
+ width: var(--width);
+ position: absolute;
+ top: 0;
+ left: unset;
+ border-radius: 0;
+ border-width: .5rem;
+ }
+
+ ol.blocky li:nth-of-type(odd)::before {
+ left: 0;
+ }
+ ol.blocky li:nth-of-type(even)::after {
+ right: 0;
+ }
+}
+/*main > section > * {*/
+/* width: 100%;*/
+/*}*/
+main > section:nth-of-type(even) {
+ background-color: var(--base-100);
+ max-width: 100vw;
+ padding: 3rem 0;
+}
+main > section:nth-of-type(even) > * {
+ max-width: var(--content);
+ margin-left: auto;
+ margin-right: auto;
+}
+main > section.callout:last-of-type {
+ margin-bottom: 0;
+}
+
+section.pre-footer {
+ min-height: 25vh;
+ background-color: var(--secondary-0);
+ color: var(--secondary-contrast);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ padding: 0 2rem;
+ flex-direction: column;
+ gap: 0;
+}
+.pre-footer p {
+ margin: 0;
+ text-align: center;
+}
+.pre-footer ~ footer {
+ margin-top: 0;
+}
+.pre-footer a {
+ background-color: var(--secondary-contrast);
+ padding: 0 .125rem;
+ border-radius: 4px;
+}
+
+
+
+.triangle {
+ padding: 2rem 2rem 0;
+ --justify: flex-end;
+ position: relative;
+ background-color: var(--action-0);
+ color: var(--action-contrast);
+}
+.excerpt::after,
+.triangle::after {
+ content: '';
+ position: absolute;
+ top: 100%;
+ width: 0;
+ height: 0;
+ border-left: 32px solid transparent;
+ border-right: 32px solid transparent;
+ border-top: 32px solid var(--action-0);
+ clear: both;
+}
+.excerpt::after {
+ left: -1rem;
+}
+.triangle::after {
+ right: 2rem;
+}
+.triangle.left::after {
+ right: unset;
+ left: 2rem;
+}
+.triangle h1 {
+ padding-right: 1rem;
+ max-width: var(--wide);
+ width: max-content;
+ word-wrap: break-word;
+}
+
+.excerpt {
+ position: relative;
+ margin-right: 1rem;
+ padding: 1rem 15vw 1rem 0;
+ border-bottom: 4px solid var(--action-0);
+ margin-bottom: 6rem;
+ grid-column: full;
+ max-width: var(--narrow);
+ margin-left: auto;
+}
+.tldr {
+ font-weight: var(--fw-b-bold);
+ font-size: var(--txt-large);
+ display: inline-block;
+ vertical-align: bottom;
+ line-height: 1.4;
+ /*margin-right: .75rem;*/
+ color: var(--action-0);
+ position: relative;
+ left: -2rem;
+ cursor: pointer;
+}
+.align-full.triangle:has(+.contact) {
+ margin-bottom: 0;
+ z-index: 1;
+}
+section.contact.contact {
+ gap: 1.5rem;
+ margin-top: -.5rem;
+ padding-bottom: 2rem;
+ background-color: var(--base-100);
+ color: var(--contrast-200);
+ max-width: none;
+}
+@media (min-width: 768px) {
+ section.contact.contact {
+ padding: 2rem 15vw;
+ }
+}
+section.contact .buttons li a,
+section.contact .socials a {
+ background-color: var(--base-50);
+}
+section.contact .buttons li a:hover,
+section.contact .buttons li a:focus,
+section.contact .socials a:hover,
+section.contact .socials a:focus {
+ background-color: var(--action-0);
+}
+section.contact.triangle::after {
+ border-top-color: var(--base-100);
+}
+section.contact h2 {
+ margin: 2rem 0 0;
+ display: flex;
+ font-weight: var(--fw-h-bold);
+ text-transform: uppercase;
+ white-space: nowrap;
+ width: 100%;
+ line-height: 1;
+ gap: 1rem;
+ align-items: center;
+}
+section.contact h2::after {
+ content: '';
+ height: 2px;
+ background-color: var(--contrast-200);
+ border-radius: 4px;
+ width: 100%;
+ position:relative;
+ top: -.25rem;
+}
+
+section.contact p {
+ margin: 0;
+ line-height: 1;
+ user-select: all;
+}
+section.contact .buttons {
+ margin: 0;
+ --height: fit-content;
+}
+section.contact > .col {
+ width: 50%;
+}
+.pricing p {
+ margin:0;
+}
+.pricing h3 {
+ margin: 4rem 0 0 0;
+}
+.pricing > .group {
+ --wrap: wrap;
+}
+@media (min-width: 768px) {
+ .pricing > .group {
+ --wrap: nowrap;
+ }
+ .pricing > .group > .col {
+ width: 50%;
+ }
+}
+
+span.logo .icon-logo-triangle {
+ background-color: var(--action-0);
+ --w:4rem;
+}
+span.logo .icon-logo-text-only {
+ --w: 8rem;
+}
+a .icon-logo-text-only {
+ background-color: var(--contrast);
+}
+a:hover .icon-logo-text-only {
+ background-color: var(--action-0);
+}
+span.logo:hover .icon-logo-triangle {
+
+}
+
+.loop {
+ max-width: var(--full);
+ overflow-x: auto;
+ padding: 1rem 0;
+ touch-action: pan-x pan-y;
+}
+
+.loop .item-grid.item-grid {
+ display: flex;
+ flex-wrap: nowrap;
+ width: max-content;
+ position: relative;
+}
+.loop .item-grid.item-grid figure {
+ margin: 0;
+}
+.loop .item-grid .item:nth-of-type(odd) figure {
+ top: -1rem;
+}
+
+.loop .item-grid .item.item {
+ width: 50vw;
+}
+
+@media (min-width: 768px){
+ .loop .item-grid .item.item {
+ width: 25vw;
+ }
+}
diff --git a/style.css b/style.css
index d66ce27..874950c 100644
--- a/style.css
+++ b/style.css
@@ -1,9 +1,9 @@
-/*
+/*!
Theme Name: Legacy
-Theme URI:
-Description: Jvb-theme child theme.
-Author: Me
-Author URI:
+Theme URI: https://legacytattooremoval.ca
+Description: Theme for Legacy Tattoo Removal
+Author: Jake
+Author URI: https://jakevan.ca
Template: jvb-theme
-Version: 0.1.0
-*/
+Version: 1.0.1
+*/:root{--filter:grayscale(.3) sepia(.4);--font-base:-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Cantarell,Ubuntu,roboto,noto,arial,sans-serif;--heading:'Josefin Sans',var(--font-base);--body:'Open Sans',var(--font-base);--fw-h:300;--fw-h-light:300;--fw-h-bold:700;--fw-b:500;--fw-b-bold:800;--fw-b-light:300;--light-0:#efefef;--light-50:#e2e2e2;--light-100:#d5d5d5;--light-200:#c9c9c9;--light-rgb:239,239,239;--dark-0:#151515;--dark-50:#222222;--dark-100:#2e2e2e;--dark-200:#3b3b3b;--dark-rgb:21,21,21;--action-0:#ff0080;--action-50:#ff2492;--action-100:#ff47a4;--action-200:#ff6bb5;--action-rgb:255,0,128;--action-contrast:var(--light-0);--secondary-0:#D69121;--secondary-50:#ffc421;--secondary-100:#ffcd44;--secondary-200:#ffd768;--secondary-rgb:252,185,0;--secondary-contrast:var(--light-0);--success:#20D64E;--successLight:#DBFAE3;--successDark:#05230D;--successBack:var(--successLight);--successText:var(--successDark);--warning:#D69121;--warningLight:#F6E5CB;--warningDark:#231806;--warningBack:var(--warningLight);--warningText:var(--warningDark);--error:#CF1616;--errorLight:#F9C8C8;--errorDark:#4A0808;--errorBack:var(--errorLight);--errorText:var(--errorDark);--base:var(--light-0);--base-50:var(--light-50);--base-100:var(--light-100);--base-200:var(--light-200);--base-rgb:var(--light-rgb);--contrast:var(--dark-0);--contrast-50:var(--dark-50);--contrast-100:var(--dark-100);--contrast-200:var(--dark-200);--contrast-rgb:var(--dark-rgb)}body:has(#theme-switcher:checked){--action-50:#db006e;--action-100:#b8005c;--action-200:#94004a;--secondary-50:#d89f00;--secondary-100:#b58500;--secondary-200:#916a00;--contrast:var(--light-0);--contrast-50:var(--light-50);--contrast-100:var(--light-100);--contrast-200:var(--light-200);--contrast-rgb:var(--light-rgb);--base:var(--dark-0);--base-50:var(--dark-50);--base-100:var(--dark-100);--base-200:var(--dark-200);--base-rgb:var(--dark-rgb);--successBack:var(--successDark);--successText:var(--successLight);--warningBack:var(--warningDark);--warningText:var(--warningLight);--errorBack:var(--errorDark);--errorText:var(--errorLight)}@font-face{font-display:swap;font-family:'Open Sans';font-style:normal;font-weight:300;src:url(assets/fonts/open-sans-v44-latin-300.woff2) format('woff2'),url(assets/fonts/open-sans-v44-latin-300.ttf) format('truetype')}@font-face{font-display:swap;font-family:'Open Sans';font-style:italic;font-weight:300;src:url(assets/fonts/open-sans-v44-latin-300italic.woff2) format('woff2'),url(assets/fonts/open-sans-v44-latin-300italic.ttf) format('truetype')}@font-face{font-display:swap;font-family:'Open Sans';font-style:normal;font-weight:500;src:url(assets/fonts/open-sans-v44-latin-500.woff2) format('woff2'),url(assets/fonts/open-sans-v44-latin-500.ttf) format('truetype')}@font-face{font-display:swap;font-family:'Open Sans';font-style:italic;font-weight:500;src:url(assets/fonts/open-sans-v44-latin-500italic.woff2) format('woff2'),url(assets/fonts/open-sans-v44-latin-500italic.ttf) format('truetype')}@font-face{font-display:swap;font-family:'Open Sans';font-style:normal;font-weight:800;src:url(assets/fonts/open-sans-v44-latin-800.woff2) format('woff2'),url(assets/fonts/open-sans-v44-latin-800.ttf) format('truetype')}@font-face{font-display:swap;font-family:'Open Sans';font-style:italic;font-weight:800;src:url(assets/fonts/open-sans-v44-latin-800italic.woff2) format('woff2'),url(assets/fonts/open-sans-v44-latin-800italic.ttf) format('truetype')}@font-face{font-display:swap;font-family:'Josefin Sans';font-style:normal;font-weight:300;src:url(assets/fonts/josefin-sans-v34-latin-300.woff2) format('woff2'),url(assets/fonts/josefin-sans-v34-latin-300.ttf) format('truetype')}@font-face{font-display:swap;font-family:'Josefin Sans';font-style:italic;font-weight:300;src:url(assets/fonts/josefin-sans-v34-latin-300italic.woff2) format('woff2'),url(assets/fonts/josefin-sans-v34-latin-300italic.ttf) format('truetype')}@font-face{font-display:swap;font-family:'Josefin Sans';font-style:normal;font-weight:700;src:url(assets/fonts/josefin-sans-v34-latin-700.woff2) format('woff2'),url(assets/fonts/josefin-sans-v34-latin-700.ttf) format('truetype')}@font-face{font-display:swap;font-family:'Josefin Sans';font-style:italic;font-weight:700;src:url(assets/fonts/josefin-sans-v34-latin-700italic.woff2) format('woff2'),url(assets/fonts/josefin-sans-v34-latin-700italic.ttf) format('truetype')}.home .video-cover.video-cover{margin-top:0}.wp-site-blocks>header{justify-content:center!important}.scroll-progress .bar{background:linear-gradient(90deg,rgba(var(--action-rgb),.8) 0,rgba(var(--action-rgb),1) 40%,rgba(var(--action-rgb),.8) 100%);position:relative;box-shadow:0 0 4px rgba(var(--action-rgb),.9),0 0 8px rgba(var(--action-rgb),.7),0 0 16px rgba(var(--action-rgb),.4)}#theme-switch#theme-switch{position:absolute;left:1rem}.fixed.bottom .call{width:var(--btn);flex:0 1 var(--btn_)}.fixed.bottom li a{gap:1rem}nav.always.always a{text-transform:none}.pre-header{font-family:var(--heading)}.eltrs{min-height:40vh;width:100vw;background-color:var(--action-0);--justify:center;--align:center}.eltrs h2{font-family:var(--body);font-weight:var(--fw-h-bold);color:var(--action-contrast);text-align:center;margin:0;font-size:var(--txt-large)}.eltrs span:nth-of-type(1){font-size:2.25em;letter-spacing:-.15rem}.eltrs span:nth-of-type(2){line-height:.8}.eltrs span:nth-of-type(3){font-size:2.2em;letter-spacing:-.1rem}.eltrs span{display:block;line-height:.9}@media (min-width:768px){.eltrs h2{font-size:var(--txt-xx-large)}.eltrs span:nth-of-type(1){font-size:2.25em;letter-spacing:-.35rem}.eltrs span:nth-of-type(2){line-height:.8}.eltrs span:nth-of-type(3){font-size:2.35em;letter-spacing:-.25rem}}ol.blocky.blocky{list-style:none;counter-reset:blocky;padding:1rem;max-width:none}ol.blocky li{counter-increment:blocky;--width:20vw;--gap:25vw;min-height:var(--width);margin:4rem auto;display:flex;flex-direction:column;position:relative;padding-left:var(--gap)}ol.blocky li:nth-of-type(even)::after,ol.blocky li:nth-of-type(odd)::before{content:counter(blocky);font-weight:900;font-size:var(--txt-xxx-large);height:var(--width);width:var(--width);background-color:var(--action-0);color:var(--action-contrast);display:flex;justify-content:center;align-items:center;position:absolute;top:0;left:0;border-radius:50% 4px 50% 4px;border:4px solid var(--action-200);border-left:0;border-top:0;box-shadow:rgba(var(--base-rgb),var(--op-45)) var(--shdw)}@media (min-width:768px){ol.blocky li{position:relative;display:block;padding:1rem}ol.blocky li:nth-of-type(odd){padding-left:var(--gap)}ol.blocky li:nth-of-type(even){padding-right:var(--gap)}ol.blocky li:nth-of-type(even)::after,ol.blocky li:nth-of-type(odd)::before{margin-bottom:0;width:var(--width);position:absolute;top:0;left:unset;border-radius:0;border-width:.5rem}ol.blocky li:nth-of-type(odd)::before{left:0}ol.blocky li:nth-of-type(even)::after{right:0}}main>section:nth-of-type(even){background-color:var(--base-100);max-width:100vw;padding:3rem 0}main>section:nth-of-type(even)>*{max-width:var(--content);margin-left:auto;margin-right:auto}main>section.callout:last-of-type{margin-bottom:0}section.pre-footer{min-height:25vh;background-color:var(--secondary-0);color:var(--secondary-contrast);display:flex;justify-content:center;align-items:center;padding:0 2rem;flex-direction:column;gap:0}.pre-footer p{margin:0;text-align:center}.pre-footer~footer{margin-top:0}.pre-footer a{background-color:var(--secondary-contrast);padding:0 .125rem;border-radius:4px}.triangle{padding:2rem 2rem 0;--justify:flex-end;position:relative;background-color:var(--action-0);color:var(--action-contrast)}.excerpt::after,.triangle::after{content:'';position:absolute;top:100%;width:0;height:0;border-left:32px solid transparent;border-right:32px solid transparent;border-top:32px solid var(--action-0);clear:both}.excerpt::after{left:-1rem}.triangle::after{right:2rem}.triangle.left::after{right:unset;left:2rem}.triangle h1{padding-right:1rem;max-width:var(--wide);width:max-content;word-wrap:break-word}.excerpt{position:relative;margin-right:1rem;padding:1rem 15vw 1rem 0;border-bottom:4px solid var(--action-0);margin-bottom:6rem;grid-column:full;max-width:var(--narrow);margin-left:auto}.tldr{font-weight:var(--fw-b-bold);font-size:var(--txt-large);display:inline-block;vertical-align:bottom;line-height:1.4;color:var(--action-0);position:relative;left:-2rem;cursor:pointer}.align-full.triangle:has(+.contact){margin-bottom:0;z-index:1}section.contact.contact{gap:1.5rem;margin-top:-.5rem;padding-bottom:2rem;background-color:var(--base-100);color:var(--contrast-200);max-width:none}@media (min-width:768px){section.contact.contact{padding:2rem 15vw}}section.contact .buttons li a,section.contact .socials a{background-color:var(--base-50)}section.contact .buttons li a:focus,section.contact .buttons li a:hover,section.contact .socials a:focus,section.contact .socials a:hover{background-color:var(--action-0)}section.contact.triangle::after{border-top-color:var(--base-100)}section.contact h2{margin:2rem 0 0;display:flex;font-weight:var(--fw-h-bold);text-transform:uppercase;white-space:nowrap;width:100%;line-height:1;gap:1rem;align-items:center}section.contact h2::after{content:'';height:2px;background-color:var(--contrast-200);border-radius:4px;width:100%;position:relative;top:-.25rem}section.contact p{margin:0;line-height:1;user-select:all}section.contact .buttons{margin:0;--height:fit-content}section.contact>.col{width:50%}.pricing p{margin:0}.pricing h3{margin:4rem 0 0 0}.pricing>.group{--wrap:wrap}@media (min-width:768px){.pricing>.group{--wrap:nowrap}.pricing>.group>.col{width:50%}}span.logo .icon-logo-triangle{background-color:var(--action-0);--w:4rem}span.logo .icon-logo-text-only{--w:8rem}a .icon-logo-text-only{background-color:var(--contrast)}a:hover .icon-logo-text-only{background-color:var(--action-0)}.loop{max-width:var(--full);overflow-x:auto;padding:1rem 0;touch-action:pan-x pan-y}.loop .item-grid.item-grid{display:flex;flex-wrap:nowrap;width:max-content;position:relative}.loop .item-grid.item-grid figure{margin:0}.loop .item-grid .item:nth-of-type(odd) figure{top:-1rem}.loop .item-grid .item.item{width:50vw}@media (min-width:768px){.loop .item-grid .item.item{width:25vw}}
\ No newline at end of file
diff --git a/templates/front_page.html b/templates/front_page.html
new file mode 100644
index 0000000..8d2dbc6
--- /dev/null
+++ b/templates/front_page.html
@@ -0,0 +1,33 @@
+<!-- wp:template-part {"slug":"header","theme":"jvb-theme"} /-->
+
+<!-- wp:jvb/video {"posterId":1921,"posterUrl":"http://legacyrebrand.test/wp-content/uploads/2024/03/splash.webp","videoSources":[{"id":2714,"url":"http://legacyrebrand.test/wp-content/uploads/2024/06/Best-Laser-Tattoo-Removal-Edmonton-480.mp4","mime":"video/mp4"}],"mobileSources":[{"id":2714,"url":"http://legacyrebrand.test/wp-content/uploads/2024/06/Best-Laser-Tattoo-Removal-Edmonton-480.mp4","mime":"video/mp4"}],"fadeEffect":true} -->
+<div class="wp-block-jvb-video video-cover-wrapper-placeholder"><!-- wp:media-text {"mediaId":3456,"mediaLink":"http://legacyrebrand.test/faded-kitsune-scott-rusnak/","mediaType":"image","isStackedOnMobile":false} -->
+ <div class="wp-block-media-text"><figure class="wp-block-media-text__media"><img src="http://legacyrebrand.test/wp-content/uploads/2025/10/Faded-Kitsune-Scott-Rusnak-1024x992.png" alt="" class="wp-image-3456 size-full"/></figure><div class="wp-block-media-text__content"><!-- wp:site-title /-->
+
+ <!-- wp:site-tagline /--></div></div>
+ <!-- /wp:media-text -->
+
+ <!-- wp:buttons {"layout":{"type":"flex","justifyContent":"center"}} -->
+ <div class="wp-block-buttons"><!-- wp:button {"width":50,"className":"is-style-outline"} -->
+ <div class="wp-block-button has-custom-width wp-block-button__width-50 is-style-outline"><a class="wp-block-button__link wp-element-button" href="http://legacyrebrand.test/get-an-estimate/">Get an Estimate</a></div>
+ <!-- /wp:button -->
+
+ <!-- wp:button {"width":50,"className":"is-style-outline"} -->
+ <div class="wp-block-button has-custom-width wp-block-button__width-50 is-style-outline"><a class="wp-block-button__link wp-element-button" href="https://legacytattooremoval.janeapp.com/#/staff_member/2/treatment/15">Free Consult</a></div>
+ <!-- /wp:button -->
+
+ <!-- wp:button {"width":50,"className":"is-style-outline"} -->
+ <div class="wp-block-button has-custom-width wp-block-button__width-50 is-style-outline"><a class="wp-block-button__link wp-element-button" href="http://legacyrebrand.test/category/before-and-after/">Before & After</a></div>
+ <!-- /wp:button -->
+
+ <!-- wp:button {"width":50,"className":"is-style-outline"} -->
+ <div class="wp-block-button has-custom-width wp-block-button__width-50 is-style-outline"><a class="wp-block-button__link wp-element-button" href="http://legacyrebrand.test/edmonton-tattoo-removal/">Location</a></div>
+ <!-- /wp:button --></div>
+ <!-- /wp:buttons --></div>
+<!-- /wp:jvb/video -->
+
+<!-- wp:group {"tagName":"main","layout":{"type":"constrained"}} -->
+<main class="wp-block-group"><!-- wp:post-content {"layout":{"type":"constrained"}} /--></main>
+<!-- /wp:group -->
+
+<!-- wp:template-part {"slug":"footer-copy","theme":"legacy","tagName":"jvb-theme"} /-->
diff --git a/theme.json b/theme.json
new file mode 100644
index 0000000..6932f34
--- /dev/null
+++ b/theme.json
@@ -0,0 +1,97 @@
+{
+ "$schema": "https://schemas.wp.org/trunk/theme.json",
+ "version":3,
+ "settings": {
+ "appearanceTools": true,
+ "layout": {
+ "contentSize": "768px",
+ "wideSize": "1100px"
+ },
+ "color": {
+ "defaultGradients": false,
+ "palette": [
+ {
+ "slug": "contrast",
+ "color": "#151515",
+ "name": "Darkest"
+ },
+ {
+ "slug": "contrast-50",
+ "color": "#222222",
+ "name": "Darker"
+ },
+ {
+ "slug": "contrast-100",
+ "color": "#2e2e2e",
+ "name": "Dark"
+ },
+ {
+ "slug": "contrast-200",
+ "color": "#3b3b3b",
+ "name": "Dark"
+ },
+ {
+ "slug": "base",
+ "color": "#efefef",
+ "name": "Lightest"
+ },
+ {
+ "slug": "base-50",
+ "color": "#e2e2e2",
+ "name": "Lighterer"
+ },
+ {
+ "slug": "base-100",
+ "color": "#d5d5d5",
+ "name": "Lighter"
+ },
+ {
+ "slug": "base-200",
+ "color": "#c9c9c9",
+ "name": "Light"
+ },
+ {
+ "slug": "action-0",
+ "color": "#ff0080",
+ "name": "Action"
+ },
+ {
+ "slug": "action-50",
+ "color": "#ff2492",
+ "name": "Action Light"
+ },
+ {
+ "slug": "action-100",
+ "color": "#ff47a4",
+ "name": "Action Lighter"
+ },
+ {
+ "slug": "action-200",
+ "color": "#ff6bb5",
+ "name": "Action Lightest"
+ },
+ {
+ "slug": "secondary-0",
+ "color": "#D69121",
+ "name": "Secondary"
+ },
+ {
+ "slug": "secondary-50",
+ "color": "#ffc421",
+ "name": "Secondary Light"
+ },
+ {
+ "slug": "secondary-100",
+ "color": "#ffcd44",
+ "name": "Secondary Lighter"
+ },
+ {
+ "slug": "secondary-200",
+ "color": "#ffd768",
+ "name": "Secondary Lightest"
+ }
+
+ ]
+ }
+ }
+}
--
Gitblit v1.10.0