commit a7d09c6850f977b683fdfaa79c50f92efe7cdd65 Author: makearmy Date: Sun Aug 24 09:51:18 2025 -0400 Initial import diff --git a/configs/index.json b/configs/index.json new file mode 100644 index 0000000..92e74f4 --- /dev/null +++ b/configs/index.json @@ -0,0 +1,103 @@ +{ + "brand": "LASER EVERYTHING", + "grid": { "gap": 12, "fit": "stretch" }, + "reveal": { "durationMs": 2600, "revertDelayMs": 700 }, + + "hint": { + "enabled": true, + "rows": 24, + "textCase": "upper", + "fontPx": 32, + "opacity": 0.02, + "angleDeg": -12, + "rowGapPx": 8, + "spacing": "\u00A0", + "planeScale": 3, + "offsetAmpPct": 35, + "featherPct": 0 + }, + + "tiles": [ + { + "title": "Training", + "href": "https://lasereverything.net/training", + "icon": "/icons/training.png", + "color": "#2563eb", + "size": 1, + "bgFit": "cover", + "bgPos": "center", + "description": "Get one on one training from our expert staff so you can end the cycle of frustration. Start having fun and MAKING with your equipment." + }, + { + "title": "Ethics", + "href": "https://lasereverything.net/ethics", + "icon": "/icons/ethics.png", + "color": "#d60202", + "size": 1, + "bgFit": "cover", + "bgPos": "center", + "description": "Our standards for safe, fair, and responsible making." + }, + { + "title": "Podcasting", + "href": "https://podcast.makearmy.io", + "icon": "/icons/castopod.png", + "image": "", + "color": "#7e02d6", + "size": "1x2", + "bgFit": "cover", + "bgPos": "center", + "description": "Long-form chats on lasers, materials, and maker culture." + }, + { + "title": "Buying Guide", + "href": "https://makearmy.io/buying-guide", + "icon": "/icons/bg.png", + "color": "#145221", + "size": 1, + "bgFit": "cover", + "bgPos": "center", + "description": "Curated picks with real-world testing and notes." + }, + { + "title": "Starter Settings Packs", + "href": "https://masters.lasereverything.net", + "icon": "/icons/lma.png", + "color": "#0600bd", + "size": "2x1", + "bgFit": "cover", + "bgPos": "center", + "description": "Dial-in faster with tested baseline settings. 80% of the work is done for you, loosely preconverted for every wattage and lens combination." + }, + { + "title": "MakeArmy", + "href": "https://makearmy.io", + "icon": "/icons/makearmy.png", + "color": "#bd006b", + "size": "2x1", + "bgFit": "cover", + "bgPos": "center", + "description": "Community tools, services, and the latest projects." + }, + { + "title": "Support Us", + "href": "https://lasereverything.net/support", + "icon": "/icons/support.png", + "color": "#02bad6", + "size": "2x1", + "bgFit": "cover", + "bgPos": "center", + "description": "Help us keep guides and tools free for the community." + }, + { + "title": "Social Media", + "href": "https://lasereverything.net/social", + "icon": "/icons/youtube.png", + "color": "#00a603", + "size": "1x1", + "bgFit": "cover", + "bgPos": "center", + "description": "Find us on all of the hippest global social media conglomerates!" + } + ] +} diff --git a/configs/social.json b/configs/social.json new file mode 100644 index 0000000..cf98de7 --- /dev/null +++ b/configs/social.json @@ -0,0 +1,83 @@ +{ + "brand": "LASER EVERYTHING", + "grid": { "gap": 12, "fit": "stretch" }, + "reveal": { "durationMs": 2600, "revertDelayMs": 700 }, + + "hint": { + "enabled": true, + "rows": 24, + "textCase": "upper", + "fontPx": 32, + "opacity": 0.02, + "angleDeg": -12, + "rowGapPx": 8, + "spacing": "\u00A0", + "planeScale": 3, + "offsetAmpPct": 35, + "featherPct": 0 + }, + + "tiles": [ + { + "title": "YouTube", + "href": "https://www.youtube.com/lasereverything", + "icon": "/icons/youtube.png", + "color": "#2563eb", + "size": "2x2", + "bgFit": "cover", + "bgPos": "center", + "description": "YouTube, the world's second largest search engine." + }, + { + "title": "Facebook Page", + "href": "https://www.facebook.com/lasereverythingofficial/", + "icon": "/icons/facebook-p.png", + "color": "#2563eb", + "size": "2x2", + "bgFit": "cover", + "bgPos": "center", + "description": "How your represented a business before Facebook Groups were coopted." + }, + { + "title": "Facebook Group", + "href": "https://www.facebook.com/groups/1047701605814427/", + "icon": "/icons/facebook-g.png", + "color": "#f39a31", + "size": 1, + "bgFit": "cover", + "bgPos": "center", + "description": "How you represent a business now that Facebook Groups are coopted." + }, + { + "title": "Instagram", + "href": "https://www.instagram.com/lasereverythingofficial/", + "icon": "/icons/instagram.png", + "color": "#0f766e", + "size": 1, + "bgFit": "cover", + "bgPos": "center", + "description": "The highlight reels of peoples lives and businesses!" + }, + { + "title": "Tiktok", + "href": "https://www.tiktok.com/@lasereverythingofficial", + "icon": "/icons/tiktok.png", + "color": "#0f766e", + "size": 1, + "bgFit": "cover", + "bgPos": "center", + "description": "Banned, unbanned, banned, unbanned - pick a legality and stick with it." + }, + { + "title": "Fediverse", + "href": "https://makearmy.io", + "icon": "/icons/fediverse.png", + "image": "", + "color": "#134823", + "size": "2x1", + "bgFit": "cover", + "bgPos": "center", + "description": "We run a wide range of fediverse instances. Check out the list at MakeArmy!" + } + ] +} diff --git a/configs/support.json b/configs/support.json new file mode 100644 index 0000000..0c7f04c --- /dev/null +++ b/configs/support.json @@ -0,0 +1,63 @@ +{ + "brand": "LASER EVERYTHING", + "grid": { "gap": 12, "fit": "stretch" }, + "reveal": { "durationMs": 2600, "revertDelayMs": 700 }, + + "hint": { + "enabled": true, + "rows": 24, + "textCase": "upper", + "fontPx": 32, + "opacity": 0.02, + "angleDeg": -12, + "rowGapPx": 8, + "spacing": "\u00A0", + "planeScale": 3, + "offsetAmpPct": 35, + "featherPct": 0 + }, + + "tiles": [ + { + "title": "Laser Master Academy", + "href": "https://masters.lasereverything.net", + "icon": "/icons/lma.png", + "color": "#2563eb", + "size": "2x2", + "bgFit": "cover", + "bgPos": "center", + "description": "Support Laser Everything and hang with true laser masters to hone your skills." + }, + { + "title": "Patreon", + "href": "https://www.patreon.com/LaserEverything", + "icon": "/icons/patreon.png", + "color": "#f39a31", + "size": 1, + "bgFit": "cover", + "bgPos": "center", + "description": "Mainstream supporter platform for creators." + }, + { + "title": "KoFi", + "href": "https://ko-fi.com/lasereverything", + "icon": "/icons/kofi.png", + "color": "#0f766e", + "size": 1, + "bgFit": "cover", + "bgPos": "center", + "description": "Small time unmanaged funding for one time or repeated donations." + }, + { + "title": "Liberapay", + "href": "https://liberapay.com/LaserEverything", + "icon": "/icons/liberapay.png", + "image": "", + "color": "#134823", + "size": "2x1", + "bgFit": "cover", + "bgPos": "center", + "description": "FOSS and Privacy First supporter platform for creators." + } + ] +} diff --git a/ethics.html b/ethics.html new file mode 100644 index 0000000..8ad6ae4 --- /dev/null +++ b/ethics.html @@ -0,0 +1,155 @@ + + + + + + Ethics · LaserEverything + + + +
+ + +
+
+

Ethics

+ +

Parties

+
    +
  • Laser Everything LLC (“Laser Everything”)
  • +
  • The Partner
  • +
+ +

Review Ethics Statement

+ +

Paid Reviews and Sponsorships

+

+ Laser Everything is a viewer-supported channel and is dedicated to remaining unbiased and + neutral when presenting information and results uncovered during testing and review procedures. + When publishing reviews, Laser Everything does not perform marketing services in exchange for + equipment, goods, software, services, or monetary compensation. The Partner agrees to send + equipment, goods, software, or services for the sole purpose of review and exposure. + Sponsorships are rare; when Laser Everything cooperates with a sponsor, the sponsorship is + always clearly disclosed and will never be presented in a way that suggests the content is not sponsored. +

+ +

Editing and Censorship

+

+ Laser Everything will provide its viewership with the unedited and uncensored opinion formed + after having spent time with the equipment, goods, software, or services. The Partner + understands and acknowledges that at no time will a preview copy of content or material be + provided, and revisions will not be made to published or unpublished content. +

+ +

Partner Acknowledgements

+ +

Expectation of Sales

+

+ The Partner provides all equipment, goods, software, or services without the expectation that + viewership will proceed with any purchase. Laser Everything makes no guarantees that its + viewership will make any purchase and commits to no additional advertising or promotion on + behalf of the Partner. +

+ +

Date of Publication

+

+ Laser Everything makes no claims or guarantees that content will be published within a specific + time period. The Partner acknowledges the publication date of all content is at the sole + discretion of Laser Everything. +

+ +

Decision to Publish

+

+ Laser Everything makes no claims or guarantees that content will be published featuring any + provided equipment, goods, software, or services. The Partner acknowledges the decision to + publish any and all content is at the sole discretion of Laser Everything. +

+ +

Liability Release

+

+ The Partner acknowledges and understands that all content—published or unpublished—by Laser + Everything is presented solely as the opinion of the reviewer. The Partner releases and forever + discharges Laser Everything, its owners, directors, officers, employees, agents, assigns, legal + representatives, and successors from all manner of actions, causes of action, debts, accounts, + bonds, contracts, claims, and demands for or by reason of any damage, loss, or injury to person + or property which has or may be sustained as a consequence of any content produced that has + been published or remains unpublished. +

+ +

Content Release

+ + +

Whereby: Laser Everything is Released of Liability

+

+ For good and valuable consideration herein acknowledged as received, the Partner releases Laser + Everything and assigns permission to license all images and sound recordings and to use them in + any media for any purpose, which may include—among others—advertising, promotion, marketing, + and packaging for any product or service. The Partner agrees that any images and sound + recordings may be combined with other images, text, and graphics, and may be cropped, altered, + and modified. +

+ +

Laser Everything LLC Retains All Rights

+

+ The Partner agrees that Laser Everything has all rights to images and sound recordings, for + perpetuity. The Partner acknowledges and agrees that Laser Everything is not liable for any + further consideration, accounting, or claim for any reason. +

+ +

Duration of Agreement

+

+ The Partner acknowledges and agrees that this Agreement is binding on all heirs and assigns. + The Partner acknowledges and agrees that this Agreement is irrevocable, worldwide, and + perpetual. This Agreement contains the entire agreement between the parties to this release, + and the terms of this Agreement are contractual and not a mere recital. This Agreement will be + construed in accordance with and governed by the laws of the State of New York. +

+ +
+
Laser Everything
+
ALEXANDER SELLITE
+
Member
+
Laser Everything LLC
+
+
+
+
+ + + + diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000..be75c60 Binary files /dev/null and b/favicon.ico differ diff --git a/icons/bg.png b/icons/bg.png new file mode 100644 index 0000000..13c1ef2 Binary files /dev/null and b/icons/bg.png differ diff --git a/icons/bgrm.png b/icons/bgrm.png new file mode 100644 index 0000000..dcfa141 Binary files /dev/null and b/icons/bgrm.png differ diff --git a/icons/castopod.png b/icons/castopod.png new file mode 100644 index 0000000..123dbd9 Binary files /dev/null and b/icons/castopod.png differ diff --git a/icons/db-c.png b/icons/db-c.png new file mode 100644 index 0000000..ea4c646 Binary files /dev/null and b/icons/db-c.png differ diff --git a/icons/db-cg.png b/icons/db-cg.png new file mode 100644 index 0000000..d0ec6fe Binary files /dev/null and b/icons/db-cg.png differ diff --git a/icons/db-f.png b/icons/db-f.png new file mode 100644 index 0000000..37c655a Binary files /dev/null and b/icons/db-f.png differ diff --git a/icons/db-l.png b/icons/db-l.png new file mode 100644 index 0000000..02c5b8f Binary files /dev/null and b/icons/db-l.png differ diff --git a/icons/db-m.png b/icons/db-m.png new file mode 100644 index 0000000..909918c Binary files /dev/null and b/icons/db-m.png differ diff --git a/icons/db-mc.png b/icons/db-mc.png new file mode 100644 index 0000000..c46893f Binary files /dev/null and b/icons/db-mc.png differ diff --git a/icons/db-p.png b/icons/db-p.png new file mode 100644 index 0000000..3c89468 Binary files /dev/null and b/icons/db-p.png differ diff --git a/icons/db-u.png b/icons/db-u.png new file mode 100644 index 0000000..825a402 Binary files /dev/null and b/icons/db-u.png differ diff --git a/icons/db.png b/icons/db.png new file mode 100644 index 0000000..9bb3d5b Binary files /dev/null and b/icons/db.png differ diff --git a/icons/deck.png b/icons/deck.png new file mode 100644 index 0000000..6816286 Binary files /dev/null and b/icons/deck.png differ diff --git a/icons/dpi.png b/icons/dpi.png new file mode 100644 index 0000000..043b183 Binary files /dev/null and b/icons/dpi.png differ diff --git a/icons/ergo.png b/icons/ergo.png new file mode 100644 index 0000000..66f693b Binary files /dev/null and b/icons/ergo.png differ diff --git a/icons/ethics.png b/icons/ethics.png new file mode 100644 index 0000000..0fec70f Binary files /dev/null and b/icons/ethics.png differ diff --git a/icons/facebook-g.png b/icons/facebook-g.png new file mode 100644 index 0000000..376792f Binary files /dev/null and b/icons/facebook-g.png differ diff --git a/icons/facebook-p.png b/icons/facebook-p.png new file mode 100644 index 0000000..d4ec4a8 Binary files /dev/null and b/icons/facebook-p.png differ diff --git a/icons/fediverse.png b/icons/fediverse.png new file mode 100644 index 0000000..5f7f1e8 Binary files /dev/null and b/icons/fediverse.png differ diff --git a/icons/fs.png b/icons/fs.png new file mode 100644 index 0000000..e11cf52 Binary files /dev/null and b/icons/fs.png differ diff --git a/icons/instagram.png b/icons/instagram.png new file mode 100644 index 0000000..e8188c8 Binary files /dev/null and b/icons/instagram.png differ diff --git a/icons/interval.png b/icons/interval.png new file mode 100644 index 0000000..5259471 Binary files /dev/null and b/icons/interval.png differ diff --git a/icons/kofi.png b/icons/kofi.png new file mode 100644 index 0000000..eb8ed29 Binary files /dev/null and b/icons/kofi.png differ diff --git a/icons/lemmy.png b/icons/lemmy.png new file mode 100644 index 0000000..be51070 Binary files /dev/null and b/icons/lemmy.png differ diff --git a/icons/liberapay.png b/icons/liberapay.png new file mode 100644 index 0000000..7363b87 Binary files /dev/null and b/icons/liberapay.png differ diff --git a/icons/lma.png b/icons/lma.png new file mode 100644 index 0000000..68123a6 Binary files /dev/null and b/icons/lma.png differ diff --git a/icons/makearmy.png b/icons/makearmy.png new file mode 100644 index 0000000..2bcb172 Binary files /dev/null and b/icons/makearmy.png differ diff --git a/icons/mastodon.png b/icons/mastodon.png new file mode 100644 index 0000000..d5ebee4 Binary files /dev/null and b/icons/mastodon.png differ diff --git a/icons/matrix.png b/icons/matrix.png new file mode 100644 index 0000000..c405058 Binary files /dev/null and b/icons/matrix.png differ diff --git a/icons/news.png b/icons/news.png new file mode 100644 index 0000000..ce99b21 Binary files /dev/null and b/icons/news.png differ diff --git a/icons/nextcloud.png b/icons/nextcloud.png new file mode 100644 index 0000000..d6e1ab3 Binary files /dev/null and b/icons/nextcloud.png differ diff --git a/icons/patreon.png b/icons/patreon.png new file mode 100644 index 0000000..27a1b0e Binary files /dev/null and b/icons/patreon.png differ diff --git a/icons/peertube.png b/icons/peertube.png new file mode 100644 index 0000000..113e6dc Binary files /dev/null and b/icons/peertube.png differ diff --git a/icons/picsur.png b/icons/picsur.png new file mode 100644 index 0000000..0c857ca Binary files /dev/null and b/icons/picsur.png differ diff --git a/icons/pixelfed.png b/icons/pixelfed.png new file mode 100644 index 0000000..01d2d5a Binary files /dev/null and b/icons/pixelfed.png differ diff --git a/icons/privatebin.png b/icons/privatebin.png new file mode 100644 index 0000000..f20cfc5 Binary files /dev/null and b/icons/privatebin.png differ diff --git a/icons/support.png b/icons/support.png new file mode 100644 index 0000000..9faa65b Binary files /dev/null and b/icons/support.png differ diff --git a/icons/tiktok.png b/icons/tiktok.png new file mode 100644 index 0000000..d2bce9a Binary files /dev/null and b/icons/tiktok.png differ diff --git a/icons/toolkit.png b/icons/toolkit.png new file mode 100644 index 0000000..da372b8 Binary files /dev/null and b/icons/toolkit.png differ diff --git a/icons/training.png b/icons/training.png new file mode 100644 index 0000000..a4fbc15 Binary files /dev/null and b/icons/training.png differ diff --git a/icons/youtube.png b/icons/youtube.png new file mode 100644 index 0000000..56bc2c8 Binary files /dev/null and b/icons/youtube.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..bc04798 --- /dev/null +++ b/index.html @@ -0,0 +1,295 @@ + + + + + + Laser Everything + + + + + + +
+ + + + + diff --git a/social.html b/social.html new file mode 100644 index 0000000..cf89502 --- /dev/null +++ b/social.html @@ -0,0 +1,295 @@ + + + + + + Laser Everything + + + + + + +
+ + + + + diff --git a/styles.css b/styles.css new file mode 100644 index 0000000..ac9b163 --- /dev/null +++ b/styles.css @@ -0,0 +1,193 @@ +:root{ + --bg:#121212; + --fg:#eceff3; + --gap:12px; + --reveal-ms:2600ms; + --header-h:56px; + --safe-top: env(safe-area-inset-top, 0px); + --safe-bottom: env(safe-area-inset-bottom, 0px); + + /* Hint knobs (wired from config.hint) */ + --hint-opacity:.12; + --hint-angle:-12deg; + --hint-size:16px; + --hint-row-gap:8px; + --hint-plane:3; + --hint-feather:0%; +} + +/* ===== Base ===== */ +*{ box-sizing:border-box } +html,body{ height:100% } +body{ + margin:0; color:var(--fg); background:var(--bg); + font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Arial; + overflow:hidden; /* tiles view */ +} +a{ color:inherit; text-decoration:none } + +/* ===== Header ===== */ +.site-header{ + position:fixed; left:0; right:0; top:0; + height:calc(var(--header-h) + var(--safe-top)); + display:flex; align-items:center; justify-content:center; + padding:0 clamp(12px,3vw,24px); + background:rgba(0,0,0,.55); backdrop-filter:blur(6px); + border-bottom:1px solid rgba(255,255,255,.10); + z-index:2000; +} +.site-header .brand{ + font-weight:900; letter-spacing:.22em; text-transform:uppercase; + font-size:clamp(12px,1.4vw,14px); opacity:.95; text-decoration:none; +} + +/* ===== Grid ===== */ +.grid{ + position:fixed; inset:0; + top:calc(var(--header-h) + var(--safe-top)); + display:grid; grid-auto-flow:dense; + grid-template-columns:repeat(12, 80px); + grid-auto-rows:80px; + gap:var(--gap); padding:var(--gap); +} + +/* ===== Tiles ===== */ +.tile{ + position:relative; display:block; overflow:hidden; + background:var(--color,#1f2937); + border:1px solid rgba(255,255,255,.08); + transition:opacity .55s ease, transform .55s ease; +} +.cover{ + position:absolute; inset:0; z-index:2; background:#242424; + transform:translate(0,0); + transition:transform var(--reveal-ms) cubic-bezier(.22,.8,.18,1); + pointer-events:none; will-change:transform; +} +.layer,.cover{ + position:absolute; inset:0; display:grid; place-items:center; justify-items:center; + text-align:center; padding:clamp(12px,3vh,28px); + transition:opacity .55s ease, transform .55s ease; pointer-events:none; +} +.text-layer{ z-index:1; opacity:0; transform:translateY(8px) } +.icon-layer{ z-index:4; opacity:1 } +.icon{ width:clamp(36px,9vh,110px); height:auto; object-fit:contain } +.icon.icon-text{ width:auto; font-size:clamp(24px,10vh,120px); line-height:1 } +.kicker{ font-weight:900; letter-spacing:.22em; text-transform:uppercase; font-size:12px; opacity:.95; margin:0 0 .25em } +.title{ margin:0; font-weight:1000; letter-spacing:.2px; font-size:clamp(16px,2.2vw,28px); line-height:1.1 } +.desc{ margin:.45em 0 0; opacity:.92; font-size:14px; max-width:min(72ch,90%) } +.text-layer>div{ display:flex; flex-direction:column; align-items:center } + +/* Reveal states */ +.tile:hover .cover, +.tile:focus-visible .cover, +.tile.js-reveal .cover{ transform:translate(var(--dx),var(--dy)) } +.tile:hover .icon-layer, +.tile:focus-visible .icon-layer, +.tile.js-reveal .icon-layer{ opacity:0; transform:scale(.965) } +.tile:hover .text-layer, +.tile:focus-visible .text-layer, +.tile.js-reveal .text-layer{ opacity:1; transform:none } + +@media (prefers-reduced-motion:reduce){ + .tile,.cover,.layer{ transition:none } +} + +/* ===== Hint layer (novel approach) ===== + * A huge “plane” rotated & centered. Rows are long lines of text. + * The tile clips the plane, so text can be sliced mid-word at edges. */ +.hint-layer{ + position:absolute; inset:0; z-index:3; pointer-events:none; + display:block; opacity:var(--hint-opacity); + /* optional soft fade at extreme sides */ + -webkit-mask-image:linear-gradient(to right, + rgba(0,0,0,0) var(--hint-feather), + #000 calc(var(--hint-feather) + 1px), + #000 calc(100% - var(--hint-feather) - 1px), + rgba(0,0,0,0) calc(100% - var(--hint-feather))); + mask-image:linear-gradient(to right, + rgba(0,0,0,0) var(--hint-feather), + #000 calc(var(--hint-feather) + 1px), + #000 calc(100% - var(--hint-feather) - 1px), + rgba(0,0,0,0) calc(100% - var(--hint-feather))); +} +.hint-stack{ + position:absolute; left:50%; top:50%; + transform:translate(-50%,-50%) rotate(var(--hint-angle)); + width:calc(var(--hint-plane) * 100%); + height:calc(var(--hint-plane) * 100%); + display:flex; flex-direction:column; justify-content:center; align-items:center; + gap:var(--hint-row-gap); + overflow:hidden; /* clip rows to plane; tile clips plane */ +} +.hint-row{ + position:relative; display:block; + /* make the line VERY long; no measuring required */ + white-space:nowrap; letter-spacing:.22em; line-height:1; + font-weight:900; text-transform:uppercase; font-size:var(--hint-size); + transform:translateX(var(--row-offset-px, 0px)); + /* the content string itself is repeated in JS so it actually fills */ +} + +/* Hide hint during reveal for the “flip” effect */ +.tile:hover .hint-layer, +.tile:focus-visible .hint-layer, +.tile.js-reveal .hint-layer{ opacity:0 } + +/* ===== Static pages (unchanged from prior work) ===== */ +body.page{ + min-height:100vh; margin:0; color:var(--fg); background:var(--bg); + overflow-y:auto; overflow-x:hidden; +} +.page-wrap{ + box-sizing:border-box; min-height:100svh; + padding:var(--gap); + padding-top:calc(var(--gap) + var(--header-h) + var(--safe-top)); + padding-bottom:calc(var(--gap) + var(--safe-bottom)); + display:grid; grid-template-rows:auto 1fr; gap:var(--gap); +} +.page-header{ display:flex; align-items:center; justify-content:space-between; gap:var(--gap) } +.back-btn,.btn{ + display:inline-flex; align-items:center; gap:.6rem; + border-radius:999px; padding:.6rem .9rem; + border:1px solid rgba(255,255,255,0.10); + background:rgba(255,255,255,0.04); + color:inherit; text-decoration:none; outline:none; + transition:background 300ms, transform 160ms; +} +.btn.primary{ background:rgba(255,255,255,0.08) } +.back-btn:hover,.btn:hover{ background:rgba(255,255,255,0.07); transform:translateY(-1px) } +.back-btn:focus-visible,.btn:focus-visible{ box-shadow:0 0 0 3px rgba(154,168,255,.45) } +.back-btn svg{ width:18px; height:18px; flex:0 0 auto; opacity:.95 } +.page-main{ display:grid; place-items:start center } +.article{ + width:min(90ch,100%); line-height:1.6; + background:rgba(255,255,255,0.04); + border:1px solid rgba(255,255,255,0.10); + border-radius:16px; + padding:clamp(16px,3vw,28px); +} +.article h1{ margin:0 0 .35em; font-size:clamp(22px,3.2vw,36px); letter-spacing:.2px; text-align:center } +.subtitle{ margin:0 0 1.1em; opacity:.85; text-align:center; font-size:clamp(14px,1.6vw,16px) } +.cta-row{ display:flex; flex-wrap:wrap; gap:.6rem; justify-content:center; margin:0 0 1.25em } +.callout{ margin:1.2em 0; padding:1rem; border:1px solid rgba(255,255,255,0.10); border-radius:12px; background:rgba(255,255,255,.03) } +.callout.warn{ border-color:rgba(255,99,99,.5); background:rgba(255,0,0,.06) } +.callout h3{ margin:.2em 0 .6em; font-size:1rem; letter-spacing:.08em; text-transform:uppercase; opacity:.9 } +.article h2{ margin:1.6em 0 .6em; font-size:clamp(18px,2.4vw,24px) } +.article h3{ margin:1.2em 0 .4em; font-size:clamp(16px,2vw,20px) } +.article p{ margin:.8em 0 } +.article ul,.article ol{ margin:.8em 0 .8em 1.2em } +.article a{ color:inherit; text-decoration:underline; text-underline-offset:2px } +.legal{ border-color:rgba(255,255,255,.18) } +.sig{ margin-top:1.5em; padding-top:1em; border-top:1px solid rgba(255,255,255,0.10); display:grid; gap:.25rem } +.party-list{ display:grid; gap:.35rem; margin:.6rem 0 1rem; padding-left:1.2rem } + +/* ===== Mobile ===== */ +@media (max-width:480px){ + :root{ --gap:8px; --header-h:48px } + .kicker{ font-size:11px } + .title{ font-size:clamp(16px,5.2vw,22px) } + .desc{ font-size:13px } + .icon{ width:clamp(28px,11vh,90px) } + .back-btn,.btn{ padding:.55rem .85rem } +} diff --git a/support.html b/support.html new file mode 100644 index 0000000..4057c3b --- /dev/null +++ b/support.html @@ -0,0 +1,295 @@ + + + + + + Laser Everything + + + + + + +
+ + + + + diff --git a/training.html b/training.html new file mode 100644 index 0000000..b1326ae --- /dev/null +++ b/training.html @@ -0,0 +1,98 @@ + + + + + + Laser Engraving Training · LaserEverything + + + +
+ + +
+
+

Laser Engraving Training

+

ONE Maker   TWO Specialists   |   ZERO Issues

+ + + +

Send Us an Email with “Book Coaching Session” in the subject. Review this page and, in the body, include what you’d like to cover and what you’re hoping to achieve. Please allow at least 24 hours for a response.

+ +

We’re Here to Help

+

Don’t go it alone. The staff at Laser Everything are here to help you get rolling on your laser journey. Use the following to help estimate how much time you’ll need to complete your tasks and get your questions answered.

+ +
+

Important Note

+

We do not cover the following in our coaching sessions:

+
    +
  • 3D or 2.5D–specific functionality (including software Z-axis and 3D scanners)
  • +
  • 3D software troubleshooting and setup (including EzCad 3 and LenMark 3DS)
    + Does not apply to those with a 3D controller paired with a 2D scanhead, or LightBurn height-map engraving. +
  • +
  • Materials that we deem dangerous — see the Material Safety Lookup.
  • +
+

Refunds will not be issued to individuals who ignore this warning. If you have questions, please email us before purchase.

+
+ +

Come Prepared

+

How to make the most out of your coaching session’s allotted time.

+ +

Learn Google Meet

+

+ Google Meet lets us talk, see each other, and share screens to diagnose issues or teach workflows. + If you’ve never used it, get familiar ahead of time so we can focus on your goals: + Start Learning Meet. +

+ +

The Right System

+

+ Please join the Meet from the device you use to operate your laser so we can see what you see in real time. + Screen sharing requires your permission and is vital to providing optimal support. If that’s not possible, + you may join from a phone, though it’s discouraged. +

+ +

Hardware Ready

+

+ Have your laser unpacked and connected, with your computer updated (including any pending software updates). + Keep materials on hand (scrap/test stock is great), especially if your session is tied to a specific material or object type. +

+ +

Plan For Your Needs

+

+ To maximize your time and value, make a list of outcomes you want, plus any questions you have. + Keep your notes handy, and add answers and new questions as we go. + It’s the best way to get the most done together—and gives you a reference afterward. +

+ +

Contact Us

+

Questions about booking? Send Us an Email.

+
+
+
+ + + +