diff --git a/.gitignore b/.gitignore index 9a2f9d9..b31f91f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,172 +1,24 @@ -### Art Assets ### -*.svg -.DS_Store - -# Created by https://www.gitignore.io/api/git,windows,notepadpp,visualstudiocode,python -# Edit at https://www.gitignore.io/?templates=git,windows,notepadpp,visualstudiocode,python - -### Git ### -# Created by git for backups. To disable backups in Git: -# $ git config --global mergetool.keepBackup false -*.orig - -# Created by git when using merge tools for conflicts -*.BACKUP.* -*.BASE.* -*.LOCAL.* -*.REMOTE.* -*_BACKUP_*.txt -*_BASE_*.txt -*_LOCAL_*.txt -*_REMOTE_*.txt - -### NotepadPP ### -# Notepad++ backups # -*.bak - -### Python ### -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -# build/ -develop-eggs/ +# build output dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -pip-wheel-metadata/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -.hypothesis/ -.pytest_cache/ - -# Translations -*.mo -*.pot - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ -# pyenv -.python-version +# generated types +.astro/ -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock +# dependencies +node_modules/ -# celery beat schedule file -celerybeat-schedule +# logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* -# SageMath parsed files -*.sage.py +# environment variables +.env +.env.production -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# Mr Developer -.mr.developer.cfg -.project -.pydevproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -### VisualStudioCode ### -.vscode/* -.vscode/settings.json -.vscode/tasks.json -.vscode/launch.json -.vscode/extensions.json -*.code-workspace - -### VisualStudioCode Patch ### -# Ignore all local history of files -.history - -### Windows ### -# Windows thumbnail cache files -Thumbs.db -Thumbs.db:encryptable -ehthumbs.db -ehthumbs_vista.db - -# Dump file -*.stackdump - -# Folder config file -[Dd]esktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msix -*.msm -*.msp - -# Windows shortcuts -*.lnk - -# End of https://www.gitignore.io/api/git,windows,notepadpp,visualstudiocode,python +# macOS-specific files +.DS_Store -.idea \ No newline at end of file +# ide +.idea diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..b17149b --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +*.mdx \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..22a1505 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,4 @@ +{ + "recommendations": ["astro-build.astro-vscode"], + "unwantedRecommendations": [] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..d642209 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,11 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "command": "./node_modules/.bin/astro dev", + "name": "Development server", + "request": "launch", + "type": "node-terminal" + } + ] +} diff --git a/README.md b/README.md index d4cd952..ff315ba 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,54 @@ -# LearnMYOG.com source for Make Your Own Gear sewing patterns and tutorials +# Astro Starter Kit: Basics -Sewing Patterns for DIY Outdoor Gear Makers +``` +npm create astro@latest -- --template basics +``` -## Contributors and Guest Creators Welcome +[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/astro/tree/latest/examples/basics) +[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/s/github/withastro/astro/tree/latest/examples/basics) -Are you an independent pattern or gear designer interested in outdoor apparel and gear? Lets talk! +> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun! -Found a bug or have an idea for improvements let me know. \ No newline at end of file +![basics](https://user-images.githubusercontent.com/4677417/186188965-73453154-fdec-4d6b-9c34-cb35c248ae5b.png) + + +## 🚀 Project Structure + +Inside of your Astro project, you'll see the following folders and files: + +``` +/ +├── public/ +│ └── favicon.svg +├── src/ +│ ├── components/ +│ │ └── Card.astro +│ ├── layouts/ +│ │ └── Layout.astro +│ └── pages/ +│ └── index.astro +└── package.json +``` + +Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. + +There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. + +Any static assets, like images, can be placed in the `public/` directory. + +## 🧞 Commands + +All commands are run from the root of the project, from a terminal: + +| Command | Action | +| :--------------------- | :----------------------------------------------- | +| `npm install` | Installs dependencies | +| `npm run dev` | Starts local dev server at `localhost:3000` | +| `npm run build` | Build your production site to `./dist/` | +| `npm run preview` | Preview your build locally, before deploying | +| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | +| `npm run astro --help` | Get help using the Astro CLI | + +## 👀 Want to learn more? + +Feel free to check [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). diff --git a/alphaCampPants.html b/alphaCampPants.html deleted file mode 100644 index 9848490..0000000 --- a/alphaCampPants.html +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - - - LearnMYOG Alpha Camp Pants - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
- -
- -
- -
-
-

Alpha Camp Pants

-

High performance thermal joggers. Your ultimate camp comfort ⛺️

-
- - - -
- - - -
-
- -
-
-
-

Design Features

-
-
-

Athletic fit thermal joggers that pair perfectly with our Alpha Raglan Hoodie -

    -
  • Wear casually on their own, layered, or to extend your quilts comfort range
  • -
  • Designed for Polartec® fabrics including Alpha® Direct, the ultralight performer
  • -
  • Optional seat and knee reinforcing overlays for vintage mountaineering durability
  • -
  • Regular rise with crotch gusset for frontcountry comfort
  • -
  • Roomy, bulk-free hand pockets that stay in place and won't bunch up
  • -
  • Low profile yoga-style stretch waistband with an elastic-free construction
  • -
  • Tapered leg and stretch cuffs prevent sleep pants from riding up all night
  • -
-

- -

Garment Fit

-

- Alpha Camp Pants have an athletic jogger fit. Relaxed around the hips and thigh. Slim leg that tapers to a stretch-knit ankle cuff. - Full rise with crotch gusset for squat comfort and easily adjusted pant length to nail the perfect fit. -

-

For a women's fit, common adjustments may include shortening the pants rise, shortening the inseam, or adjusting the leg taper. Instructions are included based on successful independent pattern tests. Thank you @Ms.Math, @Madeby_Francesca, and @Discovery Fabrics

- -

Body Measurements

-

- The sewing pattern covers a wide range of sizes corresponding to men's XS to XXL. - Full hip/seat is the main sizing measurement, the maximum horizontal circumference around hips and butt. - See body measurements shown in photo gallery above. -

- -

Sewing Skill Level - Advanced Beginner

-

- Alpha Camp Pants are designed for knit fabrics. While the instructions detail every step, familiarity with sewing terms and construction techniques is expected. - Serging simplifies construction however a zig zag and overlock stitch work just as well to maintain stretch and finished raw edges. - This is a straightforward beginner apparel pattern and stretch fabrics are forgiving. Make a prototype and have fun! -

-
-
- -
-
-
- - -
-
-
-
-

Digital Sewing Pattern

-
-
    -
  • Comprehensive step-by-step sewing instructions with detailed photos
  • -
  • Cut layout, material yardages, sizing recommendations, and construction photos
  • -
  • Six sizes and instructions for common fit adjustments for men and women
  • -
  • Color-coded sizes for ease of pattern cutting
  • -
  • Multiple PDF paper sizes for printing convenience -
      -
    • Print at home on 8.5x11 inch Letter or A4 sized paper
    • -
    • Print at office on 11x17 inch tabloid or A3 sized paper
    • -
    • Print at copyshop on 36x48 inch or A0 sized sheet
    • -
  • -
  • Seam allowances included for all pattern panels and sizes
  • -
- - - - $20 -

Valid email address required for download link and revision notifications.

- -
-
-
-
- - -
-
- -
- - -
-
-

Fabrics

-
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MaterialRecommendedLength (Width)
Main FabricThermal fleece with 20%+ stretch side-to-side and 10%+ stretch along lengthXS-M: 1.25 yd (58")
L-2X: 2.5 yd (58")
Waist and CuffsActivewear 4-way stretch knit, 30%+ stretch similar to yoga pants0.25 yd (58")
Pocket BagLightweight pocket lining, wicking knit, or substitute for main fabricXS-M: 0.25yd (42")
L-2X: 0.5yd (42")
Overlays (optional)Bottomweight stretch woven with 5-10% spandex content and DWR coating0.5yd (58")
Pocket BindingFold over elastic or self made stretch binding20 inches (5/8-3/4")
Drawstring (optional)Flat cord or shoestring10-12" longer than pant-waist (3/8-1/2")
Fusible InterfacingLightweight fusible interfacing such as Pellon PLF36small scrap
-

- For the main fabric, there are many variants and weights in all Polartec® product categories such as Alpha® Direct, Power Stretch®, and Power Grid™. For Alpha Direct sleep pants, Polartec style #4028 (68gsm) or #4004 (86gsm) are ideal. Don't just take my word for it, here's Leslie @DiscoveryFabrics with more information! -

-

- -

Recommended Fabric Vendors

- -
-
- Discovery Fabrics -
-
- Ripstop by the Roll -
-
- The Rainshed -
-
-

Save $15 on your order at Discovery Fabrics using this link!

- -
- - Suggested needle and thread pairing for this project is: -
    -
  • 🪡 Ballpoint or Stretch needles, size 80/12
  • -
  • 🧵 Gutermann All-Purpose (MARA 100) Tex 30 polyester thread
  • -
  • 🧵 A&E Maxi-Lock Serger spun polyester Tex 27 thread
  • -
-
-
-
- -
- -
-

Additional Resources

-
-
-
- - -
-
-
Follow along as I sew Alpha Camp Pants
-
-
- -

- -

- - - - - -
-
-
- -
- - - - -
- - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/alphaRaglan.html b/alphaRaglan.html deleted file mode 100644 index a1c85a2..0000000 --- a/alphaRaglan.html +++ /dev/null @@ -1,617 +0,0 @@ - - - - - - - - LearnMYOG Alpha Raglan Hoodie - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
- -
- -
- -
-
-

Alpha Raglan Hoodie

-

Breathable. Fast Drying. Ultralight. Active warmth.
All of the above, please!

-
- - - - -
- - - -
-
-

- -

- - - -
- -
-
-

Features

-
-
-
-
Alpha Raglan Hoodie
-
-
  • Minimalist pullover design with a modern style and fitted hood
  • -
  • Raglan sleeves with deep shoulder seams to avoid shoulder strap discomfort
  • -
  • Two hood styles included with or without cinch cord - balaclava and open neck
  • -
  • Designed for Polartec® Alpha® Direct for high breathability and great warmth-to-weight
  • -
  • Other great fabric options for a midlayer include fleece and Polartec® Power Grid™
  • -
-
- -
Sewing Skill Level - Advanced Beginner
-
- While a beginner can make this project, familiarity with sewing terms and construction techniques is expected. - For best results, a serger is recommended. A zig zag stitch will work but results may vary based on individual skill. - This is a great beginner garment pattern and fleece is forgiving. Make a prototype and have fun! -
- -
Body Measurements and Fit Guide
-
Detailed instructions on getting a great fit are included. - Sizing covers XXS to XL with ten increments for getting the perfect fit. - Custom fit adjustments are illustrated within the instructions. - In the photos, I'm (6'0" tall, 170 lbs, 39" chest) wearing a size SM (sub-size medium) for 2" of ease around chest. -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Body Measurement (inches)XXSXSSMLXL
Chest30-3233-3435-3738-4041-4445-48
Natural Waist24-2626-2728-3032-3436-3840-42
Low Waist30-3233-3435-3738-4142-4546-48
Sleeve303132333435
-
-
-
-
- - -
-

Fabrics

-
-

Polartec® Alpha® Direct is available in a few variants so be sure to verify the sytle number you're purchasing.

-
    -
  • Alpha Direct Style 4028, 68 gsm is the UL king of base layers
  • -
  • Alpha Direct Style 4004, 86 gsm is a happy medium
  • -
  • Alpha Direct Style 4008, 120 gsm performs as a cold weather midlayer
  • -
  • Alpha Direct Style 4024, 186 gsm for extreme warmth
  • -
  • Alpha Direct with Wool Style 4048, 153 gsm in a polyester and wool blend
  • -
-

-

Recommended Fabric Vendors

- -
-
- Discovery Fabrics -
-
- Ripstop by the Roll -
-
-

Save $15 on your order at Discovery Fabrics using this link.

- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Fabric PanelRecommendedLength (Width)
Main BodyPolartec® Alpha® Direct2 yd (58")
Hood FacingsSelf fabric, stretch jersey or performance knit8 inches (30")
Hood Cinch Cord3/32" Shock Cord30 inches
Cinch HardwareMini Cord Lock, plastic stopper beadone each
Edge BindingFold-over elastic or stretch double fold bias binding3 yd (5/8" - 1" wide) minimum
-
-
-
-
-
-
- - - - - - -
-
-
-
-

Digital Sewing Pattern

-
-
    -
  • Complete step-by-step sewing instructions with photos
  • -
  • Cut layout, pattern sizing, and custom fit adjustment instructions
  • -
  • Ten non-gendered sizes from XXS-XL for getting the perfect fit
  • -
  • Two hood variants - Balaclava style or open neck Overlap style
  • -
  • Multiple PDF paper sizes for printing convenience -
      -
    • Print at home on 8.5x11 inch Letter or A4 sized paper
    • -
    • Print at office on 11x17 inch tabloid or A3 sized paper
    • -
    • Large format on two 36x48 inch sized sheets (North America)
    • -
    • Large format on three A0 sized sheets (UK/EU)
    • -
  • -
  • Seam allowances included for all pattern panels and sizes
  • -
- - $20 -

Valid email address required for download link and revision notifications.

- -
-
-

Maker Kit

-
- -

Limited Quantity Drop

- - -
    -
  • Physical large format pattern, printed in color on two 36x48 inch sheets
  • -
  • 4" square fabric sample of Alpha Direct 60gsm (orange) and 120gsm (charcoal)
  • -
  • Two "MYOG 2022" labels custom made with gray heat transfer vinyl on 1.5" wide black grosgrain ribbon
  • -
  • Two mini cord locks and two stopper beads. Works with hood cinch up to 3/32" (2 mm) shock cord
  • -
  • Includes the Digital Sewing Pattern for immediate download
  • -
- - - -
-
-
-
-
- - -
-
- -
-

Sewalong Tutorials

-

-
- -
-
- - -
-
-
Sew along with me to make your own Alpha Raglan Hoodie
-
-
- - -
-
-
My preferred method of sewing stretch binding around cuffs and waist. Same applies for simple hood openings.
-
-
- - -

- -

- - -
-
- - - -
- - - - -
- - - - - - - - - - - - - - - \ No newline at end of file diff --git a/articles/3dCorners.html b/articles/3dCorners.html deleted file mode 100644 index 98338cf..0000000 --- a/articles/3dCorners.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - - - - - Sewing Perfect 3D Corners - - - - - - - - - - - - - - - - - - - - -
- - - - -
- -
-
-
-

3D Corners, Turns and Tight Curves

-

How to Sew Boxed Corners, Gusset Turns, and Tight Curves

-
- -
- -
-
-

3D Boxed Corners

-
-
-

- I'll let you in on the secret to clean crisp 3D boxed corners. It comes down to one simple trick! -

- - 3d corner graphic - - Boxed corners are used when assembling the last panel to a backpack, often the bottom panel. - Last thing anyone wants is to end up with slouchy, wrinkly corners in the final step. - By planning ahead, that last panel sews in perfectly without fuss or seam ripping. -

- The trick is to always respect your seam allowances. -

- Here's how it's done. -

    -
  1. Sew panels 1 and 2 right sides together (RST) but stop short of the bottom edge, reserving seam allowance for the bottom panel.
  2. -
  3. Align panels 1 and 3 seam line and sew RST and again stop short of side seam allowance.
  4. -
  5. Align panels 2 and 3 seam line and sew RST. Backtack to lock your seam.
  6. -
  7. Go back and reinforce your corners with short backtacks to close any small gaps.
  8. -
  9. To reduce seam bulk, trim the corner seam allowance. Be sure to leave ~1/8" (3mm) of seam allowance!
  10. -
  11. The boxed corner should have three distinct seam lines and now ready for seam binding
  12. -
-
-
-

-
-
- -
-
-

Turns & Tight Curves

-
-
-

- Beginners frequently ask how to sew clean turns and tight curves. Unfortunately there' no magic involved! -

- Sewing a gusset around a 90 degree turn or small radius curve easily ends in puckers and wrinkles. - My Everyday Fanny Pack calls for several tight curve corners and trips up a lot of new sewists. - With a little patience, practice, and the right technique, your pack will stand out. -

- Here's my method. -

    -
  1. Align your panels at their seam lines, paying close attention to pattern notches and alignment marks.
  2. -
  3. Make small relief cuts along the edge of fabric panel which will curve or bend around a corner.
  4. -
  5. Don't cut too closely to your seam line or the fabric may fray, or worse, the stitches may pull out.
  6. -
  7. For a corner turn, one relief cut at the turn location is adequate.
  8. -
  9. For a tight curve, spread relief cuts every 1/2 inch or so. For very stiff fabric, add a few more relief cuts.
  10. -
  11. Mind your seam allowances when sewing and finger press the fabric flat as you go.
  12. -
  13. Sew with a small stitch length, about 2mm or 10-12 stitches per inch
  14. -
  15. Go slow! Stitch in short increments. With needle down, rotate your panels. Be precise!
  16. -
-
-
- -

-
-
- -
- -
-
-
- - - - -
- - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/articles/zippers.html b/articles/zippers.html deleted file mode 100644 index 1d65e06..0000000 --- a/articles/zippers.html +++ /dev/null @@ -1,209 +0,0 @@ - - - - - - - - - Learn MYOG with Zippers - - - - - - - - - - - - - - - - - - - - -
- - - - -
- -
-
-
-

Zippers All You Need to Know

-

Learn to use zippers for secure weather-resistant packs, pockets, and pouches.

-
- -
- -
-
-

Zipper Types

-
-
-

- - structure of a zipper - - Zippers come in many sizes and styles for various apparel and bag making applications. - For zipper pouches and backpacks, nylon coil zippers offer a perfect balance of durability, weight, and cost. - Compared to "Vislon" (plastic molded tooth) zippers, coil zippers work well along curves, are more durable, and are more easily assembled. -

- For the vast majority of MYOG projects and patterns, closed-end zippers are used. - One can purchase pre-assembled zippers at specific lengths, trim to fit, and/or assemble from continuous zipper tape and zipper sliders. -

- Continuous zipper tape is ordered in bulk lengths, cut to size with scissors, and assembled at home with compatible sliders. - Water resistant zippers are now commonplace, however are significantly more expensive, require more force to open and close, and the polyurethane (PU) coating is subject to UV damage. - PU-coated zipper tape, such as YKK Uretek, often has a shiny side which will be visible and the zipper teeth are hidden on the inside of the pocket. - In my experience, at least for horizontal zippers, a zipper placket (aka flap) is lighter weight and much lower cost. -

- 📢 Zipper sliders are specific to the brand and type of zipper tape, so be sure to select compatible parts. -

- Sliders also come in non-locking and automatically locking styles. - Locking zippers are less likely to self open when installed vertically, e.g. on a jacket. - Non-locking sliders are common if bought standalone and are best if you're planning to add unique pull lanyards. -

-
-
- - -
-
-

Construction

-
-
-

- For majority of MYOG projects, you'll be installing a zipper between two panels so we'll start there. - The video below covers basic zipper assembly and introduces a few advanced tips to take your projects to the next level!

- -

☝ Sew a zipper into your pack

- -
-
-

As with all things, practice makes perfect. If just starting out, give our Everyday Fanny Pack a go using HyperD 300 and zippers from your local craft store. - When you've got it down, step up your skills by making a Totepack or a Bikepacking Hip Pack!

- -

🔥 Reuse excess zipper tape for color-matched ribbon!

- -
-
-

- -
-
- - -
-
-

Zipper Sizes

-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
SizeChain TypeTape WidthCombined WidthApplication
#3Coil3/8"1"Wallets, ditty pouches, zip sacks
#5Coil1/2"1 1/4"Backpacks, frame bags, tote bags
-
-
- - -
-
-

Stock Up

-
-
-

YKK is my preferred brand for high quality, durable, and low-cost coil zippers. Below is a sample of products from the vendors I personally shop and trust.

- - RipstopbytheRoll - - QuestOutfitters - - Wawak - - AdventurExpert - -
-
- -
- -
-
-
- - - - -
- - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/assets/js/emailSubscribe.js b/assets/js/emailSubscribe.js deleted file mode 100644 index 5c1d1af..0000000 --- a/assets/js/emailSubscribe.js +++ /dev/null @@ -1,27 +0,0 @@ -/* - Benchmark Email Newsletter Subscription - -*/ - -function CheckField1389444(fldName, frm){ var fldObj = document.getElementsByName(fldName); if ( fldObj.length > 1) { for ( var i = 0, l = fldObj.length; i < l; i++ ) { if ( fldObj[0].type =='select-one' ) { if( fldObj[i].selected && i==0 && fldObj[i].value == '' ) { return false; } if ( fldObj[i].selected ) { return true; } } else { if ( fldObj[i].checked ) { return true; } }; } return false; } else { if ( fldObj[0].type == "checkbox" ) { return ( fldObj[0].checked ); } else if ( fldObj[0].type == "radio" ) { return ( fldObj[0].checked ); } else { fldObj[0].focus(); return (fldObj[0].value.length > 0); }} } -function _doSubmit1389444(frm) { if( _checkSubmit1389444(frm)){ _doPost1389444(frm);}} -function _doPost1389444(frm) { var f = document.createElement("form"); f.setAttribute('accept-charset', "UTF-8"); f.setAttribute('method', "post"); f.setAttribute('action', "https://lb.benchmarkemail.com//code/lbform"); var elms = document.getElementsByName("frmLB" + frm)[0].getElementsByTagName("*");var ty = ""; for (var ei = 0; ei < elms.length; ei++) {ty = elms[ei].type; if (ty == "hidden" || ty == "text" || (ty == "checkbox" && elms[ei].checked) || (ty == "radio" && elms[ei].checked) || ty == "textarea" || ty == "select-one" || ty == "button") {elm = elms[ei]; var i = document.createElement("input"); i.type = "hidden"; i.name = elm.name.replace("_MW4UW", ""); i.id = elm.id; i.value = elm.value; f.appendChild(i);} } document.getElementsByTagName('body')[0].appendChild(f);f.submit();}function rmspaces(x) {var leftx = 0;var rightx = x.length -1;while ( x.charAt(leftx) == ' ') { leftx++; }while ( x.charAt(rightx) == ' ') { --rightx; }var q = x.substr(leftx,rightx-leftx + 1);if ( (leftx == x.length) && (rightx == -1) ) { q =''; } return(q); } -function checkfield(data) {if (rmspaces(data) == ""){return false;}else {return true;}} -function isemail(data) {var flag = false;if ( data.indexOf("@",0) == -1 || data.indexOf("\\",0) != -1 ||data.indexOf("/",0) != -1 ||!checkfield(data) || data.indexOf(".",0) == -1 || data.indexOf("@") == 0 ||data.lastIndexOf(".") < data.lastIndexOf("@") ||data.lastIndexOf(".") == (data.length - 1) ||data.lastIndexOf("@") != data.indexOf("@") ||data.indexOf(",",0) != -1 ||data.indexOf(":",0) != -1 ||data.indexOf(";",0) != -1 ) {return flag;} else {var temp = rmspaces(data);if (temp.indexOf(' ',0) != -1) { flag = true; }var d3 = temp.lastIndexOf('.') + 4;var d4 = temp.substring(0,d3);var e2 = temp.length - temp.lastIndexOf('.') - 1;var i1 = temp.indexOf('@');if ( (temp.charAt(i1+1) == '.') || ( e2 < 1 ) ) { flag = true; }return !flag;}} -function _checkSubmit1389444(frm){ - if ( !CheckField1389444("fldfirstname_MW4UW", frm) ) { - alert("Please enter the First Name"); - return false; - } - if ( !isemail(document.getElementsByName("fldEmail_MW4UW")[0].value) ) { - alert("Please enter the Email Address "); - return false; - } - - if(isemail(document.getElementsByName("fldEmail_MW4UW")[0].value) && window && window.JB_TRACKER && typeof window.JB_TRACKER.jbSubmitForm === 'function') { - window.JB_TRACKER.jbSubmitForm({ - email: document.getElementsByName("fldEmail_MW4UW")[0].value, didSubmit: true - }); - } - - return true; } diff --git a/assets/js/jquery.poptrox.min.js b/assets/js/jquery.poptrox.min.js deleted file mode 100644 index 81ff4ee..0000000 --- a/assets/js/jquery.poptrox.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/* jquery.poptrox.js v2.5.2-dev | (c) @ajlkn | github.com/ajlkn/jquery.poptrox | MIT licensed */ -!function(e){e.fn.poptrox_disableSelection=function(){return e(this).css("user-select","none").css("-khtml-user-select","none").css("-moz-user-select","none").css("-o-user-select","none").css("-webkit-user-select","none")},e.fn.poptrox=function(o){if(0==this.length)return e(this);if(this.length>1){for(var t=0;t'),l=e(window),u=[],d=0,h=!1,g=new Array,f=function(){p=l.width(),i=l.height()+s.windowHeightPad;var e=Math.abs(x.width()-x.outerWidth()),o=Math.abs(x.height()-x.outerHeight()),t=p-2*s.windowMargin-e,r=i-2*s.windowMargin-o;x.css("min-width",s.popupWidth).css("min-height",s.popupHeight),v.children().css("max-width",t).css("max-height",r)};s.usePopupLoader||(s.popupLoaderSelector=null),s.usePopupCloser||(s.popupCloserSelector=null),s.usePopupCaption||(s.popupCaptionSelector=null),s.usePopupNav||(s.popupNavPreviousSelector=null,s.popupNavNextSelector=null);var x;x=e(s.popupSelector?s.popupSelector:'
'+(s.popupLoaderSelector?'
'+s.popupLoaderText+"
":"")+'
'+(s.popupCaptionSelector?'
':"")+(s.popupCloserSelector?''+s.popupCloserText+"":"")+(s.popupNavPreviousSelector?'':"")+(s.popupNavNextSelector?'':"")+"
");var v=x.find(".pic"),w=e(),b=x.find(s.popupLoaderSelector),m=x.find(s.popupCaptionSelector),C=x.find(s.popupCloserSelector),y=x.find(s.popupNavNextSelector),S=x.find(s.popupNavPreviousSelector),P=y.add(S);if(s.usePopupDefaultStyling&&(x.css("background",s.popupBackgroundColor).css("color",s.popupTextColor).css("padding",s.popupPadding+"px"),m.length>0&&(x.css("padding-bottom",s.popupCaptionHeight+"px"),m.css("position","absolute").css("left","0").css("bottom","0").css("width","100%").css("text-align","center").css("height",s.popupCaptionHeight+"px").css("line-height",s.popupCaptionHeight+"px"),s.popupCaptionTextSize&&m.css("font-size",popupCaptionTextSize)),C.length>0&&C.html(s.popupCloserText).css("font-size",s.popupCloserTextSize).css("background",s.popupCloserBackgroundColor).css("color",s.popupCloserTextColor).css("display","block").css("width","40px").css("height","40px").css("line-height","40px").css("text-align","center").css("position","absolute").css("text-decoration","none").css("outline","0").css("top","0").css("right","-40px"),b.length>0&&b.html("").css("position","relative").css("font-size",s.popupLoaderTextSize).on("startSpinning",function(o){var t=e("
"+s.popupLoaderText+"
");t.css("height",Math.floor(s.popupHeight/2)+"px").css("overflow","hidden").css("line-height",Math.floor(s.popupHeight/2)+"px").css("text-align","center").css("margin-top",Math.floor((x.height()-t.height()+(m.length>0?m.height():0))/2)).css("color",s.popupTextColor?s.popupTextColor:"").on("xfin",function(){t.fadeTo(300,.5,function(){t.trigger("xfout")})}).on("xfout",function(){t.fadeTo(300,.05,function(){t.trigger("xfin")})}).trigger("xfin"),b.append(t)}).on("stopSpinning",function(e){var o=b.find("div");o.remove()}),2==P.length)){P.css("font-size","75px").css("text-align","center").css("color","#fff").css("text-shadow","none").css("height","100%").css("position","absolute").css("top","0").css("opacity","0.35").css("cursor","pointer").css("box-shadow","inset 0px 0px 10px 0px rgba(0,0,0,0)").poptrox_disableSelection();var k,T;s.usePopupEasyClose?(k="100px",T="100px"):(k="75%",T="25%"),y.css("right","0").css("width",k).html('
>
'),S.css("left","0").css("width",T).html('
<
')}return l.on("resize orientationchange",function(){f()}),m.on("update",function(e,o){o&&0!=o.length||(o=s.popupBlankCaptionText),m.html(o)}),C.css("cursor","pointer").on("click",function(e){return e.preventDefault(),e.stopPropagation(),x.trigger("poptrox_close"),!0}),y.on("click",function(e){e.stopPropagation(),e.preventDefault(),x.trigger("poptrox_next")}),S.on("click",function(e){e.stopPropagation(),e.preventDefault(),x.trigger("poptrox_previous")}),a.css("position","fixed").css("left",0).css("top",0).css("z-index",s.baseZIndex).css("width","100%").css("height","100%").css("text-align","center").css("cursor","pointer").appendTo(s.parent).prepend('
').append('
').hide().on("touchmove",function(e){return!1}).on("click",function(e){e.preventDefault(),e.stopPropagation(),x.trigger("poptrox_close")}),x.css("display","inline-block").css("vertical-align","middle").css("position","relative").css("z-index",1).css("cursor","auto").appendTo(a).hide().on("poptrox_next",function(){var e=d+1;e>=u.length&&(e=0),x.trigger("poptrox_switch",[e])}).on("poptrox_previous",function(){var e=d-1;e<0&&(e=u.length-1),x.trigger("poptrox_switch",[e])}).on("poptrox_reset",function(){f(),x.data("width",s.popupWidth).data("height",s.popupHeight),b.hide().trigger("stopSpinning"),m.hide(),C.hide(),P.hide(),v.hide(),w.attr("src","").detach()}).on("poptrox_open",function(e,o){return!!h||(h=!0,s.useBodyOverflow&&n.css("overflow","hidden"),s.onPopupOpen&&s.onPopupOpen(),x.addClass("loading"),void a.fadeTo(s.fadeSpeed,1,function(){x.trigger("poptrox_switch",[o,!0])}))}).on("poptrox_switch",function(o,t,p){var i;if(!p&&h)return!0;if(h=!0,x.addClass("loading").css("width",x.data("width")).css("height",x.data("height")),m.hide(),w.attr("src")&&w.attr("src",""),w.detach(),i=u[t],w=i.object,w.off("load"),v.css("text-indent","-9999px").show().append(w),"ajax"==i.type?e.get(i.src,function(e){w.html(e),w.trigger("load")}):w.attr("src",i.src),"image"!=i.type){var r,n;r=i.width,n=i.height,"%"==r.slice(-1)&&(r=parseInt(r.substring(0,r.length-1))/100*l.width()),"%"==n.slice(-1)&&(n=parseInt(n.substring(0,n.length-1))/100*l.height()),w.css("position","relative").css("outline","0").css("z-index",s.baseZIndex+100).width(r).height(n)}b.trigger("startSpinning").fadeIn(300),x.show(),s.popupIsFixed?(x.removeClass("loading").width(s.popupWidth).height(s.popupHeight),w.on("load",function(){w.off("load"),b.hide().trigger("stopSpinning"),m.trigger("update",[i.captionText]).fadeIn(s.fadeSpeed),C.fadeIn(s.fadeSpeed),v.css("text-indent",0).hide().fadeIn(s.fadeSpeed,function(){h=!1}),d=t,P.fadeIn(s.fadeSpeed)})):w.on("load",function(){f(),w.off("load"),b.hide().trigger("stopSpinning");var e=w.width(),o=w.height(),p=function(){m.trigger("update",[i.captionText]).fadeIn(s.fadeSpeed),C.fadeIn(s.fadeSpeed),v.css("text-indent",0).hide().fadeIn(s.fadeSpeed,function(){h=!1}),d=t,P.fadeIn(s.fadeSpeed),x.removeClass("loading").data("width",e).data("height",o).css("width","auto").css("height","auto")};e==x.data("width")&&o==x.data("height")?p():x.animate({width:e,height:o},s.popupSpeed,"swing",p)}),"image"!=i.type&&w.trigger("load")}).on("poptrox_close",function(){return!(!h||s.usePopupForceClose)||(h=!0,x.hide().trigger("poptrox_reset"),s.onPopupClose&&s.onPopupClose(),void a.fadeOut(s.fadeSpeed,function(){s.useBodyOverflow&&n.css("overflow","auto"),h=!1}))}).trigger("poptrox_reset"),s.usePopupEasyClose?(m.on("click","a",function(e){e.stopPropagation()}),x.css("cursor","pointer").on("click",function(e){e.stopPropagation(),e.preventDefault(),x.trigger("poptrox_close")})):x.on("click",function(e){e.stopPropagation()}),l.keydown(function(e){if(x.is(":visible"))switch(e.keyCode){case 37:case 32:if(s.usePopupNav)return x.trigger("poptrox_previous"),!1;break;case 39:if(s.usePopupNav)return x.trigger("poptrox_next"),!1;break;case 27:return x.trigger("poptrox_close"),!1}}),r.find(s.selector).each(function(o){var t,p,i=e(this),r=i.find("img"),n=i.data("poptrox");if("ignore"!=n&&i.attr("href")){if(t={src:i.attr("href"),captionText:r.attr("title"),width:null,height:null,type:null,object:null,options:null},s.caption){if("function"==typeof s.caption)c=s.caption(i);else if("selector"in s.caption){var a;a=i.find(s.caption.selector),"attribute"in s.caption?c=a.attr(s.caption.attribute):(c=a.html(),s.caption.remove===!0&&a.remove())}}else c=r.attr("title");if(t.captionText=c,n){var l=n.split(",");0 in l&&(t.type=l[0]),1 in l&&(p=l[1].match(/([0-9%]+)x([0-9%]+)/),p&&3==p.length&&(t.width=p[1],t.height=p[2])),2 in l&&(t.options=l[2])}if(!t.type)switch(p=t.src.match(/\/\/([a-z0-9\.]+)\/.*/),(!p||p.length<2)&&(p=[!1]),p[1]){case"api.soundcloud.com":t.type="soundcloud";break;case"youtu.be":t.type="youtube";break;case"vimeo.com":t.type="vimeo";break;case"wistia.net":t.type="wistia";break;case"bcove.me":t.type="bcove";break;default:t.type="image"}switch(p=t.src.match(/\/\/[a-z0-9\.]+\/(.*)/),t.type){case"iframe":t.object=e(''),t.object.on("click",function(e){e.stopPropagation()}).css("cursor","auto"),t.width&&t.height||(t.width="600",t.height="400");break;case"ajax":t.object=e('
'),t.object.on("click",function(e){e.stopPropagation()}).css("cursor","auto").css("overflow","auto"),t.width&&t.height||(t.width="600",t.height="400");break;case"soundcloud":t.object=e(''),t.src="//w.soundcloud.com/player/?url="+escape(t.src)+(t.options?"&"+t.options:""),t.width="600",t.height="166";break;case"youtube":t.object=e(''),t.src="//www.youtube.com/embed/"+p[1]+(t.options?"?"+t.options:""),t.width&&t.height||(t.width="800",t.height="480");break;case"vimeo":t.object=e(''),t.src="//player.vimeo.com/video/"+p[1]+(t.options?"?"+t.options:""),t.width&&t.height||(t.width="800",t.height="480");break;case"wistia":t.object=e(''),t.src="//fast.wistia.net/"+p[1]+(t.options?"?"+t.options:""),t.width&&t.height||(t.width="800",t.height="480");break;case"bcove":t.object=e(''),t.src="//bcove.me/"+p[1]+(t.options?"?"+t.options:""),t.width&&t.height||(t.width="640",t.height="360");break;default:if(t.object=e(''),s.preload){var p=document.createElement("img");p.src=t.src,g.push(p)}t.width=i.attr("width"),t.height=i.attr("height")}"file:"==window.location.protocol&&t.src.match(/^\/\//)&&(t.src="http:"+t.src),u.push(t),r.removeAttr("title"),i.removeAttr("href").css("cursor","pointer").css("outline",0).on("click",function(e){e.preventDefault(),e.stopPropagation(),x.trigger("poptrox_open",[o])})}}),r.prop("_poptrox",s),r}}(jQuery); diff --git a/assets/js/nav.js b/assets/js/nav.js deleted file mode 100644 index 57a2ed1..0000000 --- a/assets/js/nav.js +++ /dev/null @@ -1,23 +0,0 @@ -class Nav extends HTMLElement { - constructor() { - super(); - } - - connectedCallback() { - this.innerHTML = ` - - `; - } -} -customElements.define('nav-template', Nav); \ No newline at end of file diff --git a/astro.config.mjs b/astro.config.mjs new file mode 100644 index 0000000..d190454 --- /dev/null +++ b/astro.config.mjs @@ -0,0 +1,27 @@ +import { defineConfig } from "astro/config"; +import rehypeExternalLinks from "rehype-external-links"; + +// https://astro.build/config +import mdx from "@astrojs/mdx"; + +// https://astro.build/config +import image from "@astrojs/image"; + +// https://astro.build/config +import svelte from "@astrojs/svelte"; + +// https://astro.build/config +import react from "@astrojs/react"; + +// https://astro.build/config +export default defineConfig({ + integrations: [mdx(), image({ + serviceEntryPoint: "@astrojs/image/sharp" + }), svelte(), react()], + markdown: { + rehypePlugins: [[rehypeExternalLinks, { + target: "_blank", + rel: "noreferrer" + }]] + } +}); \ No newline at end of file diff --git a/fabrics.html b/fabrics.html deleted file mode 100644 index 5b73f3e..0000000 --- a/fabrics.html +++ /dev/null @@ -1,570 +0,0 @@ - - - - - - - - LearnMYOG Gear Fabrics - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
- -
- -
- -
-
-
-

Technical Fabrics

-

Recommended fabrics and materials for outdoor gear and technical apparel sewing projects

-
- - - -

This page contains affiliate links, meaning I make a commission for qualified purchases, at no cost to you. See Disclosures for more information.

- -
-

Pack Fabrics

-
- -

- Fabric selection for the main body of backpacks and bikepacking bags often trades weight against - durability and cost. - Non-breathable coated fabrics and laminates provide water resistance against inclement weather, - but most are not 100% waterproof. - Fabrics woven with higher denier threads feel more durable and help provide a more rigid - structure. -
- Fabric images were shot top-down from the same height for a consistent scale. -

-
- -
-
- - - -
- -
-

HyperD™ 300

-
-
-
💪💪💪
-
💲💲💲
-
🧵🧵🧵
-
🪶 3.9
-
- -
-

- 300D PU Coated Polyester with DWR face. - Excellent beginner pack fabric due to low cost, high sewability, and waterproofing. - Finish has a shiny diamond ripstop pattern in popular colorways. - For additional waterproofing, seal internal seams with - Seam Grip® or heat activated PU Seam Tape. -

-
-
- -
-
- - -
- -
-

Robic® Ripstop

-
-
-
💪💪💪
-
💲💲💲
-
🧵🧵🧵
-
🪶 4.4
-
- -
-

- 210D PU coated Nylon with DWR face. - Strong Nylon 6 content, Robic has excellent durability and water repellence. - Robic sews great, resists fraying, can be matched to 100D or 420D variants, and is - easy on the wallet. - For additional waterproofing, seal internal seams with Seam Grip® or heat activated PU Seam Tape. -

-
-
- -
-
- - -
- -
-

210D Gridstop

-
-
-
💪💪💪
-
💲💲💲
-
🧵🧵🧵
-
🪶 4.8
-
- -
-

- A modern classic pack fabric, Gridstop has an HDPE or UHMWPE (Dyneema) reinforcing ripstop grid in high constrast white. 210D Gridstop is high strength, waterproof with DWR and PU coating, yet can be very difficult to cut often dulling scissors quickly. -

-
-
- -
-
- - -
- -
-

X-Pac® VX21

-
-
-
💪💪💪
-
💲💲💲
-
🧵🧵🧵
-
🪶 6.0
-
- -
-

- X-Pac VX line is a four-layer laminate with a nylon face, waterproofing layer, x-ply, and 50D poly backer. - It's stiff giving packs rigid structure, but curls upon cutting, and needle punctures compromise water resistance. - There are multiple weights, colors, and variants offered. VX21 is the most popular. RX15 is a variant without the poly backer so it can be seam taped with PET Seam Tape. -

-
-
- -
-
- - -
- -
-

ECOPAK™ EPX200

-
-
-
💪💪💪
-
💲💲💲
-
🧵🧵🧵
-
🪶 5.9
-
- -
-

ECOPAK EPX is a 100% recycled laminate with PFC-free DWR. - It's rigid giving packs a bit of structure, has a square grid for efficient pattern layouts, and is the x-grid is smooth for better abrasion resistance. Needle punctures compromise water resistance. - There are multiple weights, colors, and variants offered. ECOPAK EPLX is a variant that can be seam taped with PET Seam Tape. -

-
-
- -
-
- - -
- -
-

ECOPAK™ ULTRA

-
-
-
💪💪💪
-
💲💲💲
-
🧵🧵🧵
-
🪶 3.5
-
- -
-

- Cuben fiber is so 2018. Challenge Ultra is the new cottage darling. With a dyneema-like UHMWPE / polyester woven face and PET film backing for waterproofing, Ultra 200 and 400 are very strong for their weight, yet its long term durability and resistance to delamination is yet to be seen. Ultra is sparsely available and in few colors. Seam tape with PET Seam Tape. -

-
-
-
-
- -

Stuff Sacks and Linings

-

For lightweight bags, stuff sacks, pack liners, pockets, etc durability generally isn't a major - concern. Weight and water proofness may be. A color pop or bright interior are crucial. - Coated and impregnated fabrics are highly water resistent, but are not 100% waterproof. - Ripstop grids increase the tear resistance of these lightweight fabrics. Non-coated variants are - breathable and may be calendered to be downproof and windproof. -

- - -
-
- -

1.1oz Silnylon

-
-
-
💪💪💪
-
💲💲💲
-
🧵🧵🧵
-
🪶 1.2
-
-
-

- While non-breathable, silnylon is strong and easy to wipe clean. - Numerous colors can be found and its very affordable. - Similarly silpoly is an impregnated polyester. Nylon is stronger, but silpoly is more UV resistant and has less stretch making it better for tarps. -

-
- -
- -

1.9oz Coated Ripstop

-
-
-
💪💪💪
-
💲💲💲
-
🧵🧵🧵
-
🪶 2.5
-
-
-

Lightweight, widely available, and low cost. - PU coated on the underside with a DWR on the face, coated ripstop is water repellant - and non-breathable. - Thicker than 1.1 oz sil and less slippery so its easier to sew but its not as easy to wipe clean. -

-
- -
- -

Hex70 XL - PU3000

-
-
-
💪💪💪
-
💲💲💲
-
🧵🧵🧵
-
🪶 3.5
-
-
-

- Higher strength and more durable than 1.9oz PU coated nylon, 2.2 Hex70 XL comes in coated and uncoated variants. - PU coated is preferred for most gear. An excellent fabric for many uses, the wide color range, low cost, and extra width make it highly recommended. -

-
-
-
- -

Mesh and Stretch Pockets

-

Mesh pockets, stretch bottle pockets, padded back panels, and vest straps. - Fabrics are typically described to stretch in one direction (2-way) or lenght and width (4-way). - Varying percent stretch and durability are important to selecting the right materials. - Ordering samples is a smart idea as sources and descriptions vary significantly. - These stretch wovens are generally a blend of either polyester or nylon with elastane/spandex/lycra. -

- -
-
-
- - -
- -
-

Lycra Mesh

-
-
-
💪💪💪
-
💲💲💲
-
🧵🧵🧵
-
🪶 5
-
- -
-

Excellent for very stretchy pockets, Lycra mesh is a very lightweight, tightly woven 4-way stretch. - Its quite durable for the weight however not the best choice for high abrasion areas like a bottom pocket. - Expect 50-80% stretch depending on weight. - For higher abrasion, and weight, look to Spandura or medium weight lycra mesh similar to spandex for athletic wear. -

-
-
- -
-
- -
-
-

Duraweave

-
-
-
💪💪💪
-
💲💲💲
-
🧵🧵🧵
-
🪶 9
-
- -
-

- Unlike spandex, Duraweave is very strong and has less stretch. - These stretch meshes are durable, maintain stretch well, and many are quite abrasion - resistant. 2-way and 4-way will stretch to about 20-30% depending on lycra content. -

-
-
- -
-
- -
-
-

Dyneema Stretch Mesh

-
-
-
💪💪💪
-
💲💲💲
-
🧵🧵🧵
-
🪶 5
-
- -
-

- High tenacity nylon blended with Dyneema adds significant strength and durability to this new wave of stretch mesh fabrics. - Excellent choice for bottom pockets or front pockets intended for rugged environments. Downside is less stretch overall than heavy lycra options. -

-
-
- - -
-
- -
-
-

3D Spacer Mesh

-
-
-
💪💪
-
💲💲💲
-
🧵🧵🧵
-
🪶 8+
-
- -
-

- For padded back panels and shoulders straps, 3D Spacer Mesh is one of the few air mesh materials widely available to MYOGers. - Typically found in 3mm (1/8") or 6mm (1/4"). - Breathable and padded, it can be used either side facing skin. - It sews well as its easy to compress and has very minimal stretch. I prefer 3mm and often line with a PU coated ripstop panel. -

- -
-
-
- -
-

Foam and Frame Sheets

-

Shoulder straps, hip belts, suspension back panels, and rigid bikepacking bags are lined with foam. - For load carrying backpacks, a combination of foam and plastic frame sheet provide effective weight transfer to a hip belt. - Closed cell foam is desired as a denser more durable foam that won't absorb water. Its easy to cut with a hobby knife or rotary cutter and readily accessible to purchase online for cosplay community. - PE foam is used by the big brands and I'm still looking for a source for low MOQ, small sheets for hobbyists. -

- -
-
-
- -
-
-

EVA Foam

-
-
- -
-

- For padding hip belts, shoulders straps, and padded bags, EVA foam is an excellent choice. As closed cell foam its available in many thicknesses and densities. The generic cosplay foam is perfect for pack making and easy to work with. - 4-6mm thicknesses work well for back panels and 6-10mm is perfect for padding strap and hip belts. - If your project requires sewing through the foam, be sure to check the max height of your presser foot to ensure you choose the right size foam! -

-
-
-
-
- -
-
-

ABS Plastic

-
-
- -
-

- For load carrying backpacks, weight transfer to a hip belt requires some sort of back suspension. A plastic frame sheet with or without metal stays is a lightweight option. ABS plastic is almost always black with one side textured and one side smooth. Its easily cut with woodworking tools or by scoring and snapping a hobby knife. I find this 3-pack of 12x24 inch 1/16" thick sheets to be the most economical option. -

-
-
-
-
- -
-
-

HDPE Plastic

-
-
- -
-

- HDPE plastic is another common option for plastic frame sheets. HDPE is nearly always white, slightly translucent and extremely smooth and slippery. Its easily cut with by scoring and snapping however melts faster when using woodworking tools. A great source for HDPE is cheap cutting boards from the discount stores. HDPE scraps can be recycled alongside milk cartons. -

-
-
-
- - -
-
-

Rating System

-
-
-

The following rating system is subjective and based on my experience and research.

-
    -
  • 💪 Strength aka durability. Abrasion resistance, tear strength, seam strength, waterproofness, etc.
  • -
  • 💲 Cost per yard. Some vendors offer 1/2 yard increments for small projects. Most fabrics here are 60" wide.
  • -
  • 🧵 Sewability. How easy is the fabric to work with e.g. fraying, cutting, stitching, seam sealing, etc.
  • -
  • 🪶 Weight. Approximate weight in ounce per square yard, sourced from vendor research.
  • -
-

- For outdoor gear and apparel, use case and expected environment drive the main design criteria. - Weight often must be traded against durability and cost so you should decide for yourself when fabric weight is more important. -

-
-

Back to top

-
- - -
-
-
- - - - - -
- - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/hardware.html b/hardware.html deleted file mode 100644 index f8dffe1..0000000 --- a/hardware.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - - - - - - LearnMYOG Hardware Picker - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
- -
- -
-
-
-

Ultralight Backpack Hardware Catalog

- -
-
- - - - - -
-
-
-
-
- - - -
-
-
-
-
- - - - - - - -
-
-
-
-
- -
-

This page contains affiliate links, meaning I make a commission for qualified purchases, at no cost to you. See Disclosures for more information.

-
-
-
-
- - - - - - - - - - - - - \ No newline at end of file diff --git a/index.html b/index.html deleted file mode 100644 index a3ae755..0000000 --- a/index.html +++ /dev/null @@ -1,306 +0,0 @@ - - - - - - - - LearnMYOG - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
-
-

Trail Running Backpack Refresh!

-

Originally released in 2020, our Trail Running Backpack has become a MYOG mainstay. Refreshed with new materials, improved instructions, and your feedback there's no better time than now to make your first vest pack!

- Trail Running Backpack -
-
- Trail Running Backpack standard strap -
- -
- - - - -
-
-

Make Your Own Outdoor Gear

-

Sewing Patterns for Adventure Gear and Technical Apparel

-
- -
- Camp Pants -

Alpha Camp Pants

-
-
- Alpha Direct Midlayer -

Alpha Raglan Hoodie

-
-
- UL wind shell -

UL Windshell

-
-
- trail running pack -

Trail Running Backpack

-
-
- chonky sling bag -

Chonky Sling

-
-
- fastpack -

Fastpack

-
-
- pullover hoodie -

Everyday Fleece Pullover

-
-
- Do It All Shorts -

DIAS

-
-
- bag with u-shaped zipper -

U-Zip Bag

-
-
- frame bags -

Bikepacking Frame Bag Set

-
-
- feed bag -

Bikepacking Feed Bag

-
-
- running belt -

Running Belt

-
-
- fanny pack -

Everyday Fanny Pack

-
-
- totepack -

Everyday Totepack

-
-
-
-
- -
-
-

Custom Pattern Generators

- -
-
- cinch collar stuff sack -

Simple Cinch Sack

-
-
- roll-top storage bag -

Roll-Top Stuff Sack

-
-
- stuff sack -

Rounded Stuff Sack

-
- -
- zip sack -

Zip Pouch

-
-
-
-
- - -
-
-

Zero to Hero

-

From Day 1 to Gear Making Guru
- Ultimate Guide and Essential Tools

- Show me the way! -
-
- sewist -
-
- -
-
-

Articles and Guides

- -
- -
- sewing tools -

Essential Tools

-
-
- fabrics -

Technical Fabrics

-
-
- backpack hardware -

Pack Hardware

-
-
- zippers -

Zippers

-
-
- Cricut Maker -

Cricut Worth a Buy?

-
-
- zippers -

Corners & Curves

-
-
- podcast episode -

Dispel Maker Fears, ep 42

-
-
- podcast episode -

Sewing with Polartec, ep 58

-
- -
-

Community Partners

- - -
-
- -
-
-
-
-

Opt In for New Patterns

-
-
- -
-
- - - - - - -
- - -
- -
- - -
- -
- -
- -
-
-
-
-
-
- - - - - -
- - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/map.html b/map.html deleted file mode 100644 index bc127d1..0000000 --- a/map.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - - - - - - LearnMYOG Map - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
- -
- - -
-
-

MYOG Suppliers

- -
-

⭐️ LearnMYOG Recommended All-Stars

- -
    -
-
-
- - -
- - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..0493e20 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6445 @@ +{ + "name": "@example/basics", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@example/basics", + "version": "0.0.1", + "dependencies": { + "@astrojs/image": "^0.14.0", + "@astrojs/mdx": "^0.16.0", + "@astrojs/react": "^2.0.2", + "@astrojs/svelte": "^2.0.1", + "@fortawesome/fontawesome-free": "^6.2.1", + "@types/react": "^18.0.27", + "@types/react-dom": "^18.0.10", + "astro": "^2.0.6", + "jquery": "^3.6.3", + "leaflet": "^1.9.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "rehype-external-links": "^2.0.1", + "sharp": "^0.31.3", + "styled-components": "^5.3.6", + "svelte": "^3.55.1" + }, + "devDependencies": { + "@types/jquery": "^3.5.16", + "@types/leaflet": "^1.9.0", + "@types/styled-components": "^5.1.26" + } + }, + "node_modules/@altano/tiny-async-pool": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@altano/tiny-async-pool/-/tiny-async-pool-1.0.2.tgz", + "integrity": "sha512-qQzaI0TBUPdpjZ3qo5b2ziQY9MSNpbziH2ZrE5lvtUZL+kn9GwVuVJwoOubaoNkeDB+rqEefnpu1k+oMpOCYiw==" + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@astrojs/compiler": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-1.0.1.tgz", + "integrity": "sha512-77aacobLKcL98NmhK3OBS5EHIrX9gs1ckB/vGSIdkVZuB7u51V4jh05I6W0tSvG7/86tALv6QtHTRZ8rLhFTbQ==" + }, + "node_modules/@astrojs/image": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@astrojs/image/-/image-0.14.0.tgz", + "integrity": "sha512-prrBz2jZ8bsHm9uNlgeuf+jxQ4jHUD08h7+GXQv1DGfbYQuXQaupJlAg2/hJHmzE5lEvDCL0OYKTXAJ03Gorpw==", + "dependencies": { + "@altano/tiny-async-pool": "^1.0.2", + "http-cache-semantics": "^4.1.0", + "image-size": "^1.0.2", + "kleur": "^4.1.5", + "magic-string": "^0.27.0", + "mime": "^3.0.0" + }, + "peerDependencies": { + "astro": "^2.0.5", + "sharp": ">=0.31.0" + }, + "peerDependenciesMeta": { + "sharp": { + "optional": true + } + } + }, + "node_modules/@astrojs/language-server": { + "version": "0.28.3", + "resolved": "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.28.3.tgz", + "integrity": "sha512-fPovAX/X46eE2w03jNRMpQ7W9m2mAvNt4Ay65lD9wl1Z5vIQYxlg7Enp9qP225muTr4jSVB5QiLumFJmZMAaVA==", + "dependencies": { + "@vscode/emmet-helper": "^2.8.4", + "events": "^3.3.0", + "prettier": "^2.7.1", + "prettier-plugin-astro": "^0.7.0", + "source-map": "^0.7.3", + "vscode-css-languageservice": "^6.0.1", + "vscode-html-languageservice": "^5.0.0", + "vscode-languageserver": "^8.0.1", + "vscode-languageserver-protocol": "^3.17.1", + "vscode-languageserver-textdocument": "^1.0.4", + "vscode-languageserver-types": "^3.17.1", + "vscode-uri": "^3.0.3" + }, + "bin": { + "astro-ls": "bin/nodeServer.js" + } + }, + "node_modules/@astrojs/markdown-remark": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-2.0.1.tgz", + "integrity": "sha512-xQF1rXGJN18m+zZucwRRtmNehuhPMMhZhi6HWKrtpEAKnHSPk8lqf1GXgKH7/Sypglu8ivdECZ+EGs6kOYVasQ==", + "dependencies": { + "@astrojs/prism": "^2.0.0", + "github-slugger": "^1.4.0", + "import-meta-resolve": "^2.1.0", + "rehype-raw": "^6.1.1", + "rehype-stringify": "^9.0.3", + "remark-gfm": "^3.0.1", + "remark-parse": "^10.0.1", + "remark-rehype": "^10.1.0", + "remark-smartypants": "^2.0.0", + "shiki": "^0.11.1", + "unified": "^10.1.2", + "unist-util-visit": "^4.1.0", + "vfile": "^5.3.2" + }, + "peerDependencies": { + "astro": "^2.0.2" + } + }, + "node_modules/@astrojs/mdx": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-0.16.0.tgz", + "integrity": "sha512-HNk0FhNNthI7+pLmheJyPVU36dXE5l+9UwmmnrMV6COHNZIO2t+pnWnsushEDYZjpkYITDwnXKnQAtD8Mqj4xw==", + "dependencies": { + "@astrojs/markdown-remark": "^2.0.1", + "@astrojs/prism": "^2.0.0", + "@mdx-js/mdx": "^2.1.2", + "@mdx-js/rollup": "^2.1.1", + "acorn": "^8.8.0", + "es-module-lexer": "^0.10.5", + "estree-util-visit": "^1.2.0", + "github-slugger": "^1.4.0", + "gray-matter": "^4.0.3", + "kleur": "^4.1.4", + "rehype-raw": "^6.1.1", + "remark-frontmatter": "^4.0.1", + "remark-gfm": "^3.0.1", + "remark-smartypants": "^2.0.0", + "shiki": "^0.11.1", + "unist-util-visit": "^4.1.0", + "vfile": "^5.3.2" + }, + "engines": { + "node": ">=16.12.0" + } + }, + "node_modules/@astrojs/prism": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-2.0.0.tgz", + "integrity": "sha512-YgeoeEPqsxaEpg0rwe/bUq3653LqSQnMjrLlpYwrbQQMQQqz6Y5yXN+RX3SfLJ6ppNb4+Fu2+Z49EXjk48Ihjw==", + "dependencies": { + "prismjs": "^1.28.0" + }, + "engines": { + "node": ">=16.12.0" + } + }, + "node_modules/@astrojs/react": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@astrojs/react/-/react-2.0.2.tgz", + "integrity": "sha512-UmQNvzJul5M/Q9aZJXnqz4z0ODZXkLuaNvgsYoKB7OdM8c2v85FsTjMZZJ7BvFo4On31jJ0rL/gwTaCeuYqmpw==", + "dependencies": { + "@babel/core": ">=7.0.0-0 <8.0.0", + "@babel/plugin-transform-react-jsx": "^7.17.12" + }, + "engines": { + "node": ">=16.12.0" + }, + "peerDependencies": { + "@types/react": "^17.0.50 || ^18.0.21", + "@types/react-dom": "^17.0.17 || ^18.0.6", + "react": "^17.0.2 || ^18.0.0", + "react-dom": "^17.0.2 || ^18.0.0" + } + }, + "node_modules/@astrojs/svelte": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@astrojs/svelte/-/svelte-2.0.1.tgz", + "integrity": "sha512-CEr6tVtyEq10oIiEZ4l4/RxpN6lMjJ3I5B92rhPy5BANiszlFWMajtBmvz6sEdU5TzELGgLJfZtqm3Gl6tpMSQ==", + "dependencies": { + "@sveltejs/vite-plugin-svelte": "^2.0.2", + "svelte2tsx": "^0.5.11" + }, + "engines": { + "node": ">=16.12.0" + }, + "peerDependencies": { + "astro": "^2.0.4", + "svelte": "^3.54.0" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-2.0.0.tgz", + "integrity": "sha512-RnWojVMIsql3GGWDP5pNWmhmBQVkCpxGNZ8yPr2cbmUqsUYGSvErhqfkLfro9j2/STi5UDmSpNgjPkQmXpgnKw==", + "dependencies": { + "ci-info": "^3.3.1", + "debug": "^4.3.4", + "dlv": "^1.1.3", + "dset": "^3.1.2", + "is-docker": "^3.0.0", + "is-wsl": "^2.2.0", + "undici": "^5.14.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": ">=16.12.0" + } + }, + "node_modules/@astrojs/webapi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@astrojs/webapi/-/webapi-2.0.0.tgz", + "integrity": "sha512-gziwy+XvY+/B9mq/eurgJMZ4iFnkcqg1wb0tA8BsVfiUPwl7yQKAFrBxrs2rWfKMXyWlVaTFc8rAYcB5VXQEuw==", + "dependencies": { + "undici": "^5.14.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.20.14", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.14.tgz", + "integrity": "sha512-0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.20.12", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.12.tgz", + "integrity": "sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==", + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helpers": "^7.20.7", + "@babel/parser": "^7.20.7", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.12", + "@babel/types": "^7.20.7", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.20.14", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz", + "integrity": "sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==", + "dependencies": { + "@babel/types": "^7.20.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz", + "integrity": "sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.10", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz", + "integrity": "sha512-nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==", + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.20.13", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.20.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.15.tgz", + "integrity": "sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.13.tgz", + "integrity": "sha512-MmTZx/bkUrfJhhYAYt3Urjm+h8DQGrPrnKQ94jLo7NLuOU+T89a7IByhKmrb8SKhrIYIQ0FN0CHMbnFRen4qNw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.20.13", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz", + "integrity": "sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.19.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.20.13", + "@babel/types": "^7.20.7", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.7.tgz", + "integrity": "sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==", + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emmetio/abbreviation": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.2.3.tgz", + "integrity": "sha512-87pltuCPt99aL+y9xS6GPZ+Wmmyhll2WXH73gG/xpGcQ84DRnptBsI2r0BeIQ0EB/SQTOe2ANPqFqj3Rj5FOGA==", + "dependencies": { + "@emmetio/scanner": "^1.0.0" + } + }, + "node_modules/@emmetio/css-abbreviation": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@emmetio/css-abbreviation/-/css-abbreviation-2.1.4.tgz", + "integrity": "sha512-qk9L60Y+uRtM5CPbB0y+QNl/1XKE09mSO+AhhSauIfr2YOx/ta3NJw2d8RtCFxgzHeRqFRr8jgyzThbu+MZ4Uw==", + "dependencies": { + "@emmetio/scanner": "^1.0.0" + } + }, + "node_modules/@emmetio/scanner": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emmetio/scanner/-/scanner-1.0.0.tgz", + "integrity": "sha512-8HqW8EVqjnCmWXVpqAOZf+EGESdkR27odcMMMGefgKXtar00SoYNSryGv//TELI4T3QFsECo78p+0lmalk/CFA==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", + "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", + "dependencies": { + "@emotion/memoize": "^0.8.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" + }, + "node_modules/@emotion/stylis": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz", + "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==" + }, + "node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "node_modules/@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@fortawesome/fontawesome-free": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.2.1.tgz", + "integrity": "sha512-viouXhegu/TjkvYQoiRZK3aax69dGXxgEjpvZW81wIJdxm5Fnvp3VVIP4VHKqX4SvFw6qpmkILkD4RJWAdrt7A==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@ljharb/has-package-exports-patterns": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@ljharb/has-package-exports-patterns/-/has-package-exports-patterns-0.0.2.tgz", + "integrity": "sha512-4/RWEeXDO6bocPONheFe6gX/oQdP/bEpv0oL4HqjPP5DCenBSt0mHgahppY49N0CpsaqffdwPq+TlX9CYOq2Dw==" + }, + "node_modules/@mdx-js/mdx": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.2.1.tgz", + "integrity": "sha512-hZ3ex7exYLJn6FfReq8yTvA6TE53uW9UHJQM9IlSauOuS55J9y8RtA7W+dzp6Yrzr00/U1sd7q+Wf61q6SfiTQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/mdx": "^2.0.0", + "estree-util-build-jsx": "^2.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-util-to-js": "^1.1.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^2.0.0", + "markdown-extensions": "^1.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^2.0.0", + "remark-parse": "^10.0.0", + "remark-rehype": "^10.0.0", + "unified": "^10.0.0", + "unist-util-position-from-estree": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/rollup": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mdx-js/rollup/-/rollup-2.2.1.tgz", + "integrity": "sha512-wpGeK9iO7gPEIyC/ZTiggLY/MkEWDj5IWSsjlpkefgjb5RbmUukXU6/D2rHA+VAopxigS3NlaIL2ctpYBi4fmg==", + "dependencies": { + "@mdx-js/mdx": "^2.0.0", + "@rollup/pluginutils": "^5.0.0", + "source-map": "^0.7.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "rollup": ">=2" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgr/utils": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", + "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==", + "dependencies": { + "cross-spawn": "^7.0.3", + "is-glob": "^4.0.3", + "open": "^8.4.0", + "picocolors": "^1.0.0", + "tiny-glob": "^0.2.9", + "tslib": "^2.4.0" + }, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.0.2.tgz", + "integrity": "sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==", + "dependencies": { + "debug": "^4.3.4", + "deepmerge": "^4.2.2", + "kleur": "^4.1.5", + "magic-string": "^0.27.0", + "svelte-hmr": "^0.15.1", + "vitefu": "^0.2.3" + }, + "engines": { + "node": "^14.18.0 || >= 16" + }, + "peerDependencies": { + "svelte": "^3.54.0", + "vite": "^4.0.0" + } + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz", + "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz", + "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==", + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/debug": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz", + "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/geojson": { + "version": "7946.0.10", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.10.tgz", + "integrity": "sha512-Nmh0K3iWQJzniTuPRcJn5hxXkfB1T1pgB89SBig5PlJQU5yocazeu4jATJlaA0GYFKWMqDdvYemoSnF2pXgLVA==", + "dev": true + }, + "node_modules/@types/hast": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "dev": true, + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "node_modules/@types/jquery": { + "version": "3.5.16", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.16.tgz", + "integrity": "sha512-bsI7y4ZgeMkmpG9OM710RRzDFp+w4P1RGiIt30C1mSBT+ExCleeh4HObwgArnDFELmRrOpXgSYN9VF1hj+f1lw==", + "dev": true, + "dependencies": { + "@types/sizzle": "*" + } + }, + "node_modules/@types/json5": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.30.tgz", + "integrity": "sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA==" + }, + "node_modules/@types/leaflet": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@types/leaflet/-/leaflet-1.9.0.tgz", + "integrity": "sha512-7LeOSj7EloC5UcyOMo+1kc3S1UT3MjJxwqsMT1d2PTyvQz53w0Y0oSSk9nwZnOZubCmBvpSNGceucxiq+ZPEUw==", + "dev": true, + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", + "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.3.tgz", + "integrity": "sha512-IgHxcT3RC8LzFLhKwP3gbMPeaK7BM9eBH46OdapPA7yvuIUJ8H6zHZV53J8hGZcTSnt95jANt+rTBNUUc22ACQ==" + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + }, + "node_modules/@types/nlcst": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-1.0.0.tgz", + "integrity": "sha512-3TGCfOcy8R8mMQ4CNSNOe3PG66HttvjcLzCoOpvXvDtfWOTi+uT/rxeOKm/qEwbM4SNe1O/PjdiBK2YcTjU4OQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/parse5": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", + "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/react": { + "version": "18.0.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz", + "integrity": "sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.10", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.10.tgz", + "integrity": "sha512-E42GW/JA4Qv15wQdqJq8DL4JhNpB3prJgjgapN3qJT9K2zO5IIAQh4VXvCEDupoqAwnz0cY4RlXeC/ajX5SFHg==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==" + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "node_modules/@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "node_modules/@types/styled-components": { + "version": "5.1.26", + "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.26.tgz", + "integrity": "sha512-KuKJ9Z6xb93uJiIyxo/+ksS7yLjS1KzG6iv5i78dhVg/X3u5t1H7juRWqVmodIdz6wGVaIApo1u01kmFRdJHVw==", + "dev": true, + "dependencies": { + "@types/hoist-non-react-statics": "*", + "@types/react": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" + }, + "node_modules/@vscode/emmet-helper": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/@vscode/emmet-helper/-/emmet-helper-2.8.6.tgz", + "integrity": "sha512-IIB8jbiKy37zN8bAIHx59YmnIelY78CGHtThnibD/d3tQOKRY83bYVi9blwmZVUZh6l9nfkYH3tvReaiNxY9EQ==", + "dependencies": { + "emmet": "^2.3.0", + "jsonc-parser": "^2.3.0", + "vscode-languageserver-textdocument": "^1.0.1", + "vscode-languageserver-types": "^3.15.1", + "vscode-uri": "^2.1.2" + } + }, + "node_modules/@vscode/emmet-helper/node_modules/vscode-uri": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-2.1.2.tgz", + "integrity": "sha512-8TEXQxlldWAuIODdukIb+TR5s+9Ds40eSJrw+1iDDA9IFORPjMELarNQE3myz5XIkWWpdprmJjm1/SxMlWOC8A==" + }, + "node_modules/@vscode/l10n": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.11.tgz", + "integrity": "sha512-ukOMWnCg1tCvT7WnDfsUKQOFDQGsyR5tNgRpwmqi+5/vzU3ghdDXzvIM4IOPdSb3OeSsBNvmSL8nxIVOqi2WXA==" + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astring": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.4.tgz", + "integrity": "sha512-97a+l2LBU3Op3bBQEff79i/E4jMD2ZLFD8rHx9B6mXyB2uQwhJQYfiDqUwtfjF4QA1F2qs//N6Cw8LetMbQjcw==", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/astro": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/astro/-/astro-2.0.6.tgz", + "integrity": "sha512-aI8Ijy2EpMyP5SpjmDJpEUdNL6CUAxnja6IeaBC1BokD/mNAnijtmMnTyWVI3UeEZ727wYLISQMyqCfEUq8VNA==", + "dependencies": { + "@astrojs/compiler": "^1.0.1", + "@astrojs/language-server": "^0.28.3", + "@astrojs/markdown-remark": "^2.0.1", + "@astrojs/telemetry": "^2.0.0", + "@astrojs/webapi": "^2.0.0", + "@babel/core": "^7.18.2", + "@babel/generator": "^7.18.2", + "@babel/parser": "^7.18.4", + "@babel/plugin-transform-react-jsx": "^7.17.12", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.4", + "@types/babel__core": "^7.1.19", + "@types/yargs-parser": "^21.0.0", + "acorn": "^8.8.1", + "boxen": "^6.2.1", + "ci-info": "^3.3.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^0.5.0", + "debug": "^4.3.4", + "deepmerge-ts": "^4.2.2", + "devalue": "^4.2.0", + "diff": "^5.1.0", + "es-module-lexer": "^1.1.0", + "estree-walker": "^3.0.1", + "execa": "^6.1.0", + "fast-glob": "^3.2.11", + "github-slugger": "^2.0.0", + "gray-matter": "^4.0.3", + "html-escaper": "^3.0.3", + "kleur": "^4.1.4", + "magic-string": "^0.27.0", + "mime": "^3.0.0", + "ora": "^6.1.0", + "path-to-regexp": "^6.2.1", + "preferred-pm": "^3.0.3", + "prompts": "^2.4.2", + "rehype": "^12.0.1", + "semver": "^7.3.8", + "server-destroy": "^1.0.1", + "shiki": "^0.11.1", + "slash": "^4.0.0", + "string-width": "^5.1.2", + "strip-ansi": "^7.0.1", + "supports-esm": "^1.0.0", + "tsconfig-resolver": "^3.0.1", + "typescript": "*", + "unist-util-visit": "^4.1.0", + "vfile": "^5.3.2", + "vite": "^4.0.3", + "vitefu": "^0.2.4", + "yargs-parser": "^21.0.1", + "zod": "^3.17.3" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": ">=16.12.0", + "npm": ">=6.14.0" + } + }, + "node_modules/astro/node_modules/es-module-lexer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.1.0.tgz", + "integrity": "sha512-fJg+1tiyEeS8figV+fPcPpm8WqJEflG3yPU0NOm5xMvrNkuiy7HzX/Ljng4Y0hAoiw4/3hQTCFYw+ub8+a2pRA==" + }, + "node_modules/astro/node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==" + }, + "node_modules/babel-plugin-styled-components": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.7.tgz", + "integrity": "sha512-i7YhvPgVqRKfoQ66toiZ06jPNA3p6ierpfUuEWxNF+fV27Uv5gxBkf8KZLHUCc1nFA9j6+80pYoIpqCeyW3/bA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-module-imports": "^7.16.0", + "babel-plugin-syntax-jsx": "^6.18.0", + "lodash": "^4.17.11", + "picomatch": "^2.3.0" + }, + "peerDependencies": { + "styled-components": ">= 2" + } + }, + "node_modules/babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bl": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", + "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", + "dependencies": { + "buffer": "^6.0.3", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^6.2.0", + "chalk": "^4.1.2", + "cli-boxes": "^3.0.0", + "string-width": "^5.0.1", + "type-fest": "^2.5.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/boxen/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/boxen/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/boxen/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/boxen/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/boxen/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/boxen/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001450", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001450.tgz", + "integrity": "sha512-qMBmvmQmFXaSxexkjjfMvD5rnDL0+m+dUMZKoDYsGG8iZN29RuYh9eRoMvKsT6uMAWlyUUGDEQGJJYjzCIO9ew==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/ci-info": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz", + "integrity": "sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/color/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==" + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/css-to-react-native": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.1.0.tgz", + "integrity": "sha512-AryfkFA29b4I3vG7N4kxFboq15DxwSXzhXM37XNEjwJMgjYIc8BcqfiprpAqX0zadI5PMByEIwAMzXxk5Vcc4g==", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dedent-js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dedent-js/-/dedent-js-1.0.1.tgz", + "integrity": "sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==" + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.0.tgz", + "integrity": "sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deepmerge-ts": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-4.2.2.tgz", + "integrity": "sha512-Ka3Kb21tiWjvQvS9U+1Dx+aqFAHsdTnMdYptLTmC2VAmDFMugWMY1e15aTODstipmCun8iNuqeSfcx6rsUUk0Q==", + "engines": { + "node": ">=12.4.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.2.3.tgz", + "integrity": "sha512-JG6Q248aN0pgFL57e3zqTVeFraBe+5W2ugvv1mLXsJP6YYIYJhRZhAl7QP8haJrqob6X10F9NEkuCvNILZTPeQ==" + }, + "node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "node_modules/dset": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.2.tgz", + "integrity": "sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==", + "engines": { + "node": ">=4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==" + }, + "node_modules/emmet": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/emmet/-/emmet-2.3.6.tgz", + "integrity": "sha512-pLS4PBPDdxuUAmw7Me7+TcHbykTsBKN/S9XJbUOMFQrNv9MoshzyMFK/R57JBm94/6HSL4vHnDeEmxlC82NQ4A==", + "dependencies": { + "@emmetio/abbreviation": "^2.2.3", + "@emmetio/css-abbreviation": "^2.1.4" + } + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/es-module-lexer": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.10.5.tgz", + "integrity": "sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==" + }, + "node_modules/esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.1.tgz", + "integrity": "sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.2.tgz", + "integrity": "sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz", + "integrity": "sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.1.1.tgz", + "integrity": "sha512-tW/ADSJON4o+T8rSmSX1ZXdat4n6bVOu0iTUFY9ZFF2dD/1/Hug8Lc/HYuJRA4Mop9zDZHQMo1m4lIxxJHkTjQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz", + "integrity": "sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-6.1.0.tgz", + "integrity": "sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^3.0.1", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-yarn-workspace-root2": { + "version": "1.2.16", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", + "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", + "dependencies": { + "micromatch": "^4.0.2", + "pkg-dir": "^4.2.0" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==" + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==" + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-package-exports": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/has-package-exports/-/has-package-exports-1.3.0.tgz", + "integrity": "sha512-e9OeXPQnmPhYoJ63lXC4wWe34TxEGZDZ3OQX9XRqp2VwsfLl3bQBy7VehLnd34g3ef8CmYlBLGqEMKXuz8YazQ==", + "dependencies": { + "@ljharb/has-package-exports-patterns": "^0.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-7.1.1.tgz", + "integrity": "sha512-R6PoNcUs89ZxLJmMWsVbwSWuz95/9OriyQZ3e2ybwqGsRXzhA6gv49rgGmQvLbZuSNDv9fCg7vV7gXUsvtUFaA==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "hastscript": "^7.0.0", + "property-information": "^6.0.0", + "vfile": "^5.0.0", + "vfile-location": "^4.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-3.1.1.tgz", + "integrity": "sha512-jdlwBjEexy1oGz0aJ2f4GKMaVKkA9jwjr4MjAAI22E5fM/TXVZHuS5OpONtdeIkRKqAaryQ2E9xNQxijoThSZA==", + "dependencies": { + "@types/hast": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-7.2.3.tgz", + "integrity": "sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/parse5": "^6.0.0", + "hast-util-from-parse5": "^7.0.0", + "hast-util-to-parse5": "^7.0.0", + "html-void-elements": "^2.0.0", + "parse5": "^6.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.2.1.tgz", + "integrity": "sha512-kiGD9WIW3gRKK8Gao3n1f+ahUeTMeJUJILnIT2QNrPigDNdH7rJxzhEbh81UajGeAdAHFecT1a+fLVOCTq9B4Q==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "estree-util-attach-comments": "^2.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdxjs-esm": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.1", + "unist-util-position": "^4.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.4.tgz", + "integrity": "sha512-4tpQTUOr9BMjtYyNlt0P50mH7xj0Ks2xpo8M943Vykljf99HW6EzulIoJP1N3eKOSScEHzyzi9dm7/cn0RfGwA==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-raw": "^7.0.0", + "hast-util-whitespace": "^2.0.0", + "html-void-elements": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-7.1.0.tgz", + "integrity": "sha512-YNRgAJkH2Jky5ySkIqFXTQiaqcAtJyVE+D5lkN6CdtOqrnkLfGYYrEcKuHOJZlp+MwjSwuD3fZuawI+sic/RBw==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-7.2.0.tgz", + "integrity": "sha512-TtYPq24IldU8iKoJQqvZOuhi5CyCQRAbvDOX0x1eW6rsHSxa/1i2CCiptNTotGHJ3VoHRGmqiv6/D3q113ikkw==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^3.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==" + }, + "node_modules/html-void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz", + "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "node_modules/human-signals": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-3.0.1.tgz", + "integrity": "sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==", + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/image-size": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.0.2.tgz", + "integrity": "sha512-xfOoWjceHntRb3qFCrh5ZFORYH8XCdYpASltMhZ/Q0KZiOwjdE/Yl2QCiWdwD+lygV5bMCvauzgu5PxBX/Yerg==", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/import-meta-resolve": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.1.tgz", + "integrity": "sha512-C6lLL7EJPY44kBvA80gq4uMsVFw5x3oSKfuMl1cuZ2RkI5+UJqQXgn+6hlUew0y4ig7Ypt4CObAAIzU53Nfpuw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/is-absolute-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", + "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-reference": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.1.tgz", + "integrity": "sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-wsl/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/jquery": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.3.tgz", + "integrity": "sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg==" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", + "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==" + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/leaflet": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.3.tgz", + "integrity": "sha512-iB2cR9vAkDOu5l3HAay2obcUHZ7xwUBBjph8+PGtmW/2lYhbLizWtG7nTeYht36WfOslixQF9D/uSIzhZgGMfQ==" + }, + "node_modules/load-yaml-file": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", + "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", + "dependencies": { + "graceful-fs": "^4.1.5", + "js-yaml": "^3.13.0", + "pify": "^4.0.1", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/load-yaml-file/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/log-symbols": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", + "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", + "dependencies": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/markdown-extensions": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", + "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", + "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", + "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", + "dependencies": { + "@types/mdast": "^3.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", + "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.1.tgz", + "integrity": "sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-extension-frontmatter": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.1.tgz", + "integrity": "sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==", + "dependencies": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm-autolink-literal": "^1.0.0", + "mdast-util-gfm-footnote": "^1.0.0", + "mdast-util-gfm-strikethrough": "^1.0.0", + "mdast-util-gfm-table": "^1.0.0", + "mdast-util-gfm-task-list-item": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "ccount": "^2.0.0", + "mdast-util-find-and-replace": "^2.0.0", + "micromark-util-character": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", + "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-util-normalize-identifier": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", + "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", + "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", + "dependencies": { + "@types/mdast": "^3.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", + "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.0.tgz", + "integrity": "sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==", + "dependencies": { + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdx-jsx": "^2.0.0", + "mdast-util-mdxjs-esm": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.2.tgz", + "integrity": "sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.1.tgz", + "integrity": "sha512-dV398twlcAKiqQfj3BkC4PWinVlG1YSL/qs71M7z8xmSksqp3lATH+qrmWUJBOIjOYcD5xuIu6k1ld2btB3EqQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "ccount": "^2.0.0", + "mdast-util-from-markdown": "^1.1.0", + "mdast-util-to-markdown": "^1.3.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^4.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.1.tgz", + "integrity": "sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", + "dependencies": { + "@types/mdast": "^3.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "12.2.6", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.6.tgz", + "integrity": "sha512-Kfo1JNUsi6r6CI7ZOJ6yt/IEKMjMK4nNjQ8C+yc8YBbIlDSp9dmj0zY90ryiu6Vy4CVGv0zi1H4ZoIaYVV8cwA==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-definitions": "^5.0.0", + "micromark-util-sanitize-uri": "^1.1.0", + "trim-lines": "^3.0.0", + "unist-builder": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", + "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^3.0.0", + "mdast-util-to-string": "^3.0.0", + "micromark-util-decode-string": "^1.0.0", + "unist-util-visit": "^4.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz", + "integrity": "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==", + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", + "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", + "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-extension-frontmatter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.0.0.tgz", + "integrity": "sha512-EXjmRnupoX6yYuUJSQhrQ9ggK0iQtQlpi6xeJzVD5xscyAI+giqco5fdymayZhJMbIFecjnE2yz85S9NzIgQpg==", + "dependencies": { + "fault": "^2.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz", + "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^1.0.0", + "micromark-extension-gfm-footnote": "^1.0.0", + "micromark-extension-gfm-strikethrough": "^1.0.0", + "micromark-extension-gfm-table": "^1.0.0", + "micromark-extension-gfm-tagfilter": "^1.0.0", + "micromark-extension-gfm-task-list-item": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz", + "integrity": "sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==", + "dependencies": { + "micromark-core-commonmark": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz", + "integrity": "sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz", + "integrity": "sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz", + "integrity": "sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==", + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz", + "integrity": "sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.4.tgz", + "integrity": "sha512-TCgLxqW6ReQ3AJgtj1P0P+8ZThBTloLbeb7jNaqr6mCOLDpxUiBFE/9STgooMZttEwOQu5iEcCCa3ZSDhY9FGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz", + "integrity": "sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==", + "dependencies": { + "@types/acorn": "^4.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz", + "integrity": "sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==", + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz", + "integrity": "sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^1.0.0", + "micromark-extension-mdx-jsx": "^1.0.0", + "micromark-extension-mdx-md": "^1.0.0", + "micromark-extension-mdxjs-esm": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz", + "integrity": "sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==", + "dependencies": { + "micromark-core-commonmark": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.1.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", + "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", + "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.7.tgz", + "integrity": "sha512-QAdFbkQagTZ/eKb8zDGqmjvgevgJH3+aQpvvKrXWxNJp3o8/l2cAbbrBd0E04r0Gx6nssPpqWIjnbHFvZu5qsQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", + "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", + "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", + "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", + "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", + "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", + "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", + "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", + "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", + "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", + "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.1.tgz", + "integrity": "sha512-mkg3BaWlw6ZTkQORrKVBW4o9ICXPxLtGz51vml5mQpKFdo9vqIX68CAx5JhTOdjQyAHH7JFmm4rh8toSPQZUmg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "estree-util-visit": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-location": "^4.0.0", + "vfile-message": "^3.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", + "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", + "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", + "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", + "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", + "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", + "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", + "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, + "node_modules/nlcst-to-string": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-3.1.1.tgz", + "integrity": "sha512-63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==", + "dependencies": { + "@types/nlcst": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-abi": { + "version": "3.31.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.31.0.tgz", + "integrity": "sha512-eSKV6s+APenqVh8ubJyiu/YhZgxQpGP66ntzUb3lY1xB9ukSRaGnx0AIxI+IM+1+IVYC1oWobgG5L3Lt9ARykQ==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==" + }, + "node_modules/node-releases": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.9.tgz", + "integrity": "sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==" + }, + "node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/ora/-/ora-6.1.2.tgz", + "integrity": "sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==", + "dependencies": { + "bl": "^5.0.0", + "chalk": "^5.0.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.6.1", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.1.0", + "log-symbols": "^5.1.0", + "strip-ansi": "^7.0.1", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", + "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.0.tgz", + "integrity": "sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-latin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-5.0.1.tgz", + "integrity": "sha512-b/K8ExXaWC9t34kKeDV8kGXBkXZ1HCSAZRYE7HR14eA1GlXX5L8iWhs8USJNhQU9q5ci413jCKF0gOyovvyRBg==", + "dependencies": { + "nlcst-to-string": "^3.0.0", + "unist-util-modify-children": "^3.0.0", + "unist-util-visit-children": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/preferred-pm": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.0.3.tgz", + "integrity": "sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==", + "dependencies": { + "find-up": "^5.0.0", + "find-yarn-workspace-root2": "1.2.16", + "path-exists": "^4.0.0", + "which-pm": "2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prettier": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.3.tgz", + "integrity": "sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-astro": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/prettier-plugin-astro/-/prettier-plugin-astro-0.7.2.tgz", + "integrity": "sha512-mmifnkG160BtC727gqoimoxnZT/dwr8ASxpoGGl6EHevhfblSOeu+pwH1LAm5Qu1MynizktztFujHHaijLCkww==", + "dependencies": { + "@astrojs/compiler": "^0.31.3", + "prettier": "^2.7.1", + "sass-formatter": "^0.7.5", + "synckit": "^0.8.4" + }, + "engines": { + "node": "^14.15.0 || >=16.0.0", + "pnpm": ">=7.14.0" + } + }, + "node_modules/prettier-plugin-astro/node_modules/@astrojs/compiler": { + "version": "0.31.4", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-0.31.4.tgz", + "integrity": "sha512-6bBFeDTtPOn4jZaiD3p0f05MEGQL9pw2Zbfj546oFETNmjJFWO3nzHz6/m+P53calknCvyVzZ5YhoBLIvzn5iw==" + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/property-information": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", + "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "peer": true + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/rehype": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-12.0.1.tgz", + "integrity": "sha512-ey6kAqwLM3X6QnMDILJthGvG1m1ULROS9NT4uG9IDCuv08SFyLlreSuvOa//DgEvbXx62DS6elGVqusWhRUbgw==", + "dependencies": { + "@types/hast": "^2.0.0", + "rehype-parse": "^8.0.0", + "rehype-stringify": "^9.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-external-links": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-2.0.1.tgz", + "integrity": "sha512-u2dNypma+ps12SJWlS23zvbqwNx0Hl24t0YHXSM/6FCZj/pqWETCO3WyyrvALv4JYvRtuPjhiv2Lpen15ESqbA==", + "dependencies": { + "@types/hast": "^2.0.0", + "extend": "^3.0.0", + "is-absolute-url": "^4.0.0", + "space-separated-tokens": "^2.0.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-8.0.4.tgz", + "integrity": "sha512-MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-from-parse5": "^7.0.0", + "parse5": "^6.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-6.1.1.tgz", + "integrity": "sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-raw": "^7.2.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-9.0.3.tgz", + "integrity": "sha512-kWiZ1bgyWlgOxpqD5HnxShKAdXtb2IUljn3hQAhySeak6IOQPPt6DeGnsIh4ixm7yKJWzm8TXFuC/lPfcWHJqw==", + "dependencies": { + "@types/hast": "^2.0.0", + "hast-util-to-html": "^8.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-frontmatter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz", + "integrity": "sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-frontmatter": "^1.0.0", + "micromark-extension-frontmatter": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", + "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.2.1.tgz", + "integrity": "sha512-R9wcN+/THRXTKyRBp6Npo/mcbGA2iT3N4G8qUqLA5pOEg7kBidHv8K2hHidCMYZ6DXmwK18umu0K4cicgA2PPQ==", + "dependencies": { + "mdast-util-mdx": "^2.0.0", + "micromark-extension-mdxjs": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz", + "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-2.0.0.tgz", + "integrity": "sha512-Rc0VDmr/yhnMQIz8n2ACYXlfw/P/XZev884QU1I5u+5DgJls32o97Vc1RbK3pfumLsJomS2yy8eT4Fxj/2MDVA==", + "dependencies": { + "retext": "^8.1.0", + "retext-smartypants": "^5.1.0", + "unist-util-visit": "^4.1.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/restore-cursor": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retext": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-8.1.0.tgz", + "integrity": "sha512-N9/Kq7YTn6ZpzfiGW45WfEGJqFf1IM1q8OsRa1CGzIebCJBNCANDRmOrholiDRGKo/We7ofKR4SEvcGAWEMD3Q==", + "dependencies": { + "@types/nlcst": "^1.0.0", + "retext-latin": "^3.0.0", + "retext-stringify": "^3.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-3.1.0.tgz", + "integrity": "sha512-5MrD1tuebzO8ppsja5eEu+ZbBeUNCjoEarn70tkXOS7Bdsdf6tNahsv2bY0Z8VooFF6cw7/6S+d3yI/TMlMVVQ==", + "dependencies": { + "@types/nlcst": "^1.0.0", + "parse-latin": "^5.0.0", + "unherit": "^3.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-5.2.0.tgz", + "integrity": "sha512-Do8oM+SsjrbzT2UNIKgheP0hgUQTDDQYyZaIY3kfq0pdFzoPk+ZClYJ+OERNXveog4xf1pZL4PfRxNoVL7a/jw==", + "dependencies": { + "@types/nlcst": "^1.0.0", + "nlcst-to-string": "^3.0.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-3.1.0.tgz", + "integrity": "sha512-767TLOaoXFXyOnjx/EggXlb37ZD2u4P1n0GJqVdpipqACsQP+20W+BNpMYrlJkq7hxffnFk+jc6mAK9qrbuB8w==", + "dependencies": { + "@types/nlcst": "^1.0.0", + "nlcst-to-string": "^3.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.12.1.tgz", + "integrity": "sha512-t9elERrz2i4UU9z7AwISj3CQcXP39cWxgRWLdf4Tm6aKm1eYrqHIgjzXBgb67GNY1sZckTFFi0oMozh3/S++Ig==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/s.color": { + "version": "0.0.15", + "resolved": "https://registry.npmjs.org/s.color/-/s.color-0.0.15.tgz", + "integrity": "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA==" + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/sass-formatter": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/sass-formatter/-/sass-formatter-0.7.5.tgz", + "integrity": "sha512-NKFP8ddjhUYi6A/iD1cEtzkEs91U61kzqe3lY9SVNuvX7LGc88xnEN0mmsWL7Ol//YTi2GL/ol7b9XZ2+hgXuA==", + "dependencies": { + "suf-log": "^2.5.3" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/server-destroy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==" + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/sharp": { + "version": "0.31.3", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.31.3.tgz", + "integrity": "sha512-XcR4+FCLBFKw1bdB+GEhnUNXNXvnt0tDo4WsBsraKymuo/IAuPuCBVAL2wIkUw2r/dwFW5Q5+g66Kwl2dgDFVg==", + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.1", + "node-addon-api": "^5.0.0", + "prebuild-install": "^7.1.1", + "semver": "^7.3.8", + "simple-get": "^4.0.1", + "tar-fs": "^2.1.1", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.11.1.tgz", + "integrity": "sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==", + "dependencies": { + "jsonc-parser": "^3.0.0", + "vscode-oniguruma": "^1.6.1", + "vscode-textmate": "^6.0.0" + } + }, + "node_modules/shiki/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", + "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/style-to-object": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz", + "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/styled-components": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.6.tgz", + "integrity": "sha512-hGTZquGAaTqhGWldX7hhfzjnIYBZ0IXQXkCYdvF1Sq3DsUaLx6+NTHC5Jj1ooM2F68sBiVz3lvhfwQs/S3l6qg==", + "hasInstallScript": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/traverse": "^7.4.5", + "@emotion/is-prop-valid": "^1.1.0", + "@emotion/stylis": "^0.8.4", + "@emotion/unitless": "^0.7.4", + "babel-plugin-styled-components": ">= 1.12.0", + "css-to-react-native": "^3.0.0", + "hoist-non-react-statics": "^3.0.0", + "shallowequal": "^1.1.0", + "supports-color": "^5.5.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0", + "react-is": ">= 16.8.0" + } + }, + "node_modules/suf-log": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/suf-log/-/suf-log-2.5.3.tgz", + "integrity": "sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==", + "dependencies": { + "s.color": "0.0.15" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-esm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-esm/-/supports-esm-1.0.0.tgz", + "integrity": "sha512-96Am8CDqUaC0I2+C/swJ0yEvM8ZnGn4unoers/LSdE4umhX7mELzqyLzx3HnZAluq5PXIsGMKqa7NkqaeHMPcg==", + "dependencies": { + "has-package-exports": "^1.1.0" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svelte": { + "version": "3.55.1", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.55.1.tgz", + "integrity": "sha512-S+87/P0Ve67HxKkEV23iCdAh/SX1xiSfjF1HOglno/YTbSTW7RniICMCofWGdJJbdjw3S+0PfFb1JtGfTXE0oQ==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/svelte-hmr": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.1.tgz", + "integrity": "sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==", + "engines": { + "node": "^12.20 || ^14.13.1 || >= 16" + }, + "peerDependencies": { + "svelte": ">=3.19.0" + } + }, + "node_modules/svelte2tsx": { + "version": "0.5.23", + "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.5.23.tgz", + "integrity": "sha512-jYFnugTQRFmUpvLXPQrKzVYcW5ErT+0QCxg027Zx9BuvYefMZFuoBSTDYe7viPEFGrPPiLgT2m7f5n9khE7f7Q==", + "dependencies": { + "dedent-js": "^1.0.1", + "pascal-case": "^3.1.1" + }, + "peerDependencies": { + "svelte": "^3.24", + "typescript": "^4.1.2" + } + }, + "node_modules/synckit": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", + "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", + "dependencies": { + "@pkgr/utils": "^2.3.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/tar-stream/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tsconfig-resolver": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tsconfig-resolver/-/tsconfig-resolver-3.0.1.tgz", + "integrity": "sha512-ZHqlstlQF449v8glscGRXzL6l2dZvASPCdXJRWG4gHEZlUVx2Jtmr+a2zeVG4LCsKhDXKRj5R3h0C/98UcVAQg==", + "dependencies": { + "@types/json5": "^0.0.30", + "@types/resolve": "^1.17.0", + "json5": "^2.1.3", + "resolve": "^1.17.0", + "strip-bom": "^4.0.0", + "type-fest": "^0.13.1" + }, + "funding": { + "url": "https://github.com/sponsors/ifiokjr" + } + }, + "node_modules/tsconfig-resolver/node_modules/type-fest": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/undici": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.16.0.tgz", + "integrity": "sha512-KWBOXNv6VX+oJQhchXieUznEmnJMqgXMbs0xxH2t8q/FUAWSJvOSr/rMaZKnX5RIVq7JDn0JbP4BOnKG2SGXLQ==", + "dependencies": { + "busboy": "^1.6.0" + }, + "engines": { + "node": ">=12.18" + } + }, + "node_modules/unherit": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-3.0.1.tgz", + "integrity": "sha512-akOOQ/Yln8a2sgcLj4U0Jmx0R5jpIg2IUyRrWOzmEbjBtGzBdHtSeFKgoEcoH4KYIG/Pb8GQ/BwtYm0GCq1Sqg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-builder": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.1.tgz", + "integrity": "sha512-gnpOw7DIpCA0vpr6NqdPvTWnlPTApCTRzr+38E6hCWx3rz/cjo83SsKIlS1Z+L5ttScQ2AwutNnb8+tAvpb6qQ==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-generated": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", + "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.0.tgz", + "integrity": "sha512-Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-3.1.1.tgz", + "integrity": "sha512-yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==", + "dependencies": { + "@types/unist": "^2.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz", + "integrity": "sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz", + "integrity": "sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-2.0.2.tgz", + "integrity": "sha512-+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "dependencies": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vfile": { + "version": "5.3.6", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.6.tgz", + "integrity": "sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.0.1.tgz", + "integrity": "sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==", + "dependencies": { + "@types/unist": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.3.tgz", + "integrity": "sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.1.1.tgz", + "integrity": "sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==", + "dependencies": { + "esbuild": "^0.16.14", + "postcss": "^8.4.21", + "resolve": "^1.22.1", + "rollup": "^3.10.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz", + "integrity": "sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==", + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/vscode-css-languageservice": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.2.3.tgz", + "integrity": "sha512-EAyhyIVHpEaf+GjtI+tVe7SekdoANfG0aubnspsQwak3Qkimn/97FpAufNyXk636ngW05pjNKAR9zyTCzo6avQ==", + "dependencies": { + "@vscode/l10n": "^0.0.11", + "vscode-languageserver-textdocument": "^1.0.8", + "vscode-languageserver-types": "^3.17.2", + "vscode-uri": "^3.0.7" + } + }, + "node_modules/vscode-html-languageservice": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.0.4.tgz", + "integrity": "sha512-tvrySfpglu4B2rQgWGVO/IL+skvU7kBkQotRlxA7ocSyRXOZUd6GA13XHkxo8LPe07KWjeoBlN1aVGqdfTK4xA==", + "dependencies": { + "@vscode/l10n": "^0.0.11", + "vscode-languageserver-textdocument": "^1.0.8", + "vscode-languageserver-types": "^3.17.2", + "vscode-uri": "^3.0.7" + } + }, + "node_modules/vscode-jsonrpc": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.2.tgz", + "integrity": "sha512-RY7HwI/ydoC1Wwg4gJ3y6LpU9FJRZAUnTYMXthqhFXXu77ErDd/xkREpGuk4MyYkk4a+XDWAMqe0S3KkelYQEQ==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageserver": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.2.tgz", + "integrity": "sha512-bpEt2ggPxKzsAOZlXmCJ50bV7VrxwCS5BI4+egUmure/oI/t4OlFzi/YNtVvY24A2UDOZAgwFGgnZPwqSJubkA==", + "dependencies": { + "vscode-languageserver-protocol": "3.17.2" + }, + "bin": { + "installServerIntoExtension": "bin/installServerIntoExtension" + } + }, + "node_modules/vscode-languageserver-protocol": { + "version": "3.17.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.2.tgz", + "integrity": "sha512-8kYisQ3z/SQ2kyjlNeQxbkkTNmVFoQCqkmGrzLH6A9ecPlgTbp3wDTnUNqaUxYr4vlAcloxx8zwy7G5WdguYNg==", + "dependencies": { + "vscode-jsonrpc": "8.0.2", + "vscode-languageserver-types": "3.17.2" + } + }, + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", + "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz", + "integrity": "sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA==" + }, + "node_modules/vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==" + }, + "node_modules/vscode-textmate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-6.0.0.tgz", + "integrity": "sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==" + }, + "node_modules/vscode-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz", + "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==" + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-pm": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", + "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", + "dependencies": { + "load-yaml-file": "^0.2.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8.15" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.20.2.tgz", + "integrity": "sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..ed3f1a8 --- /dev/null +++ b/package.json @@ -0,0 +1,36 @@ +{ + "name": "@example/basics", + "type": "module", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "astro dev", + "start": "astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro" + }, + "dependencies": { + "@astrojs/image": "^0.14.0", + "@astrojs/mdx": "^0.16.0", + "@astrojs/react": "^2.0.2", + "@astrojs/svelte": "^2.0.1", + "@fortawesome/fontawesome-free": "^6.2.1", + "@types/react": "^18.0.27", + "@types/react-dom": "^18.0.10", + "astro": "^2.0.6", + "jquery": "^3.6.3", + "leaflet": "^1.9.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "rehype-external-links": "^2.0.1", + "sharp": "^0.31.3", + "styled-components": "^5.3.6", + "svelte": "^3.55.1" + }, + "devDependencies": { + "@types/jquery": "^3.5.16", + "@types/leaflet": "^1.9.0", + "@types/styled-components": "^5.1.26" + } +} diff --git a/CNAME b/public/CNAME similarity index 100% rename from CNAME rename to public/CNAME diff --git a/LICENSE b/public/LICENSE similarity index 100% rename from LICENSE rename to public/LICENSE diff --git a/Notes.md b/public/Notes.md similarity index 100% rename from Notes.md rename to public/Notes.md diff --git a/public/README.md b/public/README.md new file mode 100644 index 0000000..d4cd952 --- /dev/null +++ b/public/README.md @@ -0,0 +1,9 @@ +# LearnMYOG.com source for Make Your Own Gear sewing patterns and tutorials + +Sewing Patterns for DIY Outdoor Gear Makers + +## Contributors and Guest Creators Welcome + +Are you an independent pattern or gear designer interested in outdoor apparel and gear? Lets talk! + +Found a bug or have an idea for improvements let me know. \ No newline at end of file diff --git a/about.html b/public/about.html similarity index 100% rename from about.html rename to public/about.html diff --git a/assets/css/all.min.css b/public/assets/css/all.min.css similarity index 100% rename from assets/css/all.min.css rename to public/assets/css/all.min.css diff --git a/assets/css/filter.css b/public/assets/css/filter.css similarity index 100% rename from assets/css/filter.css rename to public/assets/css/filter.css diff --git a/assets/css/fontawesome-all.min.css b/public/assets/css/fontawesome-all.min.css similarity index 100% rename from assets/css/fontawesome-all.min.css rename to public/assets/css/fontawesome-all.min.css diff --git a/assets/css/main.css b/public/assets/css/main.css similarity index 100% rename from assets/css/main.css rename to public/assets/css/main.css diff --git a/assets/css/noscript.css b/public/assets/css/noscript.css similarity index 100% rename from assets/css/noscript.css rename to public/assets/css/noscript.css diff --git a/assets/css/style.css b/public/assets/css/style.css similarity index 100% rename from assets/css/style.css rename to public/assets/css/style.css diff --git a/assets/css/video.css b/public/assets/css/video.css similarity index 100% rename from assets/css/video.css rename to public/assets/css/video.css diff --git a/assets/db/allproducts.json b/public/assets/db/allproducts.json similarity index 100% rename from assets/db/allproducts.json rename to public/assets/db/allproducts.json diff --git a/assets/db/vendormap.csv b/public/assets/db/vendormap.csv similarity index 100% rename from assets/db/vendormap.csv rename to public/assets/db/vendormap.csv diff --git a/public/assets/images/marker-icon-2x-blue.png b/public/assets/images/marker-icon-2x-blue.png new file mode 100644 index 0000000..0015b64 Binary files /dev/null and b/public/assets/images/marker-icon-2x-blue.png differ diff --git a/public/assets/images/marker-icon-2x-gold.png b/public/assets/images/marker-icon-2x-gold.png new file mode 100644 index 0000000..6992d65 Binary files /dev/null and b/public/assets/images/marker-icon-2x-gold.png differ diff --git a/assets/js/breakpoints.min.js b/public/assets/js/breakpoints.min.js similarity index 100% rename from assets/js/breakpoints.min.js rename to public/assets/js/breakpoints.min.js diff --git a/assets/js/browser.min.js b/public/assets/js/browser.min.js similarity index 100% rename from assets/js/browser.min.js rename to public/assets/js/browser.min.js diff --git a/assets/js/build_gallery.js b/public/assets/js/build_gallery.js similarity index 100% rename from assets/js/build_gallery.js rename to public/assets/js/build_gallery.js diff --git a/assets/js/cinchsack.js b/public/assets/js/cinchsack.js similarity index 100% rename from assets/js/cinchsack.js rename to public/assets/js/cinchsack.js diff --git a/assets/js/colorswitcher.js b/public/assets/js/colorswitcher.js similarity index 100% rename from assets/js/colorswitcher.js rename to public/assets/js/colorswitcher.js diff --git a/public/assets/js/emailSubscribe.js b/public/assets/js/emailSubscribe.js new file mode 100644 index 0000000..57cb07b --- /dev/null +++ b/public/assets/js/emailSubscribe.js @@ -0,0 +1,149 @@ +/* + Benchmark Email Newsletter Subscription + +*/ + +function CheckField1389444(fldName, frm) { + var fldObj = document.getElementsByName(fldName); + if (fldObj.length > 1) { + for (var i = 0, l = fldObj.length; i < l; i++) { + if (fldObj[0].type == "select-one") { + if (fldObj[i].selected && i == 0 && fldObj[i].value == "") { + return false; + } + if (fldObj[i].selected) { + return true; + } + } else { + if (fldObj[i].checked) { + return true; + } + } + } + return false; + } else { + if (fldObj[0].type == "checkbox") { + return fldObj[0].checked; + } else if (fldObj[0].type == "radio") { + return fldObj[0].checked; + } else { + fldObj[0].focus(); + return fldObj[0].value.length > 0; + } + } +} +function _doSubmit1389444(frm) { + if (_checkSubmit1389444(frm)) { + _doPost1389444(frm); + } +} +function _doPost1389444(frm) { + var f = document.createElement("form"); + f.setAttribute("accept-charset", "UTF-8"); + f.setAttribute("method", "post"); + f.setAttribute("action", "https://lb.benchmarkemail.com//code/lbform"); + var elms = document + .getElementsByName("frmLB" + frm)[0] + .getElementsByTagName("*"); + var ty = ""; + for (var ei = 0; ei < elms.length; ei++) { + ty = elms[ei].type; + if ( + ty == "hidden" || + ty == "text" || + (ty == "checkbox" && elms[ei].checked) || + (ty == "radio" && elms[ei].checked) || + ty == "textarea" || + ty == "select-one" || + ty == "button" + ) { + elm = elms[ei]; + var i = document.createElement("input"); + i.type = "hidden"; + i.name = elm.name.replace("_MW4UW", ""); + i.id = elm.id; + i.value = elm.value; + f.appendChild(i); + } + } + document.getElementsByTagName("body")[0].appendChild(f); + f.submit(); +} +function rmspaces(x) { + var leftx = 0; + var rightx = x.length - 1; + while (x.charAt(leftx) == " ") { + leftx++; + } + while (x.charAt(rightx) == " ") { + --rightx; + } + var q = x.substr(leftx, rightx - leftx + 1); + if (leftx == x.length && rightx == -1) { + q = ""; + } + return q; +} +function checkfield(data) { + if (rmspaces(data) == "") { + return false; + } else { + return true; + } +} +function isemail(data) { + var flag = false; + if ( + data.indexOf("@", 0) == -1 || + data.indexOf("\\", 0) != -1 || + data.indexOf("/", 0) != -1 || + !checkfield(data) || + data.indexOf(".", 0) == -1 || + data.indexOf("@") == 0 || + data.lastIndexOf(".") < data.lastIndexOf("@") || + data.lastIndexOf(".") == data.length - 1 || + data.lastIndexOf("@") != data.indexOf("@") || + data.indexOf(",", 0) != -1 || + data.indexOf(":", 0) != -1 || + data.indexOf(";", 0) != -1 + ) { + return flag; + } else { + var temp = rmspaces(data); + if (temp.indexOf(" ", 0) != -1) { + flag = true; + } + var d3 = temp.lastIndexOf(".") + 4; + var d4 = temp.substring(0, d3); + var e2 = temp.length - temp.lastIndexOf(".") - 1; + var i1 = temp.indexOf("@"); + if (temp.charAt(i1 + 1) == "." || e2 < 1) { + flag = true; + } + return !flag; + } +} +function _checkSubmit1389444(frm) { + if (!CheckField1389444("fldfirstname_MW4UW", frm)) { + alert("Please enter the First Name"); + return false; + } + if (!isemail(document.getElementsByName("fldEmail_MW4UW")[0].value)) { + alert("Please enter the Email Address "); + return false; + } + + if ( + isemail(document.getElementsByName("fldEmail_MW4UW")[0].value) && + window && + window.JB_TRACKER && + typeof window.JB_TRACKER.jbSubmitForm === "function" + ) { + window.JB_TRACKER.jbSubmitForm({ + email: document.getElementsByName("fldEmail_MW4UW")[0].value, + didSubmit: true, + }); + } + + return true; +} diff --git a/assets/js/footer.js b/public/assets/js/footer.js similarity index 100% rename from assets/js/footer.js rename to public/assets/js/footer.js diff --git a/assets/js/gallery_filters.js b/public/assets/js/gallery_filters.js similarity index 100% rename from assets/js/gallery_filters.js rename to public/assets/js/gallery_filters.js diff --git a/assets/js/hardware.js b/public/assets/js/hardware.js similarity index 100% rename from assets/js/hardware.js rename to public/assets/js/hardware.js diff --git a/assets/js/header.js b/public/assets/js/header.js similarity index 100% rename from assets/js/header.js rename to public/assets/js/header.js diff --git a/assets/js/jquery.min.js b/public/assets/js/jquery.min.js similarity index 100% rename from assets/js/jquery.min.js rename to public/assets/js/jquery.min.js diff --git a/public/assets/js/jquery.poptrox.min.js b/public/assets/js/jquery.poptrox.min.js new file mode 100644 index 0000000..a2a9747 --- /dev/null +++ b/public/assets/js/jquery.poptrox.min.js @@ -0,0 +1,611 @@ +/* jquery.poptrox.js v2.5.2-dev | (c) @ajlkn | github.com/ajlkn/jquery.poptrox | MIT licensed */ +!(function (e) { + (e.fn.poptrox_disableSelection = function () { + return e(this) + .css("user-select", "none") + .css("-khtml-user-select", "none") + .css("-moz-user-select", "none") + .css("-o-user-select", "none") + .css("-webkit-user-select", "none"); + }), + (e.fn.poptrox = function (o) { + if (0 == this.length) return e(this); + if (this.length > 1) { + for (var t = 0; t < this.length; t++) e(this[t]).poptrox(o); + return e(this); + } + var p, + i, + s = e.extend( + { + preload: !1, + baseZIndex: 1e3, + fadeSpeed: 300, + overlayColor: "#000000", + overlayOpacity: 0.6, + overlayClass: "poptrox-overlay", + windowMargin: 50, + windowHeightPad: 0, + selector: "a", + caption: null, + parent: "body", + popupSpeed: 300, + popupWidth: 200, + popupHeight: 100, + popupIsFixed: !1, + useBodyOverflow: !1, + usePopupEasyClose: !0, + usePopupForceClose: !1, + usePopupLoader: !0, + usePopupCloser: !0, + usePopupCaption: !1, + usePopupNav: !1, + usePopupDefaultStyling: !0, + popupBackgroundColor: "#FFFFFF", + popupTextColor: "#000000", + popupLoaderTextSize: "2em", + popupCloserBackgroundColor: "#000000", + popupCloserTextColor: "#FFFFFF", + popupCloserTextSize: "20px", + popupPadding: 10, + popupCaptionHeight: 60, + popupCaptionTextSize: null, + popupBlankCaptionText: "(untitled)", + popupCloserText: "×", + popupLoaderText: "••••", + popupClass: "poptrox-popup", + popupSelector: null, + popupLoaderSelector: ".loader", + popupCloserSelector: ".closer", + popupCaptionSelector: ".caption", + popupNavPreviousSelector: ".nav-previous", + popupNavNextSelector: ".nav-next", + onPopupClose: null, + onPopupOpen: null, + }, + o + ), + r = e(this), + n = e("body"), + a = e('
'), + l = e(window), + u = [], + d = 0, + h = !1, + g = new Array(), + f = function () { + (p = l.width()), (i = l.height() + s.windowHeightPad); + var e = Math.abs(x.width() - x.outerWidth()), + o = Math.abs(x.height() - x.outerHeight()), + t = p - 2 * s.windowMargin - e, + r = i - 2 * s.windowMargin - o; + x.css("min-width", s.popupWidth).css("min-height", s.popupHeight), + v.children().css("max-width", t).css("max-height", r); + }; + s.usePopupLoader || (s.popupLoaderSelector = null), + s.usePopupCloser || (s.popupCloserSelector = null), + s.usePopupCaption || (s.popupCaptionSelector = null), + s.usePopupNav || + ((s.popupNavPreviousSelector = null), + (s.popupNavNextSelector = null)); + var x; + x = e( + s.popupSelector + ? s.popupSelector + : '
' + + (s.popupLoaderSelector + ? '
' + s.popupLoaderText + "
" + : "") + + '
' + + (s.popupCaptionSelector ? '
' : "") + + (s.popupCloserSelector + ? '' + s.popupCloserText + "" + : "") + + (s.popupNavPreviousSelector + ? '' + : "") + + (s.popupNavNextSelector ? '' : "") + + "
" + ); + var v = x.find(".pic"), + w = e(), + b = x.find(s.popupLoaderSelector), + m = x.find(s.popupCaptionSelector), + C = x.find(s.popupCloserSelector), + y = x.find(s.popupNavNextSelector), + S = x.find(s.popupNavPreviousSelector), + P = y.add(S); + if ( + s.usePopupDefaultStyling && + (x + .css("background", s.popupBackgroundColor) + .css("color", s.popupTextColor) + .css("padding", s.popupPadding + "px"), + m.length > 0 && + (x.css("padding-bottom", s.popupCaptionHeight + "px"), + m + .css("position", "absolute") + .css("left", "0") + .css("bottom", "0") + .css("width", "100%") + .css("text-align", "center") + .css("height", s.popupCaptionHeight + "px") + .css("line-height", s.popupCaptionHeight + "px"), + s.popupCaptionTextSize && m.css("font-size", popupCaptionTextSize)), + C.length > 0 && + C.html(s.popupCloserText) + .css("font-size", s.popupCloserTextSize) + .css("background", s.popupCloserBackgroundColor) + .css("color", s.popupCloserTextColor) + .css("display", "block") + .css("width", "40px") + .css("height", "40px") + .css("line-height", "40px") + .css("text-align", "center") + .css("position", "absolute") + .css("text-decoration", "none") + .css("outline", "0") + .css("top", "0") + .css("right", "-40px"), + b.length > 0 && + b + .html("") + .css("position", "relative") + .css("font-size", s.popupLoaderTextSize) + .on("startSpinning", function (o) { + var t = e("
" + s.popupLoaderText + "
"); + t + .css("height", Math.floor(s.popupHeight / 2) + "px") + .css("overflow", "hidden") + .css("line-height", Math.floor(s.popupHeight / 2) + "px") + .css("text-align", "center") + .css( + "margin-top", + Math.floor( + (x.height() - + t.height() + + (m.length > 0 ? m.height() : 0)) / + 2 + ) + ) + .css("color", s.popupTextColor ? s.popupTextColor : "") + .on("xfin", function () { + t.fadeTo(300, 0.5, function () { + t.trigger("xfout"); + }); + }) + .on("xfout", function () { + t.fadeTo(300, 0.05, function () { + t.trigger("xfin"); + }); + }) + .trigger("xfin"), + b.append(t); + }) + .on("stopSpinning", function (e) { + var o = b.find("div"); + o.remove(); + }), + 2 == P.length) + ) { + P.css("font-size", "75px") + .css("text-align", "center") + .css("color", "#fff") + .css("text-shadow", "none") + .css("height", "100%") + .css("position", "absolute") + .css("top", "0") + .css("opacity", "0.35") + .css("cursor", "pointer") + .css("box-shadow", "inset 0px 0px 10px 0px rgba(0,0,0,0)") + .poptrox_disableSelection(); + var k, T; + s.usePopupEasyClose + ? ((k = "100px"), (T = "100px")) + : ((k = "75%"), (T = "25%")), + y + .css("right", "0") + .css("width", k) + .html( + '
>
' + ), + S.css("left", "0") + .css("width", T) + .html( + '
<
' + ); + } + return ( + l.on("resize orientationchange", function () { + f(); + }), + m.on("update", function (e, o) { + (o && 0 != o.length) || (o = s.popupBlankCaptionText), m.html(o); + }), + C.css("cursor", "pointer").on("click", function (e) { + return ( + e.preventDefault(), + e.stopPropagation(), + x.trigger("poptrox_close"), + !0 + ); + }), + y.on("click", function (e) { + e.stopPropagation(), e.preventDefault(), x.trigger("poptrox_next"); + }), + S.on("click", function (e) { + e.stopPropagation(), + e.preventDefault(), + x.trigger("poptrox_previous"); + }), + a + .css("position", "fixed") + .css("left", 0) + .css("top", 0) + .css("z-index", s.baseZIndex) + .css("width", "100%") + .css("height", "100%") + .css("text-align", "center") + .css("cursor", "pointer") + .appendTo(s.parent) + .prepend( + '
' + ) + .append( + '
' + ) + .hide() + .on("touchmove", function (e) { + return !1; + }) + .on("click", function (e) { + e.preventDefault(), e.stopPropagation(), x.trigger("poptrox_close"); + }), + x + .css("display", "inline-block") + .css("vertical-align", "middle") + .css("position", "relative") + .css("z-index", 1) + .css("cursor", "auto") + .appendTo(a) + .hide() + .on("poptrox_next", function () { + var e = d + 1; + e >= u.length && (e = 0), x.trigger("poptrox_switch", [e]); + }) + .on("poptrox_previous", function () { + var e = d - 1; + e < 0 && (e = u.length - 1), x.trigger("poptrox_switch", [e]); + }) + .on("poptrox_reset", function () { + f(), + x.data("width", s.popupWidth).data("height", s.popupHeight), + b.hide().trigger("stopSpinning"), + m.hide(), + C.hide(), + P.hide(), + v.hide(), + w.attr("src", "").detach(); + }) + .on("poptrox_open", function (e, o) { + return ( + !!h || + ((h = !0), + s.useBodyOverflow && n.css("overflow", "hidden"), + s.onPopupOpen && s.onPopupOpen(), + x.addClass("loading"), + void a.fadeTo(s.fadeSpeed, 1, function () { + x.trigger("poptrox_switch", [o, !0]); + })) + ); + }) + .on("poptrox_switch", function (o, t, p) { + var i; + if (!p && h) return !0; + if ( + ((h = !0), + x + .addClass("loading") + .css("width", x.data("width")) + .css("height", x.data("height")), + m.hide(), + w.attr("src") && w.attr("src", ""), + w.detach(), + (i = u[t]), + (w = i.object), + w.off("load"), + v.css("text-indent", "-9999px").show().append(w), + "ajax" == i.type + ? e.get(i.src, function (e) { + w.html(e), w.trigger("load"); + }) + : w.attr("src", i.src), + "image" != i.type) + ) { + var r, n; + (r = i.width), + (n = i.height), + "%" == r.slice(-1) && + (r = + (parseInt(r.substring(0, r.length - 1)) / 100) * l.width()), + "%" == n.slice(-1) && + (n = + (parseInt(n.substring(0, n.length - 1)) / 100) * + l.height()), + w + .css("position", "relative") + .css("outline", "0") + .css("z-index", s.baseZIndex + 100) + .width(r) + .height(n); + } + b.trigger("startSpinning").fadeIn(300), + x.show(), + s.popupIsFixed + ? (x + .removeClass("loading") + .width(s.popupWidth) + .height(s.popupHeight), + w.on("load", function () { + w.off("load"), + b.hide().trigger("stopSpinning"), + m.trigger("update", [i.captionText]).fadeIn(s.fadeSpeed), + C.fadeIn(s.fadeSpeed), + v + .css("text-indent", 0) + .hide() + .fadeIn(s.fadeSpeed, function () { + h = !1; + }), + (d = t), + P.fadeIn(s.fadeSpeed); + })) + : w.on("load", function () { + f(), w.off("load"), b.hide().trigger("stopSpinning"); + var e = w.width(), + o = w.height(), + p = function () { + m + .trigger("update", [i.captionText]) + .fadeIn(s.fadeSpeed), + C.fadeIn(s.fadeSpeed), + v + .css("text-indent", 0) + .hide() + .fadeIn(s.fadeSpeed, function () { + h = !1; + }), + (d = t), + P.fadeIn(s.fadeSpeed), + x + .removeClass("loading") + .data("width", e) + .data("height", o) + .css("width", "auto") + .css("height", "auto"); + }; + e == x.data("width") && o == x.data("height") + ? p() + : x.animate( + { width: e, height: o }, + s.popupSpeed, + "swing", + p + ); + }), + "image" != i.type && w.trigger("load"); + }) + .on("poptrox_close", function () { + return ( + !(!h || s.usePopupForceClose) || + ((h = !0), + x.hide().trigger("poptrox_reset"), + s.onPopupClose && s.onPopupClose(), + void a.fadeOut(s.fadeSpeed, function () { + s.useBodyOverflow && n.css("overflow", "auto"), (h = !1); + })) + ); + }) + .trigger("poptrox_reset"), + s.usePopupEasyClose + ? (m.on("click", "a", function (e) { + e.stopPropagation(); + }), + x.css("cursor", "pointer").on("click", function (e) { + e.stopPropagation(), + e.preventDefault(), + x.trigger("poptrox_close"); + })) + : x.on("click", function (e) { + e.stopPropagation(); + }), + l.keydown(function (e) { + if (x.is(":visible")) + switch (e.keyCode) { + case 37: + case 32: + if (s.usePopupNav) return x.trigger("poptrox_previous"), !1; + break; + case 39: + if (s.usePopupNav) return x.trigger("poptrox_next"), !1; + break; + case 27: + return x.trigger("poptrox_close"), !1; + } + }), + r.find(s.selector).each(function (o) { + var t, + p, + i = e(this), + r = i.find("img"), + n = i.data("poptrox"); + if ("ignore" != n && i.attr("href")) { + if ( + ((t = { + src: i.attr("href"), + captionText: r.attr("title"), + width: null, + height: null, + type: null, + object: null, + options: null, + }), + s.caption) + ) { + if ("function" == typeof s.caption) c = s.caption(i); + else if ("selector" in s.caption) { + var a; + (a = i.find(s.caption.selector)), + "attribute" in s.caption + ? (c = a.attr(s.caption.attribute)) + : ((c = a.html()), s.caption.remove === !0 && a.remove()); + } + } else c = r.attr("title"); + if (((t.captionText = c), n)) { + var l = n.split(","); + 0 in l && (t.type = l[0]), + 1 in l && + ((p = l[1].match(/([0-9%]+)x([0-9%]+)/)), + p && 3 == p.length && ((t.width = p[1]), (t.height = p[2]))), + 2 in l && (t.options = l[2]); + } + if (!t.type) + switch ( + ((p = t.src.match(/\/\/([a-z0-9\.]+)\/.*/)), + (!p || p.length < 2) && (p = [!1]), + p[1]) + ) { + case "api.soundcloud.com": + t.type = "soundcloud"; + break; + case "youtu.be": + t.type = "youtube"; + break; + case "vimeo.com": + t.type = "vimeo"; + break; + case "wistia.net": + t.type = "wistia"; + break; + case "bcove.me": + t.type = "bcove"; + break; + default: + t.type = "image"; + } + switch (((p = t.src.match(/\/\/[a-z0-9\.]+\/(.*)/)), t.type)) { + case "iframe": + (t.object = e('')), + t.object + .on("click", function (e) { + e.stopPropagation(); + }) + .css("cursor", "auto"), + (t.width && t.height) || + ((t.width = "600"), (t.height = "400")); + break; + case "ajax": + (t.object = e('
')), + t.object + .on("click", function (e) { + e.stopPropagation(); + }) + .css("cursor", "auto") + .css("overflow", "auto"), + (t.width && t.height) || + ((t.width = "600"), (t.height = "400")); + break; + case "soundcloud": + (t.object = e( + '' + )), + (t.src = + "//w.soundcloud.com/player/?url=" + + escape(t.src) + + (t.options ? "&" + t.options : "")), + (t.width = "600"), + (t.height = "166"); + break; + case "youtube": + (t.object = e( + '' + )), + (t.src = + "//www.youtube.com/embed/" + + p[1] + + (t.options ? "?" + t.options : "")), + (t.width && t.height) || + ((t.width = "800"), (t.height = "480")); + break; + case "vimeo": + (t.object = e( + '' + )), + (t.src = + "//player.vimeo.com/video/" + + p[1] + + (t.options ? "?" + t.options : "")), + (t.width && t.height) || + ((t.width = "800"), (t.height = "480")); + break; + case "wistia": + (t.object = e( + '' + )), + (t.src = + "//fast.wistia.net/" + + p[1] + + (t.options ? "?" + t.options : "")), + (t.width && t.height) || + ((t.width = "800"), (t.height = "480")); + break; + case "bcove": + (t.object = e( + '' + )), + (t.src = + "//bcove.me/" + p[1] + (t.options ? "?" + t.options : "")), + (t.width && t.height) || + ((t.width = "640"), (t.height = "360")); + break; + default: + if ( + ((t.object = e( + '' + )), + s.preload) + ) { + var p = document.createElement("img"); + (p.src = t.src), g.push(p); + } + (t.width = i.attr("width")), (t.height = i.attr("height")); + } + "file:" == window.location.protocol && + t.src.match(/^\/\//) && + (t.src = "http:" + t.src), + u.push(t), + r.removeAttr("title"), + i + .removeAttr("href") + .css("cursor", "pointer") + .css("outline", 0) + .on("click", function (e) { + e.preventDefault(), + e.stopPropagation(), + x.trigger("poptrox_open", [o]); + }); + } + }), + r.prop("_poptrox", s), + r + ); + }); +})(jQuery); diff --git a/assets/js/jquery.scrollex.min.js b/public/assets/js/jquery.scrollex.min.js similarity index 100% rename from assets/js/jquery.scrollex.min.js rename to public/assets/js/jquery.scrollex.min.js diff --git a/assets/js/jquery.scrolly.min.js b/public/assets/js/jquery.scrolly.min.js similarity index 100% rename from assets/js/jquery.scrolly.min.js rename to public/assets/js/jquery.scrolly.min.js diff --git a/assets/js/main.js b/public/assets/js/main.js similarity index 100% rename from assets/js/main.js rename to public/assets/js/main.js diff --git a/assets/js/map.js b/public/assets/js/map.js similarity index 100% rename from assets/js/map.js rename to public/assets/js/map.js diff --git a/public/assets/js/nav.js b/public/assets/js/nav.js new file mode 100644 index 0000000..f927bf6 --- /dev/null +++ b/public/assets/js/nav.js @@ -0,0 +1,23 @@ +class Nav extends HTMLElement { + constructor() { + super(); + } + + connectedCallback() { + this.innerHTML = ` + + `; + } +} +customElements.define("nav-template", Nav); diff --git a/assets/js/papaparse.min.js b/public/assets/js/papaparse.min.js similarity index 100% rename from assets/js/papaparse.min.js rename to public/assets/js/papaparse.min.js diff --git a/assets/js/rolltopsack.js b/public/assets/js/rolltopsack.js similarity index 100% rename from assets/js/rolltopsack.js rename to public/assets/js/rolltopsack.js diff --git a/assets/js/stuffsack.js b/public/assets/js/stuffsack.js similarity index 100% rename from assets/js/stuffsack.js rename to public/assets/js/stuffsack.js diff --git a/assets/js/util.js b/public/assets/js/util.js similarity index 100% rename from assets/js/util.js rename to public/assets/js/util.js diff --git a/assets/js/zipsack.js b/public/assets/js/zipsack.js similarity index 100% rename from assets/js/zipsack.js rename to public/assets/js/zipsack.js diff --git a/assets/webfonts/fa-brands-400.eot b/public/assets/webfonts/fa-brands-400.eot similarity index 100% rename from assets/webfonts/fa-brands-400.eot rename to public/assets/webfonts/fa-brands-400.eot diff --git a/assets/webfonts/fa-brands-400.ttf b/public/assets/webfonts/fa-brands-400.ttf similarity index 100% rename from assets/webfonts/fa-brands-400.ttf rename to public/assets/webfonts/fa-brands-400.ttf diff --git a/assets/webfonts/fa-brands-400.woff b/public/assets/webfonts/fa-brands-400.woff similarity index 100% rename from assets/webfonts/fa-brands-400.woff rename to public/assets/webfonts/fa-brands-400.woff diff --git a/assets/webfonts/fa-brands-400.woff2 b/public/assets/webfonts/fa-brands-400.woff2 similarity index 100% rename from assets/webfonts/fa-brands-400.woff2 rename to public/assets/webfonts/fa-brands-400.woff2 diff --git a/assets/webfonts/fa-regular-400.eot b/public/assets/webfonts/fa-regular-400.eot similarity index 100% rename from assets/webfonts/fa-regular-400.eot rename to public/assets/webfonts/fa-regular-400.eot diff --git a/assets/webfonts/fa-regular-400.ttf b/public/assets/webfonts/fa-regular-400.ttf similarity index 100% rename from assets/webfonts/fa-regular-400.ttf rename to public/assets/webfonts/fa-regular-400.ttf diff --git a/assets/webfonts/fa-regular-400.woff b/public/assets/webfonts/fa-regular-400.woff similarity index 100% rename from assets/webfonts/fa-regular-400.woff rename to public/assets/webfonts/fa-regular-400.woff diff --git a/assets/webfonts/fa-regular-400.woff2 b/public/assets/webfonts/fa-regular-400.woff2 similarity index 100% rename from assets/webfonts/fa-regular-400.woff2 rename to public/assets/webfonts/fa-regular-400.woff2 diff --git a/assets/webfonts/fa-solid-900.eot b/public/assets/webfonts/fa-solid-900.eot similarity index 100% rename from assets/webfonts/fa-solid-900.eot rename to public/assets/webfonts/fa-solid-900.eot diff --git a/assets/webfonts/fa-solid-900.ttf b/public/assets/webfonts/fa-solid-900.ttf similarity index 100% rename from assets/webfonts/fa-solid-900.ttf rename to public/assets/webfonts/fa-solid-900.ttf diff --git a/assets/webfonts/fa-solid-900.woff b/public/assets/webfonts/fa-solid-900.woff similarity index 100% rename from assets/webfonts/fa-solid-900.woff rename to public/assets/webfonts/fa-solid-900.woff diff --git a/assets/webfonts/fa-solid-900.woff2 b/public/assets/webfonts/fa-solid-900.woff2 similarity index 100% rename from assets/webfonts/fa-solid-900.woff2 rename to public/assets/webfonts/fa-solid-900.woff2 diff --git a/bpStemBag.html b/public/bpStemBag.html similarity index 100% rename from bpStemBag.html rename to public/bpStemBag.html diff --git a/branding/emailupdate.html b/public/branding/emailupdate.html similarity index 100% rename from branding/emailupdate.html rename to public/branding/emailupdate.html diff --git a/branding/logo alternate.png b/public/branding/logo alternate.png similarity index 100% rename from branding/logo alternate.png rename to public/branding/logo alternate.png diff --git a/branding/logo primary.png b/public/branding/logo primary.png similarity index 100% rename from branding/logo primary.png rename to public/branding/logo primary.png diff --git a/branding/logo-alt.svg b/public/branding/logo-alt.svg similarity index 100% rename from branding/logo-alt.svg rename to public/branding/logo-alt.svg diff --git a/branding/logo-alt.webp b/public/branding/logo-alt.webp similarity index 100% rename from branding/logo-alt.webp rename to public/branding/logo-alt.webp diff --git a/branding/logo-primary-whitebg.png b/public/branding/logo-primary-whitebg.png similarity index 100% rename from branding/logo-primary-whitebg.png rename to public/branding/logo-primary-whitebg.png diff --git a/branding/logo-primary.svg b/public/branding/logo-primary.svg similarity index 100% rename from branding/logo-primary.svg rename to public/branding/logo-primary.svg diff --git a/branding/logo-primary.webp b/public/branding/logo-primary.webp similarity index 100% rename from branding/logo-primary.webp rename to public/branding/logo-primary.webp diff --git a/branding/logo-white.png b/public/branding/logo-white.png similarity index 100% rename from branding/logo-white.png rename to public/branding/logo-white.png diff --git a/branding/logo-white.svg b/public/branding/logo-white.svg similarity index 100% rename from branding/logo-white.svg rename to public/branding/logo-white.svg diff --git a/branding/logo-white.webp b/public/branding/logo-white.webp similarity index 100% rename from branding/logo-white.webp rename to public/branding/logo-white.webp diff --git a/chonkySling.html b/public/chonkySling.html similarity index 100% rename from chonkySling.html rename to public/chonkySling.html diff --git a/cinchsack.html b/public/cinchsack.html similarity index 100% rename from cinchsack.html rename to public/cinchsack.html diff --git a/cricut.html b/public/cricut.html similarity index 100% rename from cricut.html rename to public/cricut.html diff --git a/dias.html b/public/dias.html similarity index 100% rename from dias.html rename to public/dias.html diff --git a/edTotepack.html b/public/edTotepack.html similarity index 100% rename from edTotepack.html rename to public/edTotepack.html diff --git a/edcFannyPack.html b/public/edcFannyPack.html similarity index 100% rename from edcFannyPack.html rename to public/edcFannyPack.html diff --git a/fastpack.html b/public/fastpack.html similarity index 100% rename from fastpack.html rename to public/fastpack.html diff --git a/framebags.html b/public/framebags.html similarity index 100% rename from framebags.html rename to public/framebags.html diff --git a/gallery.html b/public/gallery.html similarity index 100% rename from gallery.html rename to public/gallery.html diff --git a/hipPack.html b/public/hipPack.html similarity index 100% rename from hipPack.html rename to public/hipPack.html diff --git a/images/about/Colchuck Lake.jpg b/public/images/about/Colchuck Lake.jpg similarity index 100% rename from images/about/Colchuck Lake.jpg rename to public/images/about/Colchuck Lake.jpg diff --git a/images/about/Eight Mile Lake.jpg b/public/images/about/Eight Mile Lake.jpg similarity index 100% rename from images/about/Eight Mile Lake.jpg rename to public/images/about/Eight Mile Lake.jpg diff --git a/images/about/Mary Peak.JPG b/public/images/about/Mary Peak.JPG similarity index 100% rename from images/about/Mary Peak.JPG rename to public/images/about/Mary Peak.JPG diff --git a/images/about/Paradise Rainier NP.JPG b/public/images/about/Paradise Rainier NP.JPG similarity index 100% rename from images/about/Paradise Rainier NP.JPG rename to public/images/about/Paradise Rainier NP.JPG diff --git a/images/about/profile.JPG b/public/images/about/profile.JPG similarity index 100% rename from images/about/profile.JPG rename to public/images/about/profile.JPG diff --git a/images/about/thumbs/Colchuck Lake.jpg b/public/images/about/thumbs/Colchuck Lake.jpg similarity index 100% rename from images/about/thumbs/Colchuck Lake.jpg rename to public/images/about/thumbs/Colchuck Lake.jpg diff --git a/images/about/thumbs/Eight Mile Lake.jpg b/public/images/about/thumbs/Eight Mile Lake.jpg similarity index 100% rename from images/about/thumbs/Eight Mile Lake.jpg rename to public/images/about/thumbs/Eight Mile Lake.jpg diff --git a/images/about/thumbs/Mary Peak.JPG b/public/images/about/thumbs/Mary Peak.JPG similarity index 100% rename from images/about/thumbs/Mary Peak.JPG rename to public/images/about/thumbs/Mary Peak.JPG diff --git a/images/about/thumbs/Paradise Rainier NP.JPG b/public/images/about/thumbs/Paradise Rainier NP.JPG similarity index 100% rename from images/about/thumbs/Paradise Rainier NP.JPG rename to public/images/about/thumbs/Paradise Rainier NP.JPG diff --git a/images/about/thumbs/whites.jpg b/public/images/about/thumbs/whites.jpg similarity index 100% rename from images/about/thumbs/whites.jpg rename to public/images/about/thumbs/whites.jpg diff --git a/images/about/whites.jpg b/public/images/about/whites.jpg similarity index 100% rename from images/about/whites.jpg rename to public/images/about/whites.jpg diff --git a/images/alphaCampPants/build/preview-red.jpg b/public/images/alphaCampPants/build/preview-red.jpg similarity index 100% rename from images/alphaCampPants/build/preview-red.jpg rename to public/images/alphaCampPants/build/preview-red.jpg diff --git a/images/alphaCampPants/build/step1.3.jpg b/public/images/alphaCampPants/build/step1.3.jpg similarity index 100% rename from images/alphaCampPants/build/step1.3.jpg rename to public/images/alphaCampPants/build/step1.3.jpg diff --git a/images/alphaCampPants/build/step1.3a.jpg b/public/images/alphaCampPants/build/step1.3a.jpg similarity index 100% rename from images/alphaCampPants/build/step1.3a.jpg rename to public/images/alphaCampPants/build/step1.3a.jpg diff --git a/images/alphaCampPants/build/step2.1.jpg b/public/images/alphaCampPants/build/step2.1.jpg similarity index 100% rename from images/alphaCampPants/build/step2.1.jpg rename to public/images/alphaCampPants/build/step2.1.jpg diff --git a/images/alphaCampPants/build/step2.2.jpg b/public/images/alphaCampPants/build/step2.2.jpg similarity index 100% rename from images/alphaCampPants/build/step2.2.jpg rename to public/images/alphaCampPants/build/step2.2.jpg diff --git a/images/alphaCampPants/build/step2.3.jpg b/public/images/alphaCampPants/build/step2.3.jpg similarity index 100% rename from images/alphaCampPants/build/step2.3.jpg rename to public/images/alphaCampPants/build/step2.3.jpg diff --git a/images/alphaCampPants/build/step2.4.jpg b/public/images/alphaCampPants/build/step2.4.jpg similarity index 100% rename from images/alphaCampPants/build/step2.4.jpg rename to public/images/alphaCampPants/build/step2.4.jpg diff --git a/images/alphaCampPants/build/step2.6.jpg b/public/images/alphaCampPants/build/step2.6.jpg similarity index 100% rename from images/alphaCampPants/build/step2.6.jpg rename to public/images/alphaCampPants/build/step2.6.jpg diff --git a/images/alphaCampPants/build/step3.1.jpg b/public/images/alphaCampPants/build/step3.1.jpg similarity index 100% rename from images/alphaCampPants/build/step3.1.jpg rename to public/images/alphaCampPants/build/step3.1.jpg diff --git a/images/alphaCampPants/build/step4.1.jpg b/public/images/alphaCampPants/build/step4.1.jpg similarity index 100% rename from images/alphaCampPants/build/step4.1.jpg rename to public/images/alphaCampPants/build/step4.1.jpg diff --git a/images/alphaCampPants/build/step5.1.jpg b/public/images/alphaCampPants/build/step5.1.jpg similarity index 100% rename from images/alphaCampPants/build/step5.1.jpg rename to public/images/alphaCampPants/build/step5.1.jpg diff --git a/images/alphaCampPants/build/step5.2.jpg b/public/images/alphaCampPants/build/step5.2.jpg similarity index 100% rename from images/alphaCampPants/build/step5.2.jpg rename to public/images/alphaCampPants/build/step5.2.jpg diff --git a/images/alphaCampPants/build/step6.1.jpg b/public/images/alphaCampPants/build/step6.1.jpg similarity index 100% rename from images/alphaCampPants/build/step6.1.jpg rename to public/images/alphaCampPants/build/step6.1.jpg diff --git a/images/alphaCampPants/build/step6.2.jpg b/public/images/alphaCampPants/build/step6.2.jpg similarity index 100% rename from images/alphaCampPants/build/step6.2.jpg rename to public/images/alphaCampPants/build/step6.2.jpg diff --git a/images/alphaCampPants/build/step7.2.jpg b/public/images/alphaCampPants/build/step7.2.jpg similarity index 100% rename from images/alphaCampPants/build/step7.2.jpg rename to public/images/alphaCampPants/build/step7.2.jpg diff --git a/images/alphaCampPants/build/step8.1.jpg b/public/images/alphaCampPants/build/step8.1.jpg similarity index 100% rename from images/alphaCampPants/build/step8.1.jpg rename to public/images/alphaCampPants/build/step8.1.jpg diff --git a/images/alphaCampPants/build/step8.2.jpg b/public/images/alphaCampPants/build/step8.2.jpg similarity index 100% rename from images/alphaCampPants/build/step8.2.jpg rename to public/images/alphaCampPants/build/step8.2.jpg diff --git a/images/alphaCampPants/build/step8.3.jpg b/public/images/alphaCampPants/build/step8.3.jpg similarity index 100% rename from images/alphaCampPants/build/step8.3.jpg rename to public/images/alphaCampPants/build/step8.3.jpg diff --git a/images/alphaCampPants/build/step8.6.jpg b/public/images/alphaCampPants/build/step8.6.jpg similarity index 100% rename from images/alphaCampPants/build/step8.6.jpg rename to public/images/alphaCampPants/build/step8.6.jpg diff --git a/images/alphaCampPants/build/step8.7.jpg b/public/images/alphaCampPants/build/step8.7.jpg similarity index 100% rename from images/alphaCampPants/build/step8.7.jpg rename to public/images/alphaCampPants/build/step8.7.jpg diff --git a/images/alphaCampPants/build/step8.8.jpg b/public/images/alphaCampPants/build/step8.8.jpg similarity index 100% rename from images/alphaCampPants/build/step8.8.jpg rename to public/images/alphaCampPants/build/step8.8.jpg diff --git a/images/alphaCampPants/build/step9.5.jpg b/public/images/alphaCampPants/build/step9.5.jpg similarity index 100% rename from images/alphaCampPants/build/step9.5.jpg rename to public/images/alphaCampPants/build/step9.5.jpg diff --git a/images/alphaCampPants/build/stepA.2.jpg b/public/images/alphaCampPants/build/stepA.2.jpg similarity index 100% rename from images/alphaCampPants/build/stepA.2.jpg rename to public/images/alphaCampPants/build/stepA.2.jpg diff --git a/images/alphaCampPants/build/stepA.4.jpg b/public/images/alphaCampPants/build/stepA.4.jpg similarity index 100% rename from images/alphaCampPants/build/stepA.4.jpg rename to public/images/alphaCampPants/build/stepA.4.jpg diff --git a/images/alphaCampPants/build/stepA.7.jpg b/public/images/alphaCampPants/build/stepA.7.jpg similarity index 100% rename from images/alphaCampPants/build/stepA.7.jpg rename to public/images/alphaCampPants/build/stepA.7.jpg diff --git a/images/alphaCampPants/build/thumbs/step1.3.jpg b/public/images/alphaCampPants/build/thumbs/step1.3.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step1.3.jpg rename to public/images/alphaCampPants/build/thumbs/step1.3.jpg diff --git a/images/alphaCampPants/build/thumbs/step1.3a.jpg b/public/images/alphaCampPants/build/thumbs/step1.3a.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step1.3a.jpg rename to public/images/alphaCampPants/build/thumbs/step1.3a.jpg diff --git a/images/alphaCampPants/build/thumbs/step2.1.jpg b/public/images/alphaCampPants/build/thumbs/step2.1.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step2.1.jpg rename to public/images/alphaCampPants/build/thumbs/step2.1.jpg diff --git a/images/alphaCampPants/build/thumbs/step2.2.jpg b/public/images/alphaCampPants/build/thumbs/step2.2.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step2.2.jpg rename to public/images/alphaCampPants/build/thumbs/step2.2.jpg diff --git a/images/alphaCampPants/build/thumbs/step2.3.jpg b/public/images/alphaCampPants/build/thumbs/step2.3.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step2.3.jpg rename to public/images/alphaCampPants/build/thumbs/step2.3.jpg diff --git a/images/alphaCampPants/build/thumbs/step2.4.jpg b/public/images/alphaCampPants/build/thumbs/step2.4.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step2.4.jpg rename to public/images/alphaCampPants/build/thumbs/step2.4.jpg diff --git a/images/alphaCampPants/build/thumbs/step2.6.jpg b/public/images/alphaCampPants/build/thumbs/step2.6.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step2.6.jpg rename to public/images/alphaCampPants/build/thumbs/step2.6.jpg diff --git a/images/alphaCampPants/build/thumbs/step3.1.jpg b/public/images/alphaCampPants/build/thumbs/step3.1.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step3.1.jpg rename to public/images/alphaCampPants/build/thumbs/step3.1.jpg diff --git a/images/alphaCampPants/build/thumbs/step4.1.jpg b/public/images/alphaCampPants/build/thumbs/step4.1.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step4.1.jpg rename to public/images/alphaCampPants/build/thumbs/step4.1.jpg diff --git a/images/alphaCampPants/build/thumbs/step5.1.jpg b/public/images/alphaCampPants/build/thumbs/step5.1.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step5.1.jpg rename to public/images/alphaCampPants/build/thumbs/step5.1.jpg diff --git a/images/alphaCampPants/build/thumbs/step5.2.jpg b/public/images/alphaCampPants/build/thumbs/step5.2.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step5.2.jpg rename to public/images/alphaCampPants/build/thumbs/step5.2.jpg diff --git a/images/alphaCampPants/build/thumbs/step6.1.jpg b/public/images/alphaCampPants/build/thumbs/step6.1.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step6.1.jpg rename to public/images/alphaCampPants/build/thumbs/step6.1.jpg diff --git a/images/alphaCampPants/build/thumbs/step6.2.jpg b/public/images/alphaCampPants/build/thumbs/step6.2.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step6.2.jpg rename to public/images/alphaCampPants/build/thumbs/step6.2.jpg diff --git a/images/alphaCampPants/build/thumbs/step7.2.jpg b/public/images/alphaCampPants/build/thumbs/step7.2.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step7.2.jpg rename to public/images/alphaCampPants/build/thumbs/step7.2.jpg diff --git a/images/alphaCampPants/build/thumbs/step8.1.jpg b/public/images/alphaCampPants/build/thumbs/step8.1.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step8.1.jpg rename to public/images/alphaCampPants/build/thumbs/step8.1.jpg diff --git a/images/alphaCampPants/build/thumbs/step8.2.jpg b/public/images/alphaCampPants/build/thumbs/step8.2.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step8.2.jpg rename to public/images/alphaCampPants/build/thumbs/step8.2.jpg diff --git a/images/alphaCampPants/build/thumbs/step8.3.jpg b/public/images/alphaCampPants/build/thumbs/step8.3.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step8.3.jpg rename to public/images/alphaCampPants/build/thumbs/step8.3.jpg diff --git a/images/alphaCampPants/build/thumbs/step8.6.jpg b/public/images/alphaCampPants/build/thumbs/step8.6.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step8.6.jpg rename to public/images/alphaCampPants/build/thumbs/step8.6.jpg diff --git a/images/alphaCampPants/build/thumbs/step8.7.jpg b/public/images/alphaCampPants/build/thumbs/step8.7.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step8.7.jpg rename to public/images/alphaCampPants/build/thumbs/step8.7.jpg diff --git a/images/alphaCampPants/build/thumbs/step8.8.jpg b/public/images/alphaCampPants/build/thumbs/step8.8.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step8.8.jpg rename to public/images/alphaCampPants/build/thumbs/step8.8.jpg diff --git a/images/alphaCampPants/build/thumbs/step9.5.jpg b/public/images/alphaCampPants/build/thumbs/step9.5.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/step9.5.jpg rename to public/images/alphaCampPants/build/thumbs/step9.5.jpg diff --git a/images/alphaCampPants/build/thumbs/stepA.2.jpg b/public/images/alphaCampPants/build/thumbs/stepA.2.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/stepA.2.jpg rename to public/images/alphaCampPants/build/thumbs/stepA.2.jpg diff --git a/images/alphaCampPants/build/thumbs/stepA.4.jpg b/public/images/alphaCampPants/build/thumbs/stepA.4.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/stepA.4.jpg rename to public/images/alphaCampPants/build/thumbs/stepA.4.jpg diff --git a/images/alphaCampPants/build/thumbs/stepA.7.jpg b/public/images/alphaCampPants/build/thumbs/stepA.7.jpg similarity index 100% rename from images/alphaCampPants/build/thumbs/stepA.7.jpg rename to public/images/alphaCampPants/build/thumbs/stepA.7.jpg diff --git a/images/alphaCampPants/camosnap.jpg b/public/images/alphaCampPants/camosnap.jpg similarity index 100% rename from images/alphaCampPants/camosnap.jpg rename to public/images/alphaCampPants/camosnap.jpg diff --git a/images/alphaCampPants/discovery/1.jpg b/public/images/alphaCampPants/discovery/1.jpg similarity index 100% rename from images/alphaCampPants/discovery/1.jpg rename to public/images/alphaCampPants/discovery/1.jpg diff --git a/images/alphaCampPants/discovery/2.jpg b/public/images/alphaCampPants/discovery/2.jpg similarity index 100% rename from images/alphaCampPants/discovery/2.jpg rename to public/images/alphaCampPants/discovery/2.jpg diff --git a/images/alphaCampPants/discovery/3.jpg b/public/images/alphaCampPants/discovery/3.jpg similarity index 100% rename from images/alphaCampPants/discovery/3.jpg rename to public/images/alphaCampPants/discovery/3.jpg diff --git a/images/alphaCampPants/discovery/thumbs/1.jpg b/public/images/alphaCampPants/discovery/thumbs/1.jpg similarity index 100% rename from images/alphaCampPants/discovery/thumbs/1.jpg rename to public/images/alphaCampPants/discovery/thumbs/1.jpg diff --git a/images/alphaCampPants/discovery/thumbs/2.jpg b/public/images/alphaCampPants/discovery/thumbs/2.jpg similarity index 100% rename from images/alphaCampPants/discovery/thumbs/2.jpg rename to public/images/alphaCampPants/discovery/thumbs/2.jpg diff --git a/images/alphaCampPants/discovery/thumbs/3.jpg b/public/images/alphaCampPants/discovery/thumbs/3.jpg similarity index 100% rename from images/alphaCampPants/discovery/thumbs/3.jpg rename to public/images/alphaCampPants/discovery/thumbs/3.jpg diff --git a/images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_SQ_Thumb.jpg b/public/images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_SQ_Thumb.jpg similarity index 100% rename from images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_SQ_Thumb.jpg rename to public/images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_SQ_Thumb.jpg diff --git a/images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_YT_Thumb.jpg b/public/images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_YT_Thumb.jpg similarity index 100% rename from images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_YT_Thumb.jpg rename to public/images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_YT_Thumb.jpg diff --git a/images/alphaCampPants/hero.jpg b/public/images/alphaCampPants/hero.jpg similarity index 100% rename from images/alphaCampPants/hero.jpg rename to public/images/alphaCampPants/hero.jpg diff --git a/images/alphaCampPants/instructionpreview.png b/public/images/alphaCampPants/instructionpreview.png similarity index 100% rename from images/alphaCampPants/instructionpreview.png rename to public/images/alphaCampPants/instructionpreview.png diff --git a/images/alphaCampPants/patterncard.png b/public/images/alphaCampPants/patterncard.png similarity index 100% rename from images/alphaCampPants/patterncard.png rename to public/images/alphaCampPants/patterncard.png diff --git a/images/alphaCampPants/preview-red.jpg b/public/images/alphaCampPants/preview-red.jpg similarity index 100% rename from images/alphaCampPants/preview-red.jpg rename to public/images/alphaCampPants/preview-red.jpg diff --git a/images/alphaCampPants/release-preview.jpg b/public/images/alphaCampPants/release-preview.jpg similarity index 100% rename from images/alphaCampPants/release-preview.jpg rename to public/images/alphaCampPants/release-preview.jpg diff --git a/images/alphaCampPants/seatoverlay.jpg b/public/images/alphaCampPants/seatoverlay.jpg similarity index 100% rename from images/alphaCampPants/seatoverlay.jpg rename to public/images/alphaCampPants/seatoverlay.jpg diff --git a/images/alphaCampPants/snowday/IMG_8058.jpg b/public/images/alphaCampPants/snowday/IMG_8058.jpg similarity index 100% rename from images/alphaCampPants/snowday/IMG_8058.jpg rename to public/images/alphaCampPants/snowday/IMG_8058.jpg diff --git a/images/alphaCampPants/snowday/IMG_8105.jpg b/public/images/alphaCampPants/snowday/IMG_8105.jpg similarity index 100% rename from images/alphaCampPants/snowday/IMG_8105.jpg rename to public/images/alphaCampPants/snowday/IMG_8105.jpg diff --git a/images/alphaCampPants/snowday/IMG_8112.jpg b/public/images/alphaCampPants/snowday/IMG_8112.jpg similarity index 100% rename from images/alphaCampPants/snowday/IMG_8112.jpg rename to public/images/alphaCampPants/snowday/IMG_8112.jpg diff --git a/images/alphaCampPants/snowday/IMG_8134.jpg b/public/images/alphaCampPants/snowday/IMG_8134.jpg similarity index 100% rename from images/alphaCampPants/snowday/IMG_8134.jpg rename to public/images/alphaCampPants/snowday/IMG_8134.jpg diff --git a/images/alphaCampPants/snowday/IMG_8142.jpg b/public/images/alphaCampPants/snowday/IMG_8142.jpg similarity index 100% rename from images/alphaCampPants/snowday/IMG_8142.jpg rename to public/images/alphaCampPants/snowday/IMG_8142.jpg diff --git a/images/alphaCampPants/snowday/thumbs/IMG_8058.jpg b/public/images/alphaCampPants/snowday/thumbs/IMG_8058.jpg similarity index 100% rename from images/alphaCampPants/snowday/thumbs/IMG_8058.jpg rename to public/images/alphaCampPants/snowday/thumbs/IMG_8058.jpg diff --git a/images/alphaCampPants/snowday/thumbs/IMG_8105.jpg b/public/images/alphaCampPants/snowday/thumbs/IMG_8105.jpg similarity index 100% rename from images/alphaCampPants/snowday/thumbs/IMG_8105.jpg rename to public/images/alphaCampPants/snowday/thumbs/IMG_8105.jpg diff --git a/images/alphaCampPants/snowday/thumbs/IMG_8112.jpg b/public/images/alphaCampPants/snowday/thumbs/IMG_8112.jpg similarity index 100% rename from images/alphaCampPants/snowday/thumbs/IMG_8112.jpg rename to public/images/alphaCampPants/snowday/thumbs/IMG_8112.jpg diff --git a/images/alphaCampPants/snowday/thumbs/IMG_8134.jpg b/public/images/alphaCampPants/snowday/thumbs/IMG_8134.jpg similarity index 100% rename from images/alphaCampPants/snowday/thumbs/IMG_8134.jpg rename to public/images/alphaCampPants/snowday/thumbs/IMG_8134.jpg diff --git a/images/alphaCampPants/snowday/thumbs/IMG_8142.jpg b/public/images/alphaCampPants/snowday/thumbs/IMG_8142.jpg similarity index 100% rename from images/alphaCampPants/snowday/thumbs/IMG_8142.jpg rename to public/images/alphaCampPants/snowday/thumbs/IMG_8142.jpg diff --git a/images/alphaCampPants/thumbnail.jpg b/public/images/alphaCampPants/thumbnail.jpg similarity index 100% rename from images/alphaCampPants/thumbnail.jpg rename to public/images/alphaCampPants/thumbnail.jpg diff --git a/images/alphaCampPants/thumbnail_short.jpg b/public/images/alphaCampPants/thumbnail_short.jpg similarity index 100% rename from images/alphaCampPants/thumbnail_short.jpg rename to public/images/alphaCampPants/thumbnail_short.jpg diff --git a/images/alphaCampPants/thumbnail_square.jpg b/public/images/alphaCampPants/thumbnail_square.jpg similarity index 100% rename from images/alphaCampPants/thumbnail_square.jpg rename to public/images/alphaCampPants/thumbnail_square.jpg diff --git a/images/alphaCampPants/thumbs/camosnap.jpg b/public/images/alphaCampPants/thumbs/camosnap.jpg similarity index 100% rename from images/alphaCampPants/thumbs/camosnap.jpg rename to public/images/alphaCampPants/thumbs/camosnap.jpg diff --git a/images/alphaCampPants/thumbs/hero.jpg b/public/images/alphaCampPants/thumbs/hero.jpg similarity index 100% rename from images/alphaCampPants/thumbs/hero.jpg rename to public/images/alphaCampPants/thumbs/hero.jpg diff --git a/images/alphaCampPants/thumbs/instructionpreview.png b/public/images/alphaCampPants/thumbs/instructionpreview.png similarity index 100% rename from images/alphaCampPants/thumbs/instructionpreview.png rename to public/images/alphaCampPants/thumbs/instructionpreview.png diff --git a/images/alphaCampPants/thumbs/patterncard.png b/public/images/alphaCampPants/thumbs/patterncard.png similarity index 100% rename from images/alphaCampPants/thumbs/patterncard.png rename to public/images/alphaCampPants/thumbs/patterncard.png diff --git a/images/alphaCampPants/thumbs/preview-red.jpg b/public/images/alphaCampPants/thumbs/preview-red.jpg similarity index 100% rename from images/alphaCampPants/thumbs/preview-red.jpg rename to public/images/alphaCampPants/thumbs/preview-red.jpg diff --git a/images/alphaCampPants/thumbs/seatoverlay.jpg b/public/images/alphaCampPants/thumbs/seatoverlay.jpg similarity index 100% rename from images/alphaCampPants/thumbs/seatoverlay.jpg rename to public/images/alphaCampPants/thumbs/seatoverlay.jpg diff --git a/images/alphaCampPants/thumbs/thumbnail.jpg b/public/images/alphaCampPants/thumbs/thumbnail.jpg similarity index 100% rename from images/alphaCampPants/thumbs/thumbnail.jpg rename to public/images/alphaCampPants/thumbs/thumbnail.jpg diff --git a/images/alphaCampPants/thumbs/thumbnail2.jpg b/public/images/alphaCampPants/thumbs/thumbnail2.jpg similarity index 100% rename from images/alphaCampPants/thumbs/thumbnail2.jpg rename to public/images/alphaCampPants/thumbs/thumbnail2.jpg diff --git a/images/alphaCampPants/thumbs/thumbnail3.jpg b/public/images/alphaCampPants/thumbs/thumbnail3.jpg similarity index 100% rename from images/alphaCampPants/thumbs/thumbnail3.jpg rename to public/images/alphaCampPants/thumbs/thumbnail3.jpg diff --git a/images/alphaCampPants/thumbs/thumbnail_short.jpg b/public/images/alphaCampPants/thumbs/thumbnail_short.jpg similarity index 100% rename from images/alphaCampPants/thumbs/thumbnail_short.jpg rename to public/images/alphaCampPants/thumbs/thumbnail_short.jpg diff --git a/images/alphaCampPants/thumbs/thumbnail_square.jpg b/public/images/alphaCampPants/thumbs/thumbnail_square.jpg similarity index 100% rename from images/alphaCampPants/thumbs/thumbnail_square.jpg rename to public/images/alphaCampPants/thumbs/thumbnail_square.jpg diff --git a/images/alphaRaglan/bala1.jpg b/public/images/alphaRaglan/bala1.jpg similarity index 100% rename from images/alphaRaglan/bala1.jpg rename to public/images/alphaRaglan/bala1.jpg diff --git a/images/alphaRaglan/bala2.jpg b/public/images/alphaRaglan/bala2.jpg similarity index 100% rename from images/alphaRaglan/bala2.jpg rename to public/images/alphaRaglan/bala2.jpg diff --git a/images/alphaRaglan/bala3.jpg b/public/images/alphaRaglan/bala3.jpg similarity index 100% rename from images/alphaRaglan/bala3.jpg rename to public/images/alphaRaglan/bala3.jpg diff --git a/images/alphaRaglan/bala4.jpg b/public/images/alphaRaglan/bala4.jpg similarity index 100% rename from images/alphaRaglan/bala4.jpg rename to public/images/alphaRaglan/bala4.jpg diff --git a/images/alphaRaglan/bala5.jpg b/public/images/alphaRaglan/bala5.jpg similarity index 100% rename from images/alphaRaglan/bala5.jpg rename to public/images/alphaRaglan/bala5.jpg diff --git a/images/alphaRaglan/bala60.jpg b/public/images/alphaRaglan/bala60.jpg similarity index 100% rename from images/alphaRaglan/bala60.jpg rename to public/images/alphaRaglan/bala60.jpg diff --git a/images/alphaRaglan/bench.jpg b/public/images/alphaRaglan/bench.jpg similarity index 100% rename from images/alphaRaglan/bench.jpg rename to public/images/alphaRaglan/bench.jpg diff --git a/images/alphaRaglan/build/IMG_3765.jpg b/public/images/alphaRaglan/build/IMG_3765.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3765.jpg rename to public/images/alphaRaglan/build/IMG_3765.jpg diff --git a/images/alphaRaglan/build/IMG_3773.jpg b/public/images/alphaRaglan/build/IMG_3773.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3773.jpg rename to public/images/alphaRaglan/build/IMG_3773.jpg diff --git a/images/alphaRaglan/build/IMG_3774.jpg b/public/images/alphaRaglan/build/IMG_3774.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3774.jpg rename to public/images/alphaRaglan/build/IMG_3774.jpg diff --git a/images/alphaRaglan/build/IMG_3777.jpg b/public/images/alphaRaglan/build/IMG_3777.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3777.jpg rename to public/images/alphaRaglan/build/IMG_3777.jpg diff --git a/images/alphaRaglan/build/IMG_3780.jpg b/public/images/alphaRaglan/build/IMG_3780.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3780.jpg rename to public/images/alphaRaglan/build/IMG_3780.jpg diff --git a/images/alphaRaglan/build/IMG_3782.jpg b/public/images/alphaRaglan/build/IMG_3782.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3782.jpg rename to public/images/alphaRaglan/build/IMG_3782.jpg diff --git a/images/alphaRaglan/build/IMG_3783.jpg b/public/images/alphaRaglan/build/IMG_3783.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3783.jpg rename to public/images/alphaRaglan/build/IMG_3783.jpg diff --git a/images/alphaRaglan/build/IMG_3784.jpg b/public/images/alphaRaglan/build/IMG_3784.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3784.jpg rename to public/images/alphaRaglan/build/IMG_3784.jpg diff --git a/images/alphaRaglan/build/IMG_3785.jpg b/public/images/alphaRaglan/build/IMG_3785.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3785.jpg rename to public/images/alphaRaglan/build/IMG_3785.jpg diff --git a/images/alphaRaglan/build/IMG_3788.jpg b/public/images/alphaRaglan/build/IMG_3788.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3788.jpg rename to public/images/alphaRaglan/build/IMG_3788.jpg diff --git a/images/alphaRaglan/build/IMG_3790.jpg b/public/images/alphaRaglan/build/IMG_3790.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3790.jpg rename to public/images/alphaRaglan/build/IMG_3790.jpg diff --git a/images/alphaRaglan/build/IMG_3791.jpg b/public/images/alphaRaglan/build/IMG_3791.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3791.jpg rename to public/images/alphaRaglan/build/IMG_3791.jpg diff --git a/images/alphaRaglan/build/IMG_3793.jpg b/public/images/alphaRaglan/build/IMG_3793.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3793.jpg rename to public/images/alphaRaglan/build/IMG_3793.jpg diff --git a/images/alphaRaglan/build/IMG_3794.jpg b/public/images/alphaRaglan/build/IMG_3794.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3794.jpg rename to public/images/alphaRaglan/build/IMG_3794.jpg diff --git a/images/alphaRaglan/build/IMG_3796.jpg b/public/images/alphaRaglan/build/IMG_3796.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3796.jpg rename to public/images/alphaRaglan/build/IMG_3796.jpg diff --git a/images/alphaRaglan/build/IMG_3797.jpg b/public/images/alphaRaglan/build/IMG_3797.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3797.jpg rename to public/images/alphaRaglan/build/IMG_3797.jpg diff --git a/images/alphaRaglan/build/IMG_3798.jpg b/public/images/alphaRaglan/build/IMG_3798.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3798.jpg rename to public/images/alphaRaglan/build/IMG_3798.jpg diff --git a/images/alphaRaglan/build/IMG_3800.jpg b/public/images/alphaRaglan/build/IMG_3800.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3800.jpg rename to public/images/alphaRaglan/build/IMG_3800.jpg diff --git a/images/alphaRaglan/build/IMG_3802.jpg b/public/images/alphaRaglan/build/IMG_3802.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3802.jpg rename to public/images/alphaRaglan/build/IMG_3802.jpg diff --git a/images/alphaRaglan/build/IMG_3803.jpg b/public/images/alphaRaglan/build/IMG_3803.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3803.jpg rename to public/images/alphaRaglan/build/IMG_3803.jpg diff --git a/images/alphaRaglan/build/IMG_3804.jpg b/public/images/alphaRaglan/build/IMG_3804.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3804.jpg rename to public/images/alphaRaglan/build/IMG_3804.jpg diff --git a/images/alphaRaglan/build/IMG_3805.jpg b/public/images/alphaRaglan/build/IMG_3805.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3805.jpg rename to public/images/alphaRaglan/build/IMG_3805.jpg diff --git a/images/alphaRaglan/build/IMG_3806.jpg b/public/images/alphaRaglan/build/IMG_3806.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3806.jpg rename to public/images/alphaRaglan/build/IMG_3806.jpg diff --git a/images/alphaRaglan/build/IMG_3808.jpg b/public/images/alphaRaglan/build/IMG_3808.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3808.jpg rename to public/images/alphaRaglan/build/IMG_3808.jpg diff --git a/images/alphaRaglan/build/IMG_3809.jpg b/public/images/alphaRaglan/build/IMG_3809.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3809.jpg rename to public/images/alphaRaglan/build/IMG_3809.jpg diff --git a/images/alphaRaglan/build/IMG_3810.jpg b/public/images/alphaRaglan/build/IMG_3810.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3810.jpg rename to public/images/alphaRaglan/build/IMG_3810.jpg diff --git a/images/alphaRaglan/build/IMG_3811.jpg b/public/images/alphaRaglan/build/IMG_3811.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3811.jpg rename to public/images/alphaRaglan/build/IMG_3811.jpg diff --git a/images/alphaRaglan/build/IMG_3813.jpg b/public/images/alphaRaglan/build/IMG_3813.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3813.jpg rename to public/images/alphaRaglan/build/IMG_3813.jpg diff --git a/images/alphaRaglan/build/IMG_3817.jpg b/public/images/alphaRaglan/build/IMG_3817.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3817.jpg rename to public/images/alphaRaglan/build/IMG_3817.jpg diff --git a/images/alphaRaglan/build/IMG_3821.jpg b/public/images/alphaRaglan/build/IMG_3821.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3821.jpg rename to public/images/alphaRaglan/build/IMG_3821.jpg diff --git a/images/alphaRaglan/build/IMG_3822.jpg b/public/images/alphaRaglan/build/IMG_3822.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3822.jpg rename to public/images/alphaRaglan/build/IMG_3822.jpg diff --git a/images/alphaRaglan/build/IMG_3823.jpg b/public/images/alphaRaglan/build/IMG_3823.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3823.jpg rename to public/images/alphaRaglan/build/IMG_3823.jpg diff --git a/images/alphaRaglan/build/IMG_3826.jpg b/public/images/alphaRaglan/build/IMG_3826.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3826.jpg rename to public/images/alphaRaglan/build/IMG_3826.jpg diff --git a/images/alphaRaglan/build/IMG_3827.jpg b/public/images/alphaRaglan/build/IMG_3827.jpg similarity index 100% rename from images/alphaRaglan/build/IMG_3827.jpg rename to public/images/alphaRaglan/build/IMG_3827.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3765.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3765.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3765.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3765.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3773.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3773.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3773.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3773.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3774.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3774.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3774.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3774.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3777.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3777.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3777.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3777.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3780.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3780.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3780.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3780.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3782.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3782.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3782.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3782.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3783.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3783.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3783.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3783.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3784.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3784.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3784.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3784.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3785.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3785.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3785.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3785.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3788.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3788.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3788.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3788.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3790.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3790.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3790.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3790.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3791.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3791.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3791.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3791.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3793.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3793.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3793.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3793.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3794.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3794.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3794.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3794.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3796.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3796.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3796.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3796.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3797.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3797.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3797.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3797.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3798.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3798.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3798.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3798.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3800.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3800.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3800.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3800.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3802.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3802.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3802.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3802.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3803.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3803.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3803.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3803.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3804.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3804.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3804.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3804.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3805.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3805.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3805.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3805.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3806.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3806.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3806.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3806.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3808.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3808.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3808.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3808.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3809.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3809.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3809.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3809.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3810.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3810.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3810.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3810.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3811.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3811.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3811.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3811.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3813.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3813.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3813.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3813.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3817.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3817.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3817.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3817.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3821.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3821.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3821.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3821.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3822.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3822.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3822.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3822.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3823.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3823.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3823.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3823.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3826.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3826.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3826.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3826.jpg diff --git a/images/alphaRaglan/build/thumbs/IMG_3827.jpg b/public/images/alphaRaglan/build/thumbs/IMG_3827.jpg similarity index 100% rename from images/alphaRaglan/build/thumbs/IMG_3827.jpg rename to public/images/alphaRaglan/build/thumbs/IMG_3827.jpg diff --git a/images/alphaRaglan/card.png b/public/images/alphaRaglan/card.png similarity index 100% rename from images/alphaRaglan/card.png rename to public/images/alphaRaglan/card.png diff --git a/images/alphaRaglan/cutlayout.png b/public/images/alphaRaglan/cutlayout.png similarity index 100% rename from images/alphaRaglan/cutlayout.png rename to public/images/alphaRaglan/cutlayout.png diff --git a/images/alphaRaglan/instruction.png b/public/images/alphaRaglan/instruction.png similarity index 100% rename from images/alphaRaglan/instruction.png rename to public/images/alphaRaglan/instruction.png diff --git a/images/alphaRaglan/m1.jpg b/public/images/alphaRaglan/m1.jpg similarity index 100% rename from images/alphaRaglan/m1.jpg rename to public/images/alphaRaglan/m1.jpg diff --git a/images/alphaRaglan/m2.jpg b/public/images/alphaRaglan/m2.jpg similarity index 100% rename from images/alphaRaglan/m2.jpg rename to public/images/alphaRaglan/m2.jpg diff --git a/images/alphaRaglan/m3.jpg b/public/images/alphaRaglan/m3.jpg similarity index 100% rename from images/alphaRaglan/m3.jpg rename to public/images/alphaRaglan/m3.jpg diff --git a/images/alphaRaglan/makerkit.jpg b/public/images/alphaRaglan/makerkit.jpg similarity index 100% rename from images/alphaRaglan/makerkit.jpg rename to public/images/alphaRaglan/makerkit.jpg diff --git a/images/alphaRaglan/o1.jpg b/public/images/alphaRaglan/o1.jpg similarity index 100% rename from images/alphaRaglan/o1.jpg rename to public/images/alphaRaglan/o1.jpg diff --git a/images/alphaRaglan/o2.jpg b/public/images/alphaRaglan/o2.jpg similarity index 100% rename from images/alphaRaglan/o2.jpg rename to public/images/alphaRaglan/o2.jpg diff --git a/images/alphaRaglan/o3.jpg b/public/images/alphaRaglan/o3.jpg similarity index 100% rename from images/alphaRaglan/o3.jpg rename to public/images/alphaRaglan/o3.jpg diff --git a/images/alphaRaglan/o4.jpg b/public/images/alphaRaglan/o4.jpg similarity index 100% rename from images/alphaRaglan/o4.jpg rename to public/images/alphaRaglan/o4.jpg diff --git a/images/alphaRaglan/overlap1.jpg b/public/images/alphaRaglan/overlap1.jpg similarity index 100% rename from images/alphaRaglan/overlap1.jpg rename to public/images/alphaRaglan/overlap1.jpg diff --git a/images/alphaRaglan/overlap120.jpg b/public/images/alphaRaglan/overlap120.jpg similarity index 100% rename from images/alphaRaglan/overlap120.jpg rename to public/images/alphaRaglan/overlap120.jpg diff --git a/images/alphaRaglan/overlap4.jpg b/public/images/alphaRaglan/overlap4.jpg similarity index 100% rename from images/alphaRaglan/overlap4.jpg rename to public/images/alphaRaglan/overlap4.jpg diff --git a/images/alphaRaglan/overlap5.jpg b/public/images/alphaRaglan/overlap5.jpg similarity index 100% rename from images/alphaRaglan/overlap5.jpg rename to public/images/alphaRaglan/overlap5.jpg diff --git a/images/alphaRaglan/overlap6.jpg b/public/images/alphaRaglan/overlap6.jpg similarity index 100% rename from images/alphaRaglan/overlap6.jpg rename to public/images/alphaRaglan/overlap6.jpg diff --git a/images/alphaRaglan/overlap7.jpg b/public/images/alphaRaglan/overlap7.jpg similarity index 100% rename from images/alphaRaglan/overlap7.jpg rename to public/images/alphaRaglan/overlap7.jpg diff --git a/images/alphaRaglan/overlap8.jpg b/public/images/alphaRaglan/overlap8.jpg similarity index 100% rename from images/alphaRaglan/overlap8.jpg rename to public/images/alphaRaglan/overlap8.jpg diff --git a/images/alphaRaglan/thumbs/bala1.jpg b/public/images/alphaRaglan/thumbs/bala1.jpg similarity index 100% rename from images/alphaRaglan/thumbs/bala1.jpg rename to public/images/alphaRaglan/thumbs/bala1.jpg diff --git a/images/alphaRaglan/thumbs/bala2.jpg b/public/images/alphaRaglan/thumbs/bala2.jpg similarity index 100% rename from images/alphaRaglan/thumbs/bala2.jpg rename to public/images/alphaRaglan/thumbs/bala2.jpg diff --git a/images/alphaRaglan/thumbs/bala3.jpg b/public/images/alphaRaglan/thumbs/bala3.jpg similarity index 100% rename from images/alphaRaglan/thumbs/bala3.jpg rename to public/images/alphaRaglan/thumbs/bala3.jpg diff --git a/images/alphaRaglan/thumbs/bala4.jpg b/public/images/alphaRaglan/thumbs/bala4.jpg similarity index 100% rename from images/alphaRaglan/thumbs/bala4.jpg rename to public/images/alphaRaglan/thumbs/bala4.jpg diff --git a/images/alphaRaglan/thumbs/bala5.jpg b/public/images/alphaRaglan/thumbs/bala5.jpg similarity index 100% rename from images/alphaRaglan/thumbs/bala5.jpg rename to public/images/alphaRaglan/thumbs/bala5.jpg diff --git a/images/alphaRaglan/thumbs/bala60.jpg b/public/images/alphaRaglan/thumbs/bala60.jpg similarity index 100% rename from images/alphaRaglan/thumbs/bala60.jpg rename to public/images/alphaRaglan/thumbs/bala60.jpg diff --git a/images/alphaRaglan/thumbs/bench.jpg b/public/images/alphaRaglan/thumbs/bench.jpg similarity index 100% rename from images/alphaRaglan/thumbs/bench.jpg rename to public/images/alphaRaglan/thumbs/bench.jpg diff --git a/images/alphaRaglan/thumbs/card.png b/public/images/alphaRaglan/thumbs/card.png similarity index 100% rename from images/alphaRaglan/thumbs/card.png rename to public/images/alphaRaglan/thumbs/card.png diff --git a/images/alphaRaglan/thumbs/cutlayout.png b/public/images/alphaRaglan/thumbs/cutlayout.png similarity index 100% rename from images/alphaRaglan/thumbs/cutlayout.png rename to public/images/alphaRaglan/thumbs/cutlayout.png diff --git a/images/alphaRaglan/thumbs/instruction.png b/public/images/alphaRaglan/thumbs/instruction.png similarity index 100% rename from images/alphaRaglan/thumbs/instruction.png rename to public/images/alphaRaglan/thumbs/instruction.png diff --git a/images/alphaRaglan/thumbs/m1.jpg b/public/images/alphaRaglan/thumbs/m1.jpg similarity index 100% rename from images/alphaRaglan/thumbs/m1.jpg rename to public/images/alphaRaglan/thumbs/m1.jpg diff --git a/images/alphaRaglan/thumbs/m2.jpg b/public/images/alphaRaglan/thumbs/m2.jpg similarity index 100% rename from images/alphaRaglan/thumbs/m2.jpg rename to public/images/alphaRaglan/thumbs/m2.jpg diff --git a/images/alphaRaglan/thumbs/m3.jpg b/public/images/alphaRaglan/thumbs/m3.jpg similarity index 100% rename from images/alphaRaglan/thumbs/m3.jpg rename to public/images/alphaRaglan/thumbs/m3.jpg diff --git a/images/alphaRaglan/thumbs/makerkit.jpg b/public/images/alphaRaglan/thumbs/makerkit.jpg similarity index 100% rename from images/alphaRaglan/thumbs/makerkit.jpg rename to public/images/alphaRaglan/thumbs/makerkit.jpg diff --git a/images/alphaRaglan/thumbs/o1.jpg b/public/images/alphaRaglan/thumbs/o1.jpg similarity index 100% rename from images/alphaRaglan/thumbs/o1.jpg rename to public/images/alphaRaglan/thumbs/o1.jpg diff --git a/images/alphaRaglan/thumbs/o2.jpg b/public/images/alphaRaglan/thumbs/o2.jpg similarity index 100% rename from images/alphaRaglan/thumbs/o2.jpg rename to public/images/alphaRaglan/thumbs/o2.jpg diff --git a/images/alphaRaglan/thumbs/o3.jpg b/public/images/alphaRaglan/thumbs/o3.jpg similarity index 100% rename from images/alphaRaglan/thumbs/o3.jpg rename to public/images/alphaRaglan/thumbs/o3.jpg diff --git a/images/alphaRaglan/thumbs/o4.jpg b/public/images/alphaRaglan/thumbs/o4.jpg similarity index 100% rename from images/alphaRaglan/thumbs/o4.jpg rename to public/images/alphaRaglan/thumbs/o4.jpg diff --git a/images/alphaRaglan/thumbs/overlap1.jpg b/public/images/alphaRaglan/thumbs/overlap1.jpg similarity index 100% rename from images/alphaRaglan/thumbs/overlap1.jpg rename to public/images/alphaRaglan/thumbs/overlap1.jpg diff --git a/images/alphaRaglan/thumbs/overlap120.jpg b/public/images/alphaRaglan/thumbs/overlap120.jpg similarity index 100% rename from images/alphaRaglan/thumbs/overlap120.jpg rename to public/images/alphaRaglan/thumbs/overlap120.jpg diff --git a/images/alphaRaglan/thumbs/overlap4.jpg b/public/images/alphaRaglan/thumbs/overlap4.jpg similarity index 100% rename from images/alphaRaglan/thumbs/overlap4.jpg rename to public/images/alphaRaglan/thumbs/overlap4.jpg diff --git a/images/alphaRaglan/thumbs/overlap5.jpg b/public/images/alphaRaglan/thumbs/overlap5.jpg similarity index 100% rename from images/alphaRaglan/thumbs/overlap5.jpg rename to public/images/alphaRaglan/thumbs/overlap5.jpg diff --git a/images/alphaRaglan/thumbs/overlap6.jpg b/public/images/alphaRaglan/thumbs/overlap6.jpg similarity index 100% rename from images/alphaRaglan/thumbs/overlap6.jpg rename to public/images/alphaRaglan/thumbs/overlap6.jpg diff --git a/images/alphaRaglan/thumbs/overlap7.jpg b/public/images/alphaRaglan/thumbs/overlap7.jpg similarity index 100% rename from images/alphaRaglan/thumbs/overlap7.jpg rename to public/images/alphaRaglan/thumbs/overlap7.jpg diff --git a/images/alphaRaglan/thumbs/overlap8.jpg b/public/images/alphaRaglan/thumbs/overlap8.jpg similarity index 100% rename from images/alphaRaglan/thumbs/overlap8.jpg rename to public/images/alphaRaglan/thumbs/overlap8.jpg diff --git a/images/alphaRaglan/thumbs/sewalong_thumb.jpg b/public/images/alphaRaglan/thumbs/sewalong_thumb.jpg similarity index 100% rename from images/alphaRaglan/thumbs/sewalong_thumb.jpg rename to public/images/alphaRaglan/thumbs/sewalong_thumb.jpg diff --git a/images/android-chrome-192x192.png b/public/images/android-chrome-192x192.png similarity index 100% rename from images/android-chrome-192x192.png rename to public/images/android-chrome-192x192.png diff --git a/images/android-chrome-512x512.png b/public/images/android-chrome-512x512.png similarity index 100% rename from images/android-chrome-512x512.png rename to public/images/android-chrome-512x512.png diff --git a/images/apple-touch-icon.png b/public/images/apple-touch-icon.png similarity index 100% rename from images/apple-touch-icon.png rename to public/images/apple-touch-icon.png diff --git a/images/archive/3.jpg b/public/images/archive/3.jpg similarity index 100% rename from images/archive/3.jpg rename to public/images/archive/3.jpg diff --git a/images/archive/3dCroners.png b/public/images/archive/3dCroners.png similarity index 100% rename from images/archive/3dCroners.png rename to public/images/archive/3dCroners.png diff --git a/images/archive/4.jpg b/public/images/archive/4.jpg similarity index 100% rename from images/archive/4.jpg rename to public/images/archive/4.jpg diff --git a/images/archive/DSC00410.JPG b/public/images/archive/DSC00410.JPG similarity index 100% rename from images/archive/DSC00410.JPG rename to public/images/archive/DSC00410.JPG diff --git a/images/archive/EDCFannyPackPreview.png b/public/images/archive/EDCFannyPackPreview.png similarity index 100% rename from images/archive/EDCFannyPackPreview.png rename to public/images/archive/EDCFannyPackPreview.png diff --git a/images/archive/aspants_soon.jpg b/public/images/archive/aspants_soon.jpg similarity index 100% rename from images/archive/aspants_soon.jpg rename to public/images/archive/aspants_soon.jpg diff --git a/images/archive/b1side.jpg b/public/images/archive/b1side.jpg similarity index 100% rename from images/archive/b1side.jpg rename to public/images/archive/b1side.jpg diff --git a/images/archive/b2beer.jpg b/public/images/archive/b2beer.jpg similarity index 100% rename from images/archive/b2beer.jpg rename to public/images/archive/b2beer.jpg diff --git a/images/archive/b2profile.jpg b/public/images/archive/b2profile.jpg similarity index 100% rename from images/archive/b2profile.jpg rename to public/images/archive/b2profile.jpg diff --git a/images/archive/b2side.jpg b/public/images/archive/b2side.jpg similarity index 100% rename from images/archive/b2side.jpg rename to public/images/archive/b2side.jpg diff --git a/images/archive/banner4 - orig.jpg b/public/images/archive/banner4 - orig.jpg similarity index 100% rename from images/archive/banner4 - orig.jpg rename to public/images/archive/banner4 - orig.jpg diff --git a/images/archive/bpStemBagPreview.png b/public/images/archive/bpStemBagPreview.png similarity index 100% rename from images/archive/bpStemBagPreview.png rename to public/images/archive/bpStemBagPreview.png diff --git a/images/archive/camp_pants.jpg b/public/images/archive/camp_pants.jpg similarity index 100% rename from images/archive/camp_pants.jpg rename to public/images/archive/camp_pants.jpg diff --git a/images/archive/cinchsack.jpg b/public/images/archive/cinchsack.jpg similarity index 100% rename from images/archive/cinchsack.jpg rename to public/images/archive/cinchsack.jpg diff --git a/images/archive/day.jpg b/public/images/archive/day.jpg similarity index 100% rename from images/archive/day.jpg rename to public/images/archive/day.jpg diff --git a/images/archive/fannyPackPreview.png b/public/images/archive/fannyPackPreview.png similarity index 100% rename from images/archive/fannyPackPreview.png rename to public/images/archive/fannyPackPreview.png diff --git a/images/archive/fastpackhero.jpg b/public/images/archive/fastpackhero.jpg similarity index 100% rename from images/archive/fastpackhero.jpg rename to public/images/archive/fastpackhero.jpg diff --git a/images/archive/fastpackhero2.jpg b/public/images/archive/fastpackhero2.jpg similarity index 100% rename from images/archive/fastpackhero2.jpg rename to public/images/archive/fastpackhero2.jpg diff --git a/images/archive/fastpackherostuart.jpg b/public/images/archive/fastpackherostuart.jpg similarity index 100% rename from images/archive/fastpackherostuart.jpg rename to public/images/archive/fastpackherostuart.jpg diff --git a/images/archive/front.jpg b/public/images/archive/front.jpg similarity index 100% rename from images/archive/front.jpg rename to public/images/archive/front.jpg diff --git a/images/archive/full.jpg b/public/images/archive/full.jpg similarity index 100% rename from images/archive/full.jpg rename to public/images/archive/full.jpg diff --git a/images/archive/fullpreview.jpg b/public/images/archive/fullpreview.jpg similarity index 100% rename from images/archive/fullpreview.jpg rename to public/images/archive/fullpreview.jpg diff --git a/images/archive/hero.jpg b/public/images/archive/hero.jpg similarity index 100% rename from images/archive/hero.jpg rename to public/images/archive/hero.jpg diff --git a/images/archive/hikerWalletPreview.png b/public/images/archive/hikerWalletPreview.png similarity index 100% rename from images/archive/hikerWalletPreview.png rename to public/images/archive/hikerWalletPreview.png diff --git a/images/archive/hippackhero.jpg b/public/images/archive/hippackhero.jpg similarity index 100% rename from images/archive/hippackhero.jpg rename to public/images/archive/hippackhero.jpg diff --git a/images/archive/rolltop.jpg b/public/images/archive/rolltop.jpg similarity index 100% rename from images/archive/rolltop.jpg rename to public/images/archive/rolltop.jpg diff --git a/images/archive/runningBeltPreview.png b/public/images/archive/runningBeltPreview.png similarity index 100% rename from images/archive/runningBeltPreview.png rename to public/images/archive/runningBeltPreview.png diff --git a/images/archive/spotlight02.jpg b/public/images/archive/spotlight02.jpg similarity index 100% rename from images/archive/spotlight02.jpg rename to public/images/archive/spotlight02.jpg diff --git a/images/archive/stuffSackCompleted.png b/public/images/archive/stuffSackCompleted.png similarity index 100% rename from images/archive/stuffSackCompleted.png rename to public/images/archive/stuffSackCompleted.png diff --git a/images/archive/stuffSackPreview.png b/public/images/archive/stuffSackPreview.png similarity index 100% rename from images/archive/stuffSackPreview.png rename to public/images/archive/stuffSackPreview.png diff --git a/images/archive/thread (Thumb).jpg b/public/images/archive/thread (Thumb).jpg similarity index 100% rename from images/archive/thread (Thumb).jpg rename to public/images/archive/thread (Thumb).jpg diff --git a/images/archive/thread.jpg b/public/images/archive/thread.jpg similarity index 100% rename from images/archive/thread.jpg rename to public/images/archive/thread.jpg diff --git a/images/archive/topTubeBagPreview.png b/public/images/archive/topTubeBagPreview.png similarity index 100% rename from images/archive/topTubeBagPreview.png rename to public/images/archive/topTubeBagPreview.png diff --git a/images/archive/toptubebag.jpg b/public/images/archive/toptubebag.jpg similarity index 100% rename from images/archive/toptubebag.jpg rename to public/images/archive/toptubebag.jpg diff --git a/images/archive/totepack.png b/public/images/archive/totepack.png similarity index 100% rename from images/archive/totepack.png rename to public/images/archive/totepack.png diff --git a/images/archive/trailrunpack2.png b/public/images/archive/trailrunpack2.png similarity index 100% rename from images/archive/trailrunpack2.png rename to public/images/archive/trailrunpack2.png diff --git a/images/archive/windshell.jpg b/public/images/archive/windshell.jpg similarity index 100% rename from images/archive/windshell.jpg rename to public/images/archive/windshell.jpg diff --git a/images/archive/zipSackCompleted.jpg b/public/images/archive/zipSackCompleted.jpg similarity index 100% rename from images/archive/zipSackCompleted.jpg rename to public/images/archive/zipSackCompleted.jpg diff --git a/images/archive/zipSackPreview.png b/public/images/archive/zipSackPreview.png similarity index 100% rename from images/archive/zipSackPreview.png rename to public/images/archive/zipSackPreview.png diff --git a/images/articles/3dcorners.png b/public/images/articles/3dcorners.png similarity index 100% rename from images/articles/3dcorners.png rename to public/images/articles/3dcorners.png diff --git a/images/banner4.jpg b/public/images/banner4.jpg similarity index 100% rename from images/banner4.jpg rename to public/images/banner4.jpg diff --git a/images/bpStemBag/0.jpg b/public/images/bpStemBag/0.jpg similarity index 100% rename from images/bpStemBag/0.jpg rename to public/images/bpStemBag/0.jpg diff --git a/images/bpStemBag/1.jpg b/public/images/bpStemBag/1.jpg similarity index 100% rename from images/bpStemBag/1.jpg rename to public/images/bpStemBag/1.jpg diff --git a/images/bpStemBag/2.jpg b/public/images/bpStemBag/2.jpg similarity index 100% rename from images/bpStemBag/2.jpg rename to public/images/bpStemBag/2.jpg diff --git a/images/bpStemBag/3.jpg b/public/images/bpStemBag/3.jpg similarity index 100% rename from images/bpStemBag/3.jpg rename to public/images/bpStemBag/3.jpg diff --git a/images/bpStemBag/4.jpg b/public/images/bpStemBag/4.jpg similarity index 100% rename from images/bpStemBag/4.jpg rename to public/images/bpStemBag/4.jpg diff --git a/images/bpStemBag/5.jpg b/public/images/bpStemBag/5.jpg similarity index 100% rename from images/bpStemBag/5.jpg rename to public/images/bpStemBag/5.jpg diff --git a/images/bpStemBag/6.jpg b/public/images/bpStemBag/6.jpg similarity index 100% rename from images/bpStemBag/6.jpg rename to public/images/bpStemBag/6.jpg diff --git a/images/bpStemBag/7.jpg b/public/images/bpStemBag/7.jpg similarity index 100% rename from images/bpStemBag/7.jpg rename to public/images/bpStemBag/7.jpg diff --git a/images/bpStemBag/8.jpg b/public/images/bpStemBag/8.jpg similarity index 100% rename from images/bpStemBag/8.jpg rename to public/images/bpStemBag/8.jpg diff --git a/images/bpStemBag/b1front.jpg b/public/images/bpStemBag/b1front.jpg similarity index 100% rename from images/bpStemBag/b1front.jpg rename to public/images/bpStemBag/b1front.jpg diff --git a/images/bpStemBag/b1hero.jpg b/public/images/bpStemBag/b1hero.jpg similarity index 100% rename from images/bpStemBag/b1hero.jpg rename to public/images/bpStemBag/b1hero.jpg diff --git a/images/bpStemBag/b1pocket.jpg b/public/images/bpStemBag/b1pocket.jpg similarity index 100% rename from images/bpStemBag/b1pocket.jpg rename to public/images/bpStemBag/b1pocket.jpg diff --git a/images/bpStemBag/b2back.jpg b/public/images/bpStemBag/b2back.jpg similarity index 100% rename from images/bpStemBag/b2back.jpg rename to public/images/bpStemBag/b2back.jpg diff --git a/images/bpStemBag/b2bottom.jpg b/public/images/bpStemBag/b2bottom.jpg similarity index 100% rename from images/bpStemBag/b2bottom.jpg rename to public/images/bpStemBag/b2bottom.jpg diff --git a/images/bpStemBag/b2front.jpg b/public/images/bpStemBag/b2front.jpg similarity index 100% rename from images/bpStemBag/b2front.jpg rename to public/images/bpStemBag/b2front.jpg diff --git a/images/bpStemBag/b2inside.jpg b/public/images/bpStemBag/b2inside.jpg similarity index 100% rename from images/bpStemBag/b2inside.jpg rename to public/images/bpStemBag/b2inside.jpg diff --git a/images/bpStemBag/cb_mchalfy_1.jpg b/public/images/bpStemBag/cb_mchalfy_1.jpg similarity index 100% rename from images/bpStemBag/cb_mchalfy_1.jpg rename to public/images/bpStemBag/cb_mchalfy_1.jpg diff --git a/images/bpStemBag/cb_mchalfy_2.jpg b/public/images/bpStemBag/cb_mchalfy_2.jpg similarity index 100% rename from images/bpStemBag/cb_mchalfy_2.jpg rename to public/images/bpStemBag/cb_mchalfy_2.jpg diff --git a/images/bpStemBag/cb_ombeen.jpg b/public/images/bpStemBag/cb_ombeen.jpg similarity index 100% rename from images/bpStemBag/cb_ombeen.jpg rename to public/images/bpStemBag/cb_ombeen.jpg diff --git a/images/bpStemBag/cb_riceonwhite.jpg b/public/images/bpStemBag/cb_riceonwhite.jpg similarity index 100% rename from images/bpStemBag/cb_riceonwhite.jpg rename to public/images/bpStemBag/cb_riceonwhite.jpg diff --git a/images/bpStemBag/cb_tweis.jpg b/public/images/bpStemBag/cb_tweis.jpg similarity index 100% rename from images/bpStemBag/cb_tweis.jpg rename to public/images/bpStemBag/cb_tweis.jpg diff --git a/images/chonkysling/build/1.1.jpg b/public/images/chonkysling/build/1.1.jpg similarity index 100% rename from images/chonkysling/build/1.1.jpg rename to public/images/chonkysling/build/1.1.jpg diff --git a/images/chonkysling/build/1.2.jpg b/public/images/chonkysling/build/1.2.jpg similarity index 100% rename from images/chonkysling/build/1.2.jpg rename to public/images/chonkysling/build/1.2.jpg diff --git a/images/chonkysling/build/2.2.jpg b/public/images/chonkysling/build/2.2.jpg similarity index 100% rename from images/chonkysling/build/2.2.jpg rename to public/images/chonkysling/build/2.2.jpg diff --git a/images/chonkysling/build/2.3.jpg b/public/images/chonkysling/build/2.3.jpg similarity index 100% rename from images/chonkysling/build/2.3.jpg rename to public/images/chonkysling/build/2.3.jpg diff --git a/images/chonkysling/build/2.4.jpg b/public/images/chonkysling/build/2.4.jpg similarity index 100% rename from images/chonkysling/build/2.4.jpg rename to public/images/chonkysling/build/2.4.jpg diff --git a/images/chonkysling/build/2.6.jpg b/public/images/chonkysling/build/2.6.jpg similarity index 100% rename from images/chonkysling/build/2.6.jpg rename to public/images/chonkysling/build/2.6.jpg diff --git a/images/chonkysling/build/3.2.jpg b/public/images/chonkysling/build/3.2.jpg similarity index 100% rename from images/chonkysling/build/3.2.jpg rename to public/images/chonkysling/build/3.2.jpg diff --git a/images/chonkysling/build/3.3.jpg b/public/images/chonkysling/build/3.3.jpg similarity index 100% rename from images/chonkysling/build/3.3.jpg rename to public/images/chonkysling/build/3.3.jpg diff --git a/images/chonkysling/build/4.1a.jpg b/public/images/chonkysling/build/4.1a.jpg similarity index 100% rename from images/chonkysling/build/4.1a.jpg rename to public/images/chonkysling/build/4.1a.jpg diff --git a/images/chonkysling/build/4.1b.jpg b/public/images/chonkysling/build/4.1b.jpg similarity index 100% rename from images/chonkysling/build/4.1b.jpg rename to public/images/chonkysling/build/4.1b.jpg diff --git a/images/chonkysling/build/4.2.jpg b/public/images/chonkysling/build/4.2.jpg similarity index 100% rename from images/chonkysling/build/4.2.jpg rename to public/images/chonkysling/build/4.2.jpg diff --git a/images/chonkysling/build/4.3.jpg b/public/images/chonkysling/build/4.3.jpg similarity index 100% rename from images/chonkysling/build/4.3.jpg rename to public/images/chonkysling/build/4.3.jpg diff --git a/images/chonkysling/build/4.4a.jpg b/public/images/chonkysling/build/4.4a.jpg similarity index 100% rename from images/chonkysling/build/4.4a.jpg rename to public/images/chonkysling/build/4.4a.jpg diff --git a/images/chonkysling/build/4.4b.jpg b/public/images/chonkysling/build/4.4b.jpg similarity index 100% rename from images/chonkysling/build/4.4b.jpg rename to public/images/chonkysling/build/4.4b.jpg diff --git a/images/chonkysling/build/5.1.jpg b/public/images/chonkysling/build/5.1.jpg similarity index 100% rename from images/chonkysling/build/5.1.jpg rename to public/images/chonkysling/build/5.1.jpg diff --git a/images/chonkysling/build/5.10.jpg b/public/images/chonkysling/build/5.10.jpg similarity index 100% rename from images/chonkysling/build/5.10.jpg rename to public/images/chonkysling/build/5.10.jpg diff --git a/images/chonkysling/build/5.10b.jpg b/public/images/chonkysling/build/5.10b.jpg similarity index 100% rename from images/chonkysling/build/5.10b.jpg rename to public/images/chonkysling/build/5.10b.jpg diff --git a/images/chonkysling/build/5.2.jpg b/public/images/chonkysling/build/5.2.jpg similarity index 100% rename from images/chonkysling/build/5.2.jpg rename to public/images/chonkysling/build/5.2.jpg diff --git a/images/chonkysling/build/5.3.jpg b/public/images/chonkysling/build/5.3.jpg similarity index 100% rename from images/chonkysling/build/5.3.jpg rename to public/images/chonkysling/build/5.3.jpg diff --git a/images/chonkysling/build/5.4.jpg b/public/images/chonkysling/build/5.4.jpg similarity index 100% rename from images/chonkysling/build/5.4.jpg rename to public/images/chonkysling/build/5.4.jpg diff --git a/images/chonkysling/build/5.7.jpg b/public/images/chonkysling/build/5.7.jpg similarity index 100% rename from images/chonkysling/build/5.7.jpg rename to public/images/chonkysling/build/5.7.jpg diff --git a/images/chonkysling/build/5.8.jpg b/public/images/chonkysling/build/5.8.jpg similarity index 100% rename from images/chonkysling/build/5.8.jpg rename to public/images/chonkysling/build/5.8.jpg diff --git a/images/chonkysling/build/5.9.jpg b/public/images/chonkysling/build/5.9.jpg similarity index 100% rename from images/chonkysling/build/5.9.jpg rename to public/images/chonkysling/build/5.9.jpg diff --git a/images/chonkysling/build/6a.1.jpg b/public/images/chonkysling/build/6a.1.jpg similarity index 100% rename from images/chonkysling/build/6a.1.jpg rename to public/images/chonkysling/build/6a.1.jpg diff --git a/images/chonkysling/build/6a.10.jpg b/public/images/chonkysling/build/6a.10.jpg similarity index 100% rename from images/chonkysling/build/6a.10.jpg rename to public/images/chonkysling/build/6a.10.jpg diff --git a/images/chonkysling/build/6a.11.jpg b/public/images/chonkysling/build/6a.11.jpg similarity index 100% rename from images/chonkysling/build/6a.11.jpg rename to public/images/chonkysling/build/6a.11.jpg diff --git a/images/chonkysling/build/6a.2.jpg b/public/images/chonkysling/build/6a.2.jpg similarity index 100% rename from images/chonkysling/build/6a.2.jpg rename to public/images/chonkysling/build/6a.2.jpg diff --git a/images/chonkysling/build/6a.2a.jpg b/public/images/chonkysling/build/6a.2a.jpg similarity index 100% rename from images/chonkysling/build/6a.2a.jpg rename to public/images/chonkysling/build/6a.2a.jpg diff --git a/images/chonkysling/build/6a.4.jpg b/public/images/chonkysling/build/6a.4.jpg similarity index 100% rename from images/chonkysling/build/6a.4.jpg rename to public/images/chonkysling/build/6a.4.jpg diff --git a/images/chonkysling/build/6a.6.jpg b/public/images/chonkysling/build/6a.6.jpg similarity index 100% rename from images/chonkysling/build/6a.6.jpg rename to public/images/chonkysling/build/6a.6.jpg diff --git a/images/chonkysling/build/6a.9.jpg b/public/images/chonkysling/build/6a.9.jpg similarity index 100% rename from images/chonkysling/build/6a.9.jpg rename to public/images/chonkysling/build/6a.9.jpg diff --git a/images/chonkysling/build/6b.2.jpg b/public/images/chonkysling/build/6b.2.jpg similarity index 100% rename from images/chonkysling/build/6b.2.jpg rename to public/images/chonkysling/build/6b.2.jpg diff --git a/images/chonkysling/build/6b.4.jpg b/public/images/chonkysling/build/6b.4.jpg similarity index 100% rename from images/chonkysling/build/6b.4.jpg rename to public/images/chonkysling/build/6b.4.jpg diff --git a/images/chonkysling/build/6b.5.jpg b/public/images/chonkysling/build/6b.5.jpg similarity index 100% rename from images/chonkysling/build/6b.5.jpg rename to public/images/chonkysling/build/6b.5.jpg diff --git a/images/chonkysling/build/6b.5a.jpg b/public/images/chonkysling/build/6b.5a.jpg similarity index 100% rename from images/chonkysling/build/6b.5a.jpg rename to public/images/chonkysling/build/6b.5a.jpg diff --git a/images/chonkysling/build/6b.5b.jpg b/public/images/chonkysling/build/6b.5b.jpg similarity index 100% rename from images/chonkysling/build/6b.5b.jpg rename to public/images/chonkysling/build/6b.5b.jpg diff --git a/images/chonkysling/build/6b.6.jpg b/public/images/chonkysling/build/6b.6.jpg similarity index 100% rename from images/chonkysling/build/6b.6.jpg rename to public/images/chonkysling/build/6b.6.jpg diff --git a/images/chonkysling/build/finished.jpg b/public/images/chonkysling/build/finished.jpg similarity index 100% rename from images/chonkysling/build/finished.jpg rename to public/images/chonkysling/build/finished.jpg diff --git a/images/chonkysling/build/finished2.jpg b/public/images/chonkysling/build/finished2.jpg similarity index 100% rename from images/chonkysling/build/finished2.jpg rename to public/images/chonkysling/build/finished2.jpg diff --git a/images/chonkysling/build/olivehero.jpg b/public/images/chonkysling/build/olivehero.jpg similarity index 100% rename from images/chonkysling/build/olivehero.jpg rename to public/images/chonkysling/build/olivehero.jpg diff --git a/images/chonkysling/build/oliverhero2.jpg b/public/images/chonkysling/build/oliverhero2.jpg similarity index 100% rename from images/chonkysling/build/oliverhero2.jpg rename to public/images/chonkysling/build/oliverhero2.jpg diff --git a/images/chonkysling/build/thumbs/1.1.jpg b/public/images/chonkysling/build/thumbs/1.1.jpg similarity index 100% rename from images/chonkysling/build/thumbs/1.1.jpg rename to public/images/chonkysling/build/thumbs/1.1.jpg diff --git a/images/chonkysling/build/thumbs/1.2.jpg b/public/images/chonkysling/build/thumbs/1.2.jpg similarity index 100% rename from images/chonkysling/build/thumbs/1.2.jpg rename to public/images/chonkysling/build/thumbs/1.2.jpg diff --git a/images/chonkysling/build/thumbs/2.2.jpg b/public/images/chonkysling/build/thumbs/2.2.jpg similarity index 100% rename from images/chonkysling/build/thumbs/2.2.jpg rename to public/images/chonkysling/build/thumbs/2.2.jpg diff --git a/images/chonkysling/build/thumbs/2.3.jpg b/public/images/chonkysling/build/thumbs/2.3.jpg similarity index 100% rename from images/chonkysling/build/thumbs/2.3.jpg rename to public/images/chonkysling/build/thumbs/2.3.jpg diff --git a/images/chonkysling/build/thumbs/2.4.jpg b/public/images/chonkysling/build/thumbs/2.4.jpg similarity index 100% rename from images/chonkysling/build/thumbs/2.4.jpg rename to public/images/chonkysling/build/thumbs/2.4.jpg diff --git a/images/chonkysling/build/thumbs/2.6.jpg b/public/images/chonkysling/build/thumbs/2.6.jpg similarity index 100% rename from images/chonkysling/build/thumbs/2.6.jpg rename to public/images/chonkysling/build/thumbs/2.6.jpg diff --git a/images/chonkysling/build/thumbs/3.2.jpg b/public/images/chonkysling/build/thumbs/3.2.jpg similarity index 100% rename from images/chonkysling/build/thumbs/3.2.jpg rename to public/images/chonkysling/build/thumbs/3.2.jpg diff --git a/images/chonkysling/build/thumbs/3.3.jpg b/public/images/chonkysling/build/thumbs/3.3.jpg similarity index 100% rename from images/chonkysling/build/thumbs/3.3.jpg rename to public/images/chonkysling/build/thumbs/3.3.jpg diff --git a/images/chonkysling/build/thumbs/4.1a.jpg b/public/images/chonkysling/build/thumbs/4.1a.jpg similarity index 100% rename from images/chonkysling/build/thumbs/4.1a.jpg rename to public/images/chonkysling/build/thumbs/4.1a.jpg diff --git a/images/chonkysling/build/thumbs/4.1b.jpg b/public/images/chonkysling/build/thumbs/4.1b.jpg similarity index 100% rename from images/chonkysling/build/thumbs/4.1b.jpg rename to public/images/chonkysling/build/thumbs/4.1b.jpg diff --git a/images/chonkysling/build/thumbs/4.2.jpg b/public/images/chonkysling/build/thumbs/4.2.jpg similarity index 100% rename from images/chonkysling/build/thumbs/4.2.jpg rename to public/images/chonkysling/build/thumbs/4.2.jpg diff --git a/images/chonkysling/build/thumbs/4.3.jpg b/public/images/chonkysling/build/thumbs/4.3.jpg similarity index 100% rename from images/chonkysling/build/thumbs/4.3.jpg rename to public/images/chonkysling/build/thumbs/4.3.jpg diff --git a/images/chonkysling/build/thumbs/4.4a.jpg b/public/images/chonkysling/build/thumbs/4.4a.jpg similarity index 100% rename from images/chonkysling/build/thumbs/4.4a.jpg rename to public/images/chonkysling/build/thumbs/4.4a.jpg diff --git a/images/chonkysling/build/thumbs/4.4b.jpg b/public/images/chonkysling/build/thumbs/4.4b.jpg similarity index 100% rename from images/chonkysling/build/thumbs/4.4b.jpg rename to public/images/chonkysling/build/thumbs/4.4b.jpg diff --git a/images/chonkysling/build/thumbs/5.1.jpg b/public/images/chonkysling/build/thumbs/5.1.jpg similarity index 100% rename from images/chonkysling/build/thumbs/5.1.jpg rename to public/images/chonkysling/build/thumbs/5.1.jpg diff --git a/images/chonkysling/build/thumbs/5.10.jpg b/public/images/chonkysling/build/thumbs/5.10.jpg similarity index 100% rename from images/chonkysling/build/thumbs/5.10.jpg rename to public/images/chonkysling/build/thumbs/5.10.jpg diff --git a/images/chonkysling/build/thumbs/5.10b.jpg b/public/images/chonkysling/build/thumbs/5.10b.jpg similarity index 100% rename from images/chonkysling/build/thumbs/5.10b.jpg rename to public/images/chonkysling/build/thumbs/5.10b.jpg diff --git a/images/chonkysling/build/thumbs/5.2.jpg b/public/images/chonkysling/build/thumbs/5.2.jpg similarity index 100% rename from images/chonkysling/build/thumbs/5.2.jpg rename to public/images/chonkysling/build/thumbs/5.2.jpg diff --git a/images/chonkysling/build/thumbs/5.3.jpg b/public/images/chonkysling/build/thumbs/5.3.jpg similarity index 100% rename from images/chonkysling/build/thumbs/5.3.jpg rename to public/images/chonkysling/build/thumbs/5.3.jpg diff --git a/images/chonkysling/build/thumbs/5.4.jpg b/public/images/chonkysling/build/thumbs/5.4.jpg similarity index 100% rename from images/chonkysling/build/thumbs/5.4.jpg rename to public/images/chonkysling/build/thumbs/5.4.jpg diff --git a/images/chonkysling/build/thumbs/5.7.jpg b/public/images/chonkysling/build/thumbs/5.7.jpg similarity index 100% rename from images/chonkysling/build/thumbs/5.7.jpg rename to public/images/chonkysling/build/thumbs/5.7.jpg diff --git a/images/chonkysling/build/thumbs/5.8.jpg b/public/images/chonkysling/build/thumbs/5.8.jpg similarity index 100% rename from images/chonkysling/build/thumbs/5.8.jpg rename to public/images/chonkysling/build/thumbs/5.8.jpg diff --git a/images/chonkysling/build/thumbs/5.9.jpg b/public/images/chonkysling/build/thumbs/5.9.jpg similarity index 100% rename from images/chonkysling/build/thumbs/5.9.jpg rename to public/images/chonkysling/build/thumbs/5.9.jpg diff --git a/images/chonkysling/build/thumbs/6a.1.jpg b/public/images/chonkysling/build/thumbs/6a.1.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6a.1.jpg rename to public/images/chonkysling/build/thumbs/6a.1.jpg diff --git a/images/chonkysling/build/thumbs/6a.10.jpg b/public/images/chonkysling/build/thumbs/6a.10.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6a.10.jpg rename to public/images/chonkysling/build/thumbs/6a.10.jpg diff --git a/images/chonkysling/build/thumbs/6a.11.jpg b/public/images/chonkysling/build/thumbs/6a.11.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6a.11.jpg rename to public/images/chonkysling/build/thumbs/6a.11.jpg diff --git a/images/chonkysling/build/thumbs/6a.2.jpg b/public/images/chonkysling/build/thumbs/6a.2.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6a.2.jpg rename to public/images/chonkysling/build/thumbs/6a.2.jpg diff --git a/images/chonkysling/build/thumbs/6a.2a.jpg b/public/images/chonkysling/build/thumbs/6a.2a.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6a.2a.jpg rename to public/images/chonkysling/build/thumbs/6a.2a.jpg diff --git a/images/chonkysling/build/thumbs/6a.4.jpg b/public/images/chonkysling/build/thumbs/6a.4.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6a.4.jpg rename to public/images/chonkysling/build/thumbs/6a.4.jpg diff --git a/images/chonkysling/build/thumbs/6a.6.jpg b/public/images/chonkysling/build/thumbs/6a.6.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6a.6.jpg rename to public/images/chonkysling/build/thumbs/6a.6.jpg diff --git a/images/chonkysling/build/thumbs/6a.9.jpg b/public/images/chonkysling/build/thumbs/6a.9.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6a.9.jpg rename to public/images/chonkysling/build/thumbs/6a.9.jpg diff --git a/images/chonkysling/build/thumbs/6b.2.jpg b/public/images/chonkysling/build/thumbs/6b.2.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6b.2.jpg rename to public/images/chonkysling/build/thumbs/6b.2.jpg diff --git a/images/chonkysling/build/thumbs/6b.4.jpg b/public/images/chonkysling/build/thumbs/6b.4.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6b.4.jpg rename to public/images/chonkysling/build/thumbs/6b.4.jpg diff --git a/images/chonkysling/build/thumbs/6b.5.jpg b/public/images/chonkysling/build/thumbs/6b.5.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6b.5.jpg rename to public/images/chonkysling/build/thumbs/6b.5.jpg diff --git a/images/chonkysling/build/thumbs/6b.5a.jpg b/public/images/chonkysling/build/thumbs/6b.5a.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6b.5a.jpg rename to public/images/chonkysling/build/thumbs/6b.5a.jpg diff --git a/images/chonkysling/build/thumbs/6b.5b.jpg b/public/images/chonkysling/build/thumbs/6b.5b.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6b.5b.jpg rename to public/images/chonkysling/build/thumbs/6b.5b.jpg diff --git a/images/chonkysling/build/thumbs/6b.6.jpg b/public/images/chonkysling/build/thumbs/6b.6.jpg similarity index 100% rename from images/chonkysling/build/thumbs/6b.6.jpg rename to public/images/chonkysling/build/thumbs/6b.6.jpg diff --git a/images/chonkysling/build/thumbs/finished.jpg b/public/images/chonkysling/build/thumbs/finished.jpg similarity index 100% rename from images/chonkysling/build/thumbs/finished.jpg rename to public/images/chonkysling/build/thumbs/finished.jpg diff --git a/images/chonkysling/build/thumbs/finished2.jpg b/public/images/chonkysling/build/thumbs/finished2.jpg similarity index 100% rename from images/chonkysling/build/thumbs/finished2.jpg rename to public/images/chonkysling/build/thumbs/finished2.jpg diff --git a/images/chonkysling/build/thumbs/olivehero.jpg b/public/images/chonkysling/build/thumbs/olivehero.jpg similarity index 100% rename from images/chonkysling/build/thumbs/olivehero.jpg rename to public/images/chonkysling/build/thumbs/olivehero.jpg diff --git a/images/chonkysling/build/thumbs/oliverhero2.jpg b/public/images/chonkysling/build/thumbs/oliverhero2.jpg similarity index 100% rename from images/chonkysling/build/thumbs/oliverhero2.jpg rename to public/images/chonkysling/build/thumbs/oliverhero2.jpg diff --git a/images/chonkysling/instructions.png b/public/images/chonkysling/instructions.png similarity index 100% rename from images/chonkysling/instructions.png rename to public/images/chonkysling/instructions.png diff --git a/images/chonkysling/instructions2.png b/public/images/chonkysling/instructions2.png similarity index 100% rename from images/chonkysling/instructions2.png rename to public/images/chonkysling/instructions2.png diff --git a/images/chonkysling/launchgraphic.jpg b/public/images/chonkysling/launchgraphic.jpg similarity index 100% rename from images/chonkysling/launchgraphic.jpg rename to public/images/chonkysling/launchgraphic.jpg diff --git a/images/chonkysling/olivehero3.jpg b/public/images/chonkysling/olivehero3.jpg similarity index 100% rename from images/chonkysling/olivehero3.jpg rename to public/images/chonkysling/olivehero3.jpg diff --git a/images/chonkysling/olivesling3.jpg b/public/images/chonkysling/olivesling3.jpg similarity index 100% rename from images/chonkysling/olivesling3.jpg rename to public/images/chonkysling/olivesling3.jpg diff --git a/images/chonkysling/olivesling4.jpg b/public/images/chonkysling/olivesling4.jpg similarity index 100% rename from images/chonkysling/olivesling4.jpg rename to public/images/chonkysling/olivesling4.jpg diff --git a/images/chonkysling/sling1.jpg b/public/images/chonkysling/sling1.jpg similarity index 100% rename from images/chonkysling/sling1.jpg rename to public/images/chonkysling/sling1.jpg diff --git a/images/chonkysling/sling2.jpg b/public/images/chonkysling/sling2.jpg similarity index 100% rename from images/chonkysling/sling2.jpg rename to public/images/chonkysling/sling2.jpg diff --git a/images/chonkysling/sling3.jpg b/public/images/chonkysling/sling3.jpg similarity index 100% rename from images/chonkysling/sling3.jpg rename to public/images/chonkysling/sling3.jpg diff --git a/images/chonkysling/sling4.jpg b/public/images/chonkysling/sling4.jpg similarity index 100% rename from images/chonkysling/sling4.jpg rename to public/images/chonkysling/sling4.jpg diff --git a/images/chonkysling/sling5.jpg b/public/images/chonkysling/sling5.jpg similarity index 100% rename from images/chonkysling/sling5.jpg rename to public/images/chonkysling/sling5.jpg diff --git a/images/chonkysling/sling6.jpg b/public/images/chonkysling/sling6.jpg similarity index 100% rename from images/chonkysling/sling6.jpg rename to public/images/chonkysling/sling6.jpg diff --git a/images/chonkysling/sling7.jpg b/public/images/chonkysling/sling7.jpg similarity index 100% rename from images/chonkysling/sling7.jpg rename to public/images/chonkysling/sling7.jpg diff --git a/images/chonkysling/snowday.jpg b/public/images/chonkysling/snowday.jpg similarity index 100% rename from images/chonkysling/snowday.jpg rename to public/images/chonkysling/snowday.jpg diff --git a/images/chonkysling/snowday2.jpg b/public/images/chonkysling/snowday2.jpg similarity index 100% rename from images/chonkysling/snowday2.jpg rename to public/images/chonkysling/snowday2.jpg diff --git a/images/chonkysling/thumbs/instructions.png b/public/images/chonkysling/thumbs/instructions.png similarity index 100% rename from images/chonkysling/thumbs/instructions.png rename to public/images/chonkysling/thumbs/instructions.png diff --git a/images/chonkysling/thumbs/instructions2.png b/public/images/chonkysling/thumbs/instructions2.png similarity index 100% rename from images/chonkysling/thumbs/instructions2.png rename to public/images/chonkysling/thumbs/instructions2.png diff --git a/images/chonkysling/thumbs/launchgraphic.jpg b/public/images/chonkysling/thumbs/launchgraphic.jpg similarity index 100% rename from images/chonkysling/thumbs/launchgraphic.jpg rename to public/images/chonkysling/thumbs/launchgraphic.jpg diff --git a/images/chonkysling/thumbs/olivehero3.jpg b/public/images/chonkysling/thumbs/olivehero3.jpg similarity index 100% rename from images/chonkysling/thumbs/olivehero3.jpg rename to public/images/chonkysling/thumbs/olivehero3.jpg diff --git a/images/chonkysling/thumbs/olivesling3.jpg b/public/images/chonkysling/thumbs/olivesling3.jpg similarity index 100% rename from images/chonkysling/thumbs/olivesling3.jpg rename to public/images/chonkysling/thumbs/olivesling3.jpg diff --git a/images/chonkysling/thumbs/olivesling4.jpg b/public/images/chonkysling/thumbs/olivesling4.jpg similarity index 100% rename from images/chonkysling/thumbs/olivesling4.jpg rename to public/images/chonkysling/thumbs/olivesling4.jpg diff --git a/images/chonkysling/thumbs/sling1.jpg b/public/images/chonkysling/thumbs/sling1.jpg similarity index 100% rename from images/chonkysling/thumbs/sling1.jpg rename to public/images/chonkysling/thumbs/sling1.jpg diff --git a/images/chonkysling/thumbs/sling2.jpg b/public/images/chonkysling/thumbs/sling2.jpg similarity index 100% rename from images/chonkysling/thumbs/sling2.jpg rename to public/images/chonkysling/thumbs/sling2.jpg diff --git a/images/chonkysling/thumbs/sling3.jpg b/public/images/chonkysling/thumbs/sling3.jpg similarity index 100% rename from images/chonkysling/thumbs/sling3.jpg rename to public/images/chonkysling/thumbs/sling3.jpg diff --git a/images/chonkysling/thumbs/sling4.jpg b/public/images/chonkysling/thumbs/sling4.jpg similarity index 100% rename from images/chonkysling/thumbs/sling4.jpg rename to public/images/chonkysling/thumbs/sling4.jpg diff --git a/images/chonkysling/thumbs/sling5.jpg b/public/images/chonkysling/thumbs/sling5.jpg similarity index 100% rename from images/chonkysling/thumbs/sling5.jpg rename to public/images/chonkysling/thumbs/sling5.jpg diff --git a/images/chonkysling/thumbs/sling6.jpg b/public/images/chonkysling/thumbs/sling6.jpg similarity index 100% rename from images/chonkysling/thumbs/sling6.jpg rename to public/images/chonkysling/thumbs/sling6.jpg diff --git a/images/chonkysling/thumbs/sling7.jpg b/public/images/chonkysling/thumbs/sling7.jpg similarity index 100% rename from images/chonkysling/thumbs/sling7.jpg rename to public/images/chonkysling/thumbs/sling7.jpg diff --git a/images/chonkysling/thumbs/snowday.jpg b/public/images/chonkysling/thumbs/snowday.jpg similarity index 100% rename from images/chonkysling/thumbs/snowday.jpg rename to public/images/chonkysling/thumbs/snowday.jpg diff --git a/images/chonkysling/thumbs/snowday2.jpg b/public/images/chonkysling/thumbs/snowday2.jpg similarity index 100% rename from images/chonkysling/thumbs/snowday2.jpg rename to public/images/chonkysling/thumbs/snowday2.jpg diff --git a/images/chonkysling/thumbs/yt-thumb.jpg b/public/images/chonkysling/thumbs/yt-thumb.jpg similarity index 100% rename from images/chonkysling/thumbs/yt-thumb.jpg rename to public/images/chonkysling/thumbs/yt-thumb.jpg diff --git a/images/cinchsack/cinch1.jpg b/public/images/cinchsack/cinch1.jpg similarity index 100% rename from images/cinchsack/cinch1.jpg rename to public/images/cinchsack/cinch1.jpg diff --git a/images/cinchsack/cinch2.jpg b/public/images/cinchsack/cinch2.jpg similarity index 100% rename from images/cinchsack/cinch2.jpg rename to public/images/cinchsack/cinch2.jpg diff --git a/images/cinchsack/cinch3.jpg b/public/images/cinchsack/cinch3.jpg similarity index 100% rename from images/cinchsack/cinch3.jpg rename to public/images/cinchsack/cinch3.jpg diff --git a/images/cinchsack/cinch4.jpg b/public/images/cinchsack/cinch4.jpg similarity index 100% rename from images/cinchsack/cinch4.jpg rename to public/images/cinchsack/cinch4.jpg diff --git a/images/cinchsack/cinch5.jpg b/public/images/cinchsack/cinch5.jpg similarity index 100% rename from images/cinchsack/cinch5.jpg rename to public/images/cinchsack/cinch5.jpg diff --git a/images/cinchsack/cinch6.jpg b/public/images/cinchsack/cinch6.jpg similarity index 100% rename from images/cinchsack/cinch6.jpg rename to public/images/cinchsack/cinch6.jpg diff --git a/images/cinchsack/cinchplan.jpg b/public/images/cinchsack/cinchplan.jpg similarity index 100% rename from images/cinchsack/cinchplan.jpg rename to public/images/cinchsack/cinchplan.jpg diff --git a/images/cinchsack/materials.jpg b/public/images/cinchsack/materials.jpg similarity index 100% rename from images/cinchsack/materials.jpg rename to public/images/cinchsack/materials.jpg diff --git a/images/cinchsack/sample.jpg b/public/images/cinchsack/sample.jpg similarity index 100% rename from images/cinchsack/sample.jpg rename to public/images/cinchsack/sample.jpg diff --git a/images/dias/bhcover2.jpg b/public/images/dias/bhcover2.jpg similarity index 100% rename from images/dias/bhcover2.jpg rename to public/images/dias/bhcover2.jpg diff --git a/images/dias/bhwalk.jpg b/public/images/dias/bhwalk.jpg similarity index 100% rename from images/dias/bhwalk.jpg rename to public/images/dias/bhwalk.jpg diff --git a/images/dias/bhwelt.jpg b/public/images/dias/bhwelt.jpg similarity index 100% rename from images/dias/bhwelt.jpg rename to public/images/dias/bhwelt.jpg diff --git a/images/dias/blback.jpg b/public/images/dias/blback.jpg similarity index 100% rename from images/dias/blback.jpg rename to public/images/dias/blback.jpg diff --git a/images/dias/blgusset.jpg b/public/images/dias/blgusset.jpg similarity index 100% rename from images/dias/blgusset.jpg rename to public/images/dias/blgusset.jpg diff --git a/images/dias/blhero.jpg b/public/images/dias/blhero.jpg similarity index 100% rename from images/dias/blhero.jpg rename to public/images/dias/blhero.jpg diff --git a/images/dias/blpockets.jpg b/public/images/dias/blpockets.jpg similarity index 100% rename from images/dias/blpockets.jpg rename to public/images/dias/blpockets.jpg diff --git a/images/dias/bltag.jpg b/public/images/dias/bltag.jpg similarity index 100% rename from images/dias/bltag.jpg rename to public/images/dias/bltag.jpg diff --git a/images/dias/build/fabricslightwts.jpg b/public/images/dias/build/fabricslightwts.jpg similarity index 100% rename from images/dias/build/fabricslightwts.jpg rename to public/images/dias/build/fabricslightwts.jpg diff --git a/images/dias/build/fabricsmedwts.jpg b/public/images/dias/build/fabricsmedwts.jpg similarity index 100% rename from images/dias/build/fabricsmedwts.jpg rename to public/images/dias/build/fabricsmedwts.jpg diff --git a/images/dias/build/step2.10.jpg b/public/images/dias/build/step2.10.jpg similarity index 100% rename from images/dias/build/step2.10.jpg rename to public/images/dias/build/step2.10.jpg diff --git a/images/dias/build/step2.12.jpg b/public/images/dias/build/step2.12.jpg similarity index 100% rename from images/dias/build/step2.12.jpg rename to public/images/dias/build/step2.12.jpg diff --git a/images/dias/build/step2.13.jpg b/public/images/dias/build/step2.13.jpg similarity index 100% rename from images/dias/build/step2.13.jpg rename to public/images/dias/build/step2.13.jpg diff --git a/images/dias/build/step2.13b.jpg b/public/images/dias/build/step2.13b.jpg similarity index 100% rename from images/dias/build/step2.13b.jpg rename to public/images/dias/build/step2.13b.jpg diff --git a/images/dias/build/step2.4.jpg b/public/images/dias/build/step2.4.jpg similarity index 100% rename from images/dias/build/step2.4.jpg rename to public/images/dias/build/step2.4.jpg diff --git a/images/dias/build/step2.5.jpg b/public/images/dias/build/step2.5.jpg similarity index 100% rename from images/dias/build/step2.5.jpg rename to public/images/dias/build/step2.5.jpg diff --git a/images/dias/build/step2.5b.jpg b/public/images/dias/build/step2.5b.jpg similarity index 100% rename from images/dias/build/step2.5b.jpg rename to public/images/dias/build/step2.5b.jpg diff --git a/images/dias/build/step2.7.jpg b/public/images/dias/build/step2.7.jpg similarity index 100% rename from images/dias/build/step2.7.jpg rename to public/images/dias/build/step2.7.jpg diff --git a/images/dias/build/step2.8.jpg b/public/images/dias/build/step2.8.jpg similarity index 100% rename from images/dias/build/step2.8.jpg rename to public/images/dias/build/step2.8.jpg diff --git a/images/dias/build/step3.2.jpg b/public/images/dias/build/step3.2.jpg similarity index 100% rename from images/dias/build/step3.2.jpg rename to public/images/dias/build/step3.2.jpg diff --git a/images/dias/build/step3.3.jpg b/public/images/dias/build/step3.3.jpg similarity index 100% rename from images/dias/build/step3.3.jpg rename to public/images/dias/build/step3.3.jpg diff --git a/images/dias/build/step3.4.jpg b/public/images/dias/build/step3.4.jpg similarity index 100% rename from images/dias/build/step3.4.jpg rename to public/images/dias/build/step3.4.jpg diff --git a/images/dias/build/step3.5.jpg b/public/images/dias/build/step3.5.jpg similarity index 100% rename from images/dias/build/step3.5.jpg rename to public/images/dias/build/step3.5.jpg diff --git a/images/dias/build/step3.6.jpg b/public/images/dias/build/step3.6.jpg similarity index 100% rename from images/dias/build/step3.6.jpg rename to public/images/dias/build/step3.6.jpg diff --git a/images/dias/build/step3.6b.jpg b/public/images/dias/build/step3.6b.jpg similarity index 100% rename from images/dias/build/step3.6b.jpg rename to public/images/dias/build/step3.6b.jpg diff --git a/images/dias/build/step3.7.jpg b/public/images/dias/build/step3.7.jpg similarity index 100% rename from images/dias/build/step3.7.jpg rename to public/images/dias/build/step3.7.jpg diff --git a/images/dias/build/step3A.2.jpg b/public/images/dias/build/step3A.2.jpg similarity index 100% rename from images/dias/build/step3A.2.jpg rename to public/images/dias/build/step3A.2.jpg diff --git a/images/dias/build/step3A.7.jpg b/public/images/dias/build/step3A.7.jpg similarity index 100% rename from images/dias/build/step3A.7.jpg rename to public/images/dias/build/step3A.7.jpg diff --git a/images/dias/build/step3A.8.jpg b/public/images/dias/build/step3A.8.jpg similarity index 100% rename from images/dias/build/step3A.8.jpg rename to public/images/dias/build/step3A.8.jpg diff --git a/images/dias/build/step3B.1.jpg b/public/images/dias/build/step3B.1.jpg similarity index 100% rename from images/dias/build/step3B.1.jpg rename to public/images/dias/build/step3B.1.jpg diff --git a/images/dias/build/step3B.1b.jpg b/public/images/dias/build/step3B.1b.jpg similarity index 100% rename from images/dias/build/step3B.1b.jpg rename to public/images/dias/build/step3B.1b.jpg diff --git a/images/dias/build/step3B.1balt.jpg b/public/images/dias/build/step3B.1balt.jpg similarity index 100% rename from images/dias/build/step3B.1balt.jpg rename to public/images/dias/build/step3B.1balt.jpg diff --git a/images/dias/build/step3B.1c.jpg b/public/images/dias/build/step3B.1c.jpg similarity index 100% rename from images/dias/build/step3B.1c.jpg rename to public/images/dias/build/step3B.1c.jpg diff --git a/images/dias/build/step3B.2.jpg b/public/images/dias/build/step3B.2.jpg similarity index 100% rename from images/dias/build/step3B.2.jpg rename to public/images/dias/build/step3B.2.jpg diff --git a/images/dias/build/step3B.4.jpg b/public/images/dias/build/step3B.4.jpg similarity index 100% rename from images/dias/build/step3B.4.jpg rename to public/images/dias/build/step3B.4.jpg diff --git a/images/dias/build/step3B.5.jpg b/public/images/dias/build/step3B.5.jpg similarity index 100% rename from images/dias/build/step3B.5.jpg rename to public/images/dias/build/step3B.5.jpg diff --git a/images/dias/build/step3B.5finished.jpg b/public/images/dias/build/step3B.5finished.jpg similarity index 100% rename from images/dias/build/step3B.5finished.jpg rename to public/images/dias/build/step3B.5finished.jpg diff --git a/images/dias/build/step4.1.jpg b/public/images/dias/build/step4.1.jpg similarity index 100% rename from images/dias/build/step4.1.jpg rename to public/images/dias/build/step4.1.jpg diff --git a/images/dias/build/step4.2.jpg b/public/images/dias/build/step4.2.jpg similarity index 100% rename from images/dias/build/step4.2.jpg rename to public/images/dias/build/step4.2.jpg diff --git a/images/dias/build/step4.3.jpg b/public/images/dias/build/step4.3.jpg similarity index 100% rename from images/dias/build/step4.3.jpg rename to public/images/dias/build/step4.3.jpg diff --git a/images/dias/build/step4.3b.jpg b/public/images/dias/build/step4.3b.jpg similarity index 100% rename from images/dias/build/step4.3b.jpg rename to public/images/dias/build/step4.3b.jpg diff --git a/images/dias/build/step5.1.jpg b/public/images/dias/build/step5.1.jpg similarity index 100% rename from images/dias/build/step5.1.jpg rename to public/images/dias/build/step5.1.jpg diff --git a/images/dias/build/step5.4.jpg b/public/images/dias/build/step5.4.jpg similarity index 100% rename from images/dias/build/step5.4.jpg rename to public/images/dias/build/step5.4.jpg diff --git a/images/dias/build/step5.5.jpg b/public/images/dias/build/step5.5.jpg similarity index 100% rename from images/dias/build/step5.5.jpg rename to public/images/dias/build/step5.5.jpg diff --git a/images/dias/build/step6.1.jpg b/public/images/dias/build/step6.1.jpg similarity index 100% rename from images/dias/build/step6.1.jpg rename to public/images/dias/build/step6.1.jpg diff --git a/images/dias/build/step6.10.jpg b/public/images/dias/build/step6.10.jpg similarity index 100% rename from images/dias/build/step6.10.jpg rename to public/images/dias/build/step6.10.jpg diff --git a/images/dias/build/step6.2.jpg b/public/images/dias/build/step6.2.jpg similarity index 100% rename from images/dias/build/step6.2.jpg rename to public/images/dias/build/step6.2.jpg diff --git a/images/dias/build/step6.4.jpg b/public/images/dias/build/step6.4.jpg similarity index 100% rename from images/dias/build/step6.4.jpg rename to public/images/dias/build/step6.4.jpg diff --git a/images/dias/build/step6.5.jpg b/public/images/dias/build/step6.5.jpg similarity index 100% rename from images/dias/build/step6.5.jpg rename to public/images/dias/build/step6.5.jpg diff --git a/images/dias/build/step6.7.jpg b/public/images/dias/build/step6.7.jpg similarity index 100% rename from images/dias/build/step6.7.jpg rename to public/images/dias/build/step6.7.jpg diff --git a/images/dias/build/step6.8.jpg b/public/images/dias/build/step6.8.jpg similarity index 100% rename from images/dias/build/step6.8.jpg rename to public/images/dias/build/step6.8.jpg diff --git a/images/dias/build/step7.3.jpg b/public/images/dias/build/step7.3.jpg similarity index 100% rename from images/dias/build/step7.3.jpg rename to public/images/dias/build/step7.3.jpg diff --git a/images/dias/build/thumbs/fabricslightwts.jpg b/public/images/dias/build/thumbs/fabricslightwts.jpg similarity index 100% rename from images/dias/build/thumbs/fabricslightwts.jpg rename to public/images/dias/build/thumbs/fabricslightwts.jpg diff --git a/images/dias/build/thumbs/fabricsmedwts.jpg b/public/images/dias/build/thumbs/fabricsmedwts.jpg similarity index 100% rename from images/dias/build/thumbs/fabricsmedwts.jpg rename to public/images/dias/build/thumbs/fabricsmedwts.jpg diff --git a/images/dias/build/thumbs/step2.10.jpg b/public/images/dias/build/thumbs/step2.10.jpg similarity index 100% rename from images/dias/build/thumbs/step2.10.jpg rename to public/images/dias/build/thumbs/step2.10.jpg diff --git a/images/dias/build/thumbs/step2.12.jpg b/public/images/dias/build/thumbs/step2.12.jpg similarity index 100% rename from images/dias/build/thumbs/step2.12.jpg rename to public/images/dias/build/thumbs/step2.12.jpg diff --git a/images/dias/build/thumbs/step2.13.jpg b/public/images/dias/build/thumbs/step2.13.jpg similarity index 100% rename from images/dias/build/thumbs/step2.13.jpg rename to public/images/dias/build/thumbs/step2.13.jpg diff --git a/images/dias/build/thumbs/step2.13b.jpg b/public/images/dias/build/thumbs/step2.13b.jpg similarity index 100% rename from images/dias/build/thumbs/step2.13b.jpg rename to public/images/dias/build/thumbs/step2.13b.jpg diff --git a/images/dias/build/thumbs/step2.4.jpg b/public/images/dias/build/thumbs/step2.4.jpg similarity index 100% rename from images/dias/build/thumbs/step2.4.jpg rename to public/images/dias/build/thumbs/step2.4.jpg diff --git a/images/dias/build/thumbs/step2.5.jpg b/public/images/dias/build/thumbs/step2.5.jpg similarity index 100% rename from images/dias/build/thumbs/step2.5.jpg rename to public/images/dias/build/thumbs/step2.5.jpg diff --git a/images/dias/build/thumbs/step2.5b.jpg b/public/images/dias/build/thumbs/step2.5b.jpg similarity index 100% rename from images/dias/build/thumbs/step2.5b.jpg rename to public/images/dias/build/thumbs/step2.5b.jpg diff --git a/images/dias/build/thumbs/step2.7.jpg b/public/images/dias/build/thumbs/step2.7.jpg similarity index 100% rename from images/dias/build/thumbs/step2.7.jpg rename to public/images/dias/build/thumbs/step2.7.jpg diff --git a/images/dias/build/thumbs/step2.8.jpg b/public/images/dias/build/thumbs/step2.8.jpg similarity index 100% rename from images/dias/build/thumbs/step2.8.jpg rename to public/images/dias/build/thumbs/step2.8.jpg diff --git a/images/dias/build/thumbs/step3.2.jpg b/public/images/dias/build/thumbs/step3.2.jpg similarity index 100% rename from images/dias/build/thumbs/step3.2.jpg rename to public/images/dias/build/thumbs/step3.2.jpg diff --git a/images/dias/build/thumbs/step3.3.jpg b/public/images/dias/build/thumbs/step3.3.jpg similarity index 100% rename from images/dias/build/thumbs/step3.3.jpg rename to public/images/dias/build/thumbs/step3.3.jpg diff --git a/images/dias/build/thumbs/step3.4.jpg b/public/images/dias/build/thumbs/step3.4.jpg similarity index 100% rename from images/dias/build/thumbs/step3.4.jpg rename to public/images/dias/build/thumbs/step3.4.jpg diff --git a/images/dias/build/thumbs/step3.5.jpg b/public/images/dias/build/thumbs/step3.5.jpg similarity index 100% rename from images/dias/build/thumbs/step3.5.jpg rename to public/images/dias/build/thumbs/step3.5.jpg diff --git a/images/dias/build/thumbs/step3.6.jpg b/public/images/dias/build/thumbs/step3.6.jpg similarity index 100% rename from images/dias/build/thumbs/step3.6.jpg rename to public/images/dias/build/thumbs/step3.6.jpg diff --git a/images/dias/build/thumbs/step3.6b.jpg b/public/images/dias/build/thumbs/step3.6b.jpg similarity index 100% rename from images/dias/build/thumbs/step3.6b.jpg rename to public/images/dias/build/thumbs/step3.6b.jpg diff --git a/images/dias/build/thumbs/step3.7.jpg b/public/images/dias/build/thumbs/step3.7.jpg similarity index 100% rename from images/dias/build/thumbs/step3.7.jpg rename to public/images/dias/build/thumbs/step3.7.jpg diff --git a/images/dias/build/thumbs/step3A.2.jpg b/public/images/dias/build/thumbs/step3A.2.jpg similarity index 100% rename from images/dias/build/thumbs/step3A.2.jpg rename to public/images/dias/build/thumbs/step3A.2.jpg diff --git a/images/dias/build/thumbs/step3A.7.jpg b/public/images/dias/build/thumbs/step3A.7.jpg similarity index 100% rename from images/dias/build/thumbs/step3A.7.jpg rename to public/images/dias/build/thumbs/step3A.7.jpg diff --git a/images/dias/build/thumbs/step3A.8.jpg b/public/images/dias/build/thumbs/step3A.8.jpg similarity index 100% rename from images/dias/build/thumbs/step3A.8.jpg rename to public/images/dias/build/thumbs/step3A.8.jpg diff --git a/images/dias/build/thumbs/step3B.1.jpg b/public/images/dias/build/thumbs/step3B.1.jpg similarity index 100% rename from images/dias/build/thumbs/step3B.1.jpg rename to public/images/dias/build/thumbs/step3B.1.jpg diff --git a/images/dias/build/thumbs/step3B.1b.jpg b/public/images/dias/build/thumbs/step3B.1b.jpg similarity index 100% rename from images/dias/build/thumbs/step3B.1b.jpg rename to public/images/dias/build/thumbs/step3B.1b.jpg diff --git a/images/dias/build/thumbs/step3B.1balt.jpg b/public/images/dias/build/thumbs/step3B.1balt.jpg similarity index 100% rename from images/dias/build/thumbs/step3B.1balt.jpg rename to public/images/dias/build/thumbs/step3B.1balt.jpg diff --git a/images/dias/build/thumbs/step3B.1c.jpg b/public/images/dias/build/thumbs/step3B.1c.jpg similarity index 100% rename from images/dias/build/thumbs/step3B.1c.jpg rename to public/images/dias/build/thumbs/step3B.1c.jpg diff --git a/images/dias/build/thumbs/step3B.2.jpg b/public/images/dias/build/thumbs/step3B.2.jpg similarity index 100% rename from images/dias/build/thumbs/step3B.2.jpg rename to public/images/dias/build/thumbs/step3B.2.jpg diff --git a/images/dias/build/thumbs/step3B.4.jpg b/public/images/dias/build/thumbs/step3B.4.jpg similarity index 100% rename from images/dias/build/thumbs/step3B.4.jpg rename to public/images/dias/build/thumbs/step3B.4.jpg diff --git a/images/dias/build/thumbs/step3B.5.jpg b/public/images/dias/build/thumbs/step3B.5.jpg similarity index 100% rename from images/dias/build/thumbs/step3B.5.jpg rename to public/images/dias/build/thumbs/step3B.5.jpg diff --git a/images/dias/build/thumbs/step3B.5finished.jpg b/public/images/dias/build/thumbs/step3B.5finished.jpg similarity index 100% rename from images/dias/build/thumbs/step3B.5finished.jpg rename to public/images/dias/build/thumbs/step3B.5finished.jpg diff --git a/images/dias/build/thumbs/step4.1.jpg b/public/images/dias/build/thumbs/step4.1.jpg similarity index 100% rename from images/dias/build/thumbs/step4.1.jpg rename to public/images/dias/build/thumbs/step4.1.jpg diff --git a/images/dias/build/thumbs/step4.2.jpg b/public/images/dias/build/thumbs/step4.2.jpg similarity index 100% rename from images/dias/build/thumbs/step4.2.jpg rename to public/images/dias/build/thumbs/step4.2.jpg diff --git a/images/dias/build/thumbs/step4.3.jpg b/public/images/dias/build/thumbs/step4.3.jpg similarity index 100% rename from images/dias/build/thumbs/step4.3.jpg rename to public/images/dias/build/thumbs/step4.3.jpg diff --git a/images/dias/build/thumbs/step4.3b.jpg b/public/images/dias/build/thumbs/step4.3b.jpg similarity index 100% rename from images/dias/build/thumbs/step4.3b.jpg rename to public/images/dias/build/thumbs/step4.3b.jpg diff --git a/images/dias/build/thumbs/step5.1.jpg b/public/images/dias/build/thumbs/step5.1.jpg similarity index 100% rename from images/dias/build/thumbs/step5.1.jpg rename to public/images/dias/build/thumbs/step5.1.jpg diff --git a/images/dias/build/thumbs/step5.4.jpg b/public/images/dias/build/thumbs/step5.4.jpg similarity index 100% rename from images/dias/build/thumbs/step5.4.jpg rename to public/images/dias/build/thumbs/step5.4.jpg diff --git a/images/dias/build/thumbs/step5.5.jpg b/public/images/dias/build/thumbs/step5.5.jpg similarity index 100% rename from images/dias/build/thumbs/step5.5.jpg rename to public/images/dias/build/thumbs/step5.5.jpg diff --git a/images/dias/build/thumbs/step6.1.jpg b/public/images/dias/build/thumbs/step6.1.jpg similarity index 100% rename from images/dias/build/thumbs/step6.1.jpg rename to public/images/dias/build/thumbs/step6.1.jpg diff --git a/images/dias/build/thumbs/step6.10.jpg b/public/images/dias/build/thumbs/step6.10.jpg similarity index 100% rename from images/dias/build/thumbs/step6.10.jpg rename to public/images/dias/build/thumbs/step6.10.jpg diff --git a/images/dias/build/thumbs/step6.2.jpg b/public/images/dias/build/thumbs/step6.2.jpg similarity index 100% rename from images/dias/build/thumbs/step6.2.jpg rename to public/images/dias/build/thumbs/step6.2.jpg diff --git a/images/dias/build/thumbs/step6.4.jpg b/public/images/dias/build/thumbs/step6.4.jpg similarity index 100% rename from images/dias/build/thumbs/step6.4.jpg rename to public/images/dias/build/thumbs/step6.4.jpg diff --git a/images/dias/build/thumbs/step6.5.jpg b/public/images/dias/build/thumbs/step6.5.jpg similarity index 100% rename from images/dias/build/thumbs/step6.5.jpg rename to public/images/dias/build/thumbs/step6.5.jpg diff --git a/images/dias/build/thumbs/step6.7.jpg b/public/images/dias/build/thumbs/step6.7.jpg similarity index 100% rename from images/dias/build/thumbs/step6.7.jpg rename to public/images/dias/build/thumbs/step6.7.jpg diff --git a/images/dias/build/thumbs/step6.8.jpg b/public/images/dias/build/thumbs/step6.8.jpg similarity index 100% rename from images/dias/build/thumbs/step6.8.jpg rename to public/images/dias/build/thumbs/step6.8.jpg diff --git a/images/dias/build/thumbs/step7.3.jpg b/public/images/dias/build/thumbs/step7.3.jpg similarity index 100% rename from images/dias/build/thumbs/step7.3.jpg rename to public/images/dias/build/thumbs/step7.3.jpg diff --git a/images/dias/patterncard.png b/public/images/dias/patterncard.png similarity index 100% rename from images/dias/patterncard.png rename to public/images/dias/patterncard.png diff --git a/images/dias/sampleinstructions.png b/public/images/dias/sampleinstructions.png similarity index 100% rename from images/dias/sampleinstructions.png rename to public/images/dias/sampleinstructions.png diff --git a/images/dias/thumbs/bhcover2.jpg b/public/images/dias/thumbs/bhcover2.jpg similarity index 100% rename from images/dias/thumbs/bhcover2.jpg rename to public/images/dias/thumbs/bhcover2.jpg diff --git a/images/dias/thumbs/bhwalk.jpg b/public/images/dias/thumbs/bhwalk.jpg similarity index 100% rename from images/dias/thumbs/bhwalk.jpg rename to public/images/dias/thumbs/bhwalk.jpg diff --git a/images/dias/thumbs/bhwelt.jpg b/public/images/dias/thumbs/bhwelt.jpg similarity index 100% rename from images/dias/thumbs/bhwelt.jpg rename to public/images/dias/thumbs/bhwelt.jpg diff --git a/images/dias/thumbs/blback.jpg b/public/images/dias/thumbs/blback.jpg similarity index 100% rename from images/dias/thumbs/blback.jpg rename to public/images/dias/thumbs/blback.jpg diff --git a/images/dias/thumbs/blgusset.jpg b/public/images/dias/thumbs/blgusset.jpg similarity index 100% rename from images/dias/thumbs/blgusset.jpg rename to public/images/dias/thumbs/blgusset.jpg diff --git a/images/dias/thumbs/blhero.jpg b/public/images/dias/thumbs/blhero.jpg similarity index 100% rename from images/dias/thumbs/blhero.jpg rename to public/images/dias/thumbs/blhero.jpg diff --git a/images/dias/thumbs/blpockets.jpg b/public/images/dias/thumbs/blpockets.jpg similarity index 100% rename from images/dias/thumbs/blpockets.jpg rename to public/images/dias/thumbs/blpockets.jpg diff --git a/images/dias/thumbs/bltag.jpg b/public/images/dias/thumbs/bltag.jpg similarity index 100% rename from images/dias/thumbs/bltag.jpg rename to public/images/dias/thumbs/bltag.jpg diff --git a/images/dias/thumbs/patterncard.png b/public/images/dias/thumbs/patterncard.png similarity index 100% rename from images/dias/thumbs/patterncard.png rename to public/images/dias/thumbs/patterncard.png diff --git a/images/dias/thumbs/sampleinstructions.png b/public/images/dias/thumbs/sampleinstructions.png similarity index 100% rename from images/dias/thumbs/sampleinstructions.png rename to public/images/dias/thumbs/sampleinstructions.png diff --git a/images/dias/thumbs/yellowhero.jpg b/public/images/dias/thumbs/yellowhero.jpg similarity index 100% rename from images/dias/thumbs/yellowhero.jpg rename to public/images/dias/thumbs/yellowhero.jpg diff --git a/images/dias/yellowhero.jpg b/public/images/dias/yellowhero.jpg similarity index 100% rename from images/dias/yellowhero.jpg rename to public/images/dias/yellowhero.jpg diff --git a/images/digitalworkflow/basiclabels.jpg b/public/images/digitalworkflow/basiclabels.jpg similarity index 100% rename from images/digitalworkflow/basiclabels.jpg rename to public/images/digitalworkflow/basiclabels.jpg diff --git a/images/digitalworkflow/cricut.jpg b/public/images/digitalworkflow/cricut.jpg similarity index 100% rename from images/digitalworkflow/cricut.jpg rename to public/images/digitalworkflow/cricut.jpg diff --git a/images/digitalworkflow/hat.jpg b/public/images/digitalworkflow/hat.jpg similarity index 100% rename from images/digitalworkflow/hat.jpg rename to public/images/digitalworkflow/hat.jpg diff --git a/images/digitalworkflow/labels.jpg b/public/images/digitalworkflow/labels.jpg similarity index 100% rename from images/digitalworkflow/labels.jpg rename to public/images/digitalworkflow/labels.jpg diff --git a/images/digitalworkflow/labels2.jpg b/public/images/digitalworkflow/labels2.jpg similarity index 100% rename from images/digitalworkflow/labels2.jpg rename to public/images/digitalworkflow/labels2.jpg diff --git a/images/digitalworkflow/respect.jpg b/public/images/digitalworkflow/respect.jpg similarity index 100% rename from images/digitalworkflow/respect.jpg rename to public/images/digitalworkflow/respect.jpg diff --git a/images/digitalworkflow/stretch.jpg b/public/images/digitalworkflow/stretch.jpg similarity index 100% rename from images/digitalworkflow/stretch.jpg rename to public/images/digitalworkflow/stretch.jpg diff --git a/images/digitalworkflow/thumbs/basiclabels.jpg b/public/images/digitalworkflow/thumbs/basiclabels.jpg similarity index 100% rename from images/digitalworkflow/thumbs/basiclabels.jpg rename to public/images/digitalworkflow/thumbs/basiclabels.jpg diff --git a/images/digitalworkflow/thumbs/hat.jpg b/public/images/digitalworkflow/thumbs/hat.jpg similarity index 100% rename from images/digitalworkflow/thumbs/hat.jpg rename to public/images/digitalworkflow/thumbs/hat.jpg diff --git a/images/digitalworkflow/thumbs/labels.jpg b/public/images/digitalworkflow/thumbs/labels.jpg similarity index 100% rename from images/digitalworkflow/thumbs/labels.jpg rename to public/images/digitalworkflow/thumbs/labels.jpg diff --git a/images/digitalworkflow/thumbs/labels2.jpg b/public/images/digitalworkflow/thumbs/labels2.jpg similarity index 100% rename from images/digitalworkflow/thumbs/labels2.jpg rename to public/images/digitalworkflow/thumbs/labels2.jpg diff --git a/images/digitalworkflow/thumbs/respect.jpg b/public/images/digitalworkflow/thumbs/respect.jpg similarity index 100% rename from images/digitalworkflow/thumbs/respect.jpg rename to public/images/digitalworkflow/thumbs/respect.jpg diff --git a/images/digitalworkflow/thumbs/stretch.jpg b/public/images/digitalworkflow/thumbs/stretch.jpg similarity index 100% rename from images/digitalworkflow/thumbs/stretch.jpg rename to public/images/digitalworkflow/thumbs/stretch.jpg diff --git a/images/digitalworkflow/thumbs/weeding.jpg b/public/images/digitalworkflow/thumbs/weeding.jpg similarity index 100% rename from images/digitalworkflow/thumbs/weeding.jpg rename to public/images/digitalworkflow/thumbs/weeding.jpg diff --git a/images/digitalworkflow/weeding.jpg b/public/images/digitalworkflow/weeding.jpg similarity index 100% rename from images/digitalworkflow/weeding.jpg rename to public/images/digitalworkflow/weeding.jpg diff --git a/images/edTotepack/1.jpg b/public/images/edTotepack/1.jpg similarity index 100% rename from images/edTotepack/1.jpg rename to public/images/edTotepack/1.jpg diff --git a/images/edTotepack/2.jpg b/public/images/edTotepack/2.jpg similarity index 100% rename from images/edTotepack/2.jpg rename to public/images/edTotepack/2.jpg diff --git a/images/edTotepack/3.jpg b/public/images/edTotepack/3.jpg similarity index 100% rename from images/edTotepack/3.jpg rename to public/images/edTotepack/3.jpg diff --git a/images/edTotepack/4.jpg b/public/images/edTotepack/4.jpg similarity index 100% rename from images/edTotepack/4.jpg rename to public/images/edTotepack/4.jpg diff --git a/images/edTotepack/5.jpg b/public/images/edTotepack/5.jpg similarity index 100% rename from images/edTotepack/5.jpg rename to public/images/edTotepack/5.jpg diff --git a/images/edTotepack/cb_lumpeo1.jpg b/public/images/edTotepack/cb_lumpeo1.jpg similarity index 100% rename from images/edTotepack/cb_lumpeo1.jpg rename to public/images/edTotepack/cb_lumpeo1.jpg diff --git a/images/edTotepack/cb_lumpeo2.jpg b/public/images/edTotepack/cb_lumpeo2.jpg similarity index 100% rename from images/edTotepack/cb_lumpeo2.jpg rename to public/images/edTotepack/cb_lumpeo2.jpg diff --git a/images/edTotepack/thumbs/1.jpg b/public/images/edTotepack/thumbs/1.jpg similarity index 100% rename from images/edTotepack/thumbs/1.jpg rename to public/images/edTotepack/thumbs/1.jpg diff --git a/images/edTotepack/thumbs/2.jpg b/public/images/edTotepack/thumbs/2.jpg similarity index 100% rename from images/edTotepack/thumbs/2.jpg rename to public/images/edTotepack/thumbs/2.jpg diff --git a/images/edTotepack/thumbs/3.jpg b/public/images/edTotepack/thumbs/3.jpg similarity index 100% rename from images/edTotepack/thumbs/3.jpg rename to public/images/edTotepack/thumbs/3.jpg diff --git a/images/edTotepack/thumbs/4.jpg b/public/images/edTotepack/thumbs/4.jpg similarity index 100% rename from images/edTotepack/thumbs/4.jpg rename to public/images/edTotepack/thumbs/4.jpg diff --git a/images/edTotepack/thumbs/5.jpg b/public/images/edTotepack/thumbs/5.jpg similarity index 100% rename from images/edTotepack/thumbs/5.jpg rename to public/images/edTotepack/thumbs/5.jpg diff --git a/images/edTotepack/thumbs/cb_lumpeo1.jpg b/public/images/edTotepack/thumbs/cb_lumpeo1.jpg similarity index 100% rename from images/edTotepack/thumbs/cb_lumpeo1.jpg rename to public/images/edTotepack/thumbs/cb_lumpeo1.jpg diff --git a/images/edTotepack/thumbs/cb_lumpeo2.jpg b/public/images/edTotepack/thumbs/cb_lumpeo2.jpg similarity index 100% rename from images/edTotepack/thumbs/cb_lumpeo2.jpg rename to public/images/edTotepack/thumbs/cb_lumpeo2.jpg diff --git a/images/edcFannyPack/0.jpg b/public/images/edcFannyPack/0.jpg similarity index 100% rename from images/edcFannyPack/0.jpg rename to public/images/edcFannyPack/0.jpg diff --git a/images/edcFannyPack/1.jpg b/public/images/edcFannyPack/1.jpg similarity index 100% rename from images/edcFannyPack/1.jpg rename to public/images/edcFannyPack/1.jpg diff --git a/images/edcFannyPack/2.jpg b/public/images/edcFannyPack/2.jpg similarity index 100% rename from images/edcFannyPack/2.jpg rename to public/images/edcFannyPack/2.jpg diff --git a/images/edcFannyPack/2b.jpg b/public/images/edcFannyPack/2b.jpg similarity index 100% rename from images/edcFannyPack/2b.jpg rename to public/images/edcFannyPack/2b.jpg diff --git a/images/edcFannyPack/5.jpg b/public/images/edcFannyPack/5.jpg similarity index 100% rename from images/edcFannyPack/5.jpg rename to public/images/edcFannyPack/5.jpg diff --git a/images/edcFannyPack/cb_BabiesArentUL.jpg b/public/images/edcFannyPack/cb_BabiesArentUL.jpg similarity index 100% rename from images/edcFannyPack/cb_BabiesArentUL.jpg rename to public/images/edcFannyPack/cb_BabiesArentUL.jpg diff --git a/images/edcFannyPack/cb_BigDogDeWald.jpg b/public/images/edcFannyPack/cb_BigDogDeWald.jpg similarity index 100% rename from images/edcFannyPack/cb_BigDogDeWald.jpg rename to public/images/edcFannyPack/cb_BigDogDeWald.jpg diff --git a/images/edcFannyPack/cb_FranziaSpritzer.jpg b/public/images/edcFannyPack/cb_FranziaSpritzer.jpg similarity index 100% rename from images/edcFannyPack/cb_FranziaSpritzer.jpg rename to public/images/edcFannyPack/cb_FranziaSpritzer.jpg diff --git a/images/edcFannyPack/cb_Peacebandit.jpg b/public/images/edcFannyPack/cb_Peacebandit.jpg similarity index 100% rename from images/edcFannyPack/cb_Peacebandit.jpg rename to public/images/edcFannyPack/cb_Peacebandit.jpg diff --git a/images/edcFannyPack/cb_boogita.jpg b/public/images/edcFannyPack/cb_boogita.jpg similarity index 100% rename from images/edcFannyPack/cb_boogita.jpg rename to public/images/edcFannyPack/cb_boogita.jpg diff --git a/images/edcFannyPack/cb_febrice.jpg b/public/images/edcFannyPack/cb_febrice.jpg similarity index 100% rename from images/edcFannyPack/cb_febrice.jpg rename to public/images/edcFannyPack/cb_febrice.jpg diff --git a/images/edcFannyPack/cb_felicia-sexopants.jpg b/public/images/edcFannyPack/cb_felicia-sexopants.jpg similarity index 100% rename from images/edcFannyPack/cb_felicia-sexopants.jpg rename to public/images/edcFannyPack/cb_felicia-sexopants.jpg diff --git a/images/edcFannyPack/cb_my_dog_oliver.jpg b/public/images/edcFannyPack/cb_my_dog_oliver.jpg similarity index 100% rename from images/edcFannyPack/cb_my_dog_oliver.jpg rename to public/images/edcFannyPack/cb_my_dog_oliver.jpg diff --git a/images/edcFannyPack/ls21front.jpg b/public/images/edcFannyPack/ls21front.jpg similarity index 100% rename from images/edcFannyPack/ls21front.jpg rename to public/images/edcFannyPack/ls21front.jpg diff --git a/images/edcFannyPack/ls21rear.jpg b/public/images/edcFannyPack/ls21rear.jpg similarity index 100% rename from images/edcFannyPack/ls21rear.jpg rename to public/images/edcFannyPack/ls21rear.jpg diff --git a/images/edcFannyPack/rainier.jpg b/public/images/edcFannyPack/rainier.jpg similarity index 100% rename from images/edcFannyPack/rainier.jpg rename to public/images/edcFannyPack/rainier.jpg diff --git a/images/edcFannyPack/thumbnail.jpg b/public/images/edcFannyPack/thumbnail.jpg similarity index 100% rename from images/edcFannyPack/thumbnail.jpg rename to public/images/edcFannyPack/thumbnail.jpg diff --git a/images/edcFannyPack/thumbs/0.jpg b/public/images/edcFannyPack/thumbs/0.jpg similarity index 100% rename from images/edcFannyPack/thumbs/0.jpg rename to public/images/edcFannyPack/thumbs/0.jpg diff --git a/images/edcFannyPack/thumbs/1.jpg b/public/images/edcFannyPack/thumbs/1.jpg similarity index 100% rename from images/edcFannyPack/thumbs/1.jpg rename to public/images/edcFannyPack/thumbs/1.jpg diff --git a/images/edcFannyPack/thumbs/2.jpg b/public/images/edcFannyPack/thumbs/2.jpg similarity index 100% rename from images/edcFannyPack/thumbs/2.jpg rename to public/images/edcFannyPack/thumbs/2.jpg diff --git a/images/edcFannyPack/thumbs/2b.jpg b/public/images/edcFannyPack/thumbs/2b.jpg similarity index 100% rename from images/edcFannyPack/thumbs/2b.jpg rename to public/images/edcFannyPack/thumbs/2b.jpg diff --git a/images/edcFannyPack/thumbs/3.jpg b/public/images/edcFannyPack/thumbs/3.jpg similarity index 100% rename from images/edcFannyPack/thumbs/3.jpg rename to public/images/edcFannyPack/thumbs/3.jpg diff --git a/images/edcFannyPack/thumbs/4.jpg b/public/images/edcFannyPack/thumbs/4.jpg similarity index 100% rename from images/edcFannyPack/thumbs/4.jpg rename to public/images/edcFannyPack/thumbs/4.jpg diff --git a/images/edcFannyPack/thumbs/5.jpg b/public/images/edcFannyPack/thumbs/5.jpg similarity index 100% rename from images/edcFannyPack/thumbs/5.jpg rename to public/images/edcFannyPack/thumbs/5.jpg diff --git a/images/edcFannyPack/thumbs/cb_BabiesArentUL.jpg b/public/images/edcFannyPack/thumbs/cb_BabiesArentUL.jpg similarity index 100% rename from images/edcFannyPack/thumbs/cb_BabiesArentUL.jpg rename to public/images/edcFannyPack/thumbs/cb_BabiesArentUL.jpg diff --git a/images/edcFannyPack/thumbs/cb_BigDogDeWald.jpg b/public/images/edcFannyPack/thumbs/cb_BigDogDeWald.jpg similarity index 100% rename from images/edcFannyPack/thumbs/cb_BigDogDeWald.jpg rename to public/images/edcFannyPack/thumbs/cb_BigDogDeWald.jpg diff --git a/images/edcFannyPack/thumbs/cb_FranziaSpritzer.jpg b/public/images/edcFannyPack/thumbs/cb_FranziaSpritzer.jpg similarity index 100% rename from images/edcFannyPack/thumbs/cb_FranziaSpritzer.jpg rename to public/images/edcFannyPack/thumbs/cb_FranziaSpritzer.jpg diff --git a/images/edcFannyPack/thumbs/cb_Peacebandit.jpg b/public/images/edcFannyPack/thumbs/cb_Peacebandit.jpg similarity index 100% rename from images/edcFannyPack/thumbs/cb_Peacebandit.jpg rename to public/images/edcFannyPack/thumbs/cb_Peacebandit.jpg diff --git a/images/edcFannyPack/thumbs/cb_boogita.jpg b/public/images/edcFannyPack/thumbs/cb_boogita.jpg similarity index 100% rename from images/edcFannyPack/thumbs/cb_boogita.jpg rename to public/images/edcFannyPack/thumbs/cb_boogita.jpg diff --git a/images/edcFannyPack/thumbs/cb_febrice.jpg b/public/images/edcFannyPack/thumbs/cb_febrice.jpg similarity index 100% rename from images/edcFannyPack/thumbs/cb_febrice.jpg rename to public/images/edcFannyPack/thumbs/cb_febrice.jpg diff --git a/images/edcFannyPack/thumbs/cb_felicia-sexopants.jpg b/public/images/edcFannyPack/thumbs/cb_felicia-sexopants.jpg similarity index 100% rename from images/edcFannyPack/thumbs/cb_felicia-sexopants.jpg rename to public/images/edcFannyPack/thumbs/cb_felicia-sexopants.jpg diff --git a/images/edcFannyPack/thumbs/cb_my_dog_oliver.jpg b/public/images/edcFannyPack/thumbs/cb_my_dog_oliver.jpg similarity index 100% rename from images/edcFannyPack/thumbs/cb_my_dog_oliver.jpg rename to public/images/edcFannyPack/thumbs/cb_my_dog_oliver.jpg diff --git a/images/edcFannyPack/thumbs/day.jpg b/public/images/edcFannyPack/thumbs/day.jpg similarity index 100% rename from images/edcFannyPack/thumbs/day.jpg rename to public/images/edcFannyPack/thumbs/day.jpg diff --git a/images/edcFannyPack/thumbs/full.jpg b/public/images/edcFannyPack/thumbs/full.jpg similarity index 100% rename from images/edcFannyPack/thumbs/full.jpg rename to public/images/edcFannyPack/thumbs/full.jpg diff --git a/images/edcFannyPack/thumbs/hero.jpg b/public/images/edcFannyPack/thumbs/hero.jpg similarity index 100% rename from images/edcFannyPack/thumbs/hero.jpg rename to public/images/edcFannyPack/thumbs/hero.jpg diff --git a/images/edcFannyPack/thumbs/ls21front.jpg b/public/images/edcFannyPack/thumbs/ls21front.jpg similarity index 100% rename from images/edcFannyPack/thumbs/ls21front.jpg rename to public/images/edcFannyPack/thumbs/ls21front.jpg diff --git a/images/edcFannyPack/thumbs/ls21rear.jpg b/public/images/edcFannyPack/thumbs/ls21rear.jpg similarity index 100% rename from images/edcFannyPack/thumbs/ls21rear.jpg rename to public/images/edcFannyPack/thumbs/ls21rear.jpg diff --git a/images/edcFannyPack/thumbs/rainier.jpg b/public/images/edcFannyPack/thumbs/rainier.jpg similarity index 100% rename from images/edcFannyPack/thumbs/rainier.jpg rename to public/images/edcFannyPack/thumbs/rainier.jpg diff --git a/images/edcFannyPack/thumbs/thumbnail.jpg b/public/images/edcFannyPack/thumbs/thumbnail.jpg similarity index 100% rename from images/edcFannyPack/thumbs/thumbnail.jpg rename to public/images/edcFannyPack/thumbs/thumbnail.jpg diff --git a/images/fabrics/abs.jpg b/public/images/fabrics/abs.jpg similarity index 100% rename from images/fabrics/abs.jpg rename to public/images/fabrics/abs.jpg diff --git a/images/fabrics/duraweave.jpg b/public/images/fabrics/duraweave.jpg similarity index 100% rename from images/fabrics/duraweave.jpg rename to public/images/fabrics/duraweave.jpg diff --git a/images/fabrics/epx200.jpg b/public/images/fabrics/epx200.jpg similarity index 100% rename from images/fabrics/epx200.jpg rename to public/images/fabrics/epx200.jpg diff --git a/images/fabrics/eva.webp b/public/images/fabrics/eva.webp similarity index 100% rename from images/fabrics/eva.webp rename to public/images/fabrics/eva.webp diff --git a/images/fabrics/gridstop.jpg b/public/images/fabrics/gridstop.jpg similarity index 100% rename from images/fabrics/gridstop.jpg rename to public/images/fabrics/gridstop.jpg diff --git a/images/fabrics/hdpe.jpg b/public/images/fabrics/hdpe.jpg similarity index 100% rename from images/fabrics/hdpe.jpg rename to public/images/fabrics/hdpe.jpg diff --git a/images/fabrics/hex70.jpg b/public/images/fabrics/hex70.jpg similarity index 100% rename from images/fabrics/hex70.jpg rename to public/images/fabrics/hex70.jpg diff --git a/images/fabrics/hyperd300.jpg b/public/images/fabrics/hyperd300.jpg similarity index 100% rename from images/fabrics/hyperd300.jpg rename to public/images/fabrics/hyperd300.jpg diff --git a/images/fabrics/lycra.jpg b/public/images/fabrics/lycra.jpg similarity index 100% rename from images/fabrics/lycra.jpg rename to public/images/fabrics/lycra.jpg diff --git a/images/fabrics/oxford.jpg b/public/images/fabrics/oxford.jpg similarity index 100% rename from images/fabrics/oxford.jpg rename to public/images/fabrics/oxford.jpg diff --git a/images/fabrics/robic.jpg b/public/images/fabrics/robic.jpg similarity index 100% rename from images/fabrics/robic.jpg rename to public/images/fabrics/robic.jpg diff --git a/images/fabrics/sil11.jpg b/public/images/fabrics/sil11.jpg similarity index 100% rename from images/fabrics/sil11.jpg rename to public/images/fabrics/sil11.jpg diff --git a/images/fabrics/sil19.jpg b/public/images/fabrics/sil19.jpg similarity index 100% rename from images/fabrics/sil19.jpg rename to public/images/fabrics/sil19.jpg diff --git a/images/fabrics/spacermesh.jpg b/public/images/fabrics/spacermesh.jpg similarity index 100% rename from images/fabrics/spacermesh.jpg rename to public/images/fabrics/spacermesh.jpg diff --git a/images/fabrics/spandura.jpg b/public/images/fabrics/spandura.jpg similarity index 100% rename from images/fabrics/spandura.jpg rename to public/images/fabrics/spandura.jpg diff --git a/images/fabrics/thumbs/abs.jpg b/public/images/fabrics/thumbs/abs.jpg similarity index 100% rename from images/fabrics/thumbs/abs.jpg rename to public/images/fabrics/thumbs/abs.jpg diff --git a/images/fabrics/thumbs/duraweave.jpg b/public/images/fabrics/thumbs/duraweave.jpg similarity index 100% rename from images/fabrics/thumbs/duraweave.jpg rename to public/images/fabrics/thumbs/duraweave.jpg diff --git a/images/fabrics/thumbs/epx200.jpg b/public/images/fabrics/thumbs/epx200.jpg similarity index 100% rename from images/fabrics/thumbs/epx200.jpg rename to public/images/fabrics/thumbs/epx200.jpg diff --git a/images/fabrics/thumbs/eva.webp b/public/images/fabrics/thumbs/eva.webp similarity index 100% rename from images/fabrics/thumbs/eva.webp rename to public/images/fabrics/thumbs/eva.webp diff --git a/images/fabrics/thumbs/gridstop.jpg b/public/images/fabrics/thumbs/gridstop.jpg similarity index 100% rename from images/fabrics/thumbs/gridstop.jpg rename to public/images/fabrics/thumbs/gridstop.jpg diff --git a/images/fabrics/thumbs/hdpe.jpg b/public/images/fabrics/thumbs/hdpe.jpg similarity index 100% rename from images/fabrics/thumbs/hdpe.jpg rename to public/images/fabrics/thumbs/hdpe.jpg diff --git a/images/fabrics/thumbs/hex70.jpg b/public/images/fabrics/thumbs/hex70.jpg similarity index 100% rename from images/fabrics/thumbs/hex70.jpg rename to public/images/fabrics/thumbs/hex70.jpg diff --git a/images/fabrics/thumbs/hyperd300.jpg b/public/images/fabrics/thumbs/hyperd300.jpg similarity index 100% rename from images/fabrics/thumbs/hyperd300.jpg rename to public/images/fabrics/thumbs/hyperd300.jpg diff --git a/images/fabrics/thumbs/lycra.jpg b/public/images/fabrics/thumbs/lycra.jpg similarity index 100% rename from images/fabrics/thumbs/lycra.jpg rename to public/images/fabrics/thumbs/lycra.jpg diff --git a/images/fabrics/thumbs/oxford.jpg b/public/images/fabrics/thumbs/oxford.jpg similarity index 100% rename from images/fabrics/thumbs/oxford.jpg rename to public/images/fabrics/thumbs/oxford.jpg diff --git a/images/fabrics/thumbs/robic.jpg b/public/images/fabrics/thumbs/robic.jpg similarity index 100% rename from images/fabrics/thumbs/robic.jpg rename to public/images/fabrics/thumbs/robic.jpg diff --git a/images/fabrics/thumbs/sil11.jpg b/public/images/fabrics/thumbs/sil11.jpg similarity index 100% rename from images/fabrics/thumbs/sil11.jpg rename to public/images/fabrics/thumbs/sil11.jpg diff --git a/images/fabrics/thumbs/sil19.jpg b/public/images/fabrics/thumbs/sil19.jpg similarity index 100% rename from images/fabrics/thumbs/sil19.jpg rename to public/images/fabrics/thumbs/sil19.jpg diff --git a/images/fabrics/thumbs/spacermesh.jpg b/public/images/fabrics/thumbs/spacermesh.jpg similarity index 100% rename from images/fabrics/thumbs/spacermesh.jpg rename to public/images/fabrics/thumbs/spacermesh.jpg diff --git a/images/fabrics/thumbs/spandura.jpg b/public/images/fabrics/thumbs/spandura.jpg similarity index 100% rename from images/fabrics/thumbs/spandura.jpg rename to public/images/fabrics/thumbs/spandura.jpg diff --git a/images/fabrics/thumbs/ultra400.jpg b/public/images/fabrics/thumbs/ultra400.jpg similarity index 100% rename from images/fabrics/thumbs/ultra400.jpg rename to public/images/fabrics/thumbs/ultra400.jpg diff --git a/images/fabrics/thumbs/venom.jpg b/public/images/fabrics/thumbs/venom.jpg similarity index 100% rename from images/fabrics/thumbs/venom.jpg rename to public/images/fabrics/thumbs/venom.jpg diff --git a/images/fabrics/thumbs/vx21.jpg b/public/images/fabrics/thumbs/vx21.jpg similarity index 100% rename from images/fabrics/thumbs/vx21.jpg rename to public/images/fabrics/thumbs/vx21.jpg diff --git a/images/fabrics/ultra400.jpg b/public/images/fabrics/ultra400.jpg similarity index 100% rename from images/fabrics/ultra400.jpg rename to public/images/fabrics/ultra400.jpg diff --git a/images/fabrics/venom.jpg b/public/images/fabrics/venom.jpg similarity index 100% rename from images/fabrics/venom.jpg rename to public/images/fabrics/venom.jpg diff --git a/images/fabrics/vx21.jpg b/public/images/fabrics/vx21.jpg similarity index 100% rename from images/fabrics/vx21.jpg rename to public/images/fabrics/vx21.jpg diff --git a/images/fastpack/cb_sampayne1.jpg b/public/images/fastpack/cb_sampayne1.jpg similarity index 100% rename from images/fastpack/cb_sampayne1.jpg rename to public/images/fastpack/cb_sampayne1.jpg diff --git a/images/fastpack/cb_sampayne2.jpg b/public/images/fastpack/cb_sampayne2.jpg similarity index 100% rename from images/fastpack/cb_sampayne2.jpg rename to public/images/fastpack/cb_sampayne2.jpg diff --git a/images/fastpack/communitybuildplaceholder.png b/public/images/fastpack/communitybuildplaceholder.png similarity index 100% rename from images/fastpack/communitybuildplaceholder.png rename to public/images/fastpack/communitybuildplaceholder.png diff --git a/images/fastpack/fastpack-back.jpg b/public/images/fastpack/fastpack-back.jpg similarity index 100% rename from images/fastpack/fastpack-back.jpg rename to public/images/fastpack/fastpack-back.jpg diff --git a/images/fastpack/fastpack-front.jpg b/public/images/fastpack/fastpack-front.jpg similarity index 100% rename from images/fastpack/fastpack-front.jpg rename to public/images/fastpack/fastpack-front.jpg diff --git a/images/fastpack/fastpack-hero2.jpg b/public/images/fastpack/fastpack-hero2.jpg similarity index 100% rename from images/fastpack/fastpack-hero2.jpg rename to public/images/fastpack/fastpack-hero2.jpg diff --git a/images/fastpack/fastpack3.png b/public/images/fastpack/fastpack3.png similarity index 100% rename from images/fastpack/fastpack3.png rename to public/images/fastpack/fastpack3.png diff --git a/images/fastpack/fastpack4.jpg b/public/images/fastpack/fastpack4.jpg similarity index 100% rename from images/fastpack/fastpack4.jpg rename to public/images/fastpack/fastpack4.jpg diff --git a/images/fastpack/fastpack6.png b/public/images/fastpack/fastpack6.png similarity index 100% rename from images/fastpack/fastpack6.png rename to public/images/fastpack/fastpack6.png diff --git a/images/fastpack/fastpackstuart.jpg b/public/images/fastpack/fastpackstuart.jpg similarity index 100% rename from images/fastpack/fastpackstuart.jpg rename to public/images/fastpack/fastpackstuart.jpg diff --git a/images/fastpack/lid/1.jpg b/public/images/fastpack/lid/1.jpg similarity index 100% rename from images/fastpack/lid/1.jpg rename to public/images/fastpack/lid/1.jpg diff --git a/images/fastpack/lid/3.jpg b/public/images/fastpack/lid/3.jpg similarity index 100% rename from images/fastpack/lid/3.jpg rename to public/images/fastpack/lid/3.jpg diff --git a/images/fastpack/lid/4.jpg b/public/images/fastpack/lid/4.jpg similarity index 100% rename from images/fastpack/lid/4.jpg rename to public/images/fastpack/lid/4.jpg diff --git a/images/fastpack/pattern1.png b/public/images/fastpack/pattern1.png similarity index 100% rename from images/fastpack/pattern1.png rename to public/images/fastpack/pattern1.png diff --git a/images/fastpack/pattern2.png b/public/images/fastpack/pattern2.png similarity index 100% rename from images/fastpack/pattern2.png rename to public/images/fastpack/pattern2.png diff --git a/images/fastpack/thumbs/cb_sampayne1.jpg b/public/images/fastpack/thumbs/cb_sampayne1.jpg similarity index 100% rename from images/fastpack/thumbs/cb_sampayne1.jpg rename to public/images/fastpack/thumbs/cb_sampayne1.jpg diff --git a/images/fastpack/thumbs/cb_sampayne2.jpg b/public/images/fastpack/thumbs/cb_sampayne2.jpg similarity index 100% rename from images/fastpack/thumbs/cb_sampayne2.jpg rename to public/images/fastpack/thumbs/cb_sampayne2.jpg diff --git a/images/fastpack/thumbs/communitybuildplaceholder.png b/public/images/fastpack/thumbs/communitybuildplaceholder.png similarity index 100% rename from images/fastpack/thumbs/communitybuildplaceholder.png rename to public/images/fastpack/thumbs/communitybuildplaceholder.png diff --git a/images/fastpack/thumbs/fastpack-back.jpg b/public/images/fastpack/thumbs/fastpack-back.jpg similarity index 100% rename from images/fastpack/thumbs/fastpack-back.jpg rename to public/images/fastpack/thumbs/fastpack-back.jpg diff --git a/images/fastpack/thumbs/fastpack-front.jpg b/public/images/fastpack/thumbs/fastpack-front.jpg similarity index 100% rename from images/fastpack/thumbs/fastpack-front.jpg rename to public/images/fastpack/thumbs/fastpack-front.jpg diff --git a/images/fastpack/thumbs/fastpack-hero2.jpg b/public/images/fastpack/thumbs/fastpack-hero2.jpg similarity index 100% rename from images/fastpack/thumbs/fastpack-hero2.jpg rename to public/images/fastpack/thumbs/fastpack-hero2.jpg diff --git a/images/fastpack/thumbs/fastpack3.png b/public/images/fastpack/thumbs/fastpack3.png similarity index 100% rename from images/fastpack/thumbs/fastpack3.png rename to public/images/fastpack/thumbs/fastpack3.png diff --git a/images/fastpack/thumbs/fastpack4.jpg b/public/images/fastpack/thumbs/fastpack4.jpg similarity index 100% rename from images/fastpack/thumbs/fastpack4.jpg rename to public/images/fastpack/thumbs/fastpack4.jpg diff --git a/images/fastpack/thumbs/fastpack6.png b/public/images/fastpack/thumbs/fastpack6.png similarity index 100% rename from images/fastpack/thumbs/fastpack6.png rename to public/images/fastpack/thumbs/fastpack6.png diff --git a/images/fastpack/thumbs/fastpackstuart.jpg b/public/images/fastpack/thumbs/fastpackstuart.jpg similarity index 100% rename from images/fastpack/thumbs/fastpackstuart.jpg rename to public/images/fastpack/thumbs/fastpackstuart.jpg diff --git a/images/fastpack/thumbs/pattern1.png b/public/images/fastpack/thumbs/pattern1.png similarity index 100% rename from images/fastpack/thumbs/pattern1.png rename to public/images/fastpack/thumbs/pattern1.png diff --git a/images/fastpack/thumbs/pattern2.png b/public/images/fastpack/thumbs/pattern2.png similarity index 100% rename from images/fastpack/thumbs/pattern2.png rename to public/images/fastpack/thumbs/pattern2.png diff --git a/images/fastpack/thumbs/videos/videothumb-front1-4.jpg b/public/images/fastpack/thumbs/videos/videothumb-front1-4.jpg similarity index 100% rename from images/fastpack/thumbs/videos/videothumb-front1-4.jpg rename to public/images/fastpack/thumbs/videos/videothumb-front1-4.jpg diff --git a/images/fastpack/thumbs/videos/videothumb-playlist.jpg b/public/images/fastpack/thumbs/videos/videothumb-playlist.jpg similarity index 100% rename from images/fastpack/thumbs/videos/videothumb-playlist.jpg rename to public/images/fastpack/thumbs/videos/videothumb-playlist.jpg diff --git a/images/fastpack/thumbs/videos/videothumb-shoulderstraps5.jpg b/public/images/fastpack/thumbs/videos/videothumb-shoulderstraps5.jpg similarity index 100% rename from images/fastpack/thumbs/videos/videothumb-shoulderstraps5.jpg rename to public/images/fastpack/thumbs/videos/videothumb-shoulderstraps5.jpg diff --git a/images/fastpack/thumbs/videos/videothumb-step6-7.jpg b/public/images/fastpack/thumbs/videos/videothumb-step6-7.jpg similarity index 100% rename from images/fastpack/thumbs/videos/videothumb-step6-7.jpg rename to public/images/fastpack/thumbs/videos/videothumb-step6-7.jpg diff --git a/images/fastpack/thumbs/videos/videothumb-step8-9.jpg b/public/images/fastpack/thumbs/videos/videothumb-step8-9.jpg similarity index 100% rename from images/fastpack/thumbs/videos/videothumb-step8-9.jpg rename to public/images/fastpack/thumbs/videos/videothumb-step8-9.jpg diff --git a/images/fastpack/thumbs/videos/videothumb-steps1-4.jpg b/public/images/fastpack/thumbs/videos/videothumb-steps1-4.jpg similarity index 100% rename from images/fastpack/thumbs/videos/videothumb-steps1-4.jpg rename to public/images/fastpack/thumbs/videos/videothumb-steps1-4.jpg diff --git a/images/fastpack/thumbs/videos/videothumb-steps10+.jpg b/public/images/fastpack/thumbs/videos/videothumb-steps10+.jpg similarity index 100% rename from images/fastpack/thumbs/videos/videothumb-steps10+.jpg rename to public/images/fastpack/thumbs/videos/videothumb-steps10+.jpg diff --git a/images/fastpack/thumbs/videos/videothumb.png b/public/images/fastpack/thumbs/videos/videothumb.png similarity index 100% rename from images/fastpack/thumbs/videos/videothumb.png rename to public/images/fastpack/thumbs/videos/videothumb.png diff --git a/images/favicon-16x16.png b/public/images/favicon-16x16.png similarity index 100% rename from images/favicon-16x16.png rename to public/images/favicon-16x16.png diff --git a/images/favicon-32x32.png b/public/images/favicon-32x32.png similarity index 100% rename from images/favicon-32x32.png rename to public/images/favicon-32x32.png diff --git a/images/favicon.ico b/public/images/favicon.ico similarity index 100% rename from images/favicon.ico rename to public/images/favicon.ico diff --git a/images/framebags/adjustments.jpg b/public/images/framebags/adjustments.jpg similarity index 100% rename from images/framebags/adjustments.jpg rename to public/images/framebags/adjustments.jpg diff --git a/images/framebags/bike.jpg b/public/images/framebags/bike.jpg similarity index 100% rename from images/framebags/bike.jpg rename to public/images/framebags/bike.jpg diff --git a/images/framebags/framebags.jpg b/public/images/framebags/framebags.jpg similarity index 100% rename from images/framebags/framebags.jpg rename to public/images/framebags/framebags.jpg diff --git a/images/framebags/hero.jpg b/public/images/framebags/hero.jpg similarity index 100% rename from images/framebags/hero.jpg rename to public/images/framebags/hero.jpg diff --git a/images/framebags/thumbs/adjustments.jpg b/public/images/framebags/thumbs/adjustments.jpg similarity index 100% rename from images/framebags/thumbs/adjustments.jpg rename to public/images/framebags/thumbs/adjustments.jpg diff --git a/images/framebags/thumbs/bike.jpg b/public/images/framebags/thumbs/bike.jpg similarity index 100% rename from images/framebags/thumbs/bike.jpg rename to public/images/framebags/thumbs/bike.jpg diff --git a/images/framebags/thumbs/framebags.jpg b/public/images/framebags/thumbs/framebags.jpg similarity index 100% rename from images/framebags/thumbs/framebags.jpg rename to public/images/framebags/thumbs/framebags.jpg diff --git a/images/framebags/thumbs/hero.jpg b/public/images/framebags/thumbs/hero.jpg similarity index 100% rename from images/framebags/thumbs/hero.jpg rename to public/images/framebags/thumbs/hero.jpg diff --git a/images/hardware/quest/apexwavell.jpg b/public/images/hardware/quest/apexwavell.jpg similarity index 100% rename from images/hardware/quest/apexwavell.jpg rename to public/images/hardware/quest/apexwavell.jpg diff --git a/images/hardware/quest/apexwinchsr.jpg b/public/images/hardware/quest/apexwinchsr.jpg similarity index 100% rename from images/hardware/quest/apexwinchsr.jpg rename to public/images/hardware/quest/apexwinchsr.jpg diff --git a/images/hardware/quest/cyberiancl.jpg b/public/images/hardware/quest/cyberiancl.jpg similarity index 100% rename from images/hardware/quest/cyberiancl.jpg rename to public/images/hardware/quest/cyberiancl.jpg diff --git a/images/hardware/quest/gaiterhook.jpg b/public/images/hardware/quest/gaiterhook.jpg similarity index 100% rename from images/hardware/quest/gaiterhook.jpg rename to public/images/hardware/quest/gaiterhook.jpg diff --git a/images/hardware/quest/jetlatchcamsr.jpg b/public/images/hardware/quest/jetlatchcamsr.jpg similarity index 100% rename from images/hardware/quest/jetlatchcamsr.jpg rename to public/images/hardware/quest/jetlatchcamsr.jpg diff --git a/images/hardware/quest/jetll.jpg b/public/images/hardware/quest/jetll.jpg similarity index 100% rename from images/hardware/quest/jetll.jpg rename to public/images/hardware/quest/jetll.jpg diff --git a/images/hardware/quest/jetwhistlesr.jpg b/public/images/hardware/quest/jetwhistlesr.jpg similarity index 100% rename from images/hardware/quest/jetwhistlesr.jpg rename to public/images/hardware/quest/jetwhistlesr.jpg diff --git a/images/hardware/quest/jetwinchsr.jpg b/public/images/hardware/quest/jetwinchsr.jpg similarity index 100% rename from images/hardware/quest/jetwinchsr.jpg rename to public/images/hardware/quest/jetwinchsr.jpg diff --git a/images/hardware/quest/linelocsr.jpg b/public/images/hardware/quest/linelocsr.jpg similarity index 100% rename from images/hardware/quest/linelocsr.jpg rename to public/images/hardware/quest/linelocsr.jpg diff --git a/images/hardware/quest/sr.jpg b/public/images/hardware/quest/sr.jpg similarity index 100% rename from images/hardware/quest/sr.jpg rename to public/images/hardware/quest/sr.jpg diff --git a/images/hardware/quest/toastercl.jpg b/public/images/hardware/quest/toastercl.jpg similarity index 100% rename from images/hardware/quest/toastercl.jpg rename to public/images/hardware/quest/toastercl.jpg diff --git a/images/hipPack/1.jpg b/public/images/hipPack/1.jpg similarity index 100% rename from images/hipPack/1.jpg rename to public/images/hipPack/1.jpg diff --git a/images/hipPack/10.jpg b/public/images/hipPack/10.jpg similarity index 100% rename from images/hipPack/10.jpg rename to public/images/hipPack/10.jpg diff --git a/images/hipPack/4.jpg b/public/images/hipPack/4.jpg similarity index 100% rename from images/hipPack/4.jpg rename to public/images/hipPack/4.jpg diff --git a/images/hipPack/5.jpg b/public/images/hipPack/5.jpg similarity index 100% rename from images/hipPack/5.jpg rename to public/images/hipPack/5.jpg diff --git a/images/hipPack/6.jpg b/public/images/hipPack/6.jpg similarity index 100% rename from images/hipPack/6.jpg rename to public/images/hipPack/6.jpg diff --git a/images/hipPack/9.jpg b/public/images/hipPack/9.jpg similarity index 100% rename from images/hipPack/9.jpg rename to public/images/hipPack/9.jpg diff --git a/images/hipPack/thumbs/1.jpg b/public/images/hipPack/thumbs/1.jpg similarity index 100% rename from images/hipPack/thumbs/1.jpg rename to public/images/hipPack/thumbs/1.jpg diff --git a/images/hipPack/thumbs/10.jpg b/public/images/hipPack/thumbs/10.jpg similarity index 100% rename from images/hipPack/thumbs/10.jpg rename to public/images/hipPack/thumbs/10.jpg diff --git a/images/hipPack/thumbs/4.jpg b/public/images/hipPack/thumbs/4.jpg similarity index 100% rename from images/hipPack/thumbs/4.jpg rename to public/images/hipPack/thumbs/4.jpg diff --git a/images/hipPack/thumbs/5.jpg b/public/images/hipPack/thumbs/5.jpg similarity index 100% rename from images/hipPack/thumbs/5.jpg rename to public/images/hipPack/thumbs/5.jpg diff --git a/images/hipPack/thumbs/6.jpg b/public/images/hipPack/thumbs/6.jpg similarity index 100% rename from images/hipPack/thumbs/6.jpg rename to public/images/hipPack/thumbs/6.jpg diff --git a/images/hipPack/thumbs/9.jpg b/public/images/hipPack/thumbs/9.jpg similarity index 100% rename from images/hipPack/thumbs/9.jpg rename to public/images/hipPack/thumbs/9.jpg diff --git a/images/hipPack/thumbs/videos/gettingstarted.png b/public/images/hipPack/thumbs/videos/gettingstarted.png similarity index 100% rename from images/hipPack/thumbs/videos/gettingstarted.png rename to public/images/hipPack/thumbs/videos/gettingstarted.png diff --git a/images/hipPack/thumbs/videos/intro.jpg b/public/images/hipPack/thumbs/videos/intro.jpg similarity index 100% rename from images/hipPack/thumbs/videos/intro.jpg rename to public/images/hipPack/thumbs/videos/intro.jpg diff --git a/images/hipPack/thumbs/videos/sewalong.png b/public/images/hipPack/thumbs/videos/sewalong.png similarity index 100% rename from images/hipPack/thumbs/videos/sewalong.png rename to public/images/hipPack/thumbs/videos/sewalong.png diff --git a/images/index/3dCronersthumb.jpg b/public/images/index/3dCronersthumb.jpg similarity index 100% rename from images/index/3dCronersthumb.jpg rename to public/images/index/3dCronersthumb.jpg diff --git a/images/index/bala1.jpg b/public/images/index/bala1.jpg similarity index 100% rename from images/index/bala1.jpg rename to public/images/index/bala1.jpg diff --git a/images/index/camp_pants2.jpg b/public/images/index/camp_pants2.jpg similarity index 100% rename from images/index/camp_pants2.jpg rename to public/images/index/camp_pants2.jpg diff --git a/images/index/chonkysling.jpg b/public/images/index/chonkysling.jpg similarity index 100% rename from images/index/chonkysling.jpg rename to public/images/index/chonkysling.jpg diff --git a/images/index/cinchsack.jpg b/public/images/index/cinchsack.jpg similarity index 100% rename from images/index/cinchsack.jpg rename to public/images/index/cinchsack.jpg diff --git a/images/index/diashi2.jpg b/public/images/index/diashi2.jpg similarity index 100% rename from images/index/diashi2.jpg rename to public/images/index/diashi2.jpg diff --git a/images/index/edfannypack.jpg b/public/images/index/edfannypack.jpg similarity index 100% rename from images/index/edfannypack.jpg rename to public/images/index/edfannypack.jpg diff --git a/images/index/fabrics.jpg b/public/images/index/fabrics.jpg similarity index 100% rename from images/index/fabrics.jpg rename to public/images/index/fabrics.jpg diff --git a/images/index/fastpackhero3.jpg b/public/images/index/fastpackhero3.jpg similarity index 100% rename from images/index/fastpackhero3.jpg rename to public/images/index/fastpackhero3.jpg diff --git a/images/index/framebags.jpg b/public/images/index/framebags.jpg similarity index 100% rename from images/index/framebags.jpg rename to public/images/index/framebags.jpg diff --git a/images/index/hardware.jpg b/public/images/index/hardware.jpg similarity index 100% rename from images/index/hardware.jpg rename to public/images/index/hardware.jpg diff --git a/images/index/pullover.jpg b/public/images/index/pullover.jpg similarity index 100% rename from images/index/pullover.jpg rename to public/images/index/pullover.jpg diff --git a/images/index/rolltop.jpg b/public/images/index/rolltop.jpg similarity index 100% rename from images/index/rolltop.jpg rename to public/images/index/rolltop.jpg diff --git a/images/index/roundstuff.jpg b/public/images/index/roundstuff.jpg similarity index 100% rename from images/index/roundstuff.jpg rename to public/images/index/roundstuff.jpg diff --git a/images/index/runningbelt.jpg b/public/images/index/runningbelt.jpg similarity index 100% rename from images/index/runningbelt.jpg rename to public/images/index/runningbelt.jpg diff --git a/images/index/sling5.jpg b/public/images/index/sling5.jpg similarity index 100% rename from images/index/sling5.jpg rename to public/images/index/sling5.jpg diff --git a/images/index/stembag.jpg b/public/images/index/stembag.jpg similarity index 100% rename from images/index/stembag.jpg rename to public/images/index/stembag.jpg diff --git a/images/index/totepack.jpg b/public/images/index/totepack.jpg similarity index 100% rename from images/index/totepack.jpg rename to public/images/index/totepack.jpg diff --git a/images/index/trailrunpack4.jpg b/public/images/index/trailrunpack4.jpg similarity index 100% rename from images/index/trailrunpack4.jpg rename to public/images/index/trailrunpack4.jpg diff --git a/images/index/trp6.jpg b/public/images/index/trp6.jpg similarity index 100% rename from images/index/trp6.jpg rename to public/images/index/trp6.jpg diff --git a/images/index/uzip7.jpg b/public/images/index/uzip7.jpg similarity index 100% rename from images/index/uzip7.jpg rename to public/images/index/uzip7.jpg diff --git a/images/index/zero2hero.jpg b/public/images/index/zero2hero.jpg similarity index 100% rename from images/index/zero2hero.jpg rename to public/images/index/zero2hero.jpg diff --git a/images/index/zippers.jpg b/public/images/index/zippers.jpg similarity index 100% rename from images/index/zippers.jpg rename to public/images/index/zippers.jpg diff --git a/images/index/zipsack.jpg b/public/images/index/zipsack.jpg similarity index 100% rename from images/index/zipsack.jpg rename to public/images/index/zipsack.jpg diff --git a/images/pulloverHoodie/1.JPG b/public/images/pulloverHoodie/1.JPG similarity index 100% rename from images/pulloverHoodie/1.JPG rename to public/images/pulloverHoodie/1.JPG diff --git a/images/pulloverHoodie/2.JPG b/public/images/pulloverHoodie/2.JPG similarity index 100% rename from images/pulloverHoodie/2.JPG rename to public/images/pulloverHoodie/2.JPG diff --git a/images/pulloverHoodie/4.JPG b/public/images/pulloverHoodie/4.JPG similarity index 100% rename from images/pulloverHoodie/4.JPG rename to public/images/pulloverHoodie/4.JPG diff --git a/images/pulloverHoodie/5.JPG b/public/images/pulloverHoodie/5.JPG similarity index 100% rename from images/pulloverHoodie/5.JPG rename to public/images/pulloverHoodie/5.JPG diff --git a/images/pulloverHoodie/6.JPG b/public/images/pulloverHoodie/6.JPG similarity index 100% rename from images/pulloverHoodie/6.JPG rename to public/images/pulloverHoodie/6.JPG diff --git a/images/pulloverHoodie/7.JPG b/public/images/pulloverHoodie/7.JPG similarity index 100% rename from images/pulloverHoodie/7.JPG rename to public/images/pulloverHoodie/7.JPG diff --git a/images/pulloverHoodie/8.JPG b/public/images/pulloverHoodie/8.JPG similarity index 100% rename from images/pulloverHoodie/8.JPG rename to public/images/pulloverHoodie/8.JPG diff --git a/images/pulloverHoodie/9.JPG b/public/images/pulloverHoodie/9.JPG similarity index 100% rename from images/pulloverHoodie/9.JPG rename to public/images/pulloverHoodie/9.JPG diff --git a/images/pulloverHoodie/preview1.jpg b/public/images/pulloverHoodie/preview1.jpg similarity index 100% rename from images/pulloverHoodie/preview1.jpg rename to public/images/pulloverHoodie/preview1.jpg diff --git a/images/pulloverHoodie/preview2.jpg b/public/images/pulloverHoodie/preview2.jpg similarity index 100% rename from images/pulloverHoodie/preview2.jpg rename to public/images/pulloverHoodie/preview2.jpg diff --git a/images/pulloverHoodie/previewvid.mp4 b/public/images/pulloverHoodie/previewvid.mp4 similarity index 100% rename from images/pulloverHoodie/previewvid.mp4 rename to public/images/pulloverHoodie/previewvid.mp4 diff --git a/images/pulloverHoodie/thumbs/1.JPG b/public/images/pulloverHoodie/thumbs/1.JPG similarity index 100% rename from images/pulloverHoodie/thumbs/1.JPG rename to public/images/pulloverHoodie/thumbs/1.JPG diff --git a/images/pulloverHoodie/thumbs/2.JPG b/public/images/pulloverHoodie/thumbs/2.JPG similarity index 100% rename from images/pulloverHoodie/thumbs/2.JPG rename to public/images/pulloverHoodie/thumbs/2.JPG diff --git a/images/pulloverHoodie/thumbs/4.JPG b/public/images/pulloverHoodie/thumbs/4.JPG similarity index 100% rename from images/pulloverHoodie/thumbs/4.JPG rename to public/images/pulloverHoodie/thumbs/4.JPG diff --git a/images/pulloverHoodie/thumbs/5.JPG b/public/images/pulloverHoodie/thumbs/5.JPG similarity index 100% rename from images/pulloverHoodie/thumbs/5.JPG rename to public/images/pulloverHoodie/thumbs/5.JPG diff --git a/images/pulloverHoodie/thumbs/6.JPG b/public/images/pulloverHoodie/thumbs/6.JPG similarity index 100% rename from images/pulloverHoodie/thumbs/6.JPG rename to public/images/pulloverHoodie/thumbs/6.JPG diff --git a/images/pulloverHoodie/thumbs/7.JPG b/public/images/pulloverHoodie/thumbs/7.JPG similarity index 100% rename from images/pulloverHoodie/thumbs/7.JPG rename to public/images/pulloverHoodie/thumbs/7.JPG diff --git a/images/pulloverHoodie/thumbs/8.JPG b/public/images/pulloverHoodie/thumbs/8.JPG similarity index 100% rename from images/pulloverHoodie/thumbs/8.JPG rename to public/images/pulloverHoodie/thumbs/8.JPG diff --git a/images/pulloverHoodie/thumbs/9.JPG b/public/images/pulloverHoodie/thumbs/9.JPG similarity index 100% rename from images/pulloverHoodie/thumbs/9.JPG rename to public/images/pulloverHoodie/thumbs/9.JPG diff --git a/images/pulloverHoodie/thumbs/preview1.jpg b/public/images/pulloverHoodie/thumbs/preview1.jpg similarity index 100% rename from images/pulloverHoodie/thumbs/preview1.jpg rename to public/images/pulloverHoodie/thumbs/preview1.jpg diff --git a/images/pulloverHoodie/thumbs/preview2.jpg b/public/images/pulloverHoodie/thumbs/preview2.jpg similarity index 100% rename from images/pulloverHoodie/thumbs/preview2.jpg rename to public/images/pulloverHoodie/thumbs/preview2.jpg diff --git a/images/pulloverHoodie/thumbs/videos/cuffs.jpg b/public/images/pulloverHoodie/thumbs/videos/cuffs.jpg similarity index 100% rename from images/pulloverHoodie/thumbs/videos/cuffs.jpg rename to public/images/pulloverHoodie/thumbs/videos/cuffs.jpg diff --git a/images/pulloverHoodie/thumbs/videos/kangaroopockets.png b/public/images/pulloverHoodie/thumbs/videos/kangaroopockets.png similarity index 100% rename from images/pulloverHoodie/thumbs/videos/kangaroopockets.png rename to public/images/pulloverHoodie/thumbs/videos/kangaroopockets.png diff --git a/images/pulloverHoodie/thumbs/videos/snapplacket.png b/public/images/pulloverHoodie/thumbs/videos/snapplacket.png similarity index 100% rename from images/pulloverHoodie/thumbs/videos/snapplacket.png rename to public/images/pulloverHoodie/thumbs/videos/snapplacket.png diff --git a/images/pulloverHoodie/thumbs/videos/stretchcuffs.png b/public/images/pulloverHoodie/thumbs/videos/stretchcuffs.png similarity index 100% rename from images/pulloverHoodie/thumbs/videos/stretchcuffs.png rename to public/images/pulloverHoodie/thumbs/videos/stretchcuffs.png diff --git a/images/rolltopsack/rt1.jpg b/public/images/rolltopsack/rt1.jpg similarity index 100% rename from images/rolltopsack/rt1.jpg rename to public/images/rolltopsack/rt1.jpg diff --git a/images/rolltopsack/rt2.jpg b/public/images/rolltopsack/rt2.jpg similarity index 100% rename from images/rolltopsack/rt2.jpg rename to public/images/rolltopsack/rt2.jpg diff --git a/images/rolltopsack/rt3.jpg b/public/images/rolltopsack/rt3.jpg similarity index 100% rename from images/rolltopsack/rt3.jpg rename to public/images/rolltopsack/rt3.jpg diff --git a/images/rolltopsack/rt4.jpg b/public/images/rolltopsack/rt4.jpg similarity index 100% rename from images/rolltopsack/rt4.jpg rename to public/images/rolltopsack/rt4.jpg diff --git a/images/rolltopsack/rt5.jpg b/public/images/rolltopsack/rt5.jpg similarity index 100% rename from images/rolltopsack/rt5.jpg rename to public/images/rolltopsack/rt5.jpg diff --git a/images/rolltopsack/rtplan.jpg b/public/images/rolltopsack/rtplan.jpg similarity index 100% rename from images/rolltopsack/rtplan.jpg rename to public/images/rolltopsack/rtplan.jpg diff --git a/images/rolltopsack/rtsample1.jpg b/public/images/rolltopsack/rtsample1.jpg similarity index 100% rename from images/rolltopsack/rtsample1.jpg rename to public/images/rolltopsack/rtsample1.jpg diff --git a/images/rolltopsack/rtsample2.jpg b/public/images/rolltopsack/rtsample2.jpg similarity index 100% rename from images/rolltopsack/rtsample2.jpg rename to public/images/rolltopsack/rtsample2.jpg diff --git a/images/runningBelt/back.jpg b/public/images/runningBelt/back.jpg similarity index 100% rename from images/runningBelt/back.jpg rename to public/images/runningBelt/back.jpg diff --git a/images/runningBelt/cb_dclare1011.jpg b/public/images/runningBelt/cb_dclare1011.jpg similarity index 100% rename from images/runningBelt/cb_dclare1011.jpg rename to public/images/runningBelt/cb_dclare1011.jpg diff --git a/images/runningBelt/cb_ms.math.jpg b/public/images/runningBelt/cb_ms.math.jpg similarity index 100% rename from images/runningBelt/cb_ms.math.jpg rename to public/images/runningBelt/cb_ms.math.jpg diff --git a/images/runningBelt/cb_tyrraj.jpg b/public/images/runningBelt/cb_tyrraj.jpg similarity index 100% rename from images/runningBelt/cb_tyrraj.jpg rename to public/images/runningBelt/cb_tyrraj.jpg diff --git a/images/runningBelt/front.jpg b/public/images/runningBelt/front.jpg similarity index 100% rename from images/runningBelt/front.jpg rename to public/images/runningBelt/front.jpg diff --git a/images/runningBelt/hero.jpg b/public/images/runningBelt/hero.jpg similarity index 100% rename from images/runningBelt/hero.jpg rename to public/images/runningBelt/hero.jpg diff --git a/images/runningBelt/thumbs/back.jpg b/public/images/runningBelt/thumbs/back.jpg similarity index 100% rename from images/runningBelt/thumbs/back.jpg rename to public/images/runningBelt/thumbs/back.jpg diff --git a/images/runningBelt/thumbs/cb_dclare1011.jpg b/public/images/runningBelt/thumbs/cb_dclare1011.jpg similarity index 100% rename from images/runningBelt/thumbs/cb_dclare1011.jpg rename to public/images/runningBelt/thumbs/cb_dclare1011.jpg diff --git a/images/runningBelt/thumbs/cb_ms.math.jpg b/public/images/runningBelt/thumbs/cb_ms.math.jpg similarity index 100% rename from images/runningBelt/thumbs/cb_ms.math.jpg rename to public/images/runningBelt/thumbs/cb_ms.math.jpg diff --git a/images/runningBelt/thumbs/cb_tyrraj.jpg b/public/images/runningBelt/thumbs/cb_tyrraj.jpg similarity index 100% rename from images/runningBelt/thumbs/cb_tyrraj.jpg rename to public/images/runningBelt/thumbs/cb_tyrraj.jpg diff --git a/images/runningBelt/thumbs/front.jpg b/public/images/runningBelt/thumbs/front.jpg similarity index 100% rename from images/runningBelt/thumbs/front.jpg rename to public/images/runningBelt/thumbs/front.jpg diff --git a/images/runningBelt/thumbs/hero.jpg b/public/images/runningBelt/thumbs/hero.jpg similarity index 100% rename from images/runningBelt/thumbs/hero.jpg rename to public/images/runningBelt/thumbs/hero.jpg diff --git a/images/shared/partners/100/RBTR.webp b/public/images/shared/partners/100/RBTR.webp similarity index 100% rename from images/shared/partners/100/RBTR.webp rename to public/images/shared/partners/100/RBTR.webp diff --git a/images/shared/partners/100/adventurexpert.webp b/public/images/shared/partners/100/adventurexpert.webp similarity index 100% rename from images/shared/partners/100/adventurexpert.webp rename to public/images/shared/partners/100/adventurexpert.webp diff --git a/images/shared/partners/100/amazon.webp b/public/images/shared/partners/100/amazon.webp similarity index 100% rename from images/shared/partners/100/amazon.webp rename to public/images/shared/partners/100/amazon.webp diff --git a/images/shared/partners/100/discoveryfabrics.webp b/public/images/shared/partners/100/discoveryfabrics.webp similarity index 100% rename from images/shared/partners/100/discoveryfabrics.webp rename to public/images/shared/partners/100/discoveryfabrics.webp diff --git a/images/shared/partners/100/mozet.webp b/public/images/shared/partners/100/mozet.webp similarity index 100% rename from images/shared/partners/100/mozet.webp rename to public/images/shared/partners/100/mozet.webp diff --git a/images/shared/partners/100/questoutfitters.webp b/public/images/shared/partners/100/questoutfitters.webp similarity index 100% rename from images/shared/partners/100/questoutfitters.webp rename to public/images/shared/partners/100/questoutfitters.webp diff --git a/images/shared/partners/100/refasten.webp b/public/images/shared/partners/100/refasten.webp similarity index 100% rename from images/shared/partners/100/refasten.webp rename to public/images/shared/partners/100/refasten.webp diff --git a/images/shared/partners/100/rotr.webp b/public/images/shared/partners/100/rotr.webp similarity index 100% rename from images/shared/partners/100/rotr.webp rename to public/images/shared/partners/100/rotr.webp diff --git a/images/shared/partners/100/rotr2.webp b/public/images/shared/partners/100/rotr2.webp similarity index 100% rename from images/shared/partners/100/rotr2.webp rename to public/images/shared/partners/100/rotr2.webp diff --git a/images/shared/partners/100/therainshed.webp b/public/images/shared/partners/100/therainshed.webp similarity index 100% rename from images/shared/partners/100/therainshed.webp rename to public/images/shared/partners/100/therainshed.webp diff --git a/images/shared/partners/100/wawak.webp b/public/images/shared/partners/100/wawak.webp similarity index 100% rename from images/shared/partners/100/wawak.webp rename to public/images/shared/partners/100/wawak.webp diff --git a/images/shared/partners/200/RBTR.webp b/public/images/shared/partners/200/RBTR.webp similarity index 100% rename from images/shared/partners/200/RBTR.webp rename to public/images/shared/partners/200/RBTR.webp diff --git a/images/shared/partners/200/adventurexpert.webp b/public/images/shared/partners/200/adventurexpert.webp similarity index 100% rename from images/shared/partners/200/adventurexpert.webp rename to public/images/shared/partners/200/adventurexpert.webp diff --git a/images/shared/partners/200/amazon.webp b/public/images/shared/partners/200/amazon.webp similarity index 100% rename from images/shared/partners/200/amazon.webp rename to public/images/shared/partners/200/amazon.webp diff --git a/images/shared/partners/200/discoveryfabrics.webp b/public/images/shared/partners/200/discoveryfabrics.webp similarity index 100% rename from images/shared/partners/200/discoveryfabrics.webp rename to public/images/shared/partners/200/discoveryfabrics.webp diff --git a/images/shared/partners/200/mozet.webp b/public/images/shared/partners/200/mozet.webp similarity index 100% rename from images/shared/partners/200/mozet.webp rename to public/images/shared/partners/200/mozet.webp diff --git a/images/shared/partners/200/questoutfitters.webp b/public/images/shared/partners/200/questoutfitters.webp similarity index 100% rename from images/shared/partners/200/questoutfitters.webp rename to public/images/shared/partners/200/questoutfitters.webp diff --git a/images/shared/partners/200/refasten.webp b/public/images/shared/partners/200/refasten.webp similarity index 100% rename from images/shared/partners/200/refasten.webp rename to public/images/shared/partners/200/refasten.webp diff --git a/images/shared/partners/200/rotr.webp b/public/images/shared/partners/200/rotr.webp similarity index 100% rename from images/shared/partners/200/rotr.webp rename to public/images/shared/partners/200/rotr.webp diff --git a/images/shared/partners/200/rotr2.webp b/public/images/shared/partners/200/rotr2.webp similarity index 100% rename from images/shared/partners/200/rotr2.webp rename to public/images/shared/partners/200/rotr2.webp diff --git a/images/shared/partners/200/therainshed.webp b/public/images/shared/partners/200/therainshed.webp similarity index 100% rename from images/shared/partners/200/therainshed.webp rename to public/images/shared/partners/200/therainshed.webp diff --git a/images/shared/partners/200/wawak.webp b/public/images/shared/partners/200/wawak.webp similarity index 100% rename from images/shared/partners/200/wawak.webp rename to public/images/shared/partners/200/wawak.webp diff --git a/images/shared/partners/48/adventurexpert.png b/public/images/shared/partners/48/adventurexpert.png similarity index 100% rename from images/shared/partners/48/adventurexpert.png rename to public/images/shared/partners/48/adventurexpert.png diff --git a/images/shared/partners/48/amazon.png b/public/images/shared/partners/48/amazon.png similarity index 100% rename from images/shared/partners/48/amazon.png rename to public/images/shared/partners/48/amazon.png diff --git a/images/shared/partners/48/mozet.png b/public/images/shared/partners/48/mozet.png similarity index 100% rename from images/shared/partners/48/mozet.png rename to public/images/shared/partners/48/mozet.png diff --git a/images/shared/partners/48/quest.png b/public/images/shared/partners/48/quest.png similarity index 100% rename from images/shared/partners/48/quest.png rename to public/images/shared/partners/48/quest.png diff --git a/images/shared/partners/48/rbtr.png b/public/images/shared/partners/48/rbtr.png similarity index 100% rename from images/shared/partners/48/rbtr.png rename to public/images/shared/partners/48/rbtr.png diff --git a/images/shared/partners/48/wawak.png b/public/images/shared/partners/48/wawak.png similarity index 100% rename from images/shared/partners/48/wawak.png rename to public/images/shared/partners/48/wawak.png diff --git a/images/shared/products/HD1000.webp b/public/images/shared/products/HD1000.webp similarity index 100% rename from images/shared/products/HD1000.webp rename to public/images/shared/products/HD1000.webp diff --git a/images/shared/products/cricut-maker.webp b/public/images/shared/products/cricut-maker.webp similarity index 100% rename from images/shared/products/cricut-maker.webp rename to public/images/shared/products/cricut-maker.webp diff --git a/images/shared/products/mo654de.webp b/public/images/shared/products/mo654de.webp similarity index 100% rename from images/shared/products/mo654de.webp rename to public/images/shared/products/mo654de.webp diff --git a/images/shared/products/thread.jpg b/public/images/shared/products/thread.jpg similarity index 100% rename from images/shared/products/thread.jpg rename to public/images/shared/products/thread.jpg diff --git a/images/site.webmanifest b/public/images/site.webmanifest similarity index 100% rename from images/site.webmanifest rename to public/images/site.webmanifest diff --git a/images/sketchSheet/LearnMYOG Sketch Sheet greyscale.png b/public/images/sketchSheet/LearnMYOG Sketch Sheet greyscale.png similarity index 100% rename from images/sketchSheet/LearnMYOG Sketch Sheet greyscale.png rename to public/images/sketchSheet/LearnMYOG Sketch Sheet greyscale.png diff --git a/images/sketchSheet/LearnMYOG Sketch Template.png b/public/images/sketchSheet/LearnMYOG Sketch Template.png similarity index 100% rename from images/sketchSheet/LearnMYOG Sketch Template.png rename to public/images/sketchSheet/LearnMYOG Sketch Template.png diff --git a/images/sketchSheet/sketchSheetCover.png b/public/images/sketchSheet/sketchSheetCover.png similarity index 100% rename from images/sketchSheet/sketchSheetCover.png rename to public/images/sketchSheet/sketchSheetCover.png diff --git a/images/stuffsack/ssInstr1.png b/public/images/stuffsack/ssInstr1.png similarity index 100% rename from images/stuffsack/ssInstr1.png rename to public/images/stuffsack/ssInstr1.png diff --git a/images/stuffsack/ssInstr2.png b/public/images/stuffsack/ssInstr2.png similarity index 100% rename from images/stuffsack/ssInstr2.png rename to public/images/stuffsack/ssInstr2.png diff --git a/images/stuffsack/ssInstr3.png b/public/images/stuffsack/ssInstr3.png similarity index 100% rename from images/stuffsack/ssInstr3.png rename to public/images/stuffsack/ssInstr3.png diff --git a/images/stuffsack/ssInstr4.png b/public/images/stuffsack/ssInstr4.png similarity index 100% rename from images/stuffsack/ssInstr4.png rename to public/images/stuffsack/ssInstr4.png diff --git a/images/stuffsack/ssInstr5.png b/public/images/stuffsack/ssInstr5.png similarity index 100% rename from images/stuffsack/ssInstr5.png rename to public/images/stuffsack/ssInstr5.png diff --git a/images/stuffsack/stuffSackPattern.png b/public/images/stuffsack/stuffSackPattern.png similarity index 100% rename from images/stuffsack/stuffSackPattern.png rename to public/images/stuffsack/stuffSackPattern.png diff --git a/images/stuffsack/stuffSackPlan.png b/public/images/stuffsack/stuffSackPlan.png similarity index 100% rename from images/stuffsack/stuffSackPlan.png rename to public/images/stuffsack/stuffSackPlan.png diff --git a/images/trailRunBackpack/DSC00389.jpg b/public/images/trailRunBackpack/DSC00389.jpg similarity index 100% rename from images/trailRunBackpack/DSC00389.jpg rename to public/images/trailRunBackpack/DSC00389.jpg diff --git a/images/trailRunBackpack/DSC00391.jpg b/public/images/trailRunBackpack/DSC00391.jpg similarity index 100% rename from images/trailRunBackpack/DSC00391.jpg rename to public/images/trailRunBackpack/DSC00391.jpg diff --git a/images/trailRunBackpack/DSC00396.jpg b/public/images/trailRunBackpack/DSC00396.jpg similarity index 100% rename from images/trailRunBackpack/DSC00396.jpg rename to public/images/trailRunBackpack/DSC00396.jpg diff --git a/images/trailRunBackpack/DSC00398.jpg b/public/images/trailRunBackpack/DSC00398.jpg similarity index 100% rename from images/trailRunBackpack/DSC00398.jpg rename to public/images/trailRunBackpack/DSC00398.jpg diff --git a/images/trailRunBackpack/IMG_E0012.jpg b/public/images/trailRunBackpack/IMG_E0012.jpg similarity index 100% rename from images/trailRunBackpack/IMG_E0012.jpg rename to public/images/trailRunBackpack/IMG_E0012.jpg diff --git a/images/trailRunBackpack/IMG_E0013.jpg b/public/images/trailRunBackpack/IMG_E0013.jpg similarity index 100% rename from images/trailRunBackpack/IMG_E0013.jpg rename to public/images/trailRunBackpack/IMG_E0013.jpg diff --git a/images/trailRunBackpack/IMG_E0024.jpg b/public/images/trailRunBackpack/IMG_E0024.jpg similarity index 100% rename from images/trailRunBackpack/IMG_E0024.jpg rename to public/images/trailRunBackpack/IMG_E0024.jpg diff --git a/images/trailRunBackpack/IMG_E0033.jpg b/public/images/trailRunBackpack/IMG_E0033.jpg similarity index 100% rename from images/trailRunBackpack/IMG_E0033.jpg rename to public/images/trailRunBackpack/IMG_E0033.jpg diff --git a/images/trailRunBackpack/cb_BearableAtBest.jpg b/public/images/trailRunBackpack/cb_BearableAtBest.jpg similarity index 100% rename from images/trailRunBackpack/cb_BearableAtBest.jpg rename to public/images/trailRunBackpack/cb_BearableAtBest.jpg diff --git a/images/trailRunBackpack/cb_babiesarentul.jpg b/public/images/trailRunBackpack/cb_babiesarentul.jpg similarity index 100% rename from images/trailRunBackpack/cb_babiesarentul.jpg rename to public/images/trailRunBackpack/cb_babiesarentul.jpg diff --git a/images/trailRunBackpack/cb_craderson1.jpg b/public/images/trailRunBackpack/cb_craderson1.jpg similarity index 100% rename from images/trailRunBackpack/cb_craderson1.jpg rename to public/images/trailRunBackpack/cb_craderson1.jpg diff --git a/images/trailRunBackpack/cb_craderson2.jpg b/public/images/trailRunBackpack/cb_craderson2.jpg similarity index 100% rename from images/trailRunBackpack/cb_craderson2.jpg rename to public/images/trailRunBackpack/cb_craderson2.jpg diff --git a/images/trailRunBackpack/cb_gatorbeav13_1.jpeg b/public/images/trailRunBackpack/cb_gatorbeav13_1.jpeg similarity index 100% rename from images/trailRunBackpack/cb_gatorbeav13_1.jpeg rename to public/images/trailRunBackpack/cb_gatorbeav13_1.jpeg diff --git a/images/trailRunBackpack/cb_gatorbeav13_2.jpeg b/public/images/trailRunBackpack/cb_gatorbeav13_2.jpeg similarity index 100% rename from images/trailRunBackpack/cb_gatorbeav13_2.jpeg rename to public/images/trailRunBackpack/cb_gatorbeav13_2.jpeg diff --git a/images/trailRunBackpack/cb_larshehn.jpg b/public/images/trailRunBackpack/cb_larshehn.jpg similarity index 100% rename from images/trailRunBackpack/cb_larshehn.jpg rename to public/images/trailRunBackpack/cb_larshehn.jpg diff --git a/images/trailRunBackpack/cb_mchalfy.jpg b/public/images/trailRunBackpack/cb_mchalfy.jpg similarity index 100% rename from images/trailRunBackpack/cb_mchalfy.jpg rename to public/images/trailRunBackpack/cb_mchalfy.jpg diff --git a/images/trailRunBackpack/cb_offbrandpossum.jpg b/public/images/trailRunBackpack/cb_offbrandpossum.jpg similarity index 100% rename from images/trailRunBackpack/cb_offbrandpossum.jpg rename to public/images/trailRunBackpack/cb_offbrandpossum.jpg diff --git a/images/trailRunBackpack/cb_offbrandpossum2.jpg b/public/images/trailRunBackpack/cb_offbrandpossum2.jpg similarity index 100% rename from images/trailRunBackpack/cb_offbrandpossum2.jpg rename to public/images/trailRunBackpack/cb_offbrandpossum2.jpg diff --git a/images/trailRunBackpack/cb_willjhirst2.jpg b/public/images/trailRunBackpack/cb_willjhirst2.jpg similarity index 100% rename from images/trailRunBackpack/cb_willjhirst2.jpg rename to public/images/trailRunBackpack/cb_willjhirst2.jpg diff --git a/images/trailRunBackpack/cb_zonman831.jpg b/public/images/trailRunBackpack/cb_zonman831.jpg similarity index 100% rename from images/trailRunBackpack/cb_zonman831.jpg rename to public/images/trailRunBackpack/cb_zonman831.jpg diff --git a/images/trailRunBackpack/front.jpg b/public/images/trailRunBackpack/front.jpg similarity index 100% rename from images/trailRunBackpack/front.jpg rename to public/images/trailRunBackpack/front.jpg diff --git a/images/trailRunBackpack/instructions.png b/public/images/trailRunBackpack/instructions.png similarity index 100% rename from images/trailRunBackpack/instructions.png rename to public/images/trailRunBackpack/instructions.png diff --git a/images/trailRunBackpack/outside.jpg b/public/images/trailRunBackpack/outside.jpg similarity index 100% rename from images/trailRunBackpack/outside.jpg rename to public/images/trailRunBackpack/outside.jpg diff --git a/images/trailRunBackpack/patternpreview.png b/public/images/trailRunBackpack/patternpreview.png similarity index 100% rename from images/trailRunBackpack/patternpreview.png rename to public/images/trailRunBackpack/patternpreview.png diff --git a/images/trailRunBackpack/patternsnap.png b/public/images/trailRunBackpack/patternsnap.png similarity index 100% rename from images/trailRunBackpack/patternsnap.png rename to public/images/trailRunBackpack/patternsnap.png diff --git a/images/trailRunBackpack/preview.png b/public/images/trailRunBackpack/preview.png similarity index 100% rename from images/trailRunBackpack/preview.png rename to public/images/trailRunBackpack/preview.png diff --git a/images/trailRunBackpack/thumbs/DSC00389.jpg b/public/images/trailRunBackpack/thumbs/DSC00389.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/DSC00389.jpg rename to public/images/trailRunBackpack/thumbs/DSC00389.jpg diff --git a/images/trailRunBackpack/thumbs/DSC00391.jpg b/public/images/trailRunBackpack/thumbs/DSC00391.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/DSC00391.jpg rename to public/images/trailRunBackpack/thumbs/DSC00391.jpg diff --git a/images/trailRunBackpack/thumbs/DSC00396.jpg b/public/images/trailRunBackpack/thumbs/DSC00396.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/DSC00396.jpg rename to public/images/trailRunBackpack/thumbs/DSC00396.jpg diff --git a/images/trailRunBackpack/thumbs/DSC00398.jpg b/public/images/trailRunBackpack/thumbs/DSC00398.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/DSC00398.jpg rename to public/images/trailRunBackpack/thumbs/DSC00398.jpg diff --git a/images/trailRunBackpack/thumbs/IMG_E0012.jpg b/public/images/trailRunBackpack/thumbs/IMG_E0012.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/IMG_E0012.jpg rename to public/images/trailRunBackpack/thumbs/IMG_E0012.jpg diff --git a/images/trailRunBackpack/thumbs/IMG_E0013.jpg b/public/images/trailRunBackpack/thumbs/IMG_E0013.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/IMG_E0013.jpg rename to public/images/trailRunBackpack/thumbs/IMG_E0013.jpg diff --git a/images/trailRunBackpack/thumbs/IMG_E0024.jpg b/public/images/trailRunBackpack/thumbs/IMG_E0024.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/IMG_E0024.jpg rename to public/images/trailRunBackpack/thumbs/IMG_E0024.jpg diff --git a/images/trailRunBackpack/thumbs/IMG_E0033.jpg b/public/images/trailRunBackpack/thumbs/IMG_E0033.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/IMG_E0033.jpg rename to public/images/trailRunBackpack/thumbs/IMG_E0033.jpg diff --git a/images/trailRunBackpack/thumbs/cb_BearableAtBest.jpg b/public/images/trailRunBackpack/thumbs/cb_BearableAtBest.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/cb_BearableAtBest.jpg rename to public/images/trailRunBackpack/thumbs/cb_BearableAtBest.jpg diff --git a/images/trailRunBackpack/thumbs/cb_babiesarentul.jpg b/public/images/trailRunBackpack/thumbs/cb_babiesarentul.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/cb_babiesarentul.jpg rename to public/images/trailRunBackpack/thumbs/cb_babiesarentul.jpg diff --git a/images/trailRunBackpack/thumbs/cb_craderson1.jpg b/public/images/trailRunBackpack/thumbs/cb_craderson1.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/cb_craderson1.jpg rename to public/images/trailRunBackpack/thumbs/cb_craderson1.jpg diff --git a/images/trailRunBackpack/thumbs/cb_craderson2.jpg b/public/images/trailRunBackpack/thumbs/cb_craderson2.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/cb_craderson2.jpg rename to public/images/trailRunBackpack/thumbs/cb_craderson2.jpg diff --git a/images/trailRunBackpack/thumbs/cb_gatorbeav13_1.jpeg b/public/images/trailRunBackpack/thumbs/cb_gatorbeav13_1.jpeg similarity index 100% rename from images/trailRunBackpack/thumbs/cb_gatorbeav13_1.jpeg rename to public/images/trailRunBackpack/thumbs/cb_gatorbeav13_1.jpeg diff --git a/images/trailRunBackpack/thumbs/cb_gatorbeav13_2.jpeg b/public/images/trailRunBackpack/thumbs/cb_gatorbeav13_2.jpeg similarity index 100% rename from images/trailRunBackpack/thumbs/cb_gatorbeav13_2.jpeg rename to public/images/trailRunBackpack/thumbs/cb_gatorbeav13_2.jpeg diff --git a/images/trailRunBackpack/thumbs/cb_larshehn.jpg b/public/images/trailRunBackpack/thumbs/cb_larshehn.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/cb_larshehn.jpg rename to public/images/trailRunBackpack/thumbs/cb_larshehn.jpg diff --git a/images/trailRunBackpack/thumbs/cb_mchalfy.jpg b/public/images/trailRunBackpack/thumbs/cb_mchalfy.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/cb_mchalfy.jpg rename to public/images/trailRunBackpack/thumbs/cb_mchalfy.jpg diff --git a/images/trailRunBackpack/thumbs/cb_offbrandpossum.jpg b/public/images/trailRunBackpack/thumbs/cb_offbrandpossum.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/cb_offbrandpossum.jpg rename to public/images/trailRunBackpack/thumbs/cb_offbrandpossum.jpg diff --git a/images/trailRunBackpack/thumbs/cb_offbrandpossum2.jpg b/public/images/trailRunBackpack/thumbs/cb_offbrandpossum2.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/cb_offbrandpossum2.jpg rename to public/images/trailRunBackpack/thumbs/cb_offbrandpossum2.jpg diff --git a/images/trailRunBackpack/thumbs/cb_willjhirst2.jpg b/public/images/trailRunBackpack/thumbs/cb_willjhirst2.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/cb_willjhirst2.jpg rename to public/images/trailRunBackpack/thumbs/cb_willjhirst2.jpg diff --git a/images/trailRunBackpack/thumbs/cb_zonman831.jpg b/public/images/trailRunBackpack/thumbs/cb_zonman831.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/cb_zonman831.jpg rename to public/images/trailRunBackpack/thumbs/cb_zonman831.jpg diff --git a/images/trailRunBackpack/thumbs/front.jpg b/public/images/trailRunBackpack/thumbs/front.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/front.jpg rename to public/images/trailRunBackpack/thumbs/front.jpg diff --git a/images/trailRunBackpack/thumbs/instructions.png b/public/images/trailRunBackpack/thumbs/instructions.png similarity index 100% rename from images/trailRunBackpack/thumbs/instructions.png rename to public/images/trailRunBackpack/thumbs/instructions.png diff --git a/images/trailRunBackpack/thumbs/outside.jpg b/public/images/trailRunBackpack/thumbs/outside.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/outside.jpg rename to public/images/trailRunBackpack/thumbs/outside.jpg diff --git a/images/trailRunBackpack/thumbs/patternpreview.png b/public/images/trailRunBackpack/thumbs/patternpreview.png similarity index 100% rename from images/trailRunBackpack/thumbs/patternpreview.png rename to public/images/trailRunBackpack/thumbs/patternpreview.png diff --git a/images/trailRunBackpack/thumbs/patternsnap.png b/public/images/trailRunBackpack/thumbs/patternsnap.png similarity index 100% rename from images/trailRunBackpack/thumbs/patternsnap.png rename to public/images/trailRunBackpack/thumbs/patternsnap.png diff --git a/images/trailRunBackpack/thumbs/preview.png b/public/images/trailRunBackpack/thumbs/preview.png similarity index 100% rename from images/trailRunBackpack/thumbs/preview.png rename to public/images/trailRunBackpack/thumbs/preview.png diff --git a/images/trailRunBackpack/thumbs/trp1.jpg b/public/images/trailRunBackpack/thumbs/trp1.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/trp1.jpg rename to public/images/trailRunBackpack/thumbs/trp1.jpg diff --git a/images/trailRunBackpack/thumbs/trp2.jpg b/public/images/trailRunBackpack/thumbs/trp2.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/trp2.jpg rename to public/images/trailRunBackpack/thumbs/trp2.jpg diff --git a/images/trailRunBackpack/thumbs/trp3.jpg b/public/images/trailRunBackpack/thumbs/trp3.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/trp3.jpg rename to public/images/trailRunBackpack/thumbs/trp3.jpg diff --git a/images/trailRunBackpack/thumbs/trp4.jpg b/public/images/trailRunBackpack/thumbs/trp4.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/trp4.jpg rename to public/images/trailRunBackpack/thumbs/trp4.jpg diff --git a/images/trailRunBackpack/thumbs/trp5.jpg b/public/images/trailRunBackpack/thumbs/trp5.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/trp5.jpg rename to public/images/trailRunBackpack/thumbs/trp5.jpg diff --git a/images/trailRunBackpack/thumbs/trp6.jpg b/public/images/trailRunBackpack/thumbs/trp6.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/trp6.jpg rename to public/images/trailRunBackpack/thumbs/trp6.jpg diff --git a/images/trailRunBackpack/thumbs/videos/10pack assembly thumbnail.png b/public/images/trailRunBackpack/thumbs/videos/10pack assembly thumbnail.png similarity index 100% rename from images/trailRunBackpack/thumbs/videos/10pack assembly thumbnail.png rename to public/images/trailRunBackpack/thumbs/videos/10pack assembly thumbnail.png diff --git a/images/trailRunBackpack/thumbs/videos/11binding thumbnail.png b/public/images/trailRunBackpack/thumbs/videos/11binding thumbnail.png similarity index 100% rename from images/trailRunBackpack/thumbs/videos/11binding thumbnail.png rename to public/images/trailRunBackpack/thumbs/videos/11binding thumbnail.png diff --git a/images/trailRunBackpack/thumbs/videos/12finishing touches thumbnail.png b/public/images/trailRunBackpack/thumbs/videos/12finishing touches thumbnail.png similarity index 100% rename from images/trailRunBackpack/thumbs/videos/12finishing touches thumbnail.png rename to public/images/trailRunBackpack/thumbs/videos/12finishing touches thumbnail.png diff --git a/images/trailRunBackpack/thumbs/videos/13prototypecommentary.png b/public/images/trailRunBackpack/thumbs/videos/13prototypecommentary.png similarity index 100% rename from images/trailRunBackpack/thumbs/videos/13prototypecommentary.png rename to public/images/trailRunBackpack/thumbs/videos/13prototypecommentary.png diff --git a/images/trailRunBackpack/thumbs/videos/14thumbnail_trail.jpg b/public/images/trailRunBackpack/thumbs/videos/14thumbnail_trail.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/videos/14thumbnail_trail.jpg rename to public/images/trailRunBackpack/thumbs/videos/14thumbnail_trail.jpg diff --git a/images/trailRunBackpack/thumbs/videos/1Getting Started thumbnail.png b/public/images/trailRunBackpack/thumbs/videos/1Getting Started thumbnail.png similarity index 100% rename from images/trailRunBackpack/thumbs/videos/1Getting Started thumbnail.png rename to public/images/trailRunBackpack/thumbs/videos/1Getting Started thumbnail.png diff --git a/images/trailRunBackpack/thumbs/videos/2Fabric Panels thumbnail.png b/public/images/trailRunBackpack/thumbs/videos/2Fabric Panels thumbnail.png similarity index 100% rename from images/trailRunBackpack/thumbs/videos/2Fabric Panels thumbnail.png rename to public/images/trailRunBackpack/thumbs/videos/2Fabric Panels thumbnail.png diff --git a/images/trailRunBackpack/thumbs/videos/3Back Panel thumbnail.png b/public/images/trailRunBackpack/thumbs/videos/3Back Panel thumbnail.png similarity index 100% rename from images/trailRunBackpack/thumbs/videos/3Back Panel thumbnail.png rename to public/images/trailRunBackpack/thumbs/videos/3Back Panel thumbnail.png diff --git a/images/trailRunBackpack/thumbs/videos/4Main Body thumbnail.png b/public/images/trailRunBackpack/thumbs/videos/4Main Body thumbnail.png similarity index 100% rename from images/trailRunBackpack/thumbs/videos/4Main Body thumbnail.png rename to public/images/trailRunBackpack/thumbs/videos/4Main Body thumbnail.png diff --git a/images/trailRunBackpack/thumbs/videos/5Curved Darts thumbnail.png b/public/images/trailRunBackpack/thumbs/videos/5Curved Darts thumbnail.png similarity index 100% rename from images/trailRunBackpack/thumbs/videos/5Curved Darts thumbnail.png rename to public/images/trailRunBackpack/thumbs/videos/5Curved Darts thumbnail.png diff --git a/images/trailRunBackpack/thumbs/videos/6D Ring and Hydrop Port thumbnail.png b/public/images/trailRunBackpack/thumbs/videos/6D Ring and Hydrop Port thumbnail.png similarity index 100% rename from images/trailRunBackpack/thumbs/videos/6D Ring and Hydrop Port thumbnail.png rename to public/images/trailRunBackpack/thumbs/videos/6D Ring and Hydrop Port thumbnail.png diff --git a/images/trailRunBackpack/thumbs/videos/7top collar thumbnail.png b/public/images/trailRunBackpack/thumbs/videos/7top collar thumbnail.png similarity index 100% rename from images/trailRunBackpack/thumbs/videos/7top collar thumbnail.png rename to public/images/trailRunBackpack/thumbs/videos/7top collar thumbnail.png diff --git a/images/trailRunBackpack/thumbs/videos/8vest part 1 thumbnail.png b/public/images/trailRunBackpack/thumbs/videos/8vest part 1 thumbnail.png similarity index 100% rename from images/trailRunBackpack/thumbs/videos/8vest part 1 thumbnail.png rename to public/images/trailRunBackpack/thumbs/videos/8vest part 1 thumbnail.png diff --git a/images/trailRunBackpack/thumbs/videos/9vest part 2 thumbnail.png b/public/images/trailRunBackpack/thumbs/videos/9vest part 2 thumbnail.png similarity index 100% rename from images/trailRunBackpack/thumbs/videos/9vest part 2 thumbnail.png rename to public/images/trailRunBackpack/thumbs/videos/9vest part 2 thumbnail.png diff --git a/images/trailRunBackpack/thumbs/wing.jpg b/public/images/trailRunBackpack/thumbs/wing.jpg similarity index 100% rename from images/trailRunBackpack/thumbs/wing.jpg rename to public/images/trailRunBackpack/thumbs/wing.jpg diff --git a/images/trailRunBackpack/trp1.jpg b/public/images/trailRunBackpack/trp1.jpg similarity index 100% rename from images/trailRunBackpack/trp1.jpg rename to public/images/trailRunBackpack/trp1.jpg diff --git a/images/trailRunBackpack/trp2.jpg b/public/images/trailRunBackpack/trp2.jpg similarity index 100% rename from images/trailRunBackpack/trp2.jpg rename to public/images/trailRunBackpack/trp2.jpg diff --git a/images/trailRunBackpack/trp3.jpg b/public/images/trailRunBackpack/trp3.jpg similarity index 100% rename from images/trailRunBackpack/trp3.jpg rename to public/images/trailRunBackpack/trp3.jpg diff --git a/images/trailRunBackpack/trp4.jpg b/public/images/trailRunBackpack/trp4.jpg similarity index 100% rename from images/trailRunBackpack/trp4.jpg rename to public/images/trailRunBackpack/trp4.jpg diff --git a/images/trailRunBackpack/trp5.jpg b/public/images/trailRunBackpack/trp5.jpg similarity index 100% rename from images/trailRunBackpack/trp5.jpg rename to public/images/trailRunBackpack/trp5.jpg diff --git a/images/trailRunBackpack/trp6.jpg b/public/images/trailRunBackpack/trp6.jpg similarity index 100% rename from images/trailRunBackpack/trp6.jpg rename to public/images/trailRunBackpack/trp6.jpg diff --git a/images/trailRunBackpack/wing.jpg b/public/images/trailRunBackpack/wing.jpg similarity index 100% rename from images/trailRunBackpack/wing.jpg rename to public/images/trailRunBackpack/wing.jpg diff --git a/images/uzip/thumbs/uzip1.jpg b/public/images/uzip/thumbs/uzip1.jpg similarity index 100% rename from images/uzip/thumbs/uzip1.jpg rename to public/images/uzip/thumbs/uzip1.jpg diff --git a/images/uzip/thumbs/uzip3.jpg b/public/images/uzip/thumbs/uzip3.jpg similarity index 100% rename from images/uzip/thumbs/uzip3.jpg rename to public/images/uzip/thumbs/uzip3.jpg diff --git a/images/uzip/thumbs/uzip4.jpg b/public/images/uzip/thumbs/uzip4.jpg similarity index 100% rename from images/uzip/thumbs/uzip4.jpg rename to public/images/uzip/thumbs/uzip4.jpg diff --git a/images/uzip/thumbs/uzip5.jpg b/public/images/uzip/thumbs/uzip5.jpg similarity index 100% rename from images/uzip/thumbs/uzip5.jpg rename to public/images/uzip/thumbs/uzip5.jpg diff --git a/images/uzip/thumbs/uzip6.jpg b/public/images/uzip/thumbs/uzip6.jpg similarity index 100% rename from images/uzip/thumbs/uzip6.jpg rename to public/images/uzip/thumbs/uzip6.jpg diff --git a/images/uzip/thumbs/uzip7.jpg b/public/images/uzip/thumbs/uzip7.jpg similarity index 100% rename from images/uzip/thumbs/uzip7.jpg rename to public/images/uzip/thumbs/uzip7.jpg diff --git a/images/uzip/uzip1.jpg b/public/images/uzip/uzip1.jpg similarity index 100% rename from images/uzip/uzip1.jpg rename to public/images/uzip/uzip1.jpg diff --git a/images/uzip/uzip3.jpg b/public/images/uzip/uzip3.jpg similarity index 100% rename from images/uzip/uzip3.jpg rename to public/images/uzip/uzip3.jpg diff --git a/images/uzip/uzip4.jpg b/public/images/uzip/uzip4.jpg similarity index 100% rename from images/uzip/uzip4.jpg rename to public/images/uzip/uzip4.jpg diff --git a/images/uzip/uzip5.jpg b/public/images/uzip/uzip5.jpg similarity index 100% rename from images/uzip/uzip5.jpg rename to public/images/uzip/uzip5.jpg diff --git a/images/uzip/uzip6.jpg b/public/images/uzip/uzip6.jpg similarity index 100% rename from images/uzip/uzip6.jpg rename to public/images/uzip/uzip6.jpg diff --git a/images/uzip/uzip7.jpg b/public/images/uzip/uzip7.jpg similarity index 100% rename from images/uzip/uzip7.jpg rename to public/images/uzip/uzip7.jpg diff --git a/images/windshell/communitybuildplaceholder.png b/public/images/windshell/communitybuildplaceholder.png similarity index 100% rename from images/windshell/communitybuildplaceholder.png rename to public/images/windshell/communitybuildplaceholder.png diff --git a/images/windshell/front.jpg b/public/images/windshell/front.jpg similarity index 100% rename from images/windshell/front.jpg rename to public/images/windshell/front.jpg diff --git a/images/windshell/hero.jpg b/public/images/windshell/hero.jpg similarity index 100% rename from images/windshell/hero.jpg rename to public/images/windshell/hero.jpg diff --git a/images/windshell/instructionspreview.png b/public/images/windshell/instructionspreview.png similarity index 100% rename from images/windshell/instructionspreview.png rename to public/images/windshell/instructionspreview.png diff --git a/images/windshell/patternpreview.png b/public/images/windshell/patternpreview.png similarity index 100% rename from images/windshell/patternpreview.png rename to public/images/windshell/patternpreview.png diff --git a/images/windshell/pullover.jpg b/public/images/windshell/pullover.jpg similarity index 100% rename from images/windshell/pullover.jpg rename to public/images/windshell/pullover.jpg diff --git a/images/windshell/thumbs/communitybuildplaceholder.png b/public/images/windshell/thumbs/communitybuildplaceholder.png similarity index 100% rename from images/windshell/thumbs/communitybuildplaceholder.png rename to public/images/windshell/thumbs/communitybuildplaceholder.png diff --git a/images/windshell/thumbs/front.jpg b/public/images/windshell/thumbs/front.jpg similarity index 100% rename from images/windshell/thumbs/front.jpg rename to public/images/windshell/thumbs/front.jpg diff --git a/images/windshell/thumbs/hero.jpg b/public/images/windshell/thumbs/hero.jpg similarity index 100% rename from images/windshell/thumbs/hero.jpg rename to public/images/windshell/thumbs/hero.jpg diff --git a/images/windshell/thumbs/instructionspreview.png b/public/images/windshell/thumbs/instructionspreview.png similarity index 100% rename from images/windshell/thumbs/instructionspreview.png rename to public/images/windshell/thumbs/instructionspreview.png diff --git a/images/windshell/thumbs/patternpreview.png b/public/images/windshell/thumbs/patternpreview.png similarity index 100% rename from images/windshell/thumbs/patternpreview.png rename to public/images/windshell/thumbs/patternpreview.png diff --git a/images/windshell/thumbs/weight.jpg b/public/images/windshell/thumbs/weight.jpg similarity index 100% rename from images/windshell/thumbs/weight.jpg rename to public/images/windshell/thumbs/weight.jpg diff --git a/images/windshell/thumbs/wind1.jpg b/public/images/windshell/thumbs/wind1.jpg similarity index 100% rename from images/windshell/thumbs/wind1.jpg rename to public/images/windshell/thumbs/wind1.jpg diff --git a/images/windshell/thumbs/wind2.jpg b/public/images/windshell/thumbs/wind2.jpg similarity index 100% rename from images/windshell/thumbs/wind2.jpg rename to public/images/windshell/thumbs/wind2.jpg diff --git a/images/windshell/thumbs/wind3.jpg b/public/images/windshell/thumbs/wind3.jpg similarity index 100% rename from images/windshell/thumbs/wind3.jpg rename to public/images/windshell/thumbs/wind3.jpg diff --git a/images/windshell/thumbs/wind4.jpg b/public/images/windshell/thumbs/wind4.jpg similarity index 100% rename from images/windshell/thumbs/wind4.jpg rename to public/images/windshell/thumbs/wind4.jpg diff --git a/images/windshell/thumbs/wind5.jpg b/public/images/windshell/thumbs/wind5.jpg similarity index 100% rename from images/windshell/thumbs/wind5.jpg rename to public/images/windshell/thumbs/wind5.jpg diff --git a/images/windshell/thumbs/wind6.jpg b/public/images/windshell/thumbs/wind6.jpg similarity index 100% rename from images/windshell/thumbs/wind6.jpg rename to public/images/windshell/thumbs/wind6.jpg diff --git a/images/windshell/weight.jpg b/public/images/windshell/weight.jpg similarity index 100% rename from images/windshell/weight.jpg rename to public/images/windshell/weight.jpg diff --git a/images/windshell/wind1.jpg b/public/images/windshell/wind1.jpg similarity index 100% rename from images/windshell/wind1.jpg rename to public/images/windshell/wind1.jpg diff --git a/images/windshell/wind2.jpg b/public/images/windshell/wind2.jpg similarity index 100% rename from images/windshell/wind2.jpg rename to public/images/windshell/wind2.jpg diff --git a/images/windshell/wind3.jpg b/public/images/windshell/wind3.jpg similarity index 100% rename from images/windshell/wind3.jpg rename to public/images/windshell/wind3.jpg diff --git a/images/windshell/wind4.jpg b/public/images/windshell/wind4.jpg similarity index 100% rename from images/windshell/wind4.jpg rename to public/images/windshell/wind4.jpg diff --git a/images/windshell/wind5.jpg b/public/images/windshell/wind5.jpg similarity index 100% rename from images/windshell/wind5.jpg rename to public/images/windshell/wind5.jpg diff --git a/images/windshell/wind6.jpg b/public/images/windshell/wind6.jpg similarity index 100% rename from images/windshell/wind6.jpg rename to public/images/windshell/wind6.jpg diff --git a/images/windshell/windshell.jpg b/public/images/windshell/windshell.jpg similarity index 100% rename from images/windshell/windshell.jpg rename to public/images/windshell/windshell.jpg diff --git a/images/windshell/windshell.png b/public/images/windshell/windshell.png similarity index 100% rename from images/windshell/windshell.png rename to public/images/windshell/windshell.png diff --git a/images/windshell2/build/step1.2.jpg b/public/images/windshell2/build/step1.2.jpg similarity index 100% rename from images/windshell2/build/step1.2.jpg rename to public/images/windshell2/build/step1.2.jpg diff --git a/images/windshell2/build/step10.1.jpg b/public/images/windshell2/build/step10.1.jpg similarity index 100% rename from images/windshell2/build/step10.1.jpg rename to public/images/windshell2/build/step10.1.jpg diff --git a/images/windshell2/build/step10.3.jpg b/public/images/windshell2/build/step10.3.jpg similarity index 100% rename from images/windshell2/build/step10.3.jpg rename to public/images/windshell2/build/step10.3.jpg diff --git a/images/windshell2/build/step11.3.jpg b/public/images/windshell2/build/step11.3.jpg similarity index 100% rename from images/windshell2/build/step11.3.jpg rename to public/images/windshell2/build/step11.3.jpg diff --git a/images/windshell2/build/step11.6.jpg b/public/images/windshell2/build/step11.6.jpg similarity index 100% rename from images/windshell2/build/step11.6.jpg rename to public/images/windshell2/build/step11.6.jpg diff --git a/images/windshell2/build/step2.2.jpg b/public/images/windshell2/build/step2.2.jpg similarity index 100% rename from images/windshell2/build/step2.2.jpg rename to public/images/windshell2/build/step2.2.jpg diff --git a/images/windshell2/build/step2.3.jpg b/public/images/windshell2/build/step2.3.jpg similarity index 100% rename from images/windshell2/build/step2.3.jpg rename to public/images/windshell2/build/step2.3.jpg diff --git a/images/windshell2/build/step2.4.jpg b/public/images/windshell2/build/step2.4.jpg similarity index 100% rename from images/windshell2/build/step2.4.jpg rename to public/images/windshell2/build/step2.4.jpg diff --git a/images/windshell2/build/step2.5.jpg b/public/images/windshell2/build/step2.5.jpg similarity index 100% rename from images/windshell2/build/step2.5.jpg rename to public/images/windshell2/build/step2.5.jpg diff --git a/images/windshell2/build/step2.6.jpg b/public/images/windshell2/build/step2.6.jpg similarity index 100% rename from images/windshell2/build/step2.6.jpg rename to public/images/windshell2/build/step2.6.jpg diff --git a/images/windshell2/build/step3.1.jpg b/public/images/windshell2/build/step3.1.jpg similarity index 100% rename from images/windshell2/build/step3.1.jpg rename to public/images/windshell2/build/step3.1.jpg diff --git a/images/windshell2/build/step3.2.jpg b/public/images/windshell2/build/step3.2.jpg similarity index 100% rename from images/windshell2/build/step3.2.jpg rename to public/images/windshell2/build/step3.2.jpg diff --git a/images/windshell2/build/step3.4.jpg b/public/images/windshell2/build/step3.4.jpg similarity index 100% rename from images/windshell2/build/step3.4.jpg rename to public/images/windshell2/build/step3.4.jpg diff --git a/images/windshell2/build/step3.5.jpg b/public/images/windshell2/build/step3.5.jpg similarity index 100% rename from images/windshell2/build/step3.5.jpg rename to public/images/windshell2/build/step3.5.jpg diff --git a/images/windshell2/build/step3.6.jpg b/public/images/windshell2/build/step3.6.jpg similarity index 100% rename from images/windshell2/build/step3.6.jpg rename to public/images/windshell2/build/step3.6.jpg diff --git a/images/windshell2/build/step3.7.jpg b/public/images/windshell2/build/step3.7.jpg similarity index 100% rename from images/windshell2/build/step3.7.jpg rename to public/images/windshell2/build/step3.7.jpg diff --git a/images/windshell2/build/step3.8.jpg b/public/images/windshell2/build/step3.8.jpg similarity index 100% rename from images/windshell2/build/step3.8.jpg rename to public/images/windshell2/build/step3.8.jpg diff --git a/images/windshell2/build/step3.9.jpg b/public/images/windshell2/build/step3.9.jpg similarity index 100% rename from images/windshell2/build/step3.9.jpg rename to public/images/windshell2/build/step3.9.jpg diff --git a/images/windshell2/build/step4.1.jpg b/public/images/windshell2/build/step4.1.jpg similarity index 100% rename from images/windshell2/build/step4.1.jpg rename to public/images/windshell2/build/step4.1.jpg diff --git a/images/windshell2/build/step4.2.jpg b/public/images/windshell2/build/step4.2.jpg similarity index 100% rename from images/windshell2/build/step4.2.jpg rename to public/images/windshell2/build/step4.2.jpg diff --git a/images/windshell2/build/step4.3.jpg b/public/images/windshell2/build/step4.3.jpg similarity index 100% rename from images/windshell2/build/step4.3.jpg rename to public/images/windshell2/build/step4.3.jpg diff --git a/images/windshell2/build/step4.4.jpg b/public/images/windshell2/build/step4.4.jpg similarity index 100% rename from images/windshell2/build/step4.4.jpg rename to public/images/windshell2/build/step4.4.jpg diff --git a/images/windshell2/build/step6.1.jpg b/public/images/windshell2/build/step6.1.jpg similarity index 100% rename from images/windshell2/build/step6.1.jpg rename to public/images/windshell2/build/step6.1.jpg diff --git a/images/windshell2/build/step6.2.jpg b/public/images/windshell2/build/step6.2.jpg similarity index 100% rename from images/windshell2/build/step6.2.jpg rename to public/images/windshell2/build/step6.2.jpg diff --git a/images/windshell2/build/step6.4.jpg b/public/images/windshell2/build/step6.4.jpg similarity index 100% rename from images/windshell2/build/step6.4.jpg rename to public/images/windshell2/build/step6.4.jpg diff --git a/images/windshell2/build/step6.5.jpg b/public/images/windshell2/build/step6.5.jpg similarity index 100% rename from images/windshell2/build/step6.5.jpg rename to public/images/windshell2/build/step6.5.jpg diff --git a/images/windshell2/build/step7.2.jpg b/public/images/windshell2/build/step7.2.jpg similarity index 100% rename from images/windshell2/build/step7.2.jpg rename to public/images/windshell2/build/step7.2.jpg diff --git a/images/windshell2/build/step7.3.jpg b/public/images/windshell2/build/step7.3.jpg similarity index 100% rename from images/windshell2/build/step7.3.jpg rename to public/images/windshell2/build/step7.3.jpg diff --git a/images/windshell2/build/step7.5.jpg b/public/images/windshell2/build/step7.5.jpg similarity index 100% rename from images/windshell2/build/step7.5.jpg rename to public/images/windshell2/build/step7.5.jpg diff --git a/images/windshell2/build/step7.7.jpg b/public/images/windshell2/build/step7.7.jpg similarity index 100% rename from images/windshell2/build/step7.7.jpg rename to public/images/windshell2/build/step7.7.jpg diff --git a/images/windshell2/build/step8.1.jpg b/public/images/windshell2/build/step8.1.jpg similarity index 100% rename from images/windshell2/build/step8.1.jpg rename to public/images/windshell2/build/step8.1.jpg diff --git a/images/windshell2/build/step8.2.jpg b/public/images/windshell2/build/step8.2.jpg similarity index 100% rename from images/windshell2/build/step8.2.jpg rename to public/images/windshell2/build/step8.2.jpg diff --git a/images/windshell2/build/step8.3.jpg b/public/images/windshell2/build/step8.3.jpg similarity index 100% rename from images/windshell2/build/step8.3.jpg rename to public/images/windshell2/build/step8.3.jpg diff --git a/images/windshell2/build/step9.1.jpg b/public/images/windshell2/build/step9.1.jpg similarity index 100% rename from images/windshell2/build/step9.1.jpg rename to public/images/windshell2/build/step9.1.jpg diff --git a/images/windshell2/build/step9.3.jpg b/public/images/windshell2/build/step9.3.jpg similarity index 100% rename from images/windshell2/build/step9.3.jpg rename to public/images/windshell2/build/step9.3.jpg diff --git a/images/windshell2/build/step9.4.jpg b/public/images/windshell2/build/step9.4.jpg similarity index 100% rename from images/windshell2/build/step9.4.jpg rename to public/images/windshell2/build/step9.4.jpg diff --git a/images/windshell2/build/thumbs/step1.2.jpg b/public/images/windshell2/build/thumbs/step1.2.jpg similarity index 100% rename from images/windshell2/build/thumbs/step1.2.jpg rename to public/images/windshell2/build/thumbs/step1.2.jpg diff --git a/images/windshell2/build/thumbs/step10.1.jpg b/public/images/windshell2/build/thumbs/step10.1.jpg similarity index 100% rename from images/windshell2/build/thumbs/step10.1.jpg rename to public/images/windshell2/build/thumbs/step10.1.jpg diff --git a/images/windshell2/build/thumbs/step10.3.jpg b/public/images/windshell2/build/thumbs/step10.3.jpg similarity index 100% rename from images/windshell2/build/thumbs/step10.3.jpg rename to public/images/windshell2/build/thumbs/step10.3.jpg diff --git a/images/windshell2/build/thumbs/step11.3.jpg b/public/images/windshell2/build/thumbs/step11.3.jpg similarity index 100% rename from images/windshell2/build/thumbs/step11.3.jpg rename to public/images/windshell2/build/thumbs/step11.3.jpg diff --git a/images/windshell2/build/thumbs/step11.6.jpg b/public/images/windshell2/build/thumbs/step11.6.jpg similarity index 100% rename from images/windshell2/build/thumbs/step11.6.jpg rename to public/images/windshell2/build/thumbs/step11.6.jpg diff --git a/images/windshell2/build/thumbs/step2.2.jpg b/public/images/windshell2/build/thumbs/step2.2.jpg similarity index 100% rename from images/windshell2/build/thumbs/step2.2.jpg rename to public/images/windshell2/build/thumbs/step2.2.jpg diff --git a/images/windshell2/build/thumbs/step2.3.jpg b/public/images/windshell2/build/thumbs/step2.3.jpg similarity index 100% rename from images/windshell2/build/thumbs/step2.3.jpg rename to public/images/windshell2/build/thumbs/step2.3.jpg diff --git a/images/windshell2/build/thumbs/step2.4.jpg b/public/images/windshell2/build/thumbs/step2.4.jpg similarity index 100% rename from images/windshell2/build/thumbs/step2.4.jpg rename to public/images/windshell2/build/thumbs/step2.4.jpg diff --git a/images/windshell2/build/thumbs/step2.5.jpg b/public/images/windshell2/build/thumbs/step2.5.jpg similarity index 100% rename from images/windshell2/build/thumbs/step2.5.jpg rename to public/images/windshell2/build/thumbs/step2.5.jpg diff --git a/images/windshell2/build/thumbs/step2.6.jpg b/public/images/windshell2/build/thumbs/step2.6.jpg similarity index 100% rename from images/windshell2/build/thumbs/step2.6.jpg rename to public/images/windshell2/build/thumbs/step2.6.jpg diff --git a/images/windshell2/build/thumbs/step3.1.jpg b/public/images/windshell2/build/thumbs/step3.1.jpg similarity index 100% rename from images/windshell2/build/thumbs/step3.1.jpg rename to public/images/windshell2/build/thumbs/step3.1.jpg diff --git a/images/windshell2/build/thumbs/step3.2.jpg b/public/images/windshell2/build/thumbs/step3.2.jpg similarity index 100% rename from images/windshell2/build/thumbs/step3.2.jpg rename to public/images/windshell2/build/thumbs/step3.2.jpg diff --git a/images/windshell2/build/thumbs/step3.4.jpg b/public/images/windshell2/build/thumbs/step3.4.jpg similarity index 100% rename from images/windshell2/build/thumbs/step3.4.jpg rename to public/images/windshell2/build/thumbs/step3.4.jpg diff --git a/images/windshell2/build/thumbs/step3.5.jpg b/public/images/windshell2/build/thumbs/step3.5.jpg similarity index 100% rename from images/windshell2/build/thumbs/step3.5.jpg rename to public/images/windshell2/build/thumbs/step3.5.jpg diff --git a/images/windshell2/build/thumbs/step3.6.jpg b/public/images/windshell2/build/thumbs/step3.6.jpg similarity index 100% rename from images/windshell2/build/thumbs/step3.6.jpg rename to public/images/windshell2/build/thumbs/step3.6.jpg diff --git a/images/windshell2/build/thumbs/step3.7.jpg b/public/images/windshell2/build/thumbs/step3.7.jpg similarity index 100% rename from images/windshell2/build/thumbs/step3.7.jpg rename to public/images/windshell2/build/thumbs/step3.7.jpg diff --git a/images/windshell2/build/thumbs/step3.8.jpg b/public/images/windshell2/build/thumbs/step3.8.jpg similarity index 100% rename from images/windshell2/build/thumbs/step3.8.jpg rename to public/images/windshell2/build/thumbs/step3.8.jpg diff --git a/images/windshell2/build/thumbs/step3.9.jpg b/public/images/windshell2/build/thumbs/step3.9.jpg similarity index 100% rename from images/windshell2/build/thumbs/step3.9.jpg rename to public/images/windshell2/build/thumbs/step3.9.jpg diff --git a/images/windshell2/build/thumbs/step4.1.jpg b/public/images/windshell2/build/thumbs/step4.1.jpg similarity index 100% rename from images/windshell2/build/thumbs/step4.1.jpg rename to public/images/windshell2/build/thumbs/step4.1.jpg diff --git a/images/windshell2/build/thumbs/step4.2.jpg b/public/images/windshell2/build/thumbs/step4.2.jpg similarity index 100% rename from images/windshell2/build/thumbs/step4.2.jpg rename to public/images/windshell2/build/thumbs/step4.2.jpg diff --git a/images/windshell2/build/thumbs/step4.3.jpg b/public/images/windshell2/build/thumbs/step4.3.jpg similarity index 100% rename from images/windshell2/build/thumbs/step4.3.jpg rename to public/images/windshell2/build/thumbs/step4.3.jpg diff --git a/images/windshell2/build/thumbs/step4.4.jpg b/public/images/windshell2/build/thumbs/step4.4.jpg similarity index 100% rename from images/windshell2/build/thumbs/step4.4.jpg rename to public/images/windshell2/build/thumbs/step4.4.jpg diff --git a/images/windshell2/build/thumbs/step6.1.jpg b/public/images/windshell2/build/thumbs/step6.1.jpg similarity index 100% rename from images/windshell2/build/thumbs/step6.1.jpg rename to public/images/windshell2/build/thumbs/step6.1.jpg diff --git a/images/windshell2/build/thumbs/step6.2.jpg b/public/images/windshell2/build/thumbs/step6.2.jpg similarity index 100% rename from images/windshell2/build/thumbs/step6.2.jpg rename to public/images/windshell2/build/thumbs/step6.2.jpg diff --git a/images/windshell2/build/thumbs/step6.4.jpg b/public/images/windshell2/build/thumbs/step6.4.jpg similarity index 100% rename from images/windshell2/build/thumbs/step6.4.jpg rename to public/images/windshell2/build/thumbs/step6.4.jpg diff --git a/images/windshell2/build/thumbs/step6.5.jpg b/public/images/windshell2/build/thumbs/step6.5.jpg similarity index 100% rename from images/windshell2/build/thumbs/step6.5.jpg rename to public/images/windshell2/build/thumbs/step6.5.jpg diff --git a/images/windshell2/build/thumbs/step7.2.jpg b/public/images/windshell2/build/thumbs/step7.2.jpg similarity index 100% rename from images/windshell2/build/thumbs/step7.2.jpg rename to public/images/windshell2/build/thumbs/step7.2.jpg diff --git a/images/windshell2/build/thumbs/step7.3.jpg b/public/images/windshell2/build/thumbs/step7.3.jpg similarity index 100% rename from images/windshell2/build/thumbs/step7.3.jpg rename to public/images/windshell2/build/thumbs/step7.3.jpg diff --git a/images/windshell2/build/thumbs/step7.5.jpg b/public/images/windshell2/build/thumbs/step7.5.jpg similarity index 100% rename from images/windshell2/build/thumbs/step7.5.jpg rename to public/images/windshell2/build/thumbs/step7.5.jpg diff --git a/images/windshell2/build/thumbs/step7.7.jpg b/public/images/windshell2/build/thumbs/step7.7.jpg similarity index 100% rename from images/windshell2/build/thumbs/step7.7.jpg rename to public/images/windshell2/build/thumbs/step7.7.jpg diff --git a/images/windshell2/build/thumbs/step8.1.jpg b/public/images/windshell2/build/thumbs/step8.1.jpg similarity index 100% rename from images/windshell2/build/thumbs/step8.1.jpg rename to public/images/windshell2/build/thumbs/step8.1.jpg diff --git a/images/windshell2/build/thumbs/step8.2.jpg b/public/images/windshell2/build/thumbs/step8.2.jpg similarity index 100% rename from images/windshell2/build/thumbs/step8.2.jpg rename to public/images/windshell2/build/thumbs/step8.2.jpg diff --git a/images/windshell2/build/thumbs/step8.3.jpg b/public/images/windshell2/build/thumbs/step8.3.jpg similarity index 100% rename from images/windshell2/build/thumbs/step8.3.jpg rename to public/images/windshell2/build/thumbs/step8.3.jpg diff --git a/images/windshell2/build/thumbs/step9.1.jpg b/public/images/windshell2/build/thumbs/step9.1.jpg similarity index 100% rename from images/windshell2/build/thumbs/step9.1.jpg rename to public/images/windshell2/build/thumbs/step9.1.jpg diff --git a/images/windshell2/build/thumbs/step9.3.jpg b/public/images/windshell2/build/thumbs/step9.3.jpg similarity index 100% rename from images/windshell2/build/thumbs/step9.3.jpg rename to public/images/windshell2/build/thumbs/step9.3.jpg diff --git a/images/windshell2/build/thumbs/step9.4.jpg b/public/images/windshell2/build/thumbs/step9.4.jpg similarity index 100% rename from images/windshell2/build/thumbs/step9.4.jpg rename to public/images/windshell2/build/thumbs/step9.4.jpg diff --git a/images/windshell2/card.jpg b/public/images/windshell2/card.jpg similarity index 100% rename from images/windshell2/card.jpg rename to public/images/windshell2/card.jpg diff --git a/images/windshell2/coverart.jpg b/public/images/windshell2/coverart.jpg similarity index 100% rename from images/windshell2/coverart.jpg rename to public/images/windshell2/coverart.jpg diff --git a/images/windshell2/hyperd.jpg b/public/images/windshell2/hyperd.jpg similarity index 100% rename from images/windshell2/hyperd.jpg rename to public/images/windshell2/hyperd.jpg diff --git a/images/windshell2/instructionsample.jpg b/public/images/windshell2/instructionsample.jpg similarity index 100% rename from images/windshell2/instructionsample.jpg rename to public/images/windshell2/instructionsample.jpg diff --git a/images/windshell2/packable.jpg b/public/images/windshell2/packable.jpg similarity index 100% rename from images/windshell2/packable.jpg rename to public/images/windshell2/packable.jpg diff --git a/images/windshell2/patternview.jpg b/public/images/windshell2/patternview.jpg similarity index 100% rename from images/windshell2/patternview.jpg rename to public/images/windshell2/patternview.jpg diff --git a/images/windshell2/pocket.jpg b/public/images/windshell2/pocket.jpg similarity index 100% rename from images/windshell2/pocket.jpg rename to public/images/windshell2/pocket.jpg diff --git a/images/windshell2/pocket2.jpg b/public/images/windshell2/pocket2.jpg similarity index 100% rename from images/windshell2/pocket2.jpg rename to public/images/windshell2/pocket2.jpg diff --git a/images/windshell2/thumbs/card.jpg b/public/images/windshell2/thumbs/card.jpg similarity index 100% rename from images/windshell2/thumbs/card.jpg rename to public/images/windshell2/thumbs/card.jpg diff --git a/images/windshell2/thumbs/coverart.jpg b/public/images/windshell2/thumbs/coverart.jpg similarity index 100% rename from images/windshell2/thumbs/coverart.jpg rename to public/images/windshell2/thumbs/coverart.jpg diff --git a/images/windshell2/thumbs/hyperd.jpg b/public/images/windshell2/thumbs/hyperd.jpg similarity index 100% rename from images/windshell2/thumbs/hyperd.jpg rename to public/images/windshell2/thumbs/hyperd.jpg diff --git a/images/windshell2/thumbs/instructionsample.jpg b/public/images/windshell2/thumbs/instructionsample.jpg similarity index 100% rename from images/windshell2/thumbs/instructionsample.jpg rename to public/images/windshell2/thumbs/instructionsample.jpg diff --git a/images/windshell2/thumbs/packable.jpg b/public/images/windshell2/thumbs/packable.jpg similarity index 100% rename from images/windshell2/thumbs/packable.jpg rename to public/images/windshell2/thumbs/packable.jpg diff --git a/images/windshell2/thumbs/patternview.jpg b/public/images/windshell2/thumbs/patternview.jpg similarity index 100% rename from images/windshell2/thumbs/patternview.jpg rename to public/images/windshell2/thumbs/patternview.jpg diff --git a/images/windshell2/thumbs/pocket.jpg b/public/images/windshell2/thumbs/pocket.jpg similarity index 100% rename from images/windshell2/thumbs/pocket.jpg rename to public/images/windshell2/thumbs/pocket.jpg diff --git a/images/windshell2/thumbs/pocket2.jpg b/public/images/windshell2/thumbs/pocket2.jpg similarity index 100% rename from images/windshell2/thumbs/pocket2.jpg rename to public/images/windshell2/thumbs/pocket2.jpg diff --git a/images/windshell2/thumbs/ulwindshell.jpg b/public/images/windshell2/thumbs/ulwindshell.jpg similarity index 100% rename from images/windshell2/thumbs/ulwindshell.jpg rename to public/images/windshell2/thumbs/ulwindshell.jpg diff --git a/images/windshell2/thumbs/ulwindshellonscale.jpg b/public/images/windshell2/thumbs/ulwindshellonscale.jpg similarity index 100% rename from images/windshell2/thumbs/ulwindshellonscale.jpg rename to public/images/windshell2/thumbs/ulwindshellonscale.jpg diff --git a/images/windshell2/thumbs/ulwindshellrear.jpg b/public/images/windshell2/thumbs/ulwindshellrear.jpg similarity index 100% rename from images/windshell2/thumbs/ulwindshellrear.jpg rename to public/images/windshell2/thumbs/ulwindshellrear.jpg diff --git a/images/windshell2/ulwindshell.jpg b/public/images/windshell2/ulwindshell.jpg similarity index 100% rename from images/windshell2/ulwindshell.jpg rename to public/images/windshell2/ulwindshell.jpg diff --git a/images/windshell2/ulwindshellonscale.jpg b/public/images/windshell2/ulwindshellonscale.jpg similarity index 100% rename from images/windshell2/ulwindshellonscale.jpg rename to public/images/windshell2/ulwindshellonscale.jpg diff --git a/images/windshell2/ulwindshellrear.jpg b/public/images/windshell2/ulwindshellrear.jpg similarity index 100% rename from images/windshell2/ulwindshellrear.jpg rename to public/images/windshell2/ulwindshellrear.jpg diff --git a/images/zipsack/ykkZipper.jpg b/public/images/zipsack/ykkZipper.jpg similarity index 100% rename from images/zipsack/ykkZipper.jpg rename to public/images/zipsack/ykkZipper.jpg diff --git a/images/zipsack/zipInstr1.png b/public/images/zipsack/zipInstr1.png similarity index 100% rename from images/zipsack/zipInstr1.png rename to public/images/zipsack/zipInstr1.png diff --git a/images/zipsack/zipInstr2.png b/public/images/zipsack/zipInstr2.png similarity index 100% rename from images/zipsack/zipInstr2.png rename to public/images/zipsack/zipInstr2.png diff --git a/images/zipsack/zipInstr3.png b/public/images/zipsack/zipInstr3.png similarity index 100% rename from images/zipsack/zipInstr3.png rename to public/images/zipsack/zipInstr3.png diff --git a/images/zipsack/zipInstr4.png b/public/images/zipsack/zipInstr4.png similarity index 100% rename from images/zipsack/zipInstr4.png rename to public/images/zipsack/zipInstr4.png diff --git a/images/zipsack/zipPouchPattern.png b/public/images/zipsack/zipPouchPattern.png similarity index 100% rename from images/zipsack/zipPouchPattern.png rename to public/images/zipsack/zipPouchPattern.png diff --git a/images/zipsack/zipPouchPlan.png b/public/images/zipsack/zipPouchPlan.png similarity index 100% rename from images/zipsack/zipPouchPlan.png rename to public/images/zipsack/zipPouchPlan.png diff --git a/images/zipsack/zipSackCompleted.jpg b/public/images/zipsack/zipSackCompleted.jpg similarity index 100% rename from images/zipsack/zipSackCompleted.jpg rename to public/images/zipsack/zipSackCompleted.jpg diff --git a/pulloverHoodie.html b/public/pulloverHoodie.html similarity index 100% rename from pulloverHoodie.html rename to public/pulloverHoodie.html diff --git a/rolltopsack.html b/public/rolltopsack.html similarity index 100% rename from rolltopsack.html rename to public/rolltopsack.html diff --git a/runningBelt.html b/public/runningBelt.html similarity index 100% rename from runningBelt.html rename to public/runningBelt.html diff --git a/shares/hikerWallet_29Dec19_01.pdf b/public/shares/hikerWallet_29Dec19_01.pdf similarity index 100% rename from shares/hikerWallet_29Dec19_01.pdf rename to public/shares/hikerWallet_29Dec19_01.pdf diff --git a/shares/pattern_template.svg b/public/shares/pattern_template.svg similarity index 100% rename from shares/pattern_template.svg rename to public/shares/pattern_template.svg diff --git a/shares/topTubeSnackBag_31Dec19_01.pdf b/public/shares/topTubeSnackBag_31Dec19_01.pdf similarity index 100% rename from shares/topTubeSnackBag_31Dec19_01.pdf rename to public/shares/topTubeSnackBag_31Dec19_01.pdf diff --git a/sketchSheet.html b/public/sketchSheet.html similarity index 100% rename from sketchSheet.html rename to public/sketchSheet.html diff --git a/stuffsack.html b/public/stuffsack.html similarity index 100% rename from stuffsack.html rename to public/stuffsack.html diff --git a/trailRunningBackpack.html b/public/trailRunningBackpack.html similarity index 100% rename from trailRunningBackpack.html rename to public/trailRunningBackpack.html diff --git a/uzip.html b/public/uzip.html similarity index 100% rename from uzip.html rename to public/uzip.html diff --git a/windshell.html b/public/windshell.html similarity index 100% rename from windshell.html rename to public/windshell.html diff --git a/zerotohero.html b/public/zerotohero.html similarity index 100% rename from zerotohero.html rename to public/zerotohero.html diff --git a/src/assets/css/main.css b/src/assets/css/main.css new file mode 100644 index 0000000..a031409 --- /dev/null +++ b/src/assets/css/main.css @@ -0,0 +1,9088 @@ +@import url(video.css); +/*@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300i,400,400i");*/ +@import url("https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,300;0,400;0,700;0,900;1,300;1,400;1,700;1,900&display=swap"); + +/* + Story by HTML5 UP + html5up.net | @ajlkn + Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +*/ + +:root { + /* Challenge Colors */ + --learnmyog-purple: #3d3846ff; + --dark-purple: #312744ff; + --prussian-blue: #133653ff; + --green-mountain: #2a3d37ff; + --bright-navy-blue: #1874ddff; + --viridian-green: #019aa5ff; + --sunglow: #ffcc37ff; + --pearly-purple: #b063aaff; + --magenta-dye: #d0046fff; + --silver-bullet: #c2c1c2ff; + --barn-red: #4e0d0fff; + --army-olive: #433818ff; + --key-lime: #c5d929ff; + --blue-wave: #375466ff; + --avocado: #696f31ff; + --bronze: #936621; + + /* Original Html5 colors */ + --story-teal: rgb(71, 211, 229); + --darkerprimary: rgb(30, 189, 209); /*used for button.primary:active */ + --banneraccent: rgb(99, 121, 119); /*paired with original sewing banner*/ + + /* Variable Colors */ + --banner: var(--learnmyog-purple); /* changes with colorswitcher.js */ + --spotlight: var( + --silver-bullet + ); /* was #bbb changes with colorswitcher.js */ + --primary: var(--banner); /*link and button hover color */ + --primary-shadow: rgba(49, 39, 68, 0.2); + --discount: rgba(71, 211, 229, 0.2); + --overlay: var(--primary); /* changes with colorswitcher.js */ + --footer-invert: rgba(32, 28, 38, 1); +} + +html, +body, +div, +span, +applet, +object, +iframe, +h1, +h2, +h3, +h4, +h5, +h6, +p, +blockquote, +pre, +a, +abbr, +acronym, +address, +big, +cite, +code, +del, +dfn, +em, +img, +ins, +kbd, +q, +s, +samp, +small, +strike, +strong, +sub, +sup, +tt, +var, +b, +u, +i, +center, +dl, +dt, +dd, +ol, +ul, +li, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td, +article, +aside, +canvas, +details, +embed, +figure, +figcaption, +footer, +header, +hgroup, +menu, +nav, +output, +ruby, +section, +summary, +time, +mark, +audio, +video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +menu, +nav, +section { + display: block; +} + +body { + line-height: 1; + background-color: var(--primary); +} + +ol, +ul { + list-style: none; +} + +blockquote, +q { + quotes: none; +} + +blockquote:before, +blockquote:after, +q:before, +q:after { + content: ""; + content: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +body { + -webkit-text-size-adjust: none; +} + +mark { + background-color: transparent; + color: inherit; +} + +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +input, +select, +textarea { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; +} + +/* Basic */ + +@-ms-viewport { + width: device-width; +} + +body { + -ms-overflow-style: scrollbar; +} + +@media screen and (max-width: 480px) { + html, + body { + min-width: 320px; + } +} + +html { + box-sizing: border-box; + scroll-behavior: smooth; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +body { + background: #ffffff; +} + +body.is-preload *, +body.is-preload *:before, +body.is-preload *:after { + -moz-animation: none !important; + -webkit-animation: none !important; + -ms-animation: none !important; + animation: none !important; + -moz-transition: none !important; + -webkit-transition: none !important; + -ms-transition: none !important; + transition: none !important; +} + +/* Type */ + +html { + font-size: 18pt; +} + +@media screen and (max-width: 1680px) { + html { + font-size: 14pt; + } +} + +@media screen and (max-width: 1280px) { + html { + font-size: 12pt; + } +} + +@media screen and (max-width: 736px) { + html { + font-size: 11pt; + } +} + +@media screen and (max-width: 360px) { + html { + font-size: 10pt; + } +} + +body { + background-color: var(--primary); + color: #000000; +} + +body, +input, +select, +textarea { + font-family: "Source Sans Pro", Helvetica, sans-serif; + font-size: 1rem; + font-weight: 300; + line-height: 1.65; +} + +a { + -moz-transition: color 0.2s ease-in-out; + -webkit-transition: color 0.2s ease-in-out; + -ms-transition: color 0.2s ease-in-out; + transition: color 0.2s ease-in-out; + text-decoration: underline; +} + +a:hover { + text-decoration: none; +} + +strong, +b { + font-weight: 400; +} + +em, +i { + font-style: italic; +} + +p { + margin: 0 0 2rem 0; +} + +p.major { + font-size: 1.25rem; +} + +p.discount { + border-radius: 4px; + font-size: 0.9rem; + text-align: center; + padding: 0.25rem 0.325rem; +} + +p.disclosure { + border: 1px solid gray; + padding: 0.2rem; + color: gray; + font-size: 0.7rem; + text-transform: uppercase; +} + +span.gray { + color: transparent; + text-shadow: 0 0 0 lightgray; +} + +span.label { + display: none; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: 300; + line-height: 1.375; + letter-spacing: -0.05em; + margin: 0 0 1rem 0; +} + +h1 a, +h2 a, +h3 a, +h4 a, +h5 a, +h6 a { + color: inherit; + text-decoration: none; +} + +h1 { + font-size: 3.5rem; + line-height: 1.2; +} + +h2 { + font-size: 2.25rem; +} + +h3 { + font-size: 1.5rem; +} + +h4 { + font-size: 1.1rem; +} + +h5 { + font-size: 0.9rem; +} + +h6 { + font-size: 0.7rem; +} + +.little-headers h1 { + font-size: 2.25rem; +} + +.little-headers h2 { + font-size: 1.5rem; +} + +.little-headers h3 { + font-size: 1.1rem; +} + +sub { + font-size: 0.8rem; + position: relative; + top: 0.5rem; +} + +sup { + font-size: 0.8rem; + position: relative; + top: -0.5rem; +} + +blockquote { + border-left: solid 4px; + font-style: italic; + margin: 0 0 2rem 0; + padding: 0.5rem 0 0.5rem 2rem; +} + +code { + border-radius: 4px; + font-family: "Courier New", monospace; + font-size: 0.9em; + margin: 0 0.25rem; + padding: 0.25rem 0.325rem; +} + +pre { + -webkit-overflow-scrolling: touch; + font-family: "Courier New", monospace; + font-size: 0.9em; + margin: 0 0 2rem 0; +} + +pre code { + display: block; + line-height: 1.5; + padding: 0.75rem 1rem; + overflow-x: auto; +} + +hr { + border: 0; + border-bottom: solid 1px; + margin: 1.5rem 0; +} + +hr.major { + margin: 2.5rem 0; +} + +.align-left { + text-align: left; +} + +.align-center { + text-align: center; +} + +.align-right { + text-align: right; +} + +@media screen and (max-width: 736px) { + p.major { + font-size: 1.1rem; + } + + h1 { + font-size: 2.5rem; + } + + h2 { + font-size: 2rem; + } + + h3 { + font-size: 1.25rem; + } + + h4 { + font-size: 1rem; + } +} + +input, +select, +textarea { + color: #000000; +} +/* link colors */ +a { + color: #000000; +} + +a:hover { + color: var(--primary); +} + +strong, +b { + color: #000000; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + color: #000000; +} + +blockquote { + border-left-color: rgba(0, 0, 0, 0.2); +} + +code { + background: rgba(0, 0, 0, 0.05); + border-color: rgba(0, 0, 0, 0.2); +} + +p.discount { + background: var(--discount); + border-color: var(--discount); +} + +hr { + border-bottom-color: rgba(0, 0, 0, 0.2); +} + +/* Row */ + +.row { + display: flex; + flex-wrap: wrap; + box-sizing: border-box; + align-items: stretch; +} + +.row > * { + box-sizing: border-box; +} + +.row.gtr-uniform > * > :last-child { + margin-bottom: 0; +} + +.row.aln-left { + justify-content: flex-start; +} + +.row.aln-center { + justify-content: center; +} + +.row.aln-right { + justify-content: flex-end; +} + +.row.aln-top { + align-items: flex-start; +} + +.row.aln-middle { + align-items: center; +} + +.row.aln-bottom { + align-items: flex-end; +} + +.row > .imp { + order: -1; +} + +.row > .col-1 { + width: 8.33333%; +} + +.row > .off-1 { + margin-left: 8.33333%; +} + +.row > .col-2 { + width: 16.66667%; +} + +.row > .off-2 { + margin-left: 16.66667%; +} + +.row > .col-3 { + width: 25%; +} + +.row > .off-3 { + margin-left: 25%; +} + +.row > .col-4 { + width: 33.33333%; +} + +.row > .off-4 { + margin-left: 33.33333%; +} + +.row > .col-5 { + width: 41.66667%; +} + +.row > .off-5 { + margin-left: 41.66667%; +} + +.row > .col-6 { + width: 50%; +} + +.row > .off-6 { + margin-left: 50%; +} + +.row > .col-7 { + width: 58.33333%; +} + +.row > .off-7 { + margin-left: 58.33333%; +} + +.row > .col-8 { + width: 66.66667%; +} + +.row > .off-8 { + margin-left: 66.66667%; +} + +.row > .col-9 { + width: 75%; +} + +.row > .off-9 { + margin-left: 75%; +} + +.row > .col-10 { + width: 83.33333%; +} + +.row > .off-10 { + margin-left: 83.33333%; +} + +.row > .col-11 { + width: 91.66667%; +} + +.row > .off-11 { + margin-left: 91.66667%; +} + +.row > .col-12 { + width: 100%; +} + +.row > .off-12 { + margin-left: 100%; +} + +.row.gtr-0 { + margin-top: 0; + margin-left: 0rem; +} + +.row.gtr-0 > * { + padding: 0 0 0 0rem; +} + +.row.gtr-0.gtr-uniform { + margin-top: 0rem; +} + +.row.gtr-0.gtr-uniform > * { + padding-top: 0rem; +} + +.row.gtr-25 { + margin-top: 0; + margin-left: -0.5rem; +} + +.row.gtr-25 > * { + padding: 0 0 0 0.5rem; +} + +.row.gtr-25.gtr-uniform { + margin-top: -0.5rem; +} + +.row.gtr-25.gtr-uniform > * { + padding-top: 0.5rem; +} + +.row.gtr-50 { + margin-top: 0; + margin-left: -1rem; +} + +.row.gtr-50 > * { + padding: 0 0 0 1rem; +} + +.row.gtr-50.gtr-uniform { + margin-top: -1rem; +} + +.row.gtr-50.gtr-uniform > * { + padding-top: 1rem; +} + +.row { + margin-top: 0; + margin-left: -2rem; +} + +.row > * { + padding: 0 0 0 2rem; +} + +.row.gtr-uniform { + margin-top: -2rem; +} + +.row.gtr-uniform > * { + padding-top: 2rem; +} + +.row.gtr-150 { + margin-top: 0; + margin-left: -3rem; +} + +.row.gtr-150 > * { + padding: 0 0 0 3rem; +} + +.row.gtr-150.gtr-uniform { + margin-top: -3rem; +} + +.row.gtr-150.gtr-uniform > * { + padding-top: 3rem; +} + +.row.gtr-200 { + margin-top: 0; + margin-left: -4rem; +} + +.row.gtr-200 > * { + padding: 0 0 0 4rem; +} + +.row.gtr-200.gtr-uniform { + margin-top: -4rem; +} + +.row.gtr-200.gtr-uniform > * { + padding-top: 4rem; +} + +@media screen and (max-width: 1680px) { + .row { + display: flex; + flex-wrap: wrap; + box-sizing: border-box; + align-items: stretch; + } + + .row > * { + box-sizing: border-box; + } + + .row.gtr-uniform > * > :last-child { + margin-bottom: 0; + } + + .row.aln-left { + justify-content: flex-start; + } + + .row.aln-center { + justify-content: center; + } + + .row.aln-right { + justify-content: flex-end; + } + + .row.aln-top { + align-items: flex-start; + } + + .row.aln-middle { + align-items: center; + } + + .row.aln-bottom { + align-items: flex-end; + } + + .row > .imp-xlarge { + order: -1; + } + + .row > .col-1-xlarge { + width: 8.33333%; + } + + .row > .off-1-xlarge { + margin-left: 8.33333%; + } + + .row > .col-2-xlarge { + width: 16.66667%; + } + + .row > .off-2-xlarge { + margin-left: 16.66667%; + } + + .row > .col-3-xlarge { + width: 25%; + } + + .row > .off-3-xlarge { + margin-left: 25%; + } + + .row > .col-4-xlarge { + width: 33.33333%; + } + + .row > .off-4-xlarge { + margin-left: 33.33333%; + } + + .row > .col-5-xlarge { + width: 41.66667%; + } + + .row > .off-5-xlarge { + margin-left: 41.66667%; + } + + .row > .col-6-xlarge { + width: 50%; + } + + .row > .off-6-xlarge { + margin-left: 50%; + } + + .row > .col-7-xlarge { + width: 58.33333%; + } + + .row > .off-7-xlarge { + margin-left: 58.33333%; + } + + .row > .col-8-xlarge { + width: 66.66667%; + } + + .row > .off-8-xlarge { + margin-left: 66.66667%; + } + + .row > .col-9-xlarge { + width: 75%; + } + + .row > .off-9-xlarge { + margin-left: 75%; + } + + .row > .col-10-xlarge { + width: 83.33333%; + } + + .row > .off-10-xlarge { + margin-left: 83.33333%; + } + + .row > .col-11-xlarge { + width: 91.66667%; + } + + .row > .off-11-xlarge { + margin-left: 91.66667%; + } + + .row > .col-12-xlarge { + width: 100%; + } + + .row > .off-12-xlarge { + margin-left: 100%; + } + + .row.gtr-0 { + margin-top: 0; + margin-left: 0rem; + } + + .row.gtr-0 > * { + padding: 0 0 0 0rem; + } + + .row.gtr-0.gtr-uniform { + margin-top: 0rem; + } + + .row.gtr-0.gtr-uniform > * { + padding-top: 0rem; + } + + .row.gtr-25 { + margin-top: 0; + margin-left: -0.5rem; + } + + .row.gtr-25 > * { + padding: 0 0 0 0.5rem; + } + + .row.gtr-25.gtr-uniform { + margin-top: -0.5rem; + } + + .row.gtr-25.gtr-uniform > * { + padding-top: 0.5rem; + } + + .row.gtr-50 { + margin-top: 0; + margin-left: -1rem; + } + + .row.gtr-50 > * { + padding: 0 0 0 1rem; + } + + .row.gtr-50.gtr-uniform { + margin-top: -1rem; + } + + .row.gtr-50.gtr-uniform > * { + padding-top: 1rem; + } + + .row { + margin-top: 0; + margin-left: -2rem; + } + + .row > * { + padding: 0 0 0 2rem; + } + + .row.gtr-uniform { + margin-top: -2rem; + } + + .row.gtr-uniform > * { + padding-top: 2rem; + } + + .row.gtr-150 { + margin-top: 0; + margin-left: -3rem; + } + + .row.gtr-150 > * { + padding: 0 0 0 3rem; + } + + .row.gtr-150.gtr-uniform { + margin-top: -3rem; + } + + .row.gtr-150.gtr-uniform > * { + padding-top: 3rem; + } + + .row.gtr-200 { + margin-top: 0; + margin-left: -4rem; + } + + .row.gtr-200 > * { + padding: 0 0 0 4rem; + } + + .row.gtr-200.gtr-uniform { + margin-top: -4rem; + } + + .row.gtr-200.gtr-uniform > * { + padding-top: 4rem; + } +} + +@media screen and (max-width: 1280px) { + .row { + display: flex; + flex-wrap: wrap; + box-sizing: border-box; + align-items: stretch; + } + + .row > * { + box-sizing: border-box; + } + + .row.gtr-uniform > * > :last-child { + margin-bottom: 0; + } + + .row.aln-left { + justify-content: flex-start; + } + + .row.aln-center { + justify-content: center; + } + + .row.aln-right { + justify-content: flex-end; + } + + .row.aln-top { + align-items: flex-start; + } + + .row.aln-middle { + align-items: center; + } + + .row.aln-bottom { + align-items: flex-end; + } + + .row > .imp-large { + order: -1; + } + + .row > .col-1-large { + width: 8.33333%; + } + + .row > .off-1-large { + margin-left: 8.33333%; + } + + .row > .col-2-large { + width: 16.66667%; + } + + .row > .off-2-large { + margin-left: 16.66667%; + } + + .row > .col-3-large { + width: 25%; + } + + .row > .off-3-large { + margin-left: 25%; + } + + .row > .col-4-large { + width: 33.33333%; + } + + .row > .off-4-large { + margin-left: 33.33333%; + } + + .row > .col-5-large { + width: 41.66667%; + } + + .row > .off-5-large { + margin-left: 41.66667%; + } + + .row > .col-6-large { + width: 50%; + } + + .row > .off-6-large { + margin-left: 50%; + } + + .row > .col-7-large { + width: 58.33333%; + } + + .row > .off-7-large { + margin-left: 58.33333%; + } + + .row > .col-8-large { + width: 66.66667%; + } + + .row > .off-8-large { + margin-left: 66.66667%; + } + + .row > .col-9-large { + width: 75%; + } + + .row > .off-9-large { + margin-left: 75%; + } + + .row > .col-10-large { + width: 83.33333%; + } + + .row > .off-10-large { + margin-left: 83.33333%; + } + + .row > .col-11-large { + width: 91.66667%; + } + + .row > .off-11-large { + margin-left: 91.66667%; + } + + .row > .col-12-large { + width: 100%; + } + + .row > .off-12-large { + margin-left: 100%; + } + + .row.gtr-0 { + margin-top: 0; + margin-left: 0rem; + } + + .row.gtr-0 > * { + padding: 0 0 0 0rem; + } + + .row.gtr-0.gtr-uniform { + margin-top: 0rem; + } + + .row.gtr-0.gtr-uniform > * { + padding-top: 0rem; + } + + .row.gtr-25 { + margin-top: 0; + margin-left: -0.5rem; + } + + .row.gtr-25 > * { + padding: 0 0 0 0.5rem; + } + + .row.gtr-25.gtr-uniform { + margin-top: -0.5rem; + } + + .row.gtr-25.gtr-uniform > * { + padding-top: 0.5rem; + } + + .row.gtr-50 { + margin-top: 0; + margin-left: -1rem; + } + + .row.gtr-50 > * { + padding: 0 0 0 1rem; + } + + .row.gtr-50.gtr-uniform { + margin-top: -1rem; + } + + .row.gtr-50.gtr-uniform > * { + padding-top: 1rem; + } + + .row { + margin-top: 0; + margin-left: -2rem; + } + + .row > * { + padding: 0 0 0 2rem; + } + + .row.gtr-uniform { + margin-top: -2rem; + } + + .row.gtr-uniform > * { + padding-top: 2rem; + } + + .row.gtr-150 { + margin-top: 0; + margin-left: -3rem; + } + + .row.gtr-150 > * { + padding: 0 0 0 3rem; + } + + .row.gtr-150.gtr-uniform { + margin-top: -3rem; + } + + .row.gtr-150.gtr-uniform > * { + padding-top: 3rem; + } + + .row.gtr-200 { + margin-top: 0; + margin-left: -4rem; + } + + .row.gtr-200 > * { + padding: 0 0 0 4rem; + } + + .row.gtr-200.gtr-uniform { + margin-top: -4rem; + } + + .row.gtr-200.gtr-uniform > * { + padding-top: 4rem; + } +} + +@media screen and (max-width: 980px) { + .row { + display: flex; + flex-wrap: wrap; + box-sizing: border-box; + align-items: stretch; + } + + .row > * { + box-sizing: border-box; + } + + .row.gtr-uniform > * > :last-child { + margin-bottom: 0; + } + + .row.aln-left { + justify-content: flex-start; + } + + .row.aln-center { + justify-content: center; + } + + .row.aln-right { + justify-content: flex-end; + } + + .row.aln-top { + align-items: flex-start; + } + + .row.aln-middle { + align-items: center; + } + + .row.aln-bottom { + align-items: flex-end; + } + + .row > .imp-medium { + order: -1; + } + + .row > .col-1-medium { + width: 8.33333%; + } + + .row > .off-1-medium { + margin-left: 8.33333%; + } + + .row > .col-2-medium { + width: 16.66667%; + } + + .row > .off-2-medium { + margin-left: 16.66667%; + } + + .row > .col-3-medium { + width: 25%; + } + + .row > .off-3-medium { + margin-left: 25%; + } + + .row > .col-4-medium { + width: 33.33333%; + } + + .row > .off-4-medium { + margin-left: 33.33333%; + } + + .row > .col-5-medium { + width: 41.66667%; + } + + .row > .off-5-medium { + margin-left: 41.66667%; + } + + .row > .col-6-medium { + width: 50%; + } + + .row > .off-6-medium { + margin-left: 50%; + } + + .row > .col-7-medium { + width: 58.33333%; + } + + .row > .off-7-medium { + margin-left: 58.33333%; + } + + .row > .col-8-medium { + width: 66.66667%; + } + + .row > .off-8-medium { + margin-left: 66.66667%; + } + + .row > .col-9-medium { + width: 75%; + } + + .row > .off-9-medium { + margin-left: 75%; + } + + .row > .col-10-medium { + width: 83.33333%; + } + + .row > .off-10-medium { + margin-left: 83.33333%; + } + + .row > .col-11-medium { + width: 91.66667%; + } + + .row > .off-11-medium { + margin-left: 91.66667%; + } + + .row > .col-12-medium { + width: 100%; + } + + .row > .off-12-medium { + margin-left: 100%; + } + + .row.gtr-0 { + margin-top: 0; + margin-left: 0rem; + } + + .row.gtr-0 > * { + padding: 0 0 0 0rem; + } + + .row.gtr-0.gtr-uniform { + margin-top: 0rem; + } + + .row.gtr-0.gtr-uniform > * { + padding-top: 0rem; + } + + .row.gtr-25 { + margin-top: 0; + margin-left: -0.5rem; + } + + .row.gtr-25 > * { + padding: 0 0 0 0.5rem; + } + + .row.gtr-25.gtr-uniform { + margin-top: -0.5rem; + } + + .row.gtr-25.gtr-uniform > * { + padding-top: 0.5rem; + } + + .row.gtr-50 { + margin-top: 0; + margin-left: -1rem; + } + + .row.gtr-50 > * { + padding: 0 0 0 1rem; + } + + .row.gtr-50.gtr-uniform { + margin-top: -1rem; + } + + .row.gtr-50.gtr-uniform > * { + padding-top: 1rem; + } + + .row { + margin-top: 0; + margin-left: -2rem; + } + + .row > * { + padding: 0 0 0 2rem; + } + + .row.gtr-uniform { + margin-top: -2rem; + } + + .row.gtr-uniform > * { + padding-top: 2rem; + } + + .row.gtr-150 { + margin-top: 0; + margin-left: -3rem; + } + + .row.gtr-150 > * { + padding: 0 0 0 3rem; + } + + .row.gtr-150.gtr-uniform { + margin-top: -3rem; + } + + .row.gtr-150.gtr-uniform > * { + padding-top: 3rem; + } + + .row.gtr-200 { + margin-top: 0; + margin-left: -4rem; + } + + .row.gtr-200 > * { + padding: 0 0 0 4rem; + } + + .row.gtr-200.gtr-uniform { + margin-top: -4rem; + } + + .row.gtr-200.gtr-uniform > * { + padding-top: 4rem; + } +} + +@media screen and (max-width: 736px) { + .row { + display: flex; + flex-wrap: wrap; + box-sizing: border-box; + align-items: stretch; + } + + .row > * { + box-sizing: border-box; + } + + .row.gtr-uniform > * > :last-child { + margin-bottom: 0; + } + + .row.aln-left { + justify-content: flex-start; + } + + .row.aln-center { + justify-content: center; + } + + .row.aln-right { + justify-content: flex-end; + } + + .row.aln-top { + align-items: flex-start; + } + + .row.aln-middle { + align-items: center; + } + + .row.aln-bottom { + align-items: flex-end; + } + + .row > .imp-small { + order: -1; + } + + .row > .col-1-small { + width: 8.33333%; + } + + .row > .off-1-small { + margin-left: 8.33333%; + } + + .row > .col-2-small { + width: 16.66667%; + } + + .row > .off-2-small { + margin-left: 16.66667%; + } + + .row > .col-3-small { + width: 25%; + } + + .row > .off-3-small { + margin-left: 25%; + } + + .row > .col-4-small { + width: 33.33333%; + } + + .row > .off-4-small { + margin-left: 33.33333%; + } + + .row > .col-5-small { + width: 41.66667%; + } + + .row > .off-5-small { + margin-left: 41.66667%; + } + + .row > .col-6-small { + width: 50%; + } + + .row > .off-6-small { + margin-left: 50%; + } + + .row > .col-7-small { + width: 58.33333%; + } + + .row > .off-7-small { + margin-left: 58.33333%; + } + + .row > .col-8-small { + width: 66.66667%; + } + + .row > .off-8-small { + margin-left: 66.66667%; + } + + .row > .col-9-small { + width: 75%; + } + + .row > .off-9-small { + margin-left: 75%; + } + + .row > .col-10-small { + width: 83.33333%; + } + + .row > .off-10-small { + margin-left: 83.33333%; + } + + .row > .col-11-small { + width: 91.66667%; + } + + .row > .off-11-small { + margin-left: 91.66667%; + } + + .row > .col-12-small { + width: 100%; + } + + .row > .off-12-small { + margin-left: 100%; + } + + .row.gtr-0 { + margin-top: 0; + margin-left: 0rem; + } + + .row.gtr-0 > * { + padding: 0 0 0 0rem; + } + + .row.gtr-0.gtr-uniform { + margin-top: 0rem; + } + + .row.gtr-0.gtr-uniform > * { + padding-top: 0rem; + } + + .row.gtr-25 { + margin-top: 0; + margin-left: -0.5rem; + } + + .row.gtr-25 > * { + padding: 0 0 0 0.5rem; + } + + .row.gtr-25.gtr-uniform { + margin-top: -0.5rem; + } + + .row.gtr-25.gtr-uniform > * { + padding-top: 0.5rem; + } + + .row.gtr-50 { + margin-top: 0; + margin-left: -1rem; + } + + .row.gtr-50 > * { + padding: 0 0 0 1rem; + } + + .row.gtr-50.gtr-uniform { + margin-top: -1rem; + } + + .row.gtr-50.gtr-uniform > * { + padding-top: 1rem; + } + + .row { + margin-top: 0; + margin-left: -2rem; + } + + .row > * { + padding: 0 0 0 2rem; + } + + .row.gtr-uniform { + margin-top: -2rem; + } + + .row.gtr-uniform > * { + padding-top: 2rem; + } + + .row.gtr-150 { + margin-top: 0; + margin-left: -3rem; + } + + .row.gtr-150 > * { + padding: 0 0 0 3rem; + } + + .row.gtr-150.gtr-uniform { + margin-top: -3rem; + } + + .row.gtr-150.gtr-uniform > * { + padding-top: 3rem; + } + + .row.gtr-200 { + margin-top: 0; + margin-left: -4rem; + } + + .row.gtr-200 > * { + padding: 0 0 0 4rem; + } + + .row.gtr-200.gtr-uniform { + margin-top: -4rem; + } + + .row.gtr-200.gtr-uniform > * { + padding-top: 4rem; + } +} + +@media screen and (max-width: 480px) { + .row { + display: flex; + flex-wrap: wrap; + box-sizing: border-box; + align-items: stretch; + } + + .row > * { + box-sizing: border-box; + } + + .row.gtr-uniform > * > :last-child { + margin-bottom: 0; + } + + .row.aln-left { + justify-content: flex-start; + } + + .row.aln-center { + justify-content: center; + } + + .row.aln-right { + justify-content: flex-end; + } + + .row.aln-top { + align-items: flex-start; + } + + .row.aln-middle { + align-items: center; + } + + .row.aln-bottom { + align-items: flex-end; + } + + .row > .imp-xsmall { + order: -1; + } + + .row > .col-1-xsmall { + width: 8.33333%; + } + + .row > .off-1-xsmall { + margin-left: 8.33333%; + } + + .row > .col-2-xsmall { + width: 16.66667%; + } + + .row > .off-2-xsmall { + margin-left: 16.66667%; + } + + .row > .col-3-xsmall { + width: 25%; + } + + .row > .off-3-xsmall { + margin-left: 25%; + } + + .row > .col-4-xsmall { + width: 33.33333%; + } + + .row > .off-4-xsmall { + margin-left: 33.33333%; + } + + .row > .col-5-xsmall { + width: 41.66667%; + } + + .row > .off-5-xsmall { + margin-left: 41.66667%; + } + + .row > .col-6-xsmall { + width: 50%; + } + + .row > .off-6-xsmall { + margin-left: 50%; + } + + .row > .col-7-xsmall { + width: 58.33333%; + } + + .row > .off-7-xsmall { + margin-left: 58.33333%; + } + + .row > .col-8-xsmall { + width: 66.66667%; + } + + .row > .off-8-xsmall { + margin-left: 66.66667%; + } + + .row > .col-9-xsmall { + width: 75%; + } + + .row > .off-9-xsmall { + margin-left: 75%; + } + + .row > .col-10-xsmall { + width: 83.33333%; + } + + .row > .off-10-xsmall { + margin-left: 83.33333%; + } + + .row > .col-11-xsmall { + width: 91.66667%; + } + + .row > .off-11-xsmall { + margin-left: 91.66667%; + } + + .row > .col-12-xsmall { + width: 100%; + } + + .row > .off-12-xsmall { + margin-left: 100%; + } + + .row.gtr-0 { + margin-top: 0; + margin-left: 0rem; + } + + .row.gtr-0 > * { + padding: 0 0 0 0rem; + } + + .row.gtr-0.gtr-uniform { + margin-top: 0rem; + } + + .row.gtr-0.gtr-uniform > * { + padding-top: 0rem; + } + + .row.gtr-25 { + margin-top: 0; + margin-left: -0.5rem; + } + + .row.gtr-25 > * { + padding: 0 0 0 0.5rem; + } + + .row.gtr-25.gtr-uniform { + margin-top: -0.5rem; + } + + .row.gtr-25.gtr-uniform > * { + padding-top: 0.5rem; + } + + .row.gtr-50 { + margin-top: 0; + margin-left: -1rem; + } + + .row.gtr-50 > * { + padding: 0 0 0 1rem; + } + + .row.gtr-50.gtr-uniform { + margin-top: -1rem; + } + + .row.gtr-50.gtr-uniform > * { + padding-top: 1rem; + } + + .row { + margin-top: 0; + margin-left: -2rem; + } + + .row > * { + padding: 0 0 0 2rem; + } + + .row.gtr-uniform { + margin-top: -2rem; + } + + .row.gtr-uniform > * { + padding-top: 2rem; + } + + .row.gtr-150 { + margin-top: 0; + margin-left: -3rem; + } + + .row.gtr-150 > * { + padding: 0 0 0 3rem; + } + + .row.gtr-150.gtr-uniform { + margin-top: -3rem; + } + + .row.gtr-150.gtr-uniform > * { + padding-top: 3rem; + } + + .row.gtr-200 { + margin-top: 0; + margin-left: -4rem; + } + + .row.gtr-200 > * { + padding: 0 0 0 4rem; + } + + .row.gtr-200.gtr-uniform { + margin-top: -4rem; + } + + .row.gtr-200.gtr-uniform > * { + padding-top: 4rem; + } +} + +@media screen and (max-width: 360px) { + .row { + display: flex; + flex-wrap: wrap; + box-sizing: border-box; + align-items: stretch; + } + + .row > * { + box-sizing: border-box; + } + + .row.gtr-uniform > * > :last-child { + margin-bottom: 0; + } + + .row.aln-left { + justify-content: flex-start; + } + + .row.aln-center { + justify-content: center; + } + + .row.aln-right { + justify-content: flex-end; + } + + .row.aln-top { + align-items: flex-start; + } + + .row.aln-middle { + align-items: center; + } + + .row.aln-bottom { + align-items: flex-end; + } + + .row > .imp-xxsmall { + order: -1; + } + + .row > .col-1-xxsmall { + width: 8.33333%; + } + + .row > .off-1-xxsmall { + margin-left: 8.33333%; + } + + .row > .col-2-xxsmall { + width: 16.66667%; + } + + .row > .off-2-xxsmall { + margin-left: 16.66667%; + } + + .row > .col-3-xxsmall { + width: 25%; + } + + .row > .off-3-xxsmall { + margin-left: 25%; + } + + .row > .col-4-xxsmall { + width: 33.33333%; + } + + .row > .off-4-xxsmall { + margin-left: 33.33333%; + } + + .row > .col-5-xxsmall { + width: 41.66667%; + } + + .row > .off-5-xxsmall { + margin-left: 41.66667%; + } + + .row > .col-6-xxsmall { + width: 50%; + } + + .row > .off-6-xxsmall { + margin-left: 50%; + } + + .row > .col-7-xxsmall { + width: 58.33333%; + } + + .row > .off-7-xxsmall { + margin-left: 58.33333%; + } + + .row > .col-8-xxsmall { + width: 66.66667%; + } + + .row > .off-8-xxsmall { + margin-left: 66.66667%; + } + + .row > .col-9-xxsmall { + width: 75%; + } + + .row > .off-9-xxsmall { + margin-left: 75%; + } + + .row > .col-10-xxsmall { + width: 83.33333%; + } + + .row > .off-10-xxsmall { + margin-left: 83.33333%; + } + + .row > .col-11-xxsmall { + width: 91.66667%; + } + + .row > .off-11-xxsmall { + margin-left: 91.66667%; + } + + .row > .col-12-xxsmall { + width: 100%; + } + + .row > .off-12-xxsmall { + margin-left: 100%; + } + + .row.gtr-0 { + margin-top: 0; + margin-left: 0rem; + } + + .row.gtr-0 > * { + padding: 0 0 0 0rem; + } + + .row.gtr-0.gtr-uniform { + margin-top: 0rem; + } + + .row.gtr-0.gtr-uniform > * { + padding-top: 0rem; + } + + .row.gtr-25 { + margin-top: 0; + margin-left: -0.5rem; + } + + .row.gtr-25 > * { + padding: 0 0 0 0.5rem; + } + + .row.gtr-25.gtr-uniform { + margin-top: -0.5rem; + } + + .row.gtr-25.gtr-uniform > * { + padding-top: 0.5rem; + } + + .row.gtr-50 { + margin-top: 0; + margin-left: -1rem; + } + + .row.gtr-50 > * { + padding: 0 0 0 1rem; + } + + .row.gtr-50.gtr-uniform { + margin-top: -1rem; + } + + .row.gtr-50.gtr-uniform > * { + padding-top: 1rem; + } + + .row { + margin-top: 0; + margin-left: -2rem; + } + + .row > * { + padding: 0 0 0 2rem; + } + + .row.gtr-uniform { + margin-top: -2rem; + } + + .row.gtr-uniform > * { + padding-top: 2rem; + } + + .row.gtr-150 { + margin-top: 0; + margin-left: -3rem; + } + + .row.gtr-150 > * { + padding: 0 0 0 3rem; + } + + .row.gtr-150.gtr-uniform { + margin-top: -3rem; + } + + .row.gtr-150.gtr-uniform > * { + padding-top: 3rem; + } + + .row.gtr-200 { + margin-top: 0; + margin-left: -4rem; + } + + .row.gtr-200 > * { + padding: 0 0 0 4rem; + } + + .row.gtr-200.gtr-uniform { + margin-top: -4rem; + } + + .row.gtr-200.gtr-uniform > * { + padding-top: 4rem; + } +} + +/* Box */ + +.box { + border-radius: 4px; + border: solid 1px; + margin-bottom: 2rem; + padding: 1.5rem; +} + +.box > :last-child, +.box > :last-child > :last-child, +.box > :last-child > :last-child > :last-child { + margin-bottom: 0; +} + +.box.alt { + border: 0; + border-radius: 0; + padding: 0; +} + +.box { + border-color: rgba(0, 0, 0, 0.2); +} + +/* Nav */ +.spotlight-color { + background-color: var(--spotlight) !important; + color: white !important; +} + +#nav ul { + display: flex; + flex: 1; + list-style: none; + justify-content: center; + margin: 0; + padding: 0; +} + +#nav li.links { + display: inline-flex; + margin: 0; + background-color: inherit; + line-height: 1em; + cursor: pointer; + /* font-weight:400; */ + /* font-size:1rem; */ + text-transform: uppercase; + font-family: "Source Sans Pro", Helvetica, sans-serif; + padding: 0; +} + +#nav .menu { + display: none; +} + +#nav a { + text-decoration: none; + padding: 1.5em; +} + +#nav li:hover { + color: black; + background-color: rgba(255, 255, 255, 0.25); + -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; + transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out; +} + +#nav li:hover > a { + color: var(--primary); +} + +#nav li.active { + background-color: white; +} +#nav li.active > a { + color: var(--primary); +} + +@media screen and (max-width: 768px) { + #nav ul { + flex-direction: column-reverse; + padding: 0; + } + + #nav ul li { + padding: 0; + } + + #nav li.links { + display: none; + } + + #nav a { + padding: 1em; + } + + #nav .menu { + display: flex; + flex-grow: 1; + justify-content: flex-end; + } +} + +/* Button */ + +input[type="submit"], +input[type="reset"], +input[type="button"], +button, +.button { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; + -moz-transition: background-color 0.2s ease-in-out, + box-shadow 0.2s ease-in-out, color 0.2s ease-in-out; + -webkit-transition: background-color 0.2s ease-in-out, + box-shadow 0.2s ease-in-out, color 0.2s ease-in-out; + -ms-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, + color 0.2s ease-in-out; + transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, + color 0.2s ease-in-out; + border: 0; + cursor: pointer; + display: inline-block; + font-weight: 400; + letter-spacing: 0.125em; + text-align: center; + text-decoration: none; + text-transform: uppercase; + white-space: nowrap; + font-size: 0.75rem; + max-width: 20rem; + height: 3.75em; + line-height: 3.75em; + border-radius: 3.75em; + padding: 0 2.5em; + text-overflow: ellipsis; + overflow: hidden; +} + +input[type="submit"].icon:before, +input[type="reset"].icon:before, +input[type="button"].icon:before, +button.icon:before, +.button.icon:before { + margin-right: 0.5rem; +} + +input[type="submit"].fit, +input[type="reset"].fit, +input[type="button"].fit, +button.fit, +.button.fit { + width: 100%; +} + +input[type="submit"].small, +input[type="reset"].small, +input[type="button"].small, +button.small, +.button.small { + font-size: 0.6rem; + height: 3.325em; + line-height: 3.325em; + border-radius: 3.325em; + padding: 0 2em; +} + +input[type="submit"].large, +input[type="reset"].large, +input[type="button"].large, +button.large, +.button.large { + font-size: 0.8rem; + height: 4em; + line-height: 4em; + border-radius: 4em; + padding: 0 3em; +} + +input[type="submit"].wide, +input[type="reset"].wide, +input[type="button"].wide, +button.wide, +.button.wide { + min-width: 14em; +} + +input[type="submit"].disabled, +input[type="submit"]:disabled, +input[type="reset"].disabled, +input[type="reset"]:disabled, +input[type="button"].disabled, +input[type="button"]:disabled, +button.disabled, +button:disabled, +.button.disabled, +.button:disabled { + pointer-events: none; + opacity: 0.25; +} + +input[type="submit"], +input[type="reset"], +input[type="button"], +button, +.button { + background-color: transparent; + box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2); + color: #000000 !important; +} + +input[type="submit"]:hover, +input[type="reset"]:hover, +input[type="button"]:hover, +button:hover, +.button:hover { + box-shadow: inset 0 0 0 1px var(--primary); + color: var(--primary) !important; +} + +input[type="submit"]:active, +input[type="reset"]:active, +input[type="button"]:active, +button:active, +.button:active { + background-color: var(--primary-shadow); + box-shadow: inset 0 0 0 1px var(--primary); + color: var(--primary) !important; +} + +input[type="submit"].primary, +input[type="reset"].primary, +input[type="button"].primary, +button.primary, +.button.primary { + background-color: #000000; + box-shadow: none; + color: #ffffff !important; +} + +input[type="submit"].primary:hover, +input[type="reset"].primary:hover, +input[type="button"].primary:hover, +button.primary:hover, +.button.primary:hover { + background-color: var(--primary); +} + +input[type="submit"].primary:active, +input[type="reset"].primary:active, +input[type="button"].primary:active, +button.primary:active, +.button.primary:active { + background-color: var(--primary); +} + +/* ---- Filters Button-Group ---- */ + +/* ui group */ + +.ui-group { + display: inline-block; +} + +.ui-group .button-group { + display: inline-block; +} + +.button-group:after { + content: ""; + display: block; + clear: both; +} + +.button-group > .button { + float: left; + border-radius: 0; + margin-left: 0; + margin-right: 1px; + padding: 0 2em; + letter-spacing: normal; +} + +.button-group .button:first-child { + border-radius: 3.75em 0 0 3.75em; +} +.button-group .button:last-child { + border-radius: 0 3.75em 3.75em 0; +} + +@media screen and (max-width: 900px) { + .button-group > .button { + padding: 0 1.5em; + } +} + +@media screen and (max-width: 768px) { + .filters.wrapper.style1 > .inner { + padding: 2rem 2rem 0rem 2rem; + } + .ui-group { + display: inline-flex; + flex-wrap: wrap; + } + + .button-group > .button { + margin: 0.125rem; + padding: 0 1rem; + letter-spacing: normal; + } + + .button-group .button:first-child { + border-radius: 0; + } + .button-group .button:last-child { + border-radius: 0; + } +} + +/* Form */ + +form { + margin: 0 0 2rem 0; +} + +form > :last-child { + margin-bottom: 0; +} + +form > .fields { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + width: calc(80% + 3rem); + margin: -1.5rem 0 2rem -1.5rem; +} + +form > .fields > .field { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + padding: 1.5rem 0 0 1.5rem; + width: calc(100% - 1.5rem); +} + +form > .fields > .field.half { + width: calc(50% - 0.75rem); +} + +form > .fields > .field.third { + width: calc(100% / 3 - 0.5rem); +} + +form > .fields > .field.quarter { + width: calc(25% - 0.375rem); +} + +@media screen and (max-width: 480px) { + form > .fields { + width: calc(100% + 3rem); + margin: -1.5rem 0 2rem -1.5rem; + } + + form > .fields > .field { + padding: 1.5rem 0 0 1.5rem; + width: calc(100% - 1.5rem); + } + + form > .fields > .field.half { + width: calc(100% - 1.5rem); + } + + form > .fields > .field.third { + width: calc(100% - 1.5rem); + } + + form > .fields > .field.quarter { + width: calc(100% - 1.5rem); + } +} + +label { + display: block; + font-size: 0.9rem; + font-weight: 400; + margin: 0 0 1rem 0; +} + +label[for="fld"] { + /* hide accessibility labels on fld class */ + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} + +input[type="text"], +input[type="number"], +input[type="password"], +input[type="email"], +input[type="tel"], +input[type="search"], +input[type="url"], +select, +textarea { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; + background-color: transparent; + border-radius: 4px; + border: none; + border: solid 1px; + color: inherit; + display: block; + outline: 0; + padding: 0 0.825rem; + text-decoration: none; + width: 100%; +} + +input[type="text"]:invalid, +input[type="number"]:invalid, +input[type="password"]:invalid, +input[type="email"]:invalid, +input[type="tel"]:invalid, +input[type="search"]:invalid, +input[type="url"]:invalid, +select:invalid, +textarea:invalid { + box-shadow: none; +} + +select { + background-size: 1.25rem; + background-repeat: no-repeat; + background-position: calc(100% - 1rem) center; + height: 2.75rem; + padding-right: 2.75rem; + text-overflow: ellipsis; +} + +select:focus::-ms-value { + background-color: transparent; +} + +select::-ms-expand { + display: none; +} + +input[type="text"], +input[type="number"], +input[type="password"], +input[type="email"], +input[type="tel"], +input[type="search"], +input[type="url"], +select { + height: 2.75rem; +} + +textarea { + padding: 0.75rem 1rem; +} + +input[type="checkbox"], +input[type="radio"] { + -moz-appearance: none; + -webkit-appearance: none; + -ms-appearance: none; + appearance: none; + display: block; + float: left; + margin-right: -2rem; + opacity: 0; + width: 1rem; + z-index: -1; +} + +input[type="checkbox"] + label, +input[type="radio"] + label { + text-decoration: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + display: inline-block; + font-size: 1rem; + font-weight: 300; + padding-left: 2.4rem; + padding-right: 0.75rem; + position: relative; + margin-bottom: 0; +} + +input[type="checkbox"] + label:before, +input[type="radio"] + label:before { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; + text-transform: none !important; + font-family: "Font Awesome 5 Free"; + font-weight: 900; +} + +input[type="checkbox"] + label:before, +input[type="radio"] + label:before { + border-radius: 4px; + border: solid 1px; + content: ""; + display: inline-block; + font-size: 0.8rem; + height: 1.65rem; + left: 0; + line-height: 1.65rem; + position: absolute; + text-align: center; + top: 0; + width: 1.65rem; +} + +input[type="checkbox"]:checked + label:before, +input[type="radio"]:checked + label:before { + content: "\f00c"; +} + +input[type="checkbox"] + label:before { + border-radius: 4px; +} + +input[type="radio"] + label:before { + border-radius: 100%; +} + +::-webkit-input-placeholder { + opacity: 1; +} + +:-moz-placeholder { + opacity: 1; +} + +::-moz-placeholder { + opacity: 1; +} + +:-ms-input-placeholder { + opacity: 1; +} + +label { + color: #000000; +} + +input[type="text"], +input[type="number"], +input[type="password"], +input[type="email"], +input[type="tel"], +input[type="search"], +input[type="url"], +select, +textarea { + border-color: rgba(0, 0, 0, 0.2); +} + +input[type="text"]:focus, +input[type="number"]:focus, +input[type="password"]:focus, +input[type="email"]:focus, +input[type="tel"]:focus, +input[type="search"]:focus, +input[type="url"]:focus, +select:focus, +textarea:focus { + border-color: var(--primary); + box-shadow: 0 0 0 1px var(--primary); +} + +select { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(0, 0, 0, 0.2)' /%3E%3C/svg%3E"); +} + +select option { + color: #000000; + background: #ffffff; +} + +input[type="checkbox"] + label, +input[type="radio"] + label { + color: #000000; +} + +input[type="checkbox"] + label:before, +input[type="radio"] + label:before { + border-color: rgba(0, 0, 0, 0.2); +} + +input[type="checkbox"]:checked + label:before, +input[type="radio"]:checked + label:before { + background-color: #000000; + border-color: #000000; + color: #ffffff; +} + +input[type="checkbox"]:focus + label:before, +input[type="radio"]:focus + label:before { + border-color: var(--primary); + box-shadow: 0 0 0 1px var(--primary); +} + +::-webkit-input-placeholder { + color: rgba(0, 0, 0, 0.75) !important; +} + +:-moz-placeholder { + color: rgba(0, 0, 0, 0.75) !important; +} + +::-moz-placeholder { + color: rgba(0, 0, 0, 0.75) !important; +} + +:-ms-input-placeholder { + color: rgba(0, 0, 0, 0.75) !important; +} + +/* Icon */ + +.icon { + text-decoration: none; + border-bottom: none; + position: relative; + text-align: center; +} + +.icon:before { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; + text-transform: none !important; + font-family: "Font Awesome 5 Free"; + font-weight: 400; +} + +.icon > .label { + display: none; +} + +.icon:before { + line-height: inherit; +} + +.icon.solid:before { + font-weight: 900; +} + +.icon.brands:before { + font-family: "Font Awesome 5 Brands"; +} + +.icon.style2:before { + border-radius: 2.75em; + display: inline-block; + height: 2.75em; + line-height: 2.75em; + width: 2.75em; +} + +.icon.major { + display: block; + margin: 0 0 1rem 0; +} + +.icon.major:before { + font-size: 1.25rem; +} + +a.icon.style2:before { + -moz-transition: background-color 0.2s ease-in-out, + box-shadow 0.2s ease-in-out, color 0.2s ease-in-out; + -webkit-transition: background-color 0.2s ease-in-out, + box-shadow 0.2s ease-in-out, color 0.2s ease-in-out; + -ms-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, + color 0.2s ease-in-out; + transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, + color 0.2s ease-in-out; +} + +.icon.style2:before { + box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2); +} + +a.icon.style2:hover:before { + box-shadow: inset 0 0 0 1px var(--teal); + color: var(--teal); +} + +a.icon.style2:active:before { + background-color: var(--primary-shadow); + box-shadow: inset 0 0 0 1px var(--teal); + color: var(--teal); +} + +/* Image */ + +.image { + border: 0; + border-radius: 4px; + display: inline-block; + position: relative; +} + +.image img { + display: block; + border-radius: 4px; +} + +.image.left, +.image.right { + /*width: 40%;*/ + max-width: 12rem; +} + +.image.left img, +.image.right img { + width: 100%; + height: 100%; +} + +.image.left { + float: left; + margin: 0 1.5rem 1rem 0; + top: 0.25rem; +} + +.image.right { + float: right; + margin: 0 0 1rem 1.5rem; + top: 0.25rem; +} + +.image.fit { + display: block; + margin: 0 0 0.5rem 0; /*was 2rem on bottom*/ + width: 100%; +} + +.image.fit img { + width: 100%; +} + +.image.main { + display: block; + margin: 0 0 3rem 0; + width: 100%; +} + +.image.main img { + width: 100%; +} +.image.icons { + height: 100px; + max-width: 10rem; + margin: 0 0 0 0; +} +.image.icons img { + width: 100%; +} +.image.preview { + height: 200px; + max-width: 30rem; + margin: 0 0 0 0; +} +.image.preview img { + width: 100%; +} + +/* Video Thumbnail */ + +.thumbnail { + border: 0; + border-radius: 4px; + display: inline-block; + position: relative; +} + +.thumbnail img { + display: block; + border-radius: 4px; +} + +.thumbnail.desaturated { + filter: saturate(0%) opacity(55%); +} + +.thumbnail.desaturated:hover { + filter: none; +} + +.thumbnail.left, +.thumbnail.right { + /*width: 40%;*/ + max-width: 12rem; +} + +.thumbnail.left img, +.thumbnail.right img { + width: 100%; +} + +.thumbnail.left { + float: left; + margin: 0 1.5rem 1rem 0; + top: 0.25rem; +} + +.thumbnail.right { + float: right; + margin: 0 0 1rem 1.5rem; + top: 0.25rem; +} + +.thumbnail.fit { + display: block; + margin: 0 0 0.5rem 0; /*was 2rem on bottom*/ + width: 100%; +} + +.thumbnail.fit img { + width: 100%; +} + +/* Vendor Partner Logo */ + +.partner { + border: 0; + display: inline-block; + position: relative; + max-width: 200px; +} + +.partner.desaturated { + filter: saturate(0%) opacity(55%); +} + +.partner.desaturated:hover { + filter: none; +} + +.partner.fit { + display: block; + margin: auto; /*was 2rem on bottom*/ + width: 100%; +} + +.partner.icon { + height: 1.5em; + border-radius: 15%; + width: auto; + vertical-align: middle; +} + +@media (hover: none) { + .partner.desaturated { + filter: none; + } +} + +/* List */ + +ol { + list-style: decimal; + margin: 0 0 2rem 0; + padding-left: 1.25rem; +} + +ol li { + padding-left: 0.25rem; +} + +ul { + list-style: disc; + margin: 0 0 2rem 0; + padding-left: 1rem; +} + +ul li { + padding-left: 0.5rem; +} + +ul.alt { + list-style: none; + padding-left: 0; +} + +ul.alt li { + /*border-top: solid 1px;*/ + /*padding: 0.25rem 0;*/ + padding: 0; +} + +ul.alt li:first-child { + /*border-top: 0;*/ + padding-top: 0; +} + +ul.alt li:before { + /* resolved voiceover accessibility */ + content: "\200B"; +} + +dl { + margin: 0 0 2rem 0; +} + +dl dt { + display: block; + font-weight: 400; + margin: 1rem 0 0.5rem 0; +} + +dl dd { + margin-left: 0.5rem; +} + +dl.style2 dt { + width: 25%; + float: left; +} + +dl.style2 dd { + width: 70%; + float: left; +} + +dl.style2:after { + content: ""; + display: block; + clear: both; +} + +ul.alt li { + border-top-color: rgba(0, 0, 0, 0.2); +} + +/* Actions */ + +ul.actions { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + cursor: default; + list-style: none; + margin-left: -1rem; + padding-left: 0; +} + +ul.actions li { + padding: 0 0 0 1rem; + vertical-align: middle; +} + +ul.actions.special { + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + width: 100%; + margin-left: 0; +} + +ul.actions.special li:first-child { + padding-left: 0; +} + +ul.actions.stacked { + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + margin-left: 0; +} + +ul.actions.stacked li { + padding: 1.3rem 0 0 0; +} + +ul.actions.stacked li:first-child { + padding-top: 0; +} + +ul.actions.fit { + width: calc(100% + 1rem); +} + +ul.actions.fit li { + -moz-flex-grow: 1; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + -moz-flex-shrink: 1; + -webkit-flex-shrink: 1; + -ms-flex-shrink: 1; + flex-shrink: 1; + width: 100%; +} + +ul.actions.fit li > * { + width: 100%; +} + +ul.actions.fit.stacked { + width: 100%; +} + +@media screen and (max-width: 480px) { + ul.actions:not(.fixed) { + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + margin-left: 0; + width: 100% !important; + } + + ul.actions:not(.fixed) li { + -moz-flex-grow: 1; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + -moz-flex-shrink: 1; + -webkit-flex-shrink: 1; + -ms-flex-shrink: 1; + flex-shrink: 1; + padding: 1rem 0 0 0; + text-align: center; + width: 100%; + } + + ul.actions:not(.fixed) li > * { + width: 100%; + } + + ul.actions:not(.fixed) li:first-child { + padding-top: 0; + } + + ul.actions:not(.fixed) li input[type="submit"], + ul.actions:not(.fixed) li input[type="reset"], + ul.actions:not(.fixed) li input[type="button"], + ul.actions:not(.fixed) li button, + ul.actions:not(.fixed) li .button { + width: 100%; + } + + ul.actions:not(.fixed) li input[type="submit"].icon:before, + ul.actions:not(.fixed) li input[type="reset"].icon:before, + ul.actions:not(.fixed) li input[type="button"].icon:before, + ul.actions:not(.fixed) li button.icon:before, + ul.actions:not(.fixed) li .button.icon:before { + margin-left: -0.5rem; + } +} + +/* Icons */ + +ul.icons { + cursor: default; + list-style: none; + padding-left: 0; +} + +ul.icons li { + display: inline-block; + padding: 0 0.75rem 0 0.75rem; +} + +ul.icons li:first-child { + padding-left: 0; +} +ul.icons li:last-child { + padding-right: 0; +} + +ul.icons li.right { + float: right; +} + +ul.icons li.right.last { + padding-right: 0; +} + +/* Section/Article */ + +section.special, +article.special { + text-align: center; +} + +header p { + position: relative; + margin: -0.65rem 0 1.5rem 0; + font-style: italic; +} + +header h1 + p { + font-size: 1.375rem; +} + +header h2 + p { + font-size: 1.25rem; +} + +header h3 + p { + font-size: 1.1rem; +} + +header h4 + p, +header h5 + p, +header h6 + p { + font-size: 0.9rem; +} + +header p { + color: rgba(0, 0, 0, 0.75); +} + +article.youtube { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + position: relative; +} +/* article.youtube img {} */ + +article.youtube img, +article.youtube .play-button { + cursor: pointer; +} + +article.youtube .play-button { + width: 70px; + height: 50px; + background-color: rgb(40, 40, 40); + z-index: 1; + opacity: 0.7; + border-radius: 10px; +} +article.youtube .play-button:before { + content: ""; + border-style: solid; + border-width: 10px 0 10px 20px; + border-color: transparent transparent transparent #fff; +} + +article.youtube .play-button, +article.youtube .play-button:before { + position: absolute; +} +article.youtube .play-button, +article.youtube .play-button:before { + top: 50%; + left: 50%; + transform: translate3d(-50%, -50%, 0); +} +article.youtube a:hover ~ .play-button, +article.youtube .play-button:hover { + opacity: 0.8; + background-color: red; +} +article.youtube .caption { + opacity: 1; + z-index: 1; + font-size: 0.9rem; +} + +/* Table */ + +.table-wrapper { + -webkit-overflow-scrolling: touch; + margin: 0 0 2rem 0; + overflow-x: auto; +} + +.table-wrapper > table { + margin-bottom: 0; +} + +table { + margin: 0 0 2rem 0; + width: 100%; +} + +table tbody tr { + border: solid 1px; + border-left: 0; + border-right: 0; +} + +table td { + padding: 0.75rem 0.75rem; +} + +table th { + font-size: 0.9rem; + font-weight: 400; + padding: 0 0.75rem 0.75rem 0.75rem; + text-align: left; +} + +table thead { + border-bottom: solid 2px; +} + +table tfoot { + border-top: solid 2px; +} + +table.alt { + border-collapse: separate; +} + +table.alt tbody tr td { + border: solid 1px; + border-left-width: 0; + border-top-width: 0; +} + +table.alt tbody tr td:first-child { + border-left-width: 1px; +} + +table.alt tbody tr:first-child td { + border-top-width: 1px; +} + +table.alt thead { + border-bottom: 0; +} + +table.alt tfoot { + border-top: 0; +} + +table.fixed { + table-layout: fixed; +} + +table tbody tr { + border-color: rgba(0, 0, 0, 0.2); +} + +table tbody tr:nth-child(2n + 1) { + background-color: rgba(0, 0, 0, 0.05); +} + +table tbody tr.alt { + background-color: rgba(0, 0, 0, 0.05) !important; +} + +table th { + color: #000000; +} + +table thead { + border-bottom-color: rgba(0, 0, 0, 0.2); +} + +table tfoot { + border-top-color: rgba(0, 0, 0, 0.2); +} + +table.alt tbody tr td { + border-color: rgba(0, 0, 0, 0.2); +} + +table.uniform tbody tr:nth-child(2n + 1) { + background-color: transparent; +} + +/* Banner (transitions) */ + +.banner.onload-content-fade-up .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +body.is-preload .banner.onload-content-fade-up .content { + -moz-transform: translateY(1rem); + -webkit-transform: translateY(1rem); + -ms-transform: translateY(1rem); + transform: translateY(1rem); + opacity: 0; +} + +.banner.onload-content-fade-down .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +body.is-preload .banner.onload-content-fade-down .content { + -moz-transform: translateY(-1rem); + -webkit-transform: translateY(-1rem); + -ms-transform: translateY(-1rem); + transform: translateY(-1rem); + opacity: 0; +} + +.banner.onload-content-fade-left .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +body.is-preload .banner.onload-content-fade-left .content { + -moz-transform: translateX(1rem); + -webkit-transform: translateX(1rem); + -ms-transform: translateX(1rem); + transform: translateX(1rem); + opacity: 0; +} + +.banner.onload-content-fade-right .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +body.is-preload .banner.onload-content-fade-right .content { + -moz-transform: translateX(-1rem); + -webkit-transform: translateX(-1rem); + -ms-transform: translateX(-1rem); + transform: translateX(-1rem); + opacity: 0; +} + +.banner.onload-content-fade-in .content { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; +} + +body.is-preload .banner.onload-content-fade-in .content { + opacity: 0; +} + +.banner.onload-image-fade-up .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.banner.onload-image-fade-up .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +body.is-preload .banner.onload-image-fade-up .image { + -moz-transform: translateY(1rem); + -webkit-transform: translateY(1rem); + -ms-transform: translateY(1rem); + transform: translateY(1rem); + opacity: 0; +} + +body.is-preload .banner.onload-image-fade-up .image img { + opacity: 0; +} + +.banner.onload-image-fade-down .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.banner.onload-image-fade-down .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +body.is-preload .banner.onload-image-fade-down .image { + -moz-transform: translateY(-1rem); + -webkit-transform: translateY(-1rem); + -ms-transform: translateY(-1rem); + transform: translateY(-1rem); + opacity: 0; +} + +body.is-preload .banner.onload-image-fade-down .image img { + opacity: 0; +} + +.banner.onload-image-fade-left .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.banner.onload-image-fade-left .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +body.is-preload .banner.onload-image-fade-left .image { + -moz-transform: translateX(1rem); + -webkit-transform: translateX(1rem); + -ms-transform: translateX(1rem); + transform: translateX(1rem); + opacity: 0; +} + +body.is-preload .banner.onload-image-fade-left .image img { + opacity: 0; +} + +.banner.onload-image-fade-right .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.banner.onload-image-fade-right .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +body.is-preload .banner.onload-image-fade-right .image { + -moz-transform: translateX(-1rem); + -webkit-transform: translateX(-1rem); + -ms-transform: translateX(-1rem); + transform: translateX(-1rem); + opacity: 0; +} + +body.is-preload .banner.onload-image-fade-right .image img { + opacity: 0; +} + +.banner.onload-image-fade-in .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; +} + +body.is-preload .banner.onload-image-fade-in .image img { + opacity: 0; +} + +.banner.onscroll-content-fade-up .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.banner.onscroll-content-fade-up.is-inactive .content { + -moz-transform: translateY(1rem); + -webkit-transform: translateY(1rem); + -ms-transform: translateY(1rem); + transform: translateY(1rem); + opacity: 0; +} + +.banner.onscroll-content-fade-down .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.banner.onscroll-content-fade-down.is-inactive .content { + -moz-transform: translateY(-1rem); + -webkit-transform: translateY(-1rem); + -ms-transform: translateY(-1rem); + transform: translateY(-1rem); + opacity: 0; +} + +.banner.onscroll-content-fade-left .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.banner.onscroll-content-fade-left.is-inactive .content { + -moz-transform: translateX(1rem); + -webkit-transform: translateX(1rem); + -ms-transform: translateX(1rem); + transform: translateX(1rem); + opacity: 0; +} + +.banner.onscroll-content-fade-right .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.banner.onscroll-content-fade-right.is-inactive .content { + -moz-transform: translateX(-1rem); + -webkit-transform: translateX(-1rem); + -ms-transform: translateX(-1rem); + transform: translateX(-1rem); + opacity: 0; +} + +.banner.onscroll-content-fade-in .content { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; +} + +.banner.onscroll-content-fade-in.is-inactive .content { + opacity: 0; +} + +.banner.onscroll-image-fade-up .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.banner.onscroll-image-fade-up .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +.banner.onscroll-image-fade-up.is-inactive .image { + -moz-transform: translateY(1rem); + -webkit-transform: translateY(1rem); + -ms-transform: translateY(1rem); + transform: translateY(1rem); + opacity: 0; +} + +.banner.onscroll-image-fade-up.is-inactive .image img { + opacity: 0; +} + +.banner.onscroll-image-fade-down .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.banner.onscroll-image-fade-down .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +.banner.onscroll-image-fade-down.is-inactive .image { + -moz-transform: translateY(-1rem); + -webkit-transform: translateY(-1rem); + -ms-transform: translateY(-1rem); + transform: translateY(-1rem); + opacity: 0; +} + +.banner.onscroll-image-fade-down.is-inactive .image img { + opacity: 0; +} + +.banner.onscroll-image-fade-left .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.banner.onscroll-image-fade-left .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +.banner.onscroll-image-fade-left.is-inactive .image { + -moz-transform: translateX(1rem); + -webkit-transform: translateX(1rem); + -ms-transform: translateX(1rem); + transform: translateX(1rem); + opacity: 0; +} + +.banner.onscroll-image-fade-left.is-inactive .image img { + opacity: 0; +} + +.banner.onscroll-image-fade-right .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.banner.onscroll-image-fade-right .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +.banner.onscroll-image-fade-right.is-inactive .image { + -moz-transform: translateX(-1rem); + -webkit-transform: translateX(-1rem); + -ms-transform: translateX(-1rem); + transform: translateX(-1rem); + opacity: 0; +} + +.banner.onscroll-image-fade-right.is-inactive .image img { + opacity: 0; +} + +.banner.onscroll-image-fade-in .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; +} + +.banner.onscroll-image-fade-in.is-inactive .image img { + opacity: 0; +} + +/* Banner (style1) */ + +.banner.style1 { + -moz-align-items: -moz-stretch; + -webkit-align-items: -webkit-stretch; + -ms-align-items: -ms-stretch; + align-items: stretch; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-direction: row; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -moz-justify-content: -moz-flex-end; + -webkit-justify-content: -webkit-flex-end; + -ms-justify-content: -ms-flex-end; + justify-content: flex-end; + position: relative; + text-align: left; + overflow-x: hidden; +} + +.banner.style1 .content { + padding: 7rem 7rem 5rem 7rem; + -moz-align-self: center; + -webkit-align-self: center; + -ms-align-self: center; + align-self: center; + -moz-flex-grow: 1; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + -moz-flex-shrink: 1; + -webkit-flex-shrink: 1; + -ms-flex-shrink: 1; + flex-shrink: 1; + width: 50%; + max-width: 48rem; + margin: 0 auto; +} + +.banner.style1 .image { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + border-radius: 0; + width: 50%; +} + +.banner.style1 .image img { + -moz-object-fit: cover; + -webkit-object-fit: cover; + -ms-object-fit: cover; + object-fit: cover; + -moz-object-position: center; + -webkit-object-position: center; + -ms-object-position: center; + object-position: center; + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: 0; +} + +@media screen and (max-width: 1680px) { + .banner.style1 .content { + padding: 5rem 5rem 3rem 5rem; + } +} + +@media screen and (max-width: 1280px) { + .banner.style1 .content { + padding: 4rem 4rem 2rem 4rem; + } +} + +@media screen and (max-width: 980px) { + .banner.style1 .content { + padding: 3.75rem 3rem 1.75rem 3rem; + } +} + +@media screen and (max-width: 736px) { + .banner.style1 .content { + padding: 2.5rem 2rem 0.5rem 2rem; + } +} + +@media screen and (orientation: portrait) { + .banner.style1 { + -moz-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + text-align: center; + } + + .banner.style1 .content { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + width: 100%; + max-width: 100%; + } + + .banner.style1 .image { + width: 100%; + max-width: 100%; + height: 45vh; + } +} + +.banner.style1.fullscreen { + min-height: 100vh; +} + +@media screen and (orientation: portrait) { + .banner.style1.fullscreen .content { + min-height: 50vh; + } + + .banner.style1.fullscreen .image { + height: 50vh; + } +} + +.banner.style1.orient-right { + -moz-flex-direction: row-reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; +} + +@media screen and (orientation: portrait) { + .banner.style1.orient-right { + -moz-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + } +} + +.banner.style1.content-align-center { + text-align: center; +} + +.banner.style1.content-align-right { + text-align: right; +} + +@media screen and (orientation: portrait) { + .banner.style1.content-align-right { + text-align: center; + } +} + +.banner.style1.image-position-left .image img { + -moz-object-position: left; + -webkit-object-position: left; + -ms-object-position: left; + object-position: left; +} + +.banner.style1.image-position-right .image img { + -moz-object-position: right; + -webkit-object-position: right; + -ms-object-position: right; + object-position: right; +} + +/* Banner (style2) */ + +.banner.style2 { + padding: 3.25rem 5.25rem 3.25rem 5.25rem; + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + background-color: inherit; + position: relative; + text-align: center; + overflow-x: hidden; +} + +.banner.style2 .content { + padding: 3.25rem 5.25rem 3.25rem 5.25rem; + position: relative; + width: 40rem; + max-width: 100%; + background-color: inherit; + border-radius: 0.5rem; + margin-bottom: 2rem; + z-index: 1; +} + +.banner.style2 .image { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + border-radius: 0; +} + +.banner.style2 .image img { + -moz-object-fit: cover; + -webkit-object-fit: cover; + -ms-object-fit: cover; + object-fit: cover; + -moz-object-position: center; + -webkit-object-position: center; + -ms-object-position: center; + object-position: center; + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: 0; +} + +@media screen and (max-width: 1680px) { + .banner.style2 { + padding: 3rem 3.75rem 3rem 3.75rem; + } + + .banner.style2 .content { + padding: 3rem 3.75rem 3rem 3.75rem; + } +} + +@media screen and (max-width: 1280px) { + .banner.style2 { + padding: 2rem 3rem 2rem 3rem; + } + + .banner.style2 .content { + padding: 4rem 3rem 2rem 3rem; + } +} + +@media screen and (max-width: 980px) { + .banner.style2 { + padding: 3rem 3rem 1rem 3rem; + } + + .banner.style2 .content { + padding: 3.75rem 2.25rem 1.75rem 2.25rem; + } +} + +@media screen and (max-width: 736px) { + .banner.style2 { + padding: 2rem 2rem 0.1rem 2rem; + } + + .banner.style2 .content { + padding: 2.5rem 1.5rem 0.5rem 1.5rem; + } +} + +.banner.style2.fullscreen { + min-height: 100vh; +} + +.banner.style2.orient-left { + -moz-justify-content: -moz-flex-start; + -webkit-justify-content: -webkit-flex-start; + -ms-justify-content: -ms-flex-start; + justify-content: flex-start; + padding-left: 0; +} + +.banner.style2.orient-left .content { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.banner.style2.orient-right { + -moz-justify-content: -moz-flex-end; + -webkit-justify-content: -webkit-flex-end; + -ms-justify-content: -ms-flex-end; + justify-content: flex-end; + padding-right: 0; +} + +.banner.style2.orient-right .content { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.banner.style2.content-align-left { + text-align: left; +} + +.banner.style2.content-align-right { + text-align: right; +} + +.banner.style2.image-position-left .image img { + -moz-object-position: left; + -webkit-object-position: left; + -ms-object-position: left; + object-position: left; +} + +.banner.style2.image-position-right .image img { + -moz-object-position: right; + -webkit-object-position: right; + -ms-object-position: right; + object-position: right; +} + +/* Banner (style3) */ + +.banner.style3 { + padding: 7rem 7rem 5rem 7rem; + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-direction: row-reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + position: relative; + text-align: left; + overflow-x: hidden; +} + +.banner.style3 .content { + width: 31.5rem; + max-width: 100%; +} + +.banner.style3 .image { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + width: 21rem; + height: 21rem; + border-radius: 100%; + margin: 0 3.5rem 2rem 0; +} + +.banner.style3 .image img { + -moz-object-fit: cover; + -webkit-object-fit: cover; + -ms-object-fit: cover; + object-fit: cover; + -moz-object-position: center; + -webkit-object-position: center; + -ms-object-position: center; + object-position: center; + display: block; + width: 100%; + height: 100%; + border-radius: 100%; +} + +@media screen and (max-width: 1680px) { + .banner.style3 { + padding: 5rem 5rem 3rem 5rem; + } +} + +@media screen and (max-width: 1280px) { + .banner.style3 { + padding: 4rem 4rem 2rem 4rem; + } +} + +@media screen and (max-width: 980px) { + .banner.style3 { + padding: 3.75rem 3rem 1.75rem 3rem; + } + + .banner.style3 .image { + width: 18.375rem; + height: 18.375rem; + } +} + +@media screen and (max-width: 736px) { + .banner.style3 { + padding: 2.5rem 2rem 0.5rem 2rem; + -moz-align-items: -moz-flex-start; + -webkit-align-items: -webkit-flex-start; + -ms-align-items: -ms-flex-start; + align-items: flex-start; + } + + .banner.style3 .image { + width: 15.75rem; + height: 15.75rem; + margin: 0 2rem 2rem 0; + } +} + +@media screen and (orientation: portrait) { + .banner.style3 { + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + -moz-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + text-align: center; + } + + .banner.style3 .content { + width: 34rem; + max-width: 100%; + } + + .banner.style3 .image { + margin-right: 0; + } +} + +.banner.style3.fullscreen { + min-height: 100vh; +} + +.banner.style3.orient-left { + -moz-flex-direction: row; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; +} + +.banner.style3.orient-left .image { + margin: 0 0 2rem 3.5rem; +} + +@media screen and (max-width: 736px) { + .banner.style3.orient-left .image { + margin: 0 0 2rem 2rem; + } +} + +@media screen and (orientation: portrait) { + .banner.style3.orient-left { + -moz-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + } + + .banner.style3.orient-left .image { + margin-left: 0; + } +} + +.banner.style3.content-align-center { + text-align: center; +} + +.banner.style3.content-align-right { + text-align: right; +} + +.banner.style3.image-position-left .image img { + -moz-object-position: left; + -webkit-object-position: left; + -ms-object-position: left; + object-position: left; +} + +.banner.style3.image-position-right .image img { + -moz-object-position: right; + -webkit-object-position: right; + -ms-object-position: right; + object-position: right; +} + +/* Banner (style4) My Custom Style */ +.banner.style4 { + height: 12rem; + /* padding-bottom: 2rem; */ + /*padding: 3rem 3.75rem 3rem 3.75rem ;*/ + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + color: #ffffff; + position: relative; + text-align: center; + overflow-x: hidden; + background-color: var(--banner); +} + +.banner.style4 .content { + /*padding: 3rem 3.75rem 3rem 3.75rem ;*/ + position: relative; + /*width: 40rem;*/ + /*max-width: 100%;*/ + color: inherit; + /*border-radius: 0.5rem;*/ + /*margin-bottom: 2rem;*/ + z-index: 1; +} + +.banner.style4 .content a { + color: #ffffff; + border-bottom-color: rgba(255, 255, 255, 0.5); +} + +/* .banner.style4 .content a:hover { + border-bottom-color: transparent; + color: var(--primary) !important; + } */ + +.banner.style4 .content .logo { + -moz-transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out, + opacity 0.5s ease, -moz-transform 0.5s ease, visibility 0.5s; + -webkit-transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out, + opacity 0.5s ease, -webkit-transform 0.5s ease, visibility 0.5s; + -ms-transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out, + opacity 0.5s ease, -ms-transform 0.5s ease, visibility 0.5s; + transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out, + opacity 0.5s ease, transform 0.5s ease, visibility 0.5s; + pointer-events: auto; + border-style: solid; + border-color: #ffffff; + /* background-color: rgba(2, 94, 81, 0.2); */ + border-width: 7px !important; + font-family: "Source Sans Pro", Helvetica, sans-serif; + font-size: 3rem; /*2.25*/ + font-weight: 700; + letter-spacing: 0.05em; /*0.075em*/ + line-height: 1; + padding: 0.5rem 1.5rem; + /*text-transform: uppercase;*/ + visibility: visible; + text-decoration: none; +} +/* My logo color */ +/* .banner.style4 .content .logo:hover { + background-color: rgba(var(--primary-shadow), 0.05); + border-color: var(--primary) !important; + color: var(--primary) !important; + } */ + +.banner.style4 .image { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + border-radius: 0; + background-color: rgb(2, 94, 81); + /*background-color: rgb(8, 53, 65);*/ +} + +.banner.style4 .image img { + -moz-object-fit: cover; + -webkit-object-fit: cover; + -ms-object-fit: cover; + object-fit: cover; + -moz-object-position: center; + -webkit-object-position: center; + -ms-object-position: center; + object-position: center; + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: 0; + opacity: 0.8; +} + +@media screen and (max-width: 736px) { + .banner.style4 .logo { + font-size: 1.75rem; + border-width: 3px !important; + } +} + +.banner.style4.fullscreen { + min-height: 100vh; +} + +.banner.style4.orient-left { + -moz-justify-content: -moz-flex-start; + -webkit-justify-content: -webkit-flex-start; + -ms-justify-content: -ms-flex-start; + justify-content: flex-start; + padding-left: 0; +} + +.banner.style4.orient-left .content { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.banner.style4.orient-right { + -moz-justify-content: -moz-flex-end; + -webkit-justify-content: -webkit-flex-end; + -ms-justify-content: -ms-flex-end; + justify-content: flex-end; + padding-right: 0; +} + +.banner.style4.orient-right .content { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.banner.style4.content-align-left { + text-align: left; +} + +.banner.style4.content-align-right { + text-align: right; +} + +.banner.style4.image-position-left .image img { + -moz-object-position: left; + -webkit-object-position: left; + -ms-object-position: left; + object-position: left; +} + +.banner.style4.image-position-right .image img { + -moz-object-position: right; + -webkit-object-position: right; + -ms-object-position: right; + object-position: right; +} + +/* Banner (style5) */ + +.banner.style5 { + padding: 7rem 7rem 5rem 7rem; + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + background-color: inherit; + position: relative; + text-align: center; + overflow-x: hidden; +} + +.banner.style5 .content { + position: relative; + width: 40rem; + max-width: 100%; + margin-bottom: 2rem; + z-index: 1; +} + +.banner.style5 .image { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + border-radius: 0; + opacity: 0.5; +} + +.banner.style5 .image img { + -moz-object-fit: cover; + -webkit-object-fit: cover; + -ms-object-fit: cover; + object-fit: cover; + -moz-object-position: center; + -webkit-object-position: center; + -ms-object-position: center; + object-position: center; + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: 0; +} + +@media screen and (max-width: 1680px) { + .banner.style5 { + padding: 5rem 5rem 3rem 5rem; + } +} + +@media screen and (max-width: 1280px) { + .banner.style5 { + padding: 4rem 4rem 2rem 4rem; + } +} + +@media screen and (max-width: 980px) { + .banner.style5 { + padding: 3.75rem 3rem 1.75rem 3rem; + } +} + +@media screen and (max-width: 736px) { + .banner.style5 { + padding: 2.5rem 2rem 0.5rem 2rem; + } +} + +.banner.style5.fullscreen { + min-height: 100vh; +} + +.banner.style5.content-align-left { + text-align: left; +} + +.banner.style5.content-align-right { + text-align: right; +} + +.banner.style5.image-position-left .image img { + -moz-object-position: left; + -webkit-object-position: left; + -ms-object-position: left; + object-position: left; +} + +.banner.style5.image-position-right .image img { + -moz-object-position: right; + -webkit-object-position: right; + -ms-object-position: right; + object-position: right; +} + +.banner .image { + background-color: rgba(0, 0, 0, 0.125); +} + +.banner.invert .image { + background-color: rgba(255, 255, 255, 0.125); +} + +/* Spotlight (transitions) */ + +.spotlight.onload-content-fade-up .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +body.is-preload .spotlight.onload-content-fade-up .content { + -moz-transform: translateY(1rem); + -webkit-transform: translateY(1rem); + -ms-transform: translateY(1rem); + transform: translateY(1rem); + opacity: 0; +} + +.spotlight.onload-content-fade-down .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +body.is-preload .spotlight.onload-content-fade-down .content { + -moz-transform: translateY(-1rem); + -webkit-transform: translateY(-1rem); + -ms-transform: translateY(-1rem); + transform: translateY(-1rem); + opacity: 0; +} + +.spotlight.onload-content-fade-left .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +body.is-preload .spotlight.onload-content-fade-left .content { + -moz-transform: translateX(1rem); + -webkit-transform: translateX(1rem); + -ms-transform: translateX(1rem); + transform: translateX(1rem); + opacity: 0; +} + +.spotlight.onload-content-fade-right .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +body.is-preload .spotlight.onload-content-fade-right .content { + -moz-transform: translateX(-1rem); + -webkit-transform: translateX(-1rem); + -ms-transform: translateX(-1rem); + transform: translateX(-1rem); + opacity: 0; +} + +.spotlight.onload-content-fade-in .content { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; +} + +body.is-preload .spotlight.onload-content-fade-in .content { + opacity: 0; +} + +.spotlight.onload-image-fade-up .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.spotlight.onload-image-fade-up .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +body.is-preload .spotlight.onload-image-fade-up .image { + -moz-transform: translateY(1rem); + -webkit-transform: translateY(1rem); + -ms-transform: translateY(1rem); + transform: translateY(1rem); + opacity: 0; +} + +body.is-preload .spotlight.onload-image-fade-up .image img { + opacity: 0; +} + +.spotlight.onload-image-fade-down .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.spotlight.onload-image-fade-down .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +body.is-preload .spotlight.onload-image-fade-down .image { + -moz-transform: translateY(-1rem); + -webkit-transform: translateY(-1rem); + -ms-transform: translateY(-1rem); + transform: translateY(-1rem); + opacity: 0; +} + +body.is-preload .spotlight.onload-image-fade-down .image img { + opacity: 0; +} + +.spotlight.onload-image-fade-left .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.spotlight.onload-image-fade-left .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +body.is-preload .spotlight.onload-image-fade-left .image { + -moz-transform: translateX(1rem); + -webkit-transform: translateX(1rem); + -ms-transform: translateX(1rem); + transform: translateX(1rem); + opacity: 0; +} + +body.is-preload .spotlight.onload-image-fade-left .image img { + opacity: 0; +} + +.spotlight.onload-image-fade-right .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.spotlight.onload-image-fade-right .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +body.is-preload .spotlight.onload-image-fade-right .image { + -moz-transform: translateX(-1rem); + -webkit-transform: translateX(-1rem); + -ms-transform: translateX(-1rem); + transform: translateX(-1rem); + opacity: 0; +} + +body.is-preload .spotlight.onload-image-fade-right .image img { + opacity: 0; +} + +.spotlight.onload-image-fade-in .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; +} + +body.is-preload .spotlight.onload-image-fade-in .image img { + opacity: 0; +} + +.spotlight.onscroll-content-fade-up .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.spotlight.onscroll-content-fade-up.is-inactive .content { + -moz-transform: translateY(1rem); + -webkit-transform: translateY(1rem); + -ms-transform: translateY(1rem); + transform: translateY(1rem); + opacity: 0; +} + +.spotlight.onscroll-content-fade-down .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.spotlight.onscroll-content-fade-down.is-inactive .content { + -moz-transform: translateY(-1rem); + -webkit-transform: translateY(-1rem); + -ms-transform: translateY(-1rem); + transform: translateY(-1rem); + opacity: 0; +} + +.spotlight.onscroll-content-fade-left .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.spotlight.onscroll-content-fade-left.is-inactive .content { + -moz-transform: translateX(1rem); + -webkit-transform: translateX(1rem); + -ms-transform: translateX(1rem); + transform: translateX(1rem); + opacity: 0; +} + +.spotlight.onscroll-content-fade-right .content { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.spotlight.onscroll-content-fade-right.is-inactive .content { + -moz-transform: translateX(-1rem); + -webkit-transform: translateX(-1rem); + -ms-transform: translateX(-1rem); + transform: translateX(-1rem); + opacity: 0; +} + +.spotlight.onscroll-content-fade-in .content { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; +} + +.spotlight.onscroll-content-fade-in.is-inactive .content { + opacity: 0; +} + +.spotlight.onscroll-image-fade-up .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.spotlight.onscroll-image-fade-up .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +.spotlight.onscroll-image-fade-up.is-inactive .image { + -moz-transform: translateY(1rem); + -webkit-transform: translateY(1rem); + -ms-transform: translateY(1rem); + transform: translateY(1rem); + opacity: 0; +} + +.spotlight.onscroll-image-fade-up.is-inactive .image img { + opacity: 0; +} + +.spotlight.onscroll-image-fade-down .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.spotlight.onscroll-image-fade-down .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +.spotlight.onscroll-image-fade-down.is-inactive .image { + -moz-transform: translateY(-1rem); + -webkit-transform: translateY(-1rem); + -ms-transform: translateY(-1rem); + transform: translateY(-1rem); + opacity: 0; +} + +.spotlight.onscroll-image-fade-down.is-inactive .image img { + opacity: 0; +} + +.spotlight.onscroll-image-fade-left .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.spotlight.onscroll-image-fade-left .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +.spotlight.onscroll-image-fade-left.is-inactive .image { + -moz-transform: translateX(1rem); + -webkit-transform: translateX(1rem); + -ms-transform: translateX(1rem); + transform: translateX(1rem); + opacity: 0; +} + +.spotlight.onscroll-image-fade-left.is-inactive .image img { + opacity: 0; +} + +.spotlight.onscroll-image-fade-right .image { + -moz-transition: opacity 0.75s ease-in-out, -moz-transform 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out, + -webkit-transform 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out, -ms-transform 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out, transform 0.75s ease-in-out; +} + +.spotlight.onscroll-image-fade-right .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 0.5625s; + -webkit-transition-delay: 0.5625s; + -ms-transition-delay: 0.5625s; + transition-delay: 0.5625s; +} + +.spotlight.onscroll-image-fade-right.is-inactive .image { + -moz-transform: translateX(-1rem); + -webkit-transform: translateX(-1rem); + -ms-transform: translateX(-1rem); + transform: translateX(-1rem); + opacity: 0; +} + +.spotlight.onscroll-image-fade-right.is-inactive .image img { + opacity: 0; +} + +.spotlight.onscroll-image-fade-in .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; +} + +.spotlight.onscroll-image-fade-in.is-inactive .image img { + opacity: 0; +} + +/* Spotlight (style1) */ + +.spotlight.style1 { + -moz-align-items: -moz-stretch; + -webkit-align-items: -webkit-stretch; + -ms-align-items: -ms-stretch; + align-items: stretch; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-direction: row; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; + -moz-justify-content: -moz-flex-end; + -webkit-justify-content: -webkit-flex-end; + -ms-justify-content: -ms-flex-end; + justify-content: flex-end; + position: relative; + overflow-x: hidden; + text-align: left; +} + +.spotlight.style1 .content { + padding: 4rem 7rem 3rem 7rem; + -moz-align-self: center; + -webkit-align-self: center; + -ms-align-self: center; + align-self: center; + -moz-flex-grow: 1; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + -moz-flex-shrink: 1; + -webkit-flex-shrink: 1; + -ms-flex-shrink: 1; + flex-shrink: 1; + width: 45%; + max-width: 64rem; + margin: 0 auto; +} + +.spotlight.style1 .image { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + width: 35%; + min-width: 25rem; + border-radius: 0; +} + +.spotlight.style1 .image img { + -moz-object-fit: cover; + -webkit-object-fit: cover; + -ms-object-fit: cover; + object-fit: cover; + -moz-object-position: center; + -webkit-object-position: center; + -ms-object-position: center; + object-position: center; + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: 0; +} + +@media screen and (max-width: 1680px) { + .spotlight.style1 .content { + /* padding: 3rem 5rem 2rem 5rem ; */ + padding: 2rem 5rem 1.5rem 5rem; + } +} + +@media screen and (max-width: 1280px) { + .spotlight.style1 .content { + padding: 2rem 4rem 1.5rem 4rem; + } +} + +@media screen and (max-width: 980px) { + .spotlight.style1 .content { + padding: 2rem 3rem 1.5rem 3rem; + width: 50%; + min-width: 0; + } + + .spotlight.style1 .image { + width: 50%; + min-width: 0; + } +} + +@media screen and (max-width: 736px) { + .spotlight.style1 .content { + /* padding: 2.5rem 2rem 0.5rem 2rem ; */ + padding: 1rem 2rem 0.5rem 2rem; + } +} + +@media screen and (max-width: 736px) and (orientation: portrait) { + .spotlight.style1 { + -moz-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + text-align: center !important; + } + + .spotlight.style1 .content { + width: 100%; + } + + .spotlight.style1 .image { + width: 100%; + } + + .spotlight.style1 .image img { + position: relative; + } +} + +.spotlight.style1.orient-right { + -moz-flex-direction: row-reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; +} + +@media screen and (max-width: 736px) and (orientation: portrait) { + .spotlight.style1.orient-right { + -moz-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + } +} + +.spotlight.style1.content-align-center { + text-align: center; +} + +.spotlight.style1.content-align-right { + text-align: right; +} + +.spotlight.style1.image-position-left .image img { + -moz-object-position: left; + -webkit-object-position: left; + -ms-object-position: left; + object-position: left; +} + +.spotlight.style1.image-position-right .image img { + -moz-object-position: right; + -webkit-object-position: right; + -ms-object-position: right; + object-position: right; +} + +/* Spotlight (style2) */ + +.spotlight.style2 { + padding: 7rem 7rem 5rem 7rem; + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-direction: row-reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + position: relative; + overflow-x: hidden; + text-align: left; +} + +.spotlight.style2 .content { + width: 44.5rem; + max-width: 100%; +} + +.spotlight.style2 .image { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + width: 21rem; + height: 21rem; + border-radius: 100%; + margin: 0 3.5rem 2rem 0; +} + +.spotlight.style2 .image img { + -moz-object-fit: cover; + -webkit-object-fit: cover; + -ms-object-fit: cover; + object-fit: cover; + -moz-object-position: center; + -webkit-object-position: center; + -ms-object-position: center; + object-position: center; + display: block; + width: 100%; + height: 100%; + border-radius: 100%; +} + +@media screen and (max-width: 1680px) { + .spotlight.style2 { + padding: 5rem 5rem 3rem 5rem; + } +} + +@media screen and (max-width: 1280px) { + .spotlight.style2 { + padding: 4rem 4rem 2rem 4rem; + } +} + +@media screen and (max-width: 980px) { + .spotlight.style2 { + padding: 3.75rem 3rem 1.75rem 3rem; + } + + .spotlight.style2 .image { + width: 18.375rem; + height: 18.375rem; + } +} + +@media screen and (max-width: 736px) { + .spotlight.style2 { + padding: 2.5rem 2rem 0.5rem 2rem; + -moz-align-items: -moz-flex-start; + -webkit-align-items: -webkit-flex-start; + -ms-align-items: -ms-flex-start; + align-items: flex-start; + } + + .spotlight.style2 .image { + width: 15.75rem; + height: 15.75rem; + margin: 0 2rem 2rem 0; + } +} + +@media screen and (orientation: portrait) { + .spotlight.style2 { + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + -moz-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + text-align: center !important; + } + + .spotlight.style2 .content { + width: 34rem; + max-width: 100%; + } + + .spotlight.style2 .image { + margin-right: 0; + } +} + +.spotlight.style2.orient-left { + -moz-flex-direction: row; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; +} + +.spotlight.style2.orient-left .image { + margin: 0 0 2rem 3.5rem; +} + +@media screen and (max-width: 736px) { + .spotlight.style2.orient-left .image { + margin: 0 0 2rem 2rem; + } +} + +@media screen and (orientation: portrait) { + .spotlight.style2.orient-left { + -moz-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + } + + .spotlight.style2.orient-left .image { + margin-left: 0; + } +} + +.spotlight.style2.content-align-center { + text-align: center; +} + +.spotlight.style2.content-align-right { + text-align: right; +} + +.spotlight.style2.image-position-left .image img { + -moz-object-position: left; + -webkit-object-position: left; + -ms-object-position: left; + object-position: left; +} + +.spotlight.style2.image-position-right .image img { + -moz-object-position: right; + -webkit-object-position: right; + -ms-object-position: right; + object-position: right; +} + +/* Spotlight (style3) */ + +.spotlight.style3 { + padding: 7rem 7rem 5rem 7rem; + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-direction: row-reverse; + -webkit-flex-direction: row-reverse; + -ms-flex-direction: row-reverse; + flex-direction: row-reverse; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + position: relative; + overflow-x: hidden; + text-align: left; +} + +.spotlight.style3 .content { + width: 44.5rem; + max-width: 100%; +} + +.spotlight.style3 .image { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + border-radius: 0; + border: solid 1px; + width: 13rem; + height: 23.11111rem; + margin-top: 2.5rem; + margin-bottom: 5rem; + margin-right: 3.5rem; +} + +.spotlight.style3 .image img { + -moz-object-fit: cover; + -webkit-object-fit: cover; + -ms-object-fit: cover; + object-fit: cover; + -moz-object-position: center; + -webkit-object-position: center; + -ms-object-position: center; + object-position: center; + display: block; + width: 100%; + height: 100%; + border-radius: 0; +} + +.spotlight.style3 .image:before { + content: ""; + display: block; + background-position: center; + background-repeat: no-repeat; + border: solid 1px; + border-bottom: 0; +} + +.spotlight.style3 .image:after { + content: ""; + display: block; + background-position: center; + background-repeat: no-repeat; + border: solid 1px; + border-top: 0; +} + +.spotlight.style3 .image:before { + height: 2.5rem; + background-size: 64px 32px; + margin-top: -2.5rem; + border-radius: 1rem 1rem 0 0; +} + +.spotlight.style3 .image:after { + height: 3rem; + background-size: 64px 32px; + margin-bottom: -3rem; + border-radius: 0 0 1rem 1rem; +} + +@media screen and (max-width: 1680px) { + .spotlight.style3 { + padding: 5rem 5rem 3rem 5rem; + } +} + +@media screen and (max-width: 1280px) { + .spotlight.style3 { + padding: 4rem 4rem 2rem 4rem; + } +} + +@media screen and (max-width: 980px) { + .spotlight.style3 { + padding: 3.75rem 3rem 1.75rem 3rem; + } + + .spotlight.style3 .image { + width: 11.375rem; + height: 20.22222rem; + margin-top: 2.1875rem; + margin-bottom: 4.625rem; + } + + .spotlight.style3 .image:before { + height: 2.1875rem; + background-size: 56px 28px; + margin-top: -2.1875rem; + border-radius: 0.875rem 0.875rem 0 0; + } + + .spotlight.style3 .image:after { + height: 2.625rem; + background-size: 56px 28px; + margin-bottom: -2.625rem; + border-radius: 0 0 0.875rem 0.875rem; + } +} + +@media screen and (max-width: 736px) { + .spotlight.style3 { + padding: 2.5rem 2rem 0.5rem 2rem; + -moz-align-items: -moz-flex-start; + -webkit-align-items: -webkit-flex-start; + -ms-align-items: -ms-flex-start; + align-items: flex-start; + } + + .spotlight.style3 .image { + width: 8.125rem; + height: 14.44444rem; + margin-top: 1.5625rem; + margin-bottom: 3.875rem; + } + + .spotlight.style3 .image:before { + height: 1.5625rem; + background-size: 40px 20px; + margin-top: -1.5625rem; + border-radius: 0.625rem 0.625rem 0 0; + } + + .spotlight.style3 .image:after { + height: 1.875rem; + background-size: 40px 20px; + margin-bottom: -1.875rem; + border-radius: 0 0 0.625rem 0.625rem; + } +} + +@media screen and (orientation: portrait) { + .spotlight.style3 { + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + -moz-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + text-align: center !important; + } + + .spotlight.style3 .content { + width: 34rem; + max-width: 100%; + } + + .spotlight.style3 .image { + margin-right: 0; + margin-left: 0; + } +} + +.spotlight.style3.orient-left { + -moz-flex-direction: row; + -webkit-flex-direction: row; + -ms-flex-direction: row; + flex-direction: row; +} + +.spotlight.style3.orient-left .image { + margin-right: 0; + margin-left: 3.5rem; +} + +@media screen and (orientation: portrait) { + .spotlight.style3.orient-left { + -moz-flex-direction: column-reverse; + -webkit-flex-direction: column-reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + } + + .spotlight.style3.orient-left .image { + margin-right: 0; + margin-left: 0; + } +} + +.spotlight.style3.content-align-center { + text-align: center; +} + +.spotlight.style3.content-align-right { + text-align: right; +} + +.spotlight.style3.image-position-left .image img { + -moz-object-position: left; + -webkit-object-position: left; + -ms-object-position: left; + object-position: left; +} + +.spotlight.style3.image-position-right .image img { + -moz-object-position: right; + -webkit-object-position: right; + -ms-object-position: right; + object-position: right; +} + +/* Spotlight (style4) */ + +.spotlight.style4 { + padding: 7rem 5.25rem 5rem 5.25rem; + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + background-color: inherit; + position: relative; + overflow-x: hidden; + text-align: center; +} + +.spotlight.style4 .content { + padding: 3.5rem 3.5rem 1.5rem 3.5rem; + position: relative; + width: 40rem; + max-width: 50%; + background-color: inherit; + border-radius: 0.5rem; + margin-bottom: 2rem; + z-index: 1; +} + +.spotlight.style4 .image { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + border-radius: 0; +} + +.spotlight.style4 .image img { + -moz-object-fit: cover; + -webkit-object-fit: cover; + -ms-object-fit: cover; + object-fit: cover; + -moz-object-position: center; + -webkit-object-position: center; + -ms-object-position: center; + object-position: center; + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: 0; +} + +@media screen and (max-width: 1680px) { + .spotlight.style4 { + padding: 5rem 3.75rem 3rem 3.75rem; + } + + .spotlight.style4 .content { + padding: 2.5rem 2.5rem 0.5rem 2.5rem; + } +} + +@media screen and (max-width: 1280px) { + .spotlight.style4 { + padding: 4rem 3rem 2rem 3rem; + } + + .spotlight.style4 .content { + padding: 3rem 3rem 1rem 3rem; + } +} + +@media screen and (max-width: 980px) { + .spotlight.style4 { + padding: 3rem 2.25rem 1rem 2.25rem; + } + + .spotlight.style4 .content { + padding: 2.25rem 2.25rem 0.25rem 2.25rem; + } +} + +@media screen and (max-width: 736px) { + .spotlight.style4 { + padding: 2rem 1.5rem 0.1rem 1.5rem; + } + + .spotlight.style4 .content { + padding: 1.5rem 1.5rem 0.1rem 1.5rem; + } +} + +@media screen and (max-width: 480px) { + .spotlight.style4 .content { + max-width: 80%; + } +} + +.spotlight.style4.fullscreen { + min-height: 100vh; +} + +.spotlight.style4.halfscreen { + min-height: 50vh; +} + +.spotlight.style4.orient-left { + -moz-justify-content: -moz-flex-start; + -webkit-justify-content: -webkit-flex-start; + -ms-justify-content: -ms-flex-start; + justify-content: flex-start; + padding-left: 0; +} + +.spotlight.style4.orient-left .content { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.spotlight.style4.orient-right { + -moz-justify-content: -moz-flex-end; + -webkit-justify-content: -webkit-flex-end; + -ms-justify-content: -ms-flex-end; + justify-content: flex-end; + padding-right: 0; +} + +.spotlight.style4.orient-right .content { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.spotlight.style4.content-align-left { + text-align: left; +} + +.spotlight.style4.content-align-right { + text-align: right; +} + +.spotlight.style4.image-position-left .image img { + -moz-object-position: left; + -webkit-object-position: left; + -ms-object-position: left; + object-position: left; +} + +.spotlight.style4.image-position-right .image img { + -moz-object-position: right; + -webkit-object-position: right; + -ms-object-position: right; + object-position: right; +} + +/* Spotlight (style5) */ + +.spotlight.style5 { + padding: 7rem 5.25rem 5rem 5.25rem; + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + background-color: inherit; + position: relative; + overflow-x: hidden; + text-align: center; +} + +.spotlight.style5 .content { + padding: 3.5rem 3.5rem 1.5rem 3.5rem; + position: relative; + width: 40rem; + max-width: 52.5%; + background-color: inherit; + border-radius: 0.5rem; + margin-bottom: 2rem; + z-index: 1; +} + +.spotlight.style5 .image { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + position: absolute; + width: 100%; + height: 100%; + top: 0; + left: 0; + border-radius: 0; +} + +.spotlight.style5 .image img { + -moz-object-fit: cover; + -webkit-object-fit: cover; + -ms-object-fit: cover; + object-fit: cover; + -moz-object-position: center; + -webkit-object-position: center; + -ms-object-position: center; + object-position: center; + display: block; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: 0; +} + +@media screen and (max-width: 1680px) { + .spotlight.style5 { + padding: 5rem 3.75rem 3rem 3.75rem; + } + + .spotlight.style5 .content { + padding: 2.5rem 2.5rem 0.5rem 2.5rem; + } +} + +@media screen and (max-width: 1280px) { + .spotlight.style5 { + padding: 4rem 3rem 2rem 3rem; + } + + .spotlight.style5 .content { + padding: 3rem 3rem 1rem 3rem; + } +} + +@media screen and (max-width: 980px) { + .spotlight.style5 { + padding: 3rem 2.25rem 1rem 2.25rem; + } + + .spotlight.style5 .content { + padding: 2.25rem 2.25rem 0.25rem 2.25rem; + } +} + +@media screen and (max-width: 736px) { + .spotlight.style5 { + padding: 2rem 1.5rem 0.1rem 1.5rem; + } + + .spotlight.style5 .content { + padding: 1.5rem 1.5rem 0.1rem 1.5rem; + } +} + +@media screen and (max-width: 480px) { + .spotlight.style5 .content { + max-width: 80%; + } +} + +.spotlight.style5.fullscreen { + min-height: 100vh; +} + +.spotlight.style5.halfscreen { + min-height: 50vh; +} + +.spotlight.style5.orient-left { + -moz-justify-content: -moz-flex-start; + -webkit-justify-content: -webkit-flex-start; + -ms-justify-content: -ms-flex-start; + justify-content: flex-start; +} + +.spotlight.style5.orient-right { + -moz-justify-content: -moz-flex-end; + -webkit-justify-content: -webkit-flex-end; + -ms-justify-content: -ms-flex-end; + justify-content: flex-end; +} + +.spotlight.style5.content-align-left { + text-align: left; +} + +.spotlight.style5.content-align-right { + text-align: right; +} + +.spotlight.style5.image-position-left .image img { + -moz-object-position: left; + -webkit-object-position: left; + -ms-object-position: left; + object-position: left; +} + +.spotlight.style5.image-position-right .image img { + -moz-object-position: right; + -webkit-object-position: right; + -ms-object-position: right; + object-position: right; +} + +.spotlight .image { + background-color: rgba(0, 0, 0, 0.125); +} + +.spotlight.invert .image { + background-color: rgba(255, 255, 255, 0.125); +} + +.spotlight.style3 .image { + border-color: rgba(0, 0, 0, 0.2); + background-color: rgba(0, 0, 0, 0.2); + border-width: 0; +} + +.spotlight.style3 .image:before { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgba(0, 0, 0, 0.2)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='11' y='12' width='42' height='8' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E"); + border-color: rgba(0, 0, 0, 0.2); + width: 100%; +} + +.spotlight.style3 .image:after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: rgba(0, 0, 0, 0.2)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Ccircle cx='32' cy='16' r='14' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E"); + border-color: rgba(0, 0, 0, 0.2); + width: 100%; +} + +.spotlight.style3.android .image:after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: rgba(0, 0, 0, 0.2)%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='6' y='4' width='52' height='24' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E"); +} + +.spotlight.style3.invert .image { + border-color: white; + background-color: white; + border-width: 1px; +} + +.spotlight.style3.invert .image:before { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: white%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='11' y='12' width='42' height='8' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E"); + border-color: white; + width: calc(100% + 2px); + margin-left: -1px; +} + +.spotlight.style3.invert .image:after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: white%3B stroke-width: 1px%3B %7D%3C/style%3E%3Ccircle cx='32' cy='16' r='14' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E"); + border-color: white; + width: calc(100% + 2px); + margin-left: -1px; +} + +.spotlight.style3.invert.android .image:after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: white%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='6' y='4' width='52' height='24' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E"); +} + +/* Gallery (transitions) */ + +.gallery.onload-fade-in article .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 4.8s; + -webkit-transition-delay: 4.8s; + -ms-transition-delay: 4.8s; + transition-delay: 4.8s; +} + +.gallery.onload-fade-in article:nth-child(1) .image img { + -moz-transition-delay: 0s; + -webkit-transition-delay: 0s; + -ms-transition-delay: 0s; + transition-delay: 0s; +} + +.gallery.onload-fade-in article:nth-child(2) .image img { + -moz-transition-delay: 0.15s; + -webkit-transition-delay: 0.15s; + -ms-transition-delay: 0.15s; + transition-delay: 0.15s; +} + +.gallery.onload-fade-in article:nth-child(3) .image img { + -moz-transition-delay: 0.3s; + -webkit-transition-delay: 0.3s; + -ms-transition-delay: 0.3s; + transition-delay: 0.3s; +} + +.gallery.onload-fade-in article:nth-child(4) .image img { + -moz-transition-delay: 0.45s; + -webkit-transition-delay: 0.45s; + -ms-transition-delay: 0.45s; + transition-delay: 0.45s; +} + +.gallery.onload-fade-in article:nth-child(5) .image img { + -moz-transition-delay: 0.6s; + -webkit-transition-delay: 0.6s; + -ms-transition-delay: 0.6s; + transition-delay: 0.6s; +} + +.gallery.onload-fade-in article:nth-child(6) .image img { + -moz-transition-delay: 0.75s; + -webkit-transition-delay: 0.75s; + -ms-transition-delay: 0.75s; + transition-delay: 0.75s; +} + +.gallery.onload-fade-in article:nth-child(7) .image img { + -moz-transition-delay: 0.9s; + -webkit-transition-delay: 0.9s; + -ms-transition-delay: 0.9s; + transition-delay: 0.9s; +} + +.gallery.onload-fade-in article:nth-child(8) .image img { + -moz-transition-delay: 1.05s; + -webkit-transition-delay: 1.05s; + -ms-transition-delay: 1.05s; + transition-delay: 1.05s; +} + +.gallery.onload-fade-in article:nth-child(9) .image img { + -moz-transition-delay: 1.2s; + -webkit-transition-delay: 1.2s; + -ms-transition-delay: 1.2s; + transition-delay: 1.2s; +} + +.gallery.onload-fade-in article:nth-child(10) .image img { + -moz-transition-delay: 1.35s; + -webkit-transition-delay: 1.35s; + -ms-transition-delay: 1.35s; + transition-delay: 1.35s; +} + +.gallery.onload-fade-in article:nth-child(11) .image img { + -moz-transition-delay: 1.5s; + -webkit-transition-delay: 1.5s; + -ms-transition-delay: 1.5s; + transition-delay: 1.5s; +} + +.gallery.onload-fade-in article:nth-child(12) .image img { + -moz-transition-delay: 1.65s; + -webkit-transition-delay: 1.65s; + -ms-transition-delay: 1.65s; + transition-delay: 1.65s; +} + +.gallery.onload-fade-in article:nth-child(13) .image img { + -moz-transition-delay: 1.8s; + -webkit-transition-delay: 1.8s; + -ms-transition-delay: 1.8s; + transition-delay: 1.8s; +} + +.gallery.onload-fade-in article:nth-child(14) .image img { + -moz-transition-delay: 1.95s; + -webkit-transition-delay: 1.95s; + -ms-transition-delay: 1.95s; + transition-delay: 1.95s; +} + +.gallery.onload-fade-in article:nth-child(15) .image img { + -moz-transition-delay: 2.1s; + -webkit-transition-delay: 2.1s; + -ms-transition-delay: 2.1s; + transition-delay: 2.1s; +} + +.gallery.onload-fade-in article:nth-child(16) .image img { + -moz-transition-delay: 2.25s; + -webkit-transition-delay: 2.25s; + -ms-transition-delay: 2.25s; + transition-delay: 2.25s; +} + +.gallery.onload-fade-in article:nth-child(17) .image img { + -moz-transition-delay: 2.4s; + -webkit-transition-delay: 2.4s; + -ms-transition-delay: 2.4s; + transition-delay: 2.4s; +} + +.gallery.onload-fade-in article:nth-child(18) .image img { + -moz-transition-delay: 2.55s; + -webkit-transition-delay: 2.55s; + -ms-transition-delay: 2.55s; + transition-delay: 2.55s; +} + +.gallery.onload-fade-in article:nth-child(19) .image img { + -moz-transition-delay: 2.7s; + -webkit-transition-delay: 2.7s; + -ms-transition-delay: 2.7s; + transition-delay: 2.7s; +} + +.gallery.onload-fade-in article:nth-child(20) .image img { + -moz-transition-delay: 2.85s; + -webkit-transition-delay: 2.85s; + -ms-transition-delay: 2.85s; + transition-delay: 2.85s; +} + +.gallery.onload-fade-in article:nth-child(21) .image img { + -moz-transition-delay: 3s; + -webkit-transition-delay: 3s; + -ms-transition-delay: 3s; + transition-delay: 3s; +} + +.gallery.onload-fade-in article:nth-child(22) .image img { + -moz-transition-delay: 3.15s; + -webkit-transition-delay: 3.15s; + -ms-transition-delay: 3.15s; + transition-delay: 3.15s; +} + +.gallery.onload-fade-in article:nth-child(23) .image img { + -moz-transition-delay: 3.3s; + -webkit-transition-delay: 3.3s; + -ms-transition-delay: 3.3s; + transition-delay: 3.3s; +} + +.gallery.onload-fade-in article:nth-child(24) .image img { + -moz-transition-delay: 3.45s; + -webkit-transition-delay: 3.45s; + -ms-transition-delay: 3.45s; + transition-delay: 3.45s; +} + +.gallery.onload-fade-in article:nth-child(25) .image img { + -moz-transition-delay: 3.6s; + -webkit-transition-delay: 3.6s; + -ms-transition-delay: 3.6s; + transition-delay: 3.6s; +} + +.gallery.onload-fade-in article:nth-child(26) .image img { + -moz-transition-delay: 3.75s; + -webkit-transition-delay: 3.75s; + -ms-transition-delay: 3.75s; + transition-delay: 3.75s; +} + +.gallery.onload-fade-in article:nth-child(27) .image img { + -moz-transition-delay: 3.9s; + -webkit-transition-delay: 3.9s; + -ms-transition-delay: 3.9s; + transition-delay: 3.9s; +} + +.gallery.onload-fade-in article:nth-child(28) .image img { + -moz-transition-delay: 4.05s; + -webkit-transition-delay: 4.05s; + -ms-transition-delay: 4.05s; + transition-delay: 4.05s; +} + +.gallery.onload-fade-in article:nth-child(29) .image img { + -moz-transition-delay: 4.2s; + -webkit-transition-delay: 4.2s; + -ms-transition-delay: 4.2s; + transition-delay: 4.2s; +} + +.gallery.onload-fade-in article:nth-child(30) .image img { + -moz-transition-delay: 4.35s; + -webkit-transition-delay: 4.35s; + -ms-transition-delay: 4.35s; + transition-delay: 4.35s; +} + +.gallery.onload-fade-in article:nth-child(31) .image img { + -moz-transition-delay: 4.5s; + -webkit-transition-delay: 4.5s; + -ms-transition-delay: 4.5s; + transition-delay: 4.5s; +} + +.gallery.onload-fade-in article:nth-child(32) .image img { + -moz-transition-delay: 4.65s; + -webkit-transition-delay: 4.65s; + -ms-transition-delay: 4.65s; + transition-delay: 4.65s; +} + +.gallery.onload-fade-in article:nth-child(33) .image img { + -moz-transition-delay: 4.8s; + -webkit-transition-delay: 4.8s; + -ms-transition-delay: 4.8s; + transition-delay: 4.8s; +} + +body.is-preload .gallery.onload-fade-in article .image img { + opacity: 0; +} + +.gallery.onscroll-fade-in article .image img { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 4.8s; + -webkit-transition-delay: 4.8s; + -ms-transition-delay: 4.8s; + transition-delay: 4.8s; +} + +.gallery.onscroll-fade-in article:nth-child(1) .image img { + -moz-transition-delay: 0s; + -webkit-transition-delay: 0s; + -ms-transition-delay: 0s; + transition-delay: 0s; +} + +.gallery.onscroll-fade-in article:nth-child(2) .image img { + -moz-transition-delay: 0.15s; + -webkit-transition-delay: 0.15s; + -ms-transition-delay: 0.15s; + transition-delay: 0.15s; +} + +.gallery.onscroll-fade-in article:nth-child(3) .image img { + -moz-transition-delay: 0.3s; + -webkit-transition-delay: 0.3s; + -ms-transition-delay: 0.3s; + transition-delay: 0.3s; +} + +.gallery.onscroll-fade-in article:nth-child(4) .image img { + -moz-transition-delay: 0.45s; + -webkit-transition-delay: 0.45s; + -ms-transition-delay: 0.45s; + transition-delay: 0.45s; +} + +.gallery.onscroll-fade-in article:nth-child(5) .image img { + -moz-transition-delay: 0.6s; + -webkit-transition-delay: 0.6s; + -ms-transition-delay: 0.6s; + transition-delay: 0.6s; +} + +.gallery.onscroll-fade-in article:nth-child(6) .image img { + -moz-transition-delay: 0.75s; + -webkit-transition-delay: 0.75s; + -ms-transition-delay: 0.75s; + transition-delay: 0.75s; +} + +.gallery.onscroll-fade-in article:nth-child(7) .image img { + -moz-transition-delay: 0.9s; + -webkit-transition-delay: 0.9s; + -ms-transition-delay: 0.9s; + transition-delay: 0.9s; +} + +.gallery.onscroll-fade-in article:nth-child(8) .image img { + -moz-transition-delay: 1.05s; + -webkit-transition-delay: 1.05s; + -ms-transition-delay: 1.05s; + transition-delay: 1.05s; +} + +.gallery.onscroll-fade-in article:nth-child(9) .image img { + -moz-transition-delay: 1.2s; + -webkit-transition-delay: 1.2s; + -ms-transition-delay: 1.2s; + transition-delay: 1.2s; +} + +.gallery.onscroll-fade-in article:nth-child(10) .image img { + -moz-transition-delay: 1.35s; + -webkit-transition-delay: 1.35s; + -ms-transition-delay: 1.35s; + transition-delay: 1.35s; +} + +.gallery.onscroll-fade-in article:nth-child(11) .image img { + -moz-transition-delay: 1.5s; + -webkit-transition-delay: 1.5s; + -ms-transition-delay: 1.5s; + transition-delay: 1.5s; +} + +.gallery.onscroll-fade-in article:nth-child(12) .image img { + -moz-transition-delay: 1.65s; + -webkit-transition-delay: 1.65s; + -ms-transition-delay: 1.65s; + transition-delay: 1.65s; +} + +.gallery.onscroll-fade-in article:nth-child(13) .image img { + -moz-transition-delay: 1.8s; + -webkit-transition-delay: 1.8s; + -ms-transition-delay: 1.8s; + transition-delay: 1.8s; +} + +.gallery.onscroll-fade-in article:nth-child(14) .image img { + -moz-transition-delay: 1.95s; + -webkit-transition-delay: 1.95s; + -ms-transition-delay: 1.95s; + transition-delay: 1.95s; +} + +.gallery.onscroll-fade-in article:nth-child(15) .image img { + -moz-transition-delay: 2.1s; + -webkit-transition-delay: 2.1s; + -ms-transition-delay: 2.1s; + transition-delay: 2.1s; +} + +.gallery.onscroll-fade-in article:nth-child(16) .image img { + -moz-transition-delay: 2.25s; + -webkit-transition-delay: 2.25s; + -ms-transition-delay: 2.25s; + transition-delay: 2.25s; +} + +.gallery.onscroll-fade-in article:nth-child(17) .image img { + -moz-transition-delay: 2.4s; + -webkit-transition-delay: 2.4s; + -ms-transition-delay: 2.4s; + transition-delay: 2.4s; +} + +.gallery.onscroll-fade-in article:nth-child(18) .image img { + -moz-transition-delay: 2.55s; + -webkit-transition-delay: 2.55s; + -ms-transition-delay: 2.55s; + transition-delay: 2.55s; +} + +.gallery.onscroll-fade-in article:nth-child(19) .image img { + -moz-transition-delay: 2.7s; + -webkit-transition-delay: 2.7s; + -ms-transition-delay: 2.7s; + transition-delay: 2.7s; +} + +.gallery.onscroll-fade-in article:nth-child(20) .image img { + -moz-transition-delay: 2.85s; + -webkit-transition-delay: 2.85s; + -ms-transition-delay: 2.85s; + transition-delay: 2.85s; +} + +.gallery.onscroll-fade-in article:nth-child(21) .image img { + -moz-transition-delay: 3s; + -webkit-transition-delay: 3s; + -ms-transition-delay: 3s; + transition-delay: 3s; +} + +.gallery.onscroll-fade-in article:nth-child(22) .image img { + -moz-transition-delay: 3.15s; + -webkit-transition-delay: 3.15s; + -ms-transition-delay: 3.15s; + transition-delay: 3.15s; +} + +.gallery.onscroll-fade-in article:nth-child(23) .image img { + -moz-transition-delay: 3.3s; + -webkit-transition-delay: 3.3s; + -ms-transition-delay: 3.3s; + transition-delay: 3.3s; +} + +.gallery.onscroll-fade-in article:nth-child(24) .image img { + -moz-transition-delay: 3.45s; + -webkit-transition-delay: 3.45s; + -ms-transition-delay: 3.45s; + transition-delay: 3.45s; +} + +.gallery.onscroll-fade-in article:nth-child(25) .image img { + -moz-transition-delay: 3.6s; + -webkit-transition-delay: 3.6s; + -ms-transition-delay: 3.6s; + transition-delay: 3.6s; +} + +.gallery.onscroll-fade-in article:nth-child(26) .image img { + -moz-transition-delay: 3.75s; + -webkit-transition-delay: 3.75s; + -ms-transition-delay: 3.75s; + transition-delay: 3.75s; +} + +.gallery.onscroll-fade-in article:nth-child(27) .image img { + -moz-transition-delay: 3.9s; + -webkit-transition-delay: 3.9s; + -ms-transition-delay: 3.9s; + transition-delay: 3.9s; +} + +.gallery.onscroll-fade-in article:nth-child(28) .image img { + -moz-transition-delay: 4.05s; + -webkit-transition-delay: 4.05s; + -ms-transition-delay: 4.05s; + transition-delay: 4.05s; +} + +.gallery.onscroll-fade-in article:nth-child(29) .image img { + -moz-transition-delay: 4.2s; + -webkit-transition-delay: 4.2s; + -ms-transition-delay: 4.2s; + transition-delay: 4.2s; +} + +.gallery.onscroll-fade-in article:nth-child(30) .image img { + -moz-transition-delay: 4.35s; + -webkit-transition-delay: 4.35s; + -ms-transition-delay: 4.35s; + transition-delay: 4.35s; +} + +.gallery.onscroll-fade-in article:nth-child(31) .image img { + -moz-transition-delay: 4.5s; + -webkit-transition-delay: 4.5s; + -ms-transition-delay: 4.5s; + transition-delay: 4.5s; +} + +.gallery.onscroll-fade-in article:nth-child(32) .image img { + -moz-transition-delay: 4.65s; + -webkit-transition-delay: 4.65s; + -ms-transition-delay: 4.65s; + transition-delay: 4.65s; +} + +.gallery.onscroll-fade-in article:nth-child(33) .image img { + -moz-transition-delay: 4.8s; + -webkit-transition-delay: 4.8s; + -ms-transition-delay: 4.8s; + transition-delay: 4.8s; +} + +.gallery.onscroll-fade-in.is-inactive article .image img { + opacity: 0; +} + +/* Gallery (style1) */ + +.gallery.style1 { + background-color: #000000; + color: #ffffff; + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + position: relative; + width: 100%; + background-color: transparent; +} + +.gallery.style1 input, +.gallery.style1 select, +.gallery.style1 textarea { + color: #ffffff; +} + +.gallery.style1 a { + color: #ffffff; +} + +.gallery.style1 a:hover { + color: var(--primary); +} + +.gallery.style1 strong, +.gallery.style1 b { + color: #ffffff; +} + +.gallery.style1 h1, +.gallery.style1 h2, +.gallery.style1 h3, +.gallery.style1 h4, +.gallery.style1 h5, +.gallery.style1 h6 { + color: #ffffff; +} + +.gallery.style1 blockquote { + border-left-color: white; +} + +.gallery.style1 code { + background: rgba(255, 255, 255, 0.125); + border-color: white; +} + +.gallery.style1 hr { + border-bottom-color: white; +} + +.gallery.style1 input[type="submit"], +.gallery.style1 input[type="reset"], +.gallery.style1 input[type="button"], +.gallery.style1 button, +.gallery.style1 .button { + background-color: transparent; + box-shadow: inset 0 0 0 1px white; + color: #ffffff !important; +} + +.gallery.style1 input[type="submit"]:hover, +.gallery.style1 input[type="reset"]:hover, +.gallery.style1 input[type="button"]:hover, +.gallery.style1 button:hover, +.gallery.style1 .button:hover { + box-shadow: inset 0 0 0 1px var(--primary); + color: var(--primary) !important; +} + +.gallery.style1 input[type="submit"]:active, +.gallery.style1 input[type="reset"]:active, +.gallery.style1 input[type="button"]:active, +.gallery.style1 button:active, +.gallery.style1 .button:active { + background-color: var(--primary-shadow); + box-shadow: inset 0 0 0 1px var(--primary); + color: var(--primary) !important; +} + +.gallery.style1 input[type="submit"].primary, +.gallery.style1 input[type="reset"].primary, +.gallery.style1 input[type="button"].primary, +.gallery.style1 button.primary, +.gallery.style1 .button.primary { + background-color: #ffffff; + box-shadow: none; + color: #000000 !important; +} + +.gallery.style1 input[type="submit"].primary:hover, +.gallery.style1 input[type="reset"].primary:hover, +.gallery.style1 input[type="button"].primary:hover, +.gallery.style1 button.primary:hover, +.gallery.style1 .button.primary:hover { + background-color: var(--primary); +} + +.gallery.style1 input[type="submit"].primary:active, +.gallery.style1 input[type="reset"].primary:active, +.gallery.style1 input[type="button"].primary:active, +.gallery.style1 button.primary:active, +.gallery.style1 .button.primary:active { + background-color: var(--primary); +} + +.gallery.style1 > .forward, +.gallery.style1 > .backward { + display: none; +} + +.gallery.style1 > .inner { + -moz-align-items: inherit; + -webkit-align-items: inherit; + -ms-align-items: inherit; + align-items: inherit; + display: inherit; + -moz-flex-wrap: inherit; + -webkit-flex-wrap: inherit; + -ms-flex-wrap: inherit; + flex-wrap: inherit; + -moz-justify-content: inherit; + -webkit-justify-content: inherit; + -ms-justify-content: inherit; + justify-content: inherit; +} + +.gallery.style1 article { + overflow: hidden; + position: relative; + width: 25%; +} + +.gallery.style1 article .image { + -moz-transition: opacity 0.2s ease-in-out; + -webkit-transition: opacity 0.2s ease-in-out; + -ms-transition: opacity 0.2s ease-in-out; + transition: opacity 0.2s ease-in-out; + display: block; + width: 100%; + border-radius: 0; +} + +.gallery.style1 article .image img { + display: block; + width: 100%; + height: auto; + border-radius: 0; + aspect-ratio: 1/1; + object-fit: cover; +} + +.gallery.style1 article .overlay { + display: none; + /* position: absolute; + bottom: 2%; + width: 80%; + margin-left:10%; + border-radius:0.25rem; + /* background-color: var(--overlay); + color: #f0f0f0; + font-size: inherit; + font-weight: 300; + padding: .3rem 0; + text-align: center; + box-shadow: var(--primary-shadow) 0px 2px 4px; */ +} + +.gallery.style1 article .prototype { + position: absolute; + bottom: 0; + background-color: rgba(62, 189, 168, 0.5); + /*background-color: rgb(155, 101, 187); + background-color: rgba(2, 94, 81, 0.8); + background-color: rgba(17, 163, 182, 0.8);*/ + width: 100%; + color: #f0f0f0; + font-size: inherit; + font-weight: 300; + padding: 6px; + text-align: center; +} + +.gallery.style1 article .caption { + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + pointer-events: none; + -moz-transition: opacity 0.2s ease-in-out; + -webkit-transition: opacity 0.2s ease-in-out; + -ms-transition: opacity 0.2s ease-in-out; + transition: opacity 0.2s ease-in-out; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + opacity: 0; + padding: 2rem; + z-index: 1; + font-size: 0.8rem; +} + +.gallery.style1 article .caption a { + pointer-events: auto; +} + +.gallery.style1 article .caption h2, +.gallery.style1 article .caption h3, +.gallery.style1 article .caption h4, +.gallery.style1 article .caption h5, +.gallery.style1 article .caption h6 { + font-size: 1.25rem; + margin-bottom: 0.25rem; +} + +.gallery.style1 article .caption > * { + max-width: 100%; + margin-bottom: 1rem; +} + +.gallery.style1 article .caption > :last-child { + margin-bottom: 0; +} + +.gallery.style1 article:hover .caption { + opacity: 1; +} + +@media screen and (max-width: 1280px) { + .gallery.style1 article { + width: 33.33333%; + } + + .gallery.style1 article .caption { + padding: 1rem; + } +} + +@media screen and (max-width: 980px) { + .gallery.style1 article { + width: 50%; + } + + .gallery.style1 article .caption { + padding: 1rem; + } +} + +@media screen and (max-width: 480px) { + .gallery.style1 article { + width: 100%; + } + + .gallery.style1 article .caption { + padding: 1rem; + } +} + +.gallery.style1.small article { + width: 20%; +} + +.gallery.style1.small article .caption { + padding: 1rem; +} + +@media screen and (max-width: 1280px) { + .gallery.style1.small article { + width: 25%; + } + + .gallery.style1.small article .caption { + padding: 1rem; + } +} + +@media screen and (max-width: 980px) { + .gallery.style1.small article { + width: 33.33333%; + } + + .gallery.style1.small article .caption { + padding: 1rem; + } +} + +@media screen and (max-width: 480px) { + .gallery.style1.small article { + width: 50%; + } + + .gallery.style1.small article .caption { + padding: 1rem; + } +} + +.gallery.style1.big article { + width: 33.33333%; +} + +.gallery.style1.big article .caption { + padding: 3rem; +} + +@media screen and (max-width: 1280px) { + .gallery.style1.big article { + width: 50%; + } + + .gallery.style1.big article .caption { + padding: 2rem; + } +} + +@media screen and (max-width: 980px) { + .gallery.style1.big article { + width: 50%; + } + + .gallery.style1.big article .caption { + padding: 2rem; + } +} + +@media screen and (max-width: 480px) { + .gallery.style1.big article { + width: 100%; + } + + .gallery.style1.big article .caption { + padding: 1rem; + } +} + +/* Gallery (style2) */ + +.gallery.style2 { + background-color: #000000; + color: #ffffff; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -webkit-overflow-scrolling: touch; + position: relative; + background-color: transparent; +} + +.gallery.style2 input, +.gallery.style2 select, +.gallery.style2 textarea { + color: #ffffff; +} + +.gallery.style2 a { + color: #ffffff; +} + +.gallery.style2 a:hover { + color: var(--primary); +} + +.gallery.style2 strong, +.gallery.style2 b { + color: #ffffff; +} + +.gallery.style2 h1, +.gallery.style2 h2, +.gallery.style2 h3, +.gallery.style2 h4, +.gallery.style2 h5, +.gallery.style2 h6 { + color: #ffffff; +} + +.gallery.style2 blockquote { + border-left-color: white; +} + +.gallery.style2 code { + background: rgba(255, 255, 255, 0.125); + border-color: white; +} + +.gallery.style2 hr { + border-bottom-color: white; +} + +.gallery.style2 input[type="submit"], +.gallery.style2 input[type="reset"], +.gallery.style2 input[type="button"], +.gallery.style2 button, +.gallery.style2 .button { + background-color: transparent; + box-shadow: inset 0 0 0 1px white; + color: #ffffff !important; +} + +.gallery.style2 input[type="submit"]:hover, +.gallery.style2 input[type="reset"]:hover, +.gallery.style2 input[type="button"]:hover, +.gallery.style2 button:hover, +.gallery.style2 .button:hover { + box-shadow: inset 0 0 0 1px var(--primary); + color: var(--primary) !important; +} + +.gallery.style2 input[type="submit"]:active, +.gallery.style2 input[type="reset"]:active, +.gallery.style2 input[type="button"]:active, +.gallery.style2 button:active, +.gallery.style2 .button:active { + background-color: rgba(var(--teal), 0.2); + box-shadow: inset 0 0 0 1px var(--primary); + color: var(--primary) !important; +} + +.gallery.style2 input[type="submit"].primary, +.gallery.style2 input[type="reset"].primary, +.gallery.style2 input[type="button"].primary, +.gallery.style2 button.primary, +.gallery.style2 .button.primary { + background-color: #ffffff; + box-shadow: none; + color: #000000 !important; +} + +.gallery.style2 input[type="submit"].primary:hover, +.gallery.style2 input[type="reset"].primary:hover, +.gallery.style2 input[type="button"].primary:hover, +.gallery.style2 button.primary:hover, +.gallery.style2 .button.primary:hover { + background-color: var(--primary); +} + +.gallery.style2 input[type="submit"].primary:active, +.gallery.style2 input[type="reset"].primary:active, +.gallery.style2 input[type="button"].primary:active, +.gallery.style2 button.primary:active, +.gallery.style2 .button.primary:active { + background-color: var(--primary); +} + +.gallery.style2 > .forward, +.gallery.style2 > .backward { + text-decoration: none; + -moz-transition: opacity 0.2s ease-in-out; + -webkit-transition: opacity 0.2s ease-in-out; + -ms-transition: opacity 0.2s ease-in-out; + transition: opacity 0.2s ease-in-out; + position: absolute; + top: 0; + width: 5rem; + height: 100%; + cursor: pointer; + opacity: 0; + z-index: 2; +} + +.gallery.style2 > .forward:before, +.gallery.style2 > .backward:before { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; + text-transform: none !important; + font-family: "Font Awesome 5 Free"; + font-weight: 900; +} + +.gallery.style2 > .forward:before, +.gallery.style2 > .backward:before { + display: block; + top: calc(50% - 1.5rem); + width: 4rem; + height: 3rem; + line-height: 1em; + font-size: 3rem; + position: absolute; + text-align: center; +} + +.gallery.style2:hover > .forward, +.gallery.style2:hover > .backward { + opacity: 1; +} + +.gallery.style2 > .forward { + right: 0; + background-image: linear-gradient( + to left, + rgba(0, 0, 0, 0.25) 15%, + rgba(0, 0, 0, 0) + ); +} + +.gallery.style2 > .forward:before { + content: "\f105"; + right: 0; +} + +.gallery.style2 > .backward { + left: 0; + background-image: linear-gradient( + to right, + rgba(0, 0, 0, 0.25) 15%, + rgba(0, 0, 0, 0) + ); +} + +.gallery.style2 > .backward:before { + content: "\f104"; + left: 0; +} + +.gallery.style2 > .inner { + display: inherit; + overflow-x: auto; + overflow-y: hidden; + position: relative; + width: 100%; +} + +.gallery.style2 article { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + display: block; + position: relative; + overflow: hidden; + width: 22.5rem; + max-width: 75vw; +} + +.gallery.style2 article .image { + display: block; + width: 100%; + border-radius: 0; +} + +.gallery.style2 article .image img { + display: block; + width: 100%; + border-radius: 0; +} + +.gallery.style2 article .caption { + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + pointer-events: none; + -moz-transition: opacity 0.2s ease-in-out; + -webkit-transition: opacity 0.2s ease-in-out; + -ms-transition: opacity 0.2s ease-in-out; + transition: opacity 0.2s ease-in-out; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); + opacity: 0; + padding: 3rem; + z-index: 1; + font-size: 0.8rem; +} + +.gallery.style2 article .caption a { + pointer-events: auto; +} + +.gallery.style2 article .caption h2, +.gallery.style2 article .caption h3, +.gallery.style2 article .caption h4, +.gallery.style2 article .caption h5, +.gallery.style2 article .caption h6 { + font-size: 1.25rem; + margin-bottom: 0.25rem; +} + +.gallery.style2 article .caption > * { + max-width: 100%; + margin-bottom: 1rem; +} + +.gallery.style2 article .caption > :last-child { + margin-bottom: 0; +} + +.gallery.style2 article:hover .caption { + opacity: 1; +} + +@media screen and (max-width: 980px) { + .gallery.style2 article .caption { + padding: 2rem; + } +} + +@media screen and (max-width: 736px) { + .gallery.style2 article .caption { + padding: 2rem; + } +} + +.gallery.style2.small article { + width: 17.5rem; +} + +.gallery.style2.small article .caption { + padding: 2rem; +} + +@media screen and (max-width: 980px) { + .gallery.style2.small article .caption { + padding: 2rem; + } +} + +@media screen and (max-width: 736px) { + .gallery.style2.small article .caption { + padding: 2rem; + } +} + +.gallery.style2.big article { + width: 30rem; +} + +.gallery.style2.big article .caption { + padding: 4rem; +} + +@media screen and (max-width: 980px) { + .gallery.style2.big article .caption { + padding: 3rem; + } +} + +@media screen and (max-width: 736px) { + .gallery.style2.big article .caption { + padding: 2rem; + } +} + +/* Gallery (lightbox) */ + +@-moz-keyframes gallery-modal-spinner { + 0% { + -moz-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(360deg); + -webkit-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@-webkit-keyframes gallery-modal-spinner { + 0% { + -moz-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(360deg); + -webkit-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@-ms-keyframes gallery-modal-spinner { + 0% { + -moz-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(360deg); + -webkit-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +@keyframes gallery-modal-spinner { + 0% { + -moz-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + } + + 100% { + -moz-transform: rotate(360deg); + -webkit-transform: rotate(360deg); + -ms-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +.gallery.lightbox .modal { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + pointer-events: none; + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + -moz-transition: opacity 0.5s ease, visibility 0.5s, z-index 0.5s; + -webkit-transition: opacity 0.5s ease, visibility 0.5s, z-index 0.5s; + -ms-transition: opacity 0.5s ease, visibility 0.5s, z-index 0.5s; + transition: opacity 0.5s ease, visibility 0.5s, z-index 0.5s; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + outline: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: none; + opacity: 0; + z-index: 0; +} + +.gallery.lightbox .modal:before { + -moz-animation: gallery-modal-spinner 1s infinite linear; + -webkit-animation: gallery-modal-spinner 1s infinite linear; + -ms-animation: gallery-modal-spinner 1s infinite linear; + animation: gallery-modal-spinner 1s infinite linear; + -moz-transition: opacity 0.25s ease; + -webkit-transition: opacity 0.25s ease; + -ms-transition: opacity 0.25s ease; + transition: opacity 0.25s ease; + -moz-transition-delay: 0.5s; + -webkit-transition-delay: 0.5s; + -ms-transition-delay: 0.5s; + transition-delay: 0.5s; + content: ""; + display: block; + position: absolute; + top: 50%; + left: 50%; + width: 4rem; + height: 4rem; + margin: -2rem 0 0 -2rem; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='96px' height='96px' viewBox='0 0 96 96' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: %23ffffff%3B stroke-width: 1.5px%3B %7D%3C/style%3E%3Cdefs%3E%3CclipPath id='corner'%3E%3Cpolygon points='0,0 48,0 48,48 96,48 96,96 0,96' /%3E%3C/clipPath%3E%3C/defs%3E%3Cg clip-path='url(%23corner)'%3E%3Ccircle cx='48' cy='48' r='32'/%3E%3C/g%3E%3C/svg%3E"); + background-position: center; + background-repeat: no-repeat; + background-size: 4rem; + opacity: 0; +} + +.gallery.lightbox .modal:after { + content: ""; + display: block; + position: absolute; + top: 0.5rem; + right: 0.5rem; + width: 4rem; + height: 4rem; + cursor: pointer; + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='64px' viewBox='0 0 64 64' zoomAndPan='disable'%3E%3Cstyle%3Eline %7Bstroke: %23ffffff%3Bstroke-width: 1.5px%3B%7D%3C/style%3E%3Cline x1='20' y1='20' x2='44' y2='44' /%3E%3Cline x1='20' y1='44' x2='44' y2='20' /%3E%3C/svg%3E"); + background-position: center; + background-repeat: no-repeat; + background-size: 3rem; +} + +.gallery.lightbox .modal .inner { + -moz-transform: translateY(0.75rem); + -webkit-transform: translateY(0.75rem); + -ms-transform: translateY(0.75rem); + transform: translateY(0.75rem); + -moz-transition: opacity 0.25s ease, -moz-transform 0.25s ease; + -webkit-transition: opacity 0.25s ease, -webkit-transform 0.25s ease; + -ms-transition: opacity 0.25s ease, -ms-transform 0.25s ease; + transition: opacity 0.25s ease, transform 0.25s ease; + opacity: 0; +} + +.gallery.lightbox .modal .inner img { + display: block; + max-width: 90vw; + max-height: 85vh; + box-shadow: 0 1rem 3rem 0 rgba(0, 0, 0, 0.35); +} + +.gallery.lightbox .modal.visible { + pointer-events: auto; + visibility: visible; + opacity: 1; + z-index: 10001; +} + +.gallery.lightbox .modal.visible:before { + opacity: 1; +} + +.gallery.lightbox .modal.loaded .inner { + -moz-transform: translateY(0); + -webkit-transform: translateY(0); + -ms-transform: translateY(0); + transform: translateY(0); + -moz-transition: opacity 0.5s ease, -moz-transform 0.5s ease; + -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease; + -ms-transition: opacity 0.5s ease, -ms-transform 0.5s ease; + transition: opacity 0.5s ease, transform 0.5s ease; + opacity: 1; +} + +.gallery.lightbox .modal.loaded:before { + -moz-transition-delay: 0s; + -webkit-transition-delay: 0s; + -ms-transition-delay: 0s; + transition-delay: 0s; + opacity: 0; +} + +@media screen and (max-width: 980px) { + .gallery.lightbox .modal .inner img { + max-width: 100vw; + } +} + +.gallery article .image { + background-color: rgba(0, 0, 0, 0.125); +} + +/* Wrapper (style1) */ + +.wrapper.style1 > .inner { + padding: 5rem 3.5rem 3rem 3.5rem; + margin: 0 auto; + max-width: 100%; + width: 64rem; +} + +.wrapper.style1 > .inner.medium { + width: 48rem; +} + +.wrapper.style1 > .inner.small { + width: 32rem; +} + +@media screen and (max-width: 1680px) { + .wrapper.style1 > .inner { + padding: 3rem 2.5rem 2rem 2.5rem; + } +} + +@media screen and (max-width: 1280px) { + .wrapper.style1 > .inner { + padding: 3rem 4rem 1rem 4rem; + } +} + +@media screen and (max-width: 980px) { + .wrapper.style1 > .inner { + padding: 3rem 3rem 1rem 3rem; + } +} + +@media screen and (max-width: 736px) { + .wrapper.style1 > .inner { + padding: 3rem 2rem 1rem 2rem; + } +} + +/* Wrapper (style2) */ + +.wrapper.style2 { + padding: 7rem; + background-color: #eeeeee; +} + +.wrapper.style2 > .inner { + padding: 5.25rem 3.5rem 3.25rem 3.5rem; + background-color: #ffffff; + border-radius: 0.5rem; + margin: 0 auto; + max-width: 100%; + position: relative; + width: 64rem; + z-index: 1; +} + +.wrapper.style2 > .inner.medium { + width: 48rem; +} + +.wrapper.style2 > .inner.small { + width: 32rem; +} + +@media screen and (max-width: 1680px) { + .wrapper.style2 { + padding: 3rem; + } + + .wrapper.style2 > .inner { + padding: 3.75rem 2.5rem 1.75rem 2.5rem; + } +} + +@media screen and (max-width: 1280px) { + .wrapper.style2 { + padding: 2.5rem; + } + + .wrapper.style2 > .inner { + padding: 3rem 2rem 1rem 2rem; + } +} + +@media screen and (max-width: 980px) { + .wrapper.style2 { + padding: 2.25rem; + } + + .wrapper.style2 > .inner { + padding: 3rem 2.25rem 1rem 2.25rem; + } +} + +@media screen and (max-width: 736px) { + .wrapper.style2 { + padding: 1.5rem; + } + + .wrapper.style2 > .inner { + padding: 2rem 1.5rem 0.1rem 1.5rem; + } +} + +#wrapper + > .wrapper.style2.invert:not(.color1):not(.color2):not(.color3):not( + .color4 + ):not(.color5):not(.color6):not(.color7) { + background-color: #222222; +} + +#wrapper > .wrapper.style2.invert > .inner { + background-color: #000000; +} + +/* Items (transitions) */ + +.items.onload-fade-in > * > .inner { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 2.4s; + -webkit-transition-delay: 2.4s; + -ms-transition-delay: 2.4s; + transition-delay: 2.4s; +} + +.items.onload-fade-in > *:nth-child(1) > .inner { + -moz-transition-delay: 0s; + -webkit-transition-delay: 0s; + -ms-transition-delay: 0s; + transition-delay: 0s; +} + +.items.onload-fade-in > *:nth-child(2) > .inner { + -moz-transition-delay: 0.15s; + -webkit-transition-delay: 0.15s; + -ms-transition-delay: 0.15s; + transition-delay: 0.15s; +} + +.items.onload-fade-in > *:nth-child(3) > .inner { + -moz-transition-delay: 0.3s; + -webkit-transition-delay: 0.3s; + -ms-transition-delay: 0.3s; + transition-delay: 0.3s; +} + +.items.onload-fade-in > *:nth-child(4) > .inner { + -moz-transition-delay: 0.45s; + -webkit-transition-delay: 0.45s; + -ms-transition-delay: 0.45s; + transition-delay: 0.45s; +} + +.items.onload-fade-in > *:nth-child(5) > .inner { + -moz-transition-delay: 0.6s; + -webkit-transition-delay: 0.6s; + -ms-transition-delay: 0.6s; + transition-delay: 0.6s; +} + +.items.onload-fade-in > *:nth-child(6) > .inner { + -moz-transition-delay: 0.75s; + -webkit-transition-delay: 0.75s; + -ms-transition-delay: 0.75s; + transition-delay: 0.75s; +} + +.items.onload-fade-in > *:nth-child(7) > .inner { + -moz-transition-delay: 0.9s; + -webkit-transition-delay: 0.9s; + -ms-transition-delay: 0.9s; + transition-delay: 0.9s; +} + +.items.onload-fade-in > *:nth-child(8) > .inner { + -moz-transition-delay: 1.05s; + -webkit-transition-delay: 1.05s; + -ms-transition-delay: 1.05s; + transition-delay: 1.05s; +} + +.items.onload-fade-in > *:nth-child(9) > .inner { + -moz-transition-delay: 1.2s; + -webkit-transition-delay: 1.2s; + -ms-transition-delay: 1.2s; + transition-delay: 1.2s; +} + +.items.onload-fade-in > *:nth-child(10) > .inner { + -moz-transition-delay: 1.35s; + -webkit-transition-delay: 1.35s; + -ms-transition-delay: 1.35s; + transition-delay: 1.35s; +} + +.items.onload-fade-in > *:nth-child(11) > .inner { + -moz-transition-delay: 1.5s; + -webkit-transition-delay: 1.5s; + -ms-transition-delay: 1.5s; + transition-delay: 1.5s; +} + +.items.onload-fade-in > *:nth-child(12) > .inner { + -moz-transition-delay: 1.65s; + -webkit-transition-delay: 1.65s; + -ms-transition-delay: 1.65s; + transition-delay: 1.65s; +} + +.items.onload-fade-in > *:nth-child(13) > .inner { + -moz-transition-delay: 1.8s; + -webkit-transition-delay: 1.8s; + -ms-transition-delay: 1.8s; + transition-delay: 1.8s; +} + +.items.onload-fade-in > *:nth-child(14) > .inner { + -moz-transition-delay: 1.95s; + -webkit-transition-delay: 1.95s; + -ms-transition-delay: 1.95s; + transition-delay: 1.95s; +} + +.items.onload-fade-in > *:nth-child(15) > .inner { + -moz-transition-delay: 2.1s; + -webkit-transition-delay: 2.1s; + -ms-transition-delay: 2.1s; + transition-delay: 2.1s; +} + +.items.onload-fade-in > *:nth-child(16) > .inner { + -moz-transition-delay: 2.25s; + -webkit-transition-delay: 2.25s; + -ms-transition-delay: 2.25s; + transition-delay: 2.25s; +} + +.items.onload-fade-in > *:nth-child(17) > .inner { + -moz-transition-delay: 2.4s; + -webkit-transition-delay: 2.4s; + -ms-transition-delay: 2.4s; + transition-delay: 2.4s; +} + +body.is-preload .items.onload-fade-in > * > .inner { + opacity: 0; +} + +.items.onscroll-fade-in > * > .inner { + -moz-transition: opacity 0.75s ease-in-out; + -webkit-transition: opacity 0.75s ease-in-out; + -ms-transition: opacity 0.75s ease-in-out; + transition: opacity 0.75s ease-in-out; + -moz-transition-delay: 2.4s; + -webkit-transition-delay: 2.4s; + -ms-transition-delay: 2.4s; + transition-delay: 2.4s; +} + +.items.onscroll-fade-in > *:nth-child(1) > .inner { + -moz-transition-delay: 0s; + -webkit-transition-delay: 0s; + -ms-transition-delay: 0s; + transition-delay: 0s; +} + +.items.onscroll-fade-in > *:nth-child(2) > .inner { + -moz-transition-delay: 0.15s; + -webkit-transition-delay: 0.15s; + -ms-transition-delay: 0.15s; + transition-delay: 0.15s; +} + +.items.onscroll-fade-in > *:nth-child(3) > .inner { + -moz-transition-delay: 0.3s; + -webkit-transition-delay: 0.3s; + -ms-transition-delay: 0.3s; + transition-delay: 0.3s; +} + +.items.onscroll-fade-in > *:nth-child(4) > .inner { + -moz-transition-delay: 0.45s; + -webkit-transition-delay: 0.45s; + -ms-transition-delay: 0.45s; + transition-delay: 0.45s; +} + +.items.onscroll-fade-in > *:nth-child(5) > .inner { + -moz-transition-delay: 0.6s; + -webkit-transition-delay: 0.6s; + -ms-transition-delay: 0.6s; + transition-delay: 0.6s; +} + +.items.onscroll-fade-in > *:nth-child(6) > .inner { + -moz-transition-delay: 0.75s; + -webkit-transition-delay: 0.75s; + -ms-transition-delay: 0.75s; + transition-delay: 0.75s; +} + +.items.onscroll-fade-in > *:nth-child(7) > .inner { + -moz-transition-delay: 0.9s; + -webkit-transition-delay: 0.9s; + -ms-transition-delay: 0.9s; + transition-delay: 0.9s; +} + +.items.onscroll-fade-in > *:nth-child(8) > .inner { + -moz-transition-delay: 1.05s; + -webkit-transition-delay: 1.05s; + -ms-transition-delay: 1.05s; + transition-delay: 1.05s; +} + +.items.onscroll-fade-in > *:nth-child(9) > .inner { + -moz-transition-delay: 1.2s; + -webkit-transition-delay: 1.2s; + -ms-transition-delay: 1.2s; + transition-delay: 1.2s; +} + +.items.onscroll-fade-in > *:nth-child(10) > .inner { + -moz-transition-delay: 1.35s; + -webkit-transition-delay: 1.35s; + -ms-transition-delay: 1.35s; + transition-delay: 1.35s; +} + +.items.onscroll-fade-in > *:nth-child(11) > .inner { + -moz-transition-delay: 1.5s; + -webkit-transition-delay: 1.5s; + -ms-transition-delay: 1.5s; + transition-delay: 1.5s; +} + +.items.onscroll-fade-in > *:nth-child(12) > .inner { + -moz-transition-delay: 1.65s; + -webkit-transition-delay: 1.65s; + -ms-transition-delay: 1.65s; + transition-delay: 1.65s; +} + +.items.onscroll-fade-in > *:nth-child(13) > .inner { + -moz-transition-delay: 1.8s; + -webkit-transition-delay: 1.8s; + -ms-transition-delay: 1.8s; + transition-delay: 1.8s; +} + +.items.onscroll-fade-in > *:nth-child(14) > .inner { + -moz-transition-delay: 1.95s; + -webkit-transition-delay: 1.95s; + -ms-transition-delay: 1.95s; + transition-delay: 1.95s; +} + +.items.onscroll-fade-in > *:nth-child(15) > .inner { + -moz-transition-delay: 2.1s; + -webkit-transition-delay: 2.1s; + -ms-transition-delay: 2.1s; + transition-delay: 2.1s; +} + +.items.onscroll-fade-in > *:nth-child(16) > .inner { + -moz-transition-delay: 2.25s; + -webkit-transition-delay: 2.25s; + -ms-transition-delay: 2.25s; + transition-delay: 2.25s; +} + +.items.onscroll-fade-in > *:nth-child(17) > .inner { + -moz-transition-delay: 2.4s; + -webkit-transition-delay: 2.4s; + -ms-transition-delay: 2.4s; + transition-delay: 2.4s; +} + +.items.onscroll-fade-in.is-inactive > * > .inner { + opacity: 0; +} + +/* Items (style1) */ + +.items.style1 { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + margin: 3rem 0; + position: relative; +} + +.items.style1 > * { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + border-style: solid; + border-left-width: 1px; + border-top-width: 1px; +} + +.items.style1.big > * { + padding: 3.5rem 3.5rem 1.5rem 3.5rem; + width: 50%; +} + +.items.style1.big > *:nth-child(-n + 2) { + border-top-width: 0; +} + +.items.style1.big > *:nth-child(2n + 1) { + border-left-width: 0; +} + +.items.style1.medium > * { + padding: 2.1875rem 2.1875rem 0.1875rem 2.1875rem; + width: 33.33333%; +} + +.items.style1.medium > *:nth-child(-n + 3) { + border-top-width: 0; +} + +.items.style1.medium > *:nth-child(3n + 1) { + border-left-width: 0; +} + +.items.style1.small > * { + padding: 1.3125rem 1.3125rem 0.1rem 1.3125rem; + width: 25%; +} + +.items.style1.small > *:nth-child(-n + 4) { + border-top-width: 0; +} + +.items.style1.small > *:nth-child(4n + 1) { + border-left-width: 0; +} + +@media screen and (max-width: 1280px) { + .items.style1.small > *:nth-child(-n + 4) { + border-top-width: 1px; + } + + .items.style1.small > *:nth-child(4n + 1) { + border-left-width: 1px; + } + + .items.style1.small > * { + padding: 2.1875rem 2.1875rem 0.1875rem 2.1875rem; + width: 33.33333%; + } + + .items.style1.small > *:nth-child(-n + 3) { + border-top-width: 0; + } + + .items.style1.small > *:nth-child(3n + 1) { + border-left-width: 0; + } +} + +@media screen and (max-width: 980px) { + .items.style1.medium > *:nth-child(-n + 3) { + border-top-width: 1px; + } + + .items.style1.medium > *:nth-child(3n + 1) { + border-left-width: 1px; + } + + .items.style1.medium > * { + padding: 3.5rem 3.5rem 1.5rem 3.5rem; + width: 50%; + } + + .items.style1.medium > *:nth-child(-n + 2) { + border-top-width: 0; + } + + .items.style1.medium > *:nth-child(2n + 1) { + border-left-width: 0; + } + + .items.style1.small > *:nth-child(-n + 3) { + border-top-width: 1px; + } + + .items.style1.small > *:nth-child(3n + 1) { + border-left-width: 1px; + } + + .items.style1.small > * { + padding: 3.5rem 3.5rem 1.5rem 3.5rem; + width: 50%; + } + + .items.style1.small > *:nth-child(-n + 2) { + border-top-width: 0; + } + + .items.style1.small > *:nth-child(2n + 1) { + border-left-width: 0; + } +} + +@media screen and (max-width: 480px) { + .items.style1.big > *:nth-child(-n + 2) { + border-top-width: 1px; + } + + .items.style1.big > *:nth-child(2n + 1) { + border-left-width: 1px; + } + + .items.style1.big > * { + padding: 2.625rem 2.625rem 0.625rem 2.625rem; + width: 100%; + } + + .items.style1.big > *:nth-child(-n + 1) { + border-top-width: 0; + } + + .items.style1.big > *:nth-child(1n + 1) { + border-left-width: 0; + } + + .items.style1.medium > *:nth-child(-n + 2) { + border-top-width: 1px; + } + + .items.style1.medium > *:nth-child(2n + 1) { + border-left-width: 1px; + } + + .items.style1.medium > * { + padding: 2.625rem 2.625rem 0.625rem 2.625rem; + width: 100%; + } + + .items.style1.medium > *:nth-child(-n + 1) { + border-top-width: 0; + } + + .items.style1.medium > *:nth-child(1n + 1) { + border-left-width: 0; + } + + .items.style1.small > *:nth-child(-n + 2) { + border-top-width: 1px; + } + + .items.style1.small > *:nth-child(2n + 1) { + border-left-width: 1px; + } + + .items.style1.small > * { + padding: 2.625rem 2.625rem 0.625rem 2.625rem; + width: 100%; + } + + .items.style1.small > *:nth-child(-n + 1) { + border-top-width: 0; + } + + .items.style1.small > *:nth-child(1n + 1) { + border-left-width: 0; + } + + .items.style1.big > *, + .items.style1.medium > *, + .items.style1.small > * { + padding-left: 0; + padding-right: 0; + } + + .items.style1.big > :first-child, + .items.style1.medium > :first-child, + .items.style1.small > :first-child { + padding-top: 0; + } + + .items.style1.big > :last-child, + .items.style1.medium > :last-child, + .items.style1.small > :last-child { + padding-bottom: 0; + } + + .items.style1.big > :last-child > .inner > :last-child, + .items.style1.medium > :last-child > .inner > :last-child, + .items.style1.small > :last-child > .inner > :last-child { + margin-bottom: 0; + } +} + +/* Items (style2) */ + +.items.style2 { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + margin: 3rem 0; + position: relative; + border: solid 1px; + border-radius: 4px; +} + +.items.style2 > * { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + border-style: solid; + border-left-width: 1px; + border-top-width: 1px; +} + +.items.style2.big > * { + padding: 3.5rem 3.5rem 1.5rem 3.5rem; + width: 50%; +} + +.items.style2.big > *:nth-child(-n + 2) { + border-top-width: 0; +} + +.items.style2.big > *:nth-child(2n + 1) { + border-left-width: 0; +} + +.items.style2.medium > * { + padding: 2.1875rem 2.1875rem 0.1875rem 2.1875rem; + width: 33.33333%; +} + +.items.style2.medium > *:nth-child(-n + 3) { + border-top-width: 0; +} + +.items.style2.medium > *:nth-child(3n + 1) { + border-left-width: 0; +} + +.items.style2.small > * { + padding: 1.3125rem 1.3125rem 0.1rem 1.3125rem; + width: 25%; +} + +.items.style2.small > *:nth-child(-n + 4) { + border-top-width: 0; +} + +.items.style2.small > *:nth-child(4n + 1) { + border-left-width: 0; +} + +@media screen and (max-width: 1280px) { + .items.style2.small > *:nth-child(-n + 4) { + border-top-width: 1px; + } + + .items.style2.small > *:nth-child(4n + 1) { + border-left-width: 1px; + } + + .items.style2.small > * { + padding: 2.1875rem 2.1875rem 0.1875rem 2.1875rem; + width: 33.33333%; + } + + .items.style2.small > *:nth-child(-n + 3) { + border-top-width: 0; + } + + .items.style2.small > *:nth-child(3n + 1) { + border-left-width: 0; + } +} + +@media screen and (max-width: 980px) { + .items.style2.medium > *:nth-child(-n + 3) { + border-top-width: 1px; + } + + .items.style2.medium > *:nth-child(3n + 1) { + border-left-width: 1px; + } + + .items.style2.medium > * { + padding: 3.5rem 3.5rem 1.5rem 3.5rem; + width: 50%; + } + + .items.style2.medium > *:nth-child(-n + 2) { + border-top-width: 0; + } + + .items.style2.medium > *:nth-child(2n + 1) { + border-left-width: 0; + } + + .items.style2.small > *:nth-child(-n + 3) { + border-top-width: 1px; + } + + .items.style2.small > *:nth-child(3n + 1) { + border-left-width: 1px; + } + + .items.style2.small > * { + padding: 3.5rem 3.5rem 1.5rem 3.5rem; + width: 50%; + } + + .items.style2.small > *:nth-child(-n + 2) { + border-top-width: 0; + } + + .items.style2.small > *:nth-child(2n + 1) { + border-left-width: 0; + } +} + +@media screen and (max-width: 480px) { + .items.style2.big > *:nth-child(-n + 2) { + border-top-width: 1px; + } + + .items.style2.big > *:nth-child(2n + 1) { + border-left-width: 1px; + } + + .items.style2.big > * { + padding: 2.625rem 2.625rem 0.625rem 2.625rem; + width: 100%; + } + + .items.style2.big > *:nth-child(-n + 1) { + border-top-width: 0; + } + + .items.style2.big > *:nth-child(1n + 1) { + border-left-width: 0; + } + + .items.style2.medium > *:nth-child(-n + 2) { + border-top-width: 1px; + } + + .items.style2.medium > *:nth-child(2n + 1) { + border-left-width: 1px; + } + + .items.style2.medium > * { + padding: 2.625rem 2.625rem 0.625rem 2.625rem; + width: 100%; + } + + .items.style2.medium > *:nth-child(-n + 1) { + border-top-width: 0; + } + + .items.style2.medium > *:nth-child(1n + 1) { + border-left-width: 0; + } + + .items.style2.small > *:nth-child(-n + 2) { + border-top-width: 1px; + } + + .items.style2.small > *:nth-child(2n + 1) { + border-left-width: 1px; + } + + .items.style2.small > * { + padding: 2.625rem 2.625rem 0.625rem 2.625rem; + width: 100%; + } + + .items.style2.small > *:nth-child(-n + 1) { + border-top-width: 0; + } + + .items.style2.small > *:nth-child(1n + 1) { + border-left-width: 0; + } +} + +/* Items (style3) */ + +.items.style3 { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + margin: 3rem 0; + position: relative; +} + +.items.style3 > * { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; +} + +.items.style3.big > * { + padding: 1.75rem 1.75rem 0.1rem 1.75rem; + width: 50%; +} + +.items.style3.medium > * { + padding: 1.09375rem 1.09375rem 0.1rem 1.09375rem; + width: 33.33333%; +} + +.items.style3.small > * { + padding: 0.65625rem 0.65625rem 0.1rem 0.65625rem; + width: 25%; +} + +@media screen and (max-width: 1280px) { + .items.style3.small > * { + padding: 1.09375rem 1.09375rem 0.1rem 1.09375rem; + width: 33.33333%; + } +} + +@media screen and (max-width: 980px) { + .items.style3.medium > * { + padding: 1.75rem 1.75rem 0.1rem 1.75rem; + width: 50%; + } + + .items.style3.small > * { + padding: 1.75rem 1.75rem 0.1rem 1.75rem; + width: 50%; + } +} + +@media screen and (max-width: 736px) { + .items.style3 { + margin: 2rem 0; + } +} + +@media screen and (max-width: 480px) { + .items.style3.big > * { + padding: 1.3125rem 1.3125rem 0.1rem 1.3125rem; + width: 100%; + } + + .items.style3.medium > * { + padding: 1.3125rem 1.3125rem 0.1rem 1.3125rem; + width: 100%; + } + + .items.style3.small > * { + padding: 1.3125rem 1.3125rem 0.1rem 1.3125rem; + width: 100%; + } + + .items.style3.big > *, + .items.style3.medium > *, + .items.style3.small > * { + padding-left: 0; + padding-right: 0; + } + + .items.style3.big > :first-child, + .items.style3.medium > :first-child, + .items.style3.small > :first-child { + padding-top: 0; + } + + .items.style3.big > :last-child, + .items.style3.medium > :last-child, + .items.style3.small > :last-child { + padding-bottom: 0; + } + + .items.style3.big > :last-child > .inner > :last-child, + .items.style3.medium > :last-child > .inner > :last-child, + .items.style3.small > :last-child > .inner > :last-child { + margin-bottom: 0; + } +} + +.items.style1 > * { + border-color: rgba(0, 0, 0, 0.2); +} + +.items.style2 { + border-color: rgba(0, 0, 0, 0.2); +} + +.items.style2 > * { + border-color: rgba(0, 0, 0, 0.2); +} + +/* Index */ + +.index > * { + padding: 3rem 0 1rem 0; + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + border-top: solid 1px; +} + +.index > * > header { + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + width: 15rem; +} + +.index > * > .content { + -moz-flex-grow: 1; + -webkit-flex-grow: 1; + -ms-flex-grow: 1; + flex-grow: 1; + -moz-flex-shrink: 1; + -webkit-flex-shrink: 1; + -ms-flex-shrink: 1; + flex-shrink: 1; +} + +.index > :first-child { + border-top: 0; +} + +@media screen and (max-width: 980px) { + .index > * > header { + width: 11rem; + } +} + +@media screen and (max-width: 736px) { + .index > * > header { + width: 10rem; + } +} + +@media screen and (max-width: 480px) { + .index > * { + -moz-flex-direction: column; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; + } + + .index > * > header { + width: 100%; + } +} + +.index > * { + border-top-color: rgba(0, 0, 0, 0.2); +} + +/* Partners */ +/* Ratings */ +.ratings-container { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-wrap: wrap; + -webkit-flex-wrap: wrap; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -moz-justify-content: space-between; + -webkit-justify-content: space-between; + -ms-justify-content: space-between; + justify-content: space-between; + row-gap: 1.5rem; + column-gap: 1rem; +} + +.ratings-container > .ratings { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + width: 45%; + min-width: 260px; + -moz-justify-content: space-between; + -webkit-justify-content: space-between; + -ms-justify-content: space-between; + justify-content: space-between; + align-items: center; +} +.ratings-container > .ratings p { + margin: 0; +} + +.partners { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-flex-wrap: nowrap; + -webkit-flex-wrap: nowrap; + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + -moz-justify-content: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; + -moz-align-items: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; + -moz-flex-grow: 0; + -webkit-flex-grow: 0; + -ms-flex-grow: 0; + flex-grow: 0; + -moz-flex-shrink: 0; + -webkit-flex-shrink: 0; + -ms-flex-shrink: 0; + flex-shrink: 0; + margin: 3rem 0; +} + +.partners > a > img { + height: 2.5rem; +} + +.ratings-container > .partners { + display: -moz-flex; + display: -webkit-flex; + display: -ms-flex; + display: flex; + -moz-justify-content: flex-end; + -webkit-justify-content: flex-end; + -ms-justify-content: flex-end; + justify-content: flex-end; + margin: 0; +} + +.ratings-container > .partners > a > img { + height: 2rem; + width: auto; +} + +.partners > * { + padding: 0 0.75rem; +} +.partners *:only-child { + padding: 0; +} +.partners *:first-child { + padding-left: 0; +} +.partners *:last-child { + padding-right: 0; +} + +@media screen and (min-width: 1280px) { + .items > * .ratings { + width: 100%; + justify-content: space-around; + } +} + +@media screen and (max-width: 480px) { + .items > * .ratings-container { + justify-content: center; + } + .partners { + flex-wrap: wrap; + -moz-align-items: flex-start; + -webkit-align-items: flex-start; + -ms-align-items: flex-start; + align-items: flex-start; /* fixes safari image stretching */ + } + .ratings-container > .partners > a > img { + height: auto; + width: 48px; + } + .partners > a > img { + height: auto; + width: 4rem; + } +} + +/* Wrapper */ + +#wrapper { + background-color: #ffffff; + width: 100%; + overflow-x: hidden; +} + +#wrapper > .invert { + background-color: #000000; + color: #ffffff; +} + +#wrapper > .invert input, +#wrapper > .invert select, +#wrapper > .invert textarea { + color: #ffffff; +} + +#wrapper > .invert a { + color: #ffffff; +} + +#wrapper > .invert a:hover { + color: var(--primary); +} + +#wrapper > .invert strong, +#wrapper > .invert b { + color: #ffffff; +} + +#wrapper > .invert h1, +#wrapper > .invert h2, +#wrapper > .invert h3, +#wrapper > .invert h4, +#wrapper > .invert h5, +#wrapper > .invert h6 { + color: #ffffff; +} + +#wrapper > .invert blockquote { + border-left-color: white; +} + +#wrapper > .invert code { + background: rgba(255, 255, 255, 0.125); + border-color: white; +} + +#wrapper > .invert hr { + border-bottom-color: white; +} + +#wrapper > .invert .box { + border-color: white; +} + +#wrapper > .invert input[type="submit"], +#wrapper > .invert input[type="reset"], +#wrapper > .invert input[type="button"], +#wrapper > .invert button, +#wrapper > .invert .button { + background-color: transparent; + box-shadow: inset 0 0 0 1px white; + color: #ffffff !important; +} + +#wrapper > .invert input[type="submit"]:hover, +#wrapper > .invert input[type="reset"]:hover, +#wrapper > .invert input[type="button"]:hover, +#wrapper > .invert button:hover, +#wrapper > .invert .button:hover { + box-shadow: inset 0 0 0 1px var(--primary); + color: var(--primary) !important; +} + +#wrapper > .invert input[type="submit"]:active, +#wrapper > .invert input[type="reset"]:active, +#wrapper > .invert input[type="button"]:active, +#wrapper > .invert button:active, +#wrapper > .invert .button:active { + background-color: var(--primary-shadow); + box-shadow: inset 0 0 0 1px var(--primary); + color: var(--primary) !important; +} + +#wrapper > .invert input[type="submit"].primary, +#wrapper > .invert input[type="reset"].primary, +#wrapper > .invert input[type="button"].primary, +#wrapper > .invert button.primary, +#wrapper > .invert .button.primary { + background-color: #ffffff; + box-shadow: none; + color: #000000 !important; +} + +#wrapper > .invert input[type="submit"].primary:hover, +#wrapper > .invert input[type="reset"].primary:hover, +#wrapper > .invert input[type="button"].primary:hover, +#wrapper > .invert button.primary:hover, +#wrapper > .invert .button.primary:hover { + background-color: var(--primary); + color: #fff !important; +} + +#wrapper > .invert input[type="submit"].primary:active, +#wrapper > .invert input[type="reset"].primary:active, +#wrapper > .invert input[type="button"].primary:active, +#wrapper > .invert button.primary:active, +#wrapper > .invert .button.primary:active { + background-color: var(--primary); + color: #fff !important; +} + +#wrapper > .invert label { + color: #ffffff; +} + +#wrapper > .invert input[type="text"], +#wrapper > .invert input[type="number"], +#wrapper > .invert input[type="password"], +#wrapper > .invert input[type="email"], +#wrapper > .invert input[type="tel"], +#wrapper > .invert input[type="search"], +#wrapper > .invert input[type="url"], +#wrapper > .invert select, +#wrapper > .invert textarea { + border-color: white; +} + +#wrapper > .invert input[type="text"]:focus, +#wrapper > .invert input[type="number"]:focus, +#wrapper > .invert input[type="password"]:focus, +#wrapper > .invert input[type="email"]:focus, +#wrapper > .invert input[type="tel"]:focus, +#wrapper > .invert input[type="search"]:focus, +#wrapper > .invert input[type="url"]:focus, +#wrapper > .invert select:focus, +#wrapper > .invert textarea:focus { + border-color: var(--primary); + box-shadow: 0 0 0 1px var(--primary); +} + +#wrapper > .invert select { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='rgba(0, 0, 0, 0.2)' /%3E%3C/svg%3E"); +} + +#wrapper > .invert select option { + color: #000000; + background: #ffffff; +} + +#wrapper > .invert input[type="checkbox"] + label, +#wrapper > .invert input[type="radio"] + label { + color: #ffffff; +} + +#wrapper > .invert input[type="checkbox"] + label:before, +#wrapper > .invert input[type="radio"] + label:before { + border-color: white; +} + +#wrapper > .invert input[type="checkbox"]:checked + label:before, +#wrapper > .invert input[type="radio"]:checked + label:before { + background-color: #ffffff; + border-color: #ffffff; + color: #000000; +} + +#wrapper > .invert input[type="checkbox"]:focus + label:before, +#wrapper > .invert input[type="radio"]:focus + label:before { + border-color: var(--primary); + box-shadow: 0 0 0 1px var(--primary); +} + +#wrapper > .invert ::-webkit-input-placeholder { + color: #ffffff !important; +} + +#wrapper > .invert :-moz-placeholder { + color: #ffffff !important; +} + +#wrapper > .invert ::-moz-placeholder { + color: #ffffff !important; +} + +#wrapper > .invert :-ms-input-placeholder { + color: #ffffff !important; +} + +#wrapper > .invert .icon.style2:before { + box-shadow: inset 0 0 0 1px white; +} + +#wrapper > .invert a.icon.style2:hover:before { + box-shadow: inset 0 0 0 1px var(--primary); + color: var(--primary); +} + +#wrapper > .invert a.icon.style2:active:before { + background-color: var(--primary-shadow); + box-shadow: inset 0 0 0 1px var(--primary); + color: var(--primary); +} + +#wrapper > .invert ul.alt li { + border-top-color: white; +} + +#wrapper > .invert header p { + color: #ffffff; +} + +#wrapper > .invert table tbody tr { + border-color: white; +} + +#wrapper > .invert table tbody tr:nth-child(2n + 1) { + background-color: rgba(255, 255, 255, 0.125); +} + +#wrapper > .invert table tbody tr.alt { + background-color: rgba(255, 255, 255, 0.125) !important; +} + +#wrapper > .invert table th { + color: #ffffff; +} + +#wrapper > .invert table thead { + border-bottom-color: white; +} + +#wrapper > .invert table tfoot { + border-top-color: white; +} + +#wrapper > .invert table.alt tbody tr td { + border-color: white; +} + +#wrapper > .invert table.uniform tbody tr:nth-child(2n + 1) { + background-color: transparent; +} + +#wrapper > .invert .banner .image { + background-color: rgba(255, 255, 255, 0.125); +} + +#wrapper > .invert .banner.style4 .image { + border-color: white; + background-color: white; + border-width: 1px; +} + +#wrapper > .invert .banner.style4 .image:before { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: white%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='11' y='12' width='42' height='8' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E"); + border-color: white; + width: calc(100% + 2px); + margin-left: -1px; +} + +#wrapper > .invert .banner.style4 .image:after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: white%3B stroke-width: 1px%3B %7D%3C/style%3E%3Ccircle cx='32' cy='16' r='14' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E"); + border-color: white; + width: calc(100% + 2px); + margin-left: -1px; +} + +#wrapper > .invert .banner.style4.android .image:after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: white%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='6' y='4' width='52' height='24' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E"); +} + +#wrapper > .invert .spotlight .image { + background-color: rgba(255, 255, 255, 0.125); +} + +#wrapper > .invert .spotlight.style3 .image { + border-color: white; + background-color: white; + border-width: 1px; +} + +#wrapper > .invert .spotlight.style3 .image:before { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: white%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='11' y='12' width='42' height='8' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E"); + border-color: white; + width: calc(100% + 2px); + margin-left: -1px; +} + +#wrapper > .invert .spotlight.style3 .image:after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Ecircle %7Bfill: transparent%3B stroke: white%3B stroke-width: 1px%3B %7D%3C/style%3E%3Ccircle cx='32' cy='16' r='14' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E"); + border-color: white; + width: calc(100% + 2px); + margin-left: -1px; +} + +#wrapper > .invert .spotlight.style3.android .image:after { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='64px' height='32px' viewBox='0 0 64 32' zoomAndPan='disable'%3E%3Cstyle%3Erect %7Bfill: transparent%3B stroke: white%3B stroke-width: 1px%3B %7D%3C/style%3E%3Crect rx='4' ry='4' x='6' y='4' width='52' height='24' vector-effect='non-scaling-stroke' /%3E%3C/svg%3E"); +} + +#wrapper > .invert .gallery article .image { + background-color: rgba(255, 255, 255, 0.125); +} + +#wrapper > .invert .items.style1 > * { + border-color: white; +} + +#wrapper > .invert .items.style2 { + border-color: white; +} + +#wrapper > .invert .items.style2 > * { + border-color: white; +} + +#wrapper > .invert .index > * { + border-top-color: white; +} + +#wrapper > .color1 { + background-color: #30363d; +} + +#wrapper > .color2 { + background-color: #db8992; +} + +#wrapper > .color3 { + background-color: #ab7aad; +} + +#wrapper > .color4 { + background-color: #897cad; +} + +#wrapper > .color5 { + background-color: #7794ce; +} + +#wrapper > .color6 { + background-color: #64abb4; +} + +#wrapper > .color7 { + background-color: #6ba78c; +} +#wrapper > .color8 { + background-color: var(--spotlight); /* placeholder for js random */ +} + +#wrapper.divided > * { + box-shadow: inset 0 1px 0 0 rgba(0, 0, 0, 0.075); +} + +#wrapper.divided > *:first-child, +#main { + box-shadow: none !important; +} + +#wrapper.divided > .invert { + box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.125); +} + +#wrapper.divided > .invert:first-child { + box-shadow: none !important; +} diff --git a/src/assets/css/noscript.css b/src/assets/css/noscript.css new file mode 100644 index 0000000..79a168f --- /dev/null +++ b/src/assets/css/noscript.css @@ -0,0 +1,387 @@ +/* + Story by HTML5 UP + html5up.net | @ajlkn + Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) +*/ + +/* Banner (transitions) */ + + .banner.onload-content-fade-up .content { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + body.is-preload .banner.onload-content-fade-up .content { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onload-content-fade-down .content { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + body.is-preload .banner.onload-content-fade-down .content { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onload-content-fade-left .content { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + body.is-preload .banner.onload-content-fade-left .content { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onload-content-fade-right .content { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + body.is-preload .banner.onload-content-fade-right .content { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onload-content-fade-in .content { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + body.is-preload .banner.onload-content-fade-in .content { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onload-image-fade-up .image { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onload-image-fade-up .image img { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + body.is-preload .banner.onload-image-fade-up .image { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + body.is-preload .banner.onload-image-fade-up .image img { + opacity: 1; + } + + .banner.onload-image-fade-down .image { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onload-image-fade-down .image img { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + body.is-preload .banner.onload-image-fade-down .image { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + body.is-preload .banner.onload-image-fade-down .image img { + opacity: 1; + } + + .banner.onload-image-fade-left .image { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onload-image-fade-left .image img { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + body.is-preload .banner.onload-image-fade-left .image { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + body.is-preload .banner.onload-image-fade-left .image img { + opacity: 1; + } + + .banner.onload-image-fade-right .image { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onload-image-fade-right .image img { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + body.is-preload .banner.onload-image-fade-right .image { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + body.is-preload .banner.onload-image-fade-right .image img { + opacity: 1; + } + + .banner.onload-image-fade-in .image img { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + body.is-preload .banner.onload-image-fade-in .image img { + opacity: 1; + } + + .banner.onscroll-content-fade-up .content { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-content-fade-up.is-inactive .content { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onscroll-content-fade-down .content { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-content-fade-down.is-inactive .content { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onscroll-content-fade-left .content { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-content-fade-left.is-inactive .content { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onscroll-content-fade-right .content { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-content-fade-right.is-inactive .content { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onscroll-content-fade-in .content { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-content-fade-in.is-inactive .content { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onscroll-image-fade-up .image { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-image-fade-up .image img { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-image-fade-up.is-inactive .image { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onscroll-image-fade-up.is-inactive .image img { + opacity: 1; + } + + .banner.onscroll-image-fade-down .image { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-image-fade-down .image img { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-image-fade-down.is-inactive .image { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onscroll-image-fade-down.is-inactive .image img { + opacity: 1; + } + + .banner.onscroll-image-fade-left .image { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-image-fade-left .image img { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-image-fade-left.is-inactive .image { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onscroll-image-fade-left.is-inactive .image img { + opacity: 1; + } + + .banner.onscroll-image-fade-right .image { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-image-fade-right .image img { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-image-fade-right.is-inactive .image { + -moz-transform: none; + -webkit-transform: none; + -ms-transform: none; + transform: none; + opacity: 1; + } + + .banner.onscroll-image-fade-right.is-inactive .image img { + opacity: 1; + } + + .banner.onscroll-image-fade-in .image img { + -moz-transition: none; + -webkit-transition: none; + -ms-transition: none; + transition: none; + } + + .banner.onscroll-image-fade-in.is-inactive .image img { + opacity: 1; + } \ No newline at end of file diff --git a/src/assets/css/video.css b/src/assets/css/video.css new file mode 100644 index 0000000..ec42422 --- /dev/null +++ b/src/assets/css/video.css @@ -0,0 +1,19 @@ +.video-container { + position: relative; + padding-bottom: 56.25%; + padding-top: 30px; + height: 0; + overflow: hidden; +} + +.video-container iframe, +.video-container object, +.video-container video, +.video-container embed { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +/* https://avexdesigns.com/responsive-youtube-embed/ */ diff --git a/src/assets/db/allproducts.json b/src/assets/db/allproducts.json new file mode 100644 index 0000000..8290d76 --- /dev/null +++ b/src/assets/db/allproducts.json @@ -0,0 +1 @@ +[{"id": 8639870797, "title": "Toggle", "handle": "toggle", "published_at": "2016-12-20T13:27:00-05:00", "created_at": "2016-12-20T13:13:46-05:00", "updated_at": "2023-01-23T11:50:07-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware misc", "tags": ["BFCM15%", "Clothing", "Components", "Hardware", "Misc Plastic Components", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware", "Tarps/Shelters", "woojin", "WOOJIN LOGO"], "variants": [{"id": 29590315725, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "WJ-toggle-large", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "3.50", "grams": 48, "compare_at_price": null, "position": 1, "product_id": 8639870797, "created_at": "2016-12-20T13:13:46-05:00", "updated_at": "2023-01-23T11:46:01-05:00"}], "images": [{"id": 11940637933616, "created_at": "2019-08-19T02:20:36-04:00", "position": 1, "updated_at": "2019-08-19T02:20:36-04:00", "product_id": 8639870797, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/toggle_b84f816d-700e-4d5e-bf45-a464c7cd724a.jpg?v=1566195636", "width": 300, "height": 300}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/toggle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/toggle_b84f816d-700e-4d5e-bf45-a464c7cd724a_400X.jpg?v=1566195636", "sizes": [[]]}, {"id": 8070915137, "title": "Piping Clip", "handle": "piping-clip", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-09-26T14:19:51-04:00", "updated_at": "2023-01-24T22:45:02-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware sternum", "tags": ["BFCM15%", "Components", "Hardware", "Misc Plastic Components", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware"], "variants": [{"id": 26573446017, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "piping-clip-B-15", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.50", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 8070915137, "created_at": "2016-09-26T14:19:51-04:00", "updated_at": "2023-01-24T22:42:16-05:00"}], "images": [{"id": 34957931905194, "created_at": "2022-10-19T11:05:00-04:00", "position": 1, "updated_at": "2022-10-19T11:05:10-04:00", "product_id": 8070915137, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/PipingClip.jpg?v=1666191910", "width": 2000, "height": 2000}, {"id": 34957932167338, "created_at": "2022-10-19T11:05:00-04:00", "position": 2, "updated_at": "2022-10-19T11:05:10-04:00", "product_id": 8070915137, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/PipingClip2.jpg?v=1666191910", "width": 2000, "height": 2000}, {"id": 34957931937962, "created_at": "2022-10-19T11:05:00-04:00", "position": 3, "updated_at": "2022-10-19T11:05:10-04:00", "product_id": 8070915137, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/PipingClipComparison.jpg?v=1666191910", "width": 2000, "height": 2000}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/piping-clip?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/PipingClip_400X.jpg?v=1666191910", "sizes": [[]]}, {"id": 8068942657, "title": "Molle Webbing Clip", "handle": "molle-webbing-clip", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-09-26T11:20:14-04:00", "updated_at": "2023-01-23T13:50:09-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["BFCM15%", "Components", "Hardware", "Misc Plastic Components", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware"], "variants": [{"id": 26564657473, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "molle-web-clip-15", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.00", "grams": 23, "compare_at_price": null, "position": 1, "product_id": 8068942657, "created_at": "2016-09-26T11:20:14-04:00", "updated_at": "2023-01-23T13:46:32-05:00"}], "images": [{"id": 31791107309738, "created_at": "2021-11-02T16:55:26-04:00", "position": 1, "updated_at": "2021-11-02T16:55:28-04:00", "product_id": 8068942657, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/MolleWebbingClipopen.jpg?v=1635886528", "width": 2000, "height": 2000}, {"id": 31791107276970, "created_at": "2021-11-02T16:55:26-04:00", "position": 2, "updated_at": "2021-11-02T16:55:28-04:00", "product_id": 8068942657, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/MolleWebbingClipclosed.jpg?v=1635886528", "width": 2000, "height": 2000}, {"id": 31791107244202, "created_at": "2021-11-02T16:55:26-04:00", "position": 3, "updated_at": "2021-11-02T16:55:27-04:00", "product_id": 8068942657, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/MolleWebbingSideClipped.jpg?v=1635886527", "width": 2000, "height": 2000}, {"id": 31791107342506, "created_at": "2021-11-02T16:55:26-04:00", "position": 4, "updated_at": "2021-11-02T16:55:28-04:00", "product_id": 8068942657, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/MolleWebbingSideunclipped.jpg?v=1635886528", "width": 2000, "height": 2000}, {"id": 31791107440810, "created_at": "2021-11-02T16:55:26-04:00", "position": 5, "updated_at": "2021-11-02T16:55:28-04:00", "product_id": 8068942657, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/MolleWebbingClipComparison.jpg?v=1635886528", "width": 2000, "height": 2000}, {"id": 11940363501616, "created_at": "2019-08-19T00:35:05-04:00", "position": 6, "updated_at": "2019-08-19T00:35:05-04:00", "product_id": 8068942657, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/molle_webbing_clip_2_1749f667-dd47-45ba-935f-001c2d560bd2.jpg?v=1566189305", "width": 300, "height": 300}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/molle-webbing-clip?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/MolleWebbingClipopen_400X.jpg?v=1635886528", "sizes": [[]]}, {"id": 8068857985, "title": "Curved Whistle", "handle": "curved-whistle", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-09-26T11:10:42-04:00", "updated_at": "2023-01-24T11:49:38-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware misc", "tags": ["BFCM15%", "Components", "Hardware", "Misc Plastic Components", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware"], "variants": [{"id": 26564379265, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "curved-whistle-B", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.75", "grams": 40, "compare_at_price": null, "position": 1, "product_id": 8068857985, "created_at": "2016-09-26T11:10:42-04:00", "updated_at": "2023-01-14T20:51:50-05:00"}], "images": [{"id": 31790802501802, "created_at": "2021-11-02T16:27:39-04:00", "position": 1, "updated_at": "2021-11-02T16:27:40-04:00", "product_id": 8068857985, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CurvedWhistleTop.jpg?v=1635884860", "width": 2000, "height": 2000}, {"id": 31790801813674, "created_at": "2021-11-02T16:27:33-04:00", "position": 2, "updated_at": "2021-11-02T16:27:34-04:00", "product_id": 8068857985, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CurvedWhistleBottom.jpg?v=1635884854", "width": 2000, "height": 2000}, {"id": 31790802534570, "created_at": "2021-11-02T16:27:39-04:00", "position": 3, "updated_at": "2021-11-02T16:27:40-04:00", "product_id": 8068857985, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CurvedWhistleSide.jpg?v=1635884860", "width": 2000, "height": 2000}, {"id": 31790802960554, "created_at": "2021-11-02T16:27:42-04:00", "position": 4, "updated_at": "2021-11-02T16:27:43-04:00", "product_id": 8068857985, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CurvedWhistleComparison.jpg?v=1635884863", "width": 2000, "height": 2000}, {"id": 11942677577776, "created_at": "2019-08-19T07:52:14-04:00", "position": 5, "updated_at": "2019-08-19T07:52:14-04:00", "product_id": 8068857985, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/curved_whistle_app_8f311613-f911-41ee-83e5-e6a4e82faf29.jpg?v=1566215534", "width": 300, "height": 300}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/curved-whistle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/CurvedWhistleTop_400X.jpg?v=1635884860", "sizes": [[]]}, {"id": 8069022017, "title": "Hydration Tube Clip", "handle": "hydration-tube-clip", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-09-26T11:27:34-04:00", "updated_at": "2023-01-22T20:30:07-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["BFCM15%", "Components", "Hardware", "Misc Plastic Components", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware"], "variants": [{"id": 26564929665, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "H20-clip-B-15", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.70", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 8069022017, "created_at": "2016-09-26T11:27:34-04:00", "updated_at": "2023-01-22T20:28:30-05:00"}], "images": [{"id": 34958287175850, "created_at": "2022-10-19T11:48:28-04:00", "position": 1, "updated_at": "2022-10-19T11:48:29-04:00", "product_id": 8069022017, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/HydrationTubeClipComparison2.jpg?v=1666194509", "width": 2000, "height": 2000}, {"id": 34958287306922, "created_at": "2022-10-19T11:48:28-04:00", "position": 2, "updated_at": "2022-10-19T11:48:57-04:00", "product_id": 8069022017, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/HydrationTubeClip.jpg?v=1666194537", "width": 2000, "height": 2000}, {"id": 34958287208618, "created_at": "2022-10-19T11:48:28-04:00", "position": 3, "updated_at": "2022-10-19T11:48:57-04:00", "product_id": 8069022017, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/HydrationTubeClipSideView.jpg?v=1666194537", "width": 2000, "height": 2000}, {"id": 34958287241386, "created_at": "2022-10-19T11:48:28-04:00", "position": 4, "updated_at": "2022-10-19T11:48:57-04:00", "product_id": 8069022017, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/HydrationTubeClipComparison.jpg?v=1666194537", "width": 2000, "height": 2000}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/hydration-tube-clip?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/HydrationTubeClipComparison2_400X.jpg?v=1666194509", "sizes": [[]]}, {"id": 7081434185898, "title": "Slik Clip", "handle": "slik-clip", "published_at": "2022-01-13T21:22:27-05:00", "created_at": "2021-12-02T15:07:53-05:00", "updated_at": "2023-01-22T16:11:14-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["BFCM15%", "Components", "Duraflex", "DURAFLEX LOGO", "Hardware", "Misc Plastic Components", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware"], "variants": [{"id": 41809492541610, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "DF-SLIK-25", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.50", "grams": 30, "compare_at_price": null, "position": 1, "product_id": 7081434185898, "created_at": "2021-12-02T15:07:53-05:00", "updated_at": "2023-01-22T16:09:12-05:00"}], "images": [{"id": 32407203774634, "created_at": "2021-12-29T15:43:49-05:00", "position": 1, "updated_at": "2021-12-29T15:44:08-05:00", "product_id": 7081434185898, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SilkClip.jpg?v=1640810648", "width": 2000, "height": 2000}, {"id": 32407203807402, "created_at": "2021-12-29T15:43:49-05:00", "position": 2, "updated_at": "2021-12-29T15:44:08-05:00", "product_id": 7081434185898, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SilkClipComparison.jpg?v=1640810648", "width": 2000, "height": 2000}, {"id": 32407203741866, "created_at": "2021-12-29T15:43:49-05:00", "position": 3, "updated_at": "2021-12-29T15:44:08-05:00", "product_id": 7081434185898, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SilkClipclosed.jpg?v=1640810648", "width": 2000, "height": 2000}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/slik-clip?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/SilkClip_400X.jpg?v=1640810648", "sizes": [[]]}, {"id": 8640855309, "title": "Earphone Port", "handle": "earphone-port", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-12-20T15:11:07-05:00", "updated_at": "2023-01-16T16:45:10-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware misc", "tags": ["BFCM15%", "Clothing", "Components", "Hardware", "Misc Plastic Components", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 29592680269, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "WJ-earphone-port-B", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.75", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 8640855309, "created_at": "2016-12-20T15:11:07-05:00", "updated_at": "2023-01-16T16:42:06-05:00"}], "images": [{"id": 11940102996016, "created_at": "2019-08-18T23:18:51-04:00", "position": 1, "updated_at": "2019-08-18T23:18:51-04:00", "product_id": 8640855309, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CD_earphone_port_1c6c2059-058d-4e5e-a6ad-53349db7138a.jpg?v=1566184731", "width": 300, "height": 300}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/earphone-port?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/CD_earphone_port_1c6c2059-058d-4e5e-a6ad-53349db7138a_400X.jpg?v=1566184731", "sizes": [[]]}, {"id": 7081437462698, "title": "Siamese Slik Clip", "handle": "siamese-slik-clip", "published_at": "2022-01-13T21:22:28-05:00", "created_at": "2021-12-02T15:12:37-05:00", "updated_at": "2023-01-24T22:42:16-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["BFCM15%", "Components", "Duraflex", "DURAFLEX LOGO", "Hardware", "Misc Plastic Components", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware"], "variants": [{"id": 41809521639594, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "DF-SIAM-SLIK-25", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "5.75", "grams": 47, "compare_at_price": null, "position": 1, "product_id": 7081437462698, "created_at": "2021-12-02T15:12:37-05:00", "updated_at": "2023-01-24T22:42:16-05:00"}], "images": [{"id": 32407205806250, "created_at": "2021-12-29T15:44:38-05:00", "position": 1, "updated_at": "2021-12-29T15:44:54-05:00", "product_id": 7081437462698, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SiameseSlikClip.jpg?v=1640810694", "width": 2000, "height": 2000}, {"id": 32407205740714, "created_at": "2021-12-29T15:44:38-05:00", "position": 2, "updated_at": "2021-12-29T15:44:54-05:00", "product_id": 7081437462698, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SiameseSlikClipComparison.jpg?v=1640810694", "width": 2000, "height": 2000}, {"id": 32407205773482, "created_at": "2021-12-29T15:44:38-05:00", "position": 3, "updated_at": "2021-12-29T15:44:54-05:00", "product_id": 7081437462698, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SiameseSlikClipClosed.jpg?v=1640810694", "width": 2000, "height": 2000}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/siamese-slik-clip?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/SiameseSlikClip_400X.jpg?v=1640810694", "sizes": [[]]}, {"id": 7389601136810, "title": "Gate Keeper", "handle": "gate-keeper", "published_at": "2022-12-13T13:00:02-05:00", "created_at": "2022-06-02T10:13:29-04:00", "updated_at": "2023-01-24T22:42:21-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["BFCM15%", "Components", "Duraflex", "DURAFLEX LOGO", "Hardware", "Misc Plastic Components", "NEW", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware"], "variants": [{"id": 43008615874730, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "DF-GATEK-25", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "7.95", "grams": 49, "compare_at_price": null, "position": 1, "product_id": 7389601136810, "created_at": "2022-06-02T10:13:29-04:00", "updated_at": "2023-01-24T22:42:21-05:00"}], "images": [{"id": 34895607267498, "created_at": "2022-10-12T10:49:47-04:00", "position": 1, "updated_at": "2022-10-12T10:49:49-04:00", "product_id": 7389601136810, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/GateKeeper.jpg?v=1665586189", "width": 2000, "height": 2000}, {"id": 34895607234730, "created_at": "2022-10-12T10:49:47-04:00", "position": 2, "updated_at": "2022-10-12T10:49:49-04:00", "product_id": 7389601136810, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/GateKeeperComparison.jpg?v=1665586189", "width": 2000, "height": 2000}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/gate-keeper?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/GateKeeper_400X.jpg?v=1665586189", "sizes": [[]]}, {"id": 7389599531178, "title": "Small Toggle", "handle": "small-toggle", "published_at": "2022-12-13T13:00:04-05:00", "created_at": "2022-06-02T10:06:39-04:00", "updated_at": "2023-01-23T06:30:33-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware misc", "tags": ["BFCM15%", "Clothing", "Components", "Hardware", "Misc Plastic Components", "NEW", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware", "Tarps/Shelters", "woojin", "WOOJIN LOGO"], "variants": [{"id": 43008608829610, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "WJ-TOGGLE-SMALL", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "3.25", "grams": 12, "compare_at_price": null, "position": 1, "product_id": 7389599531178, "created_at": "2022-06-02T10:06:41-04:00", "updated_at": "2023-01-23T06:27:06-05:00"}], "images": [{"id": 34895459811498, "created_at": "2022-10-12T10:28:59-04:00", "position": 1, "updated_at": "2022-10-12T10:29:00-04:00", "product_id": 7389599531178, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SmallToggle_2.jpg?v=1665584940", "width": 2000, "height": 2000}, {"id": 34895459844266, "created_at": "2022-10-12T10:28:59-04:00", "position": 2, "updated_at": "2022-10-12T10:29:00-04:00", "product_id": 7389599531178, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SmallToggleComparison.jpg?v=1665584940", "width": 2000, "height": 2000}, {"id": 34895459778730, "created_at": "2022-10-12T10:28:59-04:00", "position": 3, "updated_at": "2022-10-12T10:29:00-04:00", "product_id": 7389599531178, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SmallToggle.jpg?v=1665584940", "width": 2000, "height": 2000}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/small-toggle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/SmallToggle_2_400X.jpg?v=1665584940", "sizes": [[]]}, {"id": 7389594452138, "title": "Common Loop", "handle": "loop", "published_at": "2022-12-13T13:00:01-05:00", "created_at": "2022-06-02T09:46:09-04:00", "updated_at": "2023-01-24T20:52:40-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware misc", "tags": ["Adjusters", "BFCM15%", "Components", "Hardware", "NEW", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Adjusters", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 43008588021930, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "WJ-LOOP-20", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34895989244074, "product_id": 7389594452138, "position": 5, "created_at": "2022-10-12T11:57:57-04:00", "updated_at": "2022-10-12T11:59:01-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CommonLoopComparison_3_4.jpg?v=1665590341", "variant_ids": [43008588021930]}, "available": true, "price": "3.25", "grams": 24, "compare_at_price": null, "position": 1, "product_id": 7389594452138, "created_at": "2022-06-02T09:46:09-04:00", "updated_at": "2023-01-24T20:52:40-05:00"}, {"id": 43008588054698, "title": "1\"", "option1": "1\"", "option2": null, "option3": null, "sku": "WJ-LOOP-25", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34895988785322, "product_id": 7389594452138, "position": 3, "created_at": "2022-10-12T11:57:57-04:00", "updated_at": "2022-10-12T11:59:01-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CommonLoopComparison_1.jpg?v=1665590341", "variant_ids": [43008588054698]}, "available": true, "price": "3.50", "grams": 29, "compare_at_price": null, "position": 2, "product_id": 7389594452138, "created_at": "2022-06-02T09:46:09-04:00", "updated_at": "2023-01-21T16:42:18-05:00"}], "images": [{"id": 34895994028202, "created_at": "2022-10-12T11:58:54-04:00", "position": 1, "updated_at": "2022-10-12T11:59:01-04:00", "product_id": 7389594452138, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CommonLoop.jpg?v=1665590341", "width": 2000, "height": 2000}, {"id": 34895989014698, "created_at": "2022-10-12T11:57:57-04:00", "position": 2, "updated_at": "2022-10-12T11:59:01-04:00", "product_id": 7389594452138, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CommonLoop_1.jpg?v=1665590341", "width": 2000, "height": 2000}, {"id": 34895988785322, "created_at": "2022-10-12T11:57:57-04:00", "position": 3, "updated_at": "2022-10-12T11:59:01-04:00", "product_id": 7389594452138, "variant_ids": [43008588054698], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CommonLoopComparison_1.jpg?v=1665590341", "width": 2000, "height": 2000}, {"id": 34895989211306, "created_at": "2022-10-12T11:57:57-04:00", "position": 4, "updated_at": "2022-10-12T11:59:01-04:00", "product_id": 7389594452138, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CommonLoop_1__1.jpg?v=1665590341", "width": 2000, "height": 2000}, {"id": 34895989244074, "created_at": "2022-10-12T11:57:57-04:00", "position": 5, "updated_at": "2022-10-12T11:59:01-04:00", "product_id": 7389594452138, "variant_ids": [43008588021930], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CommonLoopComparison_3_4.jpg?v=1665590341", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["3/4\"", "1\""]}], "url": "https://ripstopbytheroll.com/products/loop?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/CommonLoop_400X.jpg?v=1665590341", "sizes": ["3/4\"", "1\""]}, {"id": 8070962625, "title": "Dragon Tension Lock", "handle": "dragon-tension-lock", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-09-26T14:25:48-04:00", "updated_at": "2023-01-25T07:18:01-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware misc", "tags": ["Adjusters", "BFCM15%", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Adjusters", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 26573608961, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "WJ-dragon-tension-20", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "3.75", "grams": 48, "compare_at_price": null, "position": 1, "product_id": 8070962625, "created_at": "2016-09-26T14:25:48-04:00", "updated_at": "2023-01-24T16:04:21-05:00"}, {"id": 26573835585, "title": "1\"", "option1": "1\"", "option2": null, "option3": null, "sku": "WJ-dragon-tension-25", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.00", "grams": 65, "compare_at_price": null, "position": 2, "product_id": 8070962625, "created_at": "2016-09-26T14:34:17-04:00", "updated_at": "2023-01-23T18:08:36-05:00"}], "images": [{"id": 11940085039152, "created_at": "2019-08-18T23:13:53-04:00", "position": 1, "updated_at": "2019-08-18T23:13:53-04:00", "product_id": 8070962625, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Dragon_tension_lock_7d36b2df-ffa8-4c24-b8c1-bef10d5bdf45.jpg?v=1566184433", "width": 300, "height": 300}], "options": [{"name": "Size", "position": 1, "values": ["3/4\"", "1\""]}], "url": "https://ripstopbytheroll.com/products/dragon-tension-lock?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/Dragon_tension_lock_7d36b2df-ffa8-4c24-b8c1-bef10d5bdf45_400X.jpg?v=1566184433", "sizes": ["3/4\"", "1\""]}, {"id": 1829958849, "title": "Lineloc 3", "handle": "lineloc-3", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2015-08-12T15:06:39-04:00", "updated_at": "2023-01-25T10:11:04-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware cord", "tags": ["Adjusters", "BFCM15%", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Adjusters", "Plastic Hardware", "Tarps/Shelters"], "variants": [{"id": 5604160897, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "Lineloc3", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.25", "grams": 20, "compare_at_price": "4.00", "position": 1, "product_id": 1829958849, "created_at": "2015-08-12T15:06:39-04:00", "updated_at": "2023-01-25T10:11:04-05:00"}], "images": [{"id": 11940272930864, "created_at": "2019-08-19T00:08:59-04:00", "position": 1, "updated_at": "2019-08-19T00:09:18-04:00", "product_id": 1829958849, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/lineloc3_ae1a5667-3bc8-4e86-a9f1-635701dba4ae.jpg?v=1566187758", "width": 500, "height": 500}, {"id": 11940274208816, "created_at": "2019-08-19T00:09:20-04:00", "position": 2, "updated_at": "2019-08-19T00:09:20-04:00", "product_id": 1829958849, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/051-LineLoc_3_LL_b7a32358-c82f-4c0d-a7e9-e5d0b0b5bb30.jpg?v=1566187760", "width": 500, "height": 500}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/lineloc-3?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/lineloc3_ae1a5667-3bc8-4e86-a9f1-635701dba4ae_400X.jpg?v=1566187758", "sizes": [[]]}, {"id": 7389600252074, "title": "Slim Strap Keeper", "handle": "slim-keeper", "published_at": "2022-12-13T13:00:03-05:00", "created_at": "2022-06-02T10:09:23-04:00", "updated_at": "2023-01-23T11:46:00-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["Adjusters", "BFCM15%", "Components", "Hardware", "NEW", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Adjusters", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 43008614203562, "title": "1/2\"", "option1": "1/2\"", "option2": null, "option3": null, "sku": "WJ-SLIM-KEEP-15", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34895867674794, "product_id": 7389600252074, "position": 7, "created_at": "2022-10-12T11:33:55-04:00", "updated_at": "2022-10-12T11:34:30-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SlimStrapKeeperComparison_1_2.jpg?v=1665588870", "variant_ids": [43008614203562]}, "available": true, "price": "3.75", "grams": 10, "compare_at_price": null, "position": 1, "product_id": 7389600252074, "created_at": "2022-06-02T10:11:13-04:00", "updated_at": "2023-01-22T20:28:31-05:00"}, {"id": 43008612008106, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "WJ-SLIM-KEEP-20", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34895867904170, "product_id": 7389600252074, "position": 5, "created_at": "2022-10-12T11:33:55-04:00", "updated_at": "2022-10-12T11:34:30-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SlimStrapKeeperComparison_3_4.jpg?v=1665588870", "variant_ids": [43008612008106]}, "available": true, "price": "4.00", "grams": 14, "compare_at_price": null, "position": 2, "product_id": 7389600252074, "created_at": "2022-06-02T10:09:24-04:00", "updated_at": "2023-01-22T20:28:31-05:00"}, {"id": 43008612040874, "title": "1\"", "option1": "1\"", "option2": null, "option3": null, "sku": "WJ-SLIM-KEEP-25", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34895868068010, "product_id": 7389600252074, "position": 3, "created_at": "2022-10-12T11:33:55-04:00", "updated_at": "2022-10-12T11:34:30-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SlimStrapKeeperComparison_1.jpg?v=1665588870", "variant_ids": [43008612040874]}, "available": true, "price": "4.25", "grams": 20, "compare_at_price": null, "position": 3, "product_id": 7389600252074, "created_at": "2022-06-02T10:09:24-04:00", "updated_at": "2023-01-23T11:46:00-05:00"}], "images": [{"id": 34895867969706, "created_at": "2022-10-12T11:33:55-04:00", "position": 1, "updated_at": "2022-10-12T11:34:30-04:00", "product_id": 7389600252074, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SlimStrapKeeper.jpg?v=1665588870", "width": 2000, "height": 2000}, {"id": 34895868133546, "created_at": "2022-10-12T11:33:55-04:00", "position": 2, "updated_at": "2022-10-12T11:34:30-04:00", "product_id": 7389600252074, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SlimStrapKeeper_1__2.jpg?v=1665588870", "width": 2000, "height": 2000}, {"id": 34895868068010, "created_at": "2022-10-12T11:33:55-04:00", "position": 3, "updated_at": "2022-10-12T11:34:30-04:00", "product_id": 7389600252074, "variant_ids": [43008612040874], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SlimStrapKeeperComparison_1.jpg?v=1665588870", "width": 2000, "height": 2000}, {"id": 34895867609258, "created_at": "2022-10-12T11:33:55-04:00", "position": 4, "updated_at": "2022-10-12T11:34:30-04:00", "product_id": 7389600252074, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SlimStrapKeeper_3_4.jpg?v=1665588870", "width": 2000, "height": 2000}, {"id": 34895867904170, "created_at": "2022-10-12T11:33:55-04:00", "position": 5, "updated_at": "2022-10-12T11:34:30-04:00", "product_id": 7389600252074, "variant_ids": [43008612008106], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SlimStrapKeeperComparison_3_4.jpg?v=1665588870", "width": 2000, "height": 2000}, {"id": 34895868002474, "created_at": "2022-10-12T11:33:55-04:00", "position": 6, "updated_at": "2022-10-12T11:34:30-04:00", "product_id": 7389600252074, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SlimStrapKeeper_1_2.jpg?v=1665588870", "width": 2000, "height": 2000}, {"id": 34895867674794, "created_at": "2022-10-12T11:33:55-04:00", "position": 7, "updated_at": "2022-10-12T11:34:30-04:00", "product_id": 7389600252074, "variant_ids": [43008614203562], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SlimStrapKeeperComparison_1_2.jpg?v=1665588870", "width": 2000, "height": 2000}, {"id": 34895867445418, "created_at": "2022-10-12T11:33:55-04:00", "position": 8, "updated_at": "2022-10-12T11:34:30-04:00", "product_id": 7389600252074, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SlimStrapKeeperComparison_All_sizes.jpg?v=1665588870", "width": 2000, "height": 2000}, {"id": 34131961675946, "created_at": "2022-07-01T09:53:26-04:00", "position": 9, "updated_at": "2022-10-12T11:34:30-04:00", "product_id": 7389600252074, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/ADD_GOODS1_1563439991.jpg?v=1665588870", "width": 324, "height": 324}], "options": [{"name": "Size", "position": 1, "values": ["1/2\"", "3/4\"", "1\""]}], "url": "https://ripstopbytheroll.com/products/slim-keeper?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/SlimStrapKeeper_400X.jpg?v=1665588870", "sizes": ["1/2\"", "3/4\"", "1\""]}, {"id": 7081414328490, "title": "Sliplok Tri-Glide", "handle": "slipllok-buckle", "published_at": "2022-01-13T21:22:26-05:00", "created_at": "2021-12-02T14:47:01-05:00", "updated_at": "2023-01-24T20:56:04-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware misc", "tags": ["Adjusters", "BFCM15%", "Components", "Duraflex", "DURAFLEX LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Adjusters", "Plastic Hardware"], "variants": [{"id": 43120799514794, "title": "3/4\" (20mm)", "option1": "3/4\" (20mm)", "option2": null, "option3": null, "sku": "DF-SLIPLOK-20", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34896399433898, "product_id": 7081414328490, "position": 3, "created_at": "2022-10-12T13:21:36-04:00", "updated_at": "2022-10-12T13:21:51-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SliplokTri-GlideComparison_3_4.jpg?v=1665595311", "variant_ids": [43120799514794]}, "available": true, "price": "4.00", "grams": 19, "compare_at_price": null, "position": 1, "product_id": 7081414328490, "created_at": "2022-07-01T10:16:16-04:00", "updated_at": "2023-01-24T20:52:42-05:00"}, {"id": 43120799547562, "title": "1\" (25mm)", "option1": "1\" (25mm)", "option2": null, "option3": null, "sku": "DF-SLIPLOK-25", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34896399335594, "product_id": 7081414328490, "position": 5, "created_at": "2022-10-12T13:21:36-04:00", "updated_at": "2022-10-12T13:21:51-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SliplokTri-GlideComparison_1.jpg?v=1665595311", "variant_ids": [43120799547562]}, "available": true, "price": "4.25", "grams": 32, "compare_at_price": null, "position": 2, "product_id": 7081414328490, "created_at": "2022-07-01T10:16:16-04:00", "updated_at": "2023-01-22T22:01:02-05:00"}, {"id": 41809366679722, "title": "1.25\" (32mm)", "option1": "1.25\" (32mm)", "option2": null, "option3": null, "sku": "DF-SLIPLOK-32", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34896399532202, "product_id": 7081414328490, "position": 7, "created_at": "2022-10-12T13:21:36-04:00", "updated_at": "2022-10-12T13:21:51-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SliplokTri-GlideComparison_1.25.jpg?v=1665595311", "variant_ids": [41809366679722]}, "available": true, "price": "4.50", "grams": 47, "compare_at_price": null, "position": 3, "product_id": 7081414328490, "created_at": "2021-12-02T14:47:01-05:00", "updated_at": "2022-12-17T15:09:27-05:00"}], "images": [{"id": 32407194337450, "created_at": "2021-12-29T15:42:25-05:00", "position": 1, "updated_at": "2021-12-29T15:42:28-05:00", "product_id": 7081414328490, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SliplokBuckle.jpg?v=1640810548", "width": 2000, "height": 2000}, {"id": 34896399728810, "created_at": "2022-10-12T13:21:36-04:00", "position": 2, "updated_at": "2022-10-12T13:21:51-04:00", "product_id": 7081414328490, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SliplokTri-Glide_3_4.jpg?v=1665595311", "width": 2000, "height": 2000}, {"id": 34896399433898, "created_at": "2022-10-12T13:21:36-04:00", "position": 3, "updated_at": "2022-10-12T13:21:51-04:00", "product_id": 7081414328490, "variant_ids": [43120799514794], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SliplokTri-GlideComparison_3_4.jpg?v=1665595311", "width": 2000, "height": 2000}, {"id": 34896399564970, "created_at": "2022-10-12T13:21:36-04:00", "position": 4, "updated_at": "2022-10-12T13:21:51-04:00", "product_id": 7081414328490, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SliplokTri-Glide_1.jpg?v=1665595311", "width": 2000, "height": 2000}, {"id": 34896399335594, "created_at": "2022-10-12T13:21:36-04:00", "position": 5, "updated_at": "2022-10-12T13:21:51-04:00", "product_id": 7081414328490, "variant_ids": [43120799547562], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SliplokTri-GlideComparison_1.jpg?v=1665595311", "width": 2000, "height": 2000}, {"id": 34896399696042, "created_at": "2022-10-12T13:21:36-04:00", "position": 6, "updated_at": "2022-10-12T13:21:51-04:00", "product_id": 7081414328490, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SliplokTri-Glide_1.25.jpg?v=1665595311", "width": 2000, "height": 2000}, {"id": 34896399532202, "created_at": "2022-10-12T13:21:36-04:00", "position": 7, "updated_at": "2022-10-12T13:21:51-04:00", "product_id": 7081414328490, "variant_ids": [41809366679722], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SliplokTri-GlideComparison_1.25.jpg?v=1665595311", "width": 2000, "height": 2000}, {"id": 34896399663274, "created_at": "2022-10-12T13:21:36-04:00", "position": 8, "updated_at": "2022-10-12T13:21:39-04:00", "product_id": 7081414328490, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SliplokTri-Glide_Comparison_AllSizes.jpg?v=1665595299", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["3/4\" (20mm)", "1\" (25mm)", "1.25\" (32mm)"]}], "url": "https://ripstopbytheroll.com/products/slipllok-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/SliplokBuckle_400X.jpg?v=1640810548", "sizes": ["3/4\" (20mm)", "1\" (25mm)", "1.25\" (32mm)"]}, {"id": 252219621402, "title": "Tensionlock Hook", "handle": "lineloc-hook", "published_at": "2017-12-29T13:08:37-05:00", "created_at": "2017-12-29T08:39:46-05:00", "updated_at": "2023-01-24T12:55:04-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["Adjusters", "BFCM15%", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Adjusters", "Plastic Hardware"], "variants": [{"id": 3337459662874, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "Tensionlock-hook", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "3.25", "grams": 17, "compare_at_price": null, "position": 1, "product_id": 252219621402, "created_at": "2017-12-29T08:39:46-05:00", "updated_at": "2023-01-24T12:51:55-05:00"}], "images": [{"id": 11940628201520, "created_at": "2019-08-19T02:16:44-04:00", "position": 1, "updated_at": "2019-08-19T02:17:00-04:00", "product_id": 252219621402, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/tensionlockhookPS.jpg?v=1566195420", "width": 1001, "height": 1001}, {"id": 11940628660272, "created_at": "2019-08-19T02:17:02-04:00", "position": 2, "updated_at": "2019-08-19T02:17:03-04:00", "product_id": 252219621402, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/tensionlock_hook.jpg?v=1566195423", "width": 999, "height": 999}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/lineloc-hook?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/tensionlockhookPS_400X.jpg?v=1566195420", "sizes": [[]]}, {"id": 8613654797, "title": "Tensionlock Lite", "handle": "tensionlock-lite", "published_at": "2016-12-15T14:20:00-05:00", "created_at": "2016-12-15T14:07:33-05:00", "updated_at": "2023-01-25T07:18:06-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware misc", "tags": ["Adjusters", "BFCM15%", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Adjusters", "Plastic Hardware"], "variants": [{"id": 29494867341, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "Tensionlock-Lite", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "2.75", "grams": 20, "compare_at_price": "4.00", "position": 1, "product_id": 8613654797, "created_at": "2016-12-15T14:07:33-05:00", "updated_at": "2023-01-24T01:40:17-05:00"}], "images": [{"id": 11940629315632, "created_at": "2019-08-19T02:17:20-04:00", "position": 1, "updated_at": "2019-08-19T02:17:20-04:00", "product_id": 8613654797, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Tensionlock-Lite_600x_f9c235bc-9e9b-4028-8d9a-d62b56d07052.jpg?v=1566195440", "width": 300, "height": 300}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/tensionlock-lite?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/Tensionlock-Lite_600x_f9c235bc-9e9b-4028-8d9a-d62b56d07052_400X.jpg?v=1566195440", "sizes": [[]]}, {"id": 240433856538, "title": "Ul Ladder Loc Adjusters", "handle": "ultralight-ladder-loc-adjusters", "published_at": "2017-12-22T07:13:14-05:00", "created_at": "2017-12-19T11:15:47-05:00", "updated_at": "2023-01-24T19:01:41-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware misc", "tags": ["Adjusters", "BFCM15%", "Components", "Duraflex", "DURAFLEX LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Adjusters", "Plastic Hardware"], "variants": [{"id": 3286696722458, "title": "1/2\"", "option1": "1/2\"", "option2": null, "option3": null, "sku": "ul-ladderloc-1/2", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.50", "grams": 11, "compare_at_price": null, "position": 1, "product_id": 240433856538, "created_at": "2017-12-19T11:15:47-05:00", "updated_at": "2023-01-24T19:01:41-05:00"}, {"id": 3286696689690, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "ul-ladderloc-3/4", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.50", "grams": 36, "compare_at_price": null, "position": 2, "product_id": 240433856538, "created_at": "2017-12-19T11:15:47-05:00", "updated_at": "2023-01-23T13:46:32-05:00"}], "images": [{"id": 11940648845360, "created_at": "2019-08-19T02:23:41-04:00", "position": 1, "updated_at": "2019-08-19T02:23:55-04:00", "product_id": 240433856538, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/ladderlocfinal.jpg?v=1566195835", "width": 999, "height": 999}, {"id": 11940650025008, "created_at": "2019-08-19T02:23:59-04:00", "position": 2, "updated_at": "2019-08-19T02:23:59-04:00", "product_id": 240433856538, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/GEAK_20171219_152333.jpg?v=1566195839", "width": 1000, "height": 1000}], "options": [{"name": "Size", "position": 1, "values": ["1/2\"", "3/4\""]}], "url": "https://ripstopbytheroll.com/products/ultralight-ladder-loc-adjusters?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/ladderlocfinal_400X.jpg?v=1566195835", "sizes": ["1/2\"", "3/4\""]}, {"id": 1320076673, "title": "Mitten Hook", "handle": "mitten-hooks", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2015-06-23T00:30:48-04:00", "updated_at": "2023-01-25T07:17:24-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["BFCM15%", "Components", "Hardware", "Hooks", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware", "Plastic Hooks", "Tarps/Shelters"], "variants": [{"id": 3978931265, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "SE-mitten-hook", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "3.50", "grams": 14, "compare_at_price": null, "position": 1, "product_id": 1320076673, "created_at": "2015-06-23T00:30:48-04:00", "updated_at": "2023-01-24T01:18:26-05:00"}], "images": [{"id": 34958415429802, "created_at": "2022-10-19T12:04:59-04:00", "position": 1, "updated_at": "2022-10-19T12:05:09-04:00", "product_id": 1320076673, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/MittenHook.jpg?v=1666195509", "width": 2000, "height": 2000}, {"id": 34958415397034, "created_at": "2022-10-19T12:04:59-04:00", "position": 2, "updated_at": "2022-10-19T12:05:09-04:00", "product_id": 1320076673, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/MittenHookComparison.jpg?v=1666195509", "width": 2000, "height": 2000}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/mitten-hooks?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/MittenHook_400X.jpg?v=1666195509", "sizes": [[]]}, {"id": 8071705793, "title": "Mini Combo Hook", "handle": "mini-combo-hook", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-09-26T15:41:55-04:00", "updated_at": "2023-01-25T03:45:03-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["BFCM15%", "Components", "Hardware", "Hooks", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware", "Plastic Hooks", "Tarps/Shelters", "woojin", "WOOJIN LOGO"], "variants": [{"id": 26575635841, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "WJ-mini-combo-hook", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "3.75", "grams": 14, "compare_at_price": null, "position": 1, "product_id": 8071705793, "created_at": "2016-09-26T15:41:55-04:00", "updated_at": "2023-01-25T03:42:11-05:00"}], "images": [{"id": 31790872494250, "created_at": "2021-11-02T16:33:25-04:00", "position": 1, "updated_at": "2021-11-02T16:33:26-04:00", "product_id": 8071705793, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/MiniComboHookSide2.jpg?v=1635885206", "width": 2000, "height": 2000}, {"id": 31790872625322, "created_at": "2021-11-02T16:33:25-04:00", "position": 2, "updated_at": "2021-11-02T16:33:27-04:00", "product_id": 8071705793, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/MiniComboHookFront.jpg?v=1635885207", "width": 2000, "height": 2000}, {"id": 31790872592554, "created_at": "2021-11-02T16:33:25-04:00", "position": 3, "updated_at": "2021-11-02T16:33:27-04:00", "product_id": 8071705793, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/MiniComboHookSide1.jpg?v=1635885207", "width": 2000, "height": 2000}, {"id": 31790872527018, "created_at": "2021-11-02T16:33:25-04:00", "position": 4, "updated_at": "2021-11-02T16:33:26-04:00", "product_id": 8071705793, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/MiniComboComparison.jpg?v=1635885206", "width": 2000, "height": 2000}, {"id": 11940354555952, "created_at": "2019-08-19T00:31:50-04:00", "position": 5, "updated_at": "2019-08-19T00:31:50-04:00", "product_id": 8071705793, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/mini_combo_hook_2_7a1b4358-98cf-4a9b-8e58-6a1c53d1c918.jpg?v=1566189110", "width": 90, "height": 90}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/mini-combo-hook?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/MiniComboHookSide2_400X.jpg?v=1635885206", "sizes": [[]]}, {"id": 7024242786474, "title": "Tension G Hook", "handle": "tension-hook", "published_at": "2021-10-27T09:15:00-04:00", "created_at": "2021-10-18T13:38:38-04:00", "updated_at": "2023-01-24T20:56:00-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["Adjusters", "BFCM15%", "Components", "Hardware", "Hooks", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Adjusters", "Plastic Buckles", "Plastic Hardware", "Plastic Hooks", "woojin", "WOOJIN LOGO"], "variants": [{"id": 41615479799978, "title": "1/2\" / Right-Handed", "option1": "1/2\"", "option2": "Right-Handed", "option3": null, "sku": "WJ-TEN-HOOK-15", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34896720953514, "product_id": 7024242786474, "position": 3, "created_at": "2022-10-12T14:30:07-04:00", "updated_at": "2022-10-12T14:31:18-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookComparison_1_2__RightHanded.jpg?v=1665599478", "variant_ids": [41615479799978]}, "available": true, "price": "4.00", "grams": 29, "compare_at_price": null, "position": 1, "product_id": 7024242786474, "created_at": "2021-10-21T16:04:17-04:00", "updated_at": "2023-01-24T19:01:40-05:00"}, {"id": 43120785195178, "title": "1/2\" / Left-Handed", "option1": "1/2\"", "option2": "Left-Handed", "option3": null, "sku": "WJ-TEN-HOOK-15-L", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34896727146666, "product_id": 7024242786474, "position": 9, "created_at": "2022-10-12T14:31:01-04:00", "updated_at": "2022-10-12T14:31:18-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookComparison_1_2__LeftHanded.jpg?v=1665599478", "variant_ids": [43120785195178]}, "available": true, "price": "4.00", "grams": 29, "compare_at_price": null, "position": 2, "product_id": 7024242786474, "created_at": "2022-07-01T10:12:33-04:00", "updated_at": "2023-01-24T16:24:53-05:00"}, {"id": 41595581235370, "title": "3/4\" / Right-Handed", "option1": "3/4\"", "option2": "Right-Handed", "option3": null, "sku": "WJ-TEN-HOOK-20", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34896721412266, "product_id": 7024242786474, "position": 5, "created_at": "2022-10-12T14:30:07-04:00", "updated_at": "2022-10-12T14:31:18-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookComparison_3_4__RightHanded.jpg?v=1665599478", "variant_ids": [41595581235370]}, "available": true, "price": "4.25", "grams": 55, "compare_at_price": null, "position": 3, "product_id": 7024242786474, "created_at": "2021-10-18T13:38:38-04:00", "updated_at": "2023-01-24T20:52:43-05:00"}, {"id": 43120785227946, "title": "3/4\" / Left-Handed", "option1": "3/4\"", "option2": "Left-Handed", "option3": null, "sku": "WJ-TEN-HOOK-20-L", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34896727343274, "product_id": 7024242786474, "position": 11, "created_at": "2022-10-12T14:31:01-04:00", "updated_at": "2022-10-12T14:31:18-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookComparison_3_4__LeftHanded.jpg?v=1665599478", "variant_ids": [43120785227946]}, "available": true, "price": "4.25", "grams": 29, "compare_at_price": null, "position": 4, "product_id": 7024242786474, "created_at": "2022-07-01T10:12:33-04:00", "updated_at": "2023-01-24T15:43:52-05:00"}, {"id": 41595581268138, "title": "1\" / Right-Handed", "option1": "1\"", "option2": "Right-Handed", "option3": null, "sku": "WJ-TEN-HOOK-25", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34896720920746, "product_id": 7024242786474, "position": 7, "created_at": "2022-10-12T14:30:07-04:00", "updated_at": "2022-10-12T14:31:18-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookComparison_1__RightHanded.jpg?v=1665599478", "variant_ids": [41595581268138]}, "available": true, "price": "4.75", "grams": 73, "compare_at_price": null, "position": 5, "product_id": 7024242786474, "created_at": "2021-10-18T13:38:38-04:00", "updated_at": "2023-01-23T17:38:41-05:00"}, {"id": 43120785260714, "title": "1\" / Left-Handed", "option1": "1\"", "option2": "Left-Handed", "option3": null, "sku": "WJ-TEN-HOOK-25-L", "requires_shipping": true, "taxable": true, "featured_image": {"id": 34896727212202, "product_id": 7024242786474, "position": 13, "created_at": "2022-10-12T14:31:01-04:00", "updated_at": "2022-10-12T14:31:18-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookComparison_1__LeftHanded.jpg?v=1665599478", "variant_ids": [43120785260714]}, "available": true, "price": "4.75", "grams": 29, "compare_at_price": null, "position": 6, "product_id": 7024242786474, "created_at": "2022-07-01T10:12:33-04:00", "updated_at": "2023-01-23T14:57:56-05:00"}], "images": [{"id": 34896700211370, "created_at": "2022-10-12T14:25:10-04:00", "position": 1, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookRightHanded.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 34896720855210, "created_at": "2022-10-12T14:30:07-04:00", "position": 2, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHook_1_2__RightHanded.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 34896720953514, "created_at": "2022-10-12T14:30:07-04:00", "position": 3, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [41615479799978], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookComparison_1_2__RightHanded.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 34896720986282, "created_at": "2022-10-12T14:30:07-04:00", "position": 4, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHook_1__RightHanded.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 34896721412266, "created_at": "2022-10-12T14:30:07-04:00", "position": 5, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [41595581235370], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookComparison_3_4__RightHanded.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 34896721739946, "created_at": "2022-10-12T14:30:07-04:00", "position": 6, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHook_1__RightHanded_1.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 34896720920746, "created_at": "2022-10-12T14:30:07-04:00", "position": 7, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [41595581268138], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookComparison_1__RightHanded.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 34896727310506, "created_at": "2022-10-12T14:31:01-04:00", "position": 8, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHook_1_2__LeftHanded.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 34896727146666, "created_at": "2022-10-12T14:31:01-04:00", "position": 9, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [43120785195178], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookComparison_1_2__LeftHanded.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 34896727244970, "created_at": "2022-10-12T14:31:01-04:00", "position": 10, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHook_3_4__LeftHanded.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 34896727343274, "created_at": "2022-10-12T14:31:01-04:00", "position": 11, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [43120785227946], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookComparison_3_4__LeftHanded.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 34896727113898, "created_at": "2022-10-12T14:31:01-04:00", "position": 12, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHook_1__LeftHanded.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 34896727212202, "created_at": "2022-10-12T14:31:01-04:00", "position": 13, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [43120785260714], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookComparison_1__LeftHanded.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 34896727277738, "created_at": "2022-10-12T14:31:01-04:00", "position": 14, "updated_at": "2022-10-12T14:31:18-04:00", "product_id": 7024242786474, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookComparison_AllSizes_LeftHanded.jpg?v=1665599478", "width": 2000, "height": 2000}, {"id": 35024087842986, "created_at": "2022-10-27T09:39:28-04:00", "position": 15, "updated_at": "2022-10-27T09:39:29-04:00", "product_id": 7024242786474, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHook.jpg?v=1666877969", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["1/2\"", "3/4\"", "1\""]}, {"name": "Style", "position": 2, "values": ["Right-Handed", "Left-Handed"]}], "url": "https://ripstopbytheroll.com/products/tension-hook?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/TensionGHookRightHanded_400X.jpg?v=1665599478", "sizes": ["1/2\"", "3/4\"", "1\""]}, {"id": 1321150529, "title": "Double-Ended Mitten Hook", "handle": "double-ended-mitten-hook", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2015-06-23T00:45:39-04:00", "updated_at": "2023-01-11T06:01:36-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["BFCM15%", "Components", "Hardware", "Hooks", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware", "Plastic Hooks", "Tarps/Shelters"], "variants": [{"id": 3980163777, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "DE-mitten-hook", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "3.25", "grams": 9, "compare_at_price": "4.00", "position": 1, "product_id": 1321150529, "created_at": "2015-06-23T00:45:39-04:00", "updated_at": "2023-01-11T06:01:36-05:00"}], "images": [{"id": 11940078714928, "created_at": "2019-08-18T23:11:48-04:00", "position": 1, "updated_at": "2019-08-18T23:11:48-04:00", "product_id": 1321150529, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DE_Mitten_Hook.jpg?v=1566184308", "width": 1000, "height": 1000}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/double-ended-mitten-hook?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/DE_Mitten_Hook_400X.jpg?v=1566184308", "sizes": [[]]}, {"id": 8072508993, "title": "Squeeze Hook", "handle": "squeeze-hook", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-09-26T16:57:07-04:00", "updated_at": "2023-01-23T11:50:03-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware cord", "tags": ["BFCM15%", "Components", "Cordlocks", "Hardware", "Hooks", "no-samples", "Not DCF", "OCU - GIFT CARD", "Plastic Hardware", "Plastic Hooks", "woojin", "WOOJIN LOGO"], "variants": [{"id": 26579060545, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "WJ-squeeze-hook", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.95", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 8072508993, "created_at": "2016-09-26T16:57:08-04:00", "updated_at": "2023-01-23T11:46:00-05:00"}], "images": [{"id": 34896813129898, "created_at": "2022-10-12T14:48:43-04:00", "position": 1, "updated_at": "2022-10-12T14:48:53-04:00", "product_id": 8072508993, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SqueezeHookFront.jpg?v=1665600533", "width": 2000, "height": 2000}, {"id": 34896813097130, "created_at": "2022-10-12T14:48:43-04:00", "position": 2, "updated_at": "2022-10-12T14:48:53-04:00", "product_id": 8072508993, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SqueezeHookSide_2.jpg?v=1665600533", "width": 2000, "height": 2000}, {"id": 34896813031594, "created_at": "2022-10-12T14:48:44-04:00", "position": 3, "updated_at": "2022-10-12T14:48:53-04:00", "product_id": 8072508993, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SqueezeHookSide.jpg?v=1665600533", "width": 2000, "height": 2000}, {"id": 34896812998826, "created_at": "2022-10-12T14:48:43-04:00", "position": 4, "updated_at": "2022-10-12T14:48:53-04:00", "product_id": 8072508993, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SqueezeHookComparison.jpg?v=1665600533", "width": 2000, "height": 2000}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/squeeze-hook?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/SqueezeHookFront_400X.jpg?v=1665600533", "sizes": [[]]}, {"id": 8524306701, "title": "Pack Hook", "handle": "pack-hook", "published_at": "2016-11-30T16:32:00-05:00", "created_at": "2016-11-30T16:05:18-05:00", "updated_at": "2023-01-23T19:50:08-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["BFCM15%", "Components", "Hammocks", "Hardware", "Hooks", "no-samples", "Not DCF", "OCU - GIFT CARD", "Pack Hooks", "Packs", "Plastic Hardware", "Plastic Hooks", "Tarps/Shelters"], "variants": [{"id": 29005968141, "title": "NO", "option1": "NO", "option2": null, "option3": null, "sku": "pack-hook-std", "requires_shipping": true, "taxable": true, "featured_image": {"id": 31790923972778, "product_id": 8524306701, "position": 1, "created_at": "2021-11-02T16:38:30-04:00", "updated_at": "2021-11-02T16:38:32-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/PackHookNon-AdjustableFront.jpg?v=1635885512", "variant_ids": [29005968141]}, "available": true, "price": "4.00", "grams": 20, "compare_at_price": null, "position": 1, "product_id": 8524306701, "created_at": "2016-11-30T16:05:18-05:00", "updated_at": "2023-01-23T19:48:13-05:00"}, {"id": 29006101581, "title": "YES", "option1": "YES", "option2": null, "option3": null, "sku": "pack-hook-adj", "requires_shipping": true, "taxable": true, "featured_image": {"id": 31790925873322, "product_id": 8524306701, "position": 5, "created_at": "2021-11-02T16:38:58-04:00", "updated_at": "2021-11-02T16:39:01-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/PackHookAdjFront.jpg?v=1635885541", "variant_ids": [29006101581]}, "available": false, "price": "4.50", "grams": 28, "compare_at_price": null, "position": 2, "product_id": 8524306701, "created_at": "2016-11-30T16:18:11-05:00", "updated_at": "2022-12-31T20:44:47-05:00"}], "images": [{"id": 31790923972778, "created_at": "2021-11-02T16:38:30-04:00", "position": 1, "updated_at": "2021-11-02T16:38:32-04:00", "product_id": 8524306701, "variant_ids": [29005968141], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/PackHookNon-AdjustableFront.jpg?v=1635885512", "width": 2000, "height": 2000}, {"id": 31790924398762, "created_at": "2021-11-02T16:38:30-04:00", "position": 2, "updated_at": "2021-11-02T16:38:32-04:00", "product_id": 8524306701, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/PackHookNon-AdjustableSide1.jpg?v=1635885512", "width": 2000, "height": 2000}, {"id": 31790924464298, "created_at": "2021-11-02T16:38:30-04:00", "position": 3, "updated_at": "2021-11-02T16:38:32-04:00", "product_id": 8524306701, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/PackHookNon-AdjustableSide2.jpg?v=1635885512", "width": 2000, "height": 2000}, {"id": 31790924005546, "created_at": "2021-11-02T16:38:30-04:00", "position": 4, "updated_at": "2021-11-02T16:38:32-04:00", "product_id": 8524306701, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/PackHookNon-AdjustableComparison.jpg?v=1635885512", "width": 2000, "height": 2000}, {"id": 31790925873322, "created_at": "2021-11-02T16:38:58-04:00", "position": 5, "updated_at": "2021-11-02T16:39:01-04:00", "product_id": 8524306701, "variant_ids": [29006101581], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/PackHookAdjFront.jpg?v=1635885541", "width": 2000, "height": 2000}, {"id": 31790925906090, "created_at": "2021-11-02T16:38:58-04:00", "position": 6, "updated_at": "2021-11-02T16:39:01-04:00", "product_id": 8524306701, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/PackHookAdjSide_1.jpg?v=1635885541", "width": 2000, "height": 2000}, {"id": 31790925840554, "created_at": "2021-11-02T16:38:58-04:00", "position": 7, "updated_at": "2021-11-02T16:39:00-04:00", "product_id": 8524306701, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/PackHookAdjSide.jpg?v=1635885540", "width": 2000, "height": 2000}, {"id": 31790925807786, "created_at": "2021-11-02T16:38:58-04:00", "position": 8, "updated_at": "2021-11-02T16:38:59-04:00", "product_id": 8524306701, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/PackHookAdjComparison.jpg?v=1635885539", "width": 2000, "height": 2000}], "options": [{"name": "Adjustable", "position": 1, "values": ["NO", "YES"]}], "url": "https://ripstopbytheroll.com/products/pack-hook?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/PackHookNon-AdjustableFront_400X.jpg?v=1635885512", "sizes": [[]]}, {"id": 8617902349, "title": "Door Hook", "handle": "door-hook", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-12-16T14:37:13-05:00", "updated_at": "2023-01-24T12:15:13-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["BFCM15%", "Components", "Hammocks", "Hardware", "Hooks", "Not DCF", "OCU - GIFT CARD", "Pack Hooks", "Packs", "Plastic Hardware", "Plastic Hooks", "Tarps/Shelters", "woojin", "WOOJIN LOGO"], "variants": [{"id": 29515842317, "title": "NO", "option1": "NO", "option2": null, "option3": null, "sku": "WJ-door-hook-non-adj", "requires_shipping": true, "taxable": true, "featured_image": {"id": 31790958805162, "product_id": 8617902349, "position": 1, "created_at": "2021-11-02T16:42:07-04:00", "updated_at": "2021-11-02T16:42:08-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoorHookFront.jpg?v=1635885728", "variant_ids": [29515842317]}, "available": true, "price": "4.00", "grams": 20, "compare_at_price": null, "position": 1, "product_id": 8617902349, "created_at": "2016-12-16T14:37:13-05:00", "updated_at": "2023-01-24T12:11:55-05:00"}, {"id": 29516094413, "title": "YES", "option1": "YES", "option2": null, "option3": null, "sku": "WJ-door-hook-adj", "requires_shipping": true, "taxable": true, "featured_image": {"id": 31790967881898, "product_id": 8617902349, "position": 5, "created_at": "2021-11-02T16:43:05-04:00", "updated_at": "2021-11-02T16:43:07-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoorHookAdjFront.jpg?v=1635885787", "variant_ids": [29516094413]}, "available": true, "price": "4.50", "grams": 26, "compare_at_price": null, "position": 2, "product_id": 8617902349, "created_at": "2016-12-16T14:48:11-05:00", "updated_at": "2023-01-23T11:46:01-05:00"}], "images": [{"id": 31790958805162, "created_at": "2021-11-02T16:42:07-04:00", "position": 1, "updated_at": "2021-11-02T16:42:08-04:00", "product_id": 8617902349, "variant_ids": [29515842317], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoorHookFront.jpg?v=1635885728", "width": 2000, "height": 2000}, {"id": 31790958870698, "created_at": "2021-11-02T16:42:07-04:00", "position": 2, "updated_at": "2021-11-02T16:42:08-04:00", "product_id": 8617902349, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoorHookSide2.jpg?v=1635885728", "width": 2000, "height": 2000}, {"id": 31790958936234, "created_at": "2021-11-02T16:42:07-04:00", "position": 3, "updated_at": "2021-11-02T16:42:08-04:00", "product_id": 8617902349, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoorHookSide1.jpg?v=1635885728", "width": 2000, "height": 2000}, {"id": 31790958837930, "created_at": "2021-11-02T16:42:07-04:00", "position": 4, "updated_at": "2021-11-02T16:42:08-04:00", "product_id": 8617902349, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoorHookComparison.jpg?v=1635885728", "width": 2000, "height": 2000}, {"id": 31790967881898, "created_at": "2021-11-02T16:43:05-04:00", "position": 5, "updated_at": "2021-11-02T16:43:07-04:00", "product_id": 8617902349, "variant_ids": [29516094413], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoorHookAdjFront.jpg?v=1635885787", "width": 2000, "height": 2000}, {"id": 31790967619754, "created_at": "2021-11-02T16:43:05-04:00", "position": 6, "updated_at": "2021-11-02T16:43:06-04:00", "product_id": 8617902349, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoorHookAdjSide2.jpg?v=1635885786", "width": 2000, "height": 2000}, {"id": 31790968832170, "created_at": "2021-11-02T16:43:05-04:00", "position": 7, "updated_at": "2021-11-02T16:43:07-04:00", "product_id": 8617902349, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoorHookAdjside.jpg?v=1635885787", "width": 2000, "height": 2000}, {"id": 31790968635562, "created_at": "2021-11-02T16:43:05-04:00", "position": 8, "updated_at": "2021-11-02T16:43:07-04:00", "product_id": 8617902349, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoorHookAdjComparison.jpg?v=1635885787", "width": 2000, "height": 2000}], "options": [{"name": "Adjustable", "position": 1, "values": ["NO", "YES"]}], "url": "https://ripstopbytheroll.com/products/door-hook?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoorHookFront_400X.jpg?v=1635885728", "sizes": [[]]}, {"id": 7024245342378, "title": "Metallica Swivel Hook", "handle": "metallica-hook", "published_at": "2021-10-27T08:35:01-04:00", "created_at": "2021-10-18T13:39:38-04:00", "updated_at": "2023-01-18T03:05:37-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["Bags", "BFCM15%", "Carabiners", "Components", "Hardware", "Hooks", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware", "Plastic Hooks", "woojin", "WOOJIN LOGO"], "variants": [{"id": 41595601879210, "title": "1\"", "option1": "1\"", "option2": null, "option3": null, "sku": "WJ-MET-HOOK-25", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "1.00", "grams": 11, "compare_at_price": null, "position": 1, "product_id": 7024245342378, "created_at": "2021-10-18T13:39:38-04:00", "updated_at": "2023-01-18T03:02:17-05:00"}, {"id": 41615278276778, "title": "1.5\"", "option1": "1.5\"", "option2": null, "option3": null, "sku": "WJ-MET-HOOK-38", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "1.10", "grams": 13, "compare_at_price": null, "position": 2, "product_id": 7024245342378, "created_at": "2021-10-21T14:55:07-04:00", "updated_at": "2022-12-31T20:16:02-05:00"}, {"id": 41615278407850, "title": "2\"", "option1": "2\"", "option2": null, "option3": null, "sku": "WJ-MET-HOOK-50", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "1.20", "grams": 14, "compare_at_price": null, "position": 3, "product_id": 7024245342378, "created_at": "2021-10-21T14:55:16-04:00", "updated_at": "2023-01-13T18:18:15-05:00"}], "images": [{"id": 32312917459114, "created_at": "2021-12-15T10:06:18-05:00", "position": 1, "updated_at": "2021-12-15T10:08:13-05:00", "product_id": 7024245342378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinMetallicaHook-1.5_a_c659d80b-b09f-4c53-b5a8-6acf36af9b6a.jpg?v=1639580893", "width": 2000, "height": 2000}, {"id": 32312917328042, "created_at": "2021-12-15T10:06:19-05:00", "position": 2, "updated_at": "2021-12-15T10:08:13-05:00", "product_id": 7024245342378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinMetallicaHook2_592f54e7-99d0-4a4d-a20f-f3c49b37458d.jpg?v=1639580893", "width": 2000, "height": 2000}, {"id": 32312917360810, "created_at": "2021-12-15T10:06:19-05:00", "position": 3, "updated_at": "2021-12-15T10:08:13-05:00", "product_id": 7024245342378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinMetallicaHook-2_a9667fea-f14f-4c44-8eb0-cee0b6a2f894.jpg?v=1639580893", "width": 2000, "height": 2000}, {"id": 32312917557418, "created_at": "2021-12-15T10:06:18-05:00", "position": 4, "updated_at": "2021-12-15T10:08:13-05:00", "product_id": 7024245342378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinMetallicaHook-1_618808d1-427d-4aad-b78a-2c6d08cc9f52.jpg?v=1639580893", "width": 2000, "height": 2000}, {"id": 32312917295274, "created_at": "2021-12-15T10:06:19-05:00", "position": 5, "updated_at": "2021-12-15T10:08:13-05:00", "product_id": 7024245342378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinMetallicaHook3_8282de93-33c4-41e9-a2ba-d5e09ce79ee0.jpg?v=1639580893", "width": 2000, "height": 2000}, {"id": 32312917229738, "created_at": "2021-12-15T10:06:18-05:00", "position": 6, "updated_at": "2021-12-15T10:08:13-05:00", "product_id": 7024245342378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinMetallicaHook-1.5_b_f854589a-ecfd-40e5-b187-bcfe3de607a7.jpg?v=1639580893", "width": 2000, "height": 2000}, {"id": 32312917131434, "created_at": "2021-12-15T10:06:18-05:00", "position": 7, "updated_at": "2021-12-15T10:08:13-05:00", "product_id": 7024245342378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinMetallicaHook-1_b_400a5cdf-9281-4a1b-a83c-5e5eedff6ee3.jpg?v=1639580893", "width": 2000, "height": 2000}, {"id": 31658085941418, "created_at": "2021-10-26T12:42:35-04:00", "position": 8, "updated_at": "2021-12-15T10:08:13-05:00", "product_id": 7024245342378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinMetallicaHook4.jpg?v=1639580893", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["1\"", "1.5\"", "2\""]}], "url": "https://ripstopbytheroll.com/products/metallica-hook?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinMetallicaHook-1.5_a_c659d80b-b09f-4c53-b5a8-6acf36af9b6a_400X.jpg?v=1639580893", "sizes": ["1\"", "1.5\"", "2\""]}, {"id": 18115, "title": "Tri-Strap Divider", "price": "0,31\u20ac", "sizes": ["16mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/02/15mm-strap-divider-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/16mm-tri-strap-divider/"}, {"id": 25325, "title": "Gate Keeper With Cam", "price": "0,97\u20ac", "sizes": ["20mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/12/20mm-Gate-Keeper-With-Cam-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/20mm-gate-keeper-with-cam/"}, {"id": 18111, "title": "Sewable Tension Lock", "price": "0,41\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/03/Sewable-tension-lock-25mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/25mm-sewable-tension-lock/"}, {"id": 14788, "title": "38/25Mm Loop", "price": "0,48\u20ac", "sizes": ["38mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/09/38mm-to-25mm-loop-YKK-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/38-25mm-loop/"}, {"id": 18077, "title": "Quick Release Buckle", "price": "0,57\u20ac", "sizes": ["40mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/02/38mm-quick-release-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/40mm-quick-release-buckle/"}, {"id": 25377, "title": "Tension Lock", "price": "0,41\u20ac", "sizes": ["8mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/12/8mm-Tension-Lock-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/8mm-tension-lock/"}, {"id": 22313, "title": "Adjuster With Cam", "price": "1,30\u20ac", "sizes": ["20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/08/Adjuster-with-cam-closed-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/adjuster-with-cam/"}, {"id": 25376, "title": "Cord Hook", "price": "0,31\u20ac", "sizes": ["10mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/12/Cord-Hook-10mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/cord-hook-10mm/"}, {"id": 25302, "title": "Dash Buckle With Cam", "price": "0,48\u20ac", "sizes": ["15mm", "20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/12/Dash-Buckle-With-Cam-Sub-465x465.png", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/dash-buckle-with-cam/"}, {"id": 25745, "title": "Double Bar Tension Lock", "price": "0,57\u20ac", "sizes": ["20mm", "25mm", "38mm", "20mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/12/Double-Bar-Tension-Lock-Top-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/double-bar-tension-lock/"}, {"id": 15296, "title": "Double Webbing Spider Buckle", "price": "0,48\u20ac", "sizes": ["6mm", "15mm", "6mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/10/6mm-backpack-strap-webbing-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/double-webbing-spider-buckle/"}, {"id": 25300, "title": "Dual Tension Lock", "price": "0,52\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/12/Double-Sided-Tension-Lock-25mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/dual-tension-lock-25mm/"}, {"id": 18089, "title": "Gate Keeper Adjustable Left", "price": "0,73\u20ac", "sizes": ["20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/02/Gate-keeper-hook-Left-20mm-25mm-38mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/gate-keeper-adjustable-left/"}, {"id": 18107, "title": "Gate Keeper Adjustable Right", "price": "0,57\u20ac", "sizes": ["20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/02/Gate-keeper-hook-Right-20mm-25mm-38mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/gate-keeper-adjustable-right/"}, {"id": 15291, "title": "Gate Keeper Loop", "price": "0,61\u20ac", "sizes": ["25mm", "38mm", "50mm", "25mm", "38mm", "50mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/02/Single-gate-keeper-25mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/gate-keeper-loop/"}, {"id": 15298, "title": "Hip Belt Strap Divider", "price": "0,69\u20ac", "sizes": ["25mm", "50mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/02/hip-belt-strap-divider-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/hip-belt-strap-divider/"}, {"id": 19201, "title": "Ultralight Buckle /Cord", "price": "0,48\u20ac", "sizes": ["16mm", "16mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/04/Ultralight-cord-16mm-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/ultralight-buckle-16mm-cord/"}, {"id": 19168, "title": "Ultralight Dual Adjustable Buckle", "price": "4,02\u20ac", "sizes": ["20mm", "38mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/04/Ultralight-Dual-adjustable-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/ultralight-dual-adjustable-buckle/"}, {"id": 19181, "title": "Ultralight Non Adjustable Buckle", "price": "0,97\u20ac", "sizes": ["38mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/05/Ultralight-non-adjustable-buckle-38mmm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/ultralight-non-adjustable-buckle-38mm/"}, {"id": 11987, "title": "D-Ring Coyote", "price": "0,27\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware ring", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/04/25mm-coyote-brown-d-ring-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/25mm-d-ring-coyote/"}, {"id": 3004, "title": "Molle/Pals Buckle", "price": "1,22\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/two-way-molle-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/25mm-molle-pals-buckle/"}, {"id": 11988, "title": "Molle/Pals Buckle Coyote", "price": "1,14\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/04/coyote-brown-webbing-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/25mm-molle-pals-buckle-coyote/"}, {"id": 3005, "title": "Quick Attach/Repair Buckle", "price": "0,83\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/replacement-buckle-strong-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/25mm-quick-attach-repair-buckle/"}, {"id": 5786, "title": "Auto Cam Buckle", "price": "0,32\u20ac", "sizes": ["15mm", "20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/Auto-cam-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/auto-cam-buckle/"}, {"id": 7816, "title": "Classic Tension Lock", "price": "0,44\u20ac", "sizes": ["12mm", "15mm", "20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/Classic-tension-locks-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/classic-tension-lock/"}, {"id": 9467, "title": "Cord Slide Lock", "price": "0,34\u20ac", "sizes": ["5mm", "3mm", "10mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/01/lineloc-alternative-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/cord-slide-lock/"}, {"id": 5772, "title": "Dual Adjust Spider Buckle", "price": "0,52\u20ac", "sizes": ["15mm", "20mm", "25mm", "15mm", "20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/Ultralight-side-release-buckle-Z-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/dual-adjust-spider-buckle/"}, {"id": 10151, "title": "Dual Adjustable M/F Buckle", "price": "0,48\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/01/Dual-adjustable-symmetric-buckle-25mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/dual-adjustable-m-f-buckle/"}, {"id": 3008, "title": "Emergency Release Buckle", "price": "1,04\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/quick-release-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/emergency-release-buckle-25mm/"}, {"id": 20242, "title": "Sliding Buckle", "price": "1,04\u20ac", "sizes": ["20mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/05/Sliding-Buckle-2-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/sliding-buckle-20mm/"}, {"id": 20243, "title": "Spider Buckle With Cam", "price": "0,62\u20ac", "sizes": ["20mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/05/Spider-Buckle-With-Cam-Buckled-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/spider-buckle-with-cam-20mm/"}, {"id": 11954, "title": "Heavy Duty Side Relase Buckle With Auto Cam", "price": "0,98\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/04/Heavy-duty-25mm-auto-cam-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/heavy-duty-side-relase-buckle-with-auto-cam-25mm/"}, {"id": 3012, "title": "Key Loop", "price": "0,41\u20ac", "sizes": ["20mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/key-hook-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/key-loop/"}, {"id": 7781, "title": "Lightweight Buckle", "price": "0,61\u20ac", "sizes": ["10mm", "15mm", "20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/lightweight-plastic-buckles-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/lightweight-buckle/"}, {"id": 7791, "title": "Lightweight Buckle Dual Adjustable", "price": "0,57\u20ac", "sizes": ["10mm", "20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/lightweight-buckles-dual-adjustable-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/lightweight-buckle-dual-adjustable/"}, {"id": 5766, "title": "Line Lock Side Release Buckle", "price": "0,63\u20ac", "sizes": ["10mm", "3mm", "10mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/string-buckle-10mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/line-lock-side-release-buckle-10mm/"}, {"id": 3001, "title": "Magnetic Buckle 20/25Mm", "price": "4,02\u20ac", "sizes": ["20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/push-magnetic-buckle-20mm-25mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/magnetic-buckle-20-25mm/"}, {"id": 9947, "title": "Magnetic Hydration Tube Holder", "price": "1,95\u20ac", "sizes": ["20mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/01/Magnetic-hydration-tube-holder-20mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/magnetic-hydration-tube-holder/"}, {"id": 3040, "title": "Micro Swivel Hook", "price": "0,48\u20ac", "sizes": ["10mm", "12mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/micro-swivel-hook-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/micro-swivel-hook-10mm/"}, {"id": 5781, "title": "Piping Clip", "price": "0,34\u20ac", "sizes": ["15mm", "3mm"], "vendor": "adventurexpert", "product_type": "plastic hardware sternum", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/Piping-clip-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/piping-clip/"}, {"id": 7770, "title": "Plastic Webbing Hook", "price": "0,48\u20ac", "sizes": ["20mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/20mm-webbing-hook-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/plastic-20mm-webbing-hook/"}, {"id": 3007, "title": "Pouch Buckle", "price": "0,97\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/pouch-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/pouch-buckle-20mm/"}, {"id": 3006, "title": "Pull Tab Magnet Buckle", "price": "2,01\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/Magnetic-buckle-with-pull-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/pull-tab-magnet-buckle/"}, {"id": 3009, "title": "Quick Attach Ladderlock", "price": "0,41\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/quick-attach-tension-lock-for-repairs-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/quick-attach-ladderlock-25mm/"}, {"id": 3034, "title": "Quick Attach Loop", "price": "0,32\u20ac", "sizes": ["25mm", "20mm", "15mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/quick-attach-loop-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/quick-attach-loop/"}, {"id": 13103, "title": "Quick Release Buckle", "price": "0,90\u20ac", "sizes": ["25mm", "15mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/06/quick-release-buckle-25mm-1-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/quick-release-buckle-25mm/"}, {"id": 5794, "title": "Sewable Connector", "price": "0,65\u20ac", "sizes": ["22mm", "55mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/Sewable-rail-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/sewable-connector/"}, {"id": 13142, "title": "Sewable D-Ring", "price": "0,27\u20ac", "sizes": ["20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware ring", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/06/Sewable-D-ring-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/sewable-d-ring/"}, {"id": 5799, "title": "Side Release Buckle Coyote", "price": "0,37\u20ac", "sizes": ["20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/High-quality-Side-release-buckle-coyote-brown-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/side-release-buckle-coyote/"}, {"id": 5795, "title": "Side Squeeze Magnetic Buckle", "price": "1,53\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/SIde-squeeze-magnetic-pouch-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/side-squeeze-magnetic-buckle/"}, {"id": 9945, "title": "Slotted Button", "price": "0,31\u20ac", "sizes": ["10mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/01/webbing-button-10mm-webbing-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/slotted-button-10mm/"}, {"id": 6648, "title": "Snap Line", "price": "2,23\u20ac", "sizes": ["20mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/08/PCT_20200618_093714-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/snap-line/"}, {"id": 5767, "title": "Spider Buckle", "price": "0,36\u20ac", "sizes": ["10mm", "15mm", "20mm", "25mm", "10mm", "15mm", "20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/Spider-buckle-different-sizes-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/spider-buckle/"}, {"id": 3023, "title": "Spring Clip", "price": "0,45\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/spring-clip-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/spring-clip-20mm/"}, {"id": 5805, "title": "Sternum Buckle Coyote", "price": "0,57\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "plastic hardware sternum", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/Quick-attach-sternum-strap-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/sternum-buckle-coyote/"}, {"id": 5796, "title": "Sternum Clip Buckle", "price": "0,55\u20ac", "sizes": ["10mm", "10mm", "8mm"], "vendor": "adventurexpert", "product_type": "plastic hardware sternum", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/Sternum-clip-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/sternum-clip-buckle/"}, {"id": 10087, "title": "Sternum T Hook", "price": "0,98\u20ac", "sizes": ["15mm", "20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware sternum", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/02/sternum-hook-all-sizes-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/sternum-t-hook/"}, {"id": 3028, "title": "Strap Keeper", "price": "0,37\u20ac", "sizes": ["40mm", "10mm", "15mm", "20mm", "25mm", "40mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/strap-keeper-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/strap-keeper/"}, {"id": 5765, "title": "Superlight Buckle", "price": "0,45\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/superlight-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/superlight-15mm-buckle/"}, {"id": 13137, "title": "Swivel Hook", "price": "0,20\u20ac", "sizes": ["20mm", "25mm", "38mm", "12mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/07/wiregate-swivel-hook-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/swivel-hook/"}, {"id": 3017, "title": "Tension Lock Single Bar", "price": "0,65\u20ac", "sizes": ["40mm", "25mm", "20mm", "15mm", "12mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/Single-bar-ladderlock-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/tension-lock-single-bar/"}, {"id": 5807, "title": "Tension Lock With Hole Coyote", "price": "0,44\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/Ladderlock-with-a-hole-coyote-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/tension-lock-with-hole-coyote/"}, {"id": 7771, "title": "Triangle Ring", "price": "0,65\u20ac", "sizes": ["10mm", "15mm", "20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "plastic hardware ring", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/Plastic-triangle-ring-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/triangle-ring/"}, {"id": 7829, "title": "Triglide", "price": "0,40\u20ac", "sizes": ["10mm", "15mm", "20mm", "25mm", "38mm", "50mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/Triglide-buckles-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/triglide-2/"}, {"id": 7799, "title": "Webbing Loop", "price": "1,15\u20ac", "sizes": ["20mm", "25mm", "38mm", "50mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/Webbing-loop-assorted-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/webbing-loop/"}, {"id": 3011, "title": "Webbing Roller", "price": "0,34\u20ac", "sizes": ["20mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/webbing-roller-20mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/webbing-roller-20mm/"}, {"id": 3010, "title": "Webing Roller", "price": "0,41\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/Webbing-roller-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/webing-roller-25mm/"}, {"id": 7826, "title": "Side Release Buckle With Whistle", "price": "0,93\u20ac", "sizes": ["15mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/Buckle-with-integrated-whistle-15mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/15mm-side-release-buckle-with-whistle/"}, {"id": 5789, "title": "Side Release Buckle With Whistle", "price": "0,93\u20ac", "sizes": ["20mm", "5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/20mm-whistle-side-release-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/20mm-side-release-buckle-with-whistle/"}, {"id": 1210, "title": "Adjustable Webbing Hook", "price": "0,41\u20ac", "sizes": ["10mm", "10mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/09/hook-for-10mm-webbing-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/adjustable-webbing-hook-10mm/"}, {"id": 1028, "title": "Beastee Dee\u00ae Ring", "price": "4,02\u20ac", "sizes": ["12mm", "20mm", "25mm", "12mm"], "vendor": "adventurexpert", "product_type": "plastic hardware ring", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/08/Beastee-dee-ring-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/beastee-dee-ring/"}, {"id": 1337, "title": "D-Ring", "price": "0,32\u20ac", "sizes": ["15mm", "20mm", "20mm", "25mm", "25mm", "40mm"], "vendor": "adventurexpert", "product_type": "plastic hardware ring", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/11/D-ring-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/d-ring/"}, {"id": 1565, "title": "Dual Adjustable Buckle Ultralight", "price": "0,83\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/11/Ultralight-double-buckle2-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/dual-adjustable-buckle-25mm-ultralight/"}, {"id": 1204, "title": "Hydration Tube Holder 20/25Mm", "price": "0,48\u20ac", "sizes": ["20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/09/high-quality-hydration-tube-holder-20-25mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/hydration-tube-holder-20-25mm/"}, {"id": 1033, "title": "Low Profile Center Push Buckle 15/20Mm", "price": "0,65\u20ac", "sizes": ["15mm", "20mm", "15mm", "20mm", "15mm", "16mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/08/low-profile-center-push-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/low-profile-center-push-buckle-15-20mm/"}, {"id": 1211, "title": "Micro Adjustable Center Push Buckle", "price": "0,41\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/09/senter-push-buckle-micro-10mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/micro-adjustable-center-push-buckle-10mm/"}, {"id": 1712, "title": "Plastic Belt Buckle", "price": "0,48\u20ac", "sizes": ["20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/04/High-quality-plastic-trekking-belt-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/plastic-belt-buckle/"}, {"id": 881, "title": "Plastic Carabiner For Webbing", "price": "0,32\u20ac", "sizes": ["25mm", "38mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/Webbing-hook-with-wiregate-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/plastic-carabiner/"}, {"id": 1213, "title": "Quick Attach Webbing Clip", "price": "0,41\u20ac", "sizes": ["15mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/09/molle-webbing-clip-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/quick-attach-webbing-clip/"}, {"id": 1721, "title": "Sew On Magnetic Buckle", "price": "1,32\u20ac", "sizes": ["37mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/04/sew-on-magnet-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/sew-on-magnetic-buckle/"}, {"id": 7840, "title": "Sew-On Webbing Attachment Point", "price": "0,62\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/Tpu-webbing-patch-two-holes-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/sew-on-webbing-attachment-point/"}, {"id": 1021, "title": "Siamese Slik Clip", "price": "0,62\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/08/Duraflex-Siamese-Slik-Clip\u00ae-2-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/siamese-slik-clip/"}, {"id": 5224, "title": "Adjustable Slik Clip", "price": "0,55\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/25mm-adjustable-slik-clip-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/adjustable-slik-clip-25mm/"}, {"id": 1022, "title": "Slik Clip", "price": "0,48\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/08/Duraflex-Slik-Clip\u00ae-2.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/slik-clip/"}, {"id": 1341, "title": "T-Bar", "price": "0,57\u20ac", "sizes": ["13mm", "10mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/11/t-bar-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/t-bar/"}, {"id": 1299, "title": "Tent Hook 7.9-9.", "price": "0,31\u20ac", "sizes": ["3mm", "15mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/11/tent-hook.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/tent-hook-7-9-9-3mm/"}, {"id": 1717, "title": "Trekking Pole Holder", "price": "0,45\u20ac", "sizes": ["15mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/04/trekking-stick-holder-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/trekking-pole-holder/"}, {"id": 19, "title": "Ultralight Side Release Buckle", "price": "0,65\u20ac", "sizes": ["20mm", "16mm", "20mm", "25mm", "38mm", "40mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00290-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/side-release-buckle-ultralight/"}, {"id": 105, "title": "Tension Lock", "price": "0,37\u20ac", "sizes": ["10mm", "10mm", "16mm", "20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00288-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/tension-lock/"}, {"id": 132, "title": "Adjustable Webbing Hook", "price": "0,48\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00294z-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/adjustable-webbing-hook-15mm/"}, {"id": 1037, "title": "Adjustable Webbing Hook", "price": "0,55\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00294z-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/adjustable-webbing-hook-20mm/"}, {"id": 1040, "title": "Adjustable Webbing Hook", "price": "0,62\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00294z-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/adjustable-webbing-hook-25mm/"}, {"id": 124, "title": "Sternum Clip", "price": "4,02\u20ac", "sizes": ["8mm", "10mm", "10mm", "8mm", "15mm", "10mm", "20mm", "10mm"], "vendor": "adventurexpert", "product_type": "plastic hardware sternum", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/09/sternum-clip-sizes-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/sternum-clip/"}, {"id": 126, "title": "Sternum Strap Set", "price": "4,17\u20ac", "sizes": ["15mm"], "vendor": "adventurexpert", "product_type": "plastic hardware sternum", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00351-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/sternum-strap-system/"}, {"id": 127, "title": "Single Webbing Hook", "price": "0,48\u20ac", "sizes": ["15mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00311-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/single-webbing-hook-15mm/"}, {"id": 321, "title": "Buckle", "price": "0,98\u20ac", "sizes": ["38mm", "40mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00379-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/buckle-38mm/"}, {"id": 320, "title": "Adjustable Side Release Buckle", "price": "0,48\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00380-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/adjustable-buckle/"}, {"id": 135, "title": "Pack Hook Cord/Webbing", "price": "0,31\u20ac", "sizes": ["8mm", "4mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00316-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/pack-hook-cordwebbing/"}, {"id": 143, "title": "Sternum Strap Adjuster Buckle", "price": "0,40\u20ac", "sizes": ["15mm", "20mm", "15mm", "20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware sternum", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/09/Quick-attach-sternum-strap-adjuster-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/sternum-strap-adjuster-buckle/"}, {"id": 101, "title": "Triglide", "price": "0,52\u20ac", "sizes": ["20mm", "25mm", "38mm", "40mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00293-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/triglide/"}, {"id": 25380, "title": "Double Bar Tension Hook", "price": "0,41\u20ac", "sizes": ["3mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/12/Double-Bar-Tension-Hook-With-Cord-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/double-bar-tension-hook/"}, {"id": 5704, "title": "Double Sided Mitten Hook", "price": "0,20\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/Double-sided-mitten-hook-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/double-sided-mitten-hook/"}, {"id": 5779, "title": "Dual Cord End", "price": "0,27\u20ac", "sizes": ["5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/Double-1.8mm-cord-end-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/dual-cord-end-2mm/"}, {"id": 5780, "title": "Dual Cord End", "price": "0,27\u20ac", "sizes": ["3mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/Double-cord-end-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/dual-cord-end-3mm/"}, {"id": 3045, "title": "Micro Sewable D-Ring", "price": "0,27\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "plastic hardware ring", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/Sewable-d-ring-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/micro-sewable-d-ring/"}, {"id": 3041, "title": "Micro String Tension Lock", "price": "0,31\u20ac", "sizes": ["10mm", "7mm", "2mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/micro-cord-tension-lock-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/micro-string-tension-lock/"}, {"id": 7798, "title": "Micro Whistle", "price": "0,41\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/Micro-Whistle-2.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/micro-whistle/"}, {"id": 5782, "title": "Mini Single Cord End", "price": "0,27\u20ac", "sizes": ["5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/simple-2mm-cord-end-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/mini-single-2mm-cord-end/"}, {"id": 13078, "title": "Ring Stopper", "price": "0,17\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/06/plastic-ring-stopper-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/ring-stopper/"}, {"id": 10086, "title": "Round Cord Pull", "price": "0,27\u20ac", "sizes": ["3mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/01/textured-cord-pull-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/round-cord-pull/"}, {"id": 8875, "title": "Sewable Cord Anchor", "price": "0,34\u20ac", "sizes": ["3mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/11/Lineloc-3-anchor-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/sewable-cord-anchor/"}, {"id": 3044, "title": "Sewable Cord Hook", "price": "0,27\u20ac", "sizes": ["3mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/sewable-cord-hook-2-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/sewable-cord-hook/"}, {"id": 13100, "title": "T-Cord End", "price": "0,27\u20ac", "sizes": ["5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/06/t-style-ergonomic-cord-end-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/t-cord-end/"}, {"id": 13101, "title": "U-Cord End", "price": "0,27\u20ac", "sizes": ["5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/06/U-shaped-cord-pull-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/u-cord-end/"}, {"id": 13102, "title": "Xl-Cord End", "price": "0,31\u20ac", "sizes": ["6mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/06/XL-cord-end-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/xl-cord-end/"}, {"id": 1036, "title": "Cordlock Hook", "price": "0,36\u20ac", "sizes": ["3mm", "5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/08/Strong-cordlock-hook.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/cordlock-hook/"}, {"id": 1711, "title": "Mini Cord End With Hook", "price": "0,24\u20ac", "sizes": ["5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/04/Cord-end-with-hook2-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/mini-cord-end-with-hook/"}, {"id": 20244, "title": "Mini Double Cord End With Hook", "price": "0,27\u20ac", "sizes": ["5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/05/Double-Cord-End-With-Hook-Cord-In-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/double-cord-end-hook/"}, {"id": 1343, "title": "Mini Line-Lok\u00ae Tensioner", "price": "0,31\u20ac", "sizes": ["5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/11/mini-linelok-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/mini-line-lok-tensioner/"}, {"id": 921, "title": "Mini Plastic Wiregate Carabiner", "price": "0,48\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/05/plastic-carabiner-for-accesorries-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/mini-plastic-wiregate-carabiner/"}, {"id": 1196, "title": "O-Rings", "price": "0,24\u20ac", "sizes": ["8mm", "13mm", "20mm", "25mm"], "vendor": "adventurexpert", "product_type": "plastic hardware ring", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/09/plastic-o-rings-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/plastic-o-rings/"}, {"id": 1716, "title": "Sew On Cord Patch", "price": "0,38\u20ac", "sizes": ["3mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/04/Sew-on-trekking-pole-holder2-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/sew-on-cord-patch/"}, {"id": 1207, "title": "Ultralight Emergency Whistle", "price": "0,41\u20ac", "sizes": ["5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/09/ultralight-emergency-whistle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/ultralight-emergency-whistle/"}, {"id": 1047, "title": "Line Lock Buckle", "price": "0,55\u20ac", "sizes": ["3mm", "5mm", "15mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/08/Linelock-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/line-lock-buckle-2/"}, {"id": 130, "title": "Line Lock Buckle Cord/Cord", "price": "0,55\u20ac", "sizes": ["3mm", "5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00295-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/line-lock-buckle/"}, {"id": 89, "title": "Cord Pull Cannon Clip", "price": "0,20\u20ac", "sizes": ["3mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00300-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/cord-pull-cannon/"}, {"id": 85, "title": "Glove Hook", "price": "0,31\u20ac", "sizes": ["8mm"], "vendor": "adventurexpert", "product_type": "plastic hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00322-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/snap-hook/"}, {"id": 131, "title": "Line Lock Hook", "price": "0,45\u20ac", "sizes": ["3mm", "5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00306-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/line-lock-hook/"}, {"id": 128, "title": "String Side Release Buckle", "price": "0,55\u20ac", "sizes": ["4mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00313-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/string-side-release-buckle/"}, {"id": 123, "title": "String Tension Lock", "price": "0,34\u20ac", "sizes": ["3mm", "15mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00308-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/line-lock/"}, {"id": 8033230785, "title": "Kross Buckle", "handle": "kross-buckle", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-09-22T18:56:27-04:00", "updated_at": "2023-01-24T20:55:07-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 26416505857, "title": "5/8\"", "option1": "5/8\"", "option2": null, "option3": null, "sku": "WJ-KB-15", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.65", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 8033230785, "created_at": "2016-09-22T18:56:27-04:00", "updated_at": "2023-01-21T14:53:01-05:00"}, {"id": 26416505921, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "WJ-KB-20", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.75", "grams": 3, "compare_at_price": null, "position": 2, "product_id": 8033230785, "created_at": "2016-09-22T18:56:27-04:00", "updated_at": "2023-01-24T20:52:42-05:00"}, {"id": 26416505985, "title": "1\"", "option1": "1\"", "option2": null, "option3": null, "sku": "WJ-KB-25", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.85", "grams": 11, "compare_at_price": null, "position": 3, "product_id": 8033230785, "created_at": "2016-09-22T18:56:27-04:00", "updated_at": "2023-01-24T10:31:03-05:00"}], "images": [{"id": 31791200239786, "created_at": "2021-11-02T17:03:25-04:00", "position": 1, "updated_at": "2021-11-02T17:03:26-04:00", "product_id": 8033230785, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/KrossFront.jpg?v=1635887006", "width": 2000, "height": 2000}, {"id": 31791200305322, "created_at": "2021-11-02T17:03:25-04:00", "position": 2, "updated_at": "2021-11-02T17:03:26-04:00", "product_id": 8033230785, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/KrossSeparated.jpg?v=1635887006", "width": 2000, "height": 2000}, {"id": 31791200207018, "created_at": "2021-11-02T17:03:25-04:00", "position": 3, "updated_at": "2021-11-02T17:03:26-04:00", "product_id": 8033230785, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/KrossSide.jpg?v=1635887006", "width": 2000, "height": 2000}, {"id": 31791200338090, "created_at": "2021-11-02T17:03:25-04:00", "position": 4, "updated_at": "2021-11-02T17:03:27-04:00", "product_id": 8033230785, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/KrossBack.jpg?v=1635887007", "width": 2000, "height": 2000}, {"id": 31791200272554, "created_at": "2021-11-02T17:03:25-04:00", "position": 5, "updated_at": "2021-11-02T17:03:26-04:00", "product_id": 8033230785, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/KrossComparison.jpg?v=1635887006", "width": 2000, "height": 2000}, {"id": 35023995961514, "created_at": "2022-10-27T09:23:04-04:00", "position": 6, "updated_at": "2022-10-27T09:23:05-04:00", "product_id": 8033230785, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/KrossBuckle.jpg?v=1666876985", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["5/8\"", "3/4\"", "1\""]}], "url": "https://ripstopbytheroll.com/products/kross-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/KrossFront_400X.jpg?v=1635887006", "sizes": ["5/8\"", "3/4\"", "1\""]}, {"id": 8034398273, "title": "Low-Profile Center Push Buckle", "handle": "low-profile-center-push-buckle", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-09-22T21:39:20-04:00", "updated_at": "2023-01-25T07:17:59-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Clothing", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware", "Quilts/Blankets", "woojin", "WOOJIN LOGO"], "variants": [{"id": 26420098689, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "WJ-LP-CP-20", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.50", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 8034398273, "created_at": "2016-09-22T21:39:20-04:00", "updated_at": "2023-01-23T22:01:26-05:00"}], "images": [{"id": 11940299243568, "created_at": "2019-08-19T00:16:35-04:00", "position": 1, "updated_at": "2019-08-19T00:16:50-04:00", "product_id": 8034398273, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Low-profile_center_push_buckle_20_mm_-_Black_7d0bd5e8-3d38-42aa-a157-e32b9b8d2397.jpg?v=1566188210", "width": 300, "height": 300}, {"id": 11940300390448, "created_at": "2019-08-19T00:16:53-04:00", "position": 2, "updated_at": "2019-08-19T00:16:53-04:00", "product_id": 8034398273, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Low-profile_center_push_buckle_20_mm_open_-_Black_0f5adca0-78c6-4bae-a157-560f1c8ed73d.jpg?v=1566188213", "width": 300, "height": 300}], "options": [{"name": "Size", "position": 1, "values": ["3/4\""]}], "url": "https://ripstopbytheroll.com/products/low-profile-center-push-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/Low-profile_center_push_buckle_20_mm_-_Black_7d0bd5e8-3d38-42aa-a157-e32b9b8d2397_400X.jpg?v=1566188210", "sizes": ["3/4\""]}, {"id": 4269675137, "title": "Standard Side Release Buckle", "handle": "standard-side-release-buckle", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-02-22T21:56:24-05:00", "updated_at": "2023-01-25T07:18:15-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Clothing", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware"], "variants": [{"id": 12231067073, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "SR-3/4-B", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.50", "grams": 6, "compare_at_price": "4.00", "position": 1, "product_id": 4269675137, "created_at": "2016-02-22T21:56:24-05:00", "updated_at": "2023-01-24T15:43:49-05:00"}, {"id": 12231494785, "title": "1\"", "option1": "1\"", "option2": null, "option3": null, "sku": "SR-1-B", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.75", "grams": 17, "compare_at_price": "4.00", "position": 2, "product_id": 4269675137, "created_at": "2016-02-22T22:19:21-05:00", "updated_at": "2023-01-23T15:18:32-05:00"}, {"id": 12231494849, "title": "2\"", "option1": "2\"", "option2": null, "option3": null, "sku": "SR-2-B", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "1.00", "grams": 37, "compare_at_price": "4.00", "position": 3, "product_id": 4269675137, "created_at": "2016-02-22T22:19:21-05:00", "updated_at": "2023-01-23T12:52:11-05:00"}], "images": [{"id": 31791155413162, "created_at": "2021-11-02T16:59:15-04:00", "position": 1, "updated_at": "2021-11-02T16:59:17-04:00", "product_id": 4269675137, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/StandardSideBuckleFront.jpg?v=1635886757", "width": 2000, "height": 2000}, {"id": 31791155380394, "created_at": "2021-11-02T16:59:15-04:00", "position": 2, "updated_at": "2021-11-02T16:59:17-04:00", "product_id": 4269675137, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/StandardSideBuckleSeparated.jpg?v=1635886757", "width": 2000, "height": 2000}, {"id": 31791155314858, "created_at": "2021-11-02T16:59:15-04:00", "position": 3, "updated_at": "2021-11-02T16:59:17-04:00", "product_id": 4269675137, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/StandardSideBuckleBack.jpg?v=1635886757", "width": 2000, "height": 2000}, {"id": 31791155249322, "created_at": "2021-11-02T16:59:15-04:00", "position": 4, "updated_at": "2021-11-02T16:59:16-04:00", "product_id": 4269675137, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/StandardSideBuckleSide.jpg?v=1635886756", "width": 2000, "height": 2000}, {"id": 31791155282090, "created_at": "2021-11-02T16:59:15-04:00", "position": 5, "updated_at": "2021-11-02T16:59:16-04:00", "product_id": 4269675137, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/StandardSideBuckleComparison.jpg?v=1635886756", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["3/4\"", "1\"", "2\""]}], "url": "https://ripstopbytheroll.com/products/standard-side-release-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/StandardSideBuckleFront_400X.jpg?v=1635886757", "sizes": ["3/4\"", "1\"", "2\""]}, {"id": 4269865793, "title": "Contoured Side Release Buckle", "handle": "contoured-side-release-buckle", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-02-22T22:35:53-05:00", "updated_at": "2023-01-24T16:13:48-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Clothing", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware"], "variants": [{"id": 12231660801, "title": "1/2\"", "option1": "1/2\"", "option2": null, "option3": null, "sku": "SR-cont-1/2-B", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.35", "grams": 3, "compare_at_price": "4.00", "position": 1, "product_id": 4269865793, "created_at": "2016-02-22T22:35:53-05:00", "updated_at": "2023-01-24T16:13:48-05:00"}], "images": [{"id": 11942671712304, "created_at": "2019-08-19T07:50:31-04:00", "position": 1, "updated_at": "2019-08-19T07:50:31-04:00", "product_id": 4269865793, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/contoured_side_release_buckle_-_Black_0789e88c-9228-4715-b8c1-c148de21ae58.jpg?v=1566215431", "width": 500, "height": 500}], "options": [{"name": "Size", "position": 1, "values": ["1/2\""]}], "url": "https://ripstopbytheroll.com/products/contoured-side-release-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/contoured_side_release_buckle_-_Black_0789e88c-9228-4715-b8c1-c148de21ae58_400X.jpg?v=1566215431", "sizes": ["1/2\""]}, {"id": 8068746433, "title": "Stealth Sternum Buckle", "handle": "etro-stealth-buckle", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-09-26T10:55:43-04:00", "updated_at": "2023-01-22T14:30:07-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware sternum", "tags": ["BFCM15%", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 26563894465, "title": "5/8\"", "option1": "5/8\"", "option2": null, "option3": null, "sku": "WJ-Etro-Stealth-B-15", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.90", "grams": 6, "compare_at_price": null, "position": 1, "product_id": 8068746433, "created_at": "2016-09-26T10:55:43-04:00", "updated_at": "2023-01-22T14:29:11-05:00"}], "images": [{"id": 11940609654832, "created_at": "2019-08-19T02:11:05-04:00", "position": 1, "updated_at": "2019-08-19T02:11:05-04:00", "product_id": 8068746433, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Etro_Stealth_7491c0dd-db0c-46c9-8312-a8c6a6dc07b3.jpg?v=1566195065", "width": 300, "height": 300}], "options": [{"name": "Size", "position": 1, "values": ["5/8\""]}], "url": "https://ripstopbytheroll.com/products/etro-stealth-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/Etro_Stealth_7491c0dd-db0c-46c9-8312-a8c6a6dc07b3_400X.jpg?v=1566195065", "sizes": ["5/8\""]}, {"id": 8524616333, "title": "Fidlock Snap Buckle", "handle": "fid-loc-snap-buckle", "published_at": "2016-11-30T17:32:00-05:00", "created_at": "2016-11-30T17:05:53-05:00", "updated_at": "2023-01-16T17:45:06-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Components", "fidlock", "FIDLOCK LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware"], "variants": [{"id": 29006627725, "title": "15 mm", "option1": "15 mm", "option2": null, "option3": null, "sku": "FID-SNAP-15", "requires_shipping": true, "taxable": true, "featured_image": null, "available": false, "price": "4.25", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 8524616333, "created_at": "2016-11-30T17:05:53-05:00", "updated_at": "2023-01-16T17:43:15-05:00"}, {"id": 29006701965, "title": "20 mm", "option1": "20 mm", "option2": null, "option3": null, "sku": "FID-SNAP-20", "requires_shipping": true, "taxable": true, "featured_image": {"id": 11940133503024, "product_id": 8524616333, "position": 2, "created_at": "2019-08-18T23:29:36-04:00", "updated_at": "2020-06-16T03:45:12-04:00", "alt": null, "width": 501, "height": 503, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SNAP_BUCKLE_20_160378e5-bf9a-4460-89d8-11a55b39d25c.jpg?v=1592293512", "variant_ids": [29006701965]}, "available": false, "price": "4.50", "grams": 3, "compare_at_price": null, "position": 2, "product_id": 8524616333, "created_at": "2016-11-30T17:10:38-05:00", "updated_at": "2022-11-01T00:15:37-04:00"}], "images": [{"id": 15174265962544, "created_at": "2020-06-16T03:45:12-04:00", "position": 1, "updated_at": "2020-06-16T03:45:12-04:00", "product_id": 8524616333, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Fidlock-snap-buckle-15_FINAL.png?v=1592293512", "width": 431, "height": 287}, {"id": 11940133503024, "created_at": "2019-08-18T23:29:36-04:00", "position": 2, "updated_at": "2020-06-16T03:45:12-04:00", "product_id": 8524616333, "variant_ids": [29006701965], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SNAP_BUCKLE_20_160378e5-bf9a-4460-89d8-11a55b39d25c.jpg?v=1592293512", "width": 501, "height": 503}], "options": [{"name": "Size", "position": 1, "values": ["15 mm", "20 mm"]}], "url": "https://ripstopbytheroll.com/products/fid-loc-snap-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/Fidlock-snap-buckle-15_FINAL_400X.png?v=1592293512", "sizes": ["15 mm", "20 mm"]}, {"id": 8524892173, "title": "Fidlock Slider Buckle", "handle": "fidlock-slider-buckle", "published_at": "2016-11-30T17:32:00-05:00", "created_at": "2016-11-30T17:50:20-05:00", "updated_at": "2023-01-25T07:17:58-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Components", "fidlock", "FIDLOCK LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware"], "variants": [{"id": 29007110861, "title": "25 mm", "option1": "25 mm", "option2": null, "option3": null, "sku": "FID-SLIDER-25", "requires_shipping": true, "taxable": true, "featured_image": null, "available": false, "price": "7.00", "grams": 26, "compare_at_price": null, "position": 1, "product_id": 8524892173, "created_at": "2016-11-30T17:50:20-05:00", "updated_at": "2022-11-15T16:25:05-05:00"}], "images": [{"id": 35169395867818, "created_at": "2022-11-15T16:25:03-05:00", "position": 1, "updated_at": "2022-11-15T16:25:11-05:00", "product_id": 8524892173, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockSLIDERBuckle.jpg?v=1668547511", "width": 2000, "height": 2000}, {"id": 35169395507370, "created_at": "2022-11-15T16:25:03-05:00", "position": 2, "updated_at": "2022-11-15T16:25:11-05:00", "product_id": 8524892173, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockSLIDERBuckle-Separate.jpg?v=1668547511", "width": 2000, "height": 2000}, {"id": 35169395441834, "created_at": "2022-11-15T16:25:03-05:00", "position": 3, "updated_at": "2022-11-15T16:25:11-05:00", "product_id": 8524892173, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockSLIDERBuckle-Comparison.jpg?v=1668547511", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["25 mm"]}], "url": "https://ripstopbytheroll.com/products/fidlock-slider-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockSLIDERBuckle_400X.jpg?v=1668547511", "sizes": ["25 mm"]}, {"id": 8524947085, "title": "Fidlock V-Buckle", "handle": "fidlock-v-slider-buckle", "published_at": "2016-11-30T17:32:00-05:00", "created_at": "2016-11-30T18:02:37-05:00", "updated_at": "2023-01-23T11:50:05-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Components", "fidlock", "FIDLOCK LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware"], "variants": [{"id": 29007154701, "title": "25 mm / Silver", "option1": "25 mm", "option2": "Silver", "option3": null, "sku": "FID-VBUCK-25-S", "requires_shipping": true, "taxable": true, "featured_image": {"id": 11940135632944, "product_id": 8524947085, "position": 1, "created_at": "2019-08-18T23:30:12-04:00", "updated_at": "2019-08-18T23:30:28-04:00", "alt": "Fidlock V-Buckle Silver", "width": 503, "height": 503, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/vbuckle_25_ansicht_01_b7c68c74-c845-4e83-9541-70c956d205d6.jpg?v=1566185428", "variant_ids": [29007154701]}, "available": true, "price": "7.50", "grams": 28, "compare_at_price": null, "position": 1, "product_id": 8524947085, "created_at": "2016-11-30T18:02:37-05:00", "updated_at": "2023-01-23T11:46:02-05:00"}, {"id": 40411493773, "title": "25 mm / Black", "option1": "25 mm", "option2": "Black", "option3": null, "sku": "FID-VBUCK-25-B", "requires_shipping": true, "taxable": true, "featured_image": {"id": 11940136288304, "product_id": 8524947085, "position": 2, "created_at": "2019-08-18T23:30:30-04:00", "updated_at": "2019-08-18T23:30:30-04:00", "alt": null, "width": 501, "height": 501, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/vbuckle_25_black_e53edcc1-f109-4402-a88d-8726b9d42eee.jpg?v=1566185430", "variant_ids": [40411493773]}, "available": false, "price": "8.00", "grams": 28, "compare_at_price": null, "position": 2, "product_id": 8524947085, "created_at": "2017-07-12T10:56:39-04:00", "updated_at": "2022-11-01T00:15:45-04:00"}], "images": [{"id": 11940135632944, "created_at": "2019-08-18T23:30:12-04:00", "position": 1, "updated_at": "2019-08-18T23:30:28-04:00", "product_id": 8524947085, "variant_ids": [29007154701], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/vbuckle_25_ansicht_01_b7c68c74-c845-4e83-9541-70c956d205d6.jpg?v=1566185428", "width": 503, "height": 503}, {"id": 11940136288304, "created_at": "2019-08-18T23:30:30-04:00", "position": 2, "updated_at": "2019-08-18T23:30:30-04:00", "product_id": 8524947085, "variant_ids": [40411493773], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/vbuckle_25_black_e53edcc1-f109-4402-a88d-8726b9d42eee.jpg?v=1566185430", "width": 501, "height": 501}], "options": [{"name": "Size", "position": 1, "values": ["25 mm"]}, {"name": "Color", "position": 2, "values": ["Silver", "Black"]}], "url": "https://ripstopbytheroll.com/products/fidlock-v-slider-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/vbuckle_25_ansicht_01_b7c68c74-c845-4e83-9541-70c956d205d6_400X.jpg?v=1566185428", "sizes": ["25 mm"]}, {"id": 8525003853, "title": "Fidlock Snap Buckle Flat", "handle": "fidlock-snap-buckle-flat", "published_at": "2016-11-30T17:32:00-05:00", "created_at": "2016-11-30T18:11:59-05:00", "updated_at": "2023-01-16T17:45:07-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Components", "fidlock", "FIDLOCK LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware"], "variants": [{"id": 29007241933, "title": "25 mm", "option1": "25 mm", "option2": null, "option3": null, "sku": "FID-SNAPF-25", "requires_shipping": true, "taxable": true, "featured_image": {"id": 15173450661936, "product_id": 8525003853, "position": 1, "created_at": "2020-06-16T01:39:06-04:00", "updated_at": "2020-06-16T01:39:06-04:00", "alt": null, "width": 243, "height": 264, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Fidlock.png?v=1592285946", "variant_ids": [29007241933]}, "available": true, "price": "5.50", "grams": 14, "compare_at_price": null, "position": 1, "product_id": 8525003853, "created_at": "2016-11-30T18:11:59-05:00", "updated_at": "2023-01-16T17:43:15-05:00"}], "images": [{"id": 15173450661936, "created_at": "2020-06-16T01:39:06-04:00", "position": 1, "updated_at": "2020-06-16T01:39:06-04:00", "product_id": 8525003853, "variant_ids": [29007241933], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Fidlock.png?v=1592285946", "width": 243, "height": 264}], "options": [{"name": "Size", "position": 1, "values": ["25 mm"]}], "url": "https://ripstopbytheroll.com/products/fidlock-snap-buckle-flat?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/Fidlock_400X.png?v=1592285946", "sizes": ["25 mm"]}, {"id": 8613704397, "title": "Ul Kitty Clip", "handle": "ul-kitty-clip", "published_at": "2016-12-15T14:31:00-05:00", "created_at": "2016-12-15T14:25:18-05:00", "updated_at": "2023-01-24T20:10:12-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook buckle", "tags": ["BFCM15%", "Clothing", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware"], "variants": [{"id": 29495033741, "title": "3/8\"", "option1": "3/8\"", "option2": null, "option3": null, "sku": "UL-Kitty-Clip-3/8-B", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.50", "grams": 3, "compare_at_price": "4.00", "position": 1, "product_id": 8613704397, "created_at": "2016-12-15T14:25:19-05:00", "updated_at": "2023-01-24T20:06:42-05:00"}], "images": [{"id": 11940647436336, "created_at": "2019-08-19T02:23:25-04:00", "position": 1, "updated_at": "2019-08-19T02:23:25-04:00", "product_id": 8613704397, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/10_mm_side_release_buckle_non_adjustable_fb709201-3ed6-425e-b8dc-9df030997a5c.jpg?v=1566195805", "width": 300, "height": 300}], "options": [{"name": "Size", "position": 1, "values": ["3/8\""]}], "url": "https://ripstopbytheroll.com/products/ul-kitty-clip?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/10_mm_side_release_buckle_non_adjustable_fb709201-3ed6-425e-b8dc-9df030997a5c_400X.jpg?v=1566195805", "sizes": ["3/8\""]}, {"id": 8613726093, "title": "Belt Flat Clip", "handle": "belt-flat-clip", "published_at": "2016-12-15T14:42:00-05:00", "created_at": "2016-12-15T14:34:51-05:00", "updated_at": "2023-01-20T19:40:09-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook buckle", "tags": ["BFCM15%", "Clothing", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 29495121677, "title": "1\"", "option1": "1\"", "option2": null, "option3": null, "sku": "WJ-Belt-Flat-Clip-25", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.80", "grams": 9, "compare_at_price": null, "position": 1, "product_id": 8613726093, "created_at": "2016-12-15T14:34:51-05:00", "updated_at": "2023-01-20T19:37:40-05:00"}], "images": [{"id": 11942609125424, "created_at": "2019-08-19T07:38:55-04:00", "position": 1, "updated_at": "2019-08-19T07:39:11-04:00", "product_id": 8613726093, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Belt_Flat_Clip_238bc7ca-2357-49d4-a97d-a3de89bb2296.jpg?v=1566214751", "width": 300, "height": 300}, {"id": 11942609944624, "created_at": "2019-08-19T07:39:13-04:00", "position": 2, "updated_at": "2019-08-19T07:39:14-04:00", "product_id": 8613726093, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Belt_Flat_Clip_example_678ff3b5-3c19-473c-bc51-a60433f26d10.jpg?v=1566214754", "width": 300, "height": 300}], "options": [{"name": "Size", "position": 1, "values": ["1\""]}], "url": "https://ripstopbytheroll.com/products/belt-flat-clip?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/Belt_Flat_Clip_238bc7ca-2357-49d4-a97d-a3de89bb2296_400X.jpg?v=1566214751", "sizes": ["1\""]}, {"id": 8617673677, "title": "Alien Buckle", "handle": "alien-buckle", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-12-16T13:43:11-05:00", "updated_at": "2023-01-24T08:49:20-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 29514677069, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "WJ-Alien-Buckle-20", "requires_shipping": true, "taxable": true, "featured_image": null, "available": false, "price": "0.70", "grams": 9, "compare_at_price": null, "position": 1, "product_id": 8617673677, "created_at": "2016-12-16T13:43:11-05:00", "updated_at": "2022-11-01T00:16:02-04:00"}, {"id": 29590151757, "title": "1\"", "option1": "1\"", "option2": null, "option3": null, "sku": "WJ-Alien-Buckle-25", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.80", "grams": 14, "compare_at_price": null, "position": 2, "product_id": 8617673677, "created_at": "2016-12-20T13:05:43-05:00", "updated_at": "2023-01-09T15:12:36-05:00"}], "images": [{"id": 11942541525040, "created_at": "2019-08-19T07:30:16-04:00", "position": 1, "updated_at": "2019-08-19T07:30:30-04:00", "product_id": 8617673677, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Alien_side-release_buckle_055a3fd6-78a7-44d6-a6fe-c93018ea29bc.jpg?v=1566214230", "width": 300, "height": 300}, {"id": 11942543032368, "created_at": "2019-08-19T07:30:33-04:00", "position": 2, "updated_at": "2019-08-19T07:30:33-04:00", "product_id": 8617673677, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Alien_side-release_buckle_2_c0c2c683-907e-496f-9def-7ad160e49d47.jpg?v=1566214233", "width": 300, "height": 300}], "options": [{"name": "Size", "position": 1, "values": ["3/4\"", "1\""]}], "url": "https://ripstopbytheroll.com/products/alien-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/Alien_side-release_buckle_055a3fd6-78a7-44d6-a6fe-c93018ea29bc_400X.jpg?v=1566214230", "sizes": ["3/4\"", "1\""]}, {"id": 8618030413, "title": "Magic Buckle", "handle": "magic-buckle", "published_at": "2016-12-16T15:24:00-05:00", "created_at": "2016-12-16T15:04:48-05:00", "updated_at": "2023-01-19T11:15:02-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Components", "fidlock", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 29516364877, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "WJ-magic-20", "requires_shipping": true, "taxable": true, "featured_image": null, "available": false, "price": "1.25", "grams": 9, "compare_at_price": null, "position": 1, "product_id": 8618030413, "created_at": "2016-12-16T15:04:48-05:00", "updated_at": "2023-01-19T11:11:07-05:00"}, {"id": 29516598861, "title": "1\"", "option1": "1\"", "option2": null, "option3": null, "sku": "WJ-magic-25", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "1.25", "grams": 11, "compare_at_price": null, "position": 2, "product_id": 8618030413, "created_at": "2016-12-16T15:21:17-05:00", "updated_at": "2023-01-14T20:51:51-05:00"}], "images": [{"id": 11940306649136, "created_at": "2019-08-19T00:18:38-04:00", "position": 1, "updated_at": "2019-08-19T00:18:53-04:00", "product_id": 8618030413, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/magic_buckle_20d823a2-7533-40ce-adf5-4040fccfd44a.jpg?v=1566188333", "width": 300, "height": 300}, {"id": 11940307566640, "created_at": "2019-08-19T00:18:55-04:00", "position": 2, "updated_at": "2019-08-19T00:18:55-04:00", "product_id": 8618030413, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/magic_buckle_2_8c8a7c50-5064-449d-b78f-c3a4642caed6.jpg?v=1566188335", "width": 300, "height": 300}], "options": [{"name": "Size", "position": 1, "values": ["3/4\"", "1\""]}], "url": "https://ripstopbytheroll.com/products/magic-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/magic_buckle_20d823a2-7533-40ce-adf5-4040fccfd44a_400X.jpg?v=1566188333", "sizes": ["3/4\"", "1\""]}, {"id": 8618171533, "title": "Sternum Magic Buckle", "handle": "sternum-magic-buckle", "published_at": "2016-12-16T15:24:00-05:00", "created_at": "2016-12-16T15:32:08-05:00", "updated_at": "2023-01-20T19:15:03-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware sternum", "tags": ["BFCM15%", "Components", "fidlock", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 29516792461, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "WJ-sternum-magic-20", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "1.20", "grams": 9, "compare_at_price": null, "position": 1, "product_id": 8618171533, "created_at": "2016-12-16T15:32:08-05:00", "updated_at": "2023-01-20T19:14:46-05:00"}], "images": [{"id": 35169000325290, "created_at": "2022-11-15T15:38:33-05:00", "position": 1, "updated_at": "2022-11-15T15:38:42-05:00", "product_id": 8618171533, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SternumMagicBuckle.jpg?v=1668544722", "width": 2000, "height": 2000}, {"id": 35169000259754, "created_at": "2022-11-15T15:38:33-05:00", "position": 2, "updated_at": "2022-11-15T15:38:42-05:00", "product_id": 8618171533, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SternumMagicBuckle-Separated.jpg?v=1668544722", "width": 2000, "height": 2000}, {"id": 35169000358058, "created_at": "2022-11-15T15:38:33-05:00", "position": 3, "updated_at": "2022-11-15T15:38:42-05:00", "product_id": 8618171533, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/SternumMagicBuckle-Comparison.jpg?v=1668544722", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["3/4\""]}], "url": "https://ripstopbytheroll.com/products/sternum-magic-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/SternumMagicBuckle_400X.jpg?v=1668544722", "sizes": ["3/4\""]}, {"id": 8639732429, "title": "Center Push Magic Buckle", "handle": "center-push-magic-buckle", "published_at": "2016-12-20T13:04:00-05:00", "created_at": "2016-12-20T12:52:36-05:00", "updated_at": "2023-01-20T13:20:06-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Clothing", "Components", "fidlock", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 29589873805, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "WJ-magic-center-20", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "1.10", "grams": 11, "compare_at_price": null, "position": 1, "product_id": 8639732429, "created_at": "2016-12-20T12:52:36-05:00", "updated_at": "2023-01-20T13:17:55-05:00"}, {"id": 29589873869, "title": "1\"", "option1": "1\"", "option2": null, "option3": null, "sku": "WJ-magic-center-25", "requires_shipping": true, "taxable": true, "featured_image": null, "available": false, "price": "1.25", "grams": 17, "compare_at_price": null, "position": 2, "product_id": 8639732429, "created_at": "2016-12-20T12:52:36-05:00", "updated_at": "2023-01-14T20:51:51-05:00"}], "images": [{"id": 35168997933226, "created_at": "2022-11-15T15:38:09-05:00", "position": 1, "updated_at": "2022-11-15T15:38:15-05:00", "product_id": 8639732429, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CenterPushMagicBuckle.jpg?v=1668544695", "width": 2000, "height": 2000}, {"id": 35168997834922, "created_at": "2022-11-15T15:38:09-05:00", "position": 2, "updated_at": "2022-11-15T15:38:15-05:00", "product_id": 8639732429, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CenterPushMagicBuckle-Separated.jpg?v=1668544695", "width": 2000, "height": 2000}, {"id": 35168997998762, "created_at": "2022-11-15T15:38:09-05:00", "position": 3, "updated_at": "2022-11-15T15:38:15-05:00", "product_id": 8639732429, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CenterPushMagicBuckle-Comparison.jpg?v=1668544695", "width": 2000, "height": 2000}, {"id": 35023802335402, "created_at": "2022-10-27T08:56:14-04:00", "position": 4, "updated_at": "2022-11-15T15:38:15-05:00", "product_id": 8639732429, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CenterPushMagicBucklepro.jpg?v=1668544695", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["3/4\"", "1\""]}], "url": "https://ripstopbytheroll.com/products/center-push-magic-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/CenterPushMagicBuckle_400X.jpg?v=1668544695", "sizes": ["3/4\"", "1\""]}, {"id": 240397680666, "title": "Dual Adjust Side-Release Buckle", "handle": "dual-adjust-side-release-buckle", "published_at": "2017-12-22T07:12:44-05:00", "created_at": "2017-12-19T09:48:27-05:00", "updated_at": "2023-01-24T15:05:09-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Components", "Duraflex", "DURAFLEX LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware"], "variants": [{"id": 3286603792410, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "DualAdjust-SR-3/4", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.95", "grams": 8, "compare_at_price": null, "position": 1, "product_id": 240397680666, "created_at": "2017-12-19T09:48:27-05:00", "updated_at": "2023-01-24T15:03:11-05:00"}, {"id": 3286603825178, "title": "1\"", "option1": "1\"", "option2": null, "option3": null, "sku": "DualAdjust-SR-1", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.95", "grams": 12, "compare_at_price": null, "position": 2, "product_id": 240397680666, "created_at": "2017-12-19T09:48:27-05:00", "updated_at": "2023-01-23T22:14:41-05:00"}], "images": [{"id": 11940087300144, "created_at": "2019-08-18T23:14:42-04:00", "position": 1, "updated_at": "2019-08-18T23:15:14-04:00", "product_id": 240397680666, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/1_inch_dual_Adjust.jpg?v=1566184514", "width": 999, "height": 999}, {"id": 11940088119344, "created_at": "2019-08-18T23:14:59-04:00", "position": 2, "updated_at": "2019-08-18T23:15:14-04:00", "product_id": 240397680666, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/GEAK_20171218_161336final.jpg?v=1566184514", "width": 999, "height": 999}, {"id": 11940088971312, "created_at": "2019-08-18T23:15:17-04:00", "position": 3, "updated_at": "2019-08-18T23:15:17-04:00", "product_id": 240397680666, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/side_by_side_dual_adjust.jpg?v=1566184517", "width": 1000, "height": 1000}], "options": [{"name": "Size", "position": 1, "values": ["3/4\"", "1\""]}], "url": "https://ripstopbytheroll.com/products/dual-adjust-side-release-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/1_inch_dual_Adjust_400X.jpg?v=1566184514", "sizes": ["3/4\"", "1\""]}, {"id": 257130332186, "title": "Ul Side Release Buckle", "handle": "ul-side-release-buckle", "published_at": "2018-03-26T18:27:28-04:00", "created_at": "2018-01-03T10:15:53-05:00", "updated_at": "2023-01-24T19:01:41-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Clothing", "Components", "Duraflex", "DURAFLEX LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware"], "variants": [{"id": 3368382038042, "title": "3/8\"", "option1": "3/8\"", "option2": null, "option3": null, "sku": "UL-SR-3/8", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.60", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 257130332186, "created_at": "2018-01-03T10:15:53-05:00", "updated_at": "2023-01-24T19:01:41-05:00"}], "images": [{"id": 11940651073584, "created_at": "2019-08-19T02:24:17-04:00", "position": 1, "updated_at": "2019-08-19T02:24:32-04:00", "product_id": 257130332186, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/3-8_Side_release_buckle.jpg?v=1566195872", "width": 999, "height": 999}, {"id": 11940652548144, "created_at": "2019-08-19T02:24:35-04:00", "position": 2, "updated_at": "2019-08-19T02:24:35-04:00", "product_id": 257130332186, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/UL_side_release_buckle_3-8.jpg?v=1566195875", "width": 1000, "height": 1000}], "options": [{"name": "Size", "position": 1, "values": ["3/8\""]}], "url": "https://ripstopbytheroll.com/products/ul-side-release-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/3-8_Side_release_buckle_400X.jpg?v=1566195872", "sizes": ["3/8\""]}, {"id": 6735047262378, "title": "Fidlock V-Buckle Split Bar", "handle": "fidlock-v-buckle-split-bar", "published_at": "2021-06-28T15:01:27-04:00", "created_at": "2021-05-19T09:24:27-04:00", "updated_at": "2023-01-18T21:35:47-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Components", "fidlock", "FIDLOCK LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware"], "variants": [{"id": 40274797887658, "title": "25 mm / Silver", "option1": "25 mm", "option2": "Silver", "option3": null, "sku": "FID-VBUCK-25-SPLIT-S", "requires_shipping": true, "taxable": true, "featured_image": {"id": 28973968818346, "product_id": 6735047262378, "position": 2, "created_at": "2021-06-04T09:59:06-04:00", "updated_at": "2021-06-04T09:59:17-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-Silver1.jpg?v=1622815157", "variant_ids": [40274797887658]}, "available": true, "price": "8.00", "grams": 28, "compare_at_price": null, "position": 1, "product_id": 6735047262378, "created_at": "2021-05-19T09:24:27-04:00", "updated_at": "2023-01-18T21:32:35-05:00"}, {"id": 40274797920426, "title": "25 mm / Black", "option1": "25 mm", "option2": "Black", "option3": null, "sku": "FID-VBUCK-25-SPLIT-B", "requires_shipping": true, "taxable": true, "featured_image": {"id": 31791179333802, "product_id": 6735047262378, "position": 1, "created_at": "2021-11-02T17:01:45-04:00", "updated_at": "2021-11-02T17:01:46-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockV-SplitFront.jpg?v=1635886906", "variant_ids": [40274797920426]}, "available": false, "price": "8.00", "grams": 28, "compare_at_price": null, "position": 2, "product_id": 6735047262378, "created_at": "2021-05-19T09:24:27-04:00", "updated_at": "2022-11-01T00:28:27-04:00"}], "images": [{"id": 31791179333802, "created_at": "2021-11-02T17:01:45-04:00", "position": 1, "updated_at": "2021-11-02T17:01:46-04:00", "product_id": 6735047262378, "variant_ids": [40274797920426], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockV-SplitFront.jpg?v=1635886906", "width": 2000, "height": 2000}, {"id": 28973968818346, "created_at": "2021-06-04T09:59:06-04:00", "position": 2, "updated_at": "2021-06-04T09:59:17-04:00", "product_id": 6735047262378, "variant_ids": [40274797887658], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-Silver1.jpg?v=1622815157", "width": 2000, "height": 2000}, {"id": 28973968785578, "created_at": "2021-06-04T09:59:06-04:00", "position": 3, "updated_at": "2021-06-04T09:59:17-04:00", "product_id": 6735047262378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-Silver2.jpg?v=1622815157", "width": 2000, "height": 2000}, {"id": 28973968916650, "created_at": "2021-06-04T09:59:06-04:00", "position": 4, "updated_at": "2021-06-04T09:59:17-04:00", "product_id": 6735047262378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-Black2.jpg?v=1622815157", "width": 2000, "height": 2000}, {"id": 31791179497642, "created_at": "2021-11-02T17:01:45-04:00", "position": 5, "updated_at": "2021-11-02T17:01:47-04:00", "product_id": 6735047262378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockV-SplitSeparated.jpg?v=1635886907", "width": 2000, "height": 2000}, {"id": 31791179399338, "created_at": "2021-11-02T17:01:45-04:00", "position": 6, "updated_at": "2021-11-02T17:01:46-04:00", "product_id": 6735047262378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockV-SplitSide.jpg?v=1635886906", "width": 2000, "height": 2000}, {"id": 31791179432106, "created_at": "2021-11-02T17:01:45-04:00", "position": 7, "updated_at": "2021-11-02T17:01:47-04:00", "product_id": 6735047262378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockV-SplitBack.jpg?v=1635886907", "width": 2000, "height": 2000}, {"id": 31791179464874, "created_at": "2021-11-02T17:01:45-04:00", "position": 8, "updated_at": "2021-11-02T17:01:47-04:00", "product_id": 6735047262378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockV-SplitLighter.jpg?v=1635886907", "width": 2000, "height": 2000}, {"id": 28973968883882, "created_at": "2021-06-04T09:59:06-04:00", "position": 9, "updated_at": "2021-06-04T09:59:17-04:00", "product_id": 6735047262378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-Silver3.jpg?v=1622815157", "width": 2000, "height": 2000}, {"id": 28973969047722, "created_at": "2021-06-04T09:59:07-04:00", "position": 10, "updated_at": "2021-06-04T09:59:17-04:00", "product_id": 6735047262378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-Black3.jpg?v=1622815157", "width": 2000, "height": 2000}, {"id": 28973969014954, "created_at": "2021-06-04T09:59:07-04:00", "position": 11, "updated_at": "2021-06-04T09:59:17-04:00", "product_id": 6735047262378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-Silver4.jpg?v=1622815157", "width": 2000, "height": 2000}, {"id": 28973968851114, "created_at": "2021-06-04T09:59:06-04:00", "position": 12, "updated_at": "2021-06-04T09:59:17-04:00", "product_id": 6735047262378, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-Black4.jpg?v=1622815157", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["25 mm"]}, {"name": "Color", "position": 2, "values": ["Silver", "Black"]}], "url": "https://ripstopbytheroll.com/products/fidlock-v-buckle-split-bar?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockV-SplitFront_400X.jpg?v=1635886906", "sizes": ["25 mm"]}, {"id": 6735052767402, "title": "Fidlock V-Buckle Dual Adjust", "handle": "fidlock-v-buckle-dual-adjust", "published_at": "2021-06-28T15:01:28-04:00", "created_at": "2021-05-19T09:28:17-04:00", "updated_at": "2023-01-18T11:54:50-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware buckle", "tags": ["BFCM15%", "Components", "fidlock", "FIDLOCK LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware"], "variants": [{"id": 40274809585834, "title": "40 mm / Silver", "option1": "40 mm", "option2": "Silver", "option3": null, "sku": "FID-VBUCK-40-S", "requires_shipping": true, "taxable": true, "featured_image": {"id": 28973971243178, "product_id": 6735052767402, "position": 1, "created_at": "2021-06-04T09:59:39-04:00", "updated_at": "2021-06-04T09:59:39-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-401.jpg?v=1622815179", "variant_ids": [40274809585834]}, "available": false, "price": "8.00", "grams": 45, "compare_at_price": null, "position": 1, "product_id": 6735052767402, "created_at": "2021-05-19T09:28:18-04:00", "updated_at": "2023-01-18T11:54:50-05:00"}], "images": [{"id": 28973971243178, "created_at": "2021-06-04T09:59:39-04:00", "position": 1, "updated_at": "2021-06-04T09:59:39-04:00", "product_id": 6735052767402, "variant_ids": [40274809585834], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-401.jpg?v=1622815179", "width": 2000, "height": 2000}, {"id": 28973971177642, "created_at": "2021-06-04T09:59:39-04:00", "position": 2, "updated_at": "2021-06-04T09:59:39-04:00", "product_id": 6735052767402, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-402.jpg?v=1622815179", "width": 2000, "height": 2000}, {"id": 28973971144874, "created_at": "2021-06-04T09:59:38-04:00", "position": 3, "updated_at": "2021-06-04T09:59:39-04:00", "product_id": 6735052767402, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-403.jpg?v=1622815179", "width": 2000, "height": 2000}, {"id": 28973971275946, "created_at": "2021-06-04T09:59:39-04:00", "position": 4, "updated_at": "2021-06-04T09:59:39-04:00", "product_id": 6735052767402, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-404.jpg?v=1622815179", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["40 mm"]}, {"name": "Color", "position": 2, "values": ["Silver"]}], "url": "https://ripstopbytheroll.com/products/fidlock-v-buckle-dual-adjust?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/V-Buckle25SplitBar_w_pulltab_-401_400X.jpg?v=1622815179", "sizes": ["40 mm"]}, {"id": 6758409535658, "title": "Fidlock Snap Buckle Piping", "handle": "fidlock-snap-buckle-piping", "published_at": "2021-06-28T15:01:29-04:00", "created_at": "2021-06-02T09:57:01-04:00", "updated_at": "2023-01-18T22:25:45-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware sternum", "tags": ["BFCM15%", "Components", "fidlock", "FIDLOCK LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Piping", "Plastic Buckles", "Plastic Hardware"], "variants": [{"id": 40359180992682, "title": "15 mm", "option1": "15 mm", "option2": null, "option3": null, "sku": "FID-SNAP-PIP", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "5.75", "grams": 15, "compare_at_price": null, "position": 1, "product_id": 6758409535658, "created_at": "2021-06-02T09:57:02-04:00", "updated_at": "2023-01-18T22:24:02-05:00"}], "images": [{"id": 35169391345834, "created_at": "2022-11-15T16:24:37-05:00", "position": 1, "updated_at": "2022-11-15T16:24:46-05:00", "product_id": 6758409535658, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockSNAPBucklePiping.jpg?v=1668547486", "width": 2000, "height": 2000}, {"id": 35169391313066, "created_at": "2022-11-15T16:24:37-05:00", "position": 2, "updated_at": "2022-11-15T16:24:46-05:00", "product_id": 6758409535658, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockSNAPBucklePiping-Separated.jpg?v=1668547486", "width": 2000, "height": 2000}, {"id": 35169390985386, "created_at": "2022-11-15T16:24:37-05:00", "position": 3, "updated_at": "2022-11-15T16:24:46-05:00", "product_id": 6758409535658, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockSNAPBucklePiping-Comparison.jpg?v=1668547486", "width": 2000, "height": 2000}, {"id": 28973966327978, "created_at": "2021-06-04T09:58:34-04:00", "position": 4, "updated_at": "2022-11-15T16:24:46-05:00", "product_id": 6758409535658, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockSnapBucklePiping3.jpg?v=1668547486", "width": 2000, "height": 2000}, {"id": 28973966360746, "created_at": "2021-06-04T09:58:35-04:00", "position": 5, "updated_at": "2022-11-15T16:24:46-05:00", "product_id": 6758409535658, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockSnapBucklePiping4.jpg?v=1668547486", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["15 mm"]}], "url": "https://ripstopbytheroll.com/products/fidlock-snap-buckle-piping?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/FidlockSNAPBucklePiping_400X.jpg?v=1668547486", "sizes": ["15 mm"]}, {"id": 6758443221162, "title": "Fidlock Hook Reverse", "handle": "fidlock-hook-reverse", "published_at": "2021-06-28T15:01:29-04:00", "created_at": "2021-06-02T10:46:21-04:00", "updated_at": "2023-01-23T11:46:00-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["Adjusters", "BFCM15%", "Components", "fidlock", "FIDLOCK LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Piping", "Plastic Adjusters", "Plastic Buckles", "Plastic Hardware"], "variants": [{"id": 40359475380394, "title": "25 mm", "option1": "25 mm", "option2": null, "option3": null, "sku": "FID-HOOK-25-REV", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "6.25", "grams": 16, "compare_at_price": null, "position": 1, "product_id": 6758443221162, "created_at": "2021-06-02T10:46:21-04:00", "updated_at": "2023-01-23T11:46:00-05:00"}], "images": [{"id": 28973964230826, "created_at": "2021-06-04T09:58:04-04:00", "position": 1, "updated_at": "2021-06-04T09:58:04-04:00", "product_id": 6758443221162, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Hook25Reverse1.jpg?v=1622815084", "width": 2000, "height": 2000}, {"id": 28973964296362, "created_at": "2021-06-04T09:58:04-04:00", "position": 2, "updated_at": "2021-06-04T09:58:04-04:00", "product_id": 6758443221162, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Hook25Reverse2.jpg?v=1622815084", "width": 2000, "height": 2000}, {"id": 28973964427434, "created_at": "2021-06-04T09:58:05-04:00", "position": 3, "updated_at": "2021-06-04T09:58:05-04:00", "product_id": 6758443221162, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Hook25Reverse3.jpg?v=1622815085", "width": 2000, "height": 2000}, {"id": 28973964361898, "created_at": "2021-06-04T09:58:05-04:00", "position": 4, "updated_at": "2021-06-04T09:58:05-04:00", "product_id": 6758443221162, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Hook25Reverse4.jpg?v=1622815085", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["25 mm"]}], "url": "https://ripstopbytheroll.com/products/fidlock-hook-reverse?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/Hook25Reverse1_400X.jpg?v=1622815084", "sizes": ["25 mm"]}, {"id": 7017734242474, "title": "Easy-Open Mitten Hook", "handle": "easy-open-mitten-hook", "published_at": "2021-10-27T08:35:00-04:00", "created_at": "2021-10-13T16:42:59-04:00", "updated_at": "2023-01-23T15:01:00-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware hook", "tags": ["BFCM15%", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 41568177914026, "title": "Black", "option1": "Black", "option2": null, "option3": null, "sku": "WJ-EASY-OPEN-HOOK", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "3.25", "grams": 12, "compare_at_price": null, "position": 1, "product_id": 7017734242474, "created_at": "2021-10-13T16:42:59-04:00", "updated_at": "2023-01-23T14:57:56-05:00"}], "images": [{"id": 34958370865322, "created_at": "2022-10-19T11:58:47-04:00", "position": 1, "updated_at": "2022-10-19T11:58:56-04:00", "product_id": 7017734242474, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/EasyOpenMittenHook.jpg?v=1666195136", "width": 2000, "height": 2000}, {"id": 34958370898090, "created_at": "2022-10-19T11:58:47-04:00", "position": 2, "updated_at": "2022-10-19T11:58:56-04:00", "product_id": 7017734242474, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/EasyOpenMittenHookComparison.jpg?v=1666195136", "width": 2000, "height": 2000}, {"id": 32312905498794, "created_at": "2021-12-15T10:05:09-05:00", "position": 3, "updated_at": "2022-10-19T11:58:56-04:00", "product_id": 7017734242474, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinEasy-OpenMittenHook3_f9e1fbf8-d310-4939-afc7-9f9ed8ec9e2c.jpg?v=1666195136", "width": 2000, "height": 2000}], "options": [{"name": "Color", "position": 1, "values": ["Black"]}], "url": "https://ripstopbytheroll.com/products/easy-open-mitten-hook?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/EasyOpenMittenHook_400X.jpg?v=1666195136", "sizes": [[]]}, {"id": 7024243572906, "title": "String Z Buckle", "handle": "string-z-buckle", "published_at": "2021-10-27T08:35:01-04:00", "created_at": "2021-10-18T13:38:58-04:00", "updated_at": "2023-01-23T11:50:54-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware cord", "tags": ["Adjusters", "BFCM15%", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Adjusters", "Plastic Buckles", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 41595582152874, "title": "Black", "option1": "Black", "option2": null, "option3": null, "sku": "WJ-STRNG-Z-BUCK", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "5.00", "grams": 25, "compare_at_price": null, "position": 1, "product_id": 7024243572906, "created_at": "2021-10-18T13:38:58-04:00", "updated_at": "2023-01-23T11:46:00-05:00"}], "images": [{"id": 32312895307946, "created_at": "2021-12-15T10:04:10-05:00", "position": 1, "updated_at": "2021-12-15T10:04:13-05:00", "product_id": 7024243572906, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinStringZBuckle1_6f181a64-8e62-4db2-8475-f5fe56205b06.jpg?v=1639580653", "width": 2000, "height": 2000}, {"id": 32312892457130, "created_at": "2021-12-15T10:03:42-05:00", "position": 2, "updated_at": "2021-12-15T10:04:13-05:00", "product_id": 7024243572906, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinStringZBuckle2_b74527a4-e3f9-427d-ac83-c6b4ab650aa5.jpg?v=1639580653", "width": 2000, "height": 2000}, {"id": 32312892489898, "created_at": "2021-12-15T10:03:42-05:00", "position": 3, "updated_at": "2021-12-15T10:04:13-05:00", "product_id": 7024243572906, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinStringZBuckle3_b24a2792-9b0a-4ca6-b60e-0c1f593cdb2b.jpg?v=1639580653", "width": 2000, "height": 2000}, {"id": 32312892424362, "created_at": "2021-12-15T10:03:42-05:00", "position": 4, "updated_at": "2021-12-15T10:04:13-05:00", "product_id": 7024243572906, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinStringZBuckle4_c334afa3-8f41-4c19-9c35-03d2aae9e11e.jpg?v=1639580653", "width": 2000, "height": 2000}], "options": [{"name": "Color", "position": 1, "values": ["Black"]}], "url": "https://ripstopbytheroll.com/products/string-z-buckle?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinStringZBuckle1_6f181a64-8e62-4db2-8475-f5fe56205b06_400X.jpg?v=1639580653", "sizes": [[]]}, {"id": 7024244326570, "title": "Bunny Sternum System", "handle": "bunny-sternum-strap", "published_at": "2021-10-27T08:30:00-04:00", "created_at": "2021-10-18T13:39:18-04:00", "updated_at": "2023-01-24T15:05:50-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware sternum", "tags": ["BFCM15%", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Buckles", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 41595583070378, "title": "Black", "option1": "Black", "option2": null, "option3": null, "sku": "WJ-BUNNY-STRAP", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "0.85", "grams": 4, "compare_at_price": null, "position": 1, "product_id": 7024244326570, "created_at": "2021-10-18T13:39:18-04:00", "updated_at": "2023-01-24T15:03:12-05:00"}], "images": [{"id": 32312888197290, "created_at": "2021-12-15T10:02:56-05:00", "position": 1, "updated_at": "2021-12-15T10:02:59-05:00", "product_id": 7024244326570, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinBunnySternumStrap1.jpg?v=1639580579", "width": 2000, "height": 2000}, {"id": 32312887640234, "created_at": "2021-12-15T10:02:56-05:00", "position": 2, "updated_at": "2021-12-15T10:02:59-05:00", "product_id": 7024244326570, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinBunnySternumStrap2_14b3bef7-f5e7-42df-a11a-567d1b6d6fbf.jpg?v=1639580579", "width": 2000, "height": 2000}, {"id": 32312887181482, "created_at": "2021-12-15T10:02:56-05:00", "position": 3, "updated_at": "2021-12-15T10:02:58-05:00", "product_id": 7024244326570, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinBunnySternumStrap3_2effa9b8-9288-4ced-8b63-f5df66c48610.jpg?v=1639580578", "width": 2000, "height": 2000}, {"id": 32312887148714, "created_at": "2021-12-15T10:02:56-05:00", "position": 4, "updated_at": "2021-12-15T10:02:58-05:00", "product_id": 7024244326570, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinBunnySternumStrap4_939b2fd4-297b-4381-8865-a3b86adfed4e.jpg?v=1639580578", "width": 2000, "height": 2000}, {"id": 32312887214250, "created_at": "2021-12-15T10:02:56-05:00", "position": 5, "updated_at": "2021-12-15T10:02:58-05:00", "product_id": 7024244326570, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinBunnySternumStrap5_ebb173b8-1345-4215-a987-79306914b552.jpg?v=1639580578", "width": 2000, "height": 2000}, {"id": 35024091414698, "created_at": "2022-10-27T09:40:13-04:00", "position": 6, "updated_at": "2022-10-27T09:40:14-04:00", "product_id": 7024244326570, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/BunnySternum.jpg?v=1666878014", "width": 2000, "height": 2000}], "options": [{"name": "Color", "position": 1, "values": ["Black"]}], "url": "https://ripstopbytheroll.com/products/bunny-sternum-strap?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/WoojinBunnySternumStrap1_400X.jpg?v=1639580579", "sizes": [[]]}, {"id": "3146", "title": "Jet LadderLoc", "sizes": "1\",1.5\"", "vendor": "Quest Outfitters", "product_type": "card plastic hardware misc quest", "productImg": "./images/hardware/quest/jetll.jpg", "vendorImg": "quest.png", "url": "https://www.questoutfitters.com/Fasteners_%20Tensioners.htm#JET_LADDERLOC"}, {"id": "3141", "title": "Apex Waveloc LadderLoc", "sizes": "3/4\"", "vendor": "Quest Outfitters", "product_type": "card plastic hardware misc quest", "productImg": "./images/hardware/quest/apexwavell.jpg", "vendorImg": "quest.png", "url": "https://www.questoutfitters.com/Fasteners_%20Tensioners.htm#APEX_WAVELOC_LADDERLOCS0"}, {"id": "3081", "title": "Jet Whistleloc Buckle", "sizes": "3/4\"", "vendor": "Quest Outfitters", "product_type": "card plastic hardware buckle misc quest", "productImg": "./images/hardware/quest/jetwhistlesr.jpg", "vendorImg": "quest.png", "url": "https://www.questoutfitters.com/Fasteners_Side_Release.htm#WHISTLELOC_BUCKLE_"}, {"id": "3150", "title": "Jet Winch Side Release", "sizes": "3/4\", 1.5\"", "vendor": "Quest Outfitters", "product_type": "card plastic hardware buckle quest", "productImg": "./images/hardware/quest/jetwinchsr.jpg", "vendorImg": "quest.png", "url": "https://www.questoutfitters.com/Fasteners_Side_Release.htm#APEX_WINCH_SIDE_RELEASE_BUCKLE_"}, {"id": "3133", "title": "Apex Winch Side Release", "sizes": "1\"", "vendor": "Quest Outfitters", "product_type": "card plastic hardware buckle quest", "productImg": "./images/hardware/quest/apexwinchsr.jpg", "vendorImg": "quest.png", "url": "https://www.questoutfitters.com/Fasteners_Side_Release.htm#APEX_WINCH_SIDE_RELEASE_BUCKLE_"}, {"id": "3034", "title": "Side Release Buckle", "sizes": "3/8\",1/2\",5/8\",3/4\",1\",1.5\",2\"", "vendor": "Quest Outfitters", "product_type": "card plastic hardware buckle quest", "productImg": "./images/hardware/quest/sr.jpg", "vendorImg": "quest.png", "url": "https://www.questoutfitters.com/Fasteners_Side_Release.htm#SIDE_RELEASE_BUCKLES"}, {"id": "3127", "title": "Jet Latch Cam Side Release", "sizes": "3/4\",1\"", "vendor": "Quest Outfitters", "product_type": "card plastic hardware buckle quest", "productImg": "./images/hardware/quest/jetlatchcamsr.jpg", "vendorImg": "quest.png", "url": "https://www.questoutfitters.com/Fasteners_Side_Release.htm#SIDE_RELEASE_LATCH_CAM__BUCKLE_"}, {"id": "3135", "title": "Cyberian Cord Lock", "sizes": "sm,lg", "vendor": "Quest Outfitters", "product_type": "card plastic hardware cord quest", "productImg": "./images/hardware/quest/cyberiancl.jpg", "vendorImg": "quest.png", "url": "https://www.questoutfitters.com/Fasteners_Toggles.htm#CYBERIAN_CORDLOC_2.0"}, {"id": "3059", "title": "Toaster Cord Lock", "sizes": "", "vendor": "Quest Outfitters", "product_type": "card plastic hardware cord quest", "productImg": "./images/hardware/quest/toastercl.jpg", "vendorImg": "quest.png", "url": "https://www.questoutfitters.com/Fasteners_Toggles.htm#ELLIPTICAL_TOGGLES-TOASTER_STYLE"}, {"id": "3120", "title": "Line Loc Side Release", "sizes": "1/2\"", "vendor": "Quest Outfitters", "product_type": "card plastic hardware buckle cord quest", "productImg": "./images/hardware/quest/linelocsr.jpg", "vendorImg": "quest.png", "url": "https://www.questoutfitters.com/Fasteners_%20Misc_Fasteners.htm#LINELOC_-_SIDE_RELEASE_1"}, {"id": "3202", "title": "Gaiter Hook", "sizes": "3/4\"", "vendor": "Quest Outfitters", "product_type": "card metal hardware misc quest", "productImg": "./images/hardware/quest/gaiterhook.jpg", "vendorImg": "quest.png", "url": "https://www.questoutfitters.com/Fasteners_%20Misc_Fasteners.htm#GAITER_HOOKS"}, {"id": 20863, "title": "Adjustable Clip Hook", "price": "0,98\u20ac", "sizes": ["10mm", "20mm"], "vendor": "adventurexpert", "product_type": "metal hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Adjustable-aluminium-Key-clip-10mm-20mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-adjustable-clip-hook/"}, {"id": 20796, "title": "Belt Buckle", "price": "0,48\u20ac", "sizes": ["25mm", "38mm"], "vendor": "adventurexpert", "product_type": "metal hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/05/Aluminium-belt-buckle-38mm-1-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-belt-buckle/"}, {"id": 20802, "title": "Bottle Opener With Loop", "price": "1,18\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "metal hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/bottle-opener-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-bottle-opener-with-loop/"}, {"id": 21210, "title": "Chest Strap Buckle", "price": "0,86\u20ac", "sizes": ["20mm", "25mm"], "vendor": "adventurexpert", "product_type": "metal hardware sternum", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Aluminium-sternum-strap-adjuster-buckle-25mm-20mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-chest-strap-buckle/"}, {"id": 21261, "title": "Clip Hook", "price": "0,89\u20ac", "sizes": ["15mm", "20mm", "25mm"], "vendor": "adventurexpert", "product_type": "metal hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Aluminium-Clip-hook-15mm-20mm-25mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-clip-hook/"}, {"id": 25379, "title": "Cord Hook", "price": "1,39\u20ac", "sizes": ["10mm"], "vendor": "adventurexpert", "product_type": "metal hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/12/Aluminium-Cord-Hook-10mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-cord-hook-10mm/"}, {"id": 21232, "title": "Curved G-Hook Left", "price": "0,63\u20ac", "sizes": ["15mm", "20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "metal hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Aluminium-G-hook-15mm-20mm-25mm-38mm-scaled-e1657015811613-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-curved-g-hook-left/"}, {"id": 21237, "title": "Curved G-Hook Right", "price": "0,63\u20ac", "sizes": ["15mm", "20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "metal hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Aluminium-G-hook-15mm-20mm-25mm-38mm-1-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-curved-g-hook-right/"}, {"id": 20804, "title": "Docking Belt Buckle", "price": "0,28\u20ac", "sizes": ["25mm", "38mm"], "vendor": "adventurexpert", "product_type": "metal hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Docking-belt-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-docking-belt-buckle/"}, {"id": 21221, "title": "Ice Axe Toggle", "price": "0,90\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "metal hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Aluminium-ice-axe-toggle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-ice-axe-toggle/"}, {"id": 21214, "title": "Igloo D-Ring", "price": "1,22\u20ac", "sizes": ["15mm", "20mm", "25mm"], "vendor": "adventurexpert", "product_type": "metal hardware ring", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Igloo-D-ring-25mm-20mm-15mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-igloo-d-ring/"}, {"id": 20811, "title": "Loop", "price": "1,22\u20ac", "sizes": ["15mm", "20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "metal hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Aluminium-loop-15mm-20mm-25mm-38mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-loop/"}, {"id": 21265, "title": "Mini Key Clip", "price": "1,04\u20ac", "sizes": ["10mm"], "vendor": "adventurexpert", "product_type": "metal hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Mini-aluminium-key-clip-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-mini-key-clip/"}, {"id": 21201, "title": "Mini Tension Lock", "price": "0,83\u20ac", "sizes": ["15mm", "15mm", "15mm"], "vendor": "adventurexpert", "product_type": "metal hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Mini-aluminium-tension-lock-15mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-mini-tension-lock-15mm/"}, {"id": 21197, "title": "O-Ring", "price": "0,89\u20ac", "sizes": ["20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "metal hardware ring", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/O-ring-aluminium-20mm-25mm-38mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-o-ring/"}, {"id": 20807, "title": "Side Release Buckle", "price": "0,89\u20ac", "sizes": ["25mm", "38mm"], "vendor": "adventurexpert", "product_type": "metal hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/alu-side-relase-buckle-25mm-38mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-side-release-buckle/"}, {"id": 20859, "title": "Single Hook", "price": "0,98\u20ac", "sizes": ["15mm", "20mm", "25mm"], "vendor": "adventurexpert", "product_type": "metal hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Flat-non-adjustable-G-hook-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-single-hook/"}, {"id": 21160, "title": "Slotted D-Ring", "price": "0,52\u20ac", "sizes": ["20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "metal hardware ring", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/slotted-d-ring-auminium-20mm-25mm-38mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-slotted-d-ring/"}, {"id": 21227, "title": "Standard D-Ring", "price": "0,98\u20ac", "sizes": ["15mm", "20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "metal hardware ring", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Standard-aluminium-D-ring-10mm-15mm-20mm-25mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-standard-d-ring/"}, {"id": 21222, "title": "Sternum T-Hook", "price": "0,76\u20ac", "sizes": ["20mm", "25mm"], "vendor": "adventurexpert", "product_type": "metal hardware sternum", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Sternum-toggle-aluminium-20mm-25mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-sternum-t-hook/"}, {"id": 21212, "title": "Straight Sternum T-Hook", "price": "0,76\u20ac", "sizes": ["45mm", "15mm"], "vendor": "adventurexpert", "product_type": "metal hardware sternum", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Straight-sternum-toggle-15mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-straight-sternum-t-hook-15mm/"}, {"id": 20803, "title": "Swiwel Hook", "price": "0,89\u20ac", "sizes": ["15mm", "20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "metal hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Swivel-hook-auminium-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-swiwel-hook/"}, {"id": 21203, "title": "Tension Lock", "price": "0,36\u20ac", "sizes": ["20mm", "25mm"], "vendor": "adventurexpert", "product_type": "metal hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Aluminium-tension-lock-20mm-25mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-tension-lock/"}, {"id": 21225, "title": "Toggle", "price": "0,69\u20ac", "sizes": ["3mm"], "vendor": "adventurexpert", "product_type": "metal hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Aluminium-Toggle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-toggle/"}, {"id": 21193, "title": "Triangle Ring", "price": "13,07\u20ac", "sizes": ["20mm", "25mm"], "vendor": "adventurexpert", "product_type": "metal hardware ring", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Triangle-ring-aluminium-20mm-38mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-triangle-ring/"}, {"id": 25743, "title": "Triangle Ring", "price": "0,76\u20ac", "sizes": ["12mm"], "vendor": "adventurexpert", "product_type": "metal hardware ring", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/12/Aluminium-Triangle-Ring-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-triangle-ring-2/"}, {"id": 21166, "title": "Triglide", "price": "0,63\u20ac", "sizes": ["20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "metal hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Aluminium-triglide-25mm-20mm-38mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-triglide/"}, {"id": 20854, "title": "Wiregate G-Hook", "price": "0,63\u20ac", "sizes": ["20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "metal hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Flat-G-hook-with-wire-gate-20mm-25mm-38mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-wiregate-g-hook/"}, {"id": 20869, "title": "Wiregate Hook", "price": "0,37\u20ac", "sizes": ["20mm", "25mm", "38mm"], "vendor": "adventurexpert", "product_type": "metal hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2022/07/Wiregate-aluminium-hook-20mm-25mm-38mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-wiregate-hook/"}, {"id": 15287, "title": "Micro Alu Hook", "price": "0,83\u20ac", "sizes": ["10mm"], "vendor": "adventurexpert", "product_type": "metal hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/02/10mm-aluminum-g-hook-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/micro-alu-hook-10mm/"}, {"id": 7767, "title": "Aluminium G-Hook", "price": "0,98\u20ac", "sizes": ["20mm"], "vendor": "adventurexpert", "product_type": "metal hardware hook", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/Aluminium-g-hook-20mm-1-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/20mm-aluminium-g-hook/"}, {"id": 11781, "title": "Alu/Acetal Adjuster", "price": "1,18\u20ac", "sizes": ["20mm"], "vendor": "adventurexpert", "product_type": "metal hardware misc plastic", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/04/Aluminium-acetal-webbing-adjuster-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/alu-acetal-adjuster-20mm/"}, {"id": 7823, "title": "Aluminium/Acetal G-Hook With Cam", "price": "1,53\u20ac", "sizes": ["20mm"], "vendor": "adventurexpert", "product_type": "metal hardware hook plastic", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/Aluminum-acetal-g-hook-with-cam-20mm-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-acetal-g-hook-with-cam/"}, {"id": 7821, "title": "Double Sided Alu/Acetal Hook", "price": "1,11\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "metal hardware hook plastic", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/Double-aluminium-acetal-hook-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/double-sided-alu-acetal-hook-20mm/"}, {"id": 11951, "title": "Molle/Pals Carabiner", "price": "1,87\u20ac", "sizes": ["25mm"], "vendor": "adventurexpert", "product_type": "metal hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/04/MOLLE-PALS-alu-carabiner-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/molle-pals-carabiner/"}, {"id": 1214, "title": "Aluminium/Acetal Adjustable Webbing G-Hook Buckle", "price": "5,66\u20ac", "sizes": ["15mm", "20mm", "25mm"], "vendor": "adventurexpert", "product_type": "metal hardware hook plastic", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2018/09/adjustable-webbing-hook-metal-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/aluminium-acetal-adjustable-webbing-g-hook-buckle/"}, {"id": 1570, "title": "Micro Aluminium Carabiner", "price": "1,25\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "metal hardware misc", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/03/micro-aluminium-carabiner2-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/micro-aluminium-carabiner/"}, {"id": 1312674369, "title": "Beastee Dee Ring", "handle": "3-4-beastee-dee-ring", "published_at": "2014-11-02T01:27:00-04:00", "created_at": "2015-06-22T22:54:33-04:00", "updated_at": "2023-01-25T10:11:04-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware ring", "tags": ["BFCM15%", "Components", "Duraflex", "DURAFLEX LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware", "Plastic Rings", "Tarps/Shelters"], "variants": [{"id": 43872861913258, "title": "1/2\"", "option1": "1/2\"", "option2": null, "option3": null, "sku": "1/2-Beastee-D", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "3.50", "grams": 9, "compare_at_price": null, "position": 1, "product_id": 1312674369, "created_at": "2022-11-03T18:52:11-04:00", "updated_at": "2023-01-25T10:11:04-05:00"}, {"id": 43872520437930, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "3/4-Beastee-D", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.00", "grams": 26, "compare_at_price": null, "position": 2, "product_id": 1312674369, "created_at": "2022-11-03T17:48:05-04:00", "updated_at": "2023-01-23T11:46:00-05:00"}, {"id": 43872861946026, "title": "1\"", "option1": "1\"", "option2": null, "option3": null, "sku": "1-Beastee-D", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.50", "grams": 54, "compare_at_price": null, "position": 3, "product_id": 1312674369, "created_at": "2022-11-03T18:52:11-04:00", "updated_at": "2023-01-23T11:46:01-05:00"}, {"id": 43872861978794, "title": "2\"", "option1": "2\"", "option2": null, "option3": null, "sku": "2-Beastee-D", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.25", "grams": 62, "compare_at_price": null, "position": 4, "product_id": 1312674369, "created_at": "2022-11-03T18:52:12-04:00", "updated_at": "2023-01-22T15:16:05-05:00"}], "images": [{"id": 11942605553712, "created_at": "2019-08-19T07:38:20-04:00", "position": 1, "updated_at": "2019-08-19T07:38:35-04:00", "product_id": 1312674369, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Beastee-Dee-ring-0_42a451b0-6298-477b-9680-20620a4817ee.png?v=1566214715", "width": 501, "height": 500}, {"id": 11942606143536, "created_at": "2019-08-19T07:38:38-04:00", "position": 2, "updated_at": "2019-08-19T07:38:38-04:00", "product_id": 1312674369, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Beastee-Dee-size-comparison_55abca2c-35f3-401a-b5c4-321c4619face.jpg?v=1566214718", "width": 500, "height": 500}, {"id": 35023990423722, "created_at": "2022-10-27T09:22:19-04:00", "position": 3, "updated_at": "2022-10-27T09:22:20-04:00", "product_id": 1312674369, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/BeasteeDRing.jpg?v=1666876940", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["1/2\"", "3/4\"", "1\"", "2\""]}], "url": "https://ripstopbytheroll.com/products/3-4-beastee-dee-ring?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/Beastee-Dee-ring-0_42a451b0-6298-477b-9680-20620a4817ee_400X.png?v=1566214715", "sizes": ["1/2\"", "3/4\"", "1\"", "2\""]}, {"id": 373433741, "title": "D-Ring", "handle": "d-ring", "published_at": "2014-11-02T01:27:00-04:00", "created_at": "2014-11-02T01:27:04-04:00", "updated_at": "2023-01-25T07:17:52-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware ring", "tags": ["BFCM15%", "Components", "D-rings", "Hammocks", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware", "Plastic Rings"], "variants": [{"id": 43872520634538, "title": "3/4\" / Black", "option1": "3/4\"", "option2": "Black", "option3": null, "sku": "3/4-D-Ring-B", "requires_shipping": true, "taxable": true, "featured_image": {"id": 31657864888490, "product_id": 373433741, "position": 1, "created_at": "2021-10-26T12:08:52-04:00", "updated_at": "2021-10-26T12:08:54-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/BlackD-Ring.jpg?v=1635264534", "variant_ids": [43872520634538, 43872866074794]}, "available": true, "price": "4.00", "grams": 26, "compare_at_price": null, "position": 1, "product_id": 373433741, "created_at": "2022-11-03T17:48:07-04:00", "updated_at": "2023-01-16T19:03:51-05:00"}, {"id": 43872866074794, "title": "1\" / Black", "option1": "1\"", "option2": "Black", "option3": null, "sku": "1-D-Ring-B", "requires_shipping": true, "taxable": true, "featured_image": {"id": 31657864888490, "product_id": 373433741, "position": 1, "created_at": "2021-10-26T12:08:52-04:00", "updated_at": "2021-10-26T12:08:54-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/BlackD-Ring.jpg?v=1635264534", "variant_ids": [43872520634538, 43872866074794]}, "available": true, "price": "4.50", "grams": 37, "compare_at_price": null, "position": 2, "product_id": 373433741, "created_at": "2022-11-03T18:52:42-04:00", "updated_at": "2023-01-22T15:16:02-05:00"}, {"id": 43872866107562, "title": "1\" / Coyote", "option1": "1\"", "option2": "Coyote", "option3": null, "sku": "1-D-Ring-Coyote", "requires_shipping": true, "taxable": true, "featured_image": {"id": 31657864855722, "product_id": 373433741, "position": 2, "created_at": "2021-10-26T12:08:52-04:00", "updated_at": "2021-10-26T12:08:53-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CoyoteD-Ring.jpg?v=1635264533", "variant_ids": [43872866107562]}, "available": false, "price": "4.50", "grams": 37, "compare_at_price": null, "position": 3, "product_id": 373433741, "created_at": "2022-11-03T18:52:42-04:00", "updated_at": "2022-12-23T16:59:17-05:00"}, {"id": 43872866140330, "title": "1\" / Foliage Green", "option1": "1\"", "option2": "Foliage Green", "option3": null, "sku": "1-D-Ring-FG", "requires_shipping": true, "taxable": true, "featured_image": {"id": 31657864921258, "product_id": 373433741, "position": 3, "created_at": "2021-10-26T12:08:52-04:00", "updated_at": "2021-10-26T12:08:54-04:00", "alt": null, "width": 2000, "height": 2000, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FoliageGreenD-Ring.jpg?v=1635264534", "variant_ids": [43872866140330]}, "available": false, "price": "4.50", "grams": 37, "compare_at_price": null, "position": 4, "product_id": 373433741, "created_at": "2022-11-03T18:52:42-04:00", "updated_at": "2022-12-23T16:59:17-05:00"}], "images": [{"id": 31657864888490, "created_at": "2021-10-26T12:08:52-04:00", "position": 1, "updated_at": "2021-10-26T12:08:54-04:00", "product_id": 373433741, "variant_ids": [43872520634538, 43872866074794], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/BlackD-Ring.jpg?v=1635264534", "width": 2000, "height": 2000}, {"id": 31657864855722, "created_at": "2021-10-26T12:08:52-04:00", "position": 2, "updated_at": "2021-10-26T12:08:53-04:00", "product_id": 373433741, "variant_ids": [43872866107562], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CoyoteD-Ring.jpg?v=1635264533", "width": 2000, "height": 2000}, {"id": 31657864921258, "created_at": "2021-10-26T12:08:52-04:00", "position": 3, "updated_at": "2021-10-26T12:08:54-04:00", "product_id": 373433741, "variant_ids": [43872866140330], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/FoliageGreenD-Ring.jpg?v=1635264534", "width": 2000, "height": 2000}, {"id": 31657864986794, "created_at": "2021-10-26T12:08:52-04:00", "position": 4, "updated_at": "2021-10-26T12:08:54-04:00", "product_id": 373433741, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/D-RingComparison.jpg?v=1635264534", "width": 2000, "height": 2000}, {"id": 31790834548906, "created_at": "2021-11-02T16:30:14-04:00", "position": 5, "updated_at": "2021-11-02T16:30:16-04:00", "product_id": 373433741, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/D-ringcomparison_73b927d6-1cb0-433c-a147-157ced2ca2f2.jpg?v=1635885016", "width": 2000, "height": 2000}, {"id": 31790834843818, "created_at": "2021-11-02T16:30:14-04:00", "position": 6, "updated_at": "2021-11-02T16:30:16-04:00", "product_id": 373433741, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/D-ringSide.jpg?v=1635885016", "width": 2000, "height": 2000}, {"id": 31790835990698, "created_at": "2021-11-02T16:30:14-04:00", "position": 7, "updated_at": "2021-11-02T16:30:16-04:00", "product_id": 373433741, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/D-ringSide_2.jpg?v=1635885016", "width": 2000, "height": 2000}], "options": [{"name": "Size", "position": 1, "values": ["3/4\"", "1\""]}, {"name": "Color", "position": 2, "values": ["Black", "Coyote", "Foliage Green"]}], "url": "https://ripstopbytheroll.com/products/d-ring?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/BlackD-Ring_400X.jpg?v=1635264534", "sizes": ["3/4\"", "1\""]}, {"id": 373433629, "title": "Tri-Ring", "handle": "3-4-tri-ring", "published_at": "2014-11-02T01:08:00-04:00", "created_at": "2014-11-02T01:08:14-04:00", "updated_at": "2023-01-25T07:18:09-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware ring", "tags": ["BFCM15%", "Components", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Packs", "Plastic Hardware", "Plastic Rings", "Tarps/Shelters", "Tri-rings"], "variants": [{"id": 43872521289898, "title": "3/8\"", "option1": "3/8\"", "option2": null, "option3": null, "sku": "3/8-Tri-Ring", "requires_shipping": true, "taxable": true, "featured_image": {"id": 11940639670320, "product_id": 373433629, "position": 1, "created_at": "2019-08-19T02:21:13-04:00", "updated_at": "2019-08-19T02:21:13-04:00", "alt": null, "width": 500, "height": 500, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/0p75-acetyl-tri-ring_53254415-442c-4357-93f5-d859b3ab7b57.jpg?v=1566195673", "variant_ids": [43872521289898, 43872866238634]}, "available": true, "price": "3.25", "grams": 6, "compare_at_price": "4.00", "position": 1, "product_id": 373433629, "created_at": "2022-11-03T17:48:16-04:00", "updated_at": "2023-01-23T19:48:12-05:00"}, {"id": 43872866238634, "title": "3/4\"", "option1": "3/4\"", "option2": null, "option3": null, "sku": "3/4-Tri-Ring", "requires_shipping": true, "taxable": true, "featured_image": {"id": 11940639670320, "product_id": 373433629, "position": 1, "created_at": "2019-08-19T02:21:13-04:00", "updated_at": "2019-08-19T02:21:13-04:00", "alt": null, "width": 500, "height": 500, "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/0p75-acetyl-tri-ring_53254415-442c-4357-93f5-d859b3ab7b57.jpg?v=1566195673", "variant_ids": [43872521289898, 43872866238634]}, "available": true, "price": "3.75", "grams": 23, "compare_at_price": "4.00", "position": 2, "product_id": 373433629, "created_at": "2022-11-03T18:52:43-04:00", "updated_at": "2023-01-23T19:48:12-05:00"}], "images": [{"id": 11940639670320, "created_at": "2019-08-19T02:21:13-04:00", "position": 1, "updated_at": "2019-08-19T02:21:13-04:00", "product_id": 373433629, "variant_ids": [43872521289898, 43872866238634], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/0p75-acetyl-tri-ring_53254415-442c-4357-93f5-d859b3ab7b57.jpg?v=1566195673", "width": 500, "height": 500}], "options": [{"name": "Size", "position": 1, "values": ["3/8\"", "3/4\""]}], "url": "https://ripstopbytheroll.com/products/3-4-tri-ring?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/0p75-acetyl-tri-ring_53254415-442c-4357-93f5-d859b3ab7b57_400X.jpg?v=1566195673", "sizes": ["3/8\"", "3/4\""]}, {"id": 13841, "title": "Wedge Cord Lock", "price": "0,65\u20ac", "sizes": ["3mm", "8mm", "5mm", "12mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/06/Wedge-cord-lock-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/wedge-cord-lock/"}, {"id": 3025, "title": "Big Round Cord Lock", "price": "0,34\u20ac", "sizes": ["4mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/Big-cord-lock-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/big-round-cord-lock/"}, {"id": 3026, "title": "Big Round Double Cord Lock", "price": "0,41\u20ac", "sizes": ["3mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/big-round-cord-ock-two-holes-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/big-round-double-cord-lock/"}, {"id": 3046, "title": "Classic Cord Lock", "price": "0,24\u20ac", "sizes": ["5mm", "4mm", "4mm", "3mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/Classic-cord-locks-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/classic-cord-lock/"}, {"id": 7768, "title": "Cord Lock With Snaphook", "price": "0,20\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/cord-lock-with-snap-hook-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/cord-lock-with-snaphook/"}, {"id": 5808, "title": "Cordlock Coyote", "price": "0,34\u20ac", "sizes": ["6mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/Cordock-coyote-brown-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/cordlock-coyote/"}, {"id": 3027, "title": "Double Pouch Cord Lock", "price": "0,48\u20ac", "sizes": ["3mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/pouch-cord-lock-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/double-pouch-cord-lock/"}, {"id": 3024, "title": "Double Xl Cordlock", "price": "0,48\u20ac", "sizes": ["5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/large-xl-cord-lock-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/double-xl-cordlock/"}, {"id": 13105, "title": "Locking Cord Lock", "price": "0,31\u20ac", "sizes": ["5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/06/Locking-cord-lock-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/locking-cord-lock/"}, {"id": 3039, "title": "Micro Cord Lock Angular", "price": "0,27\u20ac", "sizes": ["5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/Angular-cord-lock-mini-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/izdelek/micro-cord-lock-angular/"}, {"id": 5785, "title": "Mini Attachable Cord Lock", "price": "0,31\u20ac", "sizes": ["12mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/05/mini-attachable-cord-lock-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/mini-attachable-cord-lock/"}, {"id": 3038, "title": "Mini Square Cord Lock", "price": "0,41\u20ac", "sizes": ["2mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/square-cord-lock-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/mini-square-cord-lock/"}, {"id": 3037, "title": "Mini Square Cord Lock Two Bar", "price": "0,45\u20ac", "sizes": ["2mm", "6mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/11/square-cord-lock-two-bar-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/mini-square-cord-lock-two-bar/"}, {"id": 13077, "title": "Pulling Cord Lock", "price": "0,41\u20ac", "sizes": ["2mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/06/Pulling-cord-stopper-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/pulling-cord-lock/"}, {"id": 1722, "title": "Pull Stopper", "price": "0,38\u20ac", "sizes": ["10mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/04/Pull-stopper-3.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/pull-stopper/"}, {"id": 1691, "title": "Speed Lacing Buckle", "price": "0,55\u20ac", "sizes": ["5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware buckle", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2019/04/Speed-lacing-buckle-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/speed-lacing-buckle/"}, {"id": 91, "title": "Springless Cord Locks", "price": "0,57\u20ac", "sizes": ["3mm", "4mm", "4mm", "5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/springless-cord-locks-465x465.png", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/mini-springless-cord-lock/"}, {"id": 92, "title": "Cyberian Cord Lock", "price": "0,48\u20ac", "sizes": ["6mm", "8mm", "12mm", "3mm", "6mm", "10mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2021/06/cyberian-cord-lock-large-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/cyberian-cord-lock/"}, {"id": 136, "title": "Springless Cord Lock", "price": "0,45\u20ac", "sizes": [], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2020/09/Springless-cord-locks-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/springless-cord-lock/"}, {"id": 93, "title": "Double Cord Lock", "price": "0,31\u20ac", "sizes": ["3mm", "12mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00330-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/double-cord-lock/"}, {"id": 90, "title": "Long Double Cord Lock", "price": "0,27\u20ac", "sizes": ["4mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00334-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/long-cord-lock/"}, {"id": 99, "title": "Micro Cord Lock", "price": "0,27\u20ac", "sizes": ["5mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00335-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/micro-round-cord-lock/"}, {"id": 95, "title": "Mini Double Cord Lock", "price": "0,31\u20ac", "sizes": ["2mm"], "vendor": "adventurexpert", "product_type": "plastic hardware cord", "productImg": "https://www.adventurexpert.com/wp-content/uploads/2017/07/DSC00350-465x465.jpg", "vendorImg": "adventurexpert.png", "url": "https://www.adventurexpert.com/product/mini-round-cord-lock/"}, {"id": 8020035502375, "title": "Sewable Flat Webbing Ends", "handle": "sewable-webbing-ends-25mm-38mm", "published_at": "2022-11-25T11:18:06-08:00", "created_at": "2022-11-25T11:12:46-08:00", "updated_at": "2023-01-16T23:05:11-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware misc", "tags": ["25mm", "hardware"], "variants": [{"id": 44044072943911, "title": "25mm", "option1": "25mm", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946903093543, "product_id": 8020035502375, "position": 4, "created_at": "2022-11-25T11:13:08-08:00", "updated_at": "2022-11-25T11:15:59-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03507.jpg?v=1669403759", "variant_ids": [44044072943911]}, "available": true, "price": "0.25", "grams": 12, "compare_at_price": null, "position": 1, "product_id": 8020035502375, "created_at": "2022-11-25T11:12:46-08:00", "updated_at": "2023-01-04T10:39:04-08:00"}, {"id": 44044072976679, "title": "38mm", "option1": "38mm", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946903060775, "product_id": 8020035502375, "position": 5, "created_at": "2022-11-25T11:13:08-08:00", "updated_at": "2022-11-25T11:15:59-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03503.jpg?v=1669403759", "variant_ids": [44044072976679]}, "available": true, "price": "0.30", "grams": 12, "compare_at_price": null, "position": 2, "product_id": 8020035502375, "created_at": "2022-11-25T11:12:46-08:00", "updated_at": "2023-01-16T23:03:17-08:00"}], "images": [{"id": 39946902864167, "created_at": "2022-11-25T11:13:08-08:00", "position": 1, "updated_at": "2022-11-25T11:15:59-08:00", "product_id": 8020035502375, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03508.jpg?v=1669403759", "width": 4896, "height": 3672}, {"id": 39946902995239, "created_at": "2022-11-25T11:13:08-08:00", "position": 2, "updated_at": "2022-11-25T11:15:59-08:00", "product_id": 8020035502375, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03501.jpg?v=1669403759", "width": 4896, "height": 3672}, {"id": 39946902929703, "created_at": "2022-11-25T11:13:08-08:00", "position": 3, "updated_at": "2022-11-25T11:15:59-08:00", "product_id": 8020035502375, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03504.jpg?v=1669403759", "width": 4896, "height": 3672}, {"id": 39946903093543, "created_at": "2022-11-25T11:13:08-08:00", "position": 4, "updated_at": "2022-11-25T11:15:59-08:00", "product_id": 8020035502375, "variant_ids": [44044072943911], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03507.jpg?v=1669403759", "width": 4896, "height": 3672}, {"id": 39946903060775, "created_at": "2022-11-25T11:13:08-08:00", "position": 5, "updated_at": "2022-11-25T11:15:59-08:00", "product_id": 8020035502375, "variant_ids": [44044072976679], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03503.jpg?v=1669403759", "width": 4896, "height": 3672}], "options": [{"name": "Size", "position": 1, "values": ["25mm", "38mm"]}], "url": "https://mozetsupplies.ca/products/sewable-webbing-ends-25mm-38mm?ref=myog", "vendorImg": "mozet.png", "sizes": ["25mm", "38mm"], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03507_400X.jpg?v=1669403759"}, {"id": 8020019773735, "title": "Triangle Metal Hook Gatekeeper", "handle": "copy-of-s-metal-snap-hook-38mm-50mm", "published_at": "2022-11-25T11:00:16-08:00", "created_at": "2022-11-25T10:57:01-08:00", "updated_at": "2023-01-17T20:05:07-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 44044034343207, "title": "25mm", "option1": "25mm", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946802463015, "product_id": 8020019773735, "position": 3, "created_at": "2022-11-25T10:58:41-08:00", "updated_at": "2022-11-25T10:59:00-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03586.jpg?v=1669402740", "variant_ids": [44044034343207]}, "available": true, "price": "1.40", "grams": 7, "compare_at_price": null, "position": 1, "product_id": 8020019773735, "created_at": "2022-11-25T11:00:16-08:00", "updated_at": "2023-01-17T20:02:31-08:00"}, {"id": 44044024119591, "title": "38mm", "option1": "38mm", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946802626855, "product_id": 8020019773735, "position": 4, "created_at": "2022-11-25T10:58:41-08:00", "updated_at": "2022-11-25T10:59:00-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03585.jpg?v=1669402740", "variant_ids": [44044024119591]}, "available": true, "price": "1.45", "grams": 7, "compare_at_price": null, "position": 2, "product_id": 8020019773735, "created_at": "2022-11-25T10:57:01-08:00", "updated_at": "2023-01-17T20:02:30-08:00"}], "images": [{"id": 39946802659623, "created_at": "2022-11-25T10:58:41-08:00", "position": 1, "updated_at": "2022-11-25T10:58:43-08:00", "product_id": 8020019773735, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03584.jpg?v=1669402723", "width": 4896, "height": 3672}, {"id": 39946802594087, "created_at": "2022-11-25T10:58:41-08:00", "position": 2, "updated_at": "2022-11-25T10:59:00-08:00", "product_id": 8020019773735, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03588.jpg?v=1669402740", "width": 4896, "height": 3672}, {"id": 39946802463015, "created_at": "2022-11-25T10:58:41-08:00", "position": 3, "updated_at": "2022-11-25T10:59:00-08:00", "product_id": 8020019773735, "variant_ids": [44044034343207], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03586.jpg?v=1669402740", "width": 4896, "height": 3672}, {"id": 39946802626855, "created_at": "2022-11-25T10:58:41-08:00", "position": 4, "updated_at": "2022-11-25T10:59:00-08:00", "product_id": 8020019773735, "variant_ids": [44044024119591], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03585.jpg?v=1669402740", "width": 4896, "height": 3672}], "options": [{"name": "Size", "position": 1, "values": ["25mm", "38mm"]}], "url": "https://mozetsupplies.ca/products/copy-of-s-metal-snap-hook-38mm-50mm?ref=myog", "vendorImg": "mozet.png", "sizes": ["25mm", "38mm"], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03586_400X.jpg?v=1669402740"}, {"id": 8020016005415, "title": "S-Metal Snap Hook", "handle": "s-metal-hook-38mm-50mm", "published_at": "2022-11-25T10:56:36-08:00", "created_at": "2022-11-25T10:53:23-08:00", "updated_at": "2023-01-10T18:23:26-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 44044019990823, "title": "38mm", "option1": "38mm", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946757505319, "product_id": 8020016005415, "position": 3, "created_at": "2022-11-25T10:54:11-08:00", "updated_at": "2022-11-25T10:55:55-08:00", "alt": null, "width": 4231, "height": 2982, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03579.jpg?v=1669402555", "variant_ids": [44044019990823]}, "available": true, "price": "1.85", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 8020016005415, "created_at": "2022-11-25T10:56:36-08:00", "updated_at": "2022-11-25T10:56:36-08:00"}, {"id": 44044020023591, "title": "50mm", "option1": "50mm", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946757603623, "product_id": 8020016005415, "position": 4, "created_at": "2022-11-25T10:54:11-08:00", "updated_at": "2022-11-25T10:54:13-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03582.jpg?v=1669402453", "variant_ids": [44044020023591]}, "available": true, "price": "1.90", "grams": 3, "compare_at_price": null, "position": 2, "product_id": 8020016005415, "created_at": "2022-11-25T10:56:36-08:00", "updated_at": "2022-11-25T10:56:37-08:00"}], "images": [{"id": 39946757570855, "created_at": "2022-11-25T10:54:11-08:00", "position": 1, "updated_at": "2022-11-25T10:55:55-08:00", "product_id": 8020016005415, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03580.jpg?v=1669402555", "width": 4896, "height": 2925}, {"id": 39946757865767, "created_at": "2022-11-25T10:54:11-08:00", "position": 2, "updated_at": "2022-11-25T10:55:55-08:00", "product_id": 8020016005415, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03577.jpg?v=1669402555", "width": 4896, "height": 3672}, {"id": 39946757505319, "created_at": "2022-11-25T10:54:11-08:00", "position": 3, "updated_at": "2022-11-25T10:55:55-08:00", "product_id": 8020016005415, "variant_ids": [44044019990823], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03579.jpg?v=1669402555", "width": 4231, "height": 2982}, {"id": 39946757603623, "created_at": "2022-11-25T10:54:11-08:00", "position": 4, "updated_at": "2022-11-25T10:54:13-08:00", "product_id": 8020016005415, "variant_ids": [44044020023591], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03582.jpg?v=1669402453", "width": 4896, "height": 3672}], "options": [{"name": "Size", "position": 1, "values": ["38mm", "50mm"]}], "url": "https://mozetsupplies.ca/products/s-metal-hook-38mm-50mm?ref=myog", "vendorImg": "mozet.png", "sizes": ["38mm", "50mm"], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03579_400X.jpg?v=1669402555"}, {"id": 8020004438311, "title": "Dtq", "handle": "dtq-webbing-sternum-adjuster", "published_at": "2022-11-25T10:48:43-08:00", "created_at": "2022-11-25T10:44:08-08:00", "updated_at": "2023-01-10T18:23:26-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware sternum", "tags": ["25mm", "hardware"], "variants": [{"id": 44043966316839, "title": "20mm/20mm", "option1": "20mm/20mm", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946669097255, "product_id": 8020004438311, "position": 3, "created_at": "2022-11-25T10:44:58-08:00", "updated_at": "2022-11-25T10:48:20-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03691.jpg?v=1669402100", "variant_ids": [44043966316839]}, "available": true, "price": "0.40", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 8020004438311, "created_at": "2022-11-25T10:44:08-08:00", "updated_at": "2022-11-25T10:49:27-08:00"}, {"id": 44044002623783, "title": "25mm/20mm", "option1": "25mm/20mm", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946669064487, "product_id": 8020004438311, "position": 4, "created_at": "2022-11-25T10:44:58-08:00", "updated_at": "2022-11-25T10:48:20-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03690.jpg?v=1669402100", "variant_ids": [44044002623783]}, "available": true, "price": "0.40", "grams": 3, "compare_at_price": null, "position": 2, "product_id": 8020004438311, "created_at": "2022-11-25T10:48:43-08:00", "updated_at": "2022-11-25T10:49:36-08:00"}], "images": [{"id": 39946669031719, "created_at": "2022-11-25T10:44:58-08:00", "position": 1, "updated_at": "2022-11-25T10:45:00-08:00", "product_id": 8020004438311, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03688.jpg?v=1669401900", "width": 4896, "height": 3672}, {"id": 39946668998951, "created_at": "2022-11-25T10:44:58-08:00", "position": 2, "updated_at": "2022-11-25T10:45:00-08:00", "product_id": 8020004438311, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03689.jpg?v=1669401900", "width": 4896, "height": 3672}, {"id": 39946669097255, "created_at": "2022-11-25T10:44:58-08:00", "position": 3, "updated_at": "2022-11-25T10:48:20-08:00", "product_id": 8020004438311, "variant_ids": [44043966316839], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03691.jpg?v=1669402100", "width": 4896, "height": 3672}, {"id": 39946669064487, "created_at": "2022-11-25T10:44:58-08:00", "position": 4, "updated_at": "2022-11-25T10:48:20-08:00", "product_id": 8020004438311, "variant_ids": [44044002623783], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03690.jpg?v=1669402100", "width": 4896, "height": 3672}], "options": [{"name": "Size", "position": 1, "values": ["20mm/20mm", "25mm/20mm"]}], "url": "https://mozetsupplies.ca/products/dtq-webbing-sternum-adjuster?ref=myog", "vendorImg": "mozet.png", "sizes": ["20mm/20mm", "25mm/20mm"], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03691_400X.jpg?v=1669402100"}, {"id": 8019999654183, "title": "Quick Attach Tension Lock With Hole", "handle": "quick-attach-tension-lock-with-hole-25mm", "published_at": "2022-11-25T10:37:38-08:00", "created_at": "2022-11-25T10:36:22-08:00", "updated_at": "2023-01-10T18:23:26-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware misc", "tags": ["hardware"], "variants": [{"id": 44043952128295, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.65", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 8019999654183, "created_at": "2022-11-25T10:36:22-08:00", "updated_at": "2022-12-19T23:19:01-08:00"}], "images": [{"id": 39946634559783, "created_at": "2022-11-25T10:37:08-08:00", "position": 1, "updated_at": "2022-11-25T10:37:09-08:00", "product_id": 8019999654183, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03702.jpg?v=1669401429", "width": 4896, "height": 3672}, {"id": 39946634527015, "created_at": "2022-11-25T10:37:08-08:00", "position": 2, "updated_at": "2022-11-25T10:37:09-08:00", "product_id": 8019999654183, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03703.jpg?v=1669401429", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/quick-attach-tension-lock-with-hole-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03702_400X.jpg?v=1669401429"}, {"id": 8019998015783, "title": "Curved Mojave Standard Release Tensionlock", "handle": "curved-mojave-standard-release-tensionlock-20mm", "published_at": "2022-11-25T10:35:03-08:00", "created_at": "2022-11-25T10:33:53-08:00", "updated_at": "2023-01-14T14:20:17-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware misc", "tags": ["hardware"], "variants": [{"id": 44043942822183, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.60", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 8019998015783, "created_at": "2022-11-25T10:33:53-08:00", "updated_at": "2023-01-14T14:19:55-08:00"}], "images": [{"id": 39946625351975, "created_at": "2022-11-25T10:34:45-08:00", "position": 1, "updated_at": "2022-11-25T10:34:55-08:00", "product_id": 8019998015783, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03682.jpg?v=1669401295", "width": 4896, "height": 3672}, {"id": 39946625417511, "created_at": "2022-11-25T10:34:45-08:00", "position": 2, "updated_at": "2022-11-25T10:34:55-08:00", "product_id": 8019998015783, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03681.jpg?v=1669401295", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/curved-mojave-standard-release-tensionlock-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03682_400X.jpg?v=1669401295"}, {"id": 8019992412455, "title": "Picco Tension Lock", "handle": "picco-tension-lock", "published_at": "2022-11-25T10:32:35-08:00", "created_at": "2022-11-25T10:26:14-08:00", "updated_at": "2023-01-10T18:23:26-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware misc", "tags": ["hardware"], "variants": [{"id": 44043895505191, "title": "20mm", "option1": "20mm", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946596811047, "product_id": 8019992412455, "position": 4, "created_at": "2022-11-25T10:28:01-08:00", "updated_at": "2022-11-25T10:28:03-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03699.jpg?v=1669400883", "variant_ids": [44043895505191]}, "available": true, "price": "0.60", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 8019992412455, "created_at": "2022-11-25T10:26:14-08:00", "updated_at": "2022-11-28T08:14:40-08:00"}, {"id": 44043895537959, "title": "25mm", "option1": "25mm", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946596909351, "product_id": 8019992412455, "position": 5, "created_at": "2022-11-25T10:28:02-08:00", "updated_at": "2022-11-25T10:28:03-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03700.jpg?v=1669400883", "variant_ids": [44043895537959]}, "available": true, "price": "0.65", "grams": 3, "compare_at_price": null, "position": 2, "product_id": 8019992412455, "created_at": "2022-11-25T10:26:14-08:00", "updated_at": "2022-11-25T10:31:32-08:00"}], "images": [{"id": 39946596974887, "created_at": "2022-11-25T10:28:01-08:00", "position": 1, "updated_at": "2022-11-25T10:28:03-08:00", "product_id": 8019992412455, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03696.jpg?v=1669400883", "width": 4896, "height": 3672}, {"id": 39946597007655, "created_at": "2022-11-25T10:28:01-08:00", "position": 2, "updated_at": "2022-11-25T10:28:04-08:00", "product_id": 8019992412455, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03697.jpg?v=1669400884", "width": 4896, "height": 3672}, {"id": 39946596942119, "created_at": "2022-11-25T10:28:01-08:00", "position": 3, "updated_at": "2022-11-25T10:28:03-08:00", "product_id": 8019992412455, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03698.jpg?v=1669400883", "width": 4896, "height": 3672}, {"id": 39946596811047, "created_at": "2022-11-25T10:28:01-08:00", "position": 4, "updated_at": "2022-11-25T10:28:03-08:00", "product_id": 8019992412455, "variant_ids": [44043895505191], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03699.jpg?v=1669400883", "width": 4896, "height": 3672}, {"id": 39946596909351, "created_at": "2022-11-25T10:28:02-08:00", "position": 5, "updated_at": "2022-11-25T10:28:03-08:00", "product_id": 8019992412455, "variant_ids": [44043895537959], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03700.jpg?v=1669400883", "width": 4896, "height": 3672}], "options": [{"name": "Size", "position": 1, "values": ["20mm", "25mm"]}], "url": "https://mozetsupplies.ca/products/picco-tension-lock?ref=myog", "vendorImg": "mozet.png", "sizes": ["20mm", "25mm"], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03699_400X.jpg?v=1669400883"}, {"id": 8019988644135, "title": "Pop Cord Lock", "handle": "pop-cord-lock", "published_at": "2022-11-25T10:25:00-08:00", "created_at": "2022-11-25T10:23:58-08:00", "updated_at": "2023-01-10T18:23:26-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware cord", "tags": ["hardware"], "variants": [{"id": 44043843895591, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.65", "grams": 2, "compare_at_price": null, "position": 1, "product_id": 8019988644135, "created_at": "2022-11-25T10:23:58-08:00", "updated_at": "2022-12-02T17:37:26-08:00"}], "images": [{"id": 39946578723111, "created_at": "2022-11-25T10:24:15-08:00", "position": 1, "updated_at": "2022-11-25T10:24:48-08:00", "product_id": 8019988644135, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03687.jpg?v=1669400688", "width": 4896, "height": 3672}, {"id": 39946578690343, "created_at": "2022-11-25T10:24:15-08:00", "position": 2, "updated_at": "2022-11-25T10:24:48-08:00", "product_id": 8019988644135, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03686.jpg?v=1669400688", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/pop-cord-lock?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03687_400X.jpg?v=1669400688"}, {"id": 8019987038503, "title": "1Mm Micro Puller", "handle": "1mm-micro-puller", "published_at": "2022-11-25T10:23:25-08:00", "created_at": "2022-11-25T10:21:54-08:00", "updated_at": "2023-01-10T18:23:25-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware misc", "tags": ["hardware"], "variants": [{"id": 44043831017767, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.65", "grams": 2, "compare_at_price": null, "position": 1, "product_id": 8019987038503, "created_at": "2022-11-25T10:21:54-08:00", "updated_at": "2023-01-04T11:29:03-08:00"}], "images": [{"id": 39946568892711, "created_at": "2022-11-25T10:22:28-08:00", "position": 1, "updated_at": "2022-11-25T10:23:10-08:00", "product_id": 8019987038503, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03521.jpg?v=1669400590", "width": 4896, "height": 3672}, {"id": 39946568859943, "created_at": "2022-11-25T10:22:28-08:00", "position": 2, "updated_at": "2022-11-25T10:23:10-08:00", "product_id": 8019987038503, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03523.jpg?v=1669400590", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/1mm-micro-puller?ref=myog", "vendorImg": "mozet.png", "sizes": [["1mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03521_400X.jpg?v=1669400590"}, {"id": 8019983302951, "title": "Webbing Track Whistle Clip", "handle": "webbing-track-whistle-clip", "published_at": "2022-11-25T10:21:39-08:00", "created_at": "2022-11-25T10:19:47-08:00", "updated_at": "2023-01-16T12:50:25-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["hardware"], "variants": [{"id": 44043800117543, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.30", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 8019983302951, "created_at": "2022-11-25T10:19:47-08:00", "updated_at": "2023-01-16T12:47:13-08:00"}], "images": [{"id": 39946562208039, "created_at": "2022-11-25T10:20:23-08:00", "position": 1, "updated_at": "2022-11-25T10:21:06-08:00", "product_id": 8019983302951, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03643.jpg?v=1669400466", "width": 4896, "height": 3672}, {"id": 39946562142503, "created_at": "2022-11-25T10:20:23-08:00", "position": 2, "updated_at": "2022-11-25T11:55:13-08:00", "product_id": 8019983302951, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03648.jpg?v=1669406113", "width": 4896, "height": 3672}, {"id": 39946562175271, "created_at": "2022-11-25T10:20:23-08:00", "position": 3, "updated_at": "2022-11-25T11:55:13-08:00", "product_id": 8019983302951, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03646.jpg?v=1669406113", "width": 4896, "height": 3672}, {"id": 39946562240807, "created_at": "2022-11-25T10:20:23-08:00", "position": 4, "updated_at": "2022-11-25T10:20:26-08:00", "product_id": 8019983302951, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03649.jpg?v=1669400426", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/webbing-track-whistle-clip?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03643_400X.jpg?v=1669400466"}, {"id": 8019968196903, "title": "Squeeze Hook", "handle": "squeeze-hook", "published_at": "2022-11-25T10:19:16-08:00", "created_at": "2022-11-25T10:12:51-08:00", "updated_at": "2023-01-10T18:23:25-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware cord", "tags": ["hardware"], "variants": [{"id": 44043754340647, "title": "Strong Hook - 2.5mm-3.5mm", "option1": "Strong Hook - 2.5mm-3.5mm", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946541760807, "product_id": 8019968196903, "position": 5, "created_at": "2022-11-25T10:16:12-08:00", "updated_at": "2022-11-25T10:16:15-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03678.jpg?v=1669400175", "variant_ids": [44043754340647]}, "available": true, "price": "0.65", "grams": 2, "compare_at_price": null, "position": 1, "product_id": 8019968196903, "created_at": "2022-11-25T10:17:22-08:00", "updated_at": "2022-11-28T17:04:01-08:00"}, {"id": 44043754373415, "title": "Mini Hook - 1.5mm-3mm", "option1": "Mini Hook - 1.5mm-3mm", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946541662503, "product_id": 8019968196903, "position": 6, "created_at": "2022-11-25T10:16:12-08:00", "updated_at": "2022-11-25T10:16:14-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03679.jpg?v=1669400174", "variant_ids": [44043754373415]}, "available": true, "price": "0.60", "grams": 1, "compare_at_price": null, "position": 2, "product_id": 8019968196903, "created_at": "2022-11-25T10:17:22-08:00", "updated_at": "2022-12-04T10:45:03-08:00"}], "images": [{"id": 39946541531431, "created_at": "2022-11-25T10:16:12-08:00", "position": 1, "updated_at": "2022-11-25T10:16:14-08:00", "product_id": 8019968196903, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03673.jpg?v=1669400174", "width": 4896, "height": 3672}, {"id": 39946541564199, "created_at": "2022-11-25T10:16:12-08:00", "position": 2, "updated_at": "2022-11-25T10:16:14-08:00", "product_id": 8019968196903, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03674.jpg?v=1669400174", "width": 4896, "height": 3672}, {"id": 39946541498663, "created_at": "2022-11-25T10:16:12-08:00", "position": 3, "updated_at": "2022-11-25T10:16:14-08:00", "product_id": 8019968196903, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03675.jpg?v=1669400174", "width": 4896, "height": 3672}, {"id": 39946541793575, "created_at": "2022-11-25T10:16:12-08:00", "position": 4, "updated_at": "2022-11-25T10:16:15-08:00", "product_id": 8019968196903, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03676.jpg?v=1669400175", "width": 4896, "height": 3672}, {"id": 39946541760807, "created_at": "2022-11-25T10:16:12-08:00", "position": 5, "updated_at": "2022-11-25T10:16:15-08:00", "product_id": 8019968196903, "variant_ids": [44043754340647], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03678.jpg?v=1669400175", "width": 4896, "height": 3672}, {"id": 39946541662503, "created_at": "2022-11-25T10:16:12-08:00", "position": 6, "updated_at": "2022-11-25T10:16:14-08:00", "product_id": 8019968196903, "variant_ids": [44043754373415], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03679.jpg?v=1669400174", "width": 4896, "height": 3672}], "options": [{"name": "Size", "position": 1, "values": ["Strong Hook - 2.5mm-3.5mm", "Mini Hook - 1.5mm-3mm"]}], "url": "https://mozetsupplies.ca/products/squeeze-hook?ref=myog", "vendorImg": "mozet.png", "sizes": ["Strong Hook - 2.5mm-3.5mm", "Mini Hook - 1.5mm-3mm"], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03678_400X.jpg?v=1669400175"}, {"id": 8019944669479, "title": "Easy Pull Cord Lord With Loop", "handle": "cord-lord-with-loop", "published_at": "2022-11-25T10:11:37-08:00", "created_at": "2022-11-25T10:02:51-08:00", "updated_at": "2023-01-10T18:23:25-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware cord", "tags": ["hardware"], "variants": [{"id": 44043451072807, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.45", "grams": 4, "compare_at_price": null, "position": 1, "product_id": 8019944669479, "created_at": "2022-11-25T10:02:51-08:00", "updated_at": "2022-11-28T11:40:25-08:00"}], "images": [{"id": 39946486382887, "created_at": "2022-11-25T10:09:06-08:00", "position": 1, "updated_at": "2022-11-25T10:09:07-08:00", "product_id": 8019944669479, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/download_1.jpg?v=1669399747", "width": 225, "height": 225}, {"id": 39946504012071, "created_at": "2022-11-25T10:11:31-08:00", "position": 2, "updated_at": "2022-11-25T10:11:33-08:00", "product_id": 8019944669479, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/11-cord-lord-450x355.jpg?v=1669399893", "width": 450, "height": 355}, {"id": 39946486448423, "created_at": "2022-11-25T10:09:06-08:00", "position": 3, "updated_at": "2022-11-25T10:11:33-08:00", "product_id": 8019944669479, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03624.jpg?v=1669399893", "width": 4896, "height": 3672}, {"id": 39946486415655, "created_at": "2022-11-25T10:09:06-08:00", "position": 4, "updated_at": "2022-11-25T10:11:33-08:00", "product_id": 8019944669479, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03625.jpg?v=1669399893", "width": 4896, "height": 3672}, {"id": 39946486481191, "created_at": "2022-11-25T10:09:06-08:00", "position": 5, "updated_at": "2022-11-25T10:11:33-08:00", "product_id": 8019944669479, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03626.jpg?v=1669399893", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/cord-lord-with-loop?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/download_1_400X.jpg?v=1669399747"}, {"id": 8019925106983, "title": "Mini Cord Lock", "handle": "mini-cord-lock", "published_at": "2022-11-25T09:58:23-08:00", "created_at": "2022-11-25T09:54:07-08:00", "updated_at": "2023-01-10T18:23:25-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware cord", "tags": ["hardware"], "variants": [{"id": 44043337564455, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.45", "grams": 1, "compare_at_price": null, "position": 1, "product_id": 8019925106983, "created_at": "2022-11-25T09:54:07-08:00", "updated_at": "2022-11-27T19:08:40-08:00"}], "images": [{"id": 39946412261671, "created_at": "2022-11-25T09:54:55-08:00", "position": 1, "updated_at": "2022-11-25T09:54:57-08:00", "product_id": 8019925106983, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03684.jpg?v=1669398897", "width": 4896, "height": 3672}, {"id": 39946412359975, "created_at": "2022-11-25T09:54:55-08:00", "position": 2, "updated_at": "2022-11-25T09:54:57-08:00", "product_id": 8019925106983, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03685.jpg?v=1669398897", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/mini-cord-lock?ref=myog", "vendorImg": "mozet.png", "sizes": [["10mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03684_400X.jpg?v=1669398897"}, {"id": 8019923501351, "title": "Cyberian-Style Pulling Cord Lock", "handle": "cyberian-style-pulling-cord-lock", "published_at": "2022-11-25T09:52:55-08:00", "created_at": "2022-11-25T09:50:29-08:00", "updated_at": "2023-01-21T06:45:51-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware cord", "tags": ["hardware"], "variants": [{"id": 44043330126119, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.60", "grams": 2, "compare_at_price": null, "position": 1, "product_id": 8019923501351, "created_at": "2022-11-25T09:50:29-08:00", "updated_at": "2023-01-21T06:45:51-08:00"}], "images": [{"id": 39946395025703, "created_at": "2022-11-25T09:51:17-08:00", "position": 1, "updated_at": "2022-11-25T09:51:18-08:00", "product_id": 8019923501351, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03497.jpg?v=1669398678", "width": 4896, "height": 3672}, {"id": 39946395058471, "created_at": "2022-11-25T09:51:17-08:00", "position": 2, "updated_at": "2022-11-25T09:51:18-08:00", "product_id": 8019923501351, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03499.jpg?v=1669398678", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/cyberian-style-pulling-cord-lock?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03497_400X.jpg?v=1669398678"}, {"id": 8011546788135, "title": "Buddy Lion Dual Adjust Buckle", "handle": "copy-of-buddy-lion-single-adjust-buckle-20mm", "published_at": "2022-11-18T23:52:24-08:00", "created_at": "2022-11-18T23:50:47-08:00", "updated_at": "2023-01-10T18:23:25-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["25mm", "hardware"], "variants": [{"id": 44012644827431, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.85", "grams": 5, "compare_at_price": null, "position": 1, "product_id": 8011546788135, "created_at": "2022-11-18T23:50:47-08:00", "updated_at": "2022-12-04T21:59:07-08:00"}], "images": [{"id": 39896412750119, "created_at": "2022-11-18T23:51:32-08:00", "position": 1, "updated_at": "2022-11-18T23:51:34-08:00", "product_id": 8011546788135, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03650.jpg?v=1668844294", "width": 4896, "height": 3672}, {"id": 39896412717351, "created_at": "2022-11-18T23:51:32-08:00", "position": 2, "updated_at": "2022-11-18T23:51:33-08:00", "product_id": 8011546788135, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03652.jpg?v=1668844293", "width": 4896, "height": 3672}, {"id": 39896412782887, "created_at": "2022-11-18T23:51:32-08:00", "position": 3, "updated_at": "2022-11-18T23:51:34-08:00", "product_id": 8011546788135, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03692.jpg?v=1668844294", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/copy-of-buddy-lion-single-adjust-buckle-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03650_400X.jpg?v=1668844294"}, {"id": 8011545477415, "title": "Berg Buckle", "handle": "berg-buckle-50mm", "published_at": "2022-11-18T23:48:07-08:00", "created_at": "2022-11-18T23:44:22-08:00", "updated_at": "2023-01-10T18:23:25-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["25mm", "hardware"], "variants": [{"id": 44012636438823, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "2.50", "grams": 12, "compare_at_price": null, "position": 1, "product_id": 8011545477415, "created_at": "2022-11-18T23:44:22-08:00", "updated_at": "2022-12-16T12:30:36-08:00"}], "images": [{"id": 39896401314087, "created_at": "2022-11-18T23:46:51-08:00", "position": 1, "updated_at": "2022-11-18T23:46:54-08:00", "product_id": 8011545477415, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03479.jpg?v=1668844014", "width": 4896, "height": 3672}, {"id": 39896400232743, "created_at": "2022-11-18T23:45:30-08:00", "position": 2, "updated_at": "2022-11-18T23:46:54-08:00", "product_id": 8011545477415, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03485.jpg?v=1668844014", "width": 4896, "height": 3672}, {"id": 39896400134439, "created_at": "2022-11-18T23:45:30-08:00", "position": 3, "updated_at": "2022-11-18T23:46:54-08:00", "product_id": 8011545477415, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03486.jpg?v=1668844014", "width": 4896, "height": 3672}, {"id": 39896400167207, "created_at": "2022-11-18T23:45:30-08:00", "position": 4, "updated_at": "2022-11-18T23:46:54-08:00", "product_id": 8011545477415, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03488.jpg?v=1668844014", "width": 4896, "height": 3672}, {"id": 39896400199975, "created_at": "2022-11-18T23:45:30-08:00", "position": 5, "updated_at": "2022-11-18T23:46:54-08:00", "product_id": 8011545477415, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03489.jpg?v=1668844014", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/berg-buckle-50mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["50mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03479_400X.jpg?v=1668844014"}, {"id": 8011545444647, "title": "Berg Buckle", "handle": "berg-buckle-38mm", "published_at": "2022-11-18T23:49:34-08:00", "created_at": "2022-11-18T23:44:10-08:00", "updated_at": "2023-01-24T09:10:31-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["25mm", "hardware"], "variants": [{"id": 44012636406055, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "2.10", "grams": 10, "compare_at_price": "0.63", "position": 1, "product_id": 8011545444647, "created_at": "2022-11-18T23:44:10-08:00", "updated_at": "2023-01-24T09:07:46-08:00"}], "images": [{"id": 39896405016871, "created_at": "2022-11-18T23:48:52-08:00", "position": 1, "updated_at": "2022-11-18T23:48:53-08:00", "product_id": 8011545444647, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03479_333791a2-12c9-41b9-a278-8bbac7c4f464.jpg?v=1668844133", "width": 4896, "height": 3672}, {"id": 39896405049639, "created_at": "2022-11-18T23:48:52-08:00", "position": 2, "updated_at": "2022-11-18T23:48:53-08:00", "product_id": 8011545444647, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03480.jpg?v=1668844133", "width": 4896, "height": 3672}, {"id": 39896405311783, "created_at": "2022-11-18T23:48:52-08:00", "position": 3, "updated_at": "2022-11-18T23:48:54-08:00", "product_id": 8011545444647, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03481.jpg?v=1668844134", "width": 4896, "height": 3672}, {"id": 39896404951335, "created_at": "2022-11-18T23:48:52-08:00", "position": 4, "updated_at": "2022-11-18T23:48:53-08:00", "product_id": 8011545444647, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03482.jpg?v=1668844133", "width": 4896, "height": 3672}, {"id": 39896404984103, "created_at": "2022-11-18T23:48:52-08:00", "position": 5, "updated_at": "2022-11-18T23:48:53-08:00", "product_id": 8011545444647, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03483.jpg?v=1668844133", "width": 4896, "height": 3672}, {"id": 39896405115175, "created_at": "2022-11-18T23:48:52-08:00", "position": 6, "updated_at": "2022-11-18T23:48:54-08:00", "product_id": 8011545444647, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03484.jpg?v=1668844134", "width": 4896, "height": 3672}, {"id": 39896405082407, "created_at": "2022-11-18T23:48:52-08:00", "position": 7, "updated_at": "2022-11-18T23:48:54-08:00", "product_id": 8011545444647, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03491.jpg?v=1668844134", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/berg-buckle-38mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["38mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03479_333791a2-12c9-41b9-a278-8bbac7c4f464_400X.jpg?v=1668844133"}, {"id": 8011545379111, "title": "Buddy Lion Dual Adjust Buckle", "handle": "buddy-lion-dual-adjust-buckle-25mm", "published_at": "2022-11-18T23:55:48-08:00", "created_at": "2022-11-18T23:43:34-08:00", "updated_at": "2023-01-10T18:23:25-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["25mm", "hardware"], "variants": [{"id": 44012636307751, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.00", "grams": 7, "compare_at_price": null, "position": 1, "product_id": 8011545379111, "created_at": "2022-11-18T23:43:34-08:00", "updated_at": "2023-01-04T10:38:54-08:00"}], "images": [{"id": 39896414748967, "created_at": "2022-11-18T23:53:16-08:00", "position": 1, "updated_at": "2022-11-18T23:56:39-08:00", "product_id": 8011545379111, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03662.jpg?v=1668844599", "width": 4896, "height": 3672}, {"id": 39896414683431, "created_at": "2022-11-18T23:53:16-08:00", "position": 2, "updated_at": "2022-11-18T23:56:39-08:00", "product_id": 8011545379111, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03660.jpg?v=1668844599", "width": 4896, "height": 3672}, {"id": 39896414716199, "created_at": "2022-11-18T23:53:16-08:00", "position": 3, "updated_at": "2022-11-18T23:53:18-08:00", "product_id": 8011545379111, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03692_6ce3681c-edbf-4c7d-a60c-526b9022f6ae.jpg?v=1668844398", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/buddy-lion-dual-adjust-buckle-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03662_400X.jpg?v=1668844599"}, {"id": 8011545280807, "title": "Alto Dual Adjust Buckle", "handle": "alto-dual-adjust-buckle-25mm", "published_at": "2022-11-25T11:10:43-08:00", "created_at": "2022-11-18T23:41:27-08:00", "updated_at": "2023-01-10T18:23:24-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["25mm", "hardware"], "variants": [{"id": 44044058198311, "title": "Black", "option1": "Black", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39947059855655, "product_id": 8011545280807, "position": 2, "created_at": "2022-11-25T11:29:22-08:00", "updated_at": "2022-11-25T11:29:31-08:00", "alt": null, "width": 2997, "height": 2651, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20221125_192102450.jpg?v=1669404571", "variant_ids": [44044058198311]}, "available": true, "price": "1.50", "grams": 12, "compare_at_price": null, "position": 1, "product_id": 8011545280807, "created_at": "2022-11-25T11:09:10-08:00", "updated_at": "2022-11-25T11:30:00-08:00"}, {"id": 44044058231079, "title": "Coyote Brown", "option1": "Coyote Brown", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39947053433127, "product_id": 8011545280807, "position": 3, "created_at": "2022-11-25T11:28:45-08:00", "updated_at": "2022-11-25T11:29:31-08:00", "alt": null, "width": 3024, "height": 2573, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20221125_192056004.jpg?v=1669404571", "variant_ids": [44044058231079]}, "available": true, "price": "1.50", "grams": 12, "compare_at_price": null, "position": 2, "product_id": 8011545280807, "created_at": "2022-11-25T11:09:10-08:00", "updated_at": "2022-11-25T11:30:00-08:00"}], "images": [{"id": 39947053367591, "created_at": "2022-11-25T11:28:45-08:00", "position": 1, "updated_at": "2022-11-25T11:29:31-08:00", "product_id": 8011545280807, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20221125_192049001.MP.jpg?v=1669404571", "width": 3024, "height": 2987}, {"id": 39947059855655, "created_at": "2022-11-25T11:29:22-08:00", "position": 2, "updated_at": "2022-11-25T11:29:31-08:00", "product_id": 8011545280807, "variant_ids": [44044058198311], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20221125_192102450.jpg?v=1669404571", "width": 2997, "height": 2651}, {"id": 39947053433127, "created_at": "2022-11-25T11:28:45-08:00", "position": 3, "updated_at": "2022-11-25T11:29:31-08:00", "product_id": 8011545280807, "variant_ids": [44044058231079], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20221125_192056004.jpg?v=1669404571", "width": 3024, "height": 2573}, {"id": 39947053334823, "created_at": "2022-11-25T11:28:45-08:00", "position": 4, "updated_at": "2022-11-25T11:29:31-08:00", "product_id": 8011545280807, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20221125_192201461_26e086d8-6d1c-4974-b163-5c5467c2f83b.jpg?v=1669404571", "width": 2858, "height": 2595}], "options": [{"name": "Color", "position": 1, "values": ["Black", "Coyote Brown"]}], "url": "https://mozetsupplies.ca/products/alto-dual-adjust-buckle-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20221125_192102450_400X.jpg?v=1669404571"}, {"id": 8011545248039, "title": "Alto No Adjust Buckle", "handle": "alto-no-adjust-buckle-25mm", "published_at": "2022-11-19T00:00:17-08:00", "created_at": "2022-11-18T23:41:14-08:00", "updated_at": "2023-01-10T18:23:24-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["25mm", "hardware"], "variants": [{"id": 44012634210599, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.75", "grams": 8, "compare_at_price": null, "position": 1, "product_id": 8011545248039, "created_at": "2022-11-18T23:41:14-08:00", "updated_at": "2022-11-19T00:00:17-08:00"}], "images": [{"id": 39896423465255, "created_at": "2022-11-18T23:58:49-08:00", "position": 1, "updated_at": "2022-11-18T23:58:51-08:00", "product_id": 8011545248039, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03654.jpg?v=1668844731", "width": 4896, "height": 3672}, {"id": 39896423432487, "created_at": "2022-11-18T23:58:49-08:00", "position": 2, "updated_at": "2022-11-18T23:58:51-08:00", "product_id": 8011545248039, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03655.jpg?v=1668844731", "width": 4896, "height": 3672}, {"id": 39896423399719, "created_at": "2022-11-18T23:58:49-08:00", "position": 3, "updated_at": "2022-11-18T23:58:51-08:00", "product_id": 8011545248039, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03693.jpg?v=1668844731", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/alto-no-adjust-buckle-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03654_400X.jpg?v=1668844731"}, {"id": 8011545116967, "title": "Alto Single Adjust Buckle", "handle": "alto-single-adjust-buckle-25mm", "published_at": "2022-11-19T00:03:30-08:00", "created_at": "2022-11-18T23:40:46-08:00", "updated_at": "2023-01-10T18:23:24-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["25mm", "hardware"], "variants": [{"id": 44044064686375, "title": "Black", "option1": "Black", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39896428052775, "product_id": 8011545116967, "position": 3, "created_at": "2022-11-19T00:00:58-08:00", "updated_at": "2022-11-25T11:27:44-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03601.jpg?v=1669404464", "variant_ids": [44044064686375]}, "available": true, "price": "1.25", "grams": 12, "compare_at_price": null, "position": 1, "product_id": 8011545116967, "created_at": "2022-11-25T11:10:28-08:00", "updated_at": "2023-01-08T20:27:17-08:00"}, {"id": 44044064719143, "title": "Coyote Brown", "option1": "Coyote Brown", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39947037180199, "product_id": 8011545116967, "position": 2, "created_at": "2022-11-25T11:27:26-08:00", "updated_at": "2022-11-25T11:27:44-08:00", "alt": null, "width": 2792, "height": 2842, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20221125_192118260.jpg?v=1669404464", "variant_ids": [44044064719143]}, "available": true, "price": "1.25", "grams": 12, "compare_at_price": null, "position": 2, "product_id": 8011545116967, "created_at": "2022-11-25T11:10:28-08:00", "updated_at": "2022-11-25T11:28:18-08:00"}], "images": [{"id": 39947037147431, "created_at": "2022-11-25T11:27:26-08:00", "position": 1, "updated_at": "2022-11-25T11:27:44-08:00", "product_id": 8011545116967, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20221125_192113737.jpg?v=1669404464", "width": 2459, "height": 2391}, {"id": 39947037180199, "created_at": "2022-11-25T11:27:26-08:00", "position": 2, "updated_at": "2022-11-25T11:27:44-08:00", "product_id": 8011545116967, "variant_ids": [44044064719143], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20221125_192118260.jpg?v=1669404464", "width": 2792, "height": 2842}, {"id": 39896428052775, "created_at": "2022-11-19T00:00:58-08:00", "position": 3, "updated_at": "2022-11-25T11:27:44-08:00", "product_id": 8011545116967, "variant_ids": [44044064686375], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03601.jpg?v=1669404464", "width": 4896, "height": 3672}, {"id": 39896428118311, "created_at": "2022-11-19T00:00:58-08:00", "position": 4, "updated_at": "2022-11-25T11:27:44-08:00", "product_id": 8011545116967, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03602.jpg?v=1669404464", "width": 4896, "height": 3672}, {"id": 39947036983591, "created_at": "2022-11-25T11:27:26-08:00", "position": 5, "updated_at": "2022-11-25T11:27:27-08:00", "product_id": 8011545116967, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20221125_192201461.jpg?v=1669404447", "width": 2858, "height": 2595}], "options": [{"name": "Color", "position": 1, "values": ["Black", "Coyote Brown"]}], "url": "https://mozetsupplies.ca/products/alto-single-adjust-buckle-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03601_400X.jpg?v=1669404464"}, {"id": 8004699947303, "title": "G-Hook Gatekeeper", "handle": "copy-of-g-hook-gatekeeper-right-20mm-25mm-38mm", "published_at": "2022-11-13T23:27:40-08:00", "created_at": "2022-11-13T23:11:53-08:00", "updated_at": "2023-01-24T11:10:16-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 43959952802087, "title": "20mm/ 3/4\" / Black / 2 Buckles", "option1": "20mm/ 3/4\"", "option2": "Black", "option3": "2 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865522946343, "product_id": 8004699947303, "position": 8, "created_at": "2022-11-13T23:25:50-08:00", "updated_at": "2022-11-13T23:25:51-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03153_655db146-d54d-45d7-9938-66fca7ce0d4a.jpg?v=1668410751", "variant_ids": [43959952802087, 43959952834855, 43959952867623, 43959952900391, 43959952933159]}, "available": true, "price": "3.20", "grams": 10, "compare_at_price": null, "position": 1, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:53-08:00", "updated_at": "2022-11-17T22:53:06-08:00"}, {"id": 43959952834855, "title": "20mm/ 3/4\" / Black / 4 Buckles", "option1": "20mm/ 3/4\"", "option2": "Black", "option3": "4 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865522946343, "product_id": 8004699947303, "position": 8, "created_at": "2022-11-13T23:25:50-08:00", "updated_at": "2022-11-13T23:25:51-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03153_655db146-d54d-45d7-9938-66fca7ce0d4a.jpg?v=1668410751", "variant_ids": [43959952802087, 43959952834855, 43959952867623, 43959952900391, 43959952933159]}, "available": true, "price": "5.00", "grams": 20, "compare_at_price": null, "position": 2, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:53-08:00", "updated_at": "2023-01-15T08:17:24-08:00"}, {"id": 43959952867623, "title": "20mm/ 3/4\" / Black / 10 Buckles", "option1": "20mm/ 3/4\"", "option2": "Black", "option3": "10 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865522946343, "product_id": 8004699947303, "position": 8, "created_at": "2022-11-13T23:25:50-08:00", "updated_at": "2022-11-13T23:25:51-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03153_655db146-d54d-45d7-9938-66fca7ce0d4a.jpg?v=1668410751", "variant_ids": [43959952802087, 43959952834855, 43959952867623, 43959952900391, 43959952933159]}, "available": true, "price": "10.00", "grams": 50, "compare_at_price": null, "position": 3, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:53-08:00", "updated_at": "2023-01-24T09:07:47-08:00"}, {"id": 43959952900391, "title": "20mm/ 3/4\" / Black / 20 Buckles", "option1": "20mm/ 3/4\"", "option2": "Black", "option3": "20 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865522946343, "product_id": 8004699947303, "position": 8, "created_at": "2022-11-13T23:25:50-08:00", "updated_at": "2022-11-13T23:25:51-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03153_655db146-d54d-45d7-9938-66fca7ce0d4a.jpg?v=1668410751", "variant_ids": [43959952802087, 43959952834855, 43959952867623, 43959952900391, 43959952933159]}, "available": true, "price": "17.00", "grams": 100, "compare_at_price": null, "position": 4, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-11-25T08:51:53-08:00"}, {"id": 43959952933159, "title": "20mm/ 3/4\" / Black / 100 Buckles", "option1": "20mm/ 3/4\"", "option2": "Black", "option3": "100 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865522946343, "product_id": 8004699947303, "position": 8, "created_at": "2022-11-13T23:25:50-08:00", "updated_at": "2022-11-13T23:25:51-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03153_655db146-d54d-45d7-9938-66fca7ce0d4a.jpg?v=1668410751", "variant_ids": [43959952802087, 43959952834855, 43959952867623, 43959952900391, 43959952933159]}, "available": true, "price": "70.00", "grams": 500, "compare_at_price": null, "position": 5, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2023-01-13T09:45:40-08:00"}, {"id": 43959952965927, "title": "25mm/ 1\" / Black / 2 Buckles", "option1": "25mm/ 1\"", "option2": "Black", "option3": "2 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865520652583, "product_id": 8004699947303, "position": 1, "created_at": "2022-11-13T23:25:13-08:00", "updated_at": "2022-11-13T23:25:26-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02568_b1af2253-4c0c-4d1d-9406-b9de0eebef67.jpg?v=1668410726", "variant_ids": [43959952965927, 43959952998695, 43959953031463, 43959953064231, 43959953096999]}, "available": true, "price": "3.30", "grams": 14, "compare_at_price": null, "position": 6, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-11-28T11:40:26-08:00"}, {"id": 43959952998695, "title": "25mm/ 1\" / Black / 4 Buckles", "option1": "25mm/ 1\"", "option2": "Black", "option3": "4 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865520652583, "product_id": 8004699947303, "position": 1, "created_at": "2022-11-13T23:25:13-08:00", "updated_at": "2022-11-13T23:25:26-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02568_b1af2253-4c0c-4d1d-9406-b9de0eebef67.jpg?v=1668410726", "variant_ids": [43959952965927, 43959952998695, 43959953031463, 43959953064231, 43959953096999]}, "available": true, "price": "6.20", "grams": 24, "compare_at_price": null, "position": 7, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2023-01-11T09:23:40-08:00"}, {"id": 43959953031463, "title": "25mm/ 1\" / Black / 10 Buckles", "option1": "25mm/ 1\"", "option2": "Black", "option3": "10 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865520652583, "product_id": 8004699947303, "position": 1, "created_at": "2022-11-13T23:25:13-08:00", "updated_at": "2022-11-13T23:25:26-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02568_b1af2253-4c0c-4d1d-9406-b9de0eebef67.jpg?v=1668410726", "variant_ids": [43959952965927, 43959952998695, 43959953031463, 43959953064231, 43959953096999]}, "available": true, "price": "12.50", "grams": 60, "compare_at_price": null, "position": 8, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2023-01-12T10:43:31-08:00"}, {"id": 43959953064231, "title": "25mm/ 1\" / Black / 20 Buckles", "option1": "25mm/ 1\"", "option2": "Black", "option3": "20 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865520652583, "product_id": 8004699947303, "position": 1, "created_at": "2022-11-13T23:25:13-08:00", "updated_at": "2022-11-13T23:25:26-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02568_b1af2253-4c0c-4d1d-9406-b9de0eebef67.jpg?v=1668410726", "variant_ids": [43959952965927, 43959952998695, 43959953031463, 43959953064231, 43959953096999]}, "available": true, "price": "21.00", "grams": 120, "compare_at_price": null, "position": 9, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2023-01-12T10:43:31-08:00"}, {"id": 43959953096999, "title": "25mm/ 1\" / Black / 100 Buckles", "option1": "25mm/ 1\"", "option2": "Black", "option3": "100 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865520652583, "product_id": 8004699947303, "position": 1, "created_at": "2022-11-13T23:25:13-08:00", "updated_at": "2022-11-13T23:25:26-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02568_b1af2253-4c0c-4d1d-9406-b9de0eebef67.jpg?v=1668410726", "variant_ids": [43959952965927, 43959952998695, 43959953031463, 43959953064231, 43959953096999]}, "available": true, "price": "90.00", "grams": 17010, "compare_at_price": null, "position": 10, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-11-17T22:53:09-08:00"}, {"id": 43959953129767, "title": "25mm/ 1\" / White / 2 Buckles", "option1": "25mm/ 1\"", "option2": "White", "option3": "2 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865519735079, "product_id": 8004699947303, "position": 6, "created_at": "2022-11-13T23:24:46-08:00", "updated_at": "2022-11-13T23:25:23-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03709.jpg?v=1668410723", "variant_ids": [43959953129767, 43959953162535, 43959953195303, 43959953228071]}, "available": true, "price": "3.50", "grams": 14, "compare_at_price": null, "position": 11, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-11-28T11:40:26-08:00"}, {"id": 43959953162535, "title": "25mm/ 1\" / White / 4 Buckles", "option1": "25mm/ 1\"", "option2": "White", "option3": "4 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865519735079, "product_id": 8004699947303, "position": 6, "created_at": "2022-11-13T23:24:46-08:00", "updated_at": "2022-11-13T23:25:23-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03709.jpg?v=1668410723", "variant_ids": [43959953129767, 43959953162535, 43959953195303, 43959953228071]}, "available": true, "price": "6.60", "grams": 24, "compare_at_price": null, "position": 12, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-11-25T11:52:54-08:00"}, {"id": 43959953195303, "title": "25mm/ 1\" / White / 10 Buckles", "option1": "25mm/ 1\"", "option2": "White", "option3": "10 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865519735079, "product_id": 8004699947303, "position": 6, "created_at": "2022-11-13T23:24:46-08:00", "updated_at": "2022-11-13T23:25:23-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03709.jpg?v=1668410723", "variant_ids": [43959953129767, 43959953162535, 43959953195303, 43959953228071]}, "available": true, "price": "14.00", "grams": 60, "compare_at_price": null, "position": 13, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-11-17T22:53:11-08:00"}, {"id": 43959953228071, "title": "25mm/ 1\" / White / 20 Buckles", "option1": "25mm/ 1\"", "option2": "White", "option3": "20 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865519735079, "product_id": 8004699947303, "position": 6, "created_at": "2022-11-13T23:24:46-08:00", "updated_at": "2022-11-13T23:25:23-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03709.jpg?v=1668410723", "variant_ids": [43959953129767, 43959953162535, 43959953195303, 43959953228071]}, "available": true, "price": "24.00", "grams": 120, "compare_at_price": null, "position": 14, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-11-17T22:53:11-08:00"}, {"id": 43959953260839, "title": "25mm/ 1\" / Coyote Brown / 2 Buckles", "option1": "25mm/ 1\"", "option2": "Coyote Brown", "option3": "2 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865519636775, "product_id": 8004699947303, "position": 5, "created_at": "2022-11-13T23:24:46-08:00", "updated_at": "2022-11-13T23:25:23-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03619.jpg?v=1668410723", "variant_ids": [43959953260839, 43959953293607, 43959953326375, 43959953359143]}, "available": true, "price": "3.50", "grams": 14, "compare_at_price": null, "position": 15, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-11-17T22:53:12-08:00"}, {"id": 43959953293607, "title": "25mm/ 1\" / Coyote Brown / 4 Buckles", "option1": "25mm/ 1\"", "option2": "Coyote Brown", "option3": "4 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865519636775, "product_id": 8004699947303, "position": 5, "created_at": "2022-11-13T23:24:46-08:00", "updated_at": "2022-11-13T23:25:23-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03619.jpg?v=1668410723", "variant_ids": [43959953260839, 43959953293607, 43959953326375, 43959953359143]}, "available": true, "price": "6.60", "grams": 24, "compare_at_price": null, "position": 16, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-11-17T22:53:12-08:00"}, {"id": 43959953326375, "title": "25mm/ 1\" / Coyote Brown / 10 Buckles", "option1": "25mm/ 1\"", "option2": "Coyote Brown", "option3": "10 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865519636775, "product_id": 8004699947303, "position": 5, "created_at": "2022-11-13T23:24:46-08:00", "updated_at": "2022-11-13T23:25:23-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03619.jpg?v=1668410723", "variant_ids": [43959953260839, 43959953293607, 43959953326375, 43959953359143]}, "available": true, "price": "14.00", "grams": 60, "compare_at_price": null, "position": 17, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2023-01-24T11:06:27-08:00"}, {"id": 43959953359143, "title": "25mm/ 1\" / Coyote Brown / 20 Buckles", "option1": "25mm/ 1\"", "option2": "Coyote Brown", "option3": "20 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865519636775, "product_id": 8004699947303, "position": 5, "created_at": "2022-11-13T23:24:46-08:00", "updated_at": "2022-11-13T23:25:23-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03619.jpg?v=1668410723", "variant_ids": [43959953260839, 43959953293607, 43959953326375, 43959953359143]}, "available": true, "price": "24.00", "grams": 120, "compare_at_price": null, "position": 18, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-11-17T22:53:13-08:00"}, {"id": 43959953391911, "title": "38mm/ 1.5\" / Black / 2 Buckles", "option1": "38mm/ 1.5\"", "option2": "Black", "option3": "2 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865520324903, "product_id": 8004699947303, "position": 7, "created_at": "2022-11-13T23:25:03-08:00", "updated_at": "2022-11-13T23:25:23-08:00", "alt": null, "width": 3024, "height": 4032, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202035728_a376d9f4-3d72-41ae-999b-25c5cc8b50fe.jpg?v=1668410723", "variant_ids": [43959953391911, 43959953424679, 43959953457447, 43959953490215]}, "available": true, "price": "3.70", "grams": 18, "compare_at_price": null, "position": 19, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-11-17T22:53:14-08:00"}, {"id": 43959953424679, "title": "38mm/ 1.5\" / Black / 4 Buckles", "option1": "38mm/ 1.5\"", "option2": "Black", "option3": "4 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865520324903, "product_id": 8004699947303, "position": 7, "created_at": "2022-11-13T23:25:03-08:00", "updated_at": "2022-11-13T23:25:23-08:00", "alt": null, "width": 3024, "height": 4032, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202035728_a376d9f4-3d72-41ae-999b-25c5cc8b50fe.jpg?v=1668410723", "variant_ids": [43959953391911, 43959953424679, 43959953457447, 43959953490215]}, "available": true, "price": "7.00", "grams": 36, "compare_at_price": null, "position": 20, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-12-18T11:30:21-08:00"}, {"id": 43959953457447, "title": "38mm/ 1.5\" / Black / 10 Buckles", "option1": "38mm/ 1.5\"", "option2": "Black", "option3": "10 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865520324903, "product_id": 8004699947303, "position": 7, "created_at": "2022-11-13T23:25:03-08:00", "updated_at": "2022-11-13T23:25:23-08:00", "alt": null, "width": 3024, "height": 4032, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202035728_a376d9f4-3d72-41ae-999b-25c5cc8b50fe.jpg?v=1668410723", "variant_ids": [43959953391911, 43959953424679, 43959953457447, 43959953490215]}, "available": true, "price": "14.50", "grams": 90, "compare_at_price": null, "position": 21, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-11-25T11:52:50-08:00"}, {"id": 43959953490215, "title": "38mm/ 1.5\" / Black / 20 Buckles", "option1": "38mm/ 1.5\"", "option2": "Black", "option3": "20 Buckles", "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865520324903, "product_id": 8004699947303, "position": 7, "created_at": "2022-11-13T23:25:03-08:00", "updated_at": "2022-11-13T23:25:23-08:00", "alt": null, "width": 3024, "height": 4032, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202035728_a376d9f4-3d72-41ae-999b-25c5cc8b50fe.jpg?v=1668410723", "variant_ids": [43959953391911, 43959953424679, 43959953457447, 43959953490215]}, "available": true, "price": "26.00", "grams": 180, "compare_at_price": null, "position": 22, "product_id": 8004699947303, "created_at": "2022-11-13T23:11:54-08:00", "updated_at": "2022-11-17T22:53:14-08:00"}], "images": [{"id": 39865520652583, "created_at": "2022-11-13T23:25:13-08:00", "position": 1, "updated_at": "2022-11-13T23:25:26-08:00", "product_id": 8004699947303, "variant_ids": [43959952965927, 43959952998695, 43959953031463, 43959953064231, 43959953096999], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02568_b1af2253-4c0c-4d1d-9406-b9de0eebef67.jpg?v=1668410726", "width": 4896, "height": 3672}, {"id": 39865519669543, "created_at": "2022-11-13T23:24:46-08:00", "position": 2, "updated_at": "2022-11-13T23:25:26-08:00", "product_id": 8004699947303, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03617_5825a896-db31-4181-ae66-1964db46e5cb.jpg?v=1668410726", "width": 4896, "height": 3672}, {"id": 39865520619815, "created_at": "2022-11-13T23:25:13-08:00", "position": 3, "updated_at": "2022-11-13T23:25:26-08:00", "product_id": 8004699947303, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02567.jpg?v=1668410726", "width": 4896, "height": 3672}, {"id": 39865519702311, "created_at": "2022-11-13T23:24:46-08:00", "position": 4, "updated_at": "2022-11-13T23:25:23-08:00", "product_id": 8004699947303, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03614_9c960f03-2c28-440b-b8c7-1bae71689160.jpg?v=1668410723", "width": 4896, "height": 3672}, {"id": 39865519636775, "created_at": "2022-11-13T23:24:46-08:00", "position": 5, "updated_at": "2022-11-13T23:25:23-08:00", "product_id": 8004699947303, "variant_ids": [43959953260839, 43959953293607, 43959953326375, 43959953359143], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03619.jpg?v=1668410723", "width": 4896, "height": 3672}, {"id": 39865519735079, "created_at": "2022-11-13T23:24:46-08:00", "position": 6, "updated_at": "2022-11-13T23:25:23-08:00", "product_id": 8004699947303, "variant_ids": [43959953129767, 43959953162535, 43959953195303, 43959953228071], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03709.jpg?v=1668410723", "width": 4896, "height": 3672}, {"id": 39865520324903, "created_at": "2022-11-13T23:25:03-08:00", "position": 7, "updated_at": "2022-11-13T23:25:23-08:00", "product_id": 8004699947303, "variant_ids": [43959953391911, 43959953424679, 43959953457447, 43959953490215], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202035728_a376d9f4-3d72-41ae-999b-25c5cc8b50fe.jpg?v=1668410723", "width": 3024, "height": 4032}, {"id": 39865522946343, "created_at": "2022-11-13T23:25:50-08:00", "position": 8, "updated_at": "2022-11-13T23:25:51-08:00", "product_id": 8004699947303, "variant_ids": [43959952802087, 43959952834855, 43959952867623, 43959952900391, 43959952933159], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03153_655db146-d54d-45d7-9938-66fca7ce0d4a.jpg?v=1668410751", "width": 4896, "height": 3672}], "options": [{"name": "Size", "position": 1, "values": ["20mm/ 3/4\"", "25mm/ 1\"", "38mm/ 1.5\""]}, {"name": "Color", "position": 2, "values": ["Black", "White", "Coyote Brown"]}, {"name": "Packages of", "position": 3, "values": ["2 Buckles", "4 Buckles", "10 Buckles", "20 Buckles", "100 Buckles"]}], "url": "https://mozetsupplies.ca/products/copy-of-g-hook-gatekeeper-right-20mm-25mm-38mm?ref=myog", "vendorImg": "mozet.png", "sizes": ["20mm/ 3/4\"", "25mm/ 1\"", "38mm/ 1.5\""], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03153_655db146-d54d-45d7-9938-66fca7ce0d4a_400X.jpg?v=1668410751"}, {"id": 8003877208359, "title": "Double D-Ring", "handle": "copy-of-double-d-ring-25mm", "published_at": "2022-11-11T14:19:04-08:00", "created_at": "2022-11-11T14:17:16-08:00", "updated_at": "2023-01-10T18:23:24-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware ring", "tags": ["20mm", "hardware"], "variants": [{"id": 43953732583719, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.30", "grams": 1, "compare_at_price": null, "position": 1, "product_id": 8003877208359, "created_at": "2022-11-11T14:17:16-08:00", "updated_at": "2023-01-04T10:39:11-08:00"}], "images": [{"id": 39855899836711, "created_at": "2022-11-11T14:17:35-08:00", "position": 1, "updated_at": "2022-11-11T14:18:48-08:00", "product_id": 8003877208359, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03666_f2cf83e8-101f-429a-91f9-0def1f939169.jpg?v=1668205128", "width": 4896, "height": 3672}, {"id": 39855899967783, "created_at": "2022-11-11T14:17:35-08:00", "position": 2, "updated_at": "2022-11-11T14:18:48-08:00", "product_id": 8003877208359, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03664_fdafec98-e3b8-4b3f-af0b-6540774717c5.jpg?v=1668205128", "width": 4896, "height": 3672}, {"id": 39855899869479, "created_at": "2022-11-11T14:17:35-08:00", "position": 3, "updated_at": "2022-11-11T14:18:48-08:00", "product_id": 8003877208359, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03665_f9b14e6b-256c-437e-a69b-6d2c89fdd1b1.jpg?v=1668205128", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/copy-of-double-d-ring-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03666_f2cf83e8-101f-429a-91f9-0def1f939169_400X.jpg?v=1668205128"}, {"id": 7973987254567, "title": "Swivel Round Key Hook Gatekeeper", "handle": "swivel-key-hook-gatekeeper", "published_at": "2022-10-25T20:11:08-07:00", "created_at": "2022-10-25T19:59:46-07:00", "updated_at": "2023-01-12T10:36:35-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["hardware"], "variants": [{"id": 43674859503911, "title": "Cat Black", "option1": "Cat Black", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769958514983, "product_id": 7973987254567, "position": 2, "created_at": "2022-10-25T20:01:14-07:00", "updated_at": "2022-10-25T20:07:30-07:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03537.jpg?v=1666753650", "variant_ids": [43674859503911]}, "available": true, "price": "1.25", "grams": 1, "compare_at_price": null, "position": 1, "product_id": 7973987254567, "created_at": "2022-10-25T19:59:46-07:00", "updated_at": "2023-01-06T15:31:41-08:00"}, {"id": 43674859602215, "title": "Grape Purple", "option1": "Grape Purple", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769958449447, "product_id": 7973987254567, "position": 4, "created_at": "2022-10-25T20:01:14-07:00", "updated_at": "2022-10-25T20:07:30-07:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03534.jpg?v=1666753650", "variant_ids": [43674859602215]}, "available": true, "price": "1.25", "grams": 1, "compare_at_price": null, "position": 2, "product_id": 7973987254567, "created_at": "2022-10-25T19:59:46-07:00", "updated_at": "2023-01-12T10:36:35-08:00"}, {"id": 43674859667751, "title": "Vivid White", "option1": "Vivid White", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769958580519, "product_id": 7973987254567, "position": 6, "created_at": "2022-10-25T20:01:14-07:00", "updated_at": "2022-10-25T20:01:16-07:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03539.jpg?v=1666753276", "variant_ids": [43674859667751]}, "available": true, "price": "1.25", "grams": 1, "compare_at_price": null, "position": 3, "product_id": 7973987254567, "created_at": "2022-10-25T19:59:46-07:00", "updated_at": "2023-01-12T10:36:35-08:00"}], "images": [{"id": 39769958547751, "created_at": "2022-10-25T20:01:14-07:00", "position": 1, "updated_at": "2022-10-25T20:01:16-07:00", "product_id": 7973987254567, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03533.jpg?v=1666753276", "width": 4896, "height": 3672}, {"id": 39769958514983, "created_at": "2022-10-25T20:01:14-07:00", "position": 2, "updated_at": "2022-10-25T20:07:30-07:00", "product_id": 7973987254567, "variant_ids": [43674859503911], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03537.jpg?v=1666753650", "width": 4896, "height": 3672}, {"id": 39769958875431, "created_at": "2022-10-25T20:01:14-07:00", "position": 3, "updated_at": "2022-10-25T20:07:30-07:00", "product_id": 7973987254567, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03538.jpg?v=1666753650", "width": 4896, "height": 3672}, {"id": 39769958449447, "created_at": "2022-10-25T20:01:14-07:00", "position": 4, "updated_at": "2022-10-25T20:07:30-07:00", "product_id": 7973987254567, "variant_ids": [43674859602215], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03534.jpg?v=1666753650", "width": 4896, "height": 3672}, {"id": 39769958646055, "created_at": "2022-10-25T20:01:14-07:00", "position": 5, "updated_at": "2022-10-25T20:07:30-07:00", "product_id": 7973987254567, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03536.jpg?v=1666753650", "width": 4896, "height": 3672}, {"id": 39769958580519, "created_at": "2022-10-25T20:01:14-07:00", "position": 6, "updated_at": "2022-10-25T20:01:16-07:00", "product_id": 7973987254567, "variant_ids": [43674859667751], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03539.jpg?v=1666753276", "width": 4896, "height": 3672}], "options": [{"name": "Color", "position": 1, "values": ["Cat Black", "Grape Purple", "Vivid White"]}], "url": "https://mozetsupplies.ca/products/swivel-key-hook-gatekeeper?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03537_400X.jpg?v=1666753650"}, {"id": 7973980569895, "title": "Swivel Double Carabiner Gatekeeper", "handle": "swivel-double-carabiner-gatekeeper-large", "published_at": "2022-10-25T19:54:58-07:00", "created_at": "2022-10-25T19:50:24-07:00", "updated_at": "2023-01-10T18:23:24-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["hardware"], "variants": [{"id": 43674837909799, "title": "Cat Black", "option1": "Cat Black", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769896878375, "product_id": 7973980569895, "position": 2, "created_at": "2022-10-25T19:51:15-07:00", "updated_at": "2022-10-25T19:51:26-07:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03436_7bedecb5-d90a-4f14-b108-c5fc54972799.jpg?v=1666752686", "variant_ids": [43674837909799]}, "available": true, "price": "2.50", "grams": 1, "compare_at_price": null, "position": 1, "product_id": 7973980569895, "created_at": "2022-10-25T19:50:24-07:00", "updated_at": "2023-01-06T15:31:41-08:00"}], "images": [{"id": 39769897140519, "created_at": "2022-10-25T19:51:15-07:00", "position": 1, "updated_at": "2022-10-25T19:51:26-07:00", "product_id": 7973980569895, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03438.jpg?v=1666752686", "width": 4896, "height": 3672}, {"id": 39769896878375, "created_at": "2022-10-25T19:51:15-07:00", "position": 2, "updated_at": "2022-10-25T19:51:26-07:00", "product_id": 7973980569895, "variant_ids": [43674837909799], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03436_7bedecb5-d90a-4f14-b108-c5fc54972799.jpg?v=1666752686", "width": 4896, "height": 3672}], "options": [{"name": "Color", "position": 1, "values": ["Cat Black"]}], "url": "https://mozetsupplies.ca/products/swivel-double-carabiner-gatekeeper-large?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03436_7bedecb5-d90a-4f14-b108-c5fc54972799_400X.jpg?v=1666752686"}, {"id": 7973976441127, "title": "Swivel Double Carabiner Gatekeeper", "handle": "swivel-double-carabiner-gatekeeper-medium", "published_at": "2022-10-25T19:49:45-07:00", "created_at": "2022-10-25T19:43:42-07:00", "updated_at": "2023-01-10T18:23:24-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["hardware"], "variants": [{"id": 43674827424039, "title": "Cat Black", "option1": "Cat Black", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769870663975, "product_id": 7973976441127, "position": 6, "created_at": "2022-10-25T19:46:01-07:00", "updated_at": "2022-10-25T19:48:19-07:00", "alt": "Mozet Supplies' double carabiner joined in the middle by a swivel point. Available in Small, Medium, and Large and in a variety of colors. Intended to secure lighter weight items and attach to backpacks. These are the same type as the ones from Tom Bihn!", "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03436.jpg?v=1666752499", "variant_ids": [43674827424039]}, "available": true, "price": "2.25", "grams": 1, "compare_at_price": null, "position": 1, "product_id": 7973976441127, "created_at": "2022-10-25T19:43:42-07:00", "updated_at": "2023-01-06T15:31:41-08:00"}, {"id": 43674827522343, "title": "Dark Blue", "option1": "Dark Blue", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769870795047, "product_id": 7973976441127, "position": 5, "created_at": "2022-10-25T19:46:01-07:00", "updated_at": "2022-10-25T19:48:19-07:00", "alt": "Mozet Supplies' double carabiner joined in the middle by a swivel point. Available in Small, Medium, and Large and in a variety of colors. Intended to secure lighter weight items and attach to backpacks. These are the same type as the ones from Tom Bihn!", "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03431.jpg?v=1666752499", "variant_ids": [43674827522343]}, "available": true, "price": "2.25", "grams": 1, "compare_at_price": null, "position": 2, "product_id": 7973976441127, "created_at": "2022-10-25T19:43:42-07:00", "updated_at": "2023-01-06T15:31:41-08:00"}, {"id": 43674827620647, "title": "Coyote Brown", "option1": "Coyote Brown", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769870893351, "product_id": 7973976441127, "position": 2, "created_at": "2022-10-25T19:46:01-07:00", "updated_at": "2022-10-25T19:48:19-07:00", "alt": "Mozet Supplies' double carabiner joined in the middle by a swivel point. Available in Small, Medium, and Large and in a variety of colors. Intended to secure lighter weight items and attach to backpacks. These are the same type as the ones from Tom Bihn!", "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03471.jpg?v=1666752499", "variant_ids": [43674827620647]}, "available": true, "price": "2.25", "grams": 1, "compare_at_price": null, "position": 3, "product_id": 7973976441127, "created_at": "2022-10-25T19:43:42-07:00", "updated_at": "2022-10-25T19:49:46-07:00"}], "images": [{"id": 39769870860583, "created_at": "2022-10-25T19:46:01-07:00", "position": 1, "updated_at": "2022-10-25T19:48:19-07:00", "product_id": 7973976441127, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03433.jpg?v=1666752499", "width": 4896, "height": 3672}, {"id": 39769870893351, "created_at": "2022-10-25T19:46:01-07:00", "position": 2, "updated_at": "2022-10-25T19:48:19-07:00", "product_id": 7973976441127, "variant_ids": [43674827620647], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03471.jpg?v=1666752499", "width": 4896, "height": 3672}, {"id": 39769870762279, "created_at": "2022-10-25T19:46:01-07:00", "position": 3, "updated_at": "2022-10-25T19:48:19-07:00", "product_id": 7973976441127, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03475.jpg?v=1666752499", "width": 4896, "height": 3672}, {"id": 39769870827815, "created_at": "2022-10-25T19:46:01-07:00", "position": 4, "updated_at": "2022-10-25T19:48:19-07:00", "product_id": 7973976441127, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03435.jpg?v=1666752499", "width": 4896, "height": 3672}, {"id": 39769870795047, "created_at": "2022-10-25T19:46:01-07:00", "position": 5, "updated_at": "2022-10-25T19:48:19-07:00", "product_id": 7973976441127, "variant_ids": [43674827522343], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03431.jpg?v=1666752499", "width": 4896, "height": 3672}, {"id": 39769870663975, "created_at": "2022-10-25T19:46:01-07:00", "position": 6, "updated_at": "2022-10-25T19:48:19-07:00", "product_id": 7973976441127, "variant_ids": [43674827424039], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03436.jpg?v=1666752499", "width": 4896, "height": 3672}], "options": [{"name": "Color", "position": 1, "values": ["Cat Black", "Dark Blue", "Coyote Brown"]}], "url": "https://mozetsupplies.ca/products/swivel-double-carabiner-gatekeeper-medium?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03436_400X.jpg?v=1666752499"}, {"id": 7968953336103, "title": "Swivel Double Carabiner Gatekeeper", "handle": "swivel-double-carabiner", "published_at": "2022-10-25T19:41:09-07:00", "created_at": "2022-10-22T15:20:27-07:00", "updated_at": "2023-01-10T18:23:24-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["hardware"], "variants": [{"id": 43674823983399, "title": "Signal Orange", "option1": "Signal Orange", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769747161383, "product_id": 7968953336103, "position": 3, "created_at": "2022-10-25T19:20:37-07:00", "updated_at": "2022-10-25T19:30:22-07:00", "alt": "Mozet Supplies' double carabiner joined in the middle by a swivel point. Available in Small, Medium, and Large and in a variety of colors. Intended to secure lighter weight items and comes in a number of colors! These are the same type as the ones from Tom Bihn!", "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03447.jpg?v=1666751422", "variant_ids": [43674823983399]}, "available": true, "price": "1.75", "grams": 1, "compare_at_price": null, "position": 1, "product_id": 7968953336103, "created_at": "2022-10-25T19:40:57-07:00", "updated_at": "2023-01-06T15:31:41-08:00"}, {"id": 43674824016167, "title": "Cat Black", "option1": "Cat Black", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769747128615, "product_id": 7968953336103, "position": 4, "created_at": "2022-10-25T19:20:37-07:00", "updated_at": "2022-10-25T19:30:22-07:00", "alt": "Mozet Supplies' double carabiner joined in the middle by a swivel point. Available in Small, Medium, and Large and in a variety of colors. Intended to secure lighter weight items and comes in a number of colors! These are the same type as the ones from Tom Bihn!", "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03449.jpg?v=1666751422", "variant_ids": [43674824016167]}, "available": true, "price": "1.75", "grams": 1, "compare_at_price": null, "position": 2, "product_id": 7968953336103, "created_at": "2022-10-25T19:40:57-07:00", "updated_at": "2023-01-06T15:31:41-08:00"}, {"id": 43674824048935, "title": "Grape Purple", "option1": "Grape Purple", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769747095847, "product_id": 7968953336103, "position": 5, "created_at": "2022-10-25T19:20:37-07:00", "updated_at": "2022-10-25T19:30:22-07:00", "alt": "Mozet Supplies' double carabiner joined in the middle by a swivel point. Available in Small, Medium, and Large and in a variety of colors. Intended to secure lighter weight items and comes in a number of colors! These are the same type as the ones from Tom Bihn!", "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03467.jpg?v=1666751422", "variant_ids": [43674824048935]}, "available": true, "price": "1.75", "grams": 1, "compare_at_price": null, "position": 3, "product_id": 7968953336103, "created_at": "2022-10-25T19:40:57-07:00", "updated_at": "2022-10-25T19:40:58-07:00"}, {"id": 43674824081703, "title": "Dark Blue", "option1": "Dark Blue", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769747226919, "product_id": 7968953336103, "position": 6, "created_at": "2022-10-25T19:20:37-07:00", "updated_at": "2022-10-25T19:30:22-07:00", "alt": "Mozet Supplies' double carabiner joined in the middle by a swivel point. Available in Small, Medium, and Large and in a variety of colors. Intended to secure lighter weight items and comes in a number of colors! These are the same type as the ones from Tom Bihn!", "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03453.jpg?v=1666751422", "variant_ids": [43674824081703]}, "available": true, "price": "1.75", "grams": 1, "compare_at_price": null, "position": 4, "product_id": 7968953336103, "created_at": "2022-10-25T19:40:57-07:00", "updated_at": "2023-01-06T15:31:41-08:00"}, {"id": 43674824114471, "title": "Vivid White", "option1": "Vivid White", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769747030311, "product_id": 7968953336103, "position": 2, "created_at": "2022-10-25T19:20:37-07:00", "updated_at": "2022-10-25T19:30:22-07:00", "alt": "Mozet Supplies' double carabiner joined in the middle by a swivel point. Available in Small, Medium, and Large and in a variety of colors. Intended to secure lighter weight items and comes in a number of colors! These are the same type as the ones from Tom Bihn!", "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03441.jpg?v=1666751422", "variant_ids": [43674824114471]}, "available": true, "price": "1.75", "grams": 1, "compare_at_price": null, "position": 5, "product_id": 7968953336103, "created_at": "2022-10-25T19:40:57-07:00", "updated_at": "2022-11-19T07:16:35-08:00"}, {"id": 43674824147239, "title": "Grass Green", "option1": "Grass Green", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769746997543, "product_id": 7968953336103, "position": 7, "created_at": "2022-10-25T19:20:37-07:00", "updated_at": "2022-10-25T19:30:22-07:00", "alt": "Mozet Supplies' double carabiner joined in the middle by a swivel point. Available in Small, Medium, and Large and in a variety of colors. Intended to secure lighter weight items and comes in a number of colors! These are the same type as the ones from Tom Bihn!", "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03457.jpg?v=1666751422", "variant_ids": [43674824147239]}, "available": true, "price": "1.75", "grams": 1, "compare_at_price": null, "position": 6, "product_id": 7968953336103, "created_at": "2022-10-25T19:40:57-07:00", "updated_at": "2022-11-20T05:52:40-08:00"}, {"id": 43674824180007, "title": "Coyote Brown", "option1": "Coyote Brown", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39769746932007, "product_id": 7968953336103, "position": 8, "created_at": "2022-10-25T19:20:37-07:00", "updated_at": "2022-10-25T19:30:22-07:00", "alt": "Mozet Supplies' double carabiner joined in the middle by a swivel point. Available in Small, Medium, and Large and in a variety of colors. Intended to secure lighter weight items and comes in a number of colors! These are the same type as the ones from Tom Bihn!", "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03458.jpg?v=1666751422", "variant_ids": [43674824180007]}, "available": true, "price": "1.75", "grams": 1, "compare_at_price": null, "position": 7, "product_id": 7968953336103, "created_at": "2022-10-25T19:40:57-07:00", "updated_at": "2022-10-25T19:40:58-07:00"}], "images": [{"id": 39769747063079, "created_at": "2022-10-25T19:20:37-07:00", "position": 1, "updated_at": "2022-10-25T19:30:22-07:00", "product_id": 7968953336103, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03442.jpg?v=1666751422", "width": 4896, "height": 3672}, {"id": 39769747030311, "created_at": "2022-10-25T19:20:37-07:00", "position": 2, "updated_at": "2022-10-25T19:30:22-07:00", "product_id": 7968953336103, "variant_ids": [43674824114471], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03441.jpg?v=1666751422", "width": 4896, "height": 3672}, {"id": 39769747161383, "created_at": "2022-10-25T19:20:37-07:00", "position": 3, "updated_at": "2022-10-25T19:30:22-07:00", "product_id": 7968953336103, "variant_ids": [43674823983399], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03447.jpg?v=1666751422", "width": 4896, "height": 3672}, {"id": 39769747128615, "created_at": "2022-10-25T19:20:37-07:00", "position": 4, "updated_at": "2022-10-25T19:30:22-07:00", "product_id": 7968953336103, "variant_ids": [43674824016167], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03449.jpg?v=1666751422", "width": 4896, "height": 3672}, {"id": 39769747095847, "created_at": "2022-10-25T19:20:37-07:00", "position": 5, "updated_at": "2022-10-25T19:30:22-07:00", "product_id": 7968953336103, "variant_ids": [43674824048935], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03467.jpg?v=1666751422", "width": 4896, "height": 3672}, {"id": 39769747226919, "created_at": "2022-10-25T19:20:37-07:00", "position": 6, "updated_at": "2022-10-25T19:30:22-07:00", "product_id": 7968953336103, "variant_ids": [43674824081703], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03453.jpg?v=1666751422", "width": 4896, "height": 3672}, {"id": 39769746997543, "created_at": "2022-10-25T19:20:37-07:00", "position": 7, "updated_at": "2022-10-25T19:30:22-07:00", "product_id": 7968953336103, "variant_ids": [43674824147239], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03457.jpg?v=1666751422", "width": 4896, "height": 3672}, {"id": 39769746932007, "created_at": "2022-10-25T19:20:37-07:00", "position": 8, "updated_at": "2022-10-25T19:30:22-07:00", "product_id": 7968953336103, "variant_ids": [43674824180007], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03458.jpg?v=1666751422", "width": 4896, "height": 3672}], "options": [{"name": "Color", "position": 1, "values": ["Signal Orange", "Cat Black", "Grape Purple", "Dark Blue", "Vivid White", "Grass Green", "Coyote Brown"]}], "url": "https://mozetsupplies.ca/products/swivel-double-carabiner?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03447_400X.jpg?v=1666751422"}, {"id": 7968951140647, "title": "Emergency Whistle", "handle": "emergency-whistle-signal-orange", "published_at": "2022-10-22T15:06:55-07:00", "created_at": "2022-10-22T15:03:07-07:00", "updated_at": "2023-01-11T09:25:28-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware misc", "tags": ["hardware"], "variants": [{"id": 43664288088359, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.50", "grams": 1, "compare_at_price": null, "position": 1, "product_id": 7968951140647, "created_at": "2022-10-22T15:03:07-07:00", "updated_at": "2023-01-11T09:23:41-08:00"}], "images": [{"id": 39757018923303, "created_at": "2022-10-22T15:04:40-07:00", "position": 1, "updated_at": "2022-10-22T15:07:39-07:00", "product_id": 7968951140647, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03496.jpg?v=1666476459", "width": 4896, "height": 3672}, {"id": 39757019545895, "created_at": "2022-10-22T15:06:14-07:00", "position": 2, "updated_at": "2022-10-22T15:07:39-07:00", "product_id": 7968951140647, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03495.jpg?v=1666476459", "width": 3119, "height": 1743}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/emergency-whistle-signal-orange?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03496_400X.jpg?v=1666476459"}, {"id": 7171838247107, "title": "Viking Dual Hook", "handle": "viking-dual-hook-right-25mm", "published_at": "2022-03-03T23:47:27-08:00", "created_at": "2022-02-27T21:53:29-08:00", "updated_at": "2023-01-23T15:30:11-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware hook", "tags": ["hardware"], "variants": [{"id": 41560751374531, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "3.20", "grams": 6, "compare_at_price": null, "position": 1, "product_id": 7171838247107, "created_at": "2022-02-27T21:53:29-08:00", "updated_at": "2023-01-23T15:25:32-08:00"}], "images": [{"id": 37749660418243, "created_at": "2022-07-03T21:58:11-07:00", "position": 1, "updated_at": "2022-07-03T21:58:51-07:00", "product_id": 7171838247107, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232341754.jpg?v=1656910731", "width": 3564, "height": 2440}, {"id": 37749660385475, "created_at": "2022-07-03T21:58:11-07:00", "position": 2, "updated_at": "2022-07-03T21:58:51-07:00", "product_id": 7171838247107, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232350846.MP.jpg?v=1656910731", "width": 3595, "height": 2195}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/viking-dual-hook-right-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232341754_400X.jpg?v=1656910731"}, {"id": 7171837558979, "title": "Viking Dual Hook", "handle": "viking-dual-hook-left-25mm", "published_at": "2022-03-03T23:47:26-08:00", "created_at": "2022-02-27T21:52:44-08:00", "updated_at": "2023-01-23T15:30:11-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware hook", "tags": ["hardware"], "variants": [{"id": 41560749048003, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "3.20", "grams": 6, "compare_at_price": null, "position": 1, "product_id": 7171837558979, "created_at": "2022-02-27T21:52:44-08:00", "updated_at": "2023-01-23T15:25:31-08:00"}], "images": [{"id": 37749654323395, "created_at": "2022-07-03T21:58:02-07:00", "position": 1, "updated_at": "2022-07-03T21:59:01-07:00", "product_id": 7171837558979, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_230505704.MP.jpg?v=1656910741", "width": 3495, "height": 2576}, {"id": 37749654257859, "created_at": "2022-07-03T21:58:02-07:00", "position": 2, "updated_at": "2022-07-03T21:59:01-07:00", "product_id": 7171837558979, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_230529937.MP.jpg?v=1656910741", "width": 3364, "height": 2473}, {"id": 37749654454467, "created_at": "2022-07-03T21:58:02-07:00", "position": 3, "updated_at": "2022-07-03T21:59:01-07:00", "product_id": 7171837558979, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_230516908.MP.jpg?v=1656910741", "width": 2588, "height": 2488}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/viking-dual-hook-left-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_230505704.MP_400X.jpg?v=1656910741"}, {"id": 7171836903619, "title": "Viking Dual Hook", "handle": "viking-dual-hook-right-20mm", "published_at": "2022-03-03T23:47:26-08:00", "created_at": "2022-02-27T21:51:07-08:00", "updated_at": "2023-01-23T15:30:11-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware hook", "tags": ["hardware"], "variants": [{"id": 41560744001731, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "2.56", "grams": 6, "compare_at_price": null, "position": 1, "product_id": 7171836903619, "created_at": "2022-02-27T21:51:07-08:00", "updated_at": "2023-01-23T15:25:32-08:00"}], "images": [{"id": 37749630697667, "created_at": "2022-07-03T21:57:08-07:00", "position": 1, "updated_at": "2022-07-03T21:57:12-07:00", "product_id": 7171836903619, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232951303.MP.jpg?v=1656910632", "width": 3140, "height": 2007}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/viking-dual-hook-right-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232951303.MP_400X.jpg?v=1656910632"}, {"id": 7171836117187, "title": "Viking Dual Hook", "handle": "viking-dual-hook-left-20mm", "published_at": "2022-03-03T23:47:25-08:00", "created_at": "2022-02-27T21:49:06-08:00", "updated_at": "2023-01-10T18:23:21-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware hook", "tags": ["hardware"], "variants": [{"id": 41560736989379, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "2.56", "grams": 5, "compare_at_price": null, "position": 1, "product_id": 7171836117187, "created_at": "2022-02-27T21:49:06-08:00", "updated_at": "2023-01-05T14:00:40-08:00"}], "images": [{"id": 37749627519171, "created_at": "2022-07-03T21:56:54-07:00", "position": 1, "updated_at": "2022-07-03T21:58:57-07:00", "product_id": 7171836117187, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232447508.MP.jpg?v=1656910737", "width": 3558, "height": 2371}, {"id": 37749627584707, "created_at": "2022-07-03T21:56:54-07:00", "position": 2, "updated_at": "2022-07-03T21:58:57-07:00", "product_id": 7171836117187, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232504272.jpg?v=1656910737", "width": 3120, "height": 1908}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/viking-dual-hook-left-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232447508.MP_400X.jpg?v=1656910737"}, {"id": 7171828809923, "title": "Knurling Al-Pul", "handle": "knurling-al-pul", "published_at": "2022-03-03T23:47:25-08:00", "created_at": "2022-02-27T21:34:53-08:00", "updated_at": "2023-01-10T18:23:21-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560686133443, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.60", "grams": 2, "compare_at_price": null, "position": 1, "product_id": 7171828809923, "created_at": "2022-02-27T21:34:53-08:00", "updated_at": "2023-01-09T20:35:55-08:00"}], "images": [{"id": 37749122433219, "created_at": "2022-07-03T21:43:08-07:00", "position": 1, "updated_at": "2022-07-03T21:43:09-07:00", "product_id": 7171828809923, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_225631649.jpg?v=1656909789", "width": 3080, "height": 2246}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/knurling-al-pul?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_225631649_400X.jpg?v=1656909789"}, {"id": 7171828711619, "title": "Aluminum Rod Toggle", "handle": "aluminum-rod-toggle", "published_at": "2022-03-03T23:47:25-08:00", "created_at": "2022-02-27T21:34:49-08:00", "updated_at": "2023-01-10T18:23:21-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560686035139, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.92", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7171828711619, "created_at": "2022-02-27T21:34:53-08:00", "updated_at": "2023-01-09T08:35:45-08:00"}], "images": [{"id": 37748945551555, "created_at": "2022-07-03T21:36:50-07:00", "position": 1, "updated_at": "2022-07-03T21:37:00-07:00", "product_id": 7171828711619, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232223160.MP.jpg?v=1656909420", "width": 3314, "height": 2516}, {"id": 33326278279363, "created_at": "2022-02-27T21:37:43-08:00", "position": 2, "updated_at": "2022-07-03T21:37:00-07:00", "product_id": 7171828711619, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/AluminumRodToggle.png?v=1656909420", "width": 330, "height": 365}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/aluminum-rod-toggle?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232223160.MP_400X.jpg?v=1656909420"}, {"id": 7171828678851, "title": "Hawkeye Toggle", "handle": "hawkeye-toggle-25mm", "published_at": "2022-03-03T23:47:24-08:00", "created_at": "2022-02-27T21:34:49-08:00", "updated_at": "2023-01-21T06:45:52-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560685805763, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.92", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7171828678851, "created_at": "2022-02-27T21:34:49-08:00", "updated_at": "2023-01-21T06:45:52-08:00"}], "images": [{"id": 37749067645123, "created_at": "2022-07-03T21:41:17-07:00", "position": 1, "updated_at": "2022-07-03T21:41:19-07:00", "product_id": 7171828678851, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231753388.MP.jpg?v=1656909679", "width": 2922, "height": 2627}, {"id": 37749067612355, "created_at": "2022-07-03T21:41:17-07:00", "position": 2, "updated_at": "2022-07-03T21:41:19-07:00", "product_id": 7171828678851, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231838574.MP.jpg?v=1656909679", "width": 2540, "height": 1988}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/hawkeye-toggle-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231753388.MP_400X.jpg?v=1656909679"}, {"id": 7171828646083, "title": "Hawkeye Toggle", "handle": "hawkeye-toggle-20mm", "published_at": "2022-03-03T23:47:24-08:00", "created_at": "2022-02-27T21:34:49-08:00", "updated_at": "2023-01-21T06:50:20-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560685772995, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.92", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7171828646083, "created_at": "2022-02-27T21:34:49-08:00", "updated_at": "2023-01-21T06:45:51-08:00"}], "images": [{"id": 37749063090371, "created_at": "2022-07-03T21:41:10-07:00", "position": 1, "updated_at": "2022-07-03T21:41:11-07:00", "product_id": 7171828646083, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232851693.MP.jpg?v=1656909671", "width": 2981, "height": 2409}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/hawkeye-toggle-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232851693.MP_400X.jpg?v=1656909671"}, {"id": 7171828613315, "title": "Chest Strap Adjuster", "handle": "chest-strap-adjuster-25mm", "published_at": "2022-03-03T23:47:23-08:00", "created_at": "2022-02-27T21:34:48-08:00", "updated_at": "2023-01-21T06:50:19-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware sternum", "tags": ["hardware"], "variants": [{"id": 41560685740227, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "2.24", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7171828613315, "created_at": "2022-02-27T21:34:48-08:00", "updated_at": "2023-01-21T06:45:52-08:00"}], "images": [{"id": 37749023441091, "created_at": "2022-07-03T21:39:21-07:00", "position": 1, "updated_at": "2022-07-03T21:39:23-07:00", "product_id": 7171828613315, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232305263.MP.jpg?v=1656909563", "width": 3504, "height": 2600}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/chest-strap-adjuster-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232305263.MP_400X.jpg?v=1656909563"}, {"id": 7171828580547, "title": "Viking Tension Lock", "handle": "viking-tension-lock-25mm", "published_at": "2022-03-03T23:47:23-08:00", "created_at": "2022-02-27T21:34:48-08:00", "updated_at": "2023-01-21T06:45:52-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560685674691, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "3.20", "grams": 6, "compare_at_price": null, "position": 1, "product_id": 7171828580547, "created_at": "2022-02-27T21:34:48-08:00", "updated_at": "2023-01-21T06:45:52-08:00"}], "images": [{"id": 37750180970691, "created_at": "2022-07-03T22:15:46-07:00", "position": 1, "updated_at": "2022-07-03T22:17:33-07:00", "product_id": 7171828580547, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_230401224.jpg?v=1656911853", "width": 4032, "height": 2064}, {"id": 37750181101763, "created_at": "2022-07-03T22:15:46-07:00", "position": 2, "updated_at": "2022-07-03T22:17:33-07:00", "product_id": 7171828580547, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_225813002.MP.jpg?v=1656911853", "width": 4032, "height": 3024}, {"id": 37750180479171, "created_at": "2022-07-03T22:15:46-07:00", "position": 3, "updated_at": "2022-07-03T22:17:33-07:00", "product_id": 7171828580547, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_230332564.jpg?v=1656911853", "width": 2847, "height": 1606}, {"id": 37750180741315, "created_at": "2022-07-03T22:15:46-07:00", "position": 4, "updated_at": "2022-07-03T22:17:33-07:00", "product_id": 7171828580547, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_230337954_edd1707b-d2dd-4dc2-9fb1-0eaf6eb67d9f.jpg?v=1656911853", "width": 3386, "height": 1630}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/viking-tension-lock-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_230401224_400X.jpg?v=1656911853"}, {"id": 7171828547779, "title": "Viking Tension Lock", "handle": "viking-tension-lock-20mm", "published_at": "2022-03-03T23:47:23-08:00", "created_at": "2022-02-27T21:34:47-08:00", "updated_at": "2023-01-14T14:19:55-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560685609155, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "2.56", "grams": 5, "compare_at_price": null, "position": 1, "product_id": 7171828547779, "created_at": "2022-02-27T21:34:47-08:00", "updated_at": "2023-01-14T14:19:55-08:00"}], "images": [{"id": 37750176448707, "created_at": "2022-07-03T22:15:31-07:00", "position": 1, "updated_at": "2022-07-03T22:19:31-07:00", "product_id": 7171828547779, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231417206.jpg?v=1656911971", "width": 3602, "height": 2478}, {"id": 37750176350403, "created_at": "2022-07-03T22:15:31-07:00", "position": 2, "updated_at": "2022-07-03T22:19:31-07:00", "product_id": 7171828547779, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231401674.MP.jpg?v=1656911971", "width": 3318, "height": 2517}, {"id": 37750176743619, "created_at": "2022-07-03T22:15:31-07:00", "position": 3, "updated_at": "2022-07-03T22:19:31-07:00", "product_id": 7171828547779, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_230337954.jpg?v=1656911971", "width": 3386, "height": 1630}, {"id": 37750176481475, "created_at": "2022-07-03T22:15:31-07:00", "position": 4, "updated_at": "2022-07-03T22:15:33-07:00", "product_id": 7171828547779, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231427977.jpg?v=1656911733", "width": 3298, "height": 2444}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/viking-tension-lock-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231417206_400X.jpg?v=1656911971"}, {"id": 7171828515011, "title": "Voyager Tension Lock", "handle": "voyager-tension-lock-38mm", "published_at": "2022-03-03T23:47:22-08:00", "created_at": "2022-02-27T21:34:47-08:00", "updated_at": "2023-01-24T09:07:45-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560685543619, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "3.52", "grams": 10, "compare_at_price": null, "position": 1, "product_id": 7171828515011, "created_at": "2022-02-27T21:34:47-08:00", "updated_at": "2023-01-24T09:07:45-08:00"}], "images": [{"id": 37750204629187, "created_at": "2022-07-03T22:16:30-07:00", "position": 1, "updated_at": "2022-07-03T22:16:31-07:00", "product_id": 7171828515011, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232109835.MP.jpg?v=1656911791", "width": 3738, "height": 2766}, {"id": 37750204432579, "created_at": "2022-07-03T22:16:30-07:00", "position": 2, "updated_at": "2022-07-03T22:16:31-07:00", "product_id": 7171828515011, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232115951.jpg?v=1656911791", "width": 3682, "height": 2429}, {"id": 37750204891331, "created_at": "2022-07-03T22:16:30-07:00", "position": 3, "updated_at": "2022-07-03T22:16:31-07:00", "product_id": 7171828515011, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232120893.jpg?v=1656911791", "width": 3504, "height": 2329}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/voyager-tension-lock-38mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["38mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232109835.MP_400X.jpg?v=1656911791"}, {"id": 7171828482243, "title": "Voyager Tension Lock", "handle": "voyager-tension-lock-25mm", "published_at": "2022-03-03T23:47:22-08:00", "created_at": "2022-02-27T21:34:46-08:00", "updated_at": "2023-01-10T18:23:20-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560685478083, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "3.20", "grams": 6, "compare_at_price": null, "position": 1, "product_id": 7171828482243, "created_at": "2022-02-27T21:34:46-08:00", "updated_at": "2022-09-29T13:25:55-07:00"}], "images": [{"id": 37750200238275, "created_at": "2022-07-03T22:16:23-07:00", "position": 1, "updated_at": "2022-07-03T22:16:24-07:00", "product_id": 7171828482243, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231706764.jpg?v=1656911784", "width": 3249, "height": 2699}, {"id": 37750200172739, "created_at": "2022-07-03T22:16:23-07:00", "position": 2, "updated_at": "2022-07-03T22:16:24-07:00", "product_id": 7171828482243, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231712896.jpg?v=1656911784", "width": 3265, "height": 2086}, {"id": 37750200271043, "created_at": "2022-07-03T22:16:23-07:00", "position": 3, "updated_at": "2022-07-03T22:16:24-07:00", "product_id": 7171828482243, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231716175.jpg?v=1656911784", "width": 3251, "height": 2238}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/voyager-tension-lock-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231706764_400X.jpg?v=1656911784"}, {"id": 7171828416707, "title": "Mini Bottle Opener", "handle": "mini-bottle-opener-25mm", "published_at": "2022-03-03T23:47:21-08:00", "created_at": "2022-02-27T21:34:45-08:00", "updated_at": "2023-01-10T18:23:19-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560685379779, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "3.52", "grams": 6, "compare_at_price": null, "position": 1, "product_id": 7171828416707, "created_at": "2022-02-27T21:34:45-08:00", "updated_at": "2023-01-05T13:58:10-08:00"}], "images": [{"id": 37749199274179, "created_at": "2022-07-03T21:44:53-07:00", "position": 1, "updated_at": "2022-07-03T21:44:54-07:00", "product_id": 7171828416707, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231243047.MP.jpg?v=1656909894", "width": 4032, "height": 3024}, {"id": 37749198520515, "created_at": "2022-07-03T21:44:53-07:00", "position": 2, "updated_at": "2022-07-03T21:44:54-07:00", "product_id": 7171828416707, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231248048.MP.jpg?v=1656909894", "width": 4032, "height": 3024}, {"id": 37749198225603, "created_at": "2022-07-03T21:44:53-07:00", "position": 3, "updated_at": "2022-07-03T21:44:54-07:00", "product_id": 7171828416707, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231257476.MP.jpg?v=1656909894", "width": 2942, "height": 2780}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/mini-bottle-opener-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231243047.MP_400X.jpg?v=1656909894"}, {"id": 7171828383939, "title": "Universal Strap Adjuster", "handle": "universal-strap-adjuster-38mm", "published_at": "2022-03-03T23:47:21-08:00", "created_at": "2022-02-27T21:34:45-08:00", "updated_at": "2023-01-24T09:07:45-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560685347011, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "2.88", "grams": 6, "compare_at_price": null, "position": 1, "product_id": 7171828383939, "created_at": "2022-02-27T21:34:45-08:00", "updated_at": "2023-01-24T09:07:45-08:00"}], "images": [{"id": 37749537472707, "created_at": "2022-07-03T21:54:27-07:00", "position": 1, "updated_at": "2022-07-03T21:54:28-07:00", "product_id": 7171828383939, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232414369.MP.jpg?v=1656910468", "width": 3534, "height": 2288}, {"id": 37749537538243, "created_at": "2022-07-03T21:54:27-07:00", "position": 2, "updated_at": "2022-07-03T21:54:29-07:00", "product_id": 7171828383939, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232417755.jpg?v=1656910469", "width": 3405, "height": 2262}, {"id": 37749537505475, "created_at": "2022-07-03T21:54:27-07:00", "position": 3, "updated_at": "2022-07-03T21:54:29-07:00", "product_id": 7171828383939, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232425731.jpg?v=1656910469", "width": 3587, "height": 2159}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/universal-strap-adjuster-38mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["38mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232414369.MP_400X.jpg?v=1656910468"}, {"id": 7171828318403, "title": "Universal Strap Adjuster", "handle": "universal-strap-adjuster-25mm", "published_at": "2022-03-03T23:47:20-08:00", "created_at": "2022-02-27T21:34:44-08:00", "updated_at": "2023-01-10T18:23:19-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560685248707, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "2.24", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7171828318403, "created_at": "2022-02-27T21:34:44-08:00", "updated_at": "2022-12-04T21:59:07-08:00"}], "images": [{"id": 37749531869379, "created_at": "2022-07-03T21:54:12-07:00", "position": 1, "updated_at": "2022-07-03T21:54:13-07:00", "product_id": 7171828318403, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231453219.MP.jpg?v=1656910453", "width": 3934, "height": 2333}, {"id": 37749531934915, "created_at": "2022-07-03T21:54:12-07:00", "position": 2, "updated_at": "2022-07-03T21:54:14-07:00", "product_id": 7171828318403, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231503306.jpg?v=1656910454", "width": 3538, "height": 2497}, {"id": 37749531902147, "created_at": "2022-07-03T21:54:12-07:00", "position": 3, "updated_at": "2022-07-03T21:54:14-07:00", "product_id": 7171828318403, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231516014.jpg?v=1656910454", "width": 3218, "height": 2830}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/universal-strap-adjuster-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231453219.MP_400X.jpg?v=1656910453"}, {"id": 7171828285635, "title": "Universal Strap Adjuster", "handle": "universal-strap-adjuster-20mm", "published_at": "2022-03-03T23:47:20-08:00", "created_at": "2022-02-27T21:34:44-08:00", "updated_at": "2023-01-10T18:23:19-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560685150403, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.28", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7171828285635, "created_at": "2022-02-27T21:34:44-08:00", "updated_at": "2022-11-25T09:24:25-08:00"}], "images": [{"id": 37749528297667, "created_at": "2022-07-03T21:53:57-07:00", "position": 1, "updated_at": "2022-07-03T21:53:58-07:00", "product_id": 7171828285635, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232712701.jpg?v=1656910438", "width": 2622, "height": 2712}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/universal-strap-adjuster-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232712701_400X.jpg?v=1656910438"}, {"id": 7171828252867, "title": "Arch D-Ring", "handle": "arch-d-ring-25mm", "published_at": "2022-03-03T23:47:20-08:00", "created_at": "2022-02-27T21:34:43-08:00", "updated_at": "2023-01-10T18:23:19-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware ring", "tags": ["hardware"], "variants": [{"id": 41560685117635, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": false, "price": "1.92", "grams": 4, "compare_at_price": null, "position": 1, "product_id": 7171828252867, "created_at": "2022-02-27T21:34:43-08:00", "updated_at": "2022-10-23T05:26:25-07:00"}], "images": [{"id": 37748860453059, "created_at": "2022-07-03T21:33:59-07:00", "position": 1, "updated_at": "2022-07-03T21:35:23-07:00", "product_id": 7171828252867, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232810219.jpg?v=1656909323", "width": 3800, "height": 2308}, {"id": 37748860682435, "created_at": "2022-07-03T21:33:59-07:00", "position": 2, "updated_at": "2022-07-03T21:35:23-07:00", "product_id": 7171828252867, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232828125_ff3e126c-5628-4b28-9644-110579689aa0.jpg?v=1656909323", "width": 2820, "height": 1636}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/arch-d-ring-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232810219_400X.jpg?v=1656909323"}, {"id": 7171828220099, "title": "Arch D-Ring", "handle": "arch-d-ring-20mm", "published_at": "2022-03-03T23:47:19-08:00", "created_at": "2022-02-27T21:34:43-08:00", "updated_at": "2023-01-13T14:29:40-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware ring", "tags": ["hardware"], "variants": [{"id": 41560685084867, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.92", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7171828220099, "created_at": "2022-02-27T21:34:43-08:00", "updated_at": "2023-01-13T14:29:40-08:00"}], "images": [{"id": 37748845904067, "created_at": "2022-07-03T21:33:41-07:00", "position": 1, "updated_at": "2022-07-03T21:33:55-07:00", "product_id": 7171828220099, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232744304.jpg?v=1656909235", "width": 3492, "height": 2257}, {"id": 37748846330051, "created_at": "2022-07-03T21:33:41-07:00", "position": 2, "updated_at": "2022-07-03T21:33:55-07:00", "product_id": 7171828220099, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232828125.jpg?v=1656909235", "width": 2820, "height": 1636}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/arch-d-ring-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232744304_400X.jpg?v=1656909235"}, {"id": 7171828154563, "title": "Universal Loop", "handle": "universal-loop-25mm", "published_at": "2022-03-03T23:47:18-08:00", "created_at": "2022-02-27T21:34:42-08:00", "updated_at": "2023-01-10T18:23:19-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560684986563, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "2.56", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7171828154563, "created_at": "2022-02-27T21:34:42-08:00", "updated_at": "2023-01-08T20:27:17-08:00"}], "images": [{"id": 37749405155523, "created_at": "2022-07-03T21:50:05-07:00", "position": 1, "updated_at": "2022-07-03T21:50:06-07:00", "product_id": 7171828154563, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232607376.MP.jpg?v=1656910206", "width": 2014, "height": 2417}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/universal-loop-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232607376.MP_400X.jpg?v=1656910206"}, {"id": 7171828121795, "title": "Universal Loop", "handle": "universal-loop-20mm", "published_at": "2022-03-03T23:47:18-08:00", "created_at": "2022-02-27T21:34:41-08:00", "updated_at": "2023-01-10T18:23:19-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware misc", "tags": ["hardware"], "variants": [{"id": 41560684921027, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.28", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7171828121795, "created_at": "2022-02-27T21:34:41-08:00", "updated_at": "2022-11-18T18:10:35-08:00"}], "images": [{"id": 37749371928771, "created_at": "2022-07-03T21:49:07-07:00", "position": 1, "updated_at": "2022-07-03T21:49:09-07:00", "product_id": 7171828121795, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231317077.jpg?v=1656910149", "width": 3076, "height": 2685}, {"id": 37749371797699, "created_at": "2022-07-03T21:49:07-07:00", "position": 2, "updated_at": "2022-07-03T21:49:08-07:00", "product_id": 7171828121795, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231324641.jpg?v=1656910148", "width": 3084, "height": 2445}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/universal-loop-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231317077_400X.jpg?v=1656910149"}, {"id": 7171828089027, "title": "Viking Dual Hook/Spring", "handle": "viking-dual-hook-spring-25mm", "published_at": "2022-03-03T23:47:18-08:00", "created_at": "2022-02-27T21:34:41-08:00", "updated_at": "2023-01-10T18:23:19-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware hook", "tags": ["hardware"], "variants": [{"id": 41560684888259, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": false, "price": "3.84", "grams": 7, "compare_at_price": null, "position": 1, "product_id": 7171828089027, "created_at": "2022-02-27T21:34:41-08:00", "updated_at": "2022-12-07T10:03:22-08:00"}], "images": [{"id": 37750160883907, "created_at": "2022-07-03T22:15:09-07:00", "position": 1, "updated_at": "2022-07-03T22:15:10-07:00", "product_id": 7171828089027, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232014494.jpg?v=1656911710", "width": 2956, "height": 2349}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/viking-dual-hook-spring-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232014494_400X.jpg?v=1656911710"}, {"id": 7171828023491, "title": "Viking Dual Hook/Spring", "handle": "viking-dual-hook-spring-20mm", "published_at": "2022-03-03T23:47:17-08:00", "created_at": "2022-02-27T21:34:40-08:00", "updated_at": "2023-01-21T06:45:51-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware hook", "tags": ["hardware"], "variants": [{"id": 41560684822723, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "3.52", "grams": 5, "compare_at_price": null, "position": 1, "product_id": 7171828023491, "created_at": "2022-02-27T21:34:40-08:00", "updated_at": "2023-01-21T06:45:51-08:00"}], "images": [{"id": 37750152069315, "created_at": "2022-07-03T22:14:56-07:00", "position": 1, "updated_at": "2022-07-03T22:14:57-07:00", "product_id": 7171828023491, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232921523.jpg?v=1656911697", "width": 3664, "height": 2084}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/viking-dual-hook-spring-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232921523_400X.jpg?v=1656911697"}, {"id": 7171827957955, "title": "Voyager Dual Hook/ Spring", "handle": "voyager-dual-hook-spring-25mm", "published_at": "2022-03-03T23:47:17-08:00", "created_at": "2022-02-27T21:34:40-08:00", "updated_at": "2023-01-23T15:30:11-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware hook", "tags": ["hardware"], "variants": [{"id": 41560684724419, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "3.84", "grams": 9, "compare_at_price": null, "position": 1, "product_id": 7171827957955, "created_at": "2022-02-27T21:34:40-08:00", "updated_at": "2023-01-23T15:25:32-08:00"}], "images": [{"id": 37750193782979, "created_at": "2022-07-03T22:16:06-07:00", "position": 1, "updated_at": "2022-07-03T22:16:08-07:00", "product_id": 7171827957955, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231549212.jpg?v=1656911768", "width": 3480, "height": 2468}, {"id": 37750194077891, "created_at": "2022-07-03T22:16:06-07:00", "position": 2, "updated_at": "2022-07-03T22:16:08-07:00", "product_id": 7171827957955, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231556285.jpg?v=1656911768", "width": 2411, "height": 2466}, {"id": 37750193914051, "created_at": "2022-07-03T22:16:06-07:00", "position": 3, "updated_at": "2022-07-03T22:16:08-07:00", "product_id": 7171827957955, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231602821.jpg?v=1656911768", "width": 3568, "height": 2206}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/voyager-dual-hook-spring-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231549212_400X.jpg?v=1656911768"}, {"id": 7171827859651, "title": "Voyager Dual Hook/ Spring", "handle": "voyager-dual-hook-spring-20mm", "published_at": "2022-03-03T23:47:17-08:00", "created_at": "2022-02-27T21:34:39-08:00", "updated_at": "2023-01-10T18:23:18-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware hook", "tags": ["hardware"], "variants": [{"id": 41560684626115, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "3.52", "grams": 6, "compare_at_price": null, "position": 1, "product_id": 7171827859651, "created_at": "2022-02-27T21:34:39-08:00", "updated_at": "2023-01-05T14:00:08-08:00"}], "images": [{"id": 37750189490371, "created_at": "2022-07-03T22:16:00-07:00", "position": 1, "updated_at": "2022-07-03T22:16:01-07:00", "product_id": 7171827859651, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232630259.MP.jpg?v=1656911761", "width": 3903, "height": 2277}, {"id": 37750189392067, "created_at": "2022-07-03T22:16:00-07:00", "position": 2, "updated_at": "2022-07-03T22:16:01-07:00", "product_id": 7171827859651, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232638714.jpg?v=1656911761", "width": 3290, "height": 2588}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/voyager-dual-hook-spring-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232630259.MP_400X.jpg?v=1656911761"}, {"id": 7171827826883, "title": "Mini Clip Hook", "handle": "mini-clip-hook-10mm", "published_at": "2022-03-03T23:47:16-08:00", "created_at": "2022-02-27T21:34:39-08:00", "updated_at": "2023-01-18T18:46:00-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware hook", "tags": ["hardware"], "variants": [{"id": 41560684593347, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": false, "price": "2.24", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7171827826883, "created_at": "2022-02-27T21:34:39-08:00", "updated_at": "2023-01-18T18:46:00-08:00"}], "images": [{"id": 37749243248835, "created_at": "2022-07-03T21:45:47-07:00", "position": 1, "updated_at": "2022-07-03T21:45:54-07:00", "product_id": 7171827826883, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231942048.jpg?v=1656909954", "width": 3694, "height": 2612}, {"id": 37749242626243, "created_at": "2022-07-03T21:45:47-07:00", "position": 2, "updated_at": "2022-07-03T21:45:54-07:00", "product_id": 7171827826883, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231932749.jpg?v=1656909954", "width": 2957, "height": 2036}, {"id": 37749242921155, "created_at": "2022-07-03T21:45:47-07:00", "position": 3, "updated_at": "2022-07-03T21:45:48-07:00", "product_id": 7171827826883, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231950377.jpg?v=1656909948", "width": 2693, "height": 2748}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/mini-clip-hook-10mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["10mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_231942048_400X.jpg?v=1656909954"}, {"id": 7171827794115, "title": "Mini Dual Clip Hook", "handle": "mini-dual-clip-hook-10mm", "published_at": "2022-03-03T23:47:16-08:00", "created_at": "2022-02-27T21:34:38-08:00", "updated_at": "2023-01-17T13:40:19-08:00", "vendor": "Mozet Supplies", "product_type": "metal hardware hook", "tags": ["hardware"], "variants": [{"id": 41560684560579, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "2.37", "grams": 4, "compare_at_price": null, "position": 1, "product_id": 7171827794115, "created_at": "2022-02-27T21:34:38-08:00", "updated_at": "2023-01-17T13:37:40-08:00"}], "images": [{"id": 37749314486467, "created_at": "2022-07-03T21:47:37-07:00", "position": 1, "updated_at": "2022-07-03T21:47:38-07:00", "product_id": 7171827794115, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232534067.jpg?v=1656910058", "width": 3250, "height": 2673}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/mini-dual-clip-hook-10mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["10mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20220703_232534067_400X.jpg?v=1656910058"}, {"id": 7142609060035, "title": "G-Hook Gatekeeper", "handle": "g-hook-gatekeeper-right-25mm", "published_at": "2022-11-13T23:00:18-08:00", "created_at": "2022-02-05T10:05:15-08:00", "updated_at": "2023-01-24T11:10:15-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 43959919247655, "title": "20mm/ 3/4\" / Black / 2 Buckles", "option1": "20mm/ 3/4\"", "option2": "Black", "option3": "2 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865401475367, "product_id": 7142609060035, "position": 9, "created_at": "2022-11-13T21:53:42-08:00", "updated_at": "2022-11-13T21:53:43-08:00", "alt": null, "width": 4177, "height": 3549, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03150_53d159d2-a89b-4a3a-ac9c-80787c56d2d1.jpg?v=1668405223", "variant_ids": [43959919247655, 43959922000167, 43959922164007, 43959922327847, 43959922491687]}, "available": true, "price": "3.20", "grams": 10, "compare_at_price": null, "position": 1, "product_id": 7142609060035, "created_at": "2022-11-13T21:59:01-08:00", "updated_at": "2023-01-04T10:39:06-08:00"}, {"id": 43959922000167, "title": "20mm/ 3/4\" / Black / 4 Buckles", "option1": "20mm/ 3/4\"", "option2": "Black", "option3": "4 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865401475367, "product_id": 7142609060035, "position": 9, "created_at": "2022-11-13T21:53:42-08:00", "updated_at": "2022-11-13T21:53:43-08:00", "alt": null, "width": 4177, "height": 3549, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03150_53d159d2-a89b-4a3a-ac9c-80787c56d2d1.jpg?v=1668405223", "variant_ids": [43959919247655, 43959922000167, 43959922164007, 43959922327847, 43959922491687]}, "available": true, "price": "5.00", "grams": 20, "compare_at_price": null, "position": 2, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2023-01-15T08:17:21-08:00"}, {"id": 43959922164007, "title": "20mm/ 3/4\" / Black / 10 Buckles", "option1": "20mm/ 3/4\"", "option2": "Black", "option3": "10 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865401475367, "product_id": 7142609060035, "position": 9, "created_at": "2022-11-13T21:53:42-08:00", "updated_at": "2022-11-13T21:53:43-08:00", "alt": null, "width": 4177, "height": 3549, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03150_53d159d2-a89b-4a3a-ac9c-80787c56d2d1.jpg?v=1668405223", "variant_ids": [43959919247655, 43959922000167, 43959922164007, 43959922327847, 43959922491687]}, "available": true, "price": "10.00", "grams": 50, "compare_at_price": null, "position": 3, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2023-01-24T09:07:45-08:00"}, {"id": 43959922327847, "title": "20mm/ 3/4\" / Black / 20 Buckles", "option1": "20mm/ 3/4\"", "option2": "Black", "option3": "20 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865401475367, "product_id": 7142609060035, "position": 9, "created_at": "2022-11-13T21:53:42-08:00", "updated_at": "2022-11-13T21:53:43-08:00", "alt": null, "width": 4177, "height": 3549, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03150_53d159d2-a89b-4a3a-ac9c-80787c56d2d1.jpg?v=1668405223", "variant_ids": [43959919247655, 43959922000167, 43959922164007, 43959922327847, 43959922491687]}, "available": true, "price": "17.00", "grams": 100, "compare_at_price": null, "position": 4, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2022-11-17T22:58:09-08:00"}, {"id": 43959922491687, "title": "20mm/ 3/4\" / Black / 100 Buckles", "option1": "20mm/ 3/4\"", "option2": "Black", "option3": "100 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865401475367, "product_id": 7142609060035, "position": 9, "created_at": "2022-11-13T21:53:42-08:00", "updated_at": "2022-11-13T21:53:43-08:00", "alt": null, "width": 4177, "height": 3549, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03150_53d159d2-a89b-4a3a-ac9c-80787c56d2d1.jpg?v=1668405223", "variant_ids": [43959919247655, 43959922000167, 43959922164007, 43959922327847, 43959922491687]}, "available": false, "price": "70.00", "grams": 500, "compare_at_price": null, "position": 5, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2023-01-13T09:45:40-08:00"}, {"id": 43959919280423, "title": "25mm/ 1\" / Black / 2 Buckles", "option1": "25mm/ 1\"", "option2": "Black", "option3": "2 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 32678569017539, "product_id": 7142609060035, "position": 2, "created_at": "2022-02-07T20:16:26-08:00", "updated_at": "2022-02-07T20:17:15-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02664.jpg?v=1644293835", "variant_ids": [43959919280423, 43959922196775, 43959922360615, 43959922524455]}, "available": true, "price": "3.30", "grams": 12, "compare_at_price": null, "position": 6, "product_id": 7142609060035, "created_at": "2022-11-13T21:59:01-08:00", "updated_at": "2022-11-28T11:40:26-08:00"}, {"id": 43959922032935, "title": "25mm/ 1\" / Black / 4 Buckles", "option1": "25mm/ 1\"", "option2": "Black", "option3": "4 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 32678568952003, "product_id": 7142609060035, "position": 1, "created_at": "2022-02-07T20:16:26-08:00", "updated_at": "2022-02-07T20:17:15-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02663.jpg?v=1644293835", "variant_ids": [43959922032935]}, "available": true, "price": "6.20", "grams": 24, "compare_at_price": null, "position": 7, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2023-01-11T09:23:40-08:00"}, {"id": 43959922196775, "title": "25mm/ 1\" / Black / 10 Buckles", "option1": "25mm/ 1\"", "option2": "Black", "option3": "10 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 32678569017539, "product_id": 7142609060035, "position": 2, "created_at": "2022-02-07T20:16:26-08:00", "updated_at": "2022-02-07T20:17:15-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02664.jpg?v=1644293835", "variant_ids": [43959919280423, 43959922196775, 43959922360615, 43959922524455]}, "available": true, "price": "12.50", "grams": 60, "compare_at_price": null, "position": 8, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2023-01-12T10:43:32-08:00"}, {"id": 43959922360615, "title": "25mm/ 1\" / Black / 20 Buckles", "option1": "25mm/ 1\"", "option2": "Black", "option3": "20 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 32678569017539, "product_id": 7142609060035, "position": 2, "created_at": "2022-02-07T20:16:26-08:00", "updated_at": "2022-02-07T20:17:15-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02664.jpg?v=1644293835", "variant_ids": [43959919280423, 43959922196775, 43959922360615, 43959922524455]}, "available": true, "price": "19.00", "grams": 120, "compare_at_price": null, "position": 9, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2023-01-04T10:38:54-08:00"}, {"id": 43959922524455, "title": "25mm/ 1\" / Black / 100 Buckles", "option1": "25mm/ 1\"", "option2": "Black", "option3": "100 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 32678569017539, "product_id": 7142609060035, "position": 2, "created_at": "2022-02-07T20:16:26-08:00", "updated_at": "2022-02-07T20:17:15-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02664.jpg?v=1644293835", "variant_ids": [43959919280423, 43959922196775, 43959922360615, 43959922524455]}, "available": true, "price": "80.00", "grams": 600, "compare_at_price": null, "position": 10, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2022-11-17T22:58:12-08:00"}, {"id": 43959919313191, "title": "25mm/ 1\" / White / 2 Buckles", "option1": "25mm/ 1\"", "option2": "White", "option3": "2 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865401180455, "product_id": 7142609060035, "position": 8, "created_at": "2022-11-13T21:53:18-08:00", "updated_at": "2022-11-13T21:53:20-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03710.jpg?v=1668405200", "variant_ids": [43959919313191, 43959922065703, 43959922229543, 43959922393383]}, "available": true, "price": "3.50", "grams": 12, "compare_at_price": null, "position": 11, "product_id": 7142609060035, "created_at": "2022-11-13T21:59:01-08:00", "updated_at": "2022-11-28T11:40:26-08:00"}, {"id": 43959922065703, "title": "25mm/ 1\" / White / 4 Buckles", "option1": "25mm/ 1\"", "option2": "White", "option3": "4 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865401180455, "product_id": 7142609060035, "position": 8, "created_at": "2022-11-13T21:53:18-08:00", "updated_at": "2022-11-13T21:53:20-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03710.jpg?v=1668405200", "variant_ids": [43959919313191, 43959922065703, 43959922229543, 43959922393383]}, "available": true, "price": "6.60", "grams": 24, "compare_at_price": null, "position": 12, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2022-11-17T22:58:13-08:00"}, {"id": 43959922229543, "title": "25mm/ 1\" / White / 10 Buckles", "option1": "25mm/ 1\"", "option2": "White", "option3": "10 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865401180455, "product_id": 7142609060035, "position": 8, "created_at": "2022-11-13T21:53:18-08:00", "updated_at": "2022-11-13T21:53:20-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03710.jpg?v=1668405200", "variant_ids": [43959919313191, 43959922065703, 43959922229543, 43959922393383]}, "available": true, "price": "12.50", "grams": 60, "compare_at_price": null, "position": 13, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2022-11-17T22:58:14-08:00"}, {"id": 43959922393383, "title": "25mm/ 1\" / White / 20 Buckles", "option1": "25mm/ 1\"", "option2": "White", "option3": "20 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865401180455, "product_id": 7142609060035, "position": 8, "created_at": "2022-11-13T21:53:18-08:00", "updated_at": "2022-11-13T21:53:20-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03710.jpg?v=1668405200", "variant_ids": [43959919313191, 43959922065703, 43959922229543, 43959922393383]}, "available": true, "price": "19.50", "grams": 120, "compare_at_price": null, "position": 14, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2022-11-17T22:58:13-08:00"}, {"id": 43959919345959, "title": "25mm/ 1\" / Coyote Brown / 2 Buckles", "option1": "25mm/ 1\"", "option2": "Coyote Brown", "option3": "2 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865401147687, "product_id": 7142609060035, "position": 7, "created_at": "2022-11-13T21:53:18-08:00", "updated_at": "2022-11-13T21:53:20-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03621.jpg?v=1668405200", "variant_ids": [43959919345959, 43959922098471, 43959922262311, 43959922426151]}, "available": true, "price": "3.50", "grams": 12, "compare_at_price": null, "position": 15, "product_id": 7142609060035, "created_at": "2022-11-13T21:59:01-08:00", "updated_at": "2022-11-17T22:58:14-08:00"}, {"id": 43959922098471, "title": "25mm/ 1\" / Coyote Brown / 4 Buckles", "option1": "25mm/ 1\"", "option2": "Coyote Brown", "option3": "4 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865401147687, "product_id": 7142609060035, "position": 7, "created_at": "2022-11-13T21:53:18-08:00", "updated_at": "2022-11-13T21:53:20-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03621.jpg?v=1668405200", "variant_ids": [43959919345959, 43959922098471, 43959922262311, 43959922426151]}, "available": true, "price": "6.60", "grams": 24, "compare_at_price": null, "position": 16, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2022-11-17T22:58:14-08:00"}, {"id": 43959922262311, "title": "25mm/ 1\" / Coyote Brown / 10 Buckles", "option1": "25mm/ 1\"", "option2": "Coyote Brown", "option3": "10 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865401147687, "product_id": 7142609060035, "position": 7, "created_at": "2022-11-13T21:53:18-08:00", "updated_at": "2022-11-13T21:53:20-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03621.jpg?v=1668405200", "variant_ids": [43959919345959, 43959922098471, 43959922262311, 43959922426151]}, "available": true, "price": "12.50", "grams": 60, "compare_at_price": null, "position": 17, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2023-01-24T11:06:26-08:00"}, {"id": 43959922426151, "title": "25mm/ 1\" / Coyote Brown / 20 Buckles", "option1": "25mm/ 1\"", "option2": "Coyote Brown", "option3": "20 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865401147687, "product_id": 7142609060035, "position": 7, "created_at": "2022-11-13T21:53:18-08:00", "updated_at": "2022-11-13T21:53:20-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03621.jpg?v=1668405200", "variant_ids": [43959919345959, 43959922098471, 43959922262311, 43959922426151]}, "available": true, "price": "19.50", "grams": 120, "compare_at_price": null, "position": 18, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2022-11-17T22:58:15-08:00"}, {"id": 43959919378727, "title": "38mm/ 1.5\" / Black / 2 Buckles", "option1": "38mm/ 1.5\"", "option2": "Black", "option3": "2 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865402065191, "product_id": 7142609060035, "position": 10, "created_at": "2022-11-13T21:54:01-08:00", "updated_at": "2022-11-13T21:54:02-08:00", "alt": null, "width": 3024, "height": 4032, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201935946_52485158-911c-4fa7-900d-46c8bd3eda3b.jpg?v=1668405242", "variant_ids": [43959919378727, 43959922131239, 43959922295079, 43959922458919]}, "available": true, "price": "3.70", "grams": 18, "compare_at_price": null, "position": 19, "product_id": 7142609060035, "created_at": "2022-11-13T21:59:01-08:00", "updated_at": "2022-12-10T18:02:02-08:00"}, {"id": 43959922131239, "title": "38mm/ 1.5\" / Black / 4 Buckles", "option1": "38mm/ 1.5\"", "option2": "Black", "option3": "4 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865402065191, "product_id": 7142609060035, "position": 10, "created_at": "2022-11-13T21:54:01-08:00", "updated_at": "2022-11-13T21:54:02-08:00", "alt": null, "width": 3024, "height": 4032, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201935946_52485158-911c-4fa7-900d-46c8bd3eda3b.jpg?v=1668405242", "variant_ids": [43959919378727, 43959922131239, 43959922295079, 43959922458919]}, "available": true, "price": "6.50", "grams": 36, "compare_at_price": null, "position": 20, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2022-12-18T11:30:21-08:00"}, {"id": 43959922295079, "title": "38mm/ 1.5\" / Black / 10 Buckles", "option1": "38mm/ 1.5\"", "option2": "Black", "option3": "10 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865402065191, "product_id": 7142609060035, "position": 10, "created_at": "2022-11-13T21:54:01-08:00", "updated_at": "2022-11-13T21:54:02-08:00", "alt": null, "width": 3024, "height": 4032, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201935946_52485158-911c-4fa7-900d-46c8bd3eda3b.jpg?v=1668405242", "variant_ids": [43959919378727, 43959922131239, 43959922295079, 43959922458919]}, "available": true, "price": "13.50", "grams": 90, "compare_at_price": null, "position": 21, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2022-11-25T11:52:51-08:00"}, {"id": 43959922458919, "title": "38mm/ 1.5\" / Black / 20 Buckles", "option1": "38mm/ 1.5\"", "option2": "Black", "option3": "20 Buckles", "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865402065191, "product_id": 7142609060035, "position": 10, "created_at": "2022-11-13T21:54:01-08:00", "updated_at": "2022-11-13T21:54:02-08:00", "alt": null, "width": 3024, "height": 4032, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201935946_52485158-911c-4fa7-900d-46c8bd3eda3b.jpg?v=1668405242", "variant_ids": [43959919378727, 43959922131239, 43959922295079, 43959922458919]}, "available": true, "price": "21.00", "grams": 180, "compare_at_price": null, "position": 22, "product_id": 7142609060035, "created_at": "2022-11-13T22:05:52-08:00", "updated_at": "2022-11-17T22:58:17-08:00"}], "images": [{"id": 32678568952003, "created_at": "2022-02-07T20:16:26-08:00", "position": 1, "updated_at": "2022-02-07T20:17:15-08:00", "product_id": 7142609060035, "variant_ids": [43959922032935], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02663.jpg?v=1644293835", "width": 4896, "height": 3672}, {"id": 32678569017539, "created_at": "2022-02-07T20:16:26-08:00", "position": 2, "updated_at": "2022-02-07T20:17:15-08:00", "product_id": 7142609060035, "variant_ids": [43959919280423, 43959922196775, 43959922360615, 43959922524455], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02664.jpg?v=1644293835", "width": 4896, "height": 3672}, {"id": 32678568984771, "created_at": "2022-02-07T20:16:26-08:00", "position": 3, "updated_at": "2022-02-07T20:17:15-08:00", "product_id": 7142609060035, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02570_3f8c4848-5aa0-45cc-a4ac-4f5efbdd268b.jpg?v=1644293835", "width": 4896, "height": 3672}, {"id": 39865401114919, "created_at": "2022-11-13T21:53:18-08:00", "position": 4, "updated_at": "2022-11-13T21:53:20-08:00", "product_id": 7142609060035, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03614.jpg?v=1668405200", "width": 4896, "height": 3672}, {"id": 39865401082151, "created_at": "2022-11-13T21:53:18-08:00", "position": 5, "updated_at": "2022-11-13T21:53:20-08:00", "product_id": 7142609060035, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03616_ce156f84-c591-4745-8e95-395e43dcddf6.jpg?v=1668405200", "width": 4896, "height": 3672}, {"id": 39865401213223, "created_at": "2022-11-13T21:53:18-08:00", "position": 6, "updated_at": "2022-11-13T21:53:20-08:00", "product_id": 7142609060035, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03617.jpg?v=1668405200", "width": 4896, "height": 3672}, {"id": 39865401147687, "created_at": "2022-11-13T21:53:18-08:00", "position": 7, "updated_at": "2022-11-13T21:53:20-08:00", "product_id": 7142609060035, "variant_ids": [43959919345959, 43959922098471, 43959922262311, 43959922426151], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03621.jpg?v=1668405200", "width": 4896, "height": 3672}, {"id": 39865401180455, "created_at": "2022-11-13T21:53:18-08:00", "position": 8, "updated_at": "2022-11-13T21:53:20-08:00", "product_id": 7142609060035, "variant_ids": [43959919313191, 43959922065703, 43959922229543, 43959922393383], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03710.jpg?v=1668405200", "width": 4896, "height": 3672}, {"id": 39865401475367, "created_at": "2022-11-13T21:53:42-08:00", "position": 9, "updated_at": "2022-11-13T21:53:43-08:00", "product_id": 7142609060035, "variant_ids": [43959919247655, 43959922000167, 43959922164007, 43959922327847, 43959922491687], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03150_53d159d2-a89b-4a3a-ac9c-80787c56d2d1.jpg?v=1668405223", "width": 4177, "height": 3549}, {"id": 39865402065191, "created_at": "2022-11-13T21:54:01-08:00", "position": 10, "updated_at": "2022-11-13T21:54:02-08:00", "product_id": 7142609060035, "variant_ids": [43959919378727, 43959922131239, 43959922295079, 43959922458919], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201935946_52485158-911c-4fa7-900d-46c8bd3eda3b.jpg?v=1668405242", "width": 3024, "height": 4032}, {"id": 39865402032423, "created_at": "2022-11-13T21:54:01-08:00", "position": 11, "updated_at": "2022-11-13T21:54:02-08:00", "product_id": 7142609060035, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201951754_13b150c0-5735-455b-97e3-db4d4e543a18.jpg?v=1668405242", "width": 3024, "height": 4032}], "options": [{"name": "Size", "position": 1, "values": ["20mm/ 3/4\"", "25mm/ 1\"", "38mm/ 1.5\""]}, {"name": "Color", "position": 2, "values": ["Black", "White", "Coyote Brown"]}, {"name": "Packages of", "position": 3, "values": ["2 Buckles", "4 Buckles", "10 Buckles", "20 Buckles", "100 Buckles"]}], "url": "https://mozetsupplies.ca/products/g-hook-gatekeeper-right-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": ["20mm/ 3/4\"", "25mm/ 1\"", "38mm/ 1.5\""], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03150_53d159d2-a89b-4a3a-ac9c-80787c56d2d1_400X.jpg?v=1668405223"}, {"id": 7142608961731, "title": "Plastic G-Hook", "handle": "plastic-g-hook-left-20mm", "published_at": "2022-02-05T10:05:13-08:00", "created_at": "2022-02-05T10:05:13-08:00", "updated_at": "2023-01-10T18:23:17-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["20mm", "hardware"], "variants": [{"id": 41478874726595, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.75", "grams": 4, "compare_at_price": null, "position": 1, "product_id": 7142608961731, "created_at": "2022-02-05T10:05:13-08:00", "updated_at": "2023-01-02T21:33:20-08:00"}], "images": [{"id": 32678800490691, "created_at": "2022-02-07T20:25:45-08:00", "position": 1, "updated_at": "2022-02-07T20:25:46-08:00", "product_id": 7142608961731, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201908120.jpg?v=1644294346", "width": 3024, "height": 4032}, {"id": 32678799999171, "created_at": "2022-02-07T20:25:45-08:00", "position": 2, "updated_at": "2022-02-07T20:25:46-08:00", "product_id": 7142608961731, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201915763.jpg?v=1644294346", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/plastic-g-hook-left-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201908120_400X.jpg?v=1644294346"}, {"id": 7142608928963, "title": "Plastic G-Hook", "handle": "plastic-g-hook-right-20mm", "published_at": "2022-02-05T10:05:12-08:00", "created_at": "2022-02-05T10:05:12-08:00", "updated_at": "2023-01-10T18:23:17-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["20mm", "hardware"], "variants": [{"id": 41478874693827, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.75", "grams": 4, "compare_at_price": null, "position": 1, "product_id": 7142608928963, "created_at": "2022-02-05T10:05:13-08:00", "updated_at": "2023-01-08T19:46:49-08:00"}], "images": [{"id": 32678807535811, "created_at": "2022-02-07T20:25:53-08:00", "position": 1, "updated_at": "2022-02-07T20:26:21-08:00", "product_id": 7142608928963, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201920963.jpg?v=1644294381", "width": 3024, "height": 4032}, {"id": 32678807371971, "created_at": "2022-02-07T20:25:52-08:00", "position": 2, "updated_at": "2022-02-07T20:26:21-08:00", "product_id": 7142608928963, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201915763_f9c8e1e5-aef7-41f9-a974-24170281e00f.jpg?v=1644294381", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/plastic-g-hook-right-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201920963_400X.jpg?v=1644294381"}, {"id": 7142608896195, "title": "Plastic G-Hook", "handle": "plastic-g-hook-left-25mm", "published_at": "2022-02-05T10:05:12-08:00", "created_at": "2022-02-05T10:05:12-08:00", "updated_at": "2023-01-10T18:23:17-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 41478874661059, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.80", "grams": 5, "compare_at_price": null, "position": 1, "product_id": 7142608896195, "created_at": "2022-02-05T10:05:12-08:00", "updated_at": "2023-01-04T10:38:48-08:00"}], "images": [{"id": 32678821626051, "created_at": "2022-02-07T20:26:16-08:00", "position": 1, "updated_at": "2022-02-07T20:26:18-08:00", "product_id": 7142608896195, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03158_0f596032-e066-42b8-8196-551fd13f5ce3.jpg?v=1644294378", "width": 4896, "height": 3672}, {"id": 32678821363907, "created_at": "2022-02-07T20:26:17-08:00", "position": 2, "updated_at": "2022-02-07T20:26:18-08:00", "product_id": 7142608896195, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03159.jpg?v=1644294378", "width": 4896, "height": 3672}, {"id": 32678821265603, "created_at": "2022-02-07T20:26:17-08:00", "position": 3, "updated_at": "2022-02-07T20:26:18-08:00", "product_id": 7142608896195, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03160.jpg?v=1644294378", "width": 4896, "height": 3672}, {"id": 32678821691587, "created_at": "2022-02-07T20:26:17-08:00", "position": 4, "updated_at": "2022-02-07T20:26:19-08:00", "product_id": 7142608896195, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03162.jpg?v=1644294379", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/plastic-g-hook-left-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03158_0f596032-e066-42b8-8196-551fd13f5ce3_400X.jpg?v=1644294378"}, {"id": 7142608863427, "title": "Plastic G-Hook", "handle": "plastic-g-hook-right-25mm", "published_at": "2022-02-05T10:05:11-08:00", "created_at": "2022-02-05T10:05:11-08:00", "updated_at": "2023-01-10T18:23:17-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 41478874628291, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.80", "grams": 5, "compare_at_price": null, "position": 1, "product_id": 7142608863427, "created_at": "2022-02-05T10:05:11-08:00", "updated_at": "2022-11-20T05:52:40-08:00"}], "images": [{"id": 32678833422531, "created_at": "2022-02-07T20:26:39-08:00", "position": 1, "updated_at": "2022-02-07T20:27:25-08:00", "product_id": 7142608863427, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03163.jpg?v=1644294445", "width": 4896, "height": 3672}, {"id": 32678833586371, "created_at": "2022-02-07T20:26:39-08:00", "position": 2, "updated_at": "2022-02-07T20:27:25-08:00", "product_id": 7142608863427, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03162_58490885-b9d5-4cd3-9879-803448820543.jpg?v=1644294445", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/plastic-g-hook-right-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03163_400X.jpg?v=1644294445"}, {"id": 7142608830659, "title": "Beastee Dee", "handle": "beastee-dee-13mm", "published_at": "2022-02-05T10:05:10-08:00", "created_at": "2022-02-05T10:05:11-08:00", "updated_at": "2023-01-10T18:23:17-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware ring", "tags": ["hardware"], "variants": [{"id": 41478874595523, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.30", "grams": 1, "compare_at_price": null, "position": 1, "product_id": 7142608830659, "created_at": "2022-02-05T10:05:11-08:00", "updated_at": "2022-11-24T09:32:32-08:00"}], "images": [{"id": 32678301532355, "created_at": "2022-02-07T20:06:51-08:00", "position": 1, "updated_at": "2022-02-07T20:06:52-08:00", "product_id": 7142608830659, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02593.jpg?v=1644293212", "width": 3723, "height": 2779}, {"id": 32678301466819, "created_at": "2022-02-07T20:06:51-08:00", "position": 2, "updated_at": "2022-02-07T20:06:52-08:00", "product_id": 7142608830659, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02594.jpg?v=1644293212", "width": 3517, "height": 2585}, {"id": 32678301335747, "created_at": "2022-02-07T20:06:51-08:00", "position": 3, "updated_at": "2022-02-07T20:06:52-08:00", "product_id": 7142608830659, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02596.jpg?v=1644293212", "width": 4105, "height": 2944}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/beastee-dee-13mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["13mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02593_400X.jpg?v=1644293212"}, {"id": 7142608765123, "title": "Cam Side Release Buckle", "handle": "cam-side-release-buckle-25mm", "published_at": "2022-02-05T10:05:09-08:00", "created_at": "2022-02-05T10:05:09-08:00", "updated_at": "2023-01-10T18:23:17-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["25mm", "hardware"], "variants": [{"id": 41478873874627, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.25", "grams": 14, "compare_at_price": null, "position": 1, "product_id": 7142608765123, "created_at": "2022-02-05T10:05:09-08:00", "updated_at": "2022-11-20T05:52:40-08:00"}], "images": [{"id": 32678368411843, "created_at": "2022-02-07T20:09:31-08:00", "position": 1, "updated_at": "2022-02-07T20:09:32-08:00", "product_id": 7142608765123, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_203109345.jpg?v=1644293372", "width": 3024, "height": 4032}, {"id": 32678368510147, "created_at": "2022-02-07T20:09:31-08:00", "position": 2, "updated_at": "2022-02-07T20:09:32-08:00", "product_id": 7142608765123, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_203116526.jpg?v=1644293372", "width": 3024, "height": 4032}, {"id": 32678368805059, "created_at": "2022-02-07T20:09:31-08:00", "position": 3, "updated_at": "2022-02-07T20:09:33-08:00", "product_id": 7142608765123, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_203121625.jpg?v=1644293373", "width": 3024, "height": 4032}, {"id": 32678369001667, "created_at": "2022-02-07T20:09:31-08:00", "position": 4, "updated_at": "2022-02-07T20:09:33-08:00", "product_id": 7142608765123, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_203137964.jpg?v=1644293373", "width": 3024, "height": 4032}, {"id": 32678368542915, "created_at": "2022-02-07T20:09:31-08:00", "position": 5, "updated_at": "2022-02-07T20:09:33-08:00", "product_id": 7142608765123, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_203148763.jpg?v=1644293373", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/cam-side-release-buckle-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_203109345_400X.jpg?v=1644293372"}, {"id": 7142608732355, "title": "Curved Mojave Standard Release Tensionlock", "handle": "curved-mojave-standard-release-tensionlock-25mm", "published_at": "2022-02-05T10:05:08-08:00", "created_at": "2022-02-05T10:05:09-08:00", "updated_at": "2023-01-10T18:23:17-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware misc", "tags": ["25mm", "hardware"], "variants": [{"id": 43953725112615, "title": "Black", "option1": "Black", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 32678375293123, "product_id": 7142608732355, "position": 2, "created_at": "2022-02-07T20:09:40-08:00", "updated_at": "2022-11-11T14:13:33-08:00", "alt": null, "width": 4893, "height": 3647, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03166.jpg?v=1668204813", "variant_ids": [43953725112615]}, "available": true, "price": "0.65", "grams": 4, "compare_at_price": null, "position": 1, "product_id": 7142608732355, "created_at": "2022-11-11T14:15:02-08:00", "updated_at": "2022-11-22T13:53:04-08:00"}, {"id": 43953725145383, "title": "White", "option1": "White", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39855870378279, "product_id": 7142608732355, "position": 9, "created_at": "2022-11-11T14:13:14-08:00", "updated_at": "2022-11-11T14:13:17-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03598.jpg?v=1668204797", "variant_ids": [43953725145383]}, "available": true, "price": "0.65", "grams": 4, "compare_at_price": null, "position": 2, "product_id": 7142608732355, "created_at": "2022-11-11T14:15:02-08:00", "updated_at": "2022-11-20T07:06:50-08:00"}, {"id": 43953725178151, "title": "Coyote Brown", "option1": "Coyote Brown", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.65", "grams": 4, "compare_at_price": null, "position": 3, "product_id": 7142608732355, "created_at": "2022-11-11T14:15:02-08:00", "updated_at": "2022-11-11T14:15:02-08:00"}, {"id": 43953725210919, "title": "Desert Tan", "option1": "Desert Tan", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39855870247207, "product_id": 7142608732355, "position": 8, "created_at": "2022-11-11T14:13:14-08:00", "updated_at": "2022-11-11T14:13:15-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03595.jpg?v=1668204795", "variant_ids": [43953725210919]}, "available": true, "price": "0.65", "grams": 4, "compare_at_price": null, "position": 4, "product_id": 7142608732355, "created_at": "2022-11-11T14:15:02-08:00", "updated_at": "2022-11-11T14:15:03-08:00"}], "images": [{"id": 39855870279975, "created_at": "2022-11-11T14:13:14-08:00", "position": 1, "updated_at": "2022-11-11T14:13:33-08:00", "product_id": 7142608732355, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03593.jpg?v=1668204813", "width": 4896, "height": 3672}, {"id": 32678375293123, "created_at": "2022-02-07T20:09:40-08:00", "position": 2, "updated_at": "2022-11-11T14:13:33-08:00", "product_id": 7142608732355, "variant_ids": [43953725112615], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03166.jpg?v=1668204813", "width": 4893, "height": 3647}, {"id": 39855870312743, "created_at": "2022-11-11T14:13:14-08:00", "position": 3, "updated_at": "2022-11-11T14:13:33-08:00", "product_id": 7142608732355, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03592.jpg?v=1668204813", "width": 4896, "height": 3672}, {"id": 32678375325891, "created_at": "2022-02-07T20:09:40-08:00", "position": 4, "updated_at": "2022-11-11T14:13:33-08:00", "product_id": 7142608732355, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03165.jpg?v=1668204813", "width": 4598, "height": 3672}, {"id": 32678375260355, "created_at": "2022-02-07T20:09:40-08:00", "position": 5, "updated_at": "2022-11-11T14:13:33-08:00", "product_id": 7142608732355, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03167.jpg?v=1668204813", "width": 4894, "height": 3660}, {"id": 32678375358659, "created_at": "2022-02-07T20:09:40-08:00", "position": 6, "updated_at": "2022-11-11T14:13:33-08:00", "product_id": 7142608732355, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03168.jpg?v=1668204813", "width": 4896, "height": 3672}, {"id": 39855870181671, "created_at": "2022-11-11T14:13:14-08:00", "position": 7, "updated_at": "2022-11-11T14:13:33-08:00", "product_id": 7142608732355, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03591.jpg?v=1668204813", "width": 4896, "height": 3672}, {"id": 39855870247207, "created_at": "2022-11-11T14:13:14-08:00", "position": 8, "updated_at": "2022-11-11T14:13:15-08:00", "product_id": 7142608732355, "variant_ids": [43953725210919], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03595.jpg?v=1668204795", "width": 4896, "height": 3672}, {"id": 39855870378279, "created_at": "2022-11-11T14:13:14-08:00", "position": 9, "updated_at": "2022-11-11T14:13:17-08:00", "product_id": 7142608732355, "variant_ids": [43953725145383], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03598.jpg?v=1668204797", "width": 4896, "height": 3672}], "options": [{"name": "Color", "position": 1, "values": ["Black", "White", "Coyote Brown", "Desert Tan"]}], "url": "https://mozetsupplies.ca/products/curved-mojave-standard-release-tensionlock-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03166_400X.jpg?v=1668204813"}, {"id": 7142608535747, "title": "Double D-Ring", "handle": "double-d-ring-20mm", "published_at": "2022-02-05T10:05:05-08:00", "created_at": "2022-02-05T10:05:05-08:00", "updated_at": "2023-01-10T18:23:16-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware ring", "tags": ["20mm", "hardware"], "variants": [{"id": 41478873088195, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.30", "grams": 1, "compare_at_price": null, "position": 1, "product_id": 7142608535747, "created_at": "2022-02-05T10:05:05-08:00", "updated_at": "2022-11-28T20:08:35-08:00"}], "images": [{"id": 32678380536003, "created_at": "2022-02-07T20:09:47-08:00", "position": 1, "updated_at": "2022-02-07T20:10:35-08:00", "product_id": 7142608535747, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03171.jpg?v=1644293435", "width": 4627, "height": 3107}, {"id": 32678380306627, "created_at": "2022-02-07T20:09:47-08:00", "position": 2, "updated_at": "2022-02-07T20:10:35-08:00", "product_id": 7142608535747, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03172.jpg?v=1644293435", "width": 4667, "height": 3575}, {"id": 32678380077251, "created_at": "2022-02-07T20:09:47-08:00", "position": 3, "updated_at": "2022-02-07T20:10:35-08:00", "product_id": 7142608535747, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03169.jpg?v=1644293435", "width": 4644, "height": 3579}, {"id": 32678380961987, "created_at": "2022-02-07T20:09:47-08:00", "position": 4, "updated_at": "2022-02-07T20:10:35-08:00", "product_id": 7142608535747, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03170.jpg?v=1644293435", "width": 4224, "height": 3349}, {"id": 39855851929895, "created_at": "2022-11-11T14:10:05-08:00", "position": 5, "updated_at": "2022-11-11T14:10:07-08:00", "product_id": 7142608535747, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03664.jpg?v=1668204607", "width": 4896, "height": 3672}, {"id": 39855852618023, "created_at": "2022-11-11T14:10:05-08:00", "position": 6, "updated_at": "2022-11-11T14:10:08-08:00", "product_id": 7142608535747, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03665.jpg?v=1668204608", "width": 4896, "height": 3672}, {"id": 39855852323111, "created_at": "2022-11-11T14:10:05-08:00", "position": 7, "updated_at": "2022-11-11T14:10:07-08:00", "product_id": 7142608535747, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03666.jpg?v=1668204607", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/double-d-ring-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03171_400X.jpg?v=1644293435"}, {"id": 7142608502979, "title": "Double Gatekeeper", "handle": "double-gatekeeper-25mm", "published_at": "2022-02-05T10:05:04-08:00", "created_at": "2022-02-05T10:05:04-08:00", "updated_at": "2023-01-15T08:20:10-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 43953700241703, "title": "Black", "option1": "Black", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 32678430146755, "product_id": 7142608502979, "position": 2, "created_at": "2022-02-07T20:11:05-08:00", "updated_at": "2022-11-11T14:04:18-08:00", "alt": "Double Gate Keeper Buckle | Mozet Supplies | Woojin Plastics", "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02582.jpg?v=1668204258", "variant_ids": [43953700241703]}, "available": true, "price": "1.00", "grams": 5, "compare_at_price": null, "position": 1, "product_id": 7142608502979, "created_at": "2022-11-11T14:05:12-08:00", "updated_at": "2023-01-15T08:17:20-08:00"}, {"id": 43953700274471, "title": "White", "option1": "White", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39855795372327, "product_id": 7142608502979, "position": 9, "created_at": "2022-11-11T14:03:06-08:00", "updated_at": "2022-11-11T14:03:09-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03708.jpg?v=1668204189", "variant_ids": [43953700274471]}, "available": true, "price": "1.00", "grams": 5, "compare_at_price": null, "position": 2, "product_id": 7142608502979, "created_at": "2022-11-11T14:05:12-08:00", "updated_at": "2022-11-28T11:40:25-08:00"}, {"id": 43953700307239, "title": "Coyote Brown", "option1": "Coyote Brown", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39855795208487, "product_id": 7142608502979, "position": 7, "created_at": "2022-11-11T14:03:06-08:00", "updated_at": "2022-11-11T14:03:08-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03634.jpg?v=1668204188", "variant_ids": [43953700307239]}, "available": true, "price": "1.00", "grams": 5, "compare_at_price": null, "position": 3, "product_id": 7142608502979, "created_at": "2022-11-11T14:05:12-08:00", "updated_at": "2022-12-29T19:27:01-08:00"}], "images": [{"id": 39855795306791, "created_at": "2022-11-11T14:03:06-08:00", "position": 1, "updated_at": "2022-11-11T14:04:18-08:00", "product_id": 7142608502979, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03628.jpg?v=1668204258", "width": 4896, "height": 3672}, {"id": 32678430146755, "created_at": "2022-02-07T20:11:05-08:00", "position": 2, "updated_at": "2022-11-11T14:04:18-08:00", "product_id": 7142608502979, "variant_ids": [43953700241703], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02582.jpg?v=1668204258", "width": 4896, "height": 3672}, {"id": 39855795339559, "created_at": "2022-11-11T14:03:06-08:00", "position": 3, "updated_at": "2022-11-11T14:04:18-08:00", "product_id": 7142608502979, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03627.jpg?v=1668204258", "width": 4896, "height": 3672}, {"id": 32678430245059, "created_at": "2022-02-07T20:11:05-08:00", "position": 4, "updated_at": "2022-11-11T14:04:18-08:00", "product_id": 7142608502979, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02583.jpg?v=1668204258", "width": 4896, "height": 3672}, {"id": 32678430212291, "created_at": "2022-02-07T20:11:05-08:00", "position": 5, "updated_at": "2022-11-11T14:04:18-08:00", "product_id": 7142608502979, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02584.jpg?v=1668204258", "width": 4896, "height": 3672}, {"id": 39855795274023, "created_at": "2022-11-11T14:03:06-08:00", "position": 6, "updated_at": "2022-11-11T14:03:08-08:00", "product_id": 7142608502979, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03632.jpg?v=1668204188", "width": 4896, "height": 3672}, {"id": 39855795208487, "created_at": "2022-11-11T14:03:06-08:00", "position": 7, "updated_at": "2022-11-11T14:03:08-08:00", "product_id": 7142608502979, "variant_ids": [43953700307239], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03634.jpg?v=1668204188", "width": 4896, "height": 3672}, {"id": 39855795536167, "created_at": "2022-11-11T14:03:06-08:00", "position": 8, "updated_at": "2022-11-11T14:03:10-08:00", "product_id": 7142608502979, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03706.jpg?v=1668204190", "width": 4896, "height": 3672}, {"id": 39855795372327, "created_at": "2022-11-11T14:03:06-08:00", "position": 9, "updated_at": "2022-11-11T14:03:09-08:00", "product_id": 7142608502979, "variant_ids": [43953700274471], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03708.jpg?v=1668204189", "width": 4896, "height": 3672}], "options": [{"name": "Color", "position": 1, "values": ["Black", "White", "Coyote Brown"]}], "url": "https://mozetsupplies.ca/products/double-gatekeeper-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02582_400X.jpg?v=1668204258"}, {"id": 7142608437443, "title": "Double Gatekeeper", "handle": "double-gatekeeper-38mm", "published_at": "2022-02-05T10:05:04-08:00", "created_at": "2022-02-05T10:05:04-08:00", "updated_at": "2023-01-16T23:05:09-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["38mm", "hardware"], "variants": [{"id": 43953711644967, "title": "Black", "option1": "Black", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 32678454657219, "product_id": 7142608437443, "position": 1, "created_at": "2022-02-07T20:11:50-08:00", "updated_at": "2022-11-11T13:53:32-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03149.jpg?v=1668203612", "variant_ids": [43953711644967]}, "available": true, "price": "1.30", "grams": 8, "compare_at_price": null, "position": 1, "product_id": 7142608437443, "created_at": "2022-11-11T14:07:54-08:00", "updated_at": "2023-01-16T23:03:17-08:00"}, {"id": 43953711677735, "title": "Coyote Brown", "option1": "Coyote Brown", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39855825551655, "product_id": 7142608437443, "position": 3, "created_at": "2022-11-11T14:07:24-08:00", "updated_at": "2022-11-11T14:07:26-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03635_58e9bd96-9cb3-4424-84ee-62556e06569a.jpg?v=1668204446", "variant_ids": [43953711677735]}, "available": true, "price": "1.30", "grams": 8, "compare_at_price": null, "position": 2, "product_id": 7142608437443, "created_at": "2022-11-11T14:07:54-08:00", "updated_at": "2022-11-19T10:51:24-08:00"}], "images": [{"id": 32678454657219, "created_at": "2022-02-07T20:11:50-08:00", "position": 1, "updated_at": "2022-11-11T13:53:32-08:00", "product_id": 7142608437443, "variant_ids": [43953711644967], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03149.jpg?v=1668203612", "width": 4896, "height": 3672}, {"id": 32678454755523, "created_at": "2022-02-07T20:11:50-08:00", "position": 2, "updated_at": "2022-11-11T13:53:32-08:00", "product_id": 7142608437443, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03147.jpg?v=1668203612", "width": 4096, "height": 2935}, {"id": 39855825551655, "created_at": "2022-11-11T14:07:24-08:00", "position": 3, "updated_at": "2022-11-11T14:07:26-08:00", "product_id": 7142608437443, "variant_ids": [43953711677735], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03635_58e9bd96-9cb3-4424-84ee-62556e06569a.jpg?v=1668204446", "width": 4896, "height": 3672}, {"id": 39855825584423, "created_at": "2022-11-11T14:07:24-08:00", "position": 4, "updated_at": "2022-11-11T14:07:26-08:00", "product_id": 7142608437443, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03656_ab8dc31f-b21e-4074-b777-a25bae1039c4.jpg?v=1668204446", "width": 4896, "height": 3672}], "options": [{"name": "Color", "position": 1, "values": ["Black", "Coyote Brown"]}], "url": "https://mozetsupplies.ca/products/double-gatekeeper-38mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["38mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03149_400X.jpg?v=1668203612"}, {"id": 7142608404675, "title": "Emergency Whistle", "handle": "emergency-whistle", "published_at": "2022-02-05T10:05:03-08:00", "created_at": "2022-02-05T10:05:03-08:00", "updated_at": "2023-01-10T18:23:16-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware misc", "tags": ["hardware"], "variants": [{"id": 41478872957123, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": false, "price": "0.50", "grams": 1, "compare_at_price": null, "position": 1, "product_id": 7142608404675, "created_at": "2022-02-05T10:05:03-08:00", "updated_at": "2022-09-29T13:25:53-07:00"}], "images": [{"id": 32678475563203, "created_at": "2022-02-07T20:12:55-08:00", "position": 1, "updated_at": "2022-02-07T20:12:56-08:00", "product_id": 7142608404675, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02656.jpg?v=1644293576", "width": 4896, "height": 3672}, {"id": 32678475923651, "created_at": "2022-02-07T20:12:55-08:00", "position": 2, "updated_at": "2022-02-07T20:12:57-08:00", "product_id": 7142608404675, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02660.jpg?v=1644293577", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/emergency-whistle?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02656_400X.jpg?v=1644293576"}, {"id": 7142608371907, "title": "Hybrid Aluminum G-Hook Cam", "handle": "hybrid-aluminum-g-hook-cam-left-20mm", "published_at": "2022-02-05T10:05:02-08:00", "created_at": "2022-02-05T10:05:02-08:00", "updated_at": "2023-01-10T18:23:16-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook metal", "tags": ["20mm", "hardware"], "variants": [{"id": 41478872924355, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "2.00", "grams": 10, "compare_at_price": null, "position": 1, "product_id": 7142608371907, "created_at": "2022-02-05T10:05:03-08:00", "updated_at": "2022-12-05T17:36:48-08:00"}], "images": [{"id": 32678685409475, "created_at": "2022-02-07T20:21:03-08:00", "position": 1, "updated_at": "2022-02-07T20:21:05-08:00", "product_id": 7142608371907, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201657408.jpg?v=1644294065", "width": 3024, "height": 4032}, {"id": 32678685475011, "created_at": "2022-02-07T20:21:03-08:00", "position": 2, "updated_at": "2022-02-07T20:21:05-08:00", "product_id": 7142608371907, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201712017.jpg?v=1644294065", "width": 3024, "height": 4032}, {"id": 32678685507779, "created_at": "2022-02-07T20:21:03-08:00", "position": 3, "updated_at": "2022-02-07T20:21:06-08:00", "product_id": 7142608371907, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201718912.jpg?v=1644294066", "width": 3024, "height": 4032}, {"id": 32678685442243, "created_at": "2022-02-07T20:21:03-08:00", "position": 4, "updated_at": "2022-02-07T20:21:05-08:00", "product_id": 7142608371907, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201726876.jpg?v=1644294065", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/hybrid-aluminum-g-hook-cam-left-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201657408_400X.jpg?v=1644294065"}, {"id": 7142608339139, "title": "Hybrid Aluminum G-Hook Cam", "handle": "hybrid-aluminum-g-hook-cam-right-20mm", "published_at": "2022-02-05T10:05:02-08:00", "created_at": "2022-02-05T10:05:02-08:00", "updated_at": "2023-01-10T18:23:15-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook metal", "tags": ["20mm", "hardware"], "variants": [{"id": 41478872891587, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "2.00", "grams": 10, "compare_at_price": null, "position": 1, "product_id": 7142608339139, "created_at": "2022-02-05T10:05:02-08:00", "updated_at": "2023-01-05T13:42:57-08:00"}], "images": [{"id": 32678693503171, "created_at": "2022-02-07T20:21:18-08:00", "position": 1, "updated_at": "2022-02-07T20:21:20-08:00", "product_id": 7142608339139, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201747206.jpg?v=1644294080", "width": 3024, "height": 4032}, {"id": 32678693339331, "created_at": "2022-02-07T20:21:18-08:00", "position": 2, "updated_at": "2022-02-07T20:21:20-08:00", "product_id": 7142608339139, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201755101.jpg?v=1644294080", "width": 3024, "height": 4032}, {"id": 32678693175491, "created_at": "2022-02-07T20:21:18-08:00", "position": 3, "updated_at": "2022-02-07T20:21:20-08:00", "product_id": 7142608339139, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201835926.jpg?v=1644294080", "width": 3024, "height": 4032}, {"id": 32678693535939, "created_at": "2022-02-07T20:21:18-08:00", "position": 4, "updated_at": "2022-02-07T20:21:20-08:00", "product_id": 7142608339139, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201842323.jpg?v=1644294080", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/hybrid-aluminum-g-hook-cam-right-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201747206_400X.jpg?v=1644294080"}, {"id": 7142608306371, "title": "Hybrid Aluminum G-Hook", "handle": "hybrid-aluminum-g-hook-left-20mm", "published_at": "2022-02-05T10:05:01-08:00", "created_at": "2022-02-05T10:05:01-08:00", "updated_at": "2023-01-10T18:23:15-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook metal", "tags": ["20mm", "hardware"], "variants": [{"id": 41478872858819, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.35", "grams": 10, "compare_at_price": null, "position": 1, "product_id": 7142608306371, "created_at": "2022-02-05T10:05:01-08:00", "updated_at": "2022-11-18T08:24:20-08:00"}], "images": [{"id": 32678666862787, "created_at": "2022-02-07T20:19:56-08:00", "position": 1, "updated_at": "2022-02-07T20:19:57-08:00", "product_id": 7142608306371, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202543807.jpg?v=1644293997", "width": 3024, "height": 4032}, {"id": 32678666830019, "created_at": "2022-02-07T20:19:56-08:00", "position": 2, "updated_at": "2022-02-07T20:19:57-08:00", "product_id": 7142608306371, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202555778.jpg?v=1644293997", "width": 3024, "height": 4032}, {"id": 32678667944131, "created_at": "2022-02-07T20:20:04-08:00", "position": 3, "updated_at": "2022-02-07T20:20:05-08:00", "product_id": 7142608306371, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202601708.jpg?v=1644294005", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/hybrid-aluminum-g-hook-left-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202543807_400X.jpg?v=1644293997"}, {"id": 7142608273603, "title": "Hybrid Aluminum G-Hook", "handle": "hybrid-aluminum-g-hook-left-25mm", "published_at": "2022-02-05T10:05:00-08:00", "created_at": "2022-02-05T10:05:00-08:00", "updated_at": "2023-01-10T18:23:15-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook metal", "tags": ["25mm", "hardware"], "variants": [{"id": 41478872826051, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.45", "grams": 4, "compare_at_price": null, "position": 1, "product_id": 7142608273603, "created_at": "2022-02-05T10:05:01-08:00", "updated_at": "2022-12-05T17:36:47-08:00"}], "images": [{"id": 32678672498883, "created_at": "2022-02-07T20:20:20-08:00", "position": 1, "updated_at": "2022-02-07T20:20:22-08:00", "product_id": 7142608273603, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202300202.jpg?v=1644294022", "width": 3024, "height": 4032}, {"id": 32678672564419, "created_at": "2022-02-07T20:20:20-08:00", "position": 2, "updated_at": "2022-02-07T20:20:22-08:00", "product_id": 7142608273603, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202323714.MP.jpg?v=1644294022", "width": 3024, "height": 4032}, {"id": 32678672466115, "created_at": "2022-02-07T20:20:20-08:00", "position": 3, "updated_at": "2022-02-07T20:20:21-08:00", "product_id": 7142608273603, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202355176.jpg?v=1644294021", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/hybrid-aluminum-g-hook-left-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202300202_400X.jpg?v=1644294022"}, {"id": 7142608240835, "title": "Hybrid Aluminum G-Hook", "handle": "hybrid-aluminum-g-hook-right-20mm", "published_at": "2022-02-05T10:05:00-08:00", "created_at": "2022-02-05T10:05:00-08:00", "updated_at": "2023-01-10T18:23:15-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook metal", "tags": ["20mm", "hardware"], "variants": [{"id": 41478872793283, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.35", "grams": 6, "compare_at_price": null, "position": 1, "product_id": 7142608240835, "created_at": "2022-02-05T10:05:00-08:00", "updated_at": "2022-11-24T05:43:30-08:00"}], "images": [{"id": 32678676103363, "created_at": "2022-02-07T20:20:35-08:00", "position": 1, "updated_at": "2022-02-07T20:20:36-08:00", "product_id": 7142608240835, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202518354.jpg?v=1644294036", "width": 3024, "height": 4032}, {"id": 32678676037827, "created_at": "2022-02-07T20:20:35-08:00", "position": 2, "updated_at": "2022-02-07T20:20:36-08:00", "product_id": 7142608240835, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202555778_d36dde96-ab13-4e01-b9e2-a2b51fb8f957.jpg?v=1644294036", "width": 3024, "height": 4032}, {"id": 32678676201667, "created_at": "2022-02-07T20:20:35-08:00", "position": 3, "updated_at": "2022-02-07T20:20:36-08:00", "product_id": 7142608240835, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202601708_710e2402-84e8-4b7e-a58f-517ac40ec2f0.jpg?v=1644294036", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/hybrid-aluminum-g-hook-right-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202518354_400X.jpg?v=1644294036"}, {"id": 7142608208067, "title": "Hybrid Aluminum G-Hook", "handle": "hybrid-aluminum-g-hook-right-25mm", "published_at": "2022-02-05T10:04:59-08:00", "created_at": "2022-02-05T10:04:59-08:00", "updated_at": "2023-01-13T13:35:23-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook metal", "tags": ["25mm", "hardware"], "variants": [{"id": 41478872760515, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.45", "grams": 4, "compare_at_price": null, "position": 1, "product_id": 7142608208067, "created_at": "2022-02-05T10:04:59-08:00", "updated_at": "2023-01-13T13:34:06-08:00"}], "images": [{"id": 32678679216323, "created_at": "2022-02-07T20:20:49-08:00", "position": 1, "updated_at": "2022-02-07T20:20:50-08:00", "product_id": 7142608208067, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202331446.jpg?v=1644294050", "width": 3024, "height": 4032}, {"id": 32678679281859, "created_at": "2022-02-07T20:20:49-08:00", "position": 2, "updated_at": "2022-02-07T20:20:50-08:00", "product_id": 7142608208067, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202355176_dfee23d0-d440-411a-b824-91fa8a4b595f.jpg?v=1644294050", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/hybrid-aluminum-g-hook-right-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202331446_400X.jpg?v=1644294050"}, {"id": 7142608175299, "title": "Line Lock Lite", "handle": "line-lock-lite-10mm", "published_at": "2022-02-05T10:04:59-08:00", "created_at": "2022-02-05T10:04:59-08:00", "updated_at": "2023-01-10T18:23:15-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware cord", "tags": ["10mm", "hardware"], "variants": [{"id": 43664297263399, "title": "Black", "option1": "Black", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 32678731153603, "product_id": 7142608175299, "position": 5, "created_at": "2022-02-07T20:22:35-08:00", "updated_at": "2022-10-22T15:13:18-07:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02597.jpg?v=1666476798", "variant_ids": [43664297263399]}, "available": true, "price": "0.35", "grams": 2, "compare_at_price": null, "position": 1, "product_id": 7142608175299, "created_at": "2022-10-22T15:15:17-07:00", "updated_at": "2022-12-04T10:44:55-08:00"}, {"id": 43664297296167, "title": "Coyote Brown", "option1": "Coyote Brown", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39757023674663, "product_id": 7142608175299, "position": 9, "created_at": "2022-10-22T15:12:37-07:00", "updated_at": "2022-10-22T15:13:18-07:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03547.jpg?v=1666476798", "variant_ids": [43664297296167]}, "available": true, "price": "0.45", "grams": 2, "compare_at_price": null, "position": 2, "product_id": 7142608175299, "created_at": "2022-10-22T15:15:17-07:00", "updated_at": "2022-10-30T20:41:36-07:00"}, {"id": 43664297328935, "title": "Tan Brown", "option1": "Tan Brown", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39757023707431, "product_id": 7142608175299, "position": 8, "created_at": "2022-10-22T15:12:37-07:00", "updated_at": "2022-10-22T15:13:18-07:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03546.jpg?v=1666476798", "variant_ids": [43664297328935]}, "available": true, "price": "0.45", "grams": 2, "compare_at_price": null, "position": 3, "product_id": 7142608175299, "created_at": "2022-10-22T15:15:17-07:00", "updated_at": "2022-10-22T15:15:18-07:00"}, {"id": 43664297361703, "title": "Signal Orange", "option1": "Signal Orange", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39757023510823, "product_id": 7142608175299, "position": 11, "created_at": "2022-10-22T15:12:37-07:00", "updated_at": "2022-10-22T15:13:18-07:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03557.jpg?v=1666476798", "variant_ids": [43664297361703]}, "available": true, "price": "0.45", "grams": 2, "compare_at_price": null, "position": 4, "product_id": 7142608175299, "created_at": "2022-10-22T15:15:17-07:00", "updated_at": "2022-10-22T15:15:18-07:00"}], "images": [{"id": 39757023609127, "created_at": "2022-10-22T15:12:37-07:00", "position": 1, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03543.jpg?v=1666476798", "width": 4896, "height": 3672}, {"id": 39757023740199, "created_at": "2022-10-22T15:12:37-07:00", "position": 2, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03549.jpg?v=1666476798", "width": 4896, "height": 3672}, {"id": 39757023772967, "created_at": "2022-10-22T15:12:37-07:00", "position": 3, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03555.jpg?v=1666476798", "width": 4896, "height": 3672}, {"id": 39757023543591, "created_at": "2022-10-22T15:12:37-07:00", "position": 4, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03553.jpg?v=1666476798", "width": 4896, "height": 3672}, {"id": 32678731153603, "created_at": "2022-02-07T20:22:35-08:00", "position": 5, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [43664297263399], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02597.jpg?v=1666476798", "width": 4896, "height": 3672}, {"id": 32678731251907, "created_at": "2022-02-07T20:22:35-08:00", "position": 6, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02602.jpg?v=1666476798", "width": 4896, "height": 3672}, {"id": 39757023641895, "created_at": "2022-10-22T15:12:37-07:00", "position": 7, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03544.jpg?v=1666476798", "width": 4896, "height": 3672}, {"id": 39757023707431, "created_at": "2022-10-22T15:12:37-07:00", "position": 8, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [43664297328935], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03546.jpg?v=1666476798", "width": 4896, "height": 3672}, {"id": 39757023674663, "created_at": "2022-10-22T15:12:37-07:00", "position": 9, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [43664297296167], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03547.jpg?v=1666476798", "width": 4896, "height": 3672}, {"id": 39757023478055, "created_at": "2022-10-22T15:12:37-07:00", "position": 10, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03552.jpg?v=1666476798", "width": 4896, "height": 3672}, {"id": 39757023510823, "created_at": "2022-10-22T15:12:37-07:00", "position": 11, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [43664297361703], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03557.jpg?v=1666476798", "width": 4896, "height": 3672}, {"id": 39757023576359, "created_at": "2022-10-22T15:12:37-07:00", "position": 12, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03558.jpg?v=1666476798", "width": 4896, "height": 3672}, {"id": 32678731186371, "created_at": "2022-02-07T20:22:35-08:00", "position": 13, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02598.jpg?v=1666476798", "width": 4896, "height": 3672}, {"id": 32678731219139, "created_at": "2022-02-07T20:22:35-08:00", "position": 14, "updated_at": "2022-10-22T15:13:18-07:00", "product_id": 7142608175299, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02600.jpg?v=1666476798", "width": 4896, "height": 3672}], "options": [{"name": "Color", "position": 1, "values": ["Black", "Coyote Brown", "Tan Brown", "Signal Orange"]}], "url": "https://mozetsupplies.ca/products/line-lock-lite-10mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["10mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02597_400X.jpg?v=1666476798"}, {"id": 7142608142531, "title": "Line Lock Side Release Buckle", "handle": "line-lock-side-release-buckle-15mm", "published_at": "2022-02-05T10:04:58-08:00", "created_at": "2022-02-05T10:04:58-08:00", "updated_at": "2023-01-24T09:07:46-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware cord", "tags": ["hardware"], "variants": [{"id": 41478872694979, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.00", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7142608142531, "created_at": "2022-02-05T10:04:58-08:00", "updated_at": "2023-01-24T09:07:46-08:00"}], "images": [{"id": 32678713819331, "created_at": "2022-02-07T20:21:52-08:00", "position": 1, "updated_at": "2022-02-07T20:21:54-08:00", "product_id": 7142608142531, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02612.jpg?v=1644294114", "width": 4896, "height": 3672}, {"id": 32678745014467, "created_at": "2022-02-07T20:23:06-08:00", "position": 2, "updated_at": "2022-02-07T20:23:08-08:00", "product_id": 7142608142531, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02607_cc3ccc21-eeec-4ff1-8f1c-7ae2686f1d8c.jpg?v=1644294188", "width": 4896, "height": 3672}, {"id": 32678744981699, "created_at": "2022-02-07T20:23:06-08:00", "position": 3, "updated_at": "2022-02-07T20:23:08-08:00", "product_id": 7142608142531, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02610_1579202d-75c2-4f91-8342-f7693034a8aa.jpg?v=1644294188", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/line-lock-side-release-buckle-15mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["15mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02612_400X.jpg?v=1644294114"}, {"id": 7142608109763, "title": "Line Lock Side Release Buckle", "handle": "line-lock-side-release-buckle-2-holes-2-3mm-guyline-buckle", "published_at": "2022-02-05T10:04:57-08:00", "created_at": "2022-02-05T10:04:57-08:00", "updated_at": "2023-01-10T18:23:15-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware cord", "tags": ["hardware"], "variants": [{"id": 41478872662211, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.00", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7142608109763, "created_at": "2022-02-05T10:04:58-08:00", "updated_at": "2022-12-31T05:12:26-08:00"}], "images": [{"id": 32678739837123, "created_at": "2022-02-07T20:22:56-08:00", "position": 1, "updated_at": "2022-02-07T20:23:08-08:00", "product_id": 7142608109763, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02611.jpg?v=1644294188", "width": 4896, "height": 3672}, {"id": 32678739706051, "created_at": "2022-02-07T20:22:56-08:00", "position": 2, "updated_at": "2022-02-07T20:23:08-08:00", "product_id": 7142608109763, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02607.jpg?v=1644294188", "width": 4896, "height": 3672}, {"id": 32678739673283, "created_at": "2022-02-07T20:22:56-08:00", "position": 3, "updated_at": "2022-02-07T20:23:08-08:00", "product_id": 7142608109763, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02610.jpg?v=1644294188", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/line-lock-side-release-buckle-2-holes-2-3mm-guyline-buckle?ref=myog", "vendorImg": "mozet.png", "sizes": [["3mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02611_400X.jpg?v=1644294188"}, {"id": 7142608044227, "title": "Molle/ Pals 4-Way Buckle", "handle": "molle-pals-4-way-buckle-25mm", "published_at": "2022-02-05T10:04:56-08:00", "created_at": "2022-02-05T10:04:56-08:00", "updated_at": "2023-01-10T18:23:14-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["25mm", "hardware"], "variants": [{"id": 41478872531139, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.75", "grams": 12, "compare_at_price": null, "position": 1, "product_id": 7142608044227, "created_at": "2022-02-05T10:04:56-08:00", "updated_at": "2022-11-24T19:15:51-08:00"}], "images": [{"id": 32678758547651, "created_at": "2022-02-07T20:23:32-08:00", "position": 1, "updated_at": "2022-02-07T20:23:35-08:00", "product_id": 7142608044227, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03143.jpg?v=1644294215", "width": 2930, "height": 2066}, {"id": 32678758416579, "created_at": "2022-02-07T20:23:32-08:00", "position": 2, "updated_at": "2022-02-07T20:23:35-08:00", "product_id": 7142608044227, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03140.jpg?v=1644294215", "width": 3189, "height": 2641}, {"id": 32678758449347, "created_at": "2022-02-07T20:23:32-08:00", "position": 3, "updated_at": "2022-02-07T20:23:35-08:00", "product_id": 7142608044227, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03142.jpg?v=1644294215", "width": 2932, "height": 2243}, {"id": 32678758482115, "created_at": "2022-02-07T20:23:32-08:00", "position": 4, "updated_at": "2022-02-07T20:23:33-08:00", "product_id": 7142608044227, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03144.jpg?v=1644294213", "width": 3448, "height": 2761}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/molle-pals-4-way-buckle-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03143_400X.jpg?v=1644294215"}, {"id": 7142608011459, "title": "Open Tq", "handle": "open-tq-20mm-20mm", "published_at": "2022-02-05T10:04:55-08:00", "created_at": "2022-02-05T10:04:55-08:00", "updated_at": "2023-01-10T18:23:14-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware sternum", "tags": ["20mm", "hardware"], "variants": [{"id": 41478872498371, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.60", "grams": 2, "compare_at_price": null, "position": 1, "product_id": 7142608011459, "created_at": "2022-02-05T10:04:55-08:00", "updated_at": "2022-12-16T12:30:36-08:00"}], "images": [{"id": 32678771916995, "created_at": "2022-02-07T20:24:25-08:00", "position": 1, "updated_at": "2022-02-07T20:24:27-08:00", "product_id": 7142608011459, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202625749.jpg?v=1644294267", "width": 3024, "height": 4032}, {"id": 32678772048067, "created_at": "2022-02-07T20:24:25-08:00", "position": 2, "updated_at": "2022-02-07T20:24:27-08:00", "product_id": 7142608011459, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202650962.jpg?v=1644294267", "width": 3024, "height": 4032}, {"id": 32678771982531, "created_at": "2022-02-07T20:24:25-08:00", "position": 3, "updated_at": "2022-02-07T20:24:27-08:00", "product_id": 7142608011459, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202725755.jpg?v=1644294267", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/open-tq-20mm-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202625749_400X.jpg?v=1644294267"}, {"id": 7142607978691, "title": "Open Tq", "handle": "open-tq-25mm-20mm", "published_at": "2022-02-05T10:04:55-08:00", "created_at": "2022-02-05T10:04:55-08:00", "updated_at": "2023-01-13T06:10:19-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware sternum", "tags": ["20mm", "25mm", "hardware"], "variants": [{"id": 41478872465603, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.65", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7142607978691, "created_at": "2022-02-05T10:04:55-08:00", "updated_at": "2023-01-13T06:05:41-08:00"}], "images": [{"id": 32678849151171, "created_at": "2022-02-07T20:27:14-08:00", "position": 1, "updated_at": "2022-02-07T20:27:15-08:00", "product_id": 7142607978691, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202703276.jpg?v=1644294435", "width": 3024, "height": 4032}, {"id": 32678848954563, "created_at": "2022-02-07T20:27:14-08:00", "position": 2, "updated_at": "2022-02-07T20:27:15-08:00", "product_id": 7142607978691, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202725755_286b99ba-7ac9-42f6-8964-32279d49fa01.jpg?v=1644294435", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/open-tq-25mm-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202703276_400X.jpg?v=1644294435"}, {"id": 7142607814851, "title": "Siamese Slik Clip", "handle": "siamese-slik-clip-25mm", "published_at": "2022-02-05T10:04:52-08:00", "created_at": "2022-02-05T10:04:52-08:00", "updated_at": "2023-01-17T13:37:39-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 41478872301763, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.75", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7142607814851, "created_at": "2022-02-05T10:04:52-08:00", "updated_at": "2023-01-17T13:37:39-08:00"}], "images": [{"id": 32678845219011, "created_at": "2022-02-07T20:27:01-08:00", "position": 1, "updated_at": "2022-02-07T20:27:03-08:00", "product_id": 7142607814851, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202424343.jpg?v=1644294423", "width": 3024, "height": 4032}, {"id": 32678844694723, "created_at": "2022-02-07T20:27:01-08:00", "position": 2, "updated_at": "2022-02-07T20:27:02-08:00", "product_id": 7142607814851, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202446724.jpg?v=1644294422", "width": 3024, "height": 4032}, {"id": 32678844661955, "created_at": "2022-02-07T20:27:01-08:00", "position": 3, "updated_at": "2022-02-07T20:27:02-08:00", "product_id": 7142607814851, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202455584.jpg?v=1644294422", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/siamese-slik-clip-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202424343_400X.jpg?v=1644294423"}, {"id": 7142607782083, "title": "Single Adjust Buckle", "handle": "single-adjust-buckle-10mm", "published_at": "2022-02-05T10:04:51-08:00", "created_at": "2022-02-05T10:04:51-08:00", "updated_at": "2023-01-10T18:23:14-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["10mm", "hardware"], "variants": [{"id": 41478872268995, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": false, "price": "0.70", "grams": 2, "compare_at_price": null, "position": 1, "product_id": 7142607782083, "created_at": "2022-02-05T10:04:51-08:00", "updated_at": "2022-09-29T13:25:53-07:00"}], "images": [{"id": 32678859702467, "created_at": "2022-02-07T20:27:43-08:00", "position": 1, "updated_at": "2022-02-07T20:27:45-08:00", "product_id": 7142607782083, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02603.jpg?v=1644294465", "width": 4896, "height": 3672}, {"id": 32678859735235, "created_at": "2022-02-07T20:27:43-08:00", "position": 2, "updated_at": "2022-02-07T20:27:45-08:00", "product_id": 7142607782083, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02604.jpg?v=1644294465", "width": 4896, "height": 3672}, {"id": 32678859669699, "created_at": "2022-02-07T20:27:43-08:00", "position": 3, "updated_at": "2022-02-07T20:27:45-08:00", "product_id": 7142607782083, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02605.jpg?v=1644294465", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/single-adjust-buckle-10mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["10mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02603_400X.jpg?v=1644294465"}, {"id": 7142607749315, "title": "Single Adjust Buckle", "handle": "single-adjust-buckle-25mm", "published_at": "2022-02-05T10:04:51-08:00", "created_at": "2022-02-05T10:04:51-08:00", "updated_at": "2023-01-10T18:23:14-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["25mm", "hardware"], "variants": [{"id": 41478872236227, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.90", "grams": 8, "compare_at_price": null, "position": 1, "product_id": 7142607749315, "created_at": "2022-02-05T10:04:51-08:00", "updated_at": "2022-11-24T09:32:31-08:00"}], "images": [{"id": 32678866452675, "created_at": "2022-02-07T20:27:59-08:00", "position": 1, "updated_at": "2022-02-07T20:28:00-08:00", "product_id": 7142607749315, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02588.jpg?v=1644294480", "width": 3321, "height": 2258}, {"id": 32678866518211, "created_at": "2022-02-07T20:27:59-08:00", "position": 2, "updated_at": "2022-02-07T20:28:00-08:00", "product_id": 7142607749315, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02589.jpg?v=1644294480", "width": 4564, "height": 2503}, {"id": 32678866550979, "created_at": "2022-02-07T20:27:59-08:00", "position": 3, "updated_at": "2022-02-07T20:28:00-08:00", "product_id": 7142607749315, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02590.jpg?v=1644294480", "width": 4805, "height": 2823}, {"id": 32678866682051, "created_at": "2022-02-07T20:27:59-08:00", "position": 4, "updated_at": "2022-02-07T20:28:00-08:00", "product_id": 7142607749315, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02591.jpg?v=1644294480", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/single-adjust-buckle-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02588_400X.jpg?v=1644294480"}, {"id": 7142607716547, "title": "Single Gatekeeper", "handle": "single-gatekeeper-25mm", "published_at": "2022-04-10T11:54:48-07:00", "created_at": "2022-02-05T10:04:50-08:00", "updated_at": "2023-01-10T18:23:13-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 43959952343335, "title": "Black", "option1": "Black", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 32679004373187, "product_id": 7142607716547, "position": 1, "created_at": "2022-02-07T20:33:51-08:00", "updated_at": "2022-02-07T20:33:53-08:00", "alt": null, "width": 3024, "height": 4032, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202807637.jpg?v=1644294833", "variant_ids": [43959952343335]}, "available": true, "price": "0.95", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7142607716547, "created_at": "2022-11-13T23:08:58-08:00", "updated_at": "2023-01-10T09:34:47-08:00"}, {"id": 43959952376103, "title": "Coyote Brown", "option1": "Coyote Brown", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39865488179495, "product_id": 7142607716547, "position": 3, "created_at": "2022-11-13T23:08:07-08:00", "updated_at": "2022-11-13T23:08:09-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03637.jpg?v=1668409689", "variant_ids": [43959952376103]}, "available": true, "price": "1.05", "grams": 3, "compare_at_price": null, "position": 2, "product_id": 7142607716547, "created_at": "2022-11-13T23:08:58-08:00", "updated_at": "2022-11-13T23:08:58-08:00"}], "images": [{"id": 32679004373187, "created_at": "2022-02-07T20:33:51-08:00", "position": 1, "updated_at": "2022-02-07T20:33:53-08:00", "product_id": 7142607716547, "variant_ids": [43959952343335], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202807637.jpg?v=1644294833", "width": 3024, "height": 4032}, {"id": 32679004340419, "created_at": "2022-02-07T20:33:51-08:00", "position": 2, "updated_at": "2022-02-07T20:33:52-08:00", "product_id": 7142607716547, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202821170.jpg?v=1644294832", "width": 3024, "height": 4032}, {"id": 39865488179495, "created_at": "2022-11-13T23:08:07-08:00", "position": 3, "updated_at": "2022-11-13T23:08:09-08:00", "product_id": 7142607716547, "variant_ids": [43959952376103], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03637.jpg?v=1668409689", "width": 4896, "height": 3672}, {"id": 39865488212263, "created_at": "2022-11-13T23:08:07-08:00", "position": 4, "updated_at": "2022-11-13T23:08:09-08:00", "product_id": 7142607716547, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03639.jpg?v=1668409689", "width": 4896, "height": 3672}], "options": [{"name": "Color", "position": 1, "values": ["Black", "Coyote Brown"]}], "url": "https://mozetsupplies.ca/products/single-gatekeeper-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202807637_400X.jpg?v=1644294833"}, {"id": 7142607683779, "title": "Standard Weblock", "handle": "standard-weblock-25mm", "published_at": "2022-02-05T10:04:49-08:00", "created_at": "2022-02-05T10:04:49-08:00", "updated_at": "2023-01-24T09:07:45-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware misc", "tags": ["25mm", "hardware"], "variants": [{"id": 44043960844583, "title": "20mm", "option1": "20mm", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946650255655, "product_id": 7142607683779, "position": 3, "created_at": "2022-11-25T10:41:21-08:00", "updated_at": "2022-11-25T10:41:41-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03670.jpg?v=1669401701", "variant_ids": [44043960844583]}, "available": true, "price": "0.40", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7142607683779, "created_at": "2022-11-25T10:40:40-08:00", "updated_at": "2022-11-25T10:43:09-08:00"}, {"id": 44043960877351, "title": "25mm", "option1": "25mm", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946649076007, "product_id": 7142607683779, "position": 4, "created_at": "2022-11-25T10:41:05-08:00", "updated_at": "2022-11-25T10:41:41-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03672.jpg?v=1669401701", "variant_ids": [44043960877351]}, "available": true, "price": "0.43", "grams": 3, "compare_at_price": null, "position": 2, "product_id": 7142607683779, "created_at": "2022-11-25T10:40:40-08:00", "updated_at": "2023-01-15T08:17:20-08:00"}, {"id": 44043960910119, "title": "38mm", "option1": "38mm", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": {"id": 39946650419495, "product_id": 7142607683779, "position": 5, "created_at": "2022-11-25T10:41:21-08:00", "updated_at": "2022-11-25T10:41:41-08:00", "alt": null, "width": 4896, "height": 3672, "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03671.jpg?v=1669401701", "variant_ids": [44043960910119]}, "available": true, "price": "0.50", "grams": 3, "compare_at_price": null, "position": 3, "product_id": 7142607683779, "created_at": "2022-11-25T10:40:40-08:00", "updated_at": "2023-01-24T09:07:45-08:00"}], "images": [{"id": 39946649108775, "created_at": "2022-11-25T10:41:05-08:00", "position": 1, "updated_at": "2022-11-25T10:41:41-08:00", "product_id": 7142607683779, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03667.jpg?v=1669401701", "width": 4896, "height": 3672}, {"id": 39946650386727, "created_at": "2022-11-25T10:41:21-08:00", "position": 2, "updated_at": "2022-11-25T10:41:41-08:00", "product_id": 7142607683779, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03668.jpg?v=1669401701", "width": 4896, "height": 3672}, {"id": 39946650255655, "created_at": "2022-11-25T10:41:21-08:00", "position": 3, "updated_at": "2022-11-25T10:41:41-08:00", "product_id": 7142607683779, "variant_ids": [44043960844583], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03670.jpg?v=1669401701", "width": 4896, "height": 3672}, {"id": 39946649076007, "created_at": "2022-11-25T10:41:05-08:00", "position": 4, "updated_at": "2022-11-25T10:41:41-08:00", "product_id": 7142607683779, "variant_ids": [44043960877351], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03672.jpg?v=1669401701", "width": 4896, "height": 3672}, {"id": 39946650419495, "created_at": "2022-11-25T10:41:21-08:00", "position": 5, "updated_at": "2022-11-25T10:41:41-08:00", "product_id": 7142607683779, "variant_ids": [44043960910119], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03671.jpg?v=1669401701", "width": 4896, "height": 3672}, {"id": 32678881853635, "created_at": "2022-02-07T20:28:38-08:00", "position": 6, "updated_at": "2022-11-25T10:41:41-08:00", "product_id": 7142607683779, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202751095.jpg?v=1669401701", "width": 3024, "height": 4032}, {"id": 32678881493187, "created_at": "2022-02-07T20:28:38-08:00", "position": 7, "updated_at": "2022-11-25T10:41:41-08:00", "product_id": 7142607683779, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202739391.jpg?v=1669401701", "width": 3024, "height": 4032}], "options": [{"name": "Size", "position": 1, "values": ["20mm", "25mm", "38mm"]}], "url": "https://mozetsupplies.ca/products/standard-weblock-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": ["20mm", "25mm", "38mm"], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03670_400X.jpg?v=1669401701"}, {"id": 7142607651011, "title": "Sternum Buckle (Set)", "handle": "sternum-buckle-set", "published_at": "2022-02-05T10:04:48-08:00", "created_at": "2022-02-05T10:04:48-08:00", "updated_at": "2023-01-13T14:30:41-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware sternum", "tags": ["hardware"], "variants": [{"id": 41478872137923, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.25", "grams": 4, "compare_at_price": null, "position": 1, "product_id": 7142607651011, "created_at": "2022-02-05T10:04:49-08:00", "updated_at": "2023-01-13T14:30:41-08:00"}], "images": [{"id": 32678887719107, "created_at": "2022-02-07T20:28:46-08:00", "position": 1, "updated_at": "2022-02-07T20:28:47-08:00", "product_id": 7142607651011, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_203401922.jpg?v=1644294527", "width": 3024, "height": 4032}, {"id": 32678887915715, "created_at": "2022-02-07T20:28:46-08:00", "position": 2, "updated_at": "2022-02-07T20:28:47-08:00", "product_id": 7142607651011, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_203431606.jpg?v=1644294527", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/sternum-buckle-set?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_203401922_400X.jpg?v=1644294527"}, {"id": 7142607618243, "title": "Swivel Gatekeeper Snaphook", "handle": "swivel-gatekeeper-snaphook-25-38", "published_at": "2022-02-05T10:04:48-08:00", "created_at": "2022-02-05T10:04:48-08:00", "updated_at": "2023-01-10T18:23:13-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["hardware"], "variants": [{"id": 41478872105155, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.20", "grams": 8, "compare_at_price": null, "position": 1, "product_id": 7142607618243, "created_at": "2022-02-05T10:04:48-08:00", "updated_at": "2022-11-13T23:11:04-08:00"}], "images": [{"id": 32678905151683, "created_at": "2022-02-07T20:29:13-08:00", "position": 1, "updated_at": "2022-02-07T20:29:14-08:00", "product_id": 7142607618243, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202915517.jpg?v=1644294554", "width": 3024, "height": 4032}, {"id": 32678905118915, "created_at": "2022-02-07T20:29:13-08:00", "position": 2, "updated_at": "2022-02-07T20:29:14-08:00", "product_id": 7142607618243, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202925453.jpg?v=1644294554", "width": 3024, "height": 4032}, {"id": 32678905217219, "created_at": "2022-02-07T20:29:13-08:00", "position": 3, "updated_at": "2022-02-07T20:29:15-08:00", "product_id": 7142607618243, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202937319.jpg?v=1644294555", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/swivel-gatekeeper-snaphook-25-38?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202915517_400X.jpg?v=1644294554"}, {"id": 7142607585475, "title": "Swivel Gatekeeper Snaphook 25/50", "handle": "swivel-gatekeeper-snaphook-25-50", "published_at": "2022-02-05T10:04:47-08:00", "created_at": "2022-02-05T10:04:47-08:00", "updated_at": "2023-01-10T18:23:13-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["hardware"], "variants": [{"id": 41478872072387, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.25", "grams": 10, "compare_at_price": null, "position": 1, "product_id": 7142607585475, "created_at": "2022-02-05T10:04:47-08:00", "updated_at": "2022-11-13T23:11:03-08:00"}], "images": [{"id": 32678912491715, "created_at": "2022-02-07T20:29:22-08:00", "position": 1, "updated_at": "2022-02-07T20:29:24-08:00", "product_id": 7142607585475, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202837390.jpg?v=1644294564", "width": 3024, "height": 4032}, {"id": 32678912360643, "created_at": "2022-02-07T20:29:22-08:00", "position": 2, "updated_at": "2022-02-07T20:29:24-08:00", "product_id": 7142607585475, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202858529.jpg?v=1644294564", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/swivel-gatekeeper-snaphook-25-50?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202837390_400X.jpg?v=1644294564"}, {"id": 7142607552707, "title": "Swivel Gatekeeper Snaphook", "handle": "swivel-gatekeeper-snaphook-25-25", "published_at": "2022-02-05T10:04:46-08:00", "created_at": "2022-02-05T10:04:46-08:00", "updated_at": "2023-01-10T18:23:13-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 41478871908547, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.15", "grams": 6, "compare_at_price": null, "position": 1, "product_id": 7142607552707, "created_at": "2022-02-05T10:04:47-08:00", "updated_at": "2022-11-25T17:16:55-08:00"}], "images": [{"id": 32678894141635, "created_at": "2022-02-07T20:28:55-08:00", "position": 1, "updated_at": "2022-02-07T20:28:57-08:00", "product_id": 7142607552707, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03173.jpg?v=1644294537", "width": 4896, "height": 3672}, {"id": 32678892863683, "created_at": "2022-02-07T20:28:55-08:00", "position": 2, "updated_at": "2022-02-07T20:28:57-08:00", "product_id": 7142607552707, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03174.jpg?v=1644294537", "width": 4835, "height": 3542}, {"id": 32678892470467, "created_at": "2022-02-07T20:28:55-08:00", "position": 3, "updated_at": "2022-02-07T20:28:56-08:00", "product_id": 7142607552707, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03175.jpg?v=1644294536", "width": 4540, "height": 3253}, {"id": 32678893387971, "created_at": "2022-02-07T20:28:55-08:00", "position": 4, "updated_at": "2022-02-07T20:28:57-08:00", "product_id": 7142607552707, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03176.jpg?v=1644294537", "width": 4860, "height": 3342}, {"id": 32678892634307, "created_at": "2022-02-07T20:28:55-08:00", "position": 5, "updated_at": "2022-02-07T20:28:57-08:00", "product_id": 7142607552707, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03177.jpg?v=1644294537", "width": 4415, "height": 3452}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/swivel-gatekeeper-snaphook-25-25?ref=myog", "vendorImg": "mozet.png", "sizes": [[]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03173_400X.jpg?v=1644294537"}, {"id": 7142607519939, "title": "Ultralight Line Lock Side Release Buckle", "handle": "ultralight-line-lock-side-release-buckle-10mm", "published_at": "2022-02-05T10:04:46-08:00", "created_at": "2022-02-05T10:04:46-08:00", "updated_at": "2023-01-10T18:23:13-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware cord", "tags": ["10mm", "hardware"], "variants": [{"id": 41478871875779, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.95", "grams": 2, "compare_at_price": null, "position": 1, "product_id": 7142607519939, "created_at": "2022-02-05T10:04:46-08:00", "updated_at": "2022-11-27T20:35:25-08:00"}], "images": [{"id": 32678916063427, "created_at": "2022-02-07T20:29:29-08:00", "position": 1, "updated_at": "2022-02-07T20:29:31-08:00", "product_id": 7142607519939, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02572.jpg?v=1644294571", "width": 4896, "height": 3672}, {"id": 32678915932355, "created_at": "2022-02-07T20:29:29-08:00", "position": 2, "updated_at": "2022-02-07T20:29:31-08:00", "product_id": 7142607519939, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02574.jpg?v=1644294571", "width": 4896, "height": 3672}, {"id": 32678915735747, "created_at": "2022-02-07T20:29:29-08:00", "position": 3, "updated_at": "2022-02-07T20:29:31-08:00", "product_id": 7142607519939, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02580.jpg?v=1644294571", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/ultralight-line-lock-side-release-buckle-10mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["10mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC02572_400X.jpg?v=1644294571"}, {"id": 7142607487171, "title": "Webbing Jam Cam", "handle": "webbing-jam-cam-25mm", "published_at": "2022-02-05T10:04:45-08:00", "created_at": "2022-02-05T10:04:45-08:00", "updated_at": "2023-01-15T08:20:10-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware misc", "tags": ["25mm", "hardware"], "variants": [{"id": 41478871843011, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.80", "grams": 10, "compare_at_price": null, "position": 1, "product_id": 7142607487171, "created_at": "2022-02-05T10:04:45-08:00", "updated_at": "2023-01-15T08:17:20-08:00"}], "images": [{"id": 32678923796675, "created_at": "2022-02-07T20:29:47-08:00", "position": 1, "updated_at": "2022-02-07T20:29:48-08:00", "product_id": 7142607487171, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202128781.jpg?v=1644294588", "width": 3024, "height": 4032}, {"id": 32678923829443, "created_at": "2022-02-07T20:29:47-08:00", "position": 2, "updated_at": "2022-02-07T20:29:49-08:00", "product_id": 7142607487171, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202135197.jpg?v=1644294589", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/webbing-jam-cam-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202128781_400X.jpg?v=1644294588"}, {"id": 7142607454403, "title": "Webbing Keeper", "handle": "webbing-keeper-25mm", "published_at": "2022-02-05T10:04:45-08:00", "created_at": "2022-02-05T10:04:45-08:00", "updated_at": "2023-01-10T18:23:12-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 41478871810243, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.45", "grams": 2, "compare_at_price": null, "position": 1, "product_id": 7142607454403, "created_at": "2022-02-05T10:04:45-08:00", "updated_at": "2022-11-28T11:40:26-08:00"}], "images": [{"id": 32678928318659, "created_at": "2022-02-07T20:30:02-08:00", "position": 1, "updated_at": "2022-02-07T20:30:04-08:00", "product_id": 7142607454403, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_203228219.jpg?v=1644294604", "width": 3024, "height": 4032}, {"id": 32678928580803, "created_at": "2022-02-07T20:30:02-08:00", "position": 2, "updated_at": "2022-02-07T20:30:04-08:00", "product_id": 7142607454403, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_203332468.jpg?v=1644294604", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/webbing-keeper-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_203228219_400X.jpg?v=1644294604"}, {"id": 7142605619395, "title": "Plastic G-Hook", "handle": "plastic-g-hook-left-15mm", "published_at": "2022-04-10T11:54:46-07:00", "created_at": "2022-02-05T10:04:13-08:00", "updated_at": "2023-01-10T18:23:11-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["20mm", "hardware"], "variants": [{"id": 41478867615939, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.70", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7142605619395, "created_at": "2022-02-05T10:04:14-08:00", "updated_at": "2022-12-10T08:55:20-08:00"}], "images": [{"id": 32678782271683, "created_at": "2022-02-07T20:24:51-08:00", "position": 1, "updated_at": "2022-02-07T20:24:53-08:00", "product_id": 7142605619395, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03158.jpg?v=1644294293", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/plastic-g-hook-left-15mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["15mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03158_400X.jpg?v=1644294293"}, {"id": 7142605586627, "title": "Plastic G-Hook", "handle": "plastic-g-hook-right-15mm", "published_at": "2022-04-10T11:54:47-07:00", "created_at": "2022-02-05T10:04:13-08:00", "updated_at": "2023-01-10T18:23:11-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["20mm", "hardware"], "variants": [{"id": 41478867353795, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.70", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7142605586627, "created_at": "2022-02-05T10:04:13-08:00", "updated_at": "2023-01-05T13:42:55-08:00"}], "images": [{"id": 32678812745923, "created_at": "2022-02-07T20:25:59-08:00", "position": 1, "updated_at": "2022-02-07T20:26:01-08:00", "product_id": 7142605586627, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201920963_8c876eef-82b2-4c5f-ad89-34786b697353.jpg?v=1644294361", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/plastic-g-hook-right-15mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["15mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_201920963_8c876eef-82b2-4c5f-ad89-34786b697353_400X.jpg?v=1644294361"}, {"id": 7142605553859, "title": "Hybrid Aluminum G-Hook", "handle": "hybrid-aluminum-g-hook-right-15mm", "published_at": "2022-04-10T11:54:45-07:00", "created_at": "2022-02-05T10:04:12-08:00", "updated_at": "2023-01-18T01:25:12-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook metal", "tags": ["20mm", "hardware"], "variants": [{"id": 41478867321027, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.30", "grams": 5, "compare_at_price": null, "position": 1, "product_id": 7142605553859, "created_at": "2022-02-05T10:04:12-08:00", "updated_at": "2023-01-18T01:22:26-08:00"}], "images": [{"id": 32679003029699, "created_at": "2022-02-07T20:33:43-08:00", "position": 1, "updated_at": "2022-02-07T20:33:44-08:00", "product_id": 7142605553859, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202518354_3f133143-d334-497b-93b2-40503c7986b1.jpg?v=1644294824", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/hybrid-aluminum-g-hook-right-15mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["15mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202518354_3f133143-d334-497b-93b2-40503c7986b1_400X.jpg?v=1644294824"}, {"id": 7142605521091, "title": "Hybrid Aluminum G-Hook", "handle": "hybrid-aluminum-g-hook-left-15mm", "published_at": "2022-04-10T11:54:44-07:00", "created_at": "2022-02-05T10:04:12-08:00", "updated_at": "2023-01-18T01:22:20-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook metal", "tags": ["20mm", "hardware"], "variants": [{"id": 41478867288259, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.30", "grams": 5, "compare_at_price": null, "position": 1, "product_id": 7142605521091, "created_at": "2022-02-05T10:04:12-08:00", "updated_at": "2023-01-18T01:22:20-08:00"}], "images": [{"id": 32679532789955, "created_at": "2022-02-07T20:58:28-08:00", "position": 1, "updated_at": "2022-02-07T20:58:29-08:00", "product_id": 7142605521091, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202543807_dabd6674-c5fd-4201-bfc2-181a22dbb36b.jpg?v=1644296309", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/hybrid-aluminum-g-hook-left-15mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["15mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20210908_202543807_dabd6674-c5fd-4201-bfc2-181a22dbb36b_400X.jpg?v=1644296309"}, {"id": 7142605488323, "title": "Adjust Slik Clip", "handle": "adjust-slik-clip-25mm", "published_at": "2022-04-10T11:54:40-07:00", "created_at": "2022-02-05T10:04:11-08:00", "updated_at": "2023-01-10T18:23:10-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 41478867255491, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.75", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7142605488323, "created_at": "2022-02-05T10:04:11-08:00", "updated_at": "2022-09-29T13:25:50-07:00"}], "images": [{"id": 32678272467139, "created_at": "2022-02-07T20:05:59-08:00", "position": 1, "updated_at": "2022-02-07T20:06:00-08:00", "product_id": 7142605488323, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/images.jpg?v=1644293160", "width": 259, "height": 194}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/adjust-slik-clip-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/images_400X.jpg?v=1644293160"}, {"id": 7142605455555, "title": "Slik Clip", "handle": "slik-clip-25mm", "published_at": "2022-02-05T10:04:10-08:00", "created_at": "2022-02-05T10:04:10-08:00", "updated_at": "2023-01-10T18:23:10-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 41478867222723, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.70", "grams": 3, "compare_at_price": null, "position": 1, "product_id": 7142605455555, "created_at": "2022-02-05T10:04:10-08:00", "updated_at": "2023-01-05T20:03:52-08:00"}], "images": [{"id": 39785591767335, "created_at": "2022-10-28T10:37:39-07:00", "position": 1, "updated_at": "2022-10-28T10:38:28-07:00", "product_id": 7142605455555, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03575.jpg?v=1666978708", "width": 4896, "height": 3672}, {"id": 39785591800103, "created_at": "2022-10-28T10:37:39-07:00", "position": 2, "updated_at": "2022-10-28T10:38:28-07:00", "product_id": 7142605455555, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03574.jpg?v=1666978708", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/slik-clip-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03575_400X.jpg?v=1666978708"}, {"id": 7142605422787, "title": "Buddy Lion Single Adjust Buckle", "handle": "buddy-lion-single-adjust-buckle-25mm", "published_at": "2022-02-05T10:04:10-08:00", "created_at": "2022-02-05T10:04:10-08:00", "updated_at": "2023-01-24T09:10:30-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["25mm", "hardware"], "variants": [{"id": 41478867189955, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.90", "grams": 7, "compare_at_price": null, "position": 1, "product_id": 7142605422787, "created_at": "2022-02-05T10:04:10-08:00", "updated_at": "2023-01-24T09:07:45-08:00"}], "images": [{"id": 32678344032451, "created_at": "2022-02-07T20:08:30-08:00", "position": 1, "updated_at": "2022-02-07T20:09:03-08:00", "product_id": 7142605422787, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20211126_214741335.jpg?v=1644293343", "width": 3024, "height": 4032}, {"id": 32678343999683, "created_at": "2022-02-07T20:08:30-08:00", "position": 2, "updated_at": "2022-02-07T20:09:03-08:00", "product_id": 7142605422787, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20211126_214632201.jpg?v=1644293343", "width": 3024, "height": 4032}, {"id": 32678344065219, "created_at": "2022-02-07T20:08:30-08:00", "position": 3, "updated_at": "2022-02-07T20:09:03-08:00", "product_id": 7142605422787, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20211126_214707591.jpg?v=1644293343", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/buddy-lion-single-adjust-buckle-25mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["25mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20211126_214741335_400X.jpg?v=1644293343"}, {"id": 7142605390019, "title": "Buddy Lion Single Adjust Buckle", "handle": "buddy-lion-single-adjust-buckle-20mm", "published_at": "2022-02-05T10:04:09-08:00", "created_at": "2022-02-05T10:04:09-08:00", "updated_at": "2023-01-24T09:07:45-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["25mm", "hardware"], "variants": [{"id": 41478867157187, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.75", "grams": 5, "compare_at_price": null, "position": 1, "product_id": 7142605390019, "created_at": "2022-02-05T10:04:09-08:00", "updated_at": "2023-01-24T09:07:45-08:00"}], "images": [{"id": 39896434180391, "created_at": "2022-11-19T00:05:54-08:00", "position": 1, "updated_at": "2022-11-19T00:06:07-08:00", "product_id": 7142605390019, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20211126_214749513.jpg?v=1668845167", "width": 3024, "height": 4032}, {"id": 39896434213159, "created_at": "2022-11-19T00:05:54-08:00", "position": 2, "updated_at": "2022-11-19T00:06:07-08:00", "product_id": 7142605390019, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20211126_214641644.jpg?v=1668845167", "width": 3024, "height": 4032}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/buddy-lion-single-adjust-buckle-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/PXL_20211126_214749513_400X.jpg?v=1668845167"}, {"id": 7142605357251, "title": "Z Buckle With Cam", "handle": "z-buckle-with-cam-20mm", "published_at": "2022-02-05T10:04:08-08:00", "created_at": "2022-02-05T10:04:08-08:00", "updated_at": "2023-01-10T18:23:10-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware buckle", "tags": ["25mm", "hardware"], "variants": [{"id": 41478867124419, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.10", "grams": 7, "compare_at_price": null, "position": 1, "product_id": 7142605357251, "created_at": "2022-02-05T10:04:09-08:00", "updated_at": "2022-11-27T20:35:26-08:00"}], "images": [{"id": 39757021118759, "created_at": "2022-10-22T15:09:50-07:00", "position": 1, "updated_at": "2022-10-22T15:10:14-07:00", "product_id": 7142605357251, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03518.jpg?v=1666476614", "width": 4896, "height": 3672}, {"id": 39757021315367, "created_at": "2022-10-22T15:09:50-07:00", "position": 2, "updated_at": "2022-10-22T15:10:14-07:00", "product_id": 7142605357251, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03512.jpg?v=1666476614", "width": 4896, "height": 3672}, {"id": 39757021085991, "created_at": "2022-10-22T15:09:50-07:00", "position": 3, "updated_at": "2022-10-22T15:10:14-07:00", "product_id": 7142605357251, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03513.jpg?v=1666476614", "width": 4896, "height": 3672}, {"id": 39757021282599, "created_at": "2022-10-22T15:09:50-07:00", "position": 4, "updated_at": "2022-10-22T15:10:14-07:00", "product_id": 7142605357251, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03515.jpg?v=1666476614", "width": 4896, "height": 3672}, {"id": 39757021249831, "created_at": "2022-10-22T15:09:50-07:00", "position": 5, "updated_at": "2022-10-22T15:10:14-07:00", "product_id": 7142605357251, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03516.jpg?v=1666476614", "width": 4896, "height": 3672}, {"id": 39757021217063, "created_at": "2022-10-22T15:09:50-07:00", "position": 6, "updated_at": "2022-10-22T15:10:14-07:00", "product_id": 7142605357251, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03511.jpg?v=1666476614", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/z-buckle-with-cam-20mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03518_400X.jpg?v=1666476614"}, {"id": 7142605324483, "title": "Single Gatekeeper", "handle": "singlegatekeeper-38mm", "published_at": "2022-04-10T11:54:49-07:00", "created_at": "2022-02-05T10:04:08-08:00", "updated_at": "2023-01-10T18:23:10-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 41478867091651, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.05", "grams": 4, "compare_at_price": null, "position": 1, "product_id": 7142605324483, "created_at": "2022-02-05T10:04:08-08:00", "updated_at": "2022-12-18T11:30:21-08:00"}], "images": [{"id": 39785595765031, "created_at": "2022-10-28T10:38:09-07:00", "position": 1, "updated_at": "2022-10-28T10:38:33-07:00", "product_id": 7142605324483, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03563.jpg?v=1666978713", "width": 4896, "height": 3672}, {"id": 39785595666727, "created_at": "2022-10-28T10:38:09-07:00", "position": 2, "updated_at": "2022-10-28T10:38:33-07:00", "product_id": 7142605324483, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03560_514d370a-efb6-4fff-926b-bfa64b8f6039.jpg?v=1666978713", "width": 4896, "height": 3672}, {"id": 39785595633959, "created_at": "2022-10-28T10:38:09-07:00", "position": 3, "updated_at": "2022-10-28T10:38:11-07:00", "product_id": 7142605324483, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03565.jpg?v=1666978691", "width": 4896, "height": 3672}, {"id": 39785595601191, "created_at": "2022-10-28T10:38:09-07:00", "position": 4, "updated_at": "2022-10-28T10:38:11-07:00", "product_id": 7142605324483, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03566.jpg?v=1666978691", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/singlegatekeeper-38mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["38mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03563_400X.jpg?v=1666978713"}, {"id": 7142605291715, "title": "Single Gatekeeper", "handle": "single-gatekeeper-50mm", "published_at": "2022-04-10T11:54:49-07:00", "created_at": "2022-02-05T10:04:07-08:00", "updated_at": "2023-01-19T14:20:08-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware hook", "tags": ["25mm", "hardware"], "variants": [{"id": 41478867058883, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "", "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "1.15", "grams": 5, "compare_at_price": null, "position": 1, "product_id": 7142605291715, "created_at": "2022-02-05T10:04:07-08:00", "updated_at": "2023-01-19T14:18:47-08:00"}], "images": [{"id": 39785594224935, "created_at": "2022-10-28T10:37:58-07:00", "position": 1, "updated_at": "2022-10-28T10:38:31-07:00", "product_id": 7142605291715, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03564.jpg?v=1666978711", "width": 4896, "height": 3672}, {"id": 39785594257703, "created_at": "2022-10-28T10:37:58-07:00", "position": 2, "updated_at": "2022-10-28T10:38:31-07:00", "product_id": 7142605291715, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03560.jpg?v=1666978711", "width": 4896, "height": 3672}, {"id": 39785594290471, "created_at": "2022-10-28T10:37:58-07:00", "position": 3, "updated_at": "2022-10-28T10:38:31-07:00", "product_id": 7142605291715, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03562.jpg?v=1666978711", "width": 4896, "height": 3672}, {"id": 39785594356007, "created_at": "2022-10-28T10:37:58-07:00", "position": 4, "updated_at": "2022-10-28T10:38:00-07:00", "product_id": 7142605291715, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03570.jpg?v=1666978680", "width": 4896, "height": 3672}, {"id": 39785594323239, "created_at": "2022-10-28T10:37:58-07:00", "position": 5, "updated_at": "2022-10-28T10:38:00-07:00", "product_id": 7142605291715, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03571.jpg?v=1666978680", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/single-gatekeeper-50mm?ref=myog", "vendorImg": "mozet.png", "sizes": [["50mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03564_400X.jpg?v=1666978711"}, {"id": 7142605226179, "title": "Webbing Loop", "handle": "webbing-loop", "published_at": "2022-02-05T10:04:06-08:00", "created_at": "2022-02-05T10:04:06-08:00", "updated_at": "2023-01-10T18:23:10-08:00", "vendor": "Mozet Supplies", "product_type": "plastic hardware misc", "tags": ["hardware"], "variants": [{"id": 41478866993347, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": null, "requires_shipping": true, "taxable": false, "featured_image": null, "available": true, "price": "0.30", "grams": 1, "compare_at_price": null, "position": 1, "product_id": 7142605226179, "created_at": "2022-02-05T10:04:06-08:00", "updated_at": "2023-01-05T20:03:51-08:00"}], "images": [{"id": 39757020627239, "created_at": "2022-10-22T15:08:38-07:00", "position": 1, "updated_at": "2022-10-22T15:09:54-07:00", "product_id": 7142605226179, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03528.jpg?v=1666476594", "width": 4896, "height": 3672}, {"id": 39757020528935, "created_at": "2022-10-22T15:08:38-07:00", "position": 2, "updated_at": "2022-10-22T15:09:54-07:00", "product_id": 7142605226179, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03529.jpg?v=1666476594", "width": 4896, "height": 3672}, {"id": 39757020594471, "created_at": "2022-10-22T15:08:38-07:00", "position": 3, "updated_at": "2022-10-22T15:09:54-07:00", "product_id": 7142605226179, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03530.jpg?v=1666476594", "width": 4896, "height": 3672}, {"id": 39757020561703, "created_at": "2022-10-22T15:08:38-07:00", "position": 4, "updated_at": "2022-10-22T15:09:54-07:00", "product_id": 7142605226179, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03526.jpg?v=1666476594", "width": 4896, "height": 3672}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://mozetsupplies.ca/products/webbing-loop?ref=myog", "vendorImg": "mozet.png", "sizes": [["20mm"]], "productImg": "https://cdn.shopify.com/s/files/1/0605/3068/8195/products/DSC03528_400X.jpg?v=1666476594"}, {"id": 7079513555114, "title": "Anchorable Cordlock", "handle": "anchorable-cordlock", "published_at": "2022-01-13T21:22:25-05:00", "created_at": "2021-12-01T15:08:31-05:00", "updated_at": "2023-01-24T20:52:42-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware cord", "tags": ["BFCM15%", "Components", "Cordlocks", "Duraflex", "DURAFLEX LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Plastic Hardware"], "variants": [{"id": 41806072414378, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "ANCH-CORDLOCK", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.75", "grams": 9, "compare_at_price": null, "position": 1, "product_id": 7079513555114, "created_at": "2021-12-01T15:08:32-05:00", "updated_at": "2023-01-24T20:52:42-05:00"}], "images": [{"id": 32438364897450, "created_at": "2022-01-03T09:34:25-05:00", "position": 1, "updated_at": "2022-01-03T09:34:26-05:00", "product_id": 7079513555114, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/AnchorableCordlock.jpg?v=1641220466", "width": 2000, "height": 2000}, {"id": 32438364930218, "created_at": "2022-01-03T09:34:25-05:00", "position": 2, "updated_at": "2022-01-03T09:34:27-05:00", "product_id": 7079513555114, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/AnchorableCordlockComparison.jpg?v=1641220467", "width": 2000, "height": 2000}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/anchorable-cordlock?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/AnchorableCordlock_400X.jpg?v=1641220466", "sizes": [[]]}, {"id": 8071558849, "title": "Double Squeeze Stopper", "handle": "double-squeeze-stopper", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2016-09-26T15:23:47-04:00", "updated_at": "2023-01-25T07:18:10-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware cord", "tags": ["BFCM15%", "Components", "Cordlocks", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Plastic Hardware", "woojin", "WOOJIN LOGO"], "variants": [{"id": 26575160449, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "WJ-double-stopper-B", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "3.75", "grams": 9, "compare_at_price": null, "position": 1, "product_id": 8071558849, "created_at": "2016-09-26T15:23:47-04:00", "updated_at": "2023-01-23T11:46:01-05:00"}], "images": [{"id": 31791012937898, "created_at": "2021-11-02T16:47:14-04:00", "position": 1, "updated_at": "2021-11-02T16:47:15-04:00", "product_id": 8071558849, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoubleSqueezeStopperFront.jpg?v=1635886035", "width": 2000, "height": 2000}, {"id": 31791012905130, "created_at": "2021-11-02T16:47:14-04:00", "position": 2, "updated_at": "2021-11-02T16:47:15-04:00", "product_id": 8071558849, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoubleSqueezeStopperSide_2.jpg?v=1635886035", "width": 2000, "height": 2000}, {"id": 31791013036202, "created_at": "2021-11-02T16:47:14-04:00", "position": 3, "updated_at": "2021-11-02T16:47:15-04:00", "product_id": 8071558849, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoubleSqueezeStopperSide.jpg?v=1635886035", "width": 2000, "height": 2000}, {"id": 31791013167274, "created_at": "2021-11-02T16:47:14-04:00", "position": 4, "updated_at": "2021-11-02T16:47:15-04:00", "product_id": 8071558849, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoubleSqueezeStopperComparison.jpg?v=1635886035", "width": 2000, "height": 2000}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/double-squeeze-stopper?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/DoubleSqueezeStopperFront_400X.jpg?v=1635886035", "sizes": [[]]}, {"id": 7079506706602, "title": "Micro Cordlock", "handle": "micro-cordlock", "published_at": "2022-01-13T21:22:23-05:00", "created_at": "2021-12-01T14:46:59-05:00", "updated_at": "2023-01-24T15:15:58-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware cord", "tags": ["BFCM15%", "Components", "Cordlocks", "Duraflex", "DURAFLEX LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Plastic Hardware"], "variants": [{"id": 41806050656426, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "MIC-CORDLOCK", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.00", "grams": 10, "compare_at_price": null, "position": 1, "product_id": 7079506706602, "created_at": "2021-12-01T14:46:59-05:00", "updated_at": "2023-01-24T15:15:03-05:00"}], "images": [{"id": 32438370828458, "created_at": "2022-01-03T09:34:51-05:00", "position": 1, "updated_at": "2022-01-05T10:13:11-05:00", "product_id": 7079506706602, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/MicroCordlock.jpg?v=1641395591", "width": 2000, "height": 2000}, {"id": 32438370926762, "created_at": "2022-01-03T09:34:51-05:00", "position": 2, "updated_at": "2022-01-05T10:13:11-05:00", "product_id": 7079506706602, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/MicroCordlockComparison.jpg?v=1641395591", "width": 2000, "height": 2000}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/micro-cordlock?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/MicroCordlock_400X.jpg?v=1641395591", "sizes": [[]]}, {"id": 370068477, "title": "Mini Cordlock", "handle": "mini-cordlock", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2014-09-29T21:04:46-04:00", "updated_at": "2023-01-25T07:18:08-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware cord", "tags": ["BFCM15%", "Components", "Cordlocks", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Plastic Hardware"], "variants": [{"id": 958747517, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "M-Cordlock", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.25", "grams": 17, "compare_at_price": "4.00", "position": 1, "product_id": 370068477, "created_at": "2014-09-29T21:04:46-04:00", "updated_at": "2023-01-24T15:15:01-05:00"}], "images": [{"id": 11940355211312, "created_at": "2019-08-19T00:32:07-04:00", "position": 1, "updated_at": "2019-08-19T00:32:21-04:00", "product_id": 370068477, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/mini-cordlock_d0f0f936-d0e4-43ba-8ad5-955890c8cd70.jpg?v=1566189141", "width": 275, "height": 275}, {"id": 11940356620336, "created_at": "2019-08-19T00:32:24-04:00", "position": 2, "updated_at": "2019-08-19T00:32:24-04:00", "product_id": 370068477, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CORD-LOCK-DEM-CHART_0adcb222-f2ec-4f0f-b1d6-2a22bfbda622.jpg?v=1566189144", "width": 495, "height": 89}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/mini-cordlock?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/mini-cordlock_d0f0f936-d0e4-43ba-8ad5-955890c8cd70_400X.jpg?v=1566189141", "sizes": [[]]}, {"id": 1316826433, "title": "Posi-Grip Cordlock", "handle": "posi-grip-cordlock", "published_at": "2014-11-16T12:07:00-05:00", "created_at": "2015-06-22T23:47:37-04:00", "updated_at": "2023-01-25T07:17:39-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware cord", "tags": ["BFCM15%", "Components", "Cordlocks", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Plastic Hardware"], "variants": [{"id": 3975161025, "title": "Standard", "option1": "Standard", "option2": null, "option3": null, "sku": "Posi-cordlock-std", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.50", "grams": 17, "compare_at_price": "4.00", "position": 1, "product_id": 1316826433, "created_at": "2015-06-22T23:47:37-04:00", "updated_at": "2023-01-23T13:19:14-05:00"}, {"id": 29590884429, "title": "Large", "option1": "Large", "option2": null, "option3": null, "sku": "Posi-cordlock-large", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.75", "grams": 45, "compare_at_price": "4.00", "position": 2, "product_id": 1316826433, "created_at": "2016-12-20T13:35:43-05:00", "updated_at": "2023-01-23T19:48:10-05:00"}], "images": [{"id": 11940467834928, "created_at": "2019-08-19T01:22:55-04:00", "position": 1, "updated_at": "2019-08-19T01:22:55-04:00", "product_id": 1316826433, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/posi-grip-cord-lock_d6a50a75-5930-4a7b-83c8-9ca2da735788.jpg?v=1566192175", "width": 500, "height": 500}], "options": [{"name": "Size", "position": 1, "values": ["Standard", "Large"]}], "url": "https://ripstopbytheroll.com/products/posi-grip-cordlock?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/posi-grip-cord-lock_d6a50a75-5930-4a7b-83c8-9ca2da735788_400X.jpg?v=1566192175", "sizes": ["Standard", "Large"]}, {"id": 385299925, "title": "Regular Cordlock", "handle": "regular-cordlock", "published_at": "2015-01-28T10:52:00-05:00", "created_at": "2014-12-09T11:23:00-05:00", "updated_at": "2023-01-25T07:18:14-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware cord", "tags": ["BFCM15%", "Components", "Cordlocks", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Plastic Hardware"], "variants": [{"id": 1003914557, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "Reg-Cordlock", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.25", "grams": 28, "compare_at_price": "4.00", "position": 1, "product_id": 385299925, "created_at": "2014-12-09T11:23:00-05:00", "updated_at": "2023-01-24T15:03:07-05:00"}], "images": [{"id": 11940512071728, "created_at": "2019-08-19T01:46:07-04:00", "position": 1, "updated_at": "2019-08-19T01:46:22-04:00", "product_id": 385299925, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Regular-cylinder-cordlock_198ffb7e-0189-4bcf-bb19-4f3b81b27594.jpg?v=1566193582", "width": 275, "height": 275}, {"id": 11940513087536, "created_at": "2019-08-19T01:46:24-04:00", "position": 2, "updated_at": "2019-08-19T01:46:24-04:00", "product_id": 385299925, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/CORD-LOCK-DEM-CHART_b793b0b5-4229-42d1-bd23-cea250a18b6c.jpg?v=1566193584", "width": 495, "height": 89}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/regular-cordlock?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/Regular-cylinder-cordlock_198ffb7e-0189-4bcf-bb19-4f3b81b27594_400X.jpg?v=1566193582", "sizes": [[]]}, {"id": 7079508967594, "title": "Two-Hole Anchorable Cordlock", "handle": "two-hole-anchorable-cordlock", "published_at": "2022-01-13T21:22:24-05:00", "created_at": "2021-12-01T14:55:50-05:00", "updated_at": "2023-01-23T22:20:58-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware cord", "tags": ["BFCM15%", "Components", "Cordlocks", "Duraflex", "DURAFLEX LOGO", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Plastic Hardware"], "variants": [{"id": 41806061469866, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "TH-ANCH-CORDLOCK", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.25", "grams": 20, "compare_at_price": null, "position": 1, "product_id": 7079508967594, "created_at": "2021-12-01T14:55:50-05:00", "updated_at": "2023-01-23T22:15:31-05:00"}], "images": [{"id": 32438374432938, "created_at": "2022-01-03T09:35:11-05:00", "position": 1, "updated_at": "2022-01-03T09:35:13-05:00", "product_id": 7079508967594, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Two-HoleAnchorableCordlock.jpg?v=1641220513", "width": 2000, "height": 2000}, {"id": 32438374531242, "created_at": "2022-01-03T09:35:11-05:00", "position": 2, "updated_at": "2022-01-03T09:35:13-05:00", "product_id": 7079508967594, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Two-HoleAnchorableCordlockComparison.jpg?v=1641220513", "width": 2000, "height": 2000}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/two-hole-anchorable-cordlock?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/Two-HoleAnchorableCordlock_400X.jpg?v=1641220513", "sizes": [[]]}, {"id": 370067097, "title": "Two-Hole Bean Cordlock", "handle": "two-hole-bean-cordlock", "published_at": "2014-09-29T20:20:00-04:00", "created_at": "2014-09-29T20:20:44-04:00", "updated_at": "2023-01-25T07:17:56-05:00", "vendor": "Ripstop by the Roll", "product_type": "plastic hardware cord", "tags": ["BFCM15%", "Components", "Cordlocks", "Hardware", "no-samples", "Not DCF", "OCU - GIFT CARD", "Plastic Hardware"], "variants": [{"id": 958740101, "title": "Default Title", "option1": "Default Title", "option2": null, "option3": null, "sku": "B-Cordlock", "requires_shipping": true, "taxable": true, "featured_image": null, "available": true, "price": "4.25", "grams": 31, "compare_at_price": "6.50", "position": 1, "product_id": 370067097, "created_at": "2014-09-29T20:20:44-04:00", "updated_at": "2023-01-25T03:42:12-05:00"}], "images": [{"id": 31791133130922, "created_at": "2021-11-02T16:57:28-04:00", "position": 1, "updated_at": "2021-11-02T16:57:29-04:00", "product_id": 370067097, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Two-holeBeancordlockfront.jpg?v=1635886649", "width": 2000, "height": 2000}, {"id": 31791133163690, "created_at": "2021-11-02T16:57:28-04:00", "position": 2, "updated_at": "2021-11-02T16:57:29-04:00", "product_id": 370067097, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Two-holeBeancordlockBack.jpg?v=1635886649", "width": 2000, "height": 2000}, {"id": 31791133229226, "created_at": "2021-11-02T16:57:28-04:00", "position": 3, "updated_at": "2021-11-02T16:57:29-04:00", "product_id": 370067097, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Two-holeBeancordlockSide.jpg?v=1635886649", "width": 2000, "height": 2000}, {"id": 31791133196458, "created_at": "2021-11-02T16:57:28-04:00", "position": 4, "updated_at": "2021-11-02T16:57:29-04:00", "product_id": 370067097, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/Two-holeBeancordlockComparison.jpg?v=1635886649", "width": 2000, "height": 2000}, {"id": 11940644388912, "created_at": "2019-08-19T02:22:50-04:00", "position": 5, "updated_at": "2020-05-11T14:16:55-04:00", "product_id": 370067097, "variant_ids": [], "src": "https://cdn.shopify.com/s/files/1/0261/6507/products/two-hole-bean-cordlock-CAD-drawing_cb8aa293-6991-4ae8-b280-87afd6c6e3ab.jpg?v=1589221015", "width": 700, "height": 501}], "options": [{"name": "Title", "position": 1, "values": ["Default Title"]}], "url": "https://ripstopbytheroll.com/products/two-hole-bean-cordlock?rfsn=4608557.2d546b9", "vendorImg": "rbtr.png", "productImg": "https://cdn.shopify.com/s/files/1/0261/6507/products/Two-holeBeancordlockfront_400X.jpg?v=1635886649", "sizes": [[]]}] \ No newline at end of file diff --git a/src/assets/db/vendormap.json b/src/assets/db/vendormap.json new file mode 100644 index 0000000..8c429ca --- /dev/null +++ b/src/assets/db/vendormap.json @@ -0,0 +1,299 @@ +[ + { + "name": "Ripstop by the Roll", + "website": "https://ripstopbytheroll.com/", + "city": "Durham, NC", + "country": "US", + "lat": 36.00969, + "long": -78.87149, + "friend": "TRUE" + }, + { + "name": "Discovery Fabrics", + "website": "https://discoveryfabrics.com/", + "city": "Campbell, BC", + "country": "CA", + "lat": 50.02373, + "long": -125.25464, + "friend": "TRUE" + }, + { + "name": "Quest Outfitters", + "website": "https://www.questoutfitters.com/", + "city": "Sarasota, FL", + "country": "US", + "lat": 27.28279, + "long": -82.4463, + "friend": "TRUE" + }, + { + "name": "Refasten", + "website": "https://refasten.ca/", + "city": "Ottawa, ON", + "country": "CA", + "lat": 45.421532, + "long": -75.697189, + "friend": "" + }, + { + "name": "Mozet Supplies", + "website": "https://mozetsupplies.ca/", + "city": "Victoria, CA", + "country": "CA", + "lat": 48.42836, + "long": -123.35879, + "friend": "TRUE" + }, + { + "name": "PacCana", + "website": "https://www.paccana.com/", + "city": "Calgary, CA", + "country": "CA", + "lat": 51.077, + "long": -114.01372, + "friend": "" + }, + { + "name": "Rockywoods", + "website": "https://www.rockywoods.com/", + "city": "Loveland, CO", + "country": "US", + "lat": 40.39539, + "long": -105.07696, + "friend": "" + }, + { + "name": "Seattle Fabrics", + "website": "https://www.seattlefabrics.com/", + "city": "Seattle, WA", + "country": "US", + "lat": 47.69221, + "long": -122.34385, + "friend": "" + }, + { + "name": "ExtremTextil", + "website": "https://www.extremtextil.de/en/", + "city": "Berlin, DE", + "country": "DE", + "lat": 52.50077, + "long": 13.42065, + "friend": "TRUE" + }, + { + "name": "Monkey Puzzle Fabrics", + "website": "https://www.makeyourowngear.com.au/", + "city": "Blackheath, NSW", + "country": "AU", + "lat": -33.63748, + "long": 150.28403, + "friend": "" + }, + { + "name": "A+ Products", + "website": "https://www.aplusproducts.net/", + "city": "Marlboro, NJ", + "country": "US", + "lat": 40.31365, + "long": -74.25847, + "friend": "" + }, + { + "name": "Strapworks", + "website": "https://www.strapworks.com/", + "city": "Eugene, OR", + "country": "US", + "lat": 44.04663, + "long": -123.08899, + "friend": "" + }, + { + "name": "Jontay", + "website": "https://jontay.com/", + "city": "Blackshear, GA", + "country": "US", + "lat": 31.301, + "long": -82.24369, + "friend": "" + }, + { + "name": "Dutchware Gear", + "website": "https://dutchwaregear.com/", + "city": "Lancaster, PA", + "country": "US", + "lat": 40.03788, + "long": -76.30551, + "friend": "" + }, + { + "name": "Contact Left", + "website": "https://www.contactleft.co.uk/", + "city": "Liverpool, UK", + "country": "GB", + "lat": 53.41037, + "long": -2.97938, + "friend": "" + }, + { + "name": "JT's Outdoor Fabrics", + "website": "https://jtsoutdoorfabrics.com/", + "city": "Barrie, ON", + "country": "CA", + "lat": 44.33146, + "long": -79.68131, + "friend": "" + }, + { + "name": "Sailrite", + "website": "https://www.sailrite.com/", + "city": "Columbia City, IN", + "country": "US", + "lat": 41.14696, + "long": -85.44622, + "friend": "" + }, + { + "name": "The Trimming Shop", + "website": "https://trimmingshop.co.uk/", + "city": "Cheshunt, UK", + "country": "GB", + "lat": 51.7028, + "long": -0.0291, + "friend": "" + }, + { + "name": "Point North Profabrics", + "website": "https://www.profabrics.co.uk/", + "city": "Chester, UK", + "country": "GB", + "lat": 53.12188, + "long": -2.76746, + "friend": "" + }, + { + "name": "Pennine Outdoors", + "website": "https://www.pennineoutdoor.co.uk/", + "city": "High Bentham, UK", + "country": "GB", + "lat": 54.11823, + "long": -2.51199, + "friend": "" + }, + { + "name": "Hudson's Supplies", + "website": "https://www.hudson4supplies.com/", + "city": "Montreal, QC", + "country": "CA", + "lat": 45.50008, + "long": -73.66585, + "friend": "" + }, + { + "name": "Outdoor Experten", + "website": "https://www.outdoorexperten.se/", + "city": "Västerås, SE", + "country": "SE", + "lat": 59.61187, + "long": 16.61122, + "friend": "" + }, + { + "name": "Tactical Trim", + "website": "https://www.tacticaltrim.de/", + "city": "Berlin, DE", + "country": "DE", + "lat": 52.428389, + "long": 13.381763, + "friend": "" + }, + { + "name": "Wawak", + "website": "https://www.wawak.com/", + "city": "Conklin, NY", + "country": "US", + "lat": 42.0663, + "long": -75.81536, + "friend": "TRUE" + }, + { + "name": "AdventurExpert", + "website": "https://www.adventurexpert.com/", + "city": "Domžale, Slovenia", + "country": "SI", + "lat": 46.12284, + "long": 14.61172, + "friend": "TRUE" + }, + { + "name": "The Rain Shed", + "website": "https://www.therainshed.com/", + "city": "Cle Elum, WA", + "country": "US", + "lat": 47.19437, + "long": -120.93742, + "friend": "" + }, + { + "name": "Mill Yardage", + "website": "https://www.millyardage.com/", + "city": "Rollinsford, NH", + "country": "US", + "lat": 43.23523, + "long": -70.81722, + "friend": "" + }, + { + "name": "Outdoor Wilderness Fabrics", + "website": "https://www.owfinc.com/", + "city": "Caldwell, ID", + "country": "US", + "lat": 43.66944, + "long": -116.69425, + "friend": "" + }, + { + "name": "Ripstop.pl", + "website": "https://www.ripstop.pl/", + "city": "Poznań, PL", + "country": "PL", + "lat": 52.40589, + "long": 16.92168, + "friend": "" + }, + { + "name": "Hofman Outdoor Gear Supply", + "website": "https://hofmanoutdoorgearsupply.ca/", + "city": "Portage la Prairie, Manitoba", + "country": "CA", + "lat": 49.97331, + "long": -98.2944, + "friend": "" + }, + { + "name": "Shelby Outdoor", + "website": "https://www.shelbyoutdoor.com/", + "city": "Oulu, Finland", + "country": "FI", + "lat": 65.02769, + "long": 25.4702384, + "friend": "" + }, + { + "name": "Thelin Outdoor", + "website": "https://thelinoutdoor.se", + "city": "Lidköping, Sweden", + "country": "SE", + "lat": 58.4994758, + "long": 13.1574837, + "friend": "" + }, + { + "name": "Aktivstoffe.de", + "website": "https://www.aktivstoffe.de/", + "city": "Quakenbrück, DE", + "country": "DE", + "lat": 52.67065, + "long": 7.923957, + "friend": "" + } + ] \ No newline at end of file diff --git a/src/assets/poptrox.js b/src/assets/poptrox.js new file mode 100644 index 0000000..fe3ace2 --- /dev/null +++ b/src/assets/poptrox.js @@ -0,0 +1,612 @@ +/* jquery.poptrox.js v2.5.2-dev | (c) @ajlkn | github.com/ajlkn/jquery.poptrox | MIT licensed */ +export default (function (e) { + (e.fn.poptrox_disableSelection = function () { + return e(this) + .css("user-select", "none") + .css("-khtml-user-select", "none") + .css("-moz-user-select", "none") + .css("-o-user-select", "none") + .css("-webkit-user-select", "none"); + }), + (e.fn.poptrox = function (o) { + if (0 == this.length) return e(this); + if (this.length > 1) { + for (var t = 0; t < this.length; t++) e(this[t]).poptrox(o); + return e(this); + } + var p, + i, + s = e.extend( + { + preload: !1, + baseZIndex: 1e3, + fadeSpeed: 300, + overlayColor: "#000000", + overlayOpacity: 0.6, + overlayClass: "poptrox-overlay", + windowMargin: 50, + windowHeightPad: 0, + selector: "a", + caption: null, + parent: "body", + popupSpeed: 300, + popupWidth: 200, + popupHeight: 100, + popupIsFixed: !1, + useBodyOverflow: !1, + usePopupEasyClose: !0, + usePopupForceClose: !1, + usePopupLoader: !0, + usePopupCloser: !0, + usePopupCaption: !1, + usePopupNav: !1, + usePopupDefaultStyling: !0, + popupBackgroundColor: "#FFFFFF", + popupTextColor: "#000000", + popupLoaderTextSize: "2em", + popupCloserBackgroundColor: "#000000", + popupCloserTextColor: "#FFFFFF", + popupCloserTextSize: "20px", + popupPadding: 10, + popupCaptionHeight: 60, + popupCaptionTextSize: null, + popupBlankCaptionText: "(untitled)", + popupCloserText: "×", + popupLoaderText: "••••", + popupClass: "poptrox-popup", + popupSelector: null, + popupLoaderSelector: ".loader", + popupCloserSelector: ".closer", + popupCaptionSelector: ".caption", + popupNavPreviousSelector: ".nav-previous", + popupNavNextSelector: ".nav-next", + onPopupClose: null, + onPopupOpen: null, + }, + o + ), + r = e(this), + n = e("body"), + a = e('
'), + l = e(window), + u = [], + d = 0, + h = !1, + g = new Array(), + f = function () { + (p = l.width()), (i = l.height() + s.windowHeightPad); + var e = Math.abs(x.width() - x.outerWidth()), + o = Math.abs(x.height() - x.outerHeight()), + t = p - 2 * s.windowMargin - e, + r = i - 2 * s.windowMargin - o; + x.css("min-width", s.popupWidth).css("min-height", s.popupHeight), + v.children().css("max-width", t).css("max-height", r); + }; + s.usePopupLoader || (s.popupLoaderSelector = null), + s.usePopupCloser || (s.popupCloserSelector = null), + s.usePopupCaption || (s.popupCaptionSelector = null), + s.usePopupNav || + ((s.popupNavPreviousSelector = null), + (s.popupNavNextSelector = null)); + var x; + x = e( + s.popupSelector + ? s.popupSelector + : '
' + + (s.popupLoaderSelector + ? '
' + s.popupLoaderText + "
" + : "") + + '
' + + (s.popupCaptionSelector ? '
' : "") + + (s.popupCloserSelector + ? '' + s.popupCloserText + "" + : "") + + (s.popupNavPreviousSelector + ? '' + : "") + + (s.popupNavNextSelector ? '' : "") + + "
" + ); + var v = x.find(".pic"), + w = e(), + b = x.find(s.popupLoaderSelector), + m = x.find(s.popupCaptionSelector), + C = x.find(s.popupCloserSelector), + y = x.find(s.popupNavNextSelector), + S = x.find(s.popupNavPreviousSelector), + P = y.add(S); + if ( + s.usePopupDefaultStyling && + (x + .css("background", s.popupBackgroundColor) + .css("color", s.popupTextColor) + .css("padding", s.popupPadding + "px"), + m.length > 0 && + (x.css("padding-bottom", s.popupCaptionHeight + "px"), + m + .css("position", "absolute") + .css("left", "0") + .css("bottom", "0") + .css("width", "100%") + .css("text-align", "center") + .css("height", s.popupCaptionHeight + "px") + .css("line-height", s.popupCaptionHeight + "px"), + s.popupCaptionTextSize && m.css("font-size", popupCaptionTextSize)), + C.length > 0 && + C.html(s.popupCloserText) + .css("font-size", s.popupCloserTextSize) + .css("background", s.popupCloserBackgroundColor) + .css("color", s.popupCloserTextColor) + .css("display", "block") + .css("width", "40px") + .css("height", "40px") + .css("line-height", "40px") + .css("text-align", "center") + .css("position", "absolute") + .css("text-decoration", "none") + .css("outline", "0") + .css("top", "0") + .css("right", "-40px"), + b.length > 0 && + b + .html("") + .css("position", "relative") + .css("font-size", s.popupLoaderTextSize) + .on("startSpinning", function (o) { + var t = e("
" + s.popupLoaderText + "
"); + t + .css("height", Math.floor(s.popupHeight / 2) + "px") + .css("overflow", "hidden") + .css("line-height", Math.floor(s.popupHeight / 2) + "px") + .css("text-align", "center") + .css( + "margin-top", + Math.floor( + (x.height() - + t.height() + + (m.length > 0 ? m.height() : 0)) / + 2 + ) + ) + .css("color", s.popupTextColor ? s.popupTextColor : "") + .on("xfin", function () { + t.fadeTo(300, 0.5, function () { + t.trigger("xfout"); + }); + }) + .on("xfout", function () { + t.fadeTo(300, 0.05, function () { + t.trigger("xfin"); + }); + }) + .trigger("xfin"), + b.append(t); + }) + .on("stopSpinning", function (e) { + var o = b.find("div"); + o.remove(); + }), + 2 == P.length) + ) { + P.css("font-size", "75px") + .css("text-align", "center") + .css("color", "#fff") + .css("text-shadow", "none") + .css("height", "100%") + .css("position", "absolute") + .css("top", "0") + .css("opacity", "0.35") + .css("cursor", "pointer") + .css("box-shadow", "inset 0px 0px 10px 0px rgba(0,0,0,0)") + .poptrox_disableSelection(); + var k, T; + s.usePopupEasyClose + ? ((k = "100px"), (T = "100px")) + : ((k = "75%"), (T = "25%")), + y + .css("right", "0") + .css("width", k) + .html( + '
>
' + ), + S.css("left", "0") + .css("width", T) + .html( + '
<
' + ); + } + return ( + l.on("resize orientationchange", function () { + f(); + }), + m.on("update", function (e, o) { + (o && 0 != o.length) || (o = s.popupBlankCaptionText), m.html(o); + }), + C.css("cursor", "pointer").on("click", function (e) { + return ( + e.preventDefault(), + e.stopPropagation(), + x.trigger("poptrox_close"), + !0 + ); + }), + y.on("click", function (e) { + e.stopPropagation(), e.preventDefault(), x.trigger("poptrox_next"); + }), + S.on("click", function (e) { + e.stopPropagation(), + e.preventDefault(), + x.trigger("poptrox_previous"); + }), + a + .css("position", "fixed") + .css("left", 0) + .css("top", 0) + .css("z-index", s.baseZIndex) + .css("width", "100%") + .css("height", "100%") + .css("text-align", "center") + .css("cursor", "pointer") + .appendTo(s.parent) + .prepend( + '
' + ) + .append( + '
' + ) + .hide() + .on("touchmove", function (e) { + return !1; + }) + .on("click", function (e) { + e.preventDefault(), e.stopPropagation(), x.trigger("poptrox_close"); + }), + x + .css("display", "inline-block") + .css("vertical-align", "middle") + .css("position", "relative") + .css("z-index", 1) + .css("cursor", "auto") + .appendTo(a) + .hide() + .on("poptrox_next", function () { + var e = d + 1; + e >= u.length && (e = 0), x.trigger("poptrox_switch", [e]); + }) + .on("poptrox_previous", function () { + var e = d - 1; + e < 0 && (e = u.length - 1), x.trigger("poptrox_switch", [e]); + }) + .on("poptrox_reset", function () { + f(), + x.data("width", s.popupWidth).data("height", s.popupHeight), + b.hide().trigger("stopSpinning"), + m.hide(), + C.hide(), + P.hide(), + v.hide(), + w.attr("src", "").detach(); + }) + .on("poptrox_open", function (e, o) { + return ( + !!h || + ((h = !0), + s.useBodyOverflow && n.css("overflow", "hidden"), + s.onPopupOpen && s.onPopupOpen(), + x.addClass("loading"), + void a.fadeTo(s.fadeSpeed, 1, function () { + x.trigger("poptrox_switch", [o, !0]); + })) + ); + }) + .on("poptrox_switch", function (o, t, p) { + var i; + if (!p && h) return !0; + if ( + ((h = !0), + x + .addClass("loading") + .css("width", x.data("width")) + .css("height", x.data("height")), + m.hide(), + w.attr("src") && w.attr("src", ""), + w.detach(), + (i = u[t]), + (w = i.object), + w.off("load"), + v.css("text-indent", "-9999px").show().append(w), + "ajax" == i.type + ? e.get(i.src, function (e) { + w.html(e), w.trigger("load"); + }) + : w.attr("src", i.src), + "image" != i.type) + ) { + var r, n; + (r = i.width), + (n = i.height), + "%" == r.slice(-1) && + (r = + (parseInt(r.substring(0, r.length - 1)) / 100) * l.width()), + "%" == n.slice(-1) && + (n = + (parseInt(n.substring(0, n.length - 1)) / 100) * + l.height()), + w + .css("position", "relative") + .css("outline", "0") + .css("z-index", s.baseZIndex + 100) + .width(r) + .height(n); + } + b.trigger("startSpinning").fadeIn(300), + x.show(), + s.popupIsFixed + ? (x + .removeClass("loading") + .width(s.popupWidth) + .height(s.popupHeight), + w.on("load", function () { + w.off("load"), + b.hide().trigger("stopSpinning"), + m.trigger("update", [i.captionText]).fadeIn(s.fadeSpeed), + C.fadeIn(s.fadeSpeed), + v + .css("text-indent", 0) + .hide() + .fadeIn(s.fadeSpeed, function () { + h = !1; + }), + (d = t), + P.fadeIn(s.fadeSpeed); + })) + : w.on("load", function () { + f(), w.off("load"), b.hide().trigger("stopSpinning"); + var e = w.width(), + o = w.height(), + p = function () { + m + .trigger("update", [i.captionText]) + .fadeIn(s.fadeSpeed), + C.fadeIn(s.fadeSpeed), + v + .css("text-indent", 0) + .hide() + .fadeIn(s.fadeSpeed, function () { + h = !1; + }), + (d = t), + P.fadeIn(s.fadeSpeed), + x + .removeClass("loading") + .data("width", e) + .data("height", o) + .css("width", "auto") + .css("height", "auto"); + }; + e == x.data("width") && o == x.data("height") + ? p() + : x.animate( + { width: e, height: o }, + s.popupSpeed, + "swing", + p + ); + }), + "image" != i.type && w.trigger("load"); + }) + .on("poptrox_close", function () { + return ( + !(!h || s.usePopupForceClose) || + ((h = !0), + x.hide().trigger("poptrox_reset"), + s.onPopupClose && s.onPopupClose(), + void a.fadeOut(s.fadeSpeed, function () { + s.useBodyOverflow && n.css("overflow", "auto"), (h = !1); + })) + ); + }) + .trigger("poptrox_reset"), + s.usePopupEasyClose + ? (m.on("click", "a", function (e) { + e.stopPropagation(); + }), + x.css("cursor", "pointer").on("click", function (e) { + e.stopPropagation(), + e.preventDefault(), + x.trigger("poptrox_close"); + })) + : x.on("click", function (e) { + e.stopPropagation(); + }), + l.keydown(function (e) { + if (x.is(":visible")) + switch (e.keyCode) { + case 37: + case 32: + if (s.usePopupNav) return x.trigger("poptrox_previous"), !1; + break; + case 39: + if (s.usePopupNav) return x.trigger("poptrox_next"), !1; + break; + case 27: + return x.trigger("poptrox_close"), !1; + } + }), + r.find(s.selector).each(function (o) { + var t, + p, + i = e(this), + r = i.find("img"), + n = i.data("poptrox"), + c; + if ("ignore" != n && i.attr("href")) { + if ( + ((t = { + src: i.attr("href"), + captionText: r.attr("title"), + width: null, + height: null, + type: null, + object: null, + options: null, + }), + s.caption) + ) { + if ("function" == typeof s.caption) c = s.caption(i); + else if ("selector" in s.caption) { + var a; + (a = i.find(s.caption.selector)), + "attribute" in s.caption + ? (c = a.attr(s.caption.attribute)) + : ((c = a.html()), s.caption.remove === !0 && a.remove()); + } + } else c = r.attr("title"); + if (((t.captionText = c), n)) { + var l = n.split(","); + 0 in l && (t.type = l[0]), + 1 in l && + ((p = l[1].match(/([0-9%]+)x([0-9%]+)/)), + p && 3 == p.length && ((t.width = p[1]), (t.height = p[2]))), + 2 in l && (t.options = l[2]); + } + if (!t.type) + switch ( + ((p = t.src.match(/\/\/([a-z0-9\.]+)\/.*/)), + (!p || p.length < 2) && (p = [!1]), + p[1]) + ) { + case "api.soundcloud.com": + t.type = "soundcloud"; + break; + case "youtu.be": + t.type = "youtube"; + break; + case "vimeo.com": + t.type = "vimeo"; + break; + case "wistia.net": + t.type = "wistia"; + break; + case "bcove.me": + t.type = "bcove"; + break; + default: + t.type = "image"; + } + switch (((p = t.src.match(/\/\/[a-z0-9\.]+\/(.*)/)), t.type)) { + case "iframe": + (t.object = e('')), + t.object + .on("click", function (e) { + e.stopPropagation(); + }) + .css("cursor", "auto"), + (t.width && t.height) || + ((t.width = "600"), (t.height = "400")); + break; + case "ajax": + (t.object = e('
')), + t.object + .on("click", function (e) { + e.stopPropagation(); + }) + .css("cursor", "auto") + .css("overflow", "auto"), + (t.width && t.height) || + ((t.width = "600"), (t.height = "400")); + break; + case "soundcloud": + (t.object = e( + '' + )), + (t.src = + "//w.soundcloud.com/player/?url=" + + escape(t.src) + + (t.options ? "&" + t.options : "")), + (t.width = "600"), + (t.height = "166"); + break; + case "youtube": + (t.object = e( + '' + )), + (t.src = + "//www.youtube.com/embed/" + + p[1] + + (t.options ? "?" + t.options : "")), + (t.width && t.height) || + ((t.width = "800"), (t.height = "480")); + break; + case "vimeo": + (t.object = e( + '' + )), + (t.src = + "//player.vimeo.com/video/" + + p[1] + + (t.options ? "?" + t.options : "")), + (t.width && t.height) || + ((t.width = "800"), (t.height = "480")); + break; + case "wistia": + (t.object = e( + '' + )), + (t.src = + "//fast.wistia.net/" + + p[1] + + (t.options ? "?" + t.options : "")), + (t.width && t.height) || + ((t.width = "800"), (t.height = "480")); + break; + case "bcove": + (t.object = e( + '' + )), + (t.src = + "//bcove.me/" + p[1] + (t.options ? "?" + t.options : "")), + (t.width && t.height) || + ((t.width = "640"), (t.height = "360")); + break; + default: + if ( + ((t.object = e( + '' + )), + s.preload) + ) { + var p = document.createElement("img"); + (p.src = t.src), g.push(p); + } + (t.width = i.attr("width")), (t.height = i.attr("height")); + } + "file:" == window.location.protocol && + t.src.match(/^\/\//) && + (t.src = "http:" + t.src), + u.push(t), + r.removeAttr("title"), + i + .removeAttr("href") + .css("cursor", "pointer") + .css("outline", 0) + .on("click", function (e) { + e.preventDefault(), + e.stopPropagation(), + x.trigger("poptrox_open", [o]); + }); + } + }), + r.prop("_poptrox", s), + r + ); + }); +}); diff --git a/src/components/Disclosure.astro b/src/components/Disclosure.astro new file mode 100644 index 0000000..a344021 --- /dev/null +++ b/src/components/Disclosure.astro @@ -0,0 +1,6 @@ +

+ This page contains affiliate links, meaning I make a commission for qualified + purchases, at no cost to you. See Disclosures for more information. +

diff --git a/src/components/Discount.astro b/src/components/Discount.astro new file mode 100644 index 0000000..823255f --- /dev/null +++ b/src/components/Discount.astro @@ -0,0 +1,14 @@ + + + + + diff --git a/src/components/DividedSection.astro b/src/components/DividedSection.astro new file mode 100644 index 0000000..4459e78 --- /dev/null +++ b/src/components/DividedSection.astro @@ -0,0 +1,19 @@ +--- +import LeftHeading from "./LeftHeading.astro"; +import Section from "./Section.astro"; + +export type Props = { + header: string; + style?: string; +}; + +const { header, style } = Astro.props; +--- + +
+
+ + + +
+
diff --git a/src/components/EmailSubscribe.astro b/src/components/EmailSubscribe.astro new file mode 100644 index 0000000..026ccaf --- /dev/null +++ b/src/components/EmailSubscribe.astro @@ -0,0 +1,210 @@ +
+
+
+
+

Opt In for New Patterns

+
+
+
+
+ + + + + +
+ + +
+ +
+ + +
+
+ +
+ +
+
+
+
+
+
+ + diff --git a/src/components/Expander.astro b/src/components/Expander.astro new file mode 100644 index 0000000..fbba6a9 --- /dev/null +++ b/src/components/Expander.astro @@ -0,0 +1,48 @@ +--- +type Props = { + buttonTitle: string; +}; + +const { buttonTitle } = Astro.props; +--- + +
+

+ +

+ + +
+ + + + diff --git a/src/components/Gallery.astro b/src/components/Gallery.astro new file mode 100644 index 0000000..01e4c23 --- /dev/null +++ b/src/components/Gallery.astro @@ -0,0 +1,81 @@ +--- +import { Image } from "@astrojs/image/components"; +import type { CropPosition } from "@astrojs/image/dist/loaders"; + +type Props = { + pictures?: { picture: any; title: string; position?: CropPosition }[]; + glob?: Record any>; +}; + +let { pictures = [], glob } = Astro.props; + +if (glob) { + pictures = Object.entries(glob).map(([k, v]) => ({ + picture: v(), + title: k.split("/").at(-1)?.replaceAll(".jpg", "") || "", + })); +} + +for (const picture of pictures) { + picture.picture = await picture.picture; +} +--- + + + + diff --git a/src/components/Header.astro b/src/components/Header.astro new file mode 100644 index 0000000..fcf5c12 --- /dev/null +++ b/src/components/Header.astro @@ -0,0 +1,15 @@ +--- +export type Props = { + header: string; + tagline: string; +}; + +const { header, tagline } = Astro.props; +--- + +
+

+ {header} +

+

+

diff --git a/src/components/LeftHeading.astro b/src/components/LeftHeading.astro new file mode 100644 index 0000000..63f2b6c --- /dev/null +++ b/src/components/LeftHeading.astro @@ -0,0 +1,16 @@ +--- +export type Props = { + header: string; +}; + +const { header } = Astro.props; +--- + +
+
+

{header}

+
+
+ +
+
diff --git a/src/components/Partners.astro b/src/components/Partners.astro new file mode 100644 index 0000000..4abf3fa --- /dev/null +++ b/src/components/Partners.astro @@ -0,0 +1,31 @@ +--- +import { Image } from "@astrojs/image/components"; +import { partnerInfos } from "@/ts/partners"; + +type PartnerType = keyof typeof partnerInfos; + +type Props = { + partners?: PartnerType[]; +}; + +let { partners } = Astro.props; +partners = partners ?? (Object.keys(partnerInfos) as PartnerType[]); +--- + +{ + partners.map((partnerKey) => { + const { label, link, image } = partnerInfos[partnerKey]; + + return ( + + {label} + {label} + + ); + }) +} diff --git a/src/components/Section.astro b/src/components/Section.astro new file mode 100644 index 0000000..3c73d38 --- /dev/null +++ b/src/components/Section.astro @@ -0,0 +1,14 @@ +--- +export type Props = { + style?: string; +}; + +const { style = "style1" } = Astro.props; +--- + +
+
+ +
+ +
diff --git a/src/components/fabrics/FabricHorizontal.astro b/src/components/fabrics/FabricHorizontal.astro new file mode 100644 index 0000000..fb2f500 --- /dev/null +++ b/src/components/fabrics/FabricHorizontal.astro @@ -0,0 +1,61 @@ +--- +import { Image } from "@astrojs/image/components"; +import { ripstopLink } from "@/ts/links"; +import RatingCollection from "./RatingCollection.astro"; +import { partnerInfos } from "@/ts/partners"; + +type PartnerKeys = keyof typeof partnerInfos; + +type Props = { + ratings?: Record; + title: string; + image: any; + partners: Partial>; +}; + +const { ratings, title, partners, image } = Astro.props; +--- + +
+
+ + fabric + +
+ +
+

{title}

+ +
+ { + Object.entries(partners).map(([name, product]) => { + const { label, image, ...partnerInfo } = + partnerInfos[name as PartnerKeys]; + return ( + + {label} + {label} + + ); + }) + } +
+
+ +

+ +

+
+
diff --git a/src/components/fabrics/FabricVertical.astro b/src/components/fabrics/FabricVertical.astro new file mode 100644 index 0000000..cce14e5 --- /dev/null +++ b/src/components/fabrics/FabricVertical.astro @@ -0,0 +1,32 @@ +--- +import RatingCollection from "./RatingCollection.astro"; +import { Image } from "@astrojs/image/components"; + +type Props = { + ratings?: Record; + title: string; + image: any; +}; + +const { ratings, image, title } = Astro.props; +--- + +
+
+ + fabric + +
+

{title}

+ +

+ +

+
diff --git a/src/components/fabrics/Rating.astro b/src/components/fabrics/Rating.astro new file mode 100644 index 0000000..1b92a66 --- /dev/null +++ b/src/components/fabrics/Rating.astro @@ -0,0 +1,15 @@ +--- +type Props = { + character: string; + rating: number; + outOf?: number; +}; + +const { character, rating, outOf = 3 } = Astro.props; + +const gray = outOf - rating; +--- + +
+ {character.repeat(rating)}{character.repeat(gray)} +
diff --git a/src/components/fabrics/RatingCollection.astro b/src/components/fabrics/RatingCollection.astro new file mode 100644 index 0000000..a56c591 --- /dev/null +++ b/src/components/fabrics/RatingCollection.astro @@ -0,0 +1,28 @@ +--- +import Rating from "./Rating.astro"; + +type Props = { + ratings?: Record; +}; + +const { ratings } = Astro.props; +--- + +
+
+ { + ratings && + Object.entries(ratings).map(([character, rating]) => { + if (typeof rating === "string") { + return ( +
+ {character} {rating} +
+ ); + } + return ; + }) + } +
+ +
diff --git a/src/components/hardware/ButtonGroup.svelte b/src/components/hardware/ButtonGroup.svelte new file mode 100644 index 0000000..6bff16a --- /dev/null +++ b/src/components/hardware/ButtonGroup.svelte @@ -0,0 +1,71 @@ + + +
+ + + {#each values as temp} + + {@const { value, label } = + typeof temp === "string" ? { value: temp, label: temp } : temp} + + + {/each} +
+ + diff --git a/src/components/hardware/Filters.svelte b/src/components/hardware/Filters.svelte new file mode 100644 index 0000000..4a76fba --- /dev/null +++ b/src/components/hardware/Filters.svelte @@ -0,0 +1,87 @@ + + +
+ {#each buttonGroups as buttonGroup, i} + onClick(filter, buttonGroup, i)} + /> + {/each} +
+ + diff --git a/src/components/hardware/Hardware.svelte b/src/components/hardware/Hardware.svelte new file mode 100644 index 0000000..74bcf1f --- /dev/null +++ b/src/components/hardware/Hardware.svelte @@ -0,0 +1,56 @@ + + + + +{#if filteredProducts.length === 0} +
{loading ? "Loading ..." : "No Products Match"}
+{:else} +
+ {#each filteredProducts as product (product.id + product.vendor)} + + {/each} +
+{/if} + + diff --git a/src/components/hardware/Product.svelte b/src/components/hardware/Product.svelte new file mode 100644 index 0000000..a819f22 --- /dev/null +++ b/src/components/hardware/Product.svelte @@ -0,0 +1,80 @@ + + +
+ product +
+

{truncateString(product.title)}

+
+

{product.productSizes}

+

+ + vendor logo + +

+
+
+
+ + diff --git a/src/components/hardware/types.ts b/src/components/hardware/types.ts new file mode 100644 index 0000000..b59efb0 --- /dev/null +++ b/src/components/hardware/types.ts @@ -0,0 +1,19 @@ +import type { Product } from "@/pages/data/allProducts.json"; +export type { Product } from "@/pages/data/allProducts.json"; + +type ProductKeys = keyof Product; + +export type ProductFilter = { key: ProductKeys; value: string } | null; + +export type ButtonGroup = { + name?: string; + key: ProductKeys; + allLabel?: string; + values: ( + | { + label: string; + value: string; + } + | string + )[]; +}; diff --git a/src/components/hardwareReact/ButtonGroup.tsx b/src/components/hardwareReact/ButtonGroup.tsx new file mode 100644 index 0000000..46200ba --- /dev/null +++ b/src/components/hardwareReact/ButtonGroup.tsx @@ -0,0 +1,36 @@ +import type { ProductFilter, ButtonGroup } from "./types"; + +export default function ButtonGroup({ + filter, + updateFilter, + buttonGroup: { key, values, allLabel }, +}: { + filter: ProductFilter; + updateFilter: (newFilter: ProductFilter) => unknown; + buttonGroup: ButtonGroup; +}) { + return ( +
+ + + {values.map((temp) => { + const { value, label } = + typeof temp === "string" ? { value: temp, label: temp } : temp; + return ( + + ); + })} +
+ ); +} diff --git a/src/components/hardwareReact/Filters.tsx b/src/components/hardwareReact/Filters.tsx new file mode 100644 index 0000000..dd92fd6 --- /dev/null +++ b/src/components/hardwareReact/Filters.tsx @@ -0,0 +1,91 @@ +import type { ButtonGroup as ButtonGroupType, ProductFilter } from "./types"; +import ButtonGroup from "./ButtonGroup"; +import { useEffect } from "react"; + +function updateURL(name: string, value?: string) { + var searchParams = new URLSearchParams(window.location.search); + if (!value) { + searchParams.delete(name); + } else { + searchParams.set(name, value); + } + + var newRelativePathQuery = + window.location.pathname + "?" + searchParams.toString(); + history.pushState(null, "", newRelativePathQuery); +} + +const buttonGroups: ButtonGroupType[] = [ + { + key: "vendor", + allLabel: "All", + values: [ + "Ripstop by the Roll", + "Mozet Supplies", + "adventurexpert", + "Quest Outfitters", + ], + }, + { + name: "material", + key: "product_type", + values: ["plastic", "metal"], + }, + { + key: "product_type", + values: [ + ...["buckle", "sternum", "cord", "hook", "ring"].map((value) => ({ + value, + label: value + "s", + })), + "misc", + ], + }, +]; + +export default function Filters({ + filters, + setFilters, +}: { + filters: ProductFilter[]; + setFilters: React.Dispatch>; +}) { + function onClick( + newFilter: ProductFilter, + buttonGroup: ButtonGroupType, + i: number + ) { + const newFilters = [...filters]; + newFilters[i] = newFilter; + setFilters(newFilters); + + const nameOrKey = buttonGroup.name ?? buttonGroup.key; + updateURL(nameOrKey, newFilter?.value); + } + + useEffect(() => { + var searchParams = new URLSearchParams(window.location.search); + setFilters( + buttonGroups.map((buttonGroup) => { + const nameOrKey = buttonGroup.name ?? buttonGroup.key; + const value = searchParams.get(nameOrKey); + return !value ? null : { key: buttonGroup.key, value }; + }) + ); + }, [setFilters]); + + return ( +
+ {buttonGroups.map((buttonGroup, i) => ( + + onClick(newFilter, buttonGroup, i) + } + /> + ))} +
+ ); +} diff --git a/src/components/hardwareReact/Hardware.tsx b/src/components/hardwareReact/Hardware.tsx new file mode 100644 index 0000000..32a0020 --- /dev/null +++ b/src/components/hardwareReact/Hardware.tsx @@ -0,0 +1,48 @@ +import { useEffect, useState } from "react"; +import Product from "./Product"; +import Filters from "./Filters"; +import type { ProductFilter, Product as ProductType } from "./types"; + +//globally applies css +import "./hardware.css"; + +export function Hardware() { + const [products, setProducts] = useState([]); + const [loading, setLoading] = useState(true); + + async function fetchData() { + const res = await fetch("/data/allProducts.json"); + setProducts(await res.json()); + setLoading(false); + } + + useEffect(() => { + fetchData(); + }, []); + + const [filters, setFilters] = useState([]); + + const filteredProducts = products.filter((product) => + filters.every((filter) => { + if (!filter) return true; + const { key, value } = filter; + return product[key]?.toString().includes(value); + }) + ); + + return ( + <> + + + {filteredProducts.length === 0 ? ( +
{loading ? "Loading ..." : "No Products Match"}
+ ) : ( +
+ {filteredProducts.map((product) => ( + + ))} +
+ )} + + ); +} diff --git a/src/components/hardwareReact/Product.tsx b/src/components/hardwareReact/Product.tsx new file mode 100644 index 0000000..0e58703 --- /dev/null +++ b/src/components/hardwareReact/Product.tsx @@ -0,0 +1,33 @@ +import type { Product } from "./types"; + +function truncateString(str: string, num = 30) { + return str.length > num ? str.slice(0, num) + "..." : str; +} + +export default function Product({ product }: { product: Product }) { + return ( +
+ product +
+

{truncateString(product.title)}

+
+

{product.productSizes}

+

+ + vendor logo + +

+
+
+
+ ); +} diff --git a/src/components/hardwareReact/hardware.css b/src/components/hardwareReact/hardware.css new file mode 100644 index 0000000..e3258b8 --- /dev/null +++ b/src/components/hardwareReact/hardware.css @@ -0,0 +1,118 @@ +.ui-group { + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +.ui-group .button-group { + display: flex; + flex-wrap: wrap; +} + +.button-group > button { + border-radius: 0; + padding: 0 2em; + letter-spacing: normal; +} + +.button-group button:first-child { + border-radius: 3.75em 0 0 3.75em; +} +.button-group button:last-child { + border-radius: 0 3.75em 3.75em 0; +} + +@media screen and (max-width: 900px) { + .button-group > button { + padding: 0 1.5em; + } +} + +@media screen and (max-width: 768px) { + .filters.wrapper.style1 > .inner { + padding: 2rem 2rem 0rem 2rem; + } + .ui-group { + display: inline-flex; + flex-wrap: wrap; + } + + .button-group > button { + margin: 0.125rem; + padding: 0 1rem; + letter-spacing: normal; + } + + .button-group button:first-child { + border-radius: 0; + } + .button-group button:last-child { + border-radius: 0; + } +} + +#card-shelf { + /* margin: auto; */ + display: grid; + grid-template-columns: repeat(auto-fit, minmax(120px, 20%)); + grid-gap: 0px; + padding-bottom: 1rem; +} + +@media screen and (max-width: 480px) { + #card-shelf { + grid-template-columns: repeat(auto-fit, minmax(120px, 50%)); + grid-gap: 0px; + } +} + +.card { + display: grid; + background: white; + border: 0.1px solid lightslategray; + text-align: left; +} + +.card img { + width: 100%; + aspect-ratio: 1 / 1; + object-fit: cover; +} + +.card p { + margin: 0; +} + +.card-info { + display: grid; + align-content: space-between; + padding: 0 0.5rem; +} + +.card-info .title { + display: inherit; +} + +.card-info .details { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: nowrap; +} + +.card-info .vendor { + display: inherit; + color: #667788; +} + +.card-info .option { + display: inherit; + font-size: 0.8rem; +} + +.card-info .vendor img { + margin: 8px; + width: 40px; + aspect-ratio: 1 / 1; + border-radius: 20px; +} diff --git a/src/components/hardwareReact/types.ts b/src/components/hardwareReact/types.ts new file mode 100644 index 0000000..b59efb0 --- /dev/null +++ b/src/components/hardwareReact/types.ts @@ -0,0 +1,19 @@ +import type { Product } from "@/pages/data/allProducts.json"; +export type { Product } from "@/pages/data/allProducts.json"; + +type ProductKeys = keyof Product; + +export type ProductFilter = { key: ProductKeys; value: string } | null; + +export type ButtonGroup = { + name?: string; + key: ProductKeys; + allLabel?: string; + values: ( + | { + label: string; + value: string; + } + | string + )[]; +}; diff --git a/src/components/navigation/Footer.astro b/src/components/navigation/Footer.astro new file mode 100644 index 0000000..e0375ec --- /dev/null +++ b/src/components/navigation/Footer.astro @@ -0,0 +1,78 @@ + + + diff --git a/src/components/navigation/Header.astro b/src/components/navigation/Header.astro new file mode 100644 index 0000000..0bb3b1e --- /dev/null +++ b/src/components/navigation/Header.astro @@ -0,0 +1,6 @@ + + diff --git a/src/components/navigation/Nav.astro b/src/components/navigation/Nav.astro new file mode 100644 index 0000000..deb30bb --- /dev/null +++ b/src/components/navigation/Nav.astro @@ -0,0 +1,144 @@ +--- +const { pathname } = Astro.url; +const links = [ + { + href: "/", + value: "Patterns", + }, + { + href: "/zerotohero", + value: "Getting Started", + }, + { + href: "/fabrics", + value: "Fabrics", + }, + { + href: "/hardware", + value: "Hardware", + }, + { + href: "/map", + value: "MYOG Suppliers", + }, +]; +--- + + + + + + diff --git a/src/components/pageLinks/ArticleLink.astro b/src/components/pageLinks/ArticleLink.astro new file mode 100644 index 0000000..58a31e1 --- /dev/null +++ b/src/components/pageLinks/ArticleLink.astro @@ -0,0 +1,29 @@ +--- +import { getEntryBySlug, CollectionEntry } from "astro:content"; +import { Image } from "@astrojs/image/components"; + +interface Props { + slug: CollectionEntry<"article">["slug"]; + image: any; +} + +const { slug, image } = Astro.props; + +const { data, collection } = await getEntryBySlug("article", slug); +--- + +
+ + + + {data.title} + + +

{data.linkTitle}

+
diff --git a/src/components/pageLinks/PatternLink.astro b/src/components/pageLinks/PatternLink.astro new file mode 100644 index 0000000..0d936ee --- /dev/null +++ b/src/components/pageLinks/PatternLink.astro @@ -0,0 +1,29 @@ +--- +import { getEntryBySlug, CollectionEntry } from "astro:content"; +import { Image } from "@astrojs/image/components"; + +interface Props { + slug: CollectionEntry<"pattern">["slug"]; + image: any; +} + +const { slug, image } = Astro.props; + +const { data, collection } = await getEntryBySlug("pattern", slug); +--- + +
+ + + + {data.title} + + +

{data.title || data.linkTitle}

+
diff --git a/src/content/article/3d-corners.mdx b/src/content/article/3d-corners.mdx new file mode 100644 index 0000000..371dcec --- /dev/null +++ b/src/content/article/3d-corners.mdx @@ -0,0 +1,62 @@ +--- +layout: "@/layouts/Article.astro" +title: "3D Corners, Turns and Tight Curves" +tagline: "How to Sew Boxed Corners, Gusset Turns, and Tight Curves" +linkTitle: "Corners & Curves" +--- + +import LeftHeading from "@/components/LeftHeading.astro"; +import { Image } from "@astrojs/image/components"; + + + + I'll let you in on the secret to clean crisp 3D boxed corners. It comes down to one simple trick! + + + fabric + + + Boxed corners are used when assembling the last panel to a backpack, often the bottom panel. Last thing anyone wants is to end up with slouchy, wrinkly corners in the final step. By planning ahead, that last panel sews in perfectly without fuss or seam ripping. + + The trick is to _always respect your seam allowances_. + + Here's how it's done. + + 1. Sew panels 1 and 2 right sides together (RST) but stop short of the bottom edge, reserving seam allowance for the bottom panel. + 2. Align panels 1 and 3 seam line and sew RST and again stop short of side seam allowance. + 3. Align panels 2 and 3 seam line and sew RST. Backtack to lock your seam. + 4. Go back and reinforce your corners with short backtacks to close any small gaps. + 5. To reduce seam bulk, trim the corner seam allowance. Be sure to leave ~1/8" (3mm) of seam allowance! + 6. The boxed corner should have three distinct seam lines and now ready for seam binding + +
+ +
+ + As with all things, practice makes perfect. + If just starting out, give our [Everyday Fanny Pack](/edcFannyPack.html) a go using [HyperD 300](/fabrics) and zippers from your local craft store. + When you've got it down, step up your skills by making a [Totepack](/edTotepack.html) or a [Bikepacking Hip Pack](/hipPack.html)! + + ### 🔥 Reuse excess zipper tape for color-matched ribbon! + +
+
+
+ + + | Size | Chain Type | Tape Width | Combined Width | Application | + | ---- | ---------- | ---------- | -------------- | --------------------------------- | + | #3 | Coil | 3/8" | 1" | Wallets, ditty pouches, zip sacks | + | #5 | Coil | 1/2" | 1 1/4" | Backpacks, frame bags, tote bags | + + + + YKK is my preferred brand for high quality, durable, and low-cost coil zippers. Below is a sample of products from the vendors I personally shop and trust. + + RipstopbytheRoll + + + QuestOutfitters + + + Wawak + + + AdventurExpert + + \ No newline at end of file diff --git a/src/content/config.ts b/src/content/config.ts new file mode 100644 index 0000000..483e826 --- /dev/null +++ b/src/content/config.ts @@ -0,0 +1,20 @@ +// 1. Import utilities from `astro:content` +import { z, defineCollection } from "astro:content"; +// 2. Define your collection(s) + +// 3. Export a single `collections` object to register your collection(s) +// This key should match your collection directory name in "src/content" +export const collections = { + article: defineCollection({ + schema: z.object({ + title: z.string(), + linkTitle: z.string(), + }), + }), + pattern: defineCollection({ + schema: z.object({ + title: z.string(), + linkTitle: z.string().optional(), + }), + }), +}; diff --git a/src/content/pattern/alpha-camp-pants.mdx b/src/content/pattern/alpha-camp-pants.mdx new file mode 100644 index 0000000..7999102 --- /dev/null +++ b/src/content/pattern/alpha-camp-pants.mdx @@ -0,0 +1,203 @@ +--- +layout: "@/layouts/Markdown.astro" +title: "Alpha Camp Pants" +description: "Learn to Make Your Own Gear (MYOG) sewing patterns for outdoor adventurers. Alpha Direct hoodie pants combo." +--- + +import Section from "@/components/Section.astro"; +import DividedSection from "@/components/DividedSection.astro"; +import Header from "@/components/Header.astro"; +import Discount from "@/components/Discount.astro"; +import Gallery from "@/components/Gallery.astro"; +import Expander from "@/components/Expander.astro"; +import LeftHeading from "@/components/LeftHeading.astro"; +import Partners from "@/components/Partners.astro"; +import { Image } from "@astrojs/image/components"; + +
+
+ + + + +
+ + + + Athletic fit thermal joggers that pair perfectly with our [Alpha Raglan Hoodie](/alphaRaglan) + + - Wear casually on their own, layered, or to extend your quilts comfort range + - Designed for Polartec® fabrics including Alpha® Direct, the ultralight performer + - Optional seat and knee reinforcing overlays for vintage mountaineering durability + - Regular rise with crotch gusset for frontcountry comfort + - Roomy, bulk-free hand pockets that stay in place and won't bunch up + - Low profile yoga-style stretch waistband with an elastic-free construction + - Tapered leg and stretch cuffs prevent sleep pants from riding up all night + + ### Garment Fit + + Alpha Camp Pants have an athletic jogger fit. Relaxed around the hips and thigh. Slim leg that tapers to a stretch-knit ankle cuff. Full rise with crotch gusset for squat comfort and easily adjusted pant length to nail the perfect fit. + + For a women's fit, common adjustments may include shortening the pants rise, shortening the inseam, or adjusting the leg taper. Instructions are included based on successful independent pattern tests. Thank you [@Ms.Math](https://www.instagram.com/ms.math/), [@Madeby_Francesca](https://www.instagram.com/madeby_francesca/), and [@Discovery Fabrics](https://www.instagram.com/discoveryfabrics/) + + ### Body Measurements + + The sewing pattern covers a wide range of sizes corresponding to men's XS to XXL. Full hip/seat is the main sizing measurement, the maximum horizontal circumference around hips and butt. See body measurements shown in photo gallery above. + + ### Sewing Skill Level - Advanced Beginner + + Alpha Camp Pants are designed for knit fabrics. While the instructions detail every step, familiarity with sewing terms and construction techniques is expected. Serging simplifies construction however a zig zag and overlock stitch work just as well to maintain stretch and finished raw edges. This is a straightforward beginner apparel pattern and stretch fabrics are forgiving. Make a prototype and have fun! + + + + + - Comprehensive step-by-step sewing instructions with detailed photos + - Cut layout, material yardages, sizing recommendations, and construction photos + - Six sizes and instructions for common fit adjustments for men and women + - Color-coded sizes for ease of pattern cutting + - Seam allowances included for all pattern panels and sizes + - Multiple PDF paper sizes for printing convenience + - Print at home on 8.5x11 inch Letter or A4 sized paper + - Print at office on 11x17 inch tabloid or A3 sized paper + - Print at copyshop on 36x48 inch or A0 sized sheet + + $20 + + Valid email address required for download link and revision + notifications. + + + + + | Material | Recommended | Length (Width) | + | --------------------- | ---------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | + | Main Fabric | Thermal fleece with 20%+ stretch side-to-side and 10%+ stretch along length | XS-M: 1.25 yd (58")
L-2X: 2.5 yd (58") | + | Waist and Cuffs | Activewear 4-way stretch knit, 30%+ stretch similar to yoga pants | 0.25 yd (58") | + | Pocket Bag | Lightweight pocket lining, wicking knit, or substitute for main fabric | XS-M: 0.25yd (42")
L-2X: 0.5yd (42") | + | Overlays (optional) | Bottomweight stretch woven with 5-10% spandex content and DWR coating | 0.5yd (58") | + | Pocket Binding | Fold over elastic or self made stretch binding | 20 inches (5/8-3/4") | + | Drawstring (optional) | Flat cord or shoestring | 10-12" longer than pant-waist (3/8-1/2") | + | Fusible Interfacing | Lightweight fusible interfacing such as [Pellon PLF36](https://pellonprojects.com/products/plf36-fusible-interfacing/) | small scrap | + + For the main fabric, there are many variants and weights in all Polartec® product categories such as Alpha® Direct, Power Stretch®, and Power Grid™. For Alpha Direct sleep pants, Polartec style #4028 (68gsm) or #4004 (86gsm) are ideal. Don't just take my word for it, here's Leslie @DiscoveryFabrics with more information! + + ### Recommended Fabric Vendors + +
+ +
+ + + + Save $15 on your order at [Discovery Fabrics](https://r.efer.me/6619983774018) using this link! + + + Suggested needle and thread pairing for this project is: + +
    +
  • 🪡 Ballpoint or Stretch needles, size 80/12
  • +
  • 🧵 Gutermann All-Purpose (MARA 100) Tex 30 polyester thread
  • +
  • 🧵 A&E Maxi-Lock Serger spun polyester Tex 27 thread
  • +
+ +
+ +
+ +
+

Additional Resources

+
+
+
+ + +
+
+
Follow along as I sew Alpha Camp Pants
+
+
+ + + + +
diff --git a/src/content/pattern/alpha-raglan.mdx b/src/content/pattern/alpha-raglan.mdx new file mode 100644 index 0000000..36a75c9 --- /dev/null +++ b/src/content/pattern/alpha-raglan.mdx @@ -0,0 +1,281 @@ +--- +layout: "@/layouts/Markdown.astro" +title: "Alpha Raglan Hoodie" +description: "Learn to Make Your Own Gear (MYOG) sewing patterns for outdoor adventurers. Alpha Direct hoodie pants combo." +--- + +import Section from "@/components/Section.astro"; +import DividedSection from "@/components/DividedSection.astro"; +import Header from "@/components/Header.astro"; +import Discount from "@/components/Discount.astro"; +import Gallery from "@/components/Gallery.astro"; +import Expander from "@/components/Expander.astro"; +import LeftHeading from "@/components/LeftHeading.astro"; +import Partners from "@/components/Partners.astro"; +import { Image } from "@astrojs/image/components"; + +
+
+ + + +
+ +
+ + + + +
+ + + + ### Alpha Raglan Hoodie + + - Minimalist pullover design with a modern style and fitted hood + - Raglan sleeves with deep shoulder seams to avoid shoulder strap discomfort + - Two hood styles included with or without cinch cord - balaclava and open neck + - Designed for Polartec® Alpha® Direct for high breathability and great warmth-to-weight + - Other great fabric options for a midlayer include fleece and Polartec® Power Grid™ + + ### Sewing Skill Level - Advanced Beginner + + While a beginner can make this project, familiarity with sewing terms and construction techniques is expected. + For best results, a serger is recommended. A zig zag stitch will work but results may vary based on individual skill. + This is a great beginner garment pattern and fleece is forgiving. Make a prototype and have fun! + + + ### Body Measurements and Fit Guide + + Detailed instructions on getting a great fit are included. + Sizing covers XXS to XL with ten increments for getting the perfect fit. + Custom fit adjustments are illustrated within the instructions. + In the photos, I'm (6'0" tall, 170 lbs, 39" chest) wearing a size SM (sub-size medium) for 2" of ease around chest. + + | Body Measurement (inches) | XXS | XS | S | M | L | XL | + | ------------------------- | ----- | ----- | ----- | ----- | ----- | ----- | + | Chest | 30-32 | 33-34 | 35-37 | 38-40 | 41-44 | 45-48 | + | Natural Waist | 24-26 | 26-27 | 28-30 | 32-34 | 36-38 | 40-42 | + | Low Waist | 30-32 | 33-34 | 35-37 | 38-41 | 42-45 | 46-48 | + | Sleeve | 30 | 31 | 32 | 33 | 34 | 35 | + + + + + + Polartec® Alpha® Direct is available in a few variants so be sure to verify the sytle number you're purchasing. + + - Alpha Direct Style 4028, 68 gsm is the UL king of base layers + - Alpha Direct Style 4004, 86 gsm is a happy medium + - Alpha Direct Style 4008, 120 gsm performs as a cold weather midlayer + - Alpha Direct Style 4024, 186 gsm for extreme warmth + - Alpha Direct with Wool Style 4048, 153 gsm in a polyester and wool blend + + + ### Recommended Fabric Vendors + +
+ +
+ + + Save $15 on your order at Discovery Fabrics using this link. + + + | Fabric Panel | Recommended | Length (Width) | + | --------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- | + | Main Body | Polartec® Alpha® Direct | 2 yd (58") | + | Hood Facings | Self fabric, stretch jersey or performance knit | 8 inches (30") | + | Hood Cinch Cord | [3/32" Shock Cord](https://ripstopbytheroll.com/products/shock-cord?rfsn=4608557.2d546b9&variant=27906340225) | 30 inches | + | Cinch Hardware | [Mini Cord Lock](https://ripstopbytheroll.com/products/mini-cordlock?rfsn=4608557.2d546b9&variant=958747517), plastic stopper bead | one each | + | Edge Binding | Fold-over elastic or stretch double fold bias binding | 3 yd (5/8" - 1" wide) minimum | + + + +
+ +
+
+
+
+ ### Digital Sewing Pattern +
+
+ - Complete step-by-step sewing instructions with photos + - Cut layout, pattern sizing, and custom fit adjustment instructions + - Ten non-gendered sizes from XXS-XL for getting the perfect fit + - Two hood variants - Balaclava style or open neck Overlap style + - Seam allowances included for all pattern panels and sizes + - Multiple PDF paper sizes for printing convenience + - Print at home on 8.5x11 inch Letter or A4 sized paper + - Print at office on 11x17 inch tabloid or A3 sized paper + - Large format on two 36x48 inch sized sheets (North America) + - Large format on three A0 sized sheets (UK/EU) + + $20 + + Valid email address required for download link and revision notifications. +
+
+ +
+
+ ### Maker Kit +
+
+ + Limited Quantity Drop + + + + + + + - Physical large format pattern, printed in color on two 36x48 inch sheets + - 4" square fabric sample of Alpha Direct 60gsm (orange) and 120gsm (charcoal) + - Two "MYOG 2022" labels custom made with gray heat transfer vinyl on 1.5" wide black grosgrain ribbon + - Two mini cord locks and two stopper beads. Works with hood cinch up to 3/32" (2 mm) shock cord + - Includes the Digital Sewing Pattern for immediate download + + +
+
+
+
+ + + +
+ +
+ ## Additional Resources +
+ +
+
+ + +
+
+
Sew along with me to make your own Alpha Raglan Hoodie
+
+
+ + +
+
+
My preferred method of sewing stretch binding around cuffs and waist. Same applies for simple hood openings.
+
+
+ + + + + +
diff --git a/src/env.d.ts b/src/env.d.ts new file mode 100644 index 0000000..642e26e --- /dev/null +++ b/src/env.d.ts @@ -0,0 +1,3 @@ +/// +/// +/// diff --git a/src/images/about/Colchuck Lake.jpg b/src/images/about/Colchuck Lake.jpg new file mode 100644 index 0000000..ad5e8bb Binary files /dev/null and b/src/images/about/Colchuck Lake.jpg differ diff --git a/src/images/about/Eight Mile Lake.jpg b/src/images/about/Eight Mile Lake.jpg new file mode 100644 index 0000000..e11921a Binary files /dev/null and b/src/images/about/Eight Mile Lake.jpg differ diff --git a/src/images/about/Mary Peak.JPG b/src/images/about/Mary Peak.JPG new file mode 100644 index 0000000..6911e44 Binary files /dev/null and b/src/images/about/Mary Peak.JPG differ diff --git a/src/images/about/Paradise Rainier NP.JPG b/src/images/about/Paradise Rainier NP.JPG new file mode 100644 index 0000000..b7a396a Binary files /dev/null and b/src/images/about/Paradise Rainier NP.JPG differ diff --git a/src/images/about/profile.JPG b/src/images/about/profile.JPG new file mode 100644 index 0000000..a192491 Binary files /dev/null and b/src/images/about/profile.JPG differ diff --git a/src/images/about/thumbs/Colchuck Lake.jpg b/src/images/about/thumbs/Colchuck Lake.jpg new file mode 100644 index 0000000..72e1835 Binary files /dev/null and b/src/images/about/thumbs/Colchuck Lake.jpg differ diff --git a/src/images/about/thumbs/Eight Mile Lake.jpg b/src/images/about/thumbs/Eight Mile Lake.jpg new file mode 100644 index 0000000..f307aae Binary files /dev/null and b/src/images/about/thumbs/Eight Mile Lake.jpg differ diff --git a/src/images/about/thumbs/Mary Peak.JPG b/src/images/about/thumbs/Mary Peak.JPG new file mode 100644 index 0000000..c286896 Binary files /dev/null and b/src/images/about/thumbs/Mary Peak.JPG differ diff --git a/src/images/about/thumbs/Paradise Rainier NP.JPG b/src/images/about/thumbs/Paradise Rainier NP.JPG new file mode 100644 index 0000000..ebc4905 Binary files /dev/null and b/src/images/about/thumbs/Paradise Rainier NP.JPG differ diff --git a/src/images/about/thumbs/whites.jpg b/src/images/about/thumbs/whites.jpg new file mode 100644 index 0000000..8870014 Binary files /dev/null and b/src/images/about/thumbs/whites.jpg differ diff --git a/src/images/about/whites.jpg b/src/images/about/whites.jpg new file mode 100644 index 0000000..8012227 Binary files /dev/null and b/src/images/about/whites.jpg differ diff --git a/src/images/alphaCampPants/build/preview-red.jpg b/src/images/alphaCampPants/build/preview-red.jpg new file mode 100644 index 0000000..899c2be Binary files /dev/null and b/src/images/alphaCampPants/build/preview-red.jpg differ diff --git a/src/images/alphaCampPants/build/step1.3.jpg b/src/images/alphaCampPants/build/step1.3.jpg new file mode 100644 index 0000000..6fb1114 Binary files /dev/null and b/src/images/alphaCampPants/build/step1.3.jpg differ diff --git a/src/images/alphaCampPants/build/step1.3a.jpg b/src/images/alphaCampPants/build/step1.3a.jpg new file mode 100644 index 0000000..63885aa Binary files /dev/null and b/src/images/alphaCampPants/build/step1.3a.jpg differ diff --git a/src/images/alphaCampPants/build/step2.1.jpg b/src/images/alphaCampPants/build/step2.1.jpg new file mode 100644 index 0000000..9d943ec Binary files /dev/null and b/src/images/alphaCampPants/build/step2.1.jpg differ diff --git a/src/images/alphaCampPants/build/step2.2.jpg b/src/images/alphaCampPants/build/step2.2.jpg new file mode 100644 index 0000000..d0dcc53 Binary files /dev/null and b/src/images/alphaCampPants/build/step2.2.jpg differ diff --git a/src/images/alphaCampPants/build/step2.3.jpg b/src/images/alphaCampPants/build/step2.3.jpg new file mode 100644 index 0000000..2dae405 Binary files /dev/null and b/src/images/alphaCampPants/build/step2.3.jpg differ diff --git a/src/images/alphaCampPants/build/step2.4.jpg b/src/images/alphaCampPants/build/step2.4.jpg new file mode 100644 index 0000000..47dda84 Binary files /dev/null and b/src/images/alphaCampPants/build/step2.4.jpg differ diff --git a/src/images/alphaCampPants/build/step2.6.jpg b/src/images/alphaCampPants/build/step2.6.jpg new file mode 100644 index 0000000..83288c9 Binary files /dev/null and b/src/images/alphaCampPants/build/step2.6.jpg differ diff --git a/src/images/alphaCampPants/build/step3.1.jpg b/src/images/alphaCampPants/build/step3.1.jpg new file mode 100644 index 0000000..0aef0e2 Binary files /dev/null and b/src/images/alphaCampPants/build/step3.1.jpg differ diff --git a/src/images/alphaCampPants/build/step4.1.jpg b/src/images/alphaCampPants/build/step4.1.jpg new file mode 100644 index 0000000..20ffbcc Binary files /dev/null and b/src/images/alphaCampPants/build/step4.1.jpg differ diff --git a/src/images/alphaCampPants/build/step5.1.jpg b/src/images/alphaCampPants/build/step5.1.jpg new file mode 100644 index 0000000..9b7dffc Binary files /dev/null and b/src/images/alphaCampPants/build/step5.1.jpg differ diff --git a/src/images/alphaCampPants/build/step5.2.jpg b/src/images/alphaCampPants/build/step5.2.jpg new file mode 100644 index 0000000..1d28a71 Binary files /dev/null and b/src/images/alphaCampPants/build/step5.2.jpg differ diff --git a/src/images/alphaCampPants/build/step6.1.jpg b/src/images/alphaCampPants/build/step6.1.jpg new file mode 100644 index 0000000..eb024f7 Binary files /dev/null and b/src/images/alphaCampPants/build/step6.1.jpg differ diff --git a/src/images/alphaCampPants/build/step6.2.jpg b/src/images/alphaCampPants/build/step6.2.jpg new file mode 100644 index 0000000..0f25cf5 Binary files /dev/null and b/src/images/alphaCampPants/build/step6.2.jpg differ diff --git a/src/images/alphaCampPants/build/step7.2.jpg b/src/images/alphaCampPants/build/step7.2.jpg new file mode 100644 index 0000000..b9685e8 Binary files /dev/null and b/src/images/alphaCampPants/build/step7.2.jpg differ diff --git a/src/images/alphaCampPants/build/step8.1.jpg b/src/images/alphaCampPants/build/step8.1.jpg new file mode 100644 index 0000000..80ada84 Binary files /dev/null and b/src/images/alphaCampPants/build/step8.1.jpg differ diff --git a/src/images/alphaCampPants/build/step8.2.jpg b/src/images/alphaCampPants/build/step8.2.jpg new file mode 100644 index 0000000..79669c1 Binary files /dev/null and b/src/images/alphaCampPants/build/step8.2.jpg differ diff --git a/src/images/alphaCampPants/build/step8.3.jpg b/src/images/alphaCampPants/build/step8.3.jpg new file mode 100644 index 0000000..dc4b818 Binary files /dev/null and b/src/images/alphaCampPants/build/step8.3.jpg differ diff --git a/src/images/alphaCampPants/build/step8.6.jpg b/src/images/alphaCampPants/build/step8.6.jpg new file mode 100644 index 0000000..664f3b4 Binary files /dev/null and b/src/images/alphaCampPants/build/step8.6.jpg differ diff --git a/src/images/alphaCampPants/build/step8.7.jpg b/src/images/alphaCampPants/build/step8.7.jpg new file mode 100644 index 0000000..a981bbe Binary files /dev/null and b/src/images/alphaCampPants/build/step8.7.jpg differ diff --git a/src/images/alphaCampPants/build/step8.8.jpg b/src/images/alphaCampPants/build/step8.8.jpg new file mode 100644 index 0000000..9b51eb7 Binary files /dev/null and b/src/images/alphaCampPants/build/step8.8.jpg differ diff --git a/src/images/alphaCampPants/build/step9.5.jpg b/src/images/alphaCampPants/build/step9.5.jpg new file mode 100644 index 0000000..a442a26 Binary files /dev/null and b/src/images/alphaCampPants/build/step9.5.jpg differ diff --git a/src/images/alphaCampPants/build/stepA.2.jpg b/src/images/alphaCampPants/build/stepA.2.jpg new file mode 100644 index 0000000..2da0251 Binary files /dev/null and b/src/images/alphaCampPants/build/stepA.2.jpg differ diff --git a/src/images/alphaCampPants/build/stepA.4.jpg b/src/images/alphaCampPants/build/stepA.4.jpg new file mode 100644 index 0000000..305e676 Binary files /dev/null and b/src/images/alphaCampPants/build/stepA.4.jpg differ diff --git a/src/images/alphaCampPants/build/stepA.7.jpg b/src/images/alphaCampPants/build/stepA.7.jpg new file mode 100644 index 0000000..627f342 Binary files /dev/null and b/src/images/alphaCampPants/build/stepA.7.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step1.3.jpg b/src/images/alphaCampPants/build/thumbs/step1.3.jpg new file mode 100644 index 0000000..a58d78b Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step1.3.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step1.3a.jpg b/src/images/alphaCampPants/build/thumbs/step1.3a.jpg new file mode 100644 index 0000000..65822fe Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step1.3a.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step2.1.jpg b/src/images/alphaCampPants/build/thumbs/step2.1.jpg new file mode 100644 index 0000000..e891004 Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step2.1.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step2.2.jpg b/src/images/alphaCampPants/build/thumbs/step2.2.jpg new file mode 100644 index 0000000..7c0967a Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step2.2.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step2.3.jpg b/src/images/alphaCampPants/build/thumbs/step2.3.jpg new file mode 100644 index 0000000..c4e3f11 Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step2.3.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step2.4.jpg b/src/images/alphaCampPants/build/thumbs/step2.4.jpg new file mode 100644 index 0000000..acb5e71 Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step2.4.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step2.6.jpg b/src/images/alphaCampPants/build/thumbs/step2.6.jpg new file mode 100644 index 0000000..827afdf Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step2.6.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step3.1.jpg b/src/images/alphaCampPants/build/thumbs/step3.1.jpg new file mode 100644 index 0000000..846791c Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step3.1.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step4.1.jpg b/src/images/alphaCampPants/build/thumbs/step4.1.jpg new file mode 100644 index 0000000..132cb08 Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step4.1.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step5.1.jpg b/src/images/alphaCampPants/build/thumbs/step5.1.jpg new file mode 100644 index 0000000..829fe97 Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step5.1.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step5.2.jpg b/src/images/alphaCampPants/build/thumbs/step5.2.jpg new file mode 100644 index 0000000..2562709 Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step5.2.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step6.1.jpg b/src/images/alphaCampPants/build/thumbs/step6.1.jpg new file mode 100644 index 0000000..702f8a8 Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step6.1.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step6.2.jpg b/src/images/alphaCampPants/build/thumbs/step6.2.jpg new file mode 100644 index 0000000..7d58eed Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step6.2.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step7.2.jpg b/src/images/alphaCampPants/build/thumbs/step7.2.jpg new file mode 100644 index 0000000..9b8a0c0 Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step7.2.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step8.1.jpg b/src/images/alphaCampPants/build/thumbs/step8.1.jpg new file mode 100644 index 0000000..319417c Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step8.1.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step8.2.jpg b/src/images/alphaCampPants/build/thumbs/step8.2.jpg new file mode 100644 index 0000000..613d8c9 Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step8.2.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step8.3.jpg b/src/images/alphaCampPants/build/thumbs/step8.3.jpg new file mode 100644 index 0000000..fe66051 Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step8.3.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step8.6.jpg b/src/images/alphaCampPants/build/thumbs/step8.6.jpg new file mode 100644 index 0000000..d201e23 Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step8.6.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step8.7.jpg b/src/images/alphaCampPants/build/thumbs/step8.7.jpg new file mode 100644 index 0000000..173565f Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step8.7.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step8.8.jpg b/src/images/alphaCampPants/build/thumbs/step8.8.jpg new file mode 100644 index 0000000..ec7980c Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step8.8.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/step9.5.jpg b/src/images/alphaCampPants/build/thumbs/step9.5.jpg new file mode 100644 index 0000000..cf9255c Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/step9.5.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/stepA.2.jpg b/src/images/alphaCampPants/build/thumbs/stepA.2.jpg new file mode 100644 index 0000000..5b002e7 Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/stepA.2.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/stepA.4.jpg b/src/images/alphaCampPants/build/thumbs/stepA.4.jpg new file mode 100644 index 0000000..bdfdc7d Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/stepA.4.jpg differ diff --git a/src/images/alphaCampPants/build/thumbs/stepA.7.jpg b/src/images/alphaCampPants/build/thumbs/stepA.7.jpg new file mode 100644 index 0000000..0c56b1e Binary files /dev/null and b/src/images/alphaCampPants/build/thumbs/stepA.7.jpg differ diff --git a/src/images/alphaCampPants/camosnap.jpg b/src/images/alphaCampPants/camosnap.jpg new file mode 100644 index 0000000..9123ecf Binary files /dev/null and b/src/images/alphaCampPants/camosnap.jpg differ diff --git a/src/images/alphaCampPants/discovery/1.jpg b/src/images/alphaCampPants/discovery/1.jpg new file mode 100644 index 0000000..8b0d492 Binary files /dev/null and b/src/images/alphaCampPants/discovery/1.jpg differ diff --git a/src/images/alphaCampPants/discovery/2.jpg b/src/images/alphaCampPants/discovery/2.jpg new file mode 100644 index 0000000..c25dc5b Binary files /dev/null and b/src/images/alphaCampPants/discovery/2.jpg differ diff --git a/src/images/alphaCampPants/discovery/3.jpg b/src/images/alphaCampPants/discovery/3.jpg new file mode 100644 index 0000000..87228f0 Binary files /dev/null and b/src/images/alphaCampPants/discovery/3.jpg differ diff --git a/src/images/alphaCampPants/discovery/thumbs/1.jpg b/src/images/alphaCampPants/discovery/thumbs/1.jpg new file mode 100644 index 0000000..50f9f9e Binary files /dev/null and b/src/images/alphaCampPants/discovery/thumbs/1.jpg differ diff --git a/src/images/alphaCampPants/discovery/thumbs/2.jpg b/src/images/alphaCampPants/discovery/thumbs/2.jpg new file mode 100644 index 0000000..0e6ca41 Binary files /dev/null and b/src/images/alphaCampPants/discovery/thumbs/2.jpg differ diff --git a/src/images/alphaCampPants/discovery/thumbs/3.jpg b/src/images/alphaCampPants/discovery/thumbs/3.jpg new file mode 100644 index 0000000..730f256 Binary files /dev/null and b/src/images/alphaCampPants/discovery/thumbs/3.jpg differ diff --git a/src/images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_SQ_Thumb.jpg b/src/images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_SQ_Thumb.jpg new file mode 100644 index 0000000..e2472f2 Binary files /dev/null and b/src/images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_SQ_Thumb.jpg differ diff --git a/src/images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_YT_Thumb.jpg b/src/images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_YT_Thumb.jpg new file mode 100644 index 0000000..49dde06 Binary files /dev/null and b/src/images/alphaCampPants/discovery/thumbs/DiscoveryFabrics_YT_Thumb.jpg differ diff --git a/src/images/alphaCampPants/hero.jpg b/src/images/alphaCampPants/hero.jpg new file mode 100644 index 0000000..c5464b6 Binary files /dev/null and b/src/images/alphaCampPants/hero.jpg differ diff --git a/src/images/alphaCampPants/instructionpreview.png b/src/images/alphaCampPants/instructionpreview.png new file mode 100644 index 0000000..0c0d70e Binary files /dev/null and b/src/images/alphaCampPants/instructionpreview.png differ diff --git a/src/images/alphaCampPants/patterncard.png b/src/images/alphaCampPants/patterncard.png new file mode 100644 index 0000000..a1090ea Binary files /dev/null and b/src/images/alphaCampPants/patterncard.png differ diff --git a/src/images/alphaCampPants/preview-red.jpg b/src/images/alphaCampPants/preview-red.jpg new file mode 100644 index 0000000..899c2be Binary files /dev/null and b/src/images/alphaCampPants/preview-red.jpg differ diff --git a/src/images/alphaCampPants/release-preview.jpg b/src/images/alphaCampPants/release-preview.jpg new file mode 100644 index 0000000..991d4ec Binary files /dev/null and b/src/images/alphaCampPants/release-preview.jpg differ diff --git a/src/images/alphaCampPants/seatoverlay.jpg b/src/images/alphaCampPants/seatoverlay.jpg new file mode 100644 index 0000000..387f3cc Binary files /dev/null and b/src/images/alphaCampPants/seatoverlay.jpg differ diff --git a/src/images/alphaCampPants/snowday/IMG_8058.jpg b/src/images/alphaCampPants/snowday/IMG_8058.jpg new file mode 100644 index 0000000..6f7e064 Binary files /dev/null and b/src/images/alphaCampPants/snowday/IMG_8058.jpg differ diff --git a/src/images/alphaCampPants/snowday/IMG_8105.jpg b/src/images/alphaCampPants/snowday/IMG_8105.jpg new file mode 100644 index 0000000..5d73e5f Binary files /dev/null and b/src/images/alphaCampPants/snowday/IMG_8105.jpg differ diff --git a/src/images/alphaCampPants/snowday/IMG_8112.jpg b/src/images/alphaCampPants/snowday/IMG_8112.jpg new file mode 100644 index 0000000..233d8bc Binary files /dev/null and b/src/images/alphaCampPants/snowday/IMG_8112.jpg differ diff --git a/src/images/alphaCampPants/snowday/IMG_8134.jpg b/src/images/alphaCampPants/snowday/IMG_8134.jpg new file mode 100644 index 0000000..b71960f Binary files /dev/null and b/src/images/alphaCampPants/snowday/IMG_8134.jpg differ diff --git a/src/images/alphaCampPants/snowday/IMG_8142.jpg b/src/images/alphaCampPants/snowday/IMG_8142.jpg new file mode 100644 index 0000000..92e5b5f Binary files /dev/null and b/src/images/alphaCampPants/snowday/IMG_8142.jpg differ diff --git a/src/images/alphaCampPants/snowday/thumbs/IMG_8058.jpg b/src/images/alphaCampPants/snowday/thumbs/IMG_8058.jpg new file mode 100644 index 0000000..67180a0 Binary files /dev/null and b/src/images/alphaCampPants/snowday/thumbs/IMG_8058.jpg differ diff --git a/src/images/alphaCampPants/snowday/thumbs/IMG_8105.jpg b/src/images/alphaCampPants/snowday/thumbs/IMG_8105.jpg new file mode 100644 index 0000000..7415fb6 Binary files /dev/null and b/src/images/alphaCampPants/snowday/thumbs/IMG_8105.jpg differ diff --git a/src/images/alphaCampPants/snowday/thumbs/IMG_8112.jpg b/src/images/alphaCampPants/snowday/thumbs/IMG_8112.jpg new file mode 100644 index 0000000..6cda5e5 Binary files /dev/null and b/src/images/alphaCampPants/snowday/thumbs/IMG_8112.jpg differ diff --git a/src/images/alphaCampPants/snowday/thumbs/IMG_8134.jpg b/src/images/alphaCampPants/snowday/thumbs/IMG_8134.jpg new file mode 100644 index 0000000..1e25227 Binary files /dev/null and b/src/images/alphaCampPants/snowday/thumbs/IMG_8134.jpg differ diff --git a/src/images/alphaCampPants/snowday/thumbs/IMG_8142.jpg b/src/images/alphaCampPants/snowday/thumbs/IMG_8142.jpg new file mode 100644 index 0000000..2378043 Binary files /dev/null and b/src/images/alphaCampPants/snowday/thumbs/IMG_8142.jpg differ diff --git a/src/images/alphaCampPants/thumbnail.jpg b/src/images/alphaCampPants/thumbnail.jpg new file mode 100644 index 0000000..dd8054a Binary files /dev/null and b/src/images/alphaCampPants/thumbnail.jpg differ diff --git a/src/images/alphaCampPants/thumbnail_short.jpg b/src/images/alphaCampPants/thumbnail_short.jpg new file mode 100644 index 0000000..ecec597 Binary files /dev/null and b/src/images/alphaCampPants/thumbnail_short.jpg differ diff --git a/src/images/alphaCampPants/thumbnail_square.jpg b/src/images/alphaCampPants/thumbnail_square.jpg new file mode 100644 index 0000000..3fba43b Binary files /dev/null and b/src/images/alphaCampPants/thumbnail_square.jpg differ diff --git a/src/images/alphaCampPants/thumbs/camosnap.jpg b/src/images/alphaCampPants/thumbs/camosnap.jpg new file mode 100644 index 0000000..1982c79 Binary files /dev/null and b/src/images/alphaCampPants/thumbs/camosnap.jpg differ diff --git a/src/images/alphaCampPants/thumbs/hero.jpg b/src/images/alphaCampPants/thumbs/hero.jpg new file mode 100644 index 0000000..ed69ede Binary files /dev/null and b/src/images/alphaCampPants/thumbs/hero.jpg differ diff --git a/src/images/alphaCampPants/thumbs/instructionpreview.png b/src/images/alphaCampPants/thumbs/instructionpreview.png new file mode 100644 index 0000000..5ae7e2f Binary files /dev/null and b/src/images/alphaCampPants/thumbs/instructionpreview.png differ diff --git a/src/images/alphaCampPants/thumbs/patterncard.png b/src/images/alphaCampPants/thumbs/patterncard.png new file mode 100644 index 0000000..ec560c9 Binary files /dev/null and b/src/images/alphaCampPants/thumbs/patterncard.png differ diff --git a/src/images/alphaCampPants/thumbs/preview-red.jpg b/src/images/alphaCampPants/thumbs/preview-red.jpg new file mode 100644 index 0000000..633d373 Binary files /dev/null and b/src/images/alphaCampPants/thumbs/preview-red.jpg differ diff --git a/src/images/alphaCampPants/thumbs/seatoverlay.jpg b/src/images/alphaCampPants/thumbs/seatoverlay.jpg new file mode 100644 index 0000000..8f1852f Binary files /dev/null and b/src/images/alphaCampPants/thumbs/seatoverlay.jpg differ diff --git a/src/images/alphaCampPants/thumbs/thumbnail.jpg b/src/images/alphaCampPants/thumbs/thumbnail.jpg new file mode 100644 index 0000000..52b73af Binary files /dev/null and b/src/images/alphaCampPants/thumbs/thumbnail.jpg differ diff --git a/src/images/alphaCampPants/thumbs/thumbnail2.jpg b/src/images/alphaCampPants/thumbs/thumbnail2.jpg new file mode 100644 index 0000000..10409fc Binary files /dev/null and b/src/images/alphaCampPants/thumbs/thumbnail2.jpg differ diff --git a/src/images/alphaCampPants/thumbs/thumbnail3.jpg b/src/images/alphaCampPants/thumbs/thumbnail3.jpg new file mode 100644 index 0000000..c268dfe Binary files /dev/null and b/src/images/alphaCampPants/thumbs/thumbnail3.jpg differ diff --git a/src/images/alphaCampPants/thumbs/thumbnail_short.jpg b/src/images/alphaCampPants/thumbs/thumbnail_short.jpg new file mode 100644 index 0000000..545bb84 Binary files /dev/null and b/src/images/alphaCampPants/thumbs/thumbnail_short.jpg differ diff --git a/src/images/alphaCampPants/thumbs/thumbnail_square.jpg b/src/images/alphaCampPants/thumbs/thumbnail_square.jpg new file mode 100644 index 0000000..a012fd1 Binary files /dev/null and b/src/images/alphaCampPants/thumbs/thumbnail_square.jpg differ diff --git a/src/images/alphaRaglan/bala1.jpg b/src/images/alphaRaglan/bala1.jpg new file mode 100644 index 0000000..1db8e3a Binary files /dev/null and b/src/images/alphaRaglan/bala1.jpg differ diff --git a/src/images/alphaRaglan/bala2.jpg b/src/images/alphaRaglan/bala2.jpg new file mode 100644 index 0000000..399b3b5 Binary files /dev/null and b/src/images/alphaRaglan/bala2.jpg differ diff --git a/src/images/alphaRaglan/bala3.jpg b/src/images/alphaRaglan/bala3.jpg new file mode 100644 index 0000000..ab2b422 Binary files /dev/null and b/src/images/alphaRaglan/bala3.jpg differ diff --git a/src/images/alphaRaglan/bala4.jpg b/src/images/alphaRaglan/bala4.jpg new file mode 100644 index 0000000..b5493fc Binary files /dev/null and b/src/images/alphaRaglan/bala4.jpg differ diff --git a/src/images/alphaRaglan/bala5.jpg b/src/images/alphaRaglan/bala5.jpg new file mode 100644 index 0000000..ea3725b Binary files /dev/null and b/src/images/alphaRaglan/bala5.jpg differ diff --git a/src/images/alphaRaglan/bala60.jpg b/src/images/alphaRaglan/bala60.jpg new file mode 100644 index 0000000..286b53d Binary files /dev/null and b/src/images/alphaRaglan/bala60.jpg differ diff --git a/src/images/alphaRaglan/bench.jpg b/src/images/alphaRaglan/bench.jpg new file mode 100644 index 0000000..a17c3dd Binary files /dev/null and b/src/images/alphaRaglan/bench.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3765.jpg b/src/images/alphaRaglan/build/IMG_3765.jpg new file mode 100644 index 0000000..2c07600 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3765.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3773.jpg b/src/images/alphaRaglan/build/IMG_3773.jpg new file mode 100644 index 0000000..795aae5 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3773.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3774.jpg b/src/images/alphaRaglan/build/IMG_3774.jpg new file mode 100644 index 0000000..19e3bb8 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3774.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3777.jpg b/src/images/alphaRaglan/build/IMG_3777.jpg new file mode 100644 index 0000000..e60f03c Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3777.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3780.jpg b/src/images/alphaRaglan/build/IMG_3780.jpg new file mode 100644 index 0000000..c931756 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3780.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3782.jpg b/src/images/alphaRaglan/build/IMG_3782.jpg new file mode 100644 index 0000000..cd3bac5 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3782.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3783.jpg b/src/images/alphaRaglan/build/IMG_3783.jpg new file mode 100644 index 0000000..7480acd Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3783.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3784.jpg b/src/images/alphaRaglan/build/IMG_3784.jpg new file mode 100644 index 0000000..b5ab759 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3784.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3785.jpg b/src/images/alphaRaglan/build/IMG_3785.jpg new file mode 100644 index 0000000..9368c61 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3785.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3788.jpg b/src/images/alphaRaglan/build/IMG_3788.jpg new file mode 100644 index 0000000..7cf28d7 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3788.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3790.jpg b/src/images/alphaRaglan/build/IMG_3790.jpg new file mode 100644 index 0000000..4193783 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3790.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3791.jpg b/src/images/alphaRaglan/build/IMG_3791.jpg new file mode 100644 index 0000000..2d30f2f Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3791.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3793.jpg b/src/images/alphaRaglan/build/IMG_3793.jpg new file mode 100644 index 0000000..867a84d Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3793.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3794.jpg b/src/images/alphaRaglan/build/IMG_3794.jpg new file mode 100644 index 0000000..a213d44 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3794.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3796.jpg b/src/images/alphaRaglan/build/IMG_3796.jpg new file mode 100644 index 0000000..6c04f8a Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3796.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3797.jpg b/src/images/alphaRaglan/build/IMG_3797.jpg new file mode 100644 index 0000000..0052232 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3797.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3798.jpg b/src/images/alphaRaglan/build/IMG_3798.jpg new file mode 100644 index 0000000..8a06e19 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3798.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3800.jpg b/src/images/alphaRaglan/build/IMG_3800.jpg new file mode 100644 index 0000000..25527e8 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3800.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3802.jpg b/src/images/alphaRaglan/build/IMG_3802.jpg new file mode 100644 index 0000000..a323d8b Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3802.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3803.jpg b/src/images/alphaRaglan/build/IMG_3803.jpg new file mode 100644 index 0000000..bb8a451 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3803.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3804.jpg b/src/images/alphaRaglan/build/IMG_3804.jpg new file mode 100644 index 0000000..089cbc4 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3804.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3805.jpg b/src/images/alphaRaglan/build/IMG_3805.jpg new file mode 100644 index 0000000..81e0eb9 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3805.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3806.jpg b/src/images/alphaRaglan/build/IMG_3806.jpg new file mode 100644 index 0000000..3acefbe Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3806.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3808.jpg b/src/images/alphaRaglan/build/IMG_3808.jpg new file mode 100644 index 0000000..95bc76c Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3808.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3809.jpg b/src/images/alphaRaglan/build/IMG_3809.jpg new file mode 100644 index 0000000..1d0536a Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3809.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3810.jpg b/src/images/alphaRaglan/build/IMG_3810.jpg new file mode 100644 index 0000000..e630419 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3810.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3811.jpg b/src/images/alphaRaglan/build/IMG_3811.jpg new file mode 100644 index 0000000..dcabeb1 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3811.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3813.jpg b/src/images/alphaRaglan/build/IMG_3813.jpg new file mode 100644 index 0000000..0131d06 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3813.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3817.jpg b/src/images/alphaRaglan/build/IMG_3817.jpg new file mode 100644 index 0000000..0e0cee4 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3817.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3821.jpg b/src/images/alphaRaglan/build/IMG_3821.jpg new file mode 100644 index 0000000..a18de7d Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3821.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3822.jpg b/src/images/alphaRaglan/build/IMG_3822.jpg new file mode 100644 index 0000000..4a5dd39 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3822.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3823.jpg b/src/images/alphaRaglan/build/IMG_3823.jpg new file mode 100644 index 0000000..179608c Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3823.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3826.jpg b/src/images/alphaRaglan/build/IMG_3826.jpg new file mode 100644 index 0000000..4541281 Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3826.jpg differ diff --git a/src/images/alphaRaglan/build/IMG_3827.jpg b/src/images/alphaRaglan/build/IMG_3827.jpg new file mode 100644 index 0000000..8d5a28b Binary files /dev/null and b/src/images/alphaRaglan/build/IMG_3827.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3765.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3765.jpg new file mode 100644 index 0000000..34cbef8 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3765.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3773.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3773.jpg new file mode 100644 index 0000000..2260f26 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3773.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3774.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3774.jpg new file mode 100644 index 0000000..d9fed7b Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3774.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3777.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3777.jpg new file mode 100644 index 0000000..899aa72 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3777.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3780.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3780.jpg new file mode 100644 index 0000000..8637478 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3780.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3782.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3782.jpg new file mode 100644 index 0000000..a1e746b Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3782.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3783.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3783.jpg new file mode 100644 index 0000000..9f80b87 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3783.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3784.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3784.jpg new file mode 100644 index 0000000..4daa9b8 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3784.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3785.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3785.jpg new file mode 100644 index 0000000..be47911 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3785.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3788.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3788.jpg new file mode 100644 index 0000000..f17ed08 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3788.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3790.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3790.jpg new file mode 100644 index 0000000..fd89dd3 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3790.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3791.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3791.jpg new file mode 100644 index 0000000..8273f6f Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3791.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3793.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3793.jpg new file mode 100644 index 0000000..0d06d14 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3793.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3794.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3794.jpg new file mode 100644 index 0000000..0eed397 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3794.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3796.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3796.jpg new file mode 100644 index 0000000..e386983 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3796.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3797.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3797.jpg new file mode 100644 index 0000000..54e5faa Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3797.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3798.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3798.jpg new file mode 100644 index 0000000..e396ebd Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3798.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3800.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3800.jpg new file mode 100644 index 0000000..864bbb7 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3800.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3802.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3802.jpg new file mode 100644 index 0000000..34cc54f Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3802.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3803.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3803.jpg new file mode 100644 index 0000000..f612d2a Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3803.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3804.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3804.jpg new file mode 100644 index 0000000..5b62aba Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3804.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3805.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3805.jpg new file mode 100644 index 0000000..224d4b3 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3805.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3806.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3806.jpg new file mode 100644 index 0000000..173ed91 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3806.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3808.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3808.jpg new file mode 100644 index 0000000..175e879 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3808.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3809.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3809.jpg new file mode 100644 index 0000000..5f619af Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3809.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3810.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3810.jpg new file mode 100644 index 0000000..9afafb2 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3810.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3811.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3811.jpg new file mode 100644 index 0000000..ea3d348 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3811.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3813.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3813.jpg new file mode 100644 index 0000000..fad2e3a Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3813.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3817.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3817.jpg new file mode 100644 index 0000000..820bedd Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3817.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3821.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3821.jpg new file mode 100644 index 0000000..3fa141d Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3821.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3822.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3822.jpg new file mode 100644 index 0000000..a5bda3b Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3822.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3823.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3823.jpg new file mode 100644 index 0000000..48cca22 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3823.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3826.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3826.jpg new file mode 100644 index 0000000..16696fc Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3826.jpg differ diff --git a/src/images/alphaRaglan/build/thumbs/IMG_3827.jpg b/src/images/alphaRaglan/build/thumbs/IMG_3827.jpg new file mode 100644 index 0000000..c2b5086 Binary files /dev/null and b/src/images/alphaRaglan/build/thumbs/IMG_3827.jpg differ diff --git a/src/images/alphaRaglan/card.png b/src/images/alphaRaglan/card.png new file mode 100644 index 0000000..ded4213 Binary files /dev/null and b/src/images/alphaRaglan/card.png differ diff --git a/src/images/alphaRaglan/cutlayout.png b/src/images/alphaRaglan/cutlayout.png new file mode 100644 index 0000000..5eff07e Binary files /dev/null and b/src/images/alphaRaglan/cutlayout.png differ diff --git a/src/images/alphaRaglan/instruction.png b/src/images/alphaRaglan/instruction.png new file mode 100644 index 0000000..d0d7a1e Binary files /dev/null and b/src/images/alphaRaglan/instruction.png differ diff --git a/src/images/alphaRaglan/m1.jpg b/src/images/alphaRaglan/m1.jpg new file mode 100644 index 0000000..8d7c67b Binary files /dev/null and b/src/images/alphaRaglan/m1.jpg differ diff --git a/src/images/alphaRaglan/m2.jpg b/src/images/alphaRaglan/m2.jpg new file mode 100644 index 0000000..6f3257e Binary files /dev/null and b/src/images/alphaRaglan/m2.jpg differ diff --git a/src/images/alphaRaglan/m3.jpg b/src/images/alphaRaglan/m3.jpg new file mode 100644 index 0000000..98273fd Binary files /dev/null and b/src/images/alphaRaglan/m3.jpg differ diff --git a/src/images/alphaRaglan/makerkit.jpg b/src/images/alphaRaglan/makerkit.jpg new file mode 100644 index 0000000..c1585f0 Binary files /dev/null and b/src/images/alphaRaglan/makerkit.jpg differ diff --git a/src/images/alphaRaglan/o1.jpg b/src/images/alphaRaglan/o1.jpg new file mode 100644 index 0000000..d3e97ba Binary files /dev/null and b/src/images/alphaRaglan/o1.jpg differ diff --git a/src/images/alphaRaglan/o2.jpg b/src/images/alphaRaglan/o2.jpg new file mode 100644 index 0000000..2e5991f Binary files /dev/null and b/src/images/alphaRaglan/o2.jpg differ diff --git a/src/images/alphaRaglan/o3.jpg b/src/images/alphaRaglan/o3.jpg new file mode 100644 index 0000000..fcd5dbf Binary files /dev/null and b/src/images/alphaRaglan/o3.jpg differ diff --git a/src/images/alphaRaglan/o4.jpg b/src/images/alphaRaglan/o4.jpg new file mode 100644 index 0000000..5886aa8 Binary files /dev/null and b/src/images/alphaRaglan/o4.jpg differ diff --git a/src/images/alphaRaglan/overlap1.jpg b/src/images/alphaRaglan/overlap1.jpg new file mode 100644 index 0000000..7405c3a Binary files /dev/null and b/src/images/alphaRaglan/overlap1.jpg differ diff --git a/src/images/alphaRaglan/overlap120.jpg b/src/images/alphaRaglan/overlap120.jpg new file mode 100644 index 0000000..7b04952 Binary files /dev/null and b/src/images/alphaRaglan/overlap120.jpg differ diff --git a/src/images/alphaRaglan/overlap4.jpg b/src/images/alphaRaglan/overlap4.jpg new file mode 100644 index 0000000..00af489 Binary files /dev/null and b/src/images/alphaRaglan/overlap4.jpg differ diff --git a/src/images/alphaRaglan/overlap5.jpg b/src/images/alphaRaglan/overlap5.jpg new file mode 100644 index 0000000..146b31d Binary files /dev/null and b/src/images/alphaRaglan/overlap5.jpg differ diff --git a/src/images/alphaRaglan/overlap6.jpg b/src/images/alphaRaglan/overlap6.jpg new file mode 100644 index 0000000..41b1073 Binary files /dev/null and b/src/images/alphaRaglan/overlap6.jpg differ diff --git a/src/images/alphaRaglan/overlap7.jpg b/src/images/alphaRaglan/overlap7.jpg new file mode 100644 index 0000000..6e948bd Binary files /dev/null and b/src/images/alphaRaglan/overlap7.jpg differ diff --git a/src/images/alphaRaglan/overlap8.jpg b/src/images/alphaRaglan/overlap8.jpg new file mode 100644 index 0000000..a7a4ab2 Binary files /dev/null and b/src/images/alphaRaglan/overlap8.jpg differ diff --git a/src/images/alphaRaglan/thumbs/bala1.jpg b/src/images/alphaRaglan/thumbs/bala1.jpg new file mode 100644 index 0000000..e573f3d Binary files /dev/null and b/src/images/alphaRaglan/thumbs/bala1.jpg differ diff --git a/src/images/alphaRaglan/thumbs/bala2.jpg b/src/images/alphaRaglan/thumbs/bala2.jpg new file mode 100644 index 0000000..bd1651c Binary files /dev/null and b/src/images/alphaRaglan/thumbs/bala2.jpg differ diff --git a/src/images/alphaRaglan/thumbs/bala3.jpg b/src/images/alphaRaglan/thumbs/bala3.jpg new file mode 100644 index 0000000..cf5dfd0 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/bala3.jpg differ diff --git a/src/images/alphaRaglan/thumbs/bala4.jpg b/src/images/alphaRaglan/thumbs/bala4.jpg new file mode 100644 index 0000000..7aa66d0 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/bala4.jpg differ diff --git a/src/images/alphaRaglan/thumbs/bala5.jpg b/src/images/alphaRaglan/thumbs/bala5.jpg new file mode 100644 index 0000000..90704d2 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/bala5.jpg differ diff --git a/src/images/alphaRaglan/thumbs/bala60.jpg b/src/images/alphaRaglan/thumbs/bala60.jpg new file mode 100644 index 0000000..1c19726 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/bala60.jpg differ diff --git a/src/images/alphaRaglan/thumbs/bench.jpg b/src/images/alphaRaglan/thumbs/bench.jpg new file mode 100644 index 0000000..c422a86 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/bench.jpg differ diff --git a/src/images/alphaRaglan/thumbs/card.png b/src/images/alphaRaglan/thumbs/card.png new file mode 100644 index 0000000..ded4213 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/card.png differ diff --git a/src/images/alphaRaglan/thumbs/cutlayout.png b/src/images/alphaRaglan/thumbs/cutlayout.png new file mode 100644 index 0000000..5eff07e Binary files /dev/null and b/src/images/alphaRaglan/thumbs/cutlayout.png differ diff --git a/src/images/alphaRaglan/thumbs/instruction.png b/src/images/alphaRaglan/thumbs/instruction.png new file mode 100644 index 0000000..d0d7a1e Binary files /dev/null and b/src/images/alphaRaglan/thumbs/instruction.png differ diff --git a/src/images/alphaRaglan/thumbs/m1.jpg b/src/images/alphaRaglan/thumbs/m1.jpg new file mode 100644 index 0000000..73a0cb6 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/m1.jpg differ diff --git a/src/images/alphaRaglan/thumbs/m2.jpg b/src/images/alphaRaglan/thumbs/m2.jpg new file mode 100644 index 0000000..0e43385 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/m2.jpg differ diff --git a/src/images/alphaRaglan/thumbs/m3.jpg b/src/images/alphaRaglan/thumbs/m3.jpg new file mode 100644 index 0000000..76cce0f Binary files /dev/null and b/src/images/alphaRaglan/thumbs/m3.jpg differ diff --git a/src/images/alphaRaglan/thumbs/makerkit.jpg b/src/images/alphaRaglan/thumbs/makerkit.jpg new file mode 100644 index 0000000..9a91148 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/makerkit.jpg differ diff --git a/src/images/alphaRaglan/thumbs/o1.jpg b/src/images/alphaRaglan/thumbs/o1.jpg new file mode 100644 index 0000000..432934d Binary files /dev/null and b/src/images/alphaRaglan/thumbs/o1.jpg differ diff --git a/src/images/alphaRaglan/thumbs/o2.jpg b/src/images/alphaRaglan/thumbs/o2.jpg new file mode 100644 index 0000000..8575c07 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/o2.jpg differ diff --git a/src/images/alphaRaglan/thumbs/o3.jpg b/src/images/alphaRaglan/thumbs/o3.jpg new file mode 100644 index 0000000..935c52c Binary files /dev/null and b/src/images/alphaRaglan/thumbs/o3.jpg differ diff --git a/src/images/alphaRaglan/thumbs/o4.jpg b/src/images/alphaRaglan/thumbs/o4.jpg new file mode 100644 index 0000000..884f2a5 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/o4.jpg differ diff --git a/src/images/alphaRaglan/thumbs/overlap1.jpg b/src/images/alphaRaglan/thumbs/overlap1.jpg new file mode 100644 index 0000000..46b1342 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/overlap1.jpg differ diff --git a/src/images/alphaRaglan/thumbs/overlap120.jpg b/src/images/alphaRaglan/thumbs/overlap120.jpg new file mode 100644 index 0000000..ef24105 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/overlap120.jpg differ diff --git a/src/images/alphaRaglan/thumbs/overlap4.jpg b/src/images/alphaRaglan/thumbs/overlap4.jpg new file mode 100644 index 0000000..510f0a2 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/overlap4.jpg differ diff --git a/src/images/alphaRaglan/thumbs/overlap5.jpg b/src/images/alphaRaglan/thumbs/overlap5.jpg new file mode 100644 index 0000000..223f0d4 Binary files /dev/null and b/src/images/alphaRaglan/thumbs/overlap5.jpg differ diff --git a/src/images/alphaRaglan/thumbs/overlap6.jpg b/src/images/alphaRaglan/thumbs/overlap6.jpg new file mode 100644 index 0000000..65a2e0b Binary files /dev/null and b/src/images/alphaRaglan/thumbs/overlap6.jpg differ diff --git a/src/images/alphaRaglan/thumbs/overlap7.jpg b/src/images/alphaRaglan/thumbs/overlap7.jpg new file mode 100644 index 0000000..6e4321b Binary files /dev/null and b/src/images/alphaRaglan/thumbs/overlap7.jpg differ diff --git a/src/images/alphaRaglan/thumbs/overlap8.jpg b/src/images/alphaRaglan/thumbs/overlap8.jpg new file mode 100644 index 0000000..059f4da Binary files /dev/null and b/src/images/alphaRaglan/thumbs/overlap8.jpg differ diff --git a/src/images/alphaRaglan/thumbs/sewalong_thumb.jpg b/src/images/alphaRaglan/thumbs/sewalong_thumb.jpg new file mode 100644 index 0000000..d938b1e Binary files /dev/null and b/src/images/alphaRaglan/thumbs/sewalong_thumb.jpg differ diff --git a/src/images/android-chrome-192x192.png b/src/images/android-chrome-192x192.png new file mode 100644 index 0000000..d3b9bd1 Binary files /dev/null and b/src/images/android-chrome-192x192.png differ diff --git a/src/images/android-chrome-512x512.png b/src/images/android-chrome-512x512.png new file mode 100644 index 0000000..c350c76 Binary files /dev/null and b/src/images/android-chrome-512x512.png differ diff --git a/src/images/apple-touch-icon.png b/src/images/apple-touch-icon.png new file mode 100644 index 0000000..764629c Binary files /dev/null and b/src/images/apple-touch-icon.png differ diff --git a/src/images/archive/3.jpg b/src/images/archive/3.jpg new file mode 100644 index 0000000..6f56ce2 Binary files /dev/null and b/src/images/archive/3.jpg differ diff --git a/src/images/archive/3dCroners.png b/src/images/archive/3dCroners.png new file mode 100644 index 0000000..34ca54f Binary files /dev/null and b/src/images/archive/3dCroners.png differ diff --git a/src/images/archive/4.jpg b/src/images/archive/4.jpg new file mode 100644 index 0000000..ac298c0 Binary files /dev/null and b/src/images/archive/4.jpg differ diff --git a/src/images/archive/DSC00410.JPG b/src/images/archive/DSC00410.JPG new file mode 100644 index 0000000..dd15798 Binary files /dev/null and b/src/images/archive/DSC00410.JPG differ diff --git a/src/images/archive/EDCFannyPackPreview.png b/src/images/archive/EDCFannyPackPreview.png new file mode 100644 index 0000000..b935415 Binary files /dev/null and b/src/images/archive/EDCFannyPackPreview.png differ diff --git a/src/images/archive/aspants_soon.jpg b/src/images/archive/aspants_soon.jpg new file mode 100644 index 0000000..4f280b6 Binary files /dev/null and b/src/images/archive/aspants_soon.jpg differ diff --git a/src/images/archive/b1side.jpg b/src/images/archive/b1side.jpg new file mode 100644 index 0000000..551d7a2 Binary files /dev/null and b/src/images/archive/b1side.jpg differ diff --git a/src/images/archive/b2beer.jpg b/src/images/archive/b2beer.jpg new file mode 100644 index 0000000..f3b1ee9 Binary files /dev/null and b/src/images/archive/b2beer.jpg differ diff --git a/src/images/archive/b2profile.jpg b/src/images/archive/b2profile.jpg new file mode 100644 index 0000000..b3f96f8 Binary files /dev/null and b/src/images/archive/b2profile.jpg differ diff --git a/src/images/archive/b2side.jpg b/src/images/archive/b2side.jpg new file mode 100644 index 0000000..ab71c4f Binary files /dev/null and b/src/images/archive/b2side.jpg differ diff --git a/src/images/archive/banner4 - orig.jpg b/src/images/archive/banner4 - orig.jpg new file mode 100644 index 0000000..08ad2af Binary files /dev/null and b/src/images/archive/banner4 - orig.jpg differ diff --git a/src/images/archive/bpStemBagPreview.png b/src/images/archive/bpStemBagPreview.png new file mode 100644 index 0000000..042e993 Binary files /dev/null and b/src/images/archive/bpStemBagPreview.png differ diff --git a/src/images/archive/camp_pants.jpg b/src/images/archive/camp_pants.jpg new file mode 100644 index 0000000..83aa48a Binary files /dev/null and b/src/images/archive/camp_pants.jpg differ diff --git a/src/images/archive/cinchsack.jpg b/src/images/archive/cinchsack.jpg new file mode 100644 index 0000000..2bac9ab Binary files /dev/null and b/src/images/archive/cinchsack.jpg differ diff --git a/src/images/archive/day.jpg b/src/images/archive/day.jpg new file mode 100644 index 0000000..fde5800 Binary files /dev/null and b/src/images/archive/day.jpg differ diff --git a/src/images/archive/fannyPackPreview.png b/src/images/archive/fannyPackPreview.png new file mode 100644 index 0000000..f0f2c5f Binary files /dev/null and b/src/images/archive/fannyPackPreview.png differ diff --git a/src/images/archive/fastpackhero.jpg b/src/images/archive/fastpackhero.jpg new file mode 100644 index 0000000..e383dc5 Binary files /dev/null and b/src/images/archive/fastpackhero.jpg differ diff --git a/src/images/archive/fastpackhero2.jpg b/src/images/archive/fastpackhero2.jpg new file mode 100644 index 0000000..49c93eb Binary files /dev/null and b/src/images/archive/fastpackhero2.jpg differ diff --git a/src/images/archive/fastpackherostuart.jpg b/src/images/archive/fastpackherostuart.jpg new file mode 100644 index 0000000..849e431 Binary files /dev/null and b/src/images/archive/fastpackherostuart.jpg differ diff --git a/src/images/archive/front.jpg b/src/images/archive/front.jpg new file mode 100644 index 0000000..e77cd2c Binary files /dev/null and b/src/images/archive/front.jpg differ diff --git a/src/images/archive/full.jpg b/src/images/archive/full.jpg new file mode 100644 index 0000000..041fdbd Binary files /dev/null and b/src/images/archive/full.jpg differ diff --git a/src/images/archive/fullpreview.jpg b/src/images/archive/fullpreview.jpg new file mode 100644 index 0000000..bf522c2 Binary files /dev/null and b/src/images/archive/fullpreview.jpg differ diff --git a/src/images/archive/hero.jpg b/src/images/archive/hero.jpg new file mode 100644 index 0000000..f30cf0b Binary files /dev/null and b/src/images/archive/hero.jpg differ diff --git a/src/images/archive/hikerWalletPreview.png b/src/images/archive/hikerWalletPreview.png new file mode 100644 index 0000000..879bfc5 Binary files /dev/null and b/src/images/archive/hikerWalletPreview.png differ diff --git a/src/images/archive/hippackhero.jpg b/src/images/archive/hippackhero.jpg new file mode 100644 index 0000000..7a0d153 Binary files /dev/null and b/src/images/archive/hippackhero.jpg differ diff --git a/src/images/archive/rolltop.jpg b/src/images/archive/rolltop.jpg new file mode 100644 index 0000000..a9d2ea7 Binary files /dev/null and b/src/images/archive/rolltop.jpg differ diff --git a/src/images/archive/runningBeltPreview.png b/src/images/archive/runningBeltPreview.png new file mode 100644 index 0000000..3958493 Binary files /dev/null and b/src/images/archive/runningBeltPreview.png differ diff --git a/src/images/archive/spotlight02.jpg b/src/images/archive/spotlight02.jpg new file mode 100644 index 0000000..d36bdc8 Binary files /dev/null and b/src/images/archive/spotlight02.jpg differ diff --git a/src/images/archive/stuffSackCompleted.png b/src/images/archive/stuffSackCompleted.png new file mode 100644 index 0000000..86a753d Binary files /dev/null and b/src/images/archive/stuffSackCompleted.png differ diff --git a/src/images/archive/stuffSackPreview.png b/src/images/archive/stuffSackPreview.png new file mode 100644 index 0000000..c4458e6 Binary files /dev/null and b/src/images/archive/stuffSackPreview.png differ diff --git a/src/images/archive/thread (Thumb).jpg b/src/images/archive/thread (Thumb).jpg new file mode 100644 index 0000000..263d12e Binary files /dev/null and b/src/images/archive/thread (Thumb).jpg differ diff --git a/src/images/archive/thread.jpg b/src/images/archive/thread.jpg new file mode 100644 index 0000000..1920bcc Binary files /dev/null and b/src/images/archive/thread.jpg differ diff --git a/src/images/archive/topTubeBagPreview.png b/src/images/archive/topTubeBagPreview.png new file mode 100644 index 0000000..161f000 Binary files /dev/null and b/src/images/archive/topTubeBagPreview.png differ diff --git a/src/images/archive/toptubebag.jpg b/src/images/archive/toptubebag.jpg new file mode 100644 index 0000000..ac3c02a Binary files /dev/null and b/src/images/archive/toptubebag.jpg differ diff --git a/src/images/archive/totepack.png b/src/images/archive/totepack.png new file mode 100644 index 0000000..b59d858 Binary files /dev/null and b/src/images/archive/totepack.png differ diff --git a/src/images/archive/trailrunpack2.png b/src/images/archive/trailrunpack2.png new file mode 100644 index 0000000..9a2802f Binary files /dev/null and b/src/images/archive/trailrunpack2.png differ diff --git a/src/images/archive/windshell.jpg b/src/images/archive/windshell.jpg new file mode 100644 index 0000000..6c50e6d Binary files /dev/null and b/src/images/archive/windshell.jpg differ diff --git a/src/images/archive/zipSackCompleted.jpg b/src/images/archive/zipSackCompleted.jpg new file mode 100644 index 0000000..71a965f Binary files /dev/null and b/src/images/archive/zipSackCompleted.jpg differ diff --git a/src/images/archive/zipSackPreview.png b/src/images/archive/zipSackPreview.png new file mode 100644 index 0000000..3e7fb80 Binary files /dev/null and b/src/images/archive/zipSackPreview.png differ diff --git a/src/images/articles/3dcorners.png b/src/images/articles/3dcorners.png new file mode 100644 index 0000000..b3c51df Binary files /dev/null and b/src/images/articles/3dcorners.png differ diff --git a/src/images/banner4.jpg b/src/images/banner4.jpg new file mode 100644 index 0000000..ab9eda3 Binary files /dev/null and b/src/images/banner4.jpg differ diff --git a/src/images/bpStemBag/0.jpg b/src/images/bpStemBag/0.jpg new file mode 100644 index 0000000..e85af31 Binary files /dev/null and b/src/images/bpStemBag/0.jpg differ diff --git a/src/images/bpStemBag/1.jpg b/src/images/bpStemBag/1.jpg new file mode 100644 index 0000000..994a9c1 Binary files /dev/null and b/src/images/bpStemBag/1.jpg differ diff --git a/src/images/bpStemBag/2.jpg b/src/images/bpStemBag/2.jpg new file mode 100644 index 0000000..c03a2ee Binary files /dev/null and b/src/images/bpStemBag/2.jpg differ diff --git a/src/images/bpStemBag/3.jpg b/src/images/bpStemBag/3.jpg new file mode 100644 index 0000000..1b7b562 Binary files /dev/null and b/src/images/bpStemBag/3.jpg differ diff --git a/src/images/bpStemBag/4.jpg b/src/images/bpStemBag/4.jpg new file mode 100644 index 0000000..125ce09 Binary files /dev/null and b/src/images/bpStemBag/4.jpg differ diff --git a/src/images/bpStemBag/5.jpg b/src/images/bpStemBag/5.jpg new file mode 100644 index 0000000..eed9302 Binary files /dev/null and b/src/images/bpStemBag/5.jpg differ diff --git a/src/images/bpStemBag/6.jpg b/src/images/bpStemBag/6.jpg new file mode 100644 index 0000000..cd6384b Binary files /dev/null and b/src/images/bpStemBag/6.jpg differ diff --git a/src/images/bpStemBag/7.jpg b/src/images/bpStemBag/7.jpg new file mode 100644 index 0000000..14d7e38 Binary files /dev/null and b/src/images/bpStemBag/7.jpg differ diff --git a/src/images/bpStemBag/8.jpg b/src/images/bpStemBag/8.jpg new file mode 100644 index 0000000..159c399 Binary files /dev/null and b/src/images/bpStemBag/8.jpg differ diff --git a/src/images/bpStemBag/b1front.jpg b/src/images/bpStemBag/b1front.jpg new file mode 100644 index 0000000..2ac60d1 Binary files /dev/null and b/src/images/bpStemBag/b1front.jpg differ diff --git a/src/images/bpStemBag/b1hero.jpg b/src/images/bpStemBag/b1hero.jpg new file mode 100644 index 0000000..4d50c21 Binary files /dev/null and b/src/images/bpStemBag/b1hero.jpg differ diff --git a/src/images/bpStemBag/b1pocket.jpg b/src/images/bpStemBag/b1pocket.jpg new file mode 100644 index 0000000..fcff84a Binary files /dev/null and b/src/images/bpStemBag/b1pocket.jpg differ diff --git a/src/images/bpStemBag/b2back.jpg b/src/images/bpStemBag/b2back.jpg new file mode 100644 index 0000000..765b19f Binary files /dev/null and b/src/images/bpStemBag/b2back.jpg differ diff --git a/src/images/bpStemBag/b2bottom.jpg b/src/images/bpStemBag/b2bottom.jpg new file mode 100644 index 0000000..f9bd51e Binary files /dev/null and b/src/images/bpStemBag/b2bottom.jpg differ diff --git a/src/images/bpStemBag/b2front.jpg b/src/images/bpStemBag/b2front.jpg new file mode 100644 index 0000000..3923f9c Binary files /dev/null and b/src/images/bpStemBag/b2front.jpg differ diff --git a/src/images/bpStemBag/b2inside.jpg b/src/images/bpStemBag/b2inside.jpg new file mode 100644 index 0000000..971aad4 Binary files /dev/null and b/src/images/bpStemBag/b2inside.jpg differ diff --git a/src/images/bpStemBag/cb_mchalfy_1.jpg b/src/images/bpStemBag/cb_mchalfy_1.jpg new file mode 100644 index 0000000..edecc24 Binary files /dev/null and b/src/images/bpStemBag/cb_mchalfy_1.jpg differ diff --git a/src/images/bpStemBag/cb_mchalfy_2.jpg b/src/images/bpStemBag/cb_mchalfy_2.jpg new file mode 100644 index 0000000..1c28cef Binary files /dev/null and b/src/images/bpStemBag/cb_mchalfy_2.jpg differ diff --git a/src/images/bpStemBag/cb_ombeen.jpg b/src/images/bpStemBag/cb_ombeen.jpg new file mode 100644 index 0000000..55b7530 Binary files /dev/null and b/src/images/bpStemBag/cb_ombeen.jpg differ diff --git a/src/images/bpStemBag/cb_riceonwhite.jpg b/src/images/bpStemBag/cb_riceonwhite.jpg new file mode 100644 index 0000000..6dd244c Binary files /dev/null and b/src/images/bpStemBag/cb_riceonwhite.jpg differ diff --git a/src/images/bpStemBag/cb_tweis.jpg b/src/images/bpStemBag/cb_tweis.jpg new file mode 100644 index 0000000..d6c49f1 Binary files /dev/null and b/src/images/bpStemBag/cb_tweis.jpg differ diff --git a/src/images/chonkysling/build/1.1.jpg b/src/images/chonkysling/build/1.1.jpg new file mode 100644 index 0000000..de9ef23 Binary files /dev/null and b/src/images/chonkysling/build/1.1.jpg differ diff --git a/src/images/chonkysling/build/1.2.jpg b/src/images/chonkysling/build/1.2.jpg new file mode 100644 index 0000000..b87adab Binary files /dev/null and b/src/images/chonkysling/build/1.2.jpg differ diff --git a/src/images/chonkysling/build/2.2.jpg b/src/images/chonkysling/build/2.2.jpg new file mode 100644 index 0000000..322474a Binary files /dev/null and b/src/images/chonkysling/build/2.2.jpg differ diff --git a/src/images/chonkysling/build/2.3.jpg b/src/images/chonkysling/build/2.3.jpg new file mode 100644 index 0000000..cc006ab Binary files /dev/null and b/src/images/chonkysling/build/2.3.jpg differ diff --git a/src/images/chonkysling/build/2.4.jpg b/src/images/chonkysling/build/2.4.jpg new file mode 100644 index 0000000..dd1a5f2 Binary files /dev/null and b/src/images/chonkysling/build/2.4.jpg differ diff --git a/src/images/chonkysling/build/2.6.jpg b/src/images/chonkysling/build/2.6.jpg new file mode 100644 index 0000000..eb018f9 Binary files /dev/null and b/src/images/chonkysling/build/2.6.jpg differ diff --git a/src/images/chonkysling/build/3.2.jpg b/src/images/chonkysling/build/3.2.jpg new file mode 100644 index 0000000..70ed599 Binary files /dev/null and b/src/images/chonkysling/build/3.2.jpg differ diff --git a/src/images/chonkysling/build/3.3.jpg b/src/images/chonkysling/build/3.3.jpg new file mode 100644 index 0000000..c4ae6b8 Binary files /dev/null and b/src/images/chonkysling/build/3.3.jpg differ diff --git a/src/images/chonkysling/build/4.1a.jpg b/src/images/chonkysling/build/4.1a.jpg new file mode 100644 index 0000000..d39abf4 Binary files /dev/null and b/src/images/chonkysling/build/4.1a.jpg differ diff --git a/src/images/chonkysling/build/4.1b.jpg b/src/images/chonkysling/build/4.1b.jpg new file mode 100644 index 0000000..8c2da5f Binary files /dev/null and b/src/images/chonkysling/build/4.1b.jpg differ diff --git a/src/images/chonkysling/build/4.2.jpg b/src/images/chonkysling/build/4.2.jpg new file mode 100644 index 0000000..0f23f39 Binary files /dev/null and b/src/images/chonkysling/build/4.2.jpg differ diff --git a/src/images/chonkysling/build/4.3.jpg b/src/images/chonkysling/build/4.3.jpg new file mode 100644 index 0000000..cc40759 Binary files /dev/null and b/src/images/chonkysling/build/4.3.jpg differ diff --git a/src/images/chonkysling/build/4.4a.jpg b/src/images/chonkysling/build/4.4a.jpg new file mode 100644 index 0000000..c72f6c3 Binary files /dev/null and b/src/images/chonkysling/build/4.4a.jpg differ diff --git a/src/images/chonkysling/build/4.4b.jpg b/src/images/chonkysling/build/4.4b.jpg new file mode 100644 index 0000000..65a31b7 Binary files /dev/null and b/src/images/chonkysling/build/4.4b.jpg differ diff --git a/src/images/chonkysling/build/5.1.jpg b/src/images/chonkysling/build/5.1.jpg new file mode 100644 index 0000000..5577156 Binary files /dev/null and b/src/images/chonkysling/build/5.1.jpg differ diff --git a/src/images/chonkysling/build/5.10.jpg b/src/images/chonkysling/build/5.10.jpg new file mode 100644 index 0000000..f89fcb1 Binary files /dev/null and b/src/images/chonkysling/build/5.10.jpg differ diff --git a/src/images/chonkysling/build/5.10b.jpg b/src/images/chonkysling/build/5.10b.jpg new file mode 100644 index 0000000..8915555 Binary files /dev/null and b/src/images/chonkysling/build/5.10b.jpg differ diff --git a/src/images/chonkysling/build/5.2.jpg b/src/images/chonkysling/build/5.2.jpg new file mode 100644 index 0000000..5e41794 Binary files /dev/null and b/src/images/chonkysling/build/5.2.jpg differ diff --git a/src/images/chonkysling/build/5.3.jpg b/src/images/chonkysling/build/5.3.jpg new file mode 100644 index 0000000..e52490f Binary files /dev/null and b/src/images/chonkysling/build/5.3.jpg differ diff --git a/src/images/chonkysling/build/5.4.jpg b/src/images/chonkysling/build/5.4.jpg new file mode 100644 index 0000000..fe2b81a Binary files /dev/null and b/src/images/chonkysling/build/5.4.jpg differ diff --git a/src/images/chonkysling/build/5.7.jpg b/src/images/chonkysling/build/5.7.jpg new file mode 100644 index 0000000..b4b59f5 Binary files /dev/null and b/src/images/chonkysling/build/5.7.jpg differ diff --git a/src/images/chonkysling/build/5.8.jpg b/src/images/chonkysling/build/5.8.jpg new file mode 100644 index 0000000..31f4d4e Binary files /dev/null and b/src/images/chonkysling/build/5.8.jpg differ diff --git a/src/images/chonkysling/build/5.9.jpg b/src/images/chonkysling/build/5.9.jpg new file mode 100644 index 0000000..03371fb Binary files /dev/null and b/src/images/chonkysling/build/5.9.jpg differ diff --git a/src/images/chonkysling/build/6a.1.jpg b/src/images/chonkysling/build/6a.1.jpg new file mode 100644 index 0000000..b745afa Binary files /dev/null and b/src/images/chonkysling/build/6a.1.jpg differ diff --git a/src/images/chonkysling/build/6a.10.jpg b/src/images/chonkysling/build/6a.10.jpg new file mode 100644 index 0000000..ca11a98 Binary files /dev/null and b/src/images/chonkysling/build/6a.10.jpg differ diff --git a/src/images/chonkysling/build/6a.11.jpg b/src/images/chonkysling/build/6a.11.jpg new file mode 100644 index 0000000..9085533 Binary files /dev/null and b/src/images/chonkysling/build/6a.11.jpg differ diff --git a/src/images/chonkysling/build/6a.2.jpg b/src/images/chonkysling/build/6a.2.jpg new file mode 100644 index 0000000..9c97974 Binary files /dev/null and b/src/images/chonkysling/build/6a.2.jpg differ diff --git a/src/images/chonkysling/build/6a.2a.jpg b/src/images/chonkysling/build/6a.2a.jpg new file mode 100644 index 0000000..0c5923b Binary files /dev/null and b/src/images/chonkysling/build/6a.2a.jpg differ diff --git a/src/images/chonkysling/build/6a.4.jpg b/src/images/chonkysling/build/6a.4.jpg new file mode 100644 index 0000000..b6c74f1 Binary files /dev/null and b/src/images/chonkysling/build/6a.4.jpg differ diff --git a/src/images/chonkysling/build/6a.6.jpg b/src/images/chonkysling/build/6a.6.jpg new file mode 100644 index 0000000..0c079f1 Binary files /dev/null and b/src/images/chonkysling/build/6a.6.jpg differ diff --git a/src/images/chonkysling/build/6a.9.jpg b/src/images/chonkysling/build/6a.9.jpg new file mode 100644 index 0000000..7057b49 Binary files /dev/null and b/src/images/chonkysling/build/6a.9.jpg differ diff --git a/src/images/chonkysling/build/6b.2.jpg b/src/images/chonkysling/build/6b.2.jpg new file mode 100644 index 0000000..5bc60c7 Binary files /dev/null and b/src/images/chonkysling/build/6b.2.jpg differ diff --git a/src/images/chonkysling/build/6b.4.jpg b/src/images/chonkysling/build/6b.4.jpg new file mode 100644 index 0000000..7f4da12 Binary files /dev/null and b/src/images/chonkysling/build/6b.4.jpg differ diff --git a/src/images/chonkysling/build/6b.5.jpg b/src/images/chonkysling/build/6b.5.jpg new file mode 100644 index 0000000..3246d7c Binary files /dev/null and b/src/images/chonkysling/build/6b.5.jpg differ diff --git a/src/images/chonkysling/build/6b.5a.jpg b/src/images/chonkysling/build/6b.5a.jpg new file mode 100644 index 0000000..b94aa7e Binary files /dev/null and b/src/images/chonkysling/build/6b.5a.jpg differ diff --git a/src/images/chonkysling/build/6b.5b.jpg b/src/images/chonkysling/build/6b.5b.jpg new file mode 100644 index 0000000..3246d7c Binary files /dev/null and b/src/images/chonkysling/build/6b.5b.jpg differ diff --git a/src/images/chonkysling/build/6b.6.jpg b/src/images/chonkysling/build/6b.6.jpg new file mode 100644 index 0000000..b94aa7e Binary files /dev/null and b/src/images/chonkysling/build/6b.6.jpg differ diff --git a/src/images/chonkysling/build/finished.jpg b/src/images/chonkysling/build/finished.jpg new file mode 100644 index 0000000..27b27f0 Binary files /dev/null and b/src/images/chonkysling/build/finished.jpg differ diff --git a/src/images/chonkysling/build/finished2.jpg b/src/images/chonkysling/build/finished2.jpg new file mode 100644 index 0000000..4858e07 Binary files /dev/null and b/src/images/chonkysling/build/finished2.jpg differ diff --git a/src/images/chonkysling/build/olivehero.jpg b/src/images/chonkysling/build/olivehero.jpg new file mode 100644 index 0000000..27b27f0 Binary files /dev/null and b/src/images/chonkysling/build/olivehero.jpg differ diff --git a/src/images/chonkysling/build/oliverhero2.jpg b/src/images/chonkysling/build/oliverhero2.jpg new file mode 100644 index 0000000..4858e07 Binary files /dev/null and b/src/images/chonkysling/build/oliverhero2.jpg differ diff --git a/src/images/chonkysling/build/thumbs/1.1.jpg b/src/images/chonkysling/build/thumbs/1.1.jpg new file mode 100644 index 0000000..acbb9b6 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/1.1.jpg differ diff --git a/src/images/chonkysling/build/thumbs/1.2.jpg b/src/images/chonkysling/build/thumbs/1.2.jpg new file mode 100644 index 0000000..a655ebc Binary files /dev/null and b/src/images/chonkysling/build/thumbs/1.2.jpg differ diff --git a/src/images/chonkysling/build/thumbs/2.2.jpg b/src/images/chonkysling/build/thumbs/2.2.jpg new file mode 100644 index 0000000..bcef35a Binary files /dev/null and b/src/images/chonkysling/build/thumbs/2.2.jpg differ diff --git a/src/images/chonkysling/build/thumbs/2.3.jpg b/src/images/chonkysling/build/thumbs/2.3.jpg new file mode 100644 index 0000000..5e30282 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/2.3.jpg differ diff --git a/src/images/chonkysling/build/thumbs/2.4.jpg b/src/images/chonkysling/build/thumbs/2.4.jpg new file mode 100644 index 0000000..3c84385 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/2.4.jpg differ diff --git a/src/images/chonkysling/build/thumbs/2.6.jpg b/src/images/chonkysling/build/thumbs/2.6.jpg new file mode 100644 index 0000000..2d73534 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/2.6.jpg differ diff --git a/src/images/chonkysling/build/thumbs/3.2.jpg b/src/images/chonkysling/build/thumbs/3.2.jpg new file mode 100644 index 0000000..d46a03b Binary files /dev/null and b/src/images/chonkysling/build/thumbs/3.2.jpg differ diff --git a/src/images/chonkysling/build/thumbs/3.3.jpg b/src/images/chonkysling/build/thumbs/3.3.jpg new file mode 100644 index 0000000..112c4b4 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/3.3.jpg differ diff --git a/src/images/chonkysling/build/thumbs/4.1a.jpg b/src/images/chonkysling/build/thumbs/4.1a.jpg new file mode 100644 index 0000000..0ed2702 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/4.1a.jpg differ diff --git a/src/images/chonkysling/build/thumbs/4.1b.jpg b/src/images/chonkysling/build/thumbs/4.1b.jpg new file mode 100644 index 0000000..aeccbc3 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/4.1b.jpg differ diff --git a/src/images/chonkysling/build/thumbs/4.2.jpg b/src/images/chonkysling/build/thumbs/4.2.jpg new file mode 100644 index 0000000..af75140 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/4.2.jpg differ diff --git a/src/images/chonkysling/build/thumbs/4.3.jpg b/src/images/chonkysling/build/thumbs/4.3.jpg new file mode 100644 index 0000000..64f951d Binary files /dev/null and b/src/images/chonkysling/build/thumbs/4.3.jpg differ diff --git a/src/images/chonkysling/build/thumbs/4.4a.jpg b/src/images/chonkysling/build/thumbs/4.4a.jpg new file mode 100644 index 0000000..2633392 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/4.4a.jpg differ diff --git a/src/images/chonkysling/build/thumbs/4.4b.jpg b/src/images/chonkysling/build/thumbs/4.4b.jpg new file mode 100644 index 0000000..2937eca Binary files /dev/null and b/src/images/chonkysling/build/thumbs/4.4b.jpg differ diff --git a/src/images/chonkysling/build/thumbs/5.1.jpg b/src/images/chonkysling/build/thumbs/5.1.jpg new file mode 100644 index 0000000..0e4c324 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/5.1.jpg differ diff --git a/src/images/chonkysling/build/thumbs/5.10.jpg b/src/images/chonkysling/build/thumbs/5.10.jpg new file mode 100644 index 0000000..9024c6b Binary files /dev/null and b/src/images/chonkysling/build/thumbs/5.10.jpg differ diff --git a/src/images/chonkysling/build/thumbs/5.10b.jpg b/src/images/chonkysling/build/thumbs/5.10b.jpg new file mode 100644 index 0000000..965ccc0 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/5.10b.jpg differ diff --git a/src/images/chonkysling/build/thumbs/5.2.jpg b/src/images/chonkysling/build/thumbs/5.2.jpg new file mode 100644 index 0000000..82fc0a8 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/5.2.jpg differ diff --git a/src/images/chonkysling/build/thumbs/5.3.jpg b/src/images/chonkysling/build/thumbs/5.3.jpg new file mode 100644 index 0000000..bd80125 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/5.3.jpg differ diff --git a/src/images/chonkysling/build/thumbs/5.4.jpg b/src/images/chonkysling/build/thumbs/5.4.jpg new file mode 100644 index 0000000..33659d8 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/5.4.jpg differ diff --git a/src/images/chonkysling/build/thumbs/5.7.jpg b/src/images/chonkysling/build/thumbs/5.7.jpg new file mode 100644 index 0000000..26577ca Binary files /dev/null and b/src/images/chonkysling/build/thumbs/5.7.jpg differ diff --git a/src/images/chonkysling/build/thumbs/5.8.jpg b/src/images/chonkysling/build/thumbs/5.8.jpg new file mode 100644 index 0000000..053aebb Binary files /dev/null and b/src/images/chonkysling/build/thumbs/5.8.jpg differ diff --git a/src/images/chonkysling/build/thumbs/5.9.jpg b/src/images/chonkysling/build/thumbs/5.9.jpg new file mode 100644 index 0000000..91a8596 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/5.9.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6a.1.jpg b/src/images/chonkysling/build/thumbs/6a.1.jpg new file mode 100644 index 0000000..c80bab3 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6a.1.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6a.10.jpg b/src/images/chonkysling/build/thumbs/6a.10.jpg new file mode 100644 index 0000000..6bed9ff Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6a.10.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6a.11.jpg b/src/images/chonkysling/build/thumbs/6a.11.jpg new file mode 100644 index 0000000..30580b4 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6a.11.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6a.2.jpg b/src/images/chonkysling/build/thumbs/6a.2.jpg new file mode 100644 index 0000000..9e86a5c Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6a.2.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6a.2a.jpg b/src/images/chonkysling/build/thumbs/6a.2a.jpg new file mode 100644 index 0000000..9efbace Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6a.2a.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6a.4.jpg b/src/images/chonkysling/build/thumbs/6a.4.jpg new file mode 100644 index 0000000..a337da2 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6a.4.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6a.6.jpg b/src/images/chonkysling/build/thumbs/6a.6.jpg new file mode 100644 index 0000000..ac1a81d Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6a.6.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6a.9.jpg b/src/images/chonkysling/build/thumbs/6a.9.jpg new file mode 100644 index 0000000..998ba13 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6a.9.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6b.2.jpg b/src/images/chonkysling/build/thumbs/6b.2.jpg new file mode 100644 index 0000000..0a4d9fb Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6b.2.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6b.4.jpg b/src/images/chonkysling/build/thumbs/6b.4.jpg new file mode 100644 index 0000000..3680345 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6b.4.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6b.5.jpg b/src/images/chonkysling/build/thumbs/6b.5.jpg new file mode 100644 index 0000000..252220b Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6b.5.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6b.5a.jpg b/src/images/chonkysling/build/thumbs/6b.5a.jpg new file mode 100644 index 0000000..0928e80 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6b.5a.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6b.5b.jpg b/src/images/chonkysling/build/thumbs/6b.5b.jpg new file mode 100644 index 0000000..252220b Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6b.5b.jpg differ diff --git a/src/images/chonkysling/build/thumbs/6b.6.jpg b/src/images/chonkysling/build/thumbs/6b.6.jpg new file mode 100644 index 0000000..0928e80 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/6b.6.jpg differ diff --git a/src/images/chonkysling/build/thumbs/finished.jpg b/src/images/chonkysling/build/thumbs/finished.jpg new file mode 100644 index 0000000..01a3a34 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/finished.jpg differ diff --git a/src/images/chonkysling/build/thumbs/finished2.jpg b/src/images/chonkysling/build/thumbs/finished2.jpg new file mode 100644 index 0000000..c6f0941 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/finished2.jpg differ diff --git a/src/images/chonkysling/build/thumbs/olivehero.jpg b/src/images/chonkysling/build/thumbs/olivehero.jpg new file mode 100644 index 0000000..01a3a34 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/olivehero.jpg differ diff --git a/src/images/chonkysling/build/thumbs/oliverhero2.jpg b/src/images/chonkysling/build/thumbs/oliverhero2.jpg new file mode 100644 index 0000000..c6f0941 Binary files /dev/null and b/src/images/chonkysling/build/thumbs/oliverhero2.jpg differ diff --git a/src/images/chonkysling/instructions.png b/src/images/chonkysling/instructions.png new file mode 100644 index 0000000..efa2632 Binary files /dev/null and b/src/images/chonkysling/instructions.png differ diff --git a/src/images/chonkysling/instructions2.png b/src/images/chonkysling/instructions2.png new file mode 100644 index 0000000..36fb2c4 Binary files /dev/null and b/src/images/chonkysling/instructions2.png differ diff --git a/src/images/chonkysling/launchgraphic.jpg b/src/images/chonkysling/launchgraphic.jpg new file mode 100644 index 0000000..4be8f62 Binary files /dev/null and b/src/images/chonkysling/launchgraphic.jpg differ diff --git a/src/images/chonkysling/olivehero3.jpg b/src/images/chonkysling/olivehero3.jpg new file mode 100644 index 0000000..183b6f2 Binary files /dev/null and b/src/images/chonkysling/olivehero3.jpg differ diff --git a/src/images/chonkysling/olivesling3.jpg b/src/images/chonkysling/olivesling3.jpg new file mode 100644 index 0000000..e0ea37c Binary files /dev/null and b/src/images/chonkysling/olivesling3.jpg differ diff --git a/src/images/chonkysling/olivesling4.jpg b/src/images/chonkysling/olivesling4.jpg new file mode 100644 index 0000000..c2d4f05 Binary files /dev/null and b/src/images/chonkysling/olivesling4.jpg differ diff --git a/src/images/chonkysling/sling1.jpg b/src/images/chonkysling/sling1.jpg new file mode 100644 index 0000000..a0b3f5c Binary files /dev/null and b/src/images/chonkysling/sling1.jpg differ diff --git a/src/images/chonkysling/sling2.jpg b/src/images/chonkysling/sling2.jpg new file mode 100644 index 0000000..46cddfb Binary files /dev/null and b/src/images/chonkysling/sling2.jpg differ diff --git a/src/images/chonkysling/sling3.jpg b/src/images/chonkysling/sling3.jpg new file mode 100644 index 0000000..d39ab53 Binary files /dev/null and b/src/images/chonkysling/sling3.jpg differ diff --git a/src/images/chonkysling/sling4.jpg b/src/images/chonkysling/sling4.jpg new file mode 100644 index 0000000..58533fe Binary files /dev/null and b/src/images/chonkysling/sling4.jpg differ diff --git a/src/images/chonkysling/sling5.jpg b/src/images/chonkysling/sling5.jpg new file mode 100644 index 0000000..b96f0e9 Binary files /dev/null and b/src/images/chonkysling/sling5.jpg differ diff --git a/src/images/chonkysling/sling6.jpg b/src/images/chonkysling/sling6.jpg new file mode 100644 index 0000000..4a7cea0 Binary files /dev/null and b/src/images/chonkysling/sling6.jpg differ diff --git a/src/images/chonkysling/sling7.jpg b/src/images/chonkysling/sling7.jpg new file mode 100644 index 0000000..4048583 Binary files /dev/null and b/src/images/chonkysling/sling7.jpg differ diff --git a/src/images/chonkysling/snowday.jpg b/src/images/chonkysling/snowday.jpg new file mode 100644 index 0000000..5bb45b4 Binary files /dev/null and b/src/images/chonkysling/snowday.jpg differ diff --git a/src/images/chonkysling/snowday2.jpg b/src/images/chonkysling/snowday2.jpg new file mode 100644 index 0000000..fe59f18 Binary files /dev/null and b/src/images/chonkysling/snowday2.jpg differ diff --git a/src/images/chonkysling/thumbs/instructions.png b/src/images/chonkysling/thumbs/instructions.png new file mode 100644 index 0000000..00c6d91 Binary files /dev/null and b/src/images/chonkysling/thumbs/instructions.png differ diff --git a/src/images/chonkysling/thumbs/instructions2.png b/src/images/chonkysling/thumbs/instructions2.png new file mode 100644 index 0000000..1faa5da Binary files /dev/null and b/src/images/chonkysling/thumbs/instructions2.png differ diff --git a/src/images/chonkysling/thumbs/launchgraphic.jpg b/src/images/chonkysling/thumbs/launchgraphic.jpg new file mode 100644 index 0000000..b10a117 Binary files /dev/null and b/src/images/chonkysling/thumbs/launchgraphic.jpg differ diff --git a/src/images/chonkysling/thumbs/olivehero3.jpg b/src/images/chonkysling/thumbs/olivehero3.jpg new file mode 100644 index 0000000..afee997 Binary files /dev/null and b/src/images/chonkysling/thumbs/olivehero3.jpg differ diff --git a/src/images/chonkysling/thumbs/olivesling3.jpg b/src/images/chonkysling/thumbs/olivesling3.jpg new file mode 100644 index 0000000..069138a Binary files /dev/null and b/src/images/chonkysling/thumbs/olivesling3.jpg differ diff --git a/src/images/chonkysling/thumbs/olivesling4.jpg b/src/images/chonkysling/thumbs/olivesling4.jpg new file mode 100644 index 0000000..ab45afe Binary files /dev/null and b/src/images/chonkysling/thumbs/olivesling4.jpg differ diff --git a/src/images/chonkysling/thumbs/sling1.jpg b/src/images/chonkysling/thumbs/sling1.jpg new file mode 100644 index 0000000..99e6732 Binary files /dev/null and b/src/images/chonkysling/thumbs/sling1.jpg differ diff --git a/src/images/chonkysling/thumbs/sling2.jpg b/src/images/chonkysling/thumbs/sling2.jpg new file mode 100644 index 0000000..471dea1 Binary files /dev/null and b/src/images/chonkysling/thumbs/sling2.jpg differ diff --git a/src/images/chonkysling/thumbs/sling3.jpg b/src/images/chonkysling/thumbs/sling3.jpg new file mode 100644 index 0000000..316dd4d Binary files /dev/null and b/src/images/chonkysling/thumbs/sling3.jpg differ diff --git a/src/images/chonkysling/thumbs/sling4.jpg b/src/images/chonkysling/thumbs/sling4.jpg new file mode 100644 index 0000000..0eec0d3 Binary files /dev/null and b/src/images/chonkysling/thumbs/sling4.jpg differ diff --git a/src/images/chonkysling/thumbs/sling5.jpg b/src/images/chonkysling/thumbs/sling5.jpg new file mode 100644 index 0000000..aa25c50 Binary files /dev/null and b/src/images/chonkysling/thumbs/sling5.jpg differ diff --git a/src/images/chonkysling/thumbs/sling6.jpg b/src/images/chonkysling/thumbs/sling6.jpg new file mode 100644 index 0000000..00daf4b Binary files /dev/null and b/src/images/chonkysling/thumbs/sling6.jpg differ diff --git a/src/images/chonkysling/thumbs/sling7.jpg b/src/images/chonkysling/thumbs/sling7.jpg new file mode 100644 index 0000000..d2bab88 Binary files /dev/null and b/src/images/chonkysling/thumbs/sling7.jpg differ diff --git a/src/images/chonkysling/thumbs/snowday.jpg b/src/images/chonkysling/thumbs/snowday.jpg new file mode 100644 index 0000000..372fcc0 Binary files /dev/null and b/src/images/chonkysling/thumbs/snowday.jpg differ diff --git a/src/images/chonkysling/thumbs/snowday2.jpg b/src/images/chonkysling/thumbs/snowday2.jpg new file mode 100644 index 0000000..4df7248 Binary files /dev/null and b/src/images/chonkysling/thumbs/snowday2.jpg differ diff --git a/src/images/chonkysling/thumbs/yt-thumb.jpg b/src/images/chonkysling/thumbs/yt-thumb.jpg new file mode 100644 index 0000000..07cfffa Binary files /dev/null and b/src/images/chonkysling/thumbs/yt-thumb.jpg differ diff --git a/src/images/cinchsack/cinch1.jpg b/src/images/cinchsack/cinch1.jpg new file mode 100644 index 0000000..71bbabc Binary files /dev/null and b/src/images/cinchsack/cinch1.jpg differ diff --git a/src/images/cinchsack/cinch2.jpg b/src/images/cinchsack/cinch2.jpg new file mode 100644 index 0000000..3b1fcb7 Binary files /dev/null and b/src/images/cinchsack/cinch2.jpg differ diff --git a/src/images/cinchsack/cinch3.jpg b/src/images/cinchsack/cinch3.jpg new file mode 100644 index 0000000..351b077 Binary files /dev/null and b/src/images/cinchsack/cinch3.jpg differ diff --git a/src/images/cinchsack/cinch4.jpg b/src/images/cinchsack/cinch4.jpg new file mode 100644 index 0000000..7b78fa1 Binary files /dev/null and b/src/images/cinchsack/cinch4.jpg differ diff --git a/src/images/cinchsack/cinch5.jpg b/src/images/cinchsack/cinch5.jpg new file mode 100644 index 0000000..1104446 Binary files /dev/null and b/src/images/cinchsack/cinch5.jpg differ diff --git a/src/images/cinchsack/cinch6.jpg b/src/images/cinchsack/cinch6.jpg new file mode 100644 index 0000000..90125b3 Binary files /dev/null and b/src/images/cinchsack/cinch6.jpg differ diff --git a/src/images/cinchsack/cinchplan.jpg b/src/images/cinchsack/cinchplan.jpg new file mode 100644 index 0000000..d2c8a79 Binary files /dev/null and b/src/images/cinchsack/cinchplan.jpg differ diff --git a/src/images/cinchsack/materials.jpg b/src/images/cinchsack/materials.jpg new file mode 100644 index 0000000..a62f28d Binary files /dev/null and b/src/images/cinchsack/materials.jpg differ diff --git a/src/images/cinchsack/sample.jpg b/src/images/cinchsack/sample.jpg new file mode 100644 index 0000000..fd515cf Binary files /dev/null and b/src/images/cinchsack/sample.jpg differ diff --git a/src/images/dias/bhcover2.jpg b/src/images/dias/bhcover2.jpg new file mode 100644 index 0000000..45eba85 Binary files /dev/null and b/src/images/dias/bhcover2.jpg differ diff --git a/src/images/dias/bhwalk.jpg b/src/images/dias/bhwalk.jpg new file mode 100644 index 0000000..1d6478b Binary files /dev/null and b/src/images/dias/bhwalk.jpg differ diff --git a/src/images/dias/bhwelt.jpg b/src/images/dias/bhwelt.jpg new file mode 100644 index 0000000..5136ef8 Binary files /dev/null and b/src/images/dias/bhwelt.jpg differ diff --git a/src/images/dias/blback.jpg b/src/images/dias/blback.jpg new file mode 100644 index 0000000..7e3de82 Binary files /dev/null and b/src/images/dias/blback.jpg differ diff --git a/src/images/dias/blgusset.jpg b/src/images/dias/blgusset.jpg new file mode 100644 index 0000000..f482bf0 Binary files /dev/null and b/src/images/dias/blgusset.jpg differ diff --git a/src/images/dias/blhero.jpg b/src/images/dias/blhero.jpg new file mode 100644 index 0000000..1c0c0c7 Binary files /dev/null and b/src/images/dias/blhero.jpg differ diff --git a/src/images/dias/blpockets.jpg b/src/images/dias/blpockets.jpg new file mode 100644 index 0000000..46db7c3 Binary files /dev/null and b/src/images/dias/blpockets.jpg differ diff --git a/src/images/dias/bltag.jpg b/src/images/dias/bltag.jpg new file mode 100644 index 0000000..d06fb7e Binary files /dev/null and b/src/images/dias/bltag.jpg differ diff --git a/src/images/dias/build/fabricslightwts.jpg b/src/images/dias/build/fabricslightwts.jpg new file mode 100644 index 0000000..38791f1 Binary files /dev/null and b/src/images/dias/build/fabricslightwts.jpg differ diff --git a/src/images/dias/build/fabricsmedwts.jpg b/src/images/dias/build/fabricsmedwts.jpg new file mode 100644 index 0000000..9e4fd6e Binary files /dev/null and b/src/images/dias/build/fabricsmedwts.jpg differ diff --git a/src/images/dias/build/step2.10.jpg b/src/images/dias/build/step2.10.jpg new file mode 100644 index 0000000..6de4fb3 Binary files /dev/null and b/src/images/dias/build/step2.10.jpg differ diff --git a/src/images/dias/build/step2.12.jpg b/src/images/dias/build/step2.12.jpg new file mode 100644 index 0000000..1625541 Binary files /dev/null and b/src/images/dias/build/step2.12.jpg differ diff --git a/src/images/dias/build/step2.13.jpg b/src/images/dias/build/step2.13.jpg new file mode 100644 index 0000000..207afe0 Binary files /dev/null and b/src/images/dias/build/step2.13.jpg differ diff --git a/src/images/dias/build/step2.13b.jpg b/src/images/dias/build/step2.13b.jpg new file mode 100644 index 0000000..2189f03 Binary files /dev/null and b/src/images/dias/build/step2.13b.jpg differ diff --git a/src/images/dias/build/step2.4.jpg b/src/images/dias/build/step2.4.jpg new file mode 100644 index 0000000..f962c54 Binary files /dev/null and b/src/images/dias/build/step2.4.jpg differ diff --git a/src/images/dias/build/step2.5.jpg b/src/images/dias/build/step2.5.jpg new file mode 100644 index 0000000..9fe8e05 Binary files /dev/null and b/src/images/dias/build/step2.5.jpg differ diff --git a/src/images/dias/build/step2.5b.jpg b/src/images/dias/build/step2.5b.jpg new file mode 100644 index 0000000..8df50b6 Binary files /dev/null and b/src/images/dias/build/step2.5b.jpg differ diff --git a/src/images/dias/build/step2.7.jpg b/src/images/dias/build/step2.7.jpg new file mode 100644 index 0000000..a7c4103 Binary files /dev/null and b/src/images/dias/build/step2.7.jpg differ diff --git a/src/images/dias/build/step2.8.jpg b/src/images/dias/build/step2.8.jpg new file mode 100644 index 0000000..39ac6dd Binary files /dev/null and b/src/images/dias/build/step2.8.jpg differ diff --git a/src/images/dias/build/step3.2.jpg b/src/images/dias/build/step3.2.jpg new file mode 100644 index 0000000..1d253fd Binary files /dev/null and b/src/images/dias/build/step3.2.jpg differ diff --git a/src/images/dias/build/step3.3.jpg b/src/images/dias/build/step3.3.jpg new file mode 100644 index 0000000..4a76dd5 Binary files /dev/null and b/src/images/dias/build/step3.3.jpg differ diff --git a/src/images/dias/build/step3.4.jpg b/src/images/dias/build/step3.4.jpg new file mode 100644 index 0000000..e84b3b1 Binary files /dev/null and b/src/images/dias/build/step3.4.jpg differ diff --git a/src/images/dias/build/step3.5.jpg b/src/images/dias/build/step3.5.jpg new file mode 100644 index 0000000..ea7ea18 Binary files /dev/null and b/src/images/dias/build/step3.5.jpg differ diff --git a/src/images/dias/build/step3.6.jpg b/src/images/dias/build/step3.6.jpg new file mode 100644 index 0000000..b3a4b8e Binary files /dev/null and b/src/images/dias/build/step3.6.jpg differ diff --git a/src/images/dias/build/step3.6b.jpg b/src/images/dias/build/step3.6b.jpg new file mode 100644 index 0000000..ea48daa Binary files /dev/null and b/src/images/dias/build/step3.6b.jpg differ diff --git a/src/images/dias/build/step3.7.jpg b/src/images/dias/build/step3.7.jpg new file mode 100644 index 0000000..5908012 Binary files /dev/null and b/src/images/dias/build/step3.7.jpg differ diff --git a/src/images/dias/build/step3A.2.jpg b/src/images/dias/build/step3A.2.jpg new file mode 100644 index 0000000..c9e8430 Binary files /dev/null and b/src/images/dias/build/step3A.2.jpg differ diff --git a/src/images/dias/build/step3A.7.jpg b/src/images/dias/build/step3A.7.jpg new file mode 100644 index 0000000..76678c4 Binary files /dev/null and b/src/images/dias/build/step3A.7.jpg differ diff --git a/src/images/dias/build/step3A.8.jpg b/src/images/dias/build/step3A.8.jpg new file mode 100644 index 0000000..950af86 Binary files /dev/null and b/src/images/dias/build/step3A.8.jpg differ diff --git a/src/images/dias/build/step3B.1.jpg b/src/images/dias/build/step3B.1.jpg new file mode 100644 index 0000000..9097185 Binary files /dev/null and b/src/images/dias/build/step3B.1.jpg differ diff --git a/src/images/dias/build/step3B.1b.jpg b/src/images/dias/build/step3B.1b.jpg new file mode 100644 index 0000000..0cbe25c Binary files /dev/null and b/src/images/dias/build/step3B.1b.jpg differ diff --git a/src/images/dias/build/step3B.1balt.jpg b/src/images/dias/build/step3B.1balt.jpg new file mode 100644 index 0000000..e0a0381 Binary files /dev/null and b/src/images/dias/build/step3B.1balt.jpg differ diff --git a/src/images/dias/build/step3B.1c.jpg b/src/images/dias/build/step3B.1c.jpg new file mode 100644 index 0000000..4de27b9 Binary files /dev/null and b/src/images/dias/build/step3B.1c.jpg differ diff --git a/src/images/dias/build/step3B.2.jpg b/src/images/dias/build/step3B.2.jpg new file mode 100644 index 0000000..f3f9f98 Binary files /dev/null and b/src/images/dias/build/step3B.2.jpg differ diff --git a/src/images/dias/build/step3B.4.jpg b/src/images/dias/build/step3B.4.jpg new file mode 100644 index 0000000..19d277b Binary files /dev/null and b/src/images/dias/build/step3B.4.jpg differ diff --git a/src/images/dias/build/step3B.5.jpg b/src/images/dias/build/step3B.5.jpg new file mode 100644 index 0000000..898d91a Binary files /dev/null and b/src/images/dias/build/step3B.5.jpg differ diff --git a/src/images/dias/build/step3B.5finished.jpg b/src/images/dias/build/step3B.5finished.jpg new file mode 100644 index 0000000..d5a4f5f Binary files /dev/null and b/src/images/dias/build/step3B.5finished.jpg differ diff --git a/src/images/dias/build/step4.1.jpg b/src/images/dias/build/step4.1.jpg new file mode 100644 index 0000000..909fdb2 Binary files /dev/null and b/src/images/dias/build/step4.1.jpg differ diff --git a/src/images/dias/build/step4.2.jpg b/src/images/dias/build/step4.2.jpg new file mode 100644 index 0000000..5266973 Binary files /dev/null and b/src/images/dias/build/step4.2.jpg differ diff --git a/src/images/dias/build/step4.3.jpg b/src/images/dias/build/step4.3.jpg new file mode 100644 index 0000000..98f5dcd Binary files /dev/null and b/src/images/dias/build/step4.3.jpg differ diff --git a/src/images/dias/build/step4.3b.jpg b/src/images/dias/build/step4.3b.jpg new file mode 100644 index 0000000..08d9ea5 Binary files /dev/null and b/src/images/dias/build/step4.3b.jpg differ diff --git a/src/images/dias/build/step5.1.jpg b/src/images/dias/build/step5.1.jpg new file mode 100644 index 0000000..4cd1bc7 Binary files /dev/null and b/src/images/dias/build/step5.1.jpg differ diff --git a/src/images/dias/build/step5.4.jpg b/src/images/dias/build/step5.4.jpg new file mode 100644 index 0000000..fea7fbc Binary files /dev/null and b/src/images/dias/build/step5.4.jpg differ diff --git a/src/images/dias/build/step5.5.jpg b/src/images/dias/build/step5.5.jpg new file mode 100644 index 0000000..3c076a9 Binary files /dev/null and b/src/images/dias/build/step5.5.jpg differ diff --git a/src/images/dias/build/step6.1.jpg b/src/images/dias/build/step6.1.jpg new file mode 100644 index 0000000..3741ff9 Binary files /dev/null and b/src/images/dias/build/step6.1.jpg differ diff --git a/src/images/dias/build/step6.10.jpg b/src/images/dias/build/step6.10.jpg new file mode 100644 index 0000000..be985a0 Binary files /dev/null and b/src/images/dias/build/step6.10.jpg differ diff --git a/src/images/dias/build/step6.2.jpg b/src/images/dias/build/step6.2.jpg new file mode 100644 index 0000000..ab111e8 Binary files /dev/null and b/src/images/dias/build/step6.2.jpg differ diff --git a/src/images/dias/build/step6.4.jpg b/src/images/dias/build/step6.4.jpg new file mode 100644 index 0000000..025e7d4 Binary files /dev/null and b/src/images/dias/build/step6.4.jpg differ diff --git a/src/images/dias/build/step6.5.jpg b/src/images/dias/build/step6.5.jpg new file mode 100644 index 0000000..7708607 Binary files /dev/null and b/src/images/dias/build/step6.5.jpg differ diff --git a/src/images/dias/build/step6.7.jpg b/src/images/dias/build/step6.7.jpg new file mode 100644 index 0000000..fd42546 Binary files /dev/null and b/src/images/dias/build/step6.7.jpg differ diff --git a/src/images/dias/build/step6.8.jpg b/src/images/dias/build/step6.8.jpg new file mode 100644 index 0000000..f31f208 Binary files /dev/null and b/src/images/dias/build/step6.8.jpg differ diff --git a/src/images/dias/build/step7.3.jpg b/src/images/dias/build/step7.3.jpg new file mode 100644 index 0000000..40b4f49 Binary files /dev/null and b/src/images/dias/build/step7.3.jpg differ diff --git a/src/images/dias/build/thumbs/fabricslightwts.jpg b/src/images/dias/build/thumbs/fabricslightwts.jpg new file mode 100644 index 0000000..3d0c4a6 Binary files /dev/null and b/src/images/dias/build/thumbs/fabricslightwts.jpg differ diff --git a/src/images/dias/build/thumbs/fabricsmedwts.jpg b/src/images/dias/build/thumbs/fabricsmedwts.jpg new file mode 100644 index 0000000..ddf461f Binary files /dev/null and b/src/images/dias/build/thumbs/fabricsmedwts.jpg differ diff --git a/src/images/dias/build/thumbs/step2.10.jpg b/src/images/dias/build/thumbs/step2.10.jpg new file mode 100644 index 0000000..5bc8937 Binary files /dev/null and b/src/images/dias/build/thumbs/step2.10.jpg differ diff --git a/src/images/dias/build/thumbs/step2.12.jpg b/src/images/dias/build/thumbs/step2.12.jpg new file mode 100644 index 0000000..4683451 Binary files /dev/null and b/src/images/dias/build/thumbs/step2.12.jpg differ diff --git a/src/images/dias/build/thumbs/step2.13.jpg b/src/images/dias/build/thumbs/step2.13.jpg new file mode 100644 index 0000000..04fd779 Binary files /dev/null and b/src/images/dias/build/thumbs/step2.13.jpg differ diff --git a/src/images/dias/build/thumbs/step2.13b.jpg b/src/images/dias/build/thumbs/step2.13b.jpg new file mode 100644 index 0000000..946c104 Binary files /dev/null and b/src/images/dias/build/thumbs/step2.13b.jpg differ diff --git a/src/images/dias/build/thumbs/step2.4.jpg b/src/images/dias/build/thumbs/step2.4.jpg new file mode 100644 index 0000000..84b0356 Binary files /dev/null and b/src/images/dias/build/thumbs/step2.4.jpg differ diff --git a/src/images/dias/build/thumbs/step2.5.jpg b/src/images/dias/build/thumbs/step2.5.jpg new file mode 100644 index 0000000..8b39a46 Binary files /dev/null and b/src/images/dias/build/thumbs/step2.5.jpg differ diff --git a/src/images/dias/build/thumbs/step2.5b.jpg b/src/images/dias/build/thumbs/step2.5b.jpg new file mode 100644 index 0000000..3d7e824 Binary files /dev/null and b/src/images/dias/build/thumbs/step2.5b.jpg differ diff --git a/src/images/dias/build/thumbs/step2.7.jpg b/src/images/dias/build/thumbs/step2.7.jpg new file mode 100644 index 0000000..623d9ed Binary files /dev/null and b/src/images/dias/build/thumbs/step2.7.jpg differ diff --git a/src/images/dias/build/thumbs/step2.8.jpg b/src/images/dias/build/thumbs/step2.8.jpg new file mode 100644 index 0000000..b4c14db Binary files /dev/null and b/src/images/dias/build/thumbs/step2.8.jpg differ diff --git a/src/images/dias/build/thumbs/step3.2.jpg b/src/images/dias/build/thumbs/step3.2.jpg new file mode 100644 index 0000000..3f4da0d Binary files /dev/null and b/src/images/dias/build/thumbs/step3.2.jpg differ diff --git a/src/images/dias/build/thumbs/step3.3.jpg b/src/images/dias/build/thumbs/step3.3.jpg new file mode 100644 index 0000000..adf24e3 Binary files /dev/null and b/src/images/dias/build/thumbs/step3.3.jpg differ diff --git a/src/images/dias/build/thumbs/step3.4.jpg b/src/images/dias/build/thumbs/step3.4.jpg new file mode 100644 index 0000000..107bd09 Binary files /dev/null and b/src/images/dias/build/thumbs/step3.4.jpg differ diff --git a/src/images/dias/build/thumbs/step3.5.jpg b/src/images/dias/build/thumbs/step3.5.jpg new file mode 100644 index 0000000..7fb8dfe Binary files /dev/null and b/src/images/dias/build/thumbs/step3.5.jpg differ diff --git a/src/images/dias/build/thumbs/step3.6.jpg b/src/images/dias/build/thumbs/step3.6.jpg new file mode 100644 index 0000000..d0d7876 Binary files /dev/null and b/src/images/dias/build/thumbs/step3.6.jpg differ diff --git a/src/images/dias/build/thumbs/step3.6b.jpg b/src/images/dias/build/thumbs/step3.6b.jpg new file mode 100644 index 0000000..e7cb021 Binary files /dev/null and b/src/images/dias/build/thumbs/step3.6b.jpg differ diff --git a/src/images/dias/build/thumbs/step3.7.jpg b/src/images/dias/build/thumbs/step3.7.jpg new file mode 100644 index 0000000..028ca7f Binary files /dev/null and b/src/images/dias/build/thumbs/step3.7.jpg differ diff --git a/src/images/dias/build/thumbs/step3A.2.jpg b/src/images/dias/build/thumbs/step3A.2.jpg new file mode 100644 index 0000000..3e2fc1a Binary files /dev/null and b/src/images/dias/build/thumbs/step3A.2.jpg differ diff --git a/src/images/dias/build/thumbs/step3A.7.jpg b/src/images/dias/build/thumbs/step3A.7.jpg new file mode 100644 index 0000000..384d153 Binary files /dev/null and b/src/images/dias/build/thumbs/step3A.7.jpg differ diff --git a/src/images/dias/build/thumbs/step3A.8.jpg b/src/images/dias/build/thumbs/step3A.8.jpg new file mode 100644 index 0000000..5812361 Binary files /dev/null and b/src/images/dias/build/thumbs/step3A.8.jpg differ diff --git a/src/images/dias/build/thumbs/step3B.1.jpg b/src/images/dias/build/thumbs/step3B.1.jpg new file mode 100644 index 0000000..3d613ec Binary files /dev/null and b/src/images/dias/build/thumbs/step3B.1.jpg differ diff --git a/src/images/dias/build/thumbs/step3B.1b.jpg b/src/images/dias/build/thumbs/step3B.1b.jpg new file mode 100644 index 0000000..a00603e Binary files /dev/null and b/src/images/dias/build/thumbs/step3B.1b.jpg differ diff --git a/src/images/dias/build/thumbs/step3B.1balt.jpg b/src/images/dias/build/thumbs/step3B.1balt.jpg new file mode 100644 index 0000000..a2f7411 Binary files /dev/null and b/src/images/dias/build/thumbs/step3B.1balt.jpg differ diff --git a/src/images/dias/build/thumbs/step3B.1c.jpg b/src/images/dias/build/thumbs/step3B.1c.jpg new file mode 100644 index 0000000..c039822 Binary files /dev/null and b/src/images/dias/build/thumbs/step3B.1c.jpg differ diff --git a/src/images/dias/build/thumbs/step3B.2.jpg b/src/images/dias/build/thumbs/step3B.2.jpg new file mode 100644 index 0000000..8219aea Binary files /dev/null and b/src/images/dias/build/thumbs/step3B.2.jpg differ diff --git a/src/images/dias/build/thumbs/step3B.4.jpg b/src/images/dias/build/thumbs/step3B.4.jpg new file mode 100644 index 0000000..811ddd8 Binary files /dev/null and b/src/images/dias/build/thumbs/step3B.4.jpg differ diff --git a/src/images/dias/build/thumbs/step3B.5.jpg b/src/images/dias/build/thumbs/step3B.5.jpg new file mode 100644 index 0000000..eab40e0 Binary files /dev/null and b/src/images/dias/build/thumbs/step3B.5.jpg differ diff --git a/src/images/dias/build/thumbs/step3B.5finished.jpg b/src/images/dias/build/thumbs/step3B.5finished.jpg new file mode 100644 index 0000000..2925d74 Binary files /dev/null and b/src/images/dias/build/thumbs/step3B.5finished.jpg differ diff --git a/src/images/dias/build/thumbs/step4.1.jpg b/src/images/dias/build/thumbs/step4.1.jpg new file mode 100644 index 0000000..6e09969 Binary files /dev/null and b/src/images/dias/build/thumbs/step4.1.jpg differ diff --git a/src/images/dias/build/thumbs/step4.2.jpg b/src/images/dias/build/thumbs/step4.2.jpg new file mode 100644 index 0000000..d0c19bb Binary files /dev/null and b/src/images/dias/build/thumbs/step4.2.jpg differ diff --git a/src/images/dias/build/thumbs/step4.3.jpg b/src/images/dias/build/thumbs/step4.3.jpg new file mode 100644 index 0000000..564bc4d Binary files /dev/null and b/src/images/dias/build/thumbs/step4.3.jpg differ diff --git a/src/images/dias/build/thumbs/step4.3b.jpg b/src/images/dias/build/thumbs/step4.3b.jpg new file mode 100644 index 0000000..4237afc Binary files /dev/null and b/src/images/dias/build/thumbs/step4.3b.jpg differ diff --git a/src/images/dias/build/thumbs/step5.1.jpg b/src/images/dias/build/thumbs/step5.1.jpg new file mode 100644 index 0000000..8741d52 Binary files /dev/null and b/src/images/dias/build/thumbs/step5.1.jpg differ diff --git a/src/images/dias/build/thumbs/step5.4.jpg b/src/images/dias/build/thumbs/step5.4.jpg new file mode 100644 index 0000000..ae83494 Binary files /dev/null and b/src/images/dias/build/thumbs/step5.4.jpg differ diff --git a/src/images/dias/build/thumbs/step5.5.jpg b/src/images/dias/build/thumbs/step5.5.jpg new file mode 100644 index 0000000..4f790c7 Binary files /dev/null and b/src/images/dias/build/thumbs/step5.5.jpg differ diff --git a/src/images/dias/build/thumbs/step6.1.jpg b/src/images/dias/build/thumbs/step6.1.jpg new file mode 100644 index 0000000..ab2ec2c Binary files /dev/null and b/src/images/dias/build/thumbs/step6.1.jpg differ diff --git a/src/images/dias/build/thumbs/step6.10.jpg b/src/images/dias/build/thumbs/step6.10.jpg new file mode 100644 index 0000000..0620a31 Binary files /dev/null and b/src/images/dias/build/thumbs/step6.10.jpg differ diff --git a/src/images/dias/build/thumbs/step6.2.jpg b/src/images/dias/build/thumbs/step6.2.jpg new file mode 100644 index 0000000..3fde856 Binary files /dev/null and b/src/images/dias/build/thumbs/step6.2.jpg differ diff --git a/src/images/dias/build/thumbs/step6.4.jpg b/src/images/dias/build/thumbs/step6.4.jpg new file mode 100644 index 0000000..61f9c1b Binary files /dev/null and b/src/images/dias/build/thumbs/step6.4.jpg differ diff --git a/src/images/dias/build/thumbs/step6.5.jpg b/src/images/dias/build/thumbs/step6.5.jpg new file mode 100644 index 0000000..cb14866 Binary files /dev/null and b/src/images/dias/build/thumbs/step6.5.jpg differ diff --git a/src/images/dias/build/thumbs/step6.7.jpg b/src/images/dias/build/thumbs/step6.7.jpg new file mode 100644 index 0000000..c3076c6 Binary files /dev/null and b/src/images/dias/build/thumbs/step6.7.jpg differ diff --git a/src/images/dias/build/thumbs/step6.8.jpg b/src/images/dias/build/thumbs/step6.8.jpg new file mode 100644 index 0000000..93105c9 Binary files /dev/null and b/src/images/dias/build/thumbs/step6.8.jpg differ diff --git a/src/images/dias/build/thumbs/step7.3.jpg b/src/images/dias/build/thumbs/step7.3.jpg new file mode 100644 index 0000000..03e19da Binary files /dev/null and b/src/images/dias/build/thumbs/step7.3.jpg differ diff --git a/src/images/dias/patterncard.png b/src/images/dias/patterncard.png new file mode 100644 index 0000000..1f6df26 Binary files /dev/null and b/src/images/dias/patterncard.png differ diff --git a/src/images/dias/sampleinstructions.png b/src/images/dias/sampleinstructions.png new file mode 100644 index 0000000..dd7868d Binary files /dev/null and b/src/images/dias/sampleinstructions.png differ diff --git a/src/images/dias/thumbs/bhcover2.jpg b/src/images/dias/thumbs/bhcover2.jpg new file mode 100644 index 0000000..8d20f60 Binary files /dev/null and b/src/images/dias/thumbs/bhcover2.jpg differ diff --git a/src/images/dias/thumbs/bhwalk.jpg b/src/images/dias/thumbs/bhwalk.jpg new file mode 100644 index 0000000..f183cde Binary files /dev/null and b/src/images/dias/thumbs/bhwalk.jpg differ diff --git a/src/images/dias/thumbs/bhwelt.jpg b/src/images/dias/thumbs/bhwelt.jpg new file mode 100644 index 0000000..b4306ae Binary files /dev/null and b/src/images/dias/thumbs/bhwelt.jpg differ diff --git a/src/images/dias/thumbs/blback.jpg b/src/images/dias/thumbs/blback.jpg new file mode 100644 index 0000000..94a4b3b Binary files /dev/null and b/src/images/dias/thumbs/blback.jpg differ diff --git a/src/images/dias/thumbs/blgusset.jpg b/src/images/dias/thumbs/blgusset.jpg new file mode 100644 index 0000000..fb0d52f Binary files /dev/null and b/src/images/dias/thumbs/blgusset.jpg differ diff --git a/src/images/dias/thumbs/blhero.jpg b/src/images/dias/thumbs/blhero.jpg new file mode 100644 index 0000000..ec761fa Binary files /dev/null and b/src/images/dias/thumbs/blhero.jpg differ diff --git a/src/images/dias/thumbs/blpockets.jpg b/src/images/dias/thumbs/blpockets.jpg new file mode 100644 index 0000000..6e4bf85 Binary files /dev/null and b/src/images/dias/thumbs/blpockets.jpg differ diff --git a/src/images/dias/thumbs/bltag.jpg b/src/images/dias/thumbs/bltag.jpg new file mode 100644 index 0000000..cb28df7 Binary files /dev/null and b/src/images/dias/thumbs/bltag.jpg differ diff --git a/src/images/dias/thumbs/patterncard.png b/src/images/dias/thumbs/patterncard.png new file mode 100644 index 0000000..1882a74 Binary files /dev/null and b/src/images/dias/thumbs/patterncard.png differ diff --git a/src/images/dias/thumbs/sampleinstructions.png b/src/images/dias/thumbs/sampleinstructions.png new file mode 100644 index 0000000..5984c39 Binary files /dev/null and b/src/images/dias/thumbs/sampleinstructions.png differ diff --git a/src/images/dias/thumbs/yellowhero.jpg b/src/images/dias/thumbs/yellowhero.jpg new file mode 100644 index 0000000..66ffe10 Binary files /dev/null and b/src/images/dias/thumbs/yellowhero.jpg differ diff --git a/src/images/dias/yellowhero.jpg b/src/images/dias/yellowhero.jpg new file mode 100644 index 0000000..f63d726 Binary files /dev/null and b/src/images/dias/yellowhero.jpg differ diff --git a/src/images/digitalworkflow/basiclabels.jpg b/src/images/digitalworkflow/basiclabels.jpg new file mode 100644 index 0000000..701406f Binary files /dev/null and b/src/images/digitalworkflow/basiclabels.jpg differ diff --git a/src/images/digitalworkflow/cricut.jpg b/src/images/digitalworkflow/cricut.jpg new file mode 100644 index 0000000..2032bd9 Binary files /dev/null and b/src/images/digitalworkflow/cricut.jpg differ diff --git a/src/images/digitalworkflow/hat.jpg b/src/images/digitalworkflow/hat.jpg new file mode 100644 index 0000000..2f96ad1 Binary files /dev/null and b/src/images/digitalworkflow/hat.jpg differ diff --git a/src/images/digitalworkflow/labels.jpg b/src/images/digitalworkflow/labels.jpg new file mode 100644 index 0000000..b4d77d9 Binary files /dev/null and b/src/images/digitalworkflow/labels.jpg differ diff --git a/src/images/digitalworkflow/labels2.jpg b/src/images/digitalworkflow/labels2.jpg new file mode 100644 index 0000000..eabf6c8 Binary files /dev/null and b/src/images/digitalworkflow/labels2.jpg differ diff --git a/src/images/digitalworkflow/respect.jpg b/src/images/digitalworkflow/respect.jpg new file mode 100644 index 0000000..a74607a Binary files /dev/null and b/src/images/digitalworkflow/respect.jpg differ diff --git a/src/images/digitalworkflow/stretch.jpg b/src/images/digitalworkflow/stretch.jpg new file mode 100644 index 0000000..5d541b2 Binary files /dev/null and b/src/images/digitalworkflow/stretch.jpg differ diff --git a/src/images/digitalworkflow/thumbs/basiclabels.jpg b/src/images/digitalworkflow/thumbs/basiclabels.jpg new file mode 100644 index 0000000..fa9803a Binary files /dev/null and b/src/images/digitalworkflow/thumbs/basiclabels.jpg differ diff --git a/src/images/digitalworkflow/thumbs/hat.jpg b/src/images/digitalworkflow/thumbs/hat.jpg new file mode 100644 index 0000000..089a6e0 Binary files /dev/null and b/src/images/digitalworkflow/thumbs/hat.jpg differ diff --git a/src/images/digitalworkflow/thumbs/labels.jpg b/src/images/digitalworkflow/thumbs/labels.jpg new file mode 100644 index 0000000..daaf762 Binary files /dev/null and b/src/images/digitalworkflow/thumbs/labels.jpg differ diff --git a/src/images/digitalworkflow/thumbs/labels2.jpg b/src/images/digitalworkflow/thumbs/labels2.jpg new file mode 100644 index 0000000..0ecf3ce Binary files /dev/null and b/src/images/digitalworkflow/thumbs/labels2.jpg differ diff --git a/src/images/digitalworkflow/thumbs/respect.jpg b/src/images/digitalworkflow/thumbs/respect.jpg new file mode 100644 index 0000000..bb79a8f Binary files /dev/null and b/src/images/digitalworkflow/thumbs/respect.jpg differ diff --git a/src/images/digitalworkflow/thumbs/stretch.jpg b/src/images/digitalworkflow/thumbs/stretch.jpg new file mode 100644 index 0000000..ae2c91a Binary files /dev/null and b/src/images/digitalworkflow/thumbs/stretch.jpg differ diff --git a/src/images/digitalworkflow/thumbs/weeding.jpg b/src/images/digitalworkflow/thumbs/weeding.jpg new file mode 100644 index 0000000..e05b44b Binary files /dev/null and b/src/images/digitalworkflow/thumbs/weeding.jpg differ diff --git a/src/images/digitalworkflow/weeding.jpg b/src/images/digitalworkflow/weeding.jpg new file mode 100644 index 0000000..dd85d6b Binary files /dev/null and b/src/images/digitalworkflow/weeding.jpg differ diff --git a/src/images/edTotepack/1.jpg b/src/images/edTotepack/1.jpg new file mode 100644 index 0000000..ca42658 Binary files /dev/null and b/src/images/edTotepack/1.jpg differ diff --git a/src/images/edTotepack/2.jpg b/src/images/edTotepack/2.jpg new file mode 100644 index 0000000..12c4938 Binary files /dev/null and b/src/images/edTotepack/2.jpg differ diff --git a/src/images/edTotepack/3.jpg b/src/images/edTotepack/3.jpg new file mode 100644 index 0000000..b09d56c Binary files /dev/null and b/src/images/edTotepack/3.jpg differ diff --git a/src/images/edTotepack/4.jpg b/src/images/edTotepack/4.jpg new file mode 100644 index 0000000..8c8a1f3 Binary files /dev/null and b/src/images/edTotepack/4.jpg differ diff --git a/src/images/edTotepack/5.jpg b/src/images/edTotepack/5.jpg new file mode 100644 index 0000000..7680400 Binary files /dev/null and b/src/images/edTotepack/5.jpg differ diff --git a/src/images/edTotepack/cb_lumpeo1.jpg b/src/images/edTotepack/cb_lumpeo1.jpg new file mode 100644 index 0000000..8301a7a Binary files /dev/null and b/src/images/edTotepack/cb_lumpeo1.jpg differ diff --git a/src/images/edTotepack/cb_lumpeo2.jpg b/src/images/edTotepack/cb_lumpeo2.jpg new file mode 100644 index 0000000..0be944d Binary files /dev/null and b/src/images/edTotepack/cb_lumpeo2.jpg differ diff --git a/src/images/edTotepack/thumbs/1.jpg b/src/images/edTotepack/thumbs/1.jpg new file mode 100644 index 0000000..da5bee4 Binary files /dev/null and b/src/images/edTotepack/thumbs/1.jpg differ diff --git a/src/images/edTotepack/thumbs/2.jpg b/src/images/edTotepack/thumbs/2.jpg new file mode 100644 index 0000000..2963860 Binary files /dev/null and b/src/images/edTotepack/thumbs/2.jpg differ diff --git a/src/images/edTotepack/thumbs/3.jpg b/src/images/edTotepack/thumbs/3.jpg new file mode 100644 index 0000000..16a2c48 Binary files /dev/null and b/src/images/edTotepack/thumbs/3.jpg differ diff --git a/src/images/edTotepack/thumbs/4.jpg b/src/images/edTotepack/thumbs/4.jpg new file mode 100644 index 0000000..c004b21 Binary files /dev/null and b/src/images/edTotepack/thumbs/4.jpg differ diff --git a/src/images/edTotepack/thumbs/5.jpg b/src/images/edTotepack/thumbs/5.jpg new file mode 100644 index 0000000..f9abc58 Binary files /dev/null and b/src/images/edTotepack/thumbs/5.jpg differ diff --git a/src/images/edTotepack/thumbs/cb_lumpeo1.jpg b/src/images/edTotepack/thumbs/cb_lumpeo1.jpg new file mode 100644 index 0000000..26f7b5f Binary files /dev/null and b/src/images/edTotepack/thumbs/cb_lumpeo1.jpg differ diff --git a/src/images/edTotepack/thumbs/cb_lumpeo2.jpg b/src/images/edTotepack/thumbs/cb_lumpeo2.jpg new file mode 100644 index 0000000..3ccf4bd Binary files /dev/null and b/src/images/edTotepack/thumbs/cb_lumpeo2.jpg differ diff --git a/src/images/edcFannyPack/0.jpg b/src/images/edcFannyPack/0.jpg new file mode 100644 index 0000000..b038278 Binary files /dev/null and b/src/images/edcFannyPack/0.jpg differ diff --git a/src/images/edcFannyPack/1.jpg b/src/images/edcFannyPack/1.jpg new file mode 100644 index 0000000..825ce33 Binary files /dev/null and b/src/images/edcFannyPack/1.jpg differ diff --git a/src/images/edcFannyPack/2.jpg b/src/images/edcFannyPack/2.jpg new file mode 100644 index 0000000..1968c7f Binary files /dev/null and b/src/images/edcFannyPack/2.jpg differ diff --git a/src/images/edcFannyPack/2b.jpg b/src/images/edcFannyPack/2b.jpg new file mode 100644 index 0000000..779b138 Binary files /dev/null and b/src/images/edcFannyPack/2b.jpg differ diff --git a/src/images/edcFannyPack/5.jpg b/src/images/edcFannyPack/5.jpg new file mode 100644 index 0000000..6759e8f Binary files /dev/null and b/src/images/edcFannyPack/5.jpg differ diff --git a/src/images/edcFannyPack/cb_BabiesArentUL.jpg b/src/images/edcFannyPack/cb_BabiesArentUL.jpg new file mode 100644 index 0000000..28fd6cc Binary files /dev/null and b/src/images/edcFannyPack/cb_BabiesArentUL.jpg differ diff --git a/src/images/edcFannyPack/cb_BigDogDeWald.jpg b/src/images/edcFannyPack/cb_BigDogDeWald.jpg new file mode 100644 index 0000000..e505fa7 Binary files /dev/null and b/src/images/edcFannyPack/cb_BigDogDeWald.jpg differ diff --git a/src/images/edcFannyPack/cb_FranziaSpritzer.jpg b/src/images/edcFannyPack/cb_FranziaSpritzer.jpg new file mode 100644 index 0000000..c24b290 Binary files /dev/null and b/src/images/edcFannyPack/cb_FranziaSpritzer.jpg differ diff --git a/src/images/edcFannyPack/cb_Peacebandit.jpg b/src/images/edcFannyPack/cb_Peacebandit.jpg new file mode 100644 index 0000000..56000dd Binary files /dev/null and b/src/images/edcFannyPack/cb_Peacebandit.jpg differ diff --git a/src/images/edcFannyPack/cb_boogita.jpg b/src/images/edcFannyPack/cb_boogita.jpg new file mode 100644 index 0000000..829796d Binary files /dev/null and b/src/images/edcFannyPack/cb_boogita.jpg differ diff --git a/src/images/edcFannyPack/cb_febrice.jpg b/src/images/edcFannyPack/cb_febrice.jpg new file mode 100644 index 0000000..f20ee22 Binary files /dev/null and b/src/images/edcFannyPack/cb_febrice.jpg differ diff --git a/src/images/edcFannyPack/cb_felicia-sexopants.jpg b/src/images/edcFannyPack/cb_felicia-sexopants.jpg new file mode 100644 index 0000000..ffbdc93 Binary files /dev/null and b/src/images/edcFannyPack/cb_felicia-sexopants.jpg differ diff --git a/src/images/edcFannyPack/cb_my_dog_oliver.jpg b/src/images/edcFannyPack/cb_my_dog_oliver.jpg new file mode 100644 index 0000000..99f4539 Binary files /dev/null and b/src/images/edcFannyPack/cb_my_dog_oliver.jpg differ diff --git a/src/images/edcFannyPack/ls21front.jpg b/src/images/edcFannyPack/ls21front.jpg new file mode 100644 index 0000000..e355ee6 Binary files /dev/null and b/src/images/edcFannyPack/ls21front.jpg differ diff --git a/src/images/edcFannyPack/ls21rear.jpg b/src/images/edcFannyPack/ls21rear.jpg new file mode 100644 index 0000000..fbf2475 Binary files /dev/null and b/src/images/edcFannyPack/ls21rear.jpg differ diff --git a/src/images/edcFannyPack/rainier.jpg b/src/images/edcFannyPack/rainier.jpg new file mode 100644 index 0000000..8b5fceb Binary files /dev/null and b/src/images/edcFannyPack/rainier.jpg differ diff --git a/src/images/edcFannyPack/thumbnail.jpg b/src/images/edcFannyPack/thumbnail.jpg new file mode 100644 index 0000000..b9ad94f Binary files /dev/null and b/src/images/edcFannyPack/thumbnail.jpg differ diff --git a/src/images/edcFannyPack/thumbs/0.jpg b/src/images/edcFannyPack/thumbs/0.jpg new file mode 100644 index 0000000..36df690 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/0.jpg differ diff --git a/src/images/edcFannyPack/thumbs/1.jpg b/src/images/edcFannyPack/thumbs/1.jpg new file mode 100644 index 0000000..abf9bed Binary files /dev/null and b/src/images/edcFannyPack/thumbs/1.jpg differ diff --git a/src/images/edcFannyPack/thumbs/2.jpg b/src/images/edcFannyPack/thumbs/2.jpg new file mode 100644 index 0000000..b438c4c Binary files /dev/null and b/src/images/edcFannyPack/thumbs/2.jpg differ diff --git a/src/images/edcFannyPack/thumbs/2b.jpg b/src/images/edcFannyPack/thumbs/2b.jpg new file mode 100644 index 0000000..7c59378 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/2b.jpg differ diff --git a/src/images/edcFannyPack/thumbs/3.jpg b/src/images/edcFannyPack/thumbs/3.jpg new file mode 100644 index 0000000..3c5fcfe Binary files /dev/null and b/src/images/edcFannyPack/thumbs/3.jpg differ diff --git a/src/images/edcFannyPack/thumbs/4.jpg b/src/images/edcFannyPack/thumbs/4.jpg new file mode 100644 index 0000000..efd4b81 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/4.jpg differ diff --git a/src/images/edcFannyPack/thumbs/5.jpg b/src/images/edcFannyPack/thumbs/5.jpg new file mode 100644 index 0000000..a7da903 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/5.jpg differ diff --git a/src/images/edcFannyPack/thumbs/cb_BabiesArentUL.jpg b/src/images/edcFannyPack/thumbs/cb_BabiesArentUL.jpg new file mode 100644 index 0000000..08c80e5 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/cb_BabiesArentUL.jpg differ diff --git a/src/images/edcFannyPack/thumbs/cb_BigDogDeWald.jpg b/src/images/edcFannyPack/thumbs/cb_BigDogDeWald.jpg new file mode 100644 index 0000000..feab1a7 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/cb_BigDogDeWald.jpg differ diff --git a/src/images/edcFannyPack/thumbs/cb_FranziaSpritzer.jpg b/src/images/edcFannyPack/thumbs/cb_FranziaSpritzer.jpg new file mode 100644 index 0000000..909ece9 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/cb_FranziaSpritzer.jpg differ diff --git a/src/images/edcFannyPack/thumbs/cb_Peacebandit.jpg b/src/images/edcFannyPack/thumbs/cb_Peacebandit.jpg new file mode 100644 index 0000000..2280a1f Binary files /dev/null and b/src/images/edcFannyPack/thumbs/cb_Peacebandit.jpg differ diff --git a/src/images/edcFannyPack/thumbs/cb_boogita.jpg b/src/images/edcFannyPack/thumbs/cb_boogita.jpg new file mode 100644 index 0000000..08a6114 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/cb_boogita.jpg differ diff --git a/src/images/edcFannyPack/thumbs/cb_febrice.jpg b/src/images/edcFannyPack/thumbs/cb_febrice.jpg new file mode 100644 index 0000000..0a63959 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/cb_febrice.jpg differ diff --git a/src/images/edcFannyPack/thumbs/cb_felicia-sexopants.jpg b/src/images/edcFannyPack/thumbs/cb_felicia-sexopants.jpg new file mode 100644 index 0000000..6848394 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/cb_felicia-sexopants.jpg differ diff --git a/src/images/edcFannyPack/thumbs/cb_my_dog_oliver.jpg b/src/images/edcFannyPack/thumbs/cb_my_dog_oliver.jpg new file mode 100644 index 0000000..8d606af Binary files /dev/null and b/src/images/edcFannyPack/thumbs/cb_my_dog_oliver.jpg differ diff --git a/src/images/edcFannyPack/thumbs/day.jpg b/src/images/edcFannyPack/thumbs/day.jpg new file mode 100644 index 0000000..942f364 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/day.jpg differ diff --git a/src/images/edcFannyPack/thumbs/full.jpg b/src/images/edcFannyPack/thumbs/full.jpg new file mode 100644 index 0000000..48cde62 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/full.jpg differ diff --git a/src/images/edcFannyPack/thumbs/hero.jpg b/src/images/edcFannyPack/thumbs/hero.jpg new file mode 100644 index 0000000..72c88ca Binary files /dev/null and b/src/images/edcFannyPack/thumbs/hero.jpg differ diff --git a/src/images/edcFannyPack/thumbs/ls21front.jpg b/src/images/edcFannyPack/thumbs/ls21front.jpg new file mode 100644 index 0000000..2b24345 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/ls21front.jpg differ diff --git a/src/images/edcFannyPack/thumbs/ls21rear.jpg b/src/images/edcFannyPack/thumbs/ls21rear.jpg new file mode 100644 index 0000000..d0bb0ee Binary files /dev/null and b/src/images/edcFannyPack/thumbs/ls21rear.jpg differ diff --git a/src/images/edcFannyPack/thumbs/rainier.jpg b/src/images/edcFannyPack/thumbs/rainier.jpg new file mode 100644 index 0000000..07097b4 Binary files /dev/null and b/src/images/edcFannyPack/thumbs/rainier.jpg differ diff --git a/src/images/edcFannyPack/thumbs/thumbnail.jpg b/src/images/edcFannyPack/thumbs/thumbnail.jpg new file mode 100644 index 0000000..cb4836f Binary files /dev/null and b/src/images/edcFannyPack/thumbs/thumbnail.jpg differ diff --git a/src/images/fabrics/abs.jpg b/src/images/fabrics/abs.jpg new file mode 100644 index 0000000..8642316 Binary files /dev/null and b/src/images/fabrics/abs.jpg differ diff --git a/src/images/fabrics/duraweave.jpg b/src/images/fabrics/duraweave.jpg new file mode 100644 index 0000000..81cacdf Binary files /dev/null and b/src/images/fabrics/duraweave.jpg differ diff --git a/src/images/fabrics/epx200.jpg b/src/images/fabrics/epx200.jpg new file mode 100644 index 0000000..ff5912e Binary files /dev/null and b/src/images/fabrics/epx200.jpg differ diff --git a/src/images/fabrics/eva.webp b/src/images/fabrics/eva.webp new file mode 100644 index 0000000..750704e Binary files /dev/null and b/src/images/fabrics/eva.webp differ diff --git a/src/images/fabrics/gridstop.jpg b/src/images/fabrics/gridstop.jpg new file mode 100644 index 0000000..5948d64 Binary files /dev/null and b/src/images/fabrics/gridstop.jpg differ diff --git a/src/images/fabrics/hdpe.jpg b/src/images/fabrics/hdpe.jpg new file mode 100644 index 0000000..7c87dd8 Binary files /dev/null and b/src/images/fabrics/hdpe.jpg differ diff --git a/src/images/fabrics/hex70.jpg b/src/images/fabrics/hex70.jpg new file mode 100644 index 0000000..474418a Binary files /dev/null and b/src/images/fabrics/hex70.jpg differ diff --git a/src/images/fabrics/hyperd300.jpg b/src/images/fabrics/hyperd300.jpg new file mode 100644 index 0000000..4b0eb77 Binary files /dev/null and b/src/images/fabrics/hyperd300.jpg differ diff --git a/src/images/fabrics/lycra.jpg b/src/images/fabrics/lycra.jpg new file mode 100644 index 0000000..3b8e1b1 Binary files /dev/null and b/src/images/fabrics/lycra.jpg differ diff --git a/src/images/fabrics/oxford.jpg b/src/images/fabrics/oxford.jpg new file mode 100644 index 0000000..f7b1180 Binary files /dev/null and b/src/images/fabrics/oxford.jpg differ diff --git a/src/images/fabrics/robic.jpg b/src/images/fabrics/robic.jpg new file mode 100644 index 0000000..da4a763 Binary files /dev/null and b/src/images/fabrics/robic.jpg differ diff --git a/src/images/fabrics/sil11.jpg b/src/images/fabrics/sil11.jpg new file mode 100644 index 0000000..3e550b5 Binary files /dev/null and b/src/images/fabrics/sil11.jpg differ diff --git a/src/images/fabrics/sil19.jpg b/src/images/fabrics/sil19.jpg new file mode 100644 index 0000000..dac1838 Binary files /dev/null and b/src/images/fabrics/sil19.jpg differ diff --git a/src/images/fabrics/spacermesh.jpg b/src/images/fabrics/spacermesh.jpg new file mode 100644 index 0000000..f3dc61b Binary files /dev/null and b/src/images/fabrics/spacermesh.jpg differ diff --git a/src/images/fabrics/spandura.jpg b/src/images/fabrics/spandura.jpg new file mode 100644 index 0000000..a1a47e7 Binary files /dev/null and b/src/images/fabrics/spandura.jpg differ diff --git a/src/images/fabrics/thumbs/abs.jpg b/src/images/fabrics/thumbs/abs.jpg new file mode 100644 index 0000000..6a3fbed Binary files /dev/null and b/src/images/fabrics/thumbs/abs.jpg differ diff --git a/src/images/fabrics/thumbs/duraweave.jpg b/src/images/fabrics/thumbs/duraweave.jpg new file mode 100644 index 0000000..e7d17b4 Binary files /dev/null and b/src/images/fabrics/thumbs/duraweave.jpg differ diff --git a/src/images/fabrics/thumbs/epx200.jpg b/src/images/fabrics/thumbs/epx200.jpg new file mode 100644 index 0000000..b167d1d Binary files /dev/null and b/src/images/fabrics/thumbs/epx200.jpg differ diff --git a/src/images/fabrics/thumbs/eva.webp b/src/images/fabrics/thumbs/eva.webp new file mode 100644 index 0000000..750704e Binary files /dev/null and b/src/images/fabrics/thumbs/eva.webp differ diff --git a/src/images/fabrics/thumbs/gridstop.jpg b/src/images/fabrics/thumbs/gridstop.jpg new file mode 100644 index 0000000..55016db Binary files /dev/null and b/src/images/fabrics/thumbs/gridstop.jpg differ diff --git a/src/images/fabrics/thumbs/hdpe.jpg b/src/images/fabrics/thumbs/hdpe.jpg new file mode 100644 index 0000000..5702920 Binary files /dev/null and b/src/images/fabrics/thumbs/hdpe.jpg differ diff --git a/src/images/fabrics/thumbs/hex70.jpg b/src/images/fabrics/thumbs/hex70.jpg new file mode 100644 index 0000000..c55a0c3 Binary files /dev/null and b/src/images/fabrics/thumbs/hex70.jpg differ diff --git a/src/images/fabrics/thumbs/hyperd300.jpg b/src/images/fabrics/thumbs/hyperd300.jpg new file mode 100644 index 0000000..92ffe1c Binary files /dev/null and b/src/images/fabrics/thumbs/hyperd300.jpg differ diff --git a/src/images/fabrics/thumbs/lycra.jpg b/src/images/fabrics/thumbs/lycra.jpg new file mode 100644 index 0000000..9eef66a Binary files /dev/null and b/src/images/fabrics/thumbs/lycra.jpg differ diff --git a/src/images/fabrics/thumbs/oxford.jpg b/src/images/fabrics/thumbs/oxford.jpg new file mode 100644 index 0000000..916f807 Binary files /dev/null and b/src/images/fabrics/thumbs/oxford.jpg differ diff --git a/src/images/fabrics/thumbs/robic.jpg b/src/images/fabrics/thumbs/robic.jpg new file mode 100644 index 0000000..0c3b7e8 Binary files /dev/null and b/src/images/fabrics/thumbs/robic.jpg differ diff --git a/src/images/fabrics/thumbs/sil11.jpg b/src/images/fabrics/thumbs/sil11.jpg new file mode 100644 index 0000000..9b83e74 Binary files /dev/null and b/src/images/fabrics/thumbs/sil11.jpg differ diff --git a/src/images/fabrics/thumbs/sil19.jpg b/src/images/fabrics/thumbs/sil19.jpg new file mode 100644 index 0000000..414dfb5 Binary files /dev/null and b/src/images/fabrics/thumbs/sil19.jpg differ diff --git a/src/images/fabrics/thumbs/spacermesh.jpg b/src/images/fabrics/thumbs/spacermesh.jpg new file mode 100644 index 0000000..af96951 Binary files /dev/null and b/src/images/fabrics/thumbs/spacermesh.jpg differ diff --git a/src/images/fabrics/thumbs/spandura.jpg b/src/images/fabrics/thumbs/spandura.jpg new file mode 100644 index 0000000..4d6520b Binary files /dev/null and b/src/images/fabrics/thumbs/spandura.jpg differ diff --git a/src/images/fabrics/thumbs/ultra400.jpg b/src/images/fabrics/thumbs/ultra400.jpg new file mode 100644 index 0000000..1757a4d Binary files /dev/null and b/src/images/fabrics/thumbs/ultra400.jpg differ diff --git a/src/images/fabrics/thumbs/venom.jpg b/src/images/fabrics/thumbs/venom.jpg new file mode 100644 index 0000000..dddefa0 Binary files /dev/null and b/src/images/fabrics/thumbs/venom.jpg differ diff --git a/src/images/fabrics/thumbs/vx21.jpg b/src/images/fabrics/thumbs/vx21.jpg new file mode 100644 index 0000000..74c62ff Binary files /dev/null and b/src/images/fabrics/thumbs/vx21.jpg differ diff --git a/src/images/fabrics/ultra400.jpg b/src/images/fabrics/ultra400.jpg new file mode 100644 index 0000000..7b272cd Binary files /dev/null and b/src/images/fabrics/ultra400.jpg differ diff --git a/src/images/fabrics/venom.jpg b/src/images/fabrics/venom.jpg new file mode 100644 index 0000000..5134007 Binary files /dev/null and b/src/images/fabrics/venom.jpg differ diff --git a/src/images/fabrics/vx21.jpg b/src/images/fabrics/vx21.jpg new file mode 100644 index 0000000..327c852 Binary files /dev/null and b/src/images/fabrics/vx21.jpg differ diff --git a/src/images/fastpack/cb_sampayne1.jpg b/src/images/fastpack/cb_sampayne1.jpg new file mode 100644 index 0000000..492185a Binary files /dev/null and b/src/images/fastpack/cb_sampayne1.jpg differ diff --git a/src/images/fastpack/cb_sampayne2.jpg b/src/images/fastpack/cb_sampayne2.jpg new file mode 100644 index 0000000..93b8257 Binary files /dev/null and b/src/images/fastpack/cb_sampayne2.jpg differ diff --git a/src/images/fastpack/communitybuildplaceholder.png b/src/images/fastpack/communitybuildplaceholder.png new file mode 100644 index 0000000..f9017ca Binary files /dev/null and b/src/images/fastpack/communitybuildplaceholder.png differ diff --git a/src/images/fastpack/fastpack-back.jpg b/src/images/fastpack/fastpack-back.jpg new file mode 100644 index 0000000..46b7c12 Binary files /dev/null and b/src/images/fastpack/fastpack-back.jpg differ diff --git a/src/images/fastpack/fastpack-front.jpg b/src/images/fastpack/fastpack-front.jpg new file mode 100644 index 0000000..0f31c42 Binary files /dev/null and b/src/images/fastpack/fastpack-front.jpg differ diff --git a/src/images/fastpack/fastpack-hero2.jpg b/src/images/fastpack/fastpack-hero2.jpg new file mode 100644 index 0000000..909ebf9 Binary files /dev/null and b/src/images/fastpack/fastpack-hero2.jpg differ diff --git a/src/images/fastpack/fastpack3.png b/src/images/fastpack/fastpack3.png new file mode 100644 index 0000000..1022105 Binary files /dev/null and b/src/images/fastpack/fastpack3.png differ diff --git a/src/images/fastpack/fastpack4.jpg b/src/images/fastpack/fastpack4.jpg new file mode 100644 index 0000000..03187eb Binary files /dev/null and b/src/images/fastpack/fastpack4.jpg differ diff --git a/src/images/fastpack/fastpack6.png b/src/images/fastpack/fastpack6.png new file mode 100644 index 0000000..660fbcb Binary files /dev/null and b/src/images/fastpack/fastpack6.png differ diff --git a/src/images/fastpack/fastpackstuart.jpg b/src/images/fastpack/fastpackstuart.jpg new file mode 100644 index 0000000..df49696 Binary files /dev/null and b/src/images/fastpack/fastpackstuart.jpg differ diff --git a/src/images/fastpack/lid/1.jpg b/src/images/fastpack/lid/1.jpg new file mode 100644 index 0000000..5e00016 Binary files /dev/null and b/src/images/fastpack/lid/1.jpg differ diff --git a/src/images/fastpack/lid/3.jpg b/src/images/fastpack/lid/3.jpg new file mode 100644 index 0000000..18c4ed3 Binary files /dev/null and b/src/images/fastpack/lid/3.jpg differ diff --git a/src/images/fastpack/lid/4.jpg b/src/images/fastpack/lid/4.jpg new file mode 100644 index 0000000..41b7da6 Binary files /dev/null and b/src/images/fastpack/lid/4.jpg differ diff --git a/src/images/fastpack/pattern1.png b/src/images/fastpack/pattern1.png new file mode 100644 index 0000000..48ff513 Binary files /dev/null and b/src/images/fastpack/pattern1.png differ diff --git a/src/images/fastpack/pattern2.png b/src/images/fastpack/pattern2.png new file mode 100644 index 0000000..b7510e4 Binary files /dev/null and b/src/images/fastpack/pattern2.png differ diff --git a/src/images/fastpack/thumbs/cb_sampayne1.jpg b/src/images/fastpack/thumbs/cb_sampayne1.jpg new file mode 100644 index 0000000..fd94264 Binary files /dev/null and b/src/images/fastpack/thumbs/cb_sampayne1.jpg differ diff --git a/src/images/fastpack/thumbs/cb_sampayne2.jpg b/src/images/fastpack/thumbs/cb_sampayne2.jpg new file mode 100644 index 0000000..073b0de Binary files /dev/null and b/src/images/fastpack/thumbs/cb_sampayne2.jpg differ diff --git a/src/images/fastpack/thumbs/communitybuildplaceholder.png b/src/images/fastpack/thumbs/communitybuildplaceholder.png new file mode 100644 index 0000000..aeeb5ba Binary files /dev/null and b/src/images/fastpack/thumbs/communitybuildplaceholder.png differ diff --git a/src/images/fastpack/thumbs/fastpack-back.jpg b/src/images/fastpack/thumbs/fastpack-back.jpg new file mode 100644 index 0000000..efa664b Binary files /dev/null and b/src/images/fastpack/thumbs/fastpack-back.jpg differ diff --git a/src/images/fastpack/thumbs/fastpack-front.jpg b/src/images/fastpack/thumbs/fastpack-front.jpg new file mode 100644 index 0000000..eeae8d7 Binary files /dev/null and b/src/images/fastpack/thumbs/fastpack-front.jpg differ diff --git a/src/images/fastpack/thumbs/fastpack-hero2.jpg b/src/images/fastpack/thumbs/fastpack-hero2.jpg new file mode 100644 index 0000000..209bde1 Binary files /dev/null and b/src/images/fastpack/thumbs/fastpack-hero2.jpg differ diff --git a/src/images/fastpack/thumbs/fastpack3.png b/src/images/fastpack/thumbs/fastpack3.png new file mode 100644 index 0000000..aabd8e8 Binary files /dev/null and b/src/images/fastpack/thumbs/fastpack3.png differ diff --git a/src/images/fastpack/thumbs/fastpack4.jpg b/src/images/fastpack/thumbs/fastpack4.jpg new file mode 100644 index 0000000..c0f32ed Binary files /dev/null and b/src/images/fastpack/thumbs/fastpack4.jpg differ diff --git a/src/images/fastpack/thumbs/fastpack6.png b/src/images/fastpack/thumbs/fastpack6.png new file mode 100644 index 0000000..9111db0 Binary files /dev/null and b/src/images/fastpack/thumbs/fastpack6.png differ diff --git a/src/images/fastpack/thumbs/fastpackstuart.jpg b/src/images/fastpack/thumbs/fastpackstuart.jpg new file mode 100644 index 0000000..10418cd Binary files /dev/null and b/src/images/fastpack/thumbs/fastpackstuart.jpg differ diff --git a/src/images/fastpack/thumbs/pattern1.png b/src/images/fastpack/thumbs/pattern1.png new file mode 100644 index 0000000..6b674d9 Binary files /dev/null and b/src/images/fastpack/thumbs/pattern1.png differ diff --git a/src/images/fastpack/thumbs/pattern2.png b/src/images/fastpack/thumbs/pattern2.png new file mode 100644 index 0000000..3963569 Binary files /dev/null and b/src/images/fastpack/thumbs/pattern2.png differ diff --git a/src/images/fastpack/thumbs/videos/videothumb-front1-4.jpg b/src/images/fastpack/thumbs/videos/videothumb-front1-4.jpg new file mode 100644 index 0000000..a407482 Binary files /dev/null and b/src/images/fastpack/thumbs/videos/videothumb-front1-4.jpg differ diff --git a/src/images/fastpack/thumbs/videos/videothumb-playlist.jpg b/src/images/fastpack/thumbs/videos/videothumb-playlist.jpg new file mode 100644 index 0000000..f69e74f Binary files /dev/null and b/src/images/fastpack/thumbs/videos/videothumb-playlist.jpg differ diff --git a/src/images/fastpack/thumbs/videos/videothumb-shoulderstraps5.jpg b/src/images/fastpack/thumbs/videos/videothumb-shoulderstraps5.jpg new file mode 100644 index 0000000..823fcae Binary files /dev/null and b/src/images/fastpack/thumbs/videos/videothumb-shoulderstraps5.jpg differ diff --git a/src/images/fastpack/thumbs/videos/videothumb-step6-7.jpg b/src/images/fastpack/thumbs/videos/videothumb-step6-7.jpg new file mode 100644 index 0000000..1e2ff41 Binary files /dev/null and b/src/images/fastpack/thumbs/videos/videothumb-step6-7.jpg differ diff --git a/src/images/fastpack/thumbs/videos/videothumb-step8-9.jpg b/src/images/fastpack/thumbs/videos/videothumb-step8-9.jpg new file mode 100644 index 0000000..fe80be4 Binary files /dev/null and b/src/images/fastpack/thumbs/videos/videothumb-step8-9.jpg differ diff --git a/src/images/fastpack/thumbs/videos/videothumb-steps1-4.jpg b/src/images/fastpack/thumbs/videos/videothumb-steps1-4.jpg new file mode 100644 index 0000000..0ce4ff0 Binary files /dev/null and b/src/images/fastpack/thumbs/videos/videothumb-steps1-4.jpg differ diff --git a/src/images/fastpack/thumbs/videos/videothumb-steps10+.jpg b/src/images/fastpack/thumbs/videos/videothumb-steps10+.jpg new file mode 100644 index 0000000..b9c902f Binary files /dev/null and b/src/images/fastpack/thumbs/videos/videothumb-steps10+.jpg differ diff --git a/src/images/fastpack/thumbs/videos/videothumb.png b/src/images/fastpack/thumbs/videos/videothumb.png new file mode 100644 index 0000000..17e1275 Binary files /dev/null and b/src/images/fastpack/thumbs/videos/videothumb.png differ diff --git a/src/images/favicon-16x16.png b/src/images/favicon-16x16.png new file mode 100644 index 0000000..a47e8ba Binary files /dev/null and b/src/images/favicon-16x16.png differ diff --git a/src/images/favicon-32x32.png b/src/images/favicon-32x32.png new file mode 100644 index 0000000..26ee129 Binary files /dev/null and b/src/images/favicon-32x32.png differ diff --git a/src/images/favicon.ico b/src/images/favicon.ico new file mode 100644 index 0000000..c369112 Binary files /dev/null and b/src/images/favicon.ico differ diff --git a/src/images/framebags/adjustments.jpg b/src/images/framebags/adjustments.jpg new file mode 100644 index 0000000..ee8c5cc Binary files /dev/null and b/src/images/framebags/adjustments.jpg differ diff --git a/src/images/framebags/bike.jpg b/src/images/framebags/bike.jpg new file mode 100644 index 0000000..93e1e74 Binary files /dev/null and b/src/images/framebags/bike.jpg differ diff --git a/src/images/framebags/framebags.jpg b/src/images/framebags/framebags.jpg new file mode 100644 index 0000000..9dfe840 Binary files /dev/null and b/src/images/framebags/framebags.jpg differ diff --git a/src/images/framebags/hero.jpg b/src/images/framebags/hero.jpg new file mode 100644 index 0000000..a9aa583 Binary files /dev/null and b/src/images/framebags/hero.jpg differ diff --git a/src/images/framebags/thumbs/adjustments.jpg b/src/images/framebags/thumbs/adjustments.jpg new file mode 100644 index 0000000..27ce17d Binary files /dev/null and b/src/images/framebags/thumbs/adjustments.jpg differ diff --git a/src/images/framebags/thumbs/bike.jpg b/src/images/framebags/thumbs/bike.jpg new file mode 100644 index 0000000..8682920 Binary files /dev/null and b/src/images/framebags/thumbs/bike.jpg differ diff --git a/src/images/framebags/thumbs/framebags.jpg b/src/images/framebags/thumbs/framebags.jpg new file mode 100644 index 0000000..974cd70 Binary files /dev/null and b/src/images/framebags/thumbs/framebags.jpg differ diff --git a/src/images/framebags/thumbs/hero.jpg b/src/images/framebags/thumbs/hero.jpg new file mode 100644 index 0000000..af38a67 Binary files /dev/null and b/src/images/framebags/thumbs/hero.jpg differ diff --git a/src/images/hardware/quest/apexwavell.jpg b/src/images/hardware/quest/apexwavell.jpg new file mode 100644 index 0000000..b5ac617 Binary files /dev/null and b/src/images/hardware/quest/apexwavell.jpg differ diff --git a/src/images/hardware/quest/apexwinchsr.jpg b/src/images/hardware/quest/apexwinchsr.jpg new file mode 100644 index 0000000..79d7f6f Binary files /dev/null and b/src/images/hardware/quest/apexwinchsr.jpg differ diff --git a/src/images/hardware/quest/cyberiancl.jpg b/src/images/hardware/quest/cyberiancl.jpg new file mode 100644 index 0000000..f0dd4c1 Binary files /dev/null and b/src/images/hardware/quest/cyberiancl.jpg differ diff --git a/src/images/hardware/quest/gaiterhook.jpg b/src/images/hardware/quest/gaiterhook.jpg new file mode 100644 index 0000000..428da84 Binary files /dev/null and b/src/images/hardware/quest/gaiterhook.jpg differ diff --git a/src/images/hardware/quest/jetlatchcamsr.jpg b/src/images/hardware/quest/jetlatchcamsr.jpg new file mode 100644 index 0000000..76d7abd Binary files /dev/null and b/src/images/hardware/quest/jetlatchcamsr.jpg differ diff --git a/src/images/hardware/quest/jetll.jpg b/src/images/hardware/quest/jetll.jpg new file mode 100644 index 0000000..3143de6 Binary files /dev/null and b/src/images/hardware/quest/jetll.jpg differ diff --git a/src/images/hardware/quest/jetwhistlesr.jpg b/src/images/hardware/quest/jetwhistlesr.jpg new file mode 100644 index 0000000..b4cdaf5 Binary files /dev/null and b/src/images/hardware/quest/jetwhistlesr.jpg differ diff --git a/src/images/hardware/quest/jetwinchsr.jpg b/src/images/hardware/quest/jetwinchsr.jpg new file mode 100644 index 0000000..5db8a2e Binary files /dev/null and b/src/images/hardware/quest/jetwinchsr.jpg differ diff --git a/src/images/hardware/quest/linelocsr.jpg b/src/images/hardware/quest/linelocsr.jpg new file mode 100644 index 0000000..cd42299 Binary files /dev/null and b/src/images/hardware/quest/linelocsr.jpg differ diff --git a/src/images/hardware/quest/sr.jpg b/src/images/hardware/quest/sr.jpg new file mode 100644 index 0000000..42e3f64 Binary files /dev/null and b/src/images/hardware/quest/sr.jpg differ diff --git a/src/images/hardware/quest/toastercl.jpg b/src/images/hardware/quest/toastercl.jpg new file mode 100644 index 0000000..3536110 Binary files /dev/null and b/src/images/hardware/quest/toastercl.jpg differ diff --git a/src/images/hipPack/1.jpg b/src/images/hipPack/1.jpg new file mode 100644 index 0000000..528c1bd Binary files /dev/null and b/src/images/hipPack/1.jpg differ diff --git a/src/images/hipPack/10.jpg b/src/images/hipPack/10.jpg new file mode 100644 index 0000000..bc8cfa1 Binary files /dev/null and b/src/images/hipPack/10.jpg differ diff --git a/src/images/hipPack/4.jpg b/src/images/hipPack/4.jpg new file mode 100644 index 0000000..7fd00f1 Binary files /dev/null and b/src/images/hipPack/4.jpg differ diff --git a/src/images/hipPack/5.jpg b/src/images/hipPack/5.jpg new file mode 100644 index 0000000..897aaa7 Binary files /dev/null and b/src/images/hipPack/5.jpg differ diff --git a/src/images/hipPack/6.jpg b/src/images/hipPack/6.jpg new file mode 100644 index 0000000..69bb5ad Binary files /dev/null and b/src/images/hipPack/6.jpg differ diff --git a/src/images/hipPack/9.jpg b/src/images/hipPack/9.jpg new file mode 100644 index 0000000..273b358 Binary files /dev/null and b/src/images/hipPack/9.jpg differ diff --git a/src/images/hipPack/thumbs/1.jpg b/src/images/hipPack/thumbs/1.jpg new file mode 100644 index 0000000..c51967f Binary files /dev/null and b/src/images/hipPack/thumbs/1.jpg differ diff --git a/src/images/hipPack/thumbs/10.jpg b/src/images/hipPack/thumbs/10.jpg new file mode 100644 index 0000000..48d1a14 Binary files /dev/null and b/src/images/hipPack/thumbs/10.jpg differ diff --git a/src/images/hipPack/thumbs/4.jpg b/src/images/hipPack/thumbs/4.jpg new file mode 100644 index 0000000..624f723 Binary files /dev/null and b/src/images/hipPack/thumbs/4.jpg differ diff --git a/src/images/hipPack/thumbs/5.jpg b/src/images/hipPack/thumbs/5.jpg new file mode 100644 index 0000000..9d3d43b Binary files /dev/null and b/src/images/hipPack/thumbs/5.jpg differ diff --git a/src/images/hipPack/thumbs/6.jpg b/src/images/hipPack/thumbs/6.jpg new file mode 100644 index 0000000..0408df0 Binary files /dev/null and b/src/images/hipPack/thumbs/6.jpg differ diff --git a/src/images/hipPack/thumbs/9.jpg b/src/images/hipPack/thumbs/9.jpg new file mode 100644 index 0000000..d56bbd6 Binary files /dev/null and b/src/images/hipPack/thumbs/9.jpg differ diff --git a/src/images/hipPack/thumbs/videos/gettingstarted.png b/src/images/hipPack/thumbs/videos/gettingstarted.png new file mode 100644 index 0000000..8349477 Binary files /dev/null and b/src/images/hipPack/thumbs/videos/gettingstarted.png differ diff --git a/src/images/hipPack/thumbs/videos/intro.jpg b/src/images/hipPack/thumbs/videos/intro.jpg new file mode 100644 index 0000000..3962d93 Binary files /dev/null and b/src/images/hipPack/thumbs/videos/intro.jpg differ diff --git a/src/images/hipPack/thumbs/videos/sewalong.png b/src/images/hipPack/thumbs/videos/sewalong.png new file mode 100644 index 0000000..f0245a9 Binary files /dev/null and b/src/images/hipPack/thumbs/videos/sewalong.png differ diff --git a/src/images/index/3dCronersthumb.jpg b/src/images/index/3dCronersthumb.jpg new file mode 100644 index 0000000..ab02ce0 Binary files /dev/null and b/src/images/index/3dCronersthumb.jpg differ diff --git a/src/images/index/bala1.jpg b/src/images/index/bala1.jpg new file mode 100644 index 0000000..9dbca04 Binary files /dev/null and b/src/images/index/bala1.jpg differ diff --git a/src/images/index/camp_pants2.jpg b/src/images/index/camp_pants2.jpg new file mode 100644 index 0000000..6fe61a4 Binary files /dev/null and b/src/images/index/camp_pants2.jpg differ diff --git a/src/images/index/chonkysling.jpg b/src/images/index/chonkysling.jpg new file mode 100644 index 0000000..7de9195 Binary files /dev/null and b/src/images/index/chonkysling.jpg differ diff --git a/src/images/index/cinchsack.jpg b/src/images/index/cinchsack.jpg new file mode 100644 index 0000000..fcef05e Binary files /dev/null and b/src/images/index/cinchsack.jpg differ diff --git a/src/images/index/diashi2.jpg b/src/images/index/diashi2.jpg new file mode 100644 index 0000000..02e5d0f Binary files /dev/null and b/src/images/index/diashi2.jpg differ diff --git a/src/images/index/edfannypack.jpg b/src/images/index/edfannypack.jpg new file mode 100644 index 0000000..76fd21a Binary files /dev/null and b/src/images/index/edfannypack.jpg differ diff --git a/src/images/index/fabrics.jpg b/src/images/index/fabrics.jpg new file mode 100644 index 0000000..b04bc79 Binary files /dev/null and b/src/images/index/fabrics.jpg differ diff --git a/src/images/index/fastpackhero3.jpg b/src/images/index/fastpackhero3.jpg new file mode 100644 index 0000000..eeae8d7 Binary files /dev/null and b/src/images/index/fastpackhero3.jpg differ diff --git a/src/images/index/framebags.jpg b/src/images/index/framebags.jpg new file mode 100644 index 0000000..c9124cb Binary files /dev/null and b/src/images/index/framebags.jpg differ diff --git a/src/images/index/hardware.jpg b/src/images/index/hardware.jpg new file mode 100644 index 0000000..4abab7e Binary files /dev/null and b/src/images/index/hardware.jpg differ diff --git a/src/images/index/pullover.jpg b/src/images/index/pullover.jpg new file mode 100644 index 0000000..66bcdd9 Binary files /dev/null and b/src/images/index/pullover.jpg differ diff --git a/src/images/index/rolltop.jpg b/src/images/index/rolltop.jpg new file mode 100644 index 0000000..cd662eb Binary files /dev/null and b/src/images/index/rolltop.jpg differ diff --git a/src/images/index/roundstuff.jpg b/src/images/index/roundstuff.jpg new file mode 100644 index 0000000..e72c3f8 Binary files /dev/null and b/src/images/index/roundstuff.jpg differ diff --git a/src/images/index/runningbelt.jpg b/src/images/index/runningbelt.jpg new file mode 100644 index 0000000..767bfae Binary files /dev/null and b/src/images/index/runningbelt.jpg differ diff --git a/src/images/index/sling5.jpg b/src/images/index/sling5.jpg new file mode 100644 index 0000000..b96f0e9 Binary files /dev/null and b/src/images/index/sling5.jpg differ diff --git a/src/images/index/stembag.jpg b/src/images/index/stembag.jpg new file mode 100644 index 0000000..98053f1 Binary files /dev/null and b/src/images/index/stembag.jpg differ diff --git a/src/images/index/totepack.jpg b/src/images/index/totepack.jpg new file mode 100644 index 0000000..69e84f7 Binary files /dev/null and b/src/images/index/totepack.jpg differ diff --git a/src/images/index/trailrunpack4.jpg b/src/images/index/trailrunpack4.jpg new file mode 100644 index 0000000..9246491 Binary files /dev/null and b/src/images/index/trailrunpack4.jpg differ diff --git a/src/images/index/trp6.jpg b/src/images/index/trp6.jpg new file mode 100644 index 0000000..55962e7 Binary files /dev/null and b/src/images/index/trp6.jpg differ diff --git a/src/images/index/zero2hero.jpg b/src/images/index/zero2hero.jpg new file mode 100644 index 0000000..1be669b Binary files /dev/null and b/src/images/index/zero2hero.jpg differ diff --git a/src/images/index/zippers.jpg b/src/images/index/zippers.jpg new file mode 100644 index 0000000..2761184 Binary files /dev/null and b/src/images/index/zippers.jpg differ diff --git a/src/images/index/zipsack.jpg b/src/images/index/zipsack.jpg new file mode 100644 index 0000000..8505523 Binary files /dev/null and b/src/images/index/zipsack.jpg differ diff --git a/src/images/pulloverHoodie/1.JPG b/src/images/pulloverHoodie/1.JPG new file mode 100644 index 0000000..63d06e2 Binary files /dev/null and b/src/images/pulloverHoodie/1.JPG differ diff --git a/src/images/pulloverHoodie/2.JPG b/src/images/pulloverHoodie/2.JPG new file mode 100644 index 0000000..c7bfc85 Binary files /dev/null and b/src/images/pulloverHoodie/2.JPG differ diff --git a/src/images/pulloverHoodie/4.JPG b/src/images/pulloverHoodie/4.JPG new file mode 100644 index 0000000..dfc36a7 Binary files /dev/null and b/src/images/pulloverHoodie/4.JPG differ diff --git a/src/images/pulloverHoodie/5.JPG b/src/images/pulloverHoodie/5.JPG new file mode 100644 index 0000000..7ed865a Binary files /dev/null and b/src/images/pulloverHoodie/5.JPG differ diff --git a/src/images/pulloverHoodie/6.JPG b/src/images/pulloverHoodie/6.JPG new file mode 100644 index 0000000..72f68c2 Binary files /dev/null and b/src/images/pulloverHoodie/6.JPG differ diff --git a/src/images/pulloverHoodie/7.JPG b/src/images/pulloverHoodie/7.JPG new file mode 100644 index 0000000..2f9cb9b Binary files /dev/null and b/src/images/pulloverHoodie/7.JPG differ diff --git a/src/images/pulloverHoodie/8.JPG b/src/images/pulloverHoodie/8.JPG new file mode 100644 index 0000000..442368f Binary files /dev/null and b/src/images/pulloverHoodie/8.JPG differ diff --git a/src/images/pulloverHoodie/9.JPG b/src/images/pulloverHoodie/9.JPG new file mode 100644 index 0000000..cd4329b Binary files /dev/null and b/src/images/pulloverHoodie/9.JPG differ diff --git a/src/images/pulloverHoodie/preview1.jpg b/src/images/pulloverHoodie/preview1.jpg new file mode 100644 index 0000000..76a71bf Binary files /dev/null and b/src/images/pulloverHoodie/preview1.jpg differ diff --git a/src/images/pulloverHoodie/preview2.jpg b/src/images/pulloverHoodie/preview2.jpg new file mode 100644 index 0000000..ff38454 Binary files /dev/null and b/src/images/pulloverHoodie/preview2.jpg differ diff --git a/src/images/pulloverHoodie/previewvid.mp4 b/src/images/pulloverHoodie/previewvid.mp4 new file mode 100644 index 0000000..c964000 Binary files /dev/null and b/src/images/pulloverHoodie/previewvid.mp4 differ diff --git a/src/images/pulloverHoodie/thumbs/1.JPG b/src/images/pulloverHoodie/thumbs/1.JPG new file mode 100644 index 0000000..8485e22 Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/1.JPG differ diff --git a/src/images/pulloverHoodie/thumbs/2.JPG b/src/images/pulloverHoodie/thumbs/2.JPG new file mode 100644 index 0000000..71a1227 Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/2.JPG differ diff --git a/src/images/pulloverHoodie/thumbs/4.JPG b/src/images/pulloverHoodie/thumbs/4.JPG new file mode 100644 index 0000000..8478d43 Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/4.JPG differ diff --git a/src/images/pulloverHoodie/thumbs/5.JPG b/src/images/pulloverHoodie/thumbs/5.JPG new file mode 100644 index 0000000..06dbae3 Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/5.JPG differ diff --git a/src/images/pulloverHoodie/thumbs/6.JPG b/src/images/pulloverHoodie/thumbs/6.JPG new file mode 100644 index 0000000..1862712 Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/6.JPG differ diff --git a/src/images/pulloverHoodie/thumbs/7.JPG b/src/images/pulloverHoodie/thumbs/7.JPG new file mode 100644 index 0000000..4d77e14 Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/7.JPG differ diff --git a/src/images/pulloverHoodie/thumbs/8.JPG b/src/images/pulloverHoodie/thumbs/8.JPG new file mode 100644 index 0000000..a9f910c Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/8.JPG differ diff --git a/src/images/pulloverHoodie/thumbs/9.JPG b/src/images/pulloverHoodie/thumbs/9.JPG new file mode 100644 index 0000000..060e343 Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/9.JPG differ diff --git a/src/images/pulloverHoodie/thumbs/preview1.jpg b/src/images/pulloverHoodie/thumbs/preview1.jpg new file mode 100644 index 0000000..a546344 Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/preview1.jpg differ diff --git a/src/images/pulloverHoodie/thumbs/preview2.jpg b/src/images/pulloverHoodie/thumbs/preview2.jpg new file mode 100644 index 0000000..f91baef Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/preview2.jpg differ diff --git a/src/images/pulloverHoodie/thumbs/videos/cuffs.jpg b/src/images/pulloverHoodie/thumbs/videos/cuffs.jpg new file mode 100644 index 0000000..89ee91b Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/videos/cuffs.jpg differ diff --git a/src/images/pulloverHoodie/thumbs/videos/kangaroopockets.png b/src/images/pulloverHoodie/thumbs/videos/kangaroopockets.png new file mode 100644 index 0000000..63c89a7 Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/videos/kangaroopockets.png differ diff --git a/src/images/pulloverHoodie/thumbs/videos/snapplacket.png b/src/images/pulloverHoodie/thumbs/videos/snapplacket.png new file mode 100644 index 0000000..6772584 Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/videos/snapplacket.png differ diff --git a/src/images/pulloverHoodie/thumbs/videos/stretchcuffs.png b/src/images/pulloverHoodie/thumbs/videos/stretchcuffs.png new file mode 100644 index 0000000..1bede04 Binary files /dev/null and b/src/images/pulloverHoodie/thumbs/videos/stretchcuffs.png differ diff --git a/src/images/rolltopsack/rt1.jpg b/src/images/rolltopsack/rt1.jpg new file mode 100644 index 0000000..4127ce0 Binary files /dev/null and b/src/images/rolltopsack/rt1.jpg differ diff --git a/src/images/rolltopsack/rt2.jpg b/src/images/rolltopsack/rt2.jpg new file mode 100644 index 0000000..77fc6b5 Binary files /dev/null and b/src/images/rolltopsack/rt2.jpg differ diff --git a/src/images/rolltopsack/rt3.jpg b/src/images/rolltopsack/rt3.jpg new file mode 100644 index 0000000..fb2844a Binary files /dev/null and b/src/images/rolltopsack/rt3.jpg differ diff --git a/src/images/rolltopsack/rt4.jpg b/src/images/rolltopsack/rt4.jpg new file mode 100644 index 0000000..f6a2d47 Binary files /dev/null and b/src/images/rolltopsack/rt4.jpg differ diff --git a/src/images/rolltopsack/rt5.jpg b/src/images/rolltopsack/rt5.jpg new file mode 100644 index 0000000..5147286 Binary files /dev/null and b/src/images/rolltopsack/rt5.jpg differ diff --git a/src/images/rolltopsack/rtplan.jpg b/src/images/rolltopsack/rtplan.jpg new file mode 100644 index 0000000..554fe71 Binary files /dev/null and b/src/images/rolltopsack/rtplan.jpg differ diff --git a/src/images/rolltopsack/rtsample1.jpg b/src/images/rolltopsack/rtsample1.jpg new file mode 100644 index 0000000..25d5b5c Binary files /dev/null and b/src/images/rolltopsack/rtsample1.jpg differ diff --git a/src/images/rolltopsack/rtsample2.jpg b/src/images/rolltopsack/rtsample2.jpg new file mode 100644 index 0000000..0cfdb8b Binary files /dev/null and b/src/images/rolltopsack/rtsample2.jpg differ diff --git a/src/images/runningBelt/back.jpg b/src/images/runningBelt/back.jpg new file mode 100644 index 0000000..fd3f099 Binary files /dev/null and b/src/images/runningBelt/back.jpg differ diff --git a/src/images/runningBelt/cb_dclare1011.jpg b/src/images/runningBelt/cb_dclare1011.jpg new file mode 100644 index 0000000..91a7ff6 Binary files /dev/null and b/src/images/runningBelt/cb_dclare1011.jpg differ diff --git a/src/images/runningBelt/cb_ms.math.jpg b/src/images/runningBelt/cb_ms.math.jpg new file mode 100644 index 0000000..8bba108 Binary files /dev/null and b/src/images/runningBelt/cb_ms.math.jpg differ diff --git a/src/images/runningBelt/cb_tyrraj.jpg b/src/images/runningBelt/cb_tyrraj.jpg new file mode 100644 index 0000000..2188a1a Binary files /dev/null and b/src/images/runningBelt/cb_tyrraj.jpg differ diff --git a/src/images/runningBelt/front.jpg b/src/images/runningBelt/front.jpg new file mode 100644 index 0000000..e4f7543 Binary files /dev/null and b/src/images/runningBelt/front.jpg differ diff --git a/src/images/runningBelt/hero.jpg b/src/images/runningBelt/hero.jpg new file mode 100644 index 0000000..5ee632d Binary files /dev/null and b/src/images/runningBelt/hero.jpg differ diff --git a/src/images/runningBelt/thumbs/back.jpg b/src/images/runningBelt/thumbs/back.jpg new file mode 100644 index 0000000..ef2561d Binary files /dev/null and b/src/images/runningBelt/thumbs/back.jpg differ diff --git a/src/images/runningBelt/thumbs/cb_dclare1011.jpg b/src/images/runningBelt/thumbs/cb_dclare1011.jpg new file mode 100644 index 0000000..f635254 Binary files /dev/null and b/src/images/runningBelt/thumbs/cb_dclare1011.jpg differ diff --git a/src/images/runningBelt/thumbs/cb_ms.math.jpg b/src/images/runningBelt/thumbs/cb_ms.math.jpg new file mode 100644 index 0000000..5ab0c01 Binary files /dev/null and b/src/images/runningBelt/thumbs/cb_ms.math.jpg differ diff --git a/src/images/runningBelt/thumbs/cb_tyrraj.jpg b/src/images/runningBelt/thumbs/cb_tyrraj.jpg new file mode 100644 index 0000000..64bf873 Binary files /dev/null and b/src/images/runningBelt/thumbs/cb_tyrraj.jpg differ diff --git a/src/images/runningBelt/thumbs/front.jpg b/src/images/runningBelt/thumbs/front.jpg new file mode 100644 index 0000000..a1a7ced Binary files /dev/null and b/src/images/runningBelt/thumbs/front.jpg differ diff --git a/src/images/runningBelt/thumbs/hero.jpg b/src/images/runningBelt/thumbs/hero.jpg new file mode 100644 index 0000000..a0bb973 Binary files /dev/null and b/src/images/runningBelt/thumbs/hero.jpg differ diff --git a/src/images/shared/partners/100/RBTR.webp b/src/images/shared/partners/100/RBTR.webp new file mode 100644 index 0000000..f75e159 Binary files /dev/null and b/src/images/shared/partners/100/RBTR.webp differ diff --git a/src/images/shared/partners/100/adventurexpert.webp b/src/images/shared/partners/100/adventurexpert.webp new file mode 100644 index 0000000..e1a1b6f Binary files /dev/null and b/src/images/shared/partners/100/adventurexpert.webp differ diff --git a/src/images/shared/partners/100/amazon.webp b/src/images/shared/partners/100/amazon.webp new file mode 100644 index 0000000..5843fe9 Binary files /dev/null and b/src/images/shared/partners/100/amazon.webp differ diff --git a/src/images/shared/partners/100/discoveryfabrics.webp b/src/images/shared/partners/100/discoveryfabrics.webp new file mode 100644 index 0000000..45a5a29 Binary files /dev/null and b/src/images/shared/partners/100/discoveryfabrics.webp differ diff --git a/src/images/shared/partners/100/mozet.webp b/src/images/shared/partners/100/mozet.webp new file mode 100644 index 0000000..fd671cd Binary files /dev/null and b/src/images/shared/partners/100/mozet.webp differ diff --git a/src/images/shared/partners/100/questoutfitters.webp b/src/images/shared/partners/100/questoutfitters.webp new file mode 100644 index 0000000..ff8a1a7 Binary files /dev/null and b/src/images/shared/partners/100/questoutfitters.webp differ diff --git a/src/images/shared/partners/100/refasten.webp b/src/images/shared/partners/100/refasten.webp new file mode 100644 index 0000000..7fce381 Binary files /dev/null and b/src/images/shared/partners/100/refasten.webp differ diff --git a/src/images/shared/partners/100/rotr.webp b/src/images/shared/partners/100/rotr.webp new file mode 100644 index 0000000..3786f32 Binary files /dev/null and b/src/images/shared/partners/100/rotr.webp differ diff --git a/src/images/shared/partners/100/rotr2.webp b/src/images/shared/partners/100/rotr2.webp new file mode 100644 index 0000000..bdbc5e1 Binary files /dev/null and b/src/images/shared/partners/100/rotr2.webp differ diff --git a/src/images/shared/partners/100/therainshed.webp b/src/images/shared/partners/100/therainshed.webp new file mode 100644 index 0000000..5e89acf Binary files /dev/null and b/src/images/shared/partners/100/therainshed.webp differ diff --git a/src/images/shared/partners/100/wawak.webp b/src/images/shared/partners/100/wawak.webp new file mode 100644 index 0000000..2bd8126 Binary files /dev/null and b/src/images/shared/partners/100/wawak.webp differ diff --git a/src/images/shared/partners/200/RBTR.webp b/src/images/shared/partners/200/RBTR.webp new file mode 100644 index 0000000..4ba7b90 Binary files /dev/null and b/src/images/shared/partners/200/RBTR.webp differ diff --git a/src/images/shared/partners/200/adventurexpert.webp b/src/images/shared/partners/200/adventurexpert.webp new file mode 100644 index 0000000..7fd8d90 Binary files /dev/null and b/src/images/shared/partners/200/adventurexpert.webp differ diff --git a/src/images/shared/partners/200/amazon.webp b/src/images/shared/partners/200/amazon.webp new file mode 100644 index 0000000..dd66e5d Binary files /dev/null and b/src/images/shared/partners/200/amazon.webp differ diff --git a/src/images/shared/partners/200/discoveryfabrics.webp b/src/images/shared/partners/200/discoveryfabrics.webp new file mode 100644 index 0000000..73f957e Binary files /dev/null and b/src/images/shared/partners/200/discoveryfabrics.webp differ diff --git a/src/images/shared/partners/200/mozet.webp b/src/images/shared/partners/200/mozet.webp new file mode 100644 index 0000000..c1cb659 Binary files /dev/null and b/src/images/shared/partners/200/mozet.webp differ diff --git a/src/images/shared/partners/200/questoutfitters.webp b/src/images/shared/partners/200/questoutfitters.webp new file mode 100644 index 0000000..365c5e3 Binary files /dev/null and b/src/images/shared/partners/200/questoutfitters.webp differ diff --git a/src/images/shared/partners/200/refasten.webp b/src/images/shared/partners/200/refasten.webp new file mode 100644 index 0000000..e6e9198 Binary files /dev/null and b/src/images/shared/partners/200/refasten.webp differ diff --git a/src/images/shared/partners/200/rotr.webp b/src/images/shared/partners/200/rotr.webp new file mode 100644 index 0000000..f382335 Binary files /dev/null and b/src/images/shared/partners/200/rotr.webp differ diff --git a/src/images/shared/partners/200/rotr2.webp b/src/images/shared/partners/200/rotr2.webp new file mode 100644 index 0000000..3ffdb6f Binary files /dev/null and b/src/images/shared/partners/200/rotr2.webp differ diff --git a/src/images/shared/partners/200/therainshed.webp b/src/images/shared/partners/200/therainshed.webp new file mode 100644 index 0000000..50d977b Binary files /dev/null and b/src/images/shared/partners/200/therainshed.webp differ diff --git a/src/images/shared/partners/200/wawak.webp b/src/images/shared/partners/200/wawak.webp new file mode 100644 index 0000000..3a1ddcc Binary files /dev/null and b/src/images/shared/partners/200/wawak.webp differ diff --git a/src/images/shared/partners/48/adventurexpert.png b/src/images/shared/partners/48/adventurexpert.png new file mode 100644 index 0000000..4e19004 Binary files /dev/null and b/src/images/shared/partners/48/adventurexpert.png differ diff --git a/src/images/shared/partners/48/amazon.png b/src/images/shared/partners/48/amazon.png new file mode 100644 index 0000000..0679c02 Binary files /dev/null and b/src/images/shared/partners/48/amazon.png differ diff --git a/src/images/shared/partners/48/mozet.png b/src/images/shared/partners/48/mozet.png new file mode 100644 index 0000000..58550de Binary files /dev/null and b/src/images/shared/partners/48/mozet.png differ diff --git a/src/images/shared/partners/48/quest.png b/src/images/shared/partners/48/quest.png new file mode 100644 index 0000000..f960070 Binary files /dev/null and b/src/images/shared/partners/48/quest.png differ diff --git a/src/images/shared/partners/48/rbtr.png b/src/images/shared/partners/48/rbtr.png new file mode 100644 index 0000000..cf05730 Binary files /dev/null and b/src/images/shared/partners/48/rbtr.png differ diff --git a/src/images/shared/partners/48/wawak.png b/src/images/shared/partners/48/wawak.png new file mode 100644 index 0000000..15fa155 Binary files /dev/null and b/src/images/shared/partners/48/wawak.png differ diff --git a/src/images/shared/products/HD1000.webp b/src/images/shared/products/HD1000.webp new file mode 100644 index 0000000..f52b3d1 Binary files /dev/null and b/src/images/shared/products/HD1000.webp differ diff --git a/src/images/shared/products/cricut-maker.webp b/src/images/shared/products/cricut-maker.webp new file mode 100644 index 0000000..3138e17 Binary files /dev/null and b/src/images/shared/products/cricut-maker.webp differ diff --git a/src/images/shared/products/mo654de.webp b/src/images/shared/products/mo654de.webp new file mode 100644 index 0000000..d7001e8 Binary files /dev/null and b/src/images/shared/products/mo654de.webp differ diff --git a/src/images/shared/products/thread.jpg b/src/images/shared/products/thread.jpg new file mode 100644 index 0000000..263d12e Binary files /dev/null and b/src/images/shared/products/thread.jpg differ diff --git a/src/images/site.webmanifest b/src/images/site.webmanifest new file mode 100644 index 0000000..16242a8 --- /dev/null +++ b/src/images/site.webmanifest @@ -0,0 +1 @@ +{"name":"LearnMYOG","short_name":"LearnMYOG","icons":[{"src":"images/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"images/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} \ No newline at end of file diff --git a/src/images/sketchSheet/LearnMYOG Sketch Sheet greyscale.png b/src/images/sketchSheet/LearnMYOG Sketch Sheet greyscale.png new file mode 100644 index 0000000..29061e4 Binary files /dev/null and b/src/images/sketchSheet/LearnMYOG Sketch Sheet greyscale.png differ diff --git a/src/images/sketchSheet/LearnMYOG Sketch Template.png b/src/images/sketchSheet/LearnMYOG Sketch Template.png new file mode 100644 index 0000000..17647f0 Binary files /dev/null and b/src/images/sketchSheet/LearnMYOG Sketch Template.png differ diff --git a/src/images/sketchSheet/sketchSheetCover.png b/src/images/sketchSheet/sketchSheetCover.png new file mode 100644 index 0000000..e17140b Binary files /dev/null and b/src/images/sketchSheet/sketchSheetCover.png differ diff --git a/src/images/stuffsack/ssInstr1.png b/src/images/stuffsack/ssInstr1.png new file mode 100644 index 0000000..ceeec00 Binary files /dev/null and b/src/images/stuffsack/ssInstr1.png differ diff --git a/src/images/stuffsack/ssInstr2.png b/src/images/stuffsack/ssInstr2.png new file mode 100644 index 0000000..d146cea Binary files /dev/null and b/src/images/stuffsack/ssInstr2.png differ diff --git a/src/images/stuffsack/ssInstr3.png b/src/images/stuffsack/ssInstr3.png new file mode 100644 index 0000000..cf88e90 Binary files /dev/null and b/src/images/stuffsack/ssInstr3.png differ diff --git a/src/images/stuffsack/ssInstr4.png b/src/images/stuffsack/ssInstr4.png new file mode 100644 index 0000000..2a9e162 Binary files /dev/null and b/src/images/stuffsack/ssInstr4.png differ diff --git a/src/images/stuffsack/ssInstr5.png b/src/images/stuffsack/ssInstr5.png new file mode 100644 index 0000000..1be692f Binary files /dev/null and b/src/images/stuffsack/ssInstr5.png differ diff --git a/src/images/stuffsack/stuffSackPattern.png b/src/images/stuffsack/stuffSackPattern.png new file mode 100644 index 0000000..fd573ca Binary files /dev/null and b/src/images/stuffsack/stuffSackPattern.png differ diff --git a/src/images/stuffsack/stuffSackPlan.png b/src/images/stuffsack/stuffSackPlan.png new file mode 100644 index 0000000..1de86e7 Binary files /dev/null and b/src/images/stuffsack/stuffSackPlan.png differ diff --git a/src/images/trailRunBackpack/DSC00389.jpg b/src/images/trailRunBackpack/DSC00389.jpg new file mode 100644 index 0000000..6ab3340 Binary files /dev/null and b/src/images/trailRunBackpack/DSC00389.jpg differ diff --git a/src/images/trailRunBackpack/DSC00391.jpg b/src/images/trailRunBackpack/DSC00391.jpg new file mode 100644 index 0000000..7917a5f Binary files /dev/null and b/src/images/trailRunBackpack/DSC00391.jpg differ diff --git a/src/images/trailRunBackpack/DSC00396.jpg b/src/images/trailRunBackpack/DSC00396.jpg new file mode 100644 index 0000000..b65aa1f Binary files /dev/null and b/src/images/trailRunBackpack/DSC00396.jpg differ diff --git a/src/images/trailRunBackpack/DSC00398.jpg b/src/images/trailRunBackpack/DSC00398.jpg new file mode 100644 index 0000000..70a9b25 Binary files /dev/null and b/src/images/trailRunBackpack/DSC00398.jpg differ diff --git a/src/images/trailRunBackpack/IMG_E0012.jpg b/src/images/trailRunBackpack/IMG_E0012.jpg new file mode 100644 index 0000000..770f764 Binary files /dev/null and b/src/images/trailRunBackpack/IMG_E0012.jpg differ diff --git a/src/images/trailRunBackpack/IMG_E0013.jpg b/src/images/trailRunBackpack/IMG_E0013.jpg new file mode 100644 index 0000000..e379ec5 Binary files /dev/null and b/src/images/trailRunBackpack/IMG_E0013.jpg differ diff --git a/src/images/trailRunBackpack/IMG_E0024.jpg b/src/images/trailRunBackpack/IMG_E0024.jpg new file mode 100644 index 0000000..41b1ec0 Binary files /dev/null and b/src/images/trailRunBackpack/IMG_E0024.jpg differ diff --git a/src/images/trailRunBackpack/IMG_E0033.jpg b/src/images/trailRunBackpack/IMG_E0033.jpg new file mode 100644 index 0000000..f0d3d64 Binary files /dev/null and b/src/images/trailRunBackpack/IMG_E0033.jpg differ diff --git a/src/images/trailRunBackpack/cb_BearableAtBest.jpg b/src/images/trailRunBackpack/cb_BearableAtBest.jpg new file mode 100644 index 0000000..1d7be91 Binary files /dev/null and b/src/images/trailRunBackpack/cb_BearableAtBest.jpg differ diff --git a/src/images/trailRunBackpack/cb_babiesarentul.jpg b/src/images/trailRunBackpack/cb_babiesarentul.jpg new file mode 100644 index 0000000..7ed3833 Binary files /dev/null and b/src/images/trailRunBackpack/cb_babiesarentul.jpg differ diff --git a/src/images/trailRunBackpack/cb_craderson1.jpg b/src/images/trailRunBackpack/cb_craderson1.jpg new file mode 100644 index 0000000..27c7018 Binary files /dev/null and b/src/images/trailRunBackpack/cb_craderson1.jpg differ diff --git a/src/images/trailRunBackpack/cb_craderson2.jpg b/src/images/trailRunBackpack/cb_craderson2.jpg new file mode 100644 index 0000000..fb2f8d4 Binary files /dev/null and b/src/images/trailRunBackpack/cb_craderson2.jpg differ diff --git a/src/images/trailRunBackpack/cb_gatorbeav13_1.jpeg b/src/images/trailRunBackpack/cb_gatorbeav13_1.jpeg new file mode 100644 index 0000000..4066e02 Binary files /dev/null and b/src/images/trailRunBackpack/cb_gatorbeav13_1.jpeg differ diff --git a/src/images/trailRunBackpack/cb_gatorbeav13_2.jpeg b/src/images/trailRunBackpack/cb_gatorbeav13_2.jpeg new file mode 100644 index 0000000..849d1f6 Binary files /dev/null and b/src/images/trailRunBackpack/cb_gatorbeav13_2.jpeg differ diff --git a/src/images/trailRunBackpack/cb_larshehn.jpg b/src/images/trailRunBackpack/cb_larshehn.jpg new file mode 100644 index 0000000..9f7bf32 Binary files /dev/null and b/src/images/trailRunBackpack/cb_larshehn.jpg differ diff --git a/src/images/trailRunBackpack/cb_mchalfy.jpg b/src/images/trailRunBackpack/cb_mchalfy.jpg new file mode 100644 index 0000000..fc7ee96 Binary files /dev/null and b/src/images/trailRunBackpack/cb_mchalfy.jpg differ diff --git a/src/images/trailRunBackpack/cb_offbrandpossum.jpg b/src/images/trailRunBackpack/cb_offbrandpossum.jpg new file mode 100644 index 0000000..25dc70a Binary files /dev/null and b/src/images/trailRunBackpack/cb_offbrandpossum.jpg differ diff --git a/src/images/trailRunBackpack/cb_offbrandpossum2.jpg b/src/images/trailRunBackpack/cb_offbrandpossum2.jpg new file mode 100644 index 0000000..7b117ee Binary files /dev/null and b/src/images/trailRunBackpack/cb_offbrandpossum2.jpg differ diff --git a/src/images/trailRunBackpack/cb_willjhirst2.jpg b/src/images/trailRunBackpack/cb_willjhirst2.jpg new file mode 100644 index 0000000..500df4b Binary files /dev/null and b/src/images/trailRunBackpack/cb_willjhirst2.jpg differ diff --git a/src/images/trailRunBackpack/cb_zonman831.jpg b/src/images/trailRunBackpack/cb_zonman831.jpg new file mode 100644 index 0000000..34ca1e6 Binary files /dev/null and b/src/images/trailRunBackpack/cb_zonman831.jpg differ diff --git a/src/images/trailRunBackpack/front.jpg b/src/images/trailRunBackpack/front.jpg new file mode 100644 index 0000000..36156ab Binary files /dev/null and b/src/images/trailRunBackpack/front.jpg differ diff --git a/src/images/trailRunBackpack/outside.jpg b/src/images/trailRunBackpack/outside.jpg new file mode 100644 index 0000000..eadf612 Binary files /dev/null and b/src/images/trailRunBackpack/outside.jpg differ diff --git a/src/images/trailRunBackpack/patternpreview.png b/src/images/trailRunBackpack/patternpreview.png new file mode 100644 index 0000000..f45ae03 Binary files /dev/null and b/src/images/trailRunBackpack/patternpreview.png differ diff --git a/src/images/trailRunBackpack/preview.png b/src/images/trailRunBackpack/preview.png new file mode 100644 index 0000000..af996cb Binary files /dev/null and b/src/images/trailRunBackpack/preview.png differ diff --git a/src/images/trailRunBackpack/thumbs/DSC00389.jpg b/src/images/trailRunBackpack/thumbs/DSC00389.jpg new file mode 100644 index 0000000..88aec26 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/DSC00389.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/DSC00391.jpg b/src/images/trailRunBackpack/thumbs/DSC00391.jpg new file mode 100644 index 0000000..1583231 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/DSC00391.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/DSC00396.jpg b/src/images/trailRunBackpack/thumbs/DSC00396.jpg new file mode 100644 index 0000000..7ec50f4 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/DSC00396.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/DSC00398.jpg b/src/images/trailRunBackpack/thumbs/DSC00398.jpg new file mode 100644 index 0000000..be4b372 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/DSC00398.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/IMG_E0012.jpg b/src/images/trailRunBackpack/thumbs/IMG_E0012.jpg new file mode 100644 index 0000000..93e2d22 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/IMG_E0012.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/IMG_E0013.jpg b/src/images/trailRunBackpack/thumbs/IMG_E0013.jpg new file mode 100644 index 0000000..b44b686 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/IMG_E0013.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/IMG_E0024.jpg b/src/images/trailRunBackpack/thumbs/IMG_E0024.jpg new file mode 100644 index 0000000..9d62048 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/IMG_E0024.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/IMG_E0033.jpg b/src/images/trailRunBackpack/thumbs/IMG_E0033.jpg new file mode 100644 index 0000000..5b0f26c Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/IMG_E0033.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/cb_BearableAtBest.jpg b/src/images/trailRunBackpack/thumbs/cb_BearableAtBest.jpg new file mode 100644 index 0000000..96e5ba1 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/cb_BearableAtBest.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/cb_babiesarentul.jpg b/src/images/trailRunBackpack/thumbs/cb_babiesarentul.jpg new file mode 100644 index 0000000..1b54c87 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/cb_babiesarentul.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/cb_craderson1.jpg b/src/images/trailRunBackpack/thumbs/cb_craderson1.jpg new file mode 100644 index 0000000..5a2dd53 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/cb_craderson1.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/cb_craderson2.jpg b/src/images/trailRunBackpack/thumbs/cb_craderson2.jpg new file mode 100644 index 0000000..e393cce Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/cb_craderson2.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/cb_gatorbeav13_1.jpeg b/src/images/trailRunBackpack/thumbs/cb_gatorbeav13_1.jpeg new file mode 100644 index 0000000..3c64078 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/cb_gatorbeav13_1.jpeg differ diff --git a/src/images/trailRunBackpack/thumbs/cb_gatorbeav13_2.jpeg b/src/images/trailRunBackpack/thumbs/cb_gatorbeav13_2.jpeg new file mode 100644 index 0000000..3a83832 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/cb_gatorbeav13_2.jpeg differ diff --git a/src/images/trailRunBackpack/thumbs/cb_larshehn.jpg b/src/images/trailRunBackpack/thumbs/cb_larshehn.jpg new file mode 100644 index 0000000..7666be3 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/cb_larshehn.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/cb_mchalfy.jpg b/src/images/trailRunBackpack/thumbs/cb_mchalfy.jpg new file mode 100644 index 0000000..62c02e2 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/cb_mchalfy.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/cb_offbrandpossum.jpg b/src/images/trailRunBackpack/thumbs/cb_offbrandpossum.jpg new file mode 100644 index 0000000..6109541 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/cb_offbrandpossum.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/cb_offbrandpossum2.jpg b/src/images/trailRunBackpack/thumbs/cb_offbrandpossum2.jpg new file mode 100644 index 0000000..8156778 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/cb_offbrandpossum2.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/cb_willjhirst2.jpg b/src/images/trailRunBackpack/thumbs/cb_willjhirst2.jpg new file mode 100644 index 0000000..e851c42 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/cb_willjhirst2.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/cb_zonman831.jpg b/src/images/trailRunBackpack/thumbs/cb_zonman831.jpg new file mode 100644 index 0000000..e06fcbd Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/cb_zonman831.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/front.jpg b/src/images/trailRunBackpack/thumbs/front.jpg new file mode 100644 index 0000000..3761b69 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/front.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/outside.jpg b/src/images/trailRunBackpack/thumbs/outside.jpg new file mode 100644 index 0000000..bc68626 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/outside.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/patternpreview.png b/src/images/trailRunBackpack/thumbs/patternpreview.png new file mode 100644 index 0000000..b5a00b7 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/patternpreview.png differ diff --git a/src/images/trailRunBackpack/thumbs/preview.png b/src/images/trailRunBackpack/thumbs/preview.png new file mode 100644 index 0000000..8ebe382 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/preview.png differ diff --git a/src/images/trailRunBackpack/thumbs/trp1.jpg b/src/images/trailRunBackpack/thumbs/trp1.jpg new file mode 100644 index 0000000..1e8f084 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/trp1.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/trp2.jpg b/src/images/trailRunBackpack/thumbs/trp2.jpg new file mode 100644 index 0000000..60dc62d Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/trp2.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/trp3.jpg b/src/images/trailRunBackpack/thumbs/trp3.jpg new file mode 100644 index 0000000..c62f052 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/trp3.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/trp4.jpg b/src/images/trailRunBackpack/thumbs/trp4.jpg new file mode 100644 index 0000000..3f679f4 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/trp4.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/trp5.jpg b/src/images/trailRunBackpack/thumbs/trp5.jpg new file mode 100644 index 0000000..4665ac7 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/trp5.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/trp6.jpg b/src/images/trailRunBackpack/thumbs/trp6.jpg new file mode 100644 index 0000000..d33642a Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/trp6.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/videos/10pack assembly thumbnail.png b/src/images/trailRunBackpack/thumbs/videos/10pack assembly thumbnail.png new file mode 100644 index 0000000..0f53364 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/10pack assembly thumbnail.png differ diff --git a/src/images/trailRunBackpack/thumbs/videos/11binding thumbnail.png b/src/images/trailRunBackpack/thumbs/videos/11binding thumbnail.png new file mode 100644 index 0000000..54432cc Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/11binding thumbnail.png differ diff --git a/src/images/trailRunBackpack/thumbs/videos/12finishing touches thumbnail.png b/src/images/trailRunBackpack/thumbs/videos/12finishing touches thumbnail.png new file mode 100644 index 0000000..b104bb9 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/12finishing touches thumbnail.png differ diff --git a/src/images/trailRunBackpack/thumbs/videos/13prototypecommentary.png b/src/images/trailRunBackpack/thumbs/videos/13prototypecommentary.png new file mode 100644 index 0000000..e15b295 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/13prototypecommentary.png differ diff --git a/src/images/trailRunBackpack/thumbs/videos/14thumbnail_trail.jpg b/src/images/trailRunBackpack/thumbs/videos/14thumbnail_trail.jpg new file mode 100644 index 0000000..8c9811f Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/14thumbnail_trail.jpg differ diff --git a/src/images/trailRunBackpack/thumbs/videos/1Getting Started thumbnail.png b/src/images/trailRunBackpack/thumbs/videos/1Getting Started thumbnail.png new file mode 100644 index 0000000..8366a27 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/1Getting Started thumbnail.png differ diff --git a/src/images/trailRunBackpack/thumbs/videos/2Fabric Panels thumbnail.png b/src/images/trailRunBackpack/thumbs/videos/2Fabric Panels thumbnail.png new file mode 100644 index 0000000..f0fe22e Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/2Fabric Panels thumbnail.png differ diff --git a/src/images/trailRunBackpack/thumbs/videos/3Back Panel thumbnail.png b/src/images/trailRunBackpack/thumbs/videos/3Back Panel thumbnail.png new file mode 100644 index 0000000..d02788b Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/3Back Panel thumbnail.png differ diff --git a/src/images/trailRunBackpack/thumbs/videos/4Main Body thumbnail.png b/src/images/trailRunBackpack/thumbs/videos/4Main Body thumbnail.png new file mode 100644 index 0000000..33508d3 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/4Main Body thumbnail.png differ diff --git a/src/images/trailRunBackpack/thumbs/videos/5Curved Darts thumbnail.png b/src/images/trailRunBackpack/thumbs/videos/5Curved Darts thumbnail.png new file mode 100644 index 0000000..39ca0f4 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/5Curved Darts thumbnail.png differ diff --git a/src/images/trailRunBackpack/thumbs/videos/6D Ring and Hydrop Port thumbnail.png b/src/images/trailRunBackpack/thumbs/videos/6D Ring and Hydrop Port thumbnail.png new file mode 100644 index 0000000..3678ae6 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/6D Ring and Hydrop Port thumbnail.png differ diff --git a/src/images/trailRunBackpack/thumbs/videos/7top collar thumbnail.png b/src/images/trailRunBackpack/thumbs/videos/7top collar thumbnail.png new file mode 100644 index 0000000..0bc64dd Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/7top collar thumbnail.png differ diff --git a/src/images/trailRunBackpack/thumbs/videos/8vest part 1 thumbnail.png b/src/images/trailRunBackpack/thumbs/videos/8vest part 1 thumbnail.png new file mode 100644 index 0000000..0732e30 Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/8vest part 1 thumbnail.png differ diff --git a/src/images/trailRunBackpack/thumbs/videos/9vest part 2 thumbnail.png b/src/images/trailRunBackpack/thumbs/videos/9vest part 2 thumbnail.png new file mode 100644 index 0000000..bc43bac Binary files /dev/null and b/src/images/trailRunBackpack/thumbs/videos/9vest part 2 thumbnail.png differ diff --git a/src/images/trailRunBackpack/trp1.jpg b/src/images/trailRunBackpack/trp1.jpg new file mode 100644 index 0000000..d34a32d Binary files /dev/null and b/src/images/trailRunBackpack/trp1.jpg differ diff --git a/src/images/trailRunBackpack/trp2.jpg b/src/images/trailRunBackpack/trp2.jpg new file mode 100644 index 0000000..63298a6 Binary files /dev/null and b/src/images/trailRunBackpack/trp2.jpg differ diff --git a/src/images/trailRunBackpack/trp3.jpg b/src/images/trailRunBackpack/trp3.jpg new file mode 100644 index 0000000..91339ad Binary files /dev/null and b/src/images/trailRunBackpack/trp3.jpg differ diff --git a/src/images/trailRunBackpack/trp4.jpg b/src/images/trailRunBackpack/trp4.jpg new file mode 100644 index 0000000..117d740 Binary files /dev/null and b/src/images/trailRunBackpack/trp4.jpg differ diff --git a/src/images/trailRunBackpack/trp5.jpg b/src/images/trailRunBackpack/trp5.jpg new file mode 100644 index 0000000..122e7fd Binary files /dev/null and b/src/images/trailRunBackpack/trp5.jpg differ diff --git a/src/images/trailRunBackpack/trp6.jpg b/src/images/trailRunBackpack/trp6.jpg new file mode 100644 index 0000000..0388d5b Binary files /dev/null and b/src/images/trailRunBackpack/trp6.jpg differ diff --git a/src/images/windshell/communitybuildplaceholder.png b/src/images/windshell/communitybuildplaceholder.png new file mode 100644 index 0000000..f9017ca Binary files /dev/null and b/src/images/windshell/communitybuildplaceholder.png differ diff --git a/src/images/windshell/front.jpg b/src/images/windshell/front.jpg new file mode 100644 index 0000000..1037031 Binary files /dev/null and b/src/images/windshell/front.jpg differ diff --git a/src/images/windshell/hero.jpg b/src/images/windshell/hero.jpg new file mode 100644 index 0000000..315b1b1 Binary files /dev/null and b/src/images/windshell/hero.jpg differ diff --git a/src/images/windshell/instructionspreview.png b/src/images/windshell/instructionspreview.png new file mode 100644 index 0000000..42718d5 Binary files /dev/null and b/src/images/windshell/instructionspreview.png differ diff --git a/src/images/windshell/patternpreview.png b/src/images/windshell/patternpreview.png new file mode 100644 index 0000000..c132642 Binary files /dev/null and b/src/images/windshell/patternpreview.png differ diff --git a/src/images/windshell/pullover.jpg b/src/images/windshell/pullover.jpg new file mode 100644 index 0000000..f03e698 Binary files /dev/null and b/src/images/windshell/pullover.jpg differ diff --git a/src/images/windshell/thumbs/communitybuildplaceholder.png b/src/images/windshell/thumbs/communitybuildplaceholder.png new file mode 100644 index 0000000..131619a Binary files /dev/null and b/src/images/windshell/thumbs/communitybuildplaceholder.png differ diff --git a/src/images/windshell/thumbs/front.jpg b/src/images/windshell/thumbs/front.jpg new file mode 100644 index 0000000..a337372 Binary files /dev/null and b/src/images/windshell/thumbs/front.jpg differ diff --git a/src/images/windshell/thumbs/hero.jpg b/src/images/windshell/thumbs/hero.jpg new file mode 100644 index 0000000..521068c Binary files /dev/null and b/src/images/windshell/thumbs/hero.jpg differ diff --git a/src/images/windshell/thumbs/instructionspreview.png b/src/images/windshell/thumbs/instructionspreview.png new file mode 100644 index 0000000..902ea34 Binary files /dev/null and b/src/images/windshell/thumbs/instructionspreview.png differ diff --git a/src/images/windshell/thumbs/patternpreview.png b/src/images/windshell/thumbs/patternpreview.png new file mode 100644 index 0000000..9cbe40b Binary files /dev/null and b/src/images/windshell/thumbs/patternpreview.png differ diff --git a/src/images/windshell/thumbs/weight.jpg b/src/images/windshell/thumbs/weight.jpg new file mode 100644 index 0000000..0125e31 Binary files /dev/null and b/src/images/windshell/thumbs/weight.jpg differ diff --git a/src/images/windshell/thumbs/wind1.jpg b/src/images/windshell/thumbs/wind1.jpg new file mode 100644 index 0000000..50c44c8 Binary files /dev/null and b/src/images/windshell/thumbs/wind1.jpg differ diff --git a/src/images/windshell/thumbs/wind2.jpg b/src/images/windshell/thumbs/wind2.jpg new file mode 100644 index 0000000..758cb1f Binary files /dev/null and b/src/images/windshell/thumbs/wind2.jpg differ diff --git a/src/images/windshell/thumbs/wind3.jpg b/src/images/windshell/thumbs/wind3.jpg new file mode 100644 index 0000000..885a9a2 Binary files /dev/null and b/src/images/windshell/thumbs/wind3.jpg differ diff --git a/src/images/windshell/thumbs/wind4.jpg b/src/images/windshell/thumbs/wind4.jpg new file mode 100644 index 0000000..4ac5e7f Binary files /dev/null and b/src/images/windshell/thumbs/wind4.jpg differ diff --git a/src/images/windshell/thumbs/wind5.jpg b/src/images/windshell/thumbs/wind5.jpg new file mode 100644 index 0000000..365ef98 Binary files /dev/null and b/src/images/windshell/thumbs/wind5.jpg differ diff --git a/src/images/windshell/thumbs/wind6.jpg b/src/images/windshell/thumbs/wind6.jpg new file mode 100644 index 0000000..a4b3ada Binary files /dev/null and b/src/images/windshell/thumbs/wind6.jpg differ diff --git a/src/images/windshell/weight.jpg b/src/images/windshell/weight.jpg new file mode 100644 index 0000000..297da0f Binary files /dev/null and b/src/images/windshell/weight.jpg differ diff --git a/src/images/windshell/wind1.jpg b/src/images/windshell/wind1.jpg new file mode 100644 index 0000000..50a2e5b Binary files /dev/null and b/src/images/windshell/wind1.jpg differ diff --git a/src/images/windshell/wind2.jpg b/src/images/windshell/wind2.jpg new file mode 100644 index 0000000..da2db1c Binary files /dev/null and b/src/images/windshell/wind2.jpg differ diff --git a/src/images/windshell/wind3.jpg b/src/images/windshell/wind3.jpg new file mode 100644 index 0000000..360563a Binary files /dev/null and b/src/images/windshell/wind3.jpg differ diff --git a/src/images/windshell/wind4.jpg b/src/images/windshell/wind4.jpg new file mode 100644 index 0000000..b8efaf2 Binary files /dev/null and b/src/images/windshell/wind4.jpg differ diff --git a/src/images/windshell/wind5.jpg b/src/images/windshell/wind5.jpg new file mode 100644 index 0000000..25aafae Binary files /dev/null and b/src/images/windshell/wind5.jpg differ diff --git a/src/images/windshell/wind6.jpg b/src/images/windshell/wind6.jpg new file mode 100644 index 0000000..132808a Binary files /dev/null and b/src/images/windshell/wind6.jpg differ diff --git a/src/images/windshell/windshell.jpg b/src/images/windshell/windshell.jpg new file mode 100644 index 0000000..6c50e6d Binary files /dev/null and b/src/images/windshell/windshell.jpg differ diff --git a/src/images/windshell/windshell.png b/src/images/windshell/windshell.png new file mode 100644 index 0000000..f7c9fde Binary files /dev/null and b/src/images/windshell/windshell.png differ diff --git a/src/images/windshell2/build/step1.2.jpg b/src/images/windshell2/build/step1.2.jpg new file mode 100644 index 0000000..011c1ae Binary files /dev/null and b/src/images/windshell2/build/step1.2.jpg differ diff --git a/src/images/windshell2/build/step10.1.jpg b/src/images/windshell2/build/step10.1.jpg new file mode 100644 index 0000000..5cc488e Binary files /dev/null and b/src/images/windshell2/build/step10.1.jpg differ diff --git a/src/images/windshell2/build/step10.3.jpg b/src/images/windshell2/build/step10.3.jpg new file mode 100644 index 0000000..264db4e Binary files /dev/null and b/src/images/windshell2/build/step10.3.jpg differ diff --git a/src/images/windshell2/build/step11.3.jpg b/src/images/windshell2/build/step11.3.jpg new file mode 100644 index 0000000..9193027 Binary files /dev/null and b/src/images/windshell2/build/step11.3.jpg differ diff --git a/src/images/windshell2/build/step11.6.jpg b/src/images/windshell2/build/step11.6.jpg new file mode 100644 index 0000000..67ad2ba Binary files /dev/null and b/src/images/windshell2/build/step11.6.jpg differ diff --git a/src/images/windshell2/build/step2.2.jpg b/src/images/windshell2/build/step2.2.jpg new file mode 100644 index 0000000..5f57176 Binary files /dev/null and b/src/images/windshell2/build/step2.2.jpg differ diff --git a/src/images/windshell2/build/step2.3.jpg b/src/images/windshell2/build/step2.3.jpg new file mode 100644 index 0000000..2f561fb Binary files /dev/null and b/src/images/windshell2/build/step2.3.jpg differ diff --git a/src/images/windshell2/build/step2.4.jpg b/src/images/windshell2/build/step2.4.jpg new file mode 100644 index 0000000..16e97e4 Binary files /dev/null and b/src/images/windshell2/build/step2.4.jpg differ diff --git a/src/images/windshell2/build/step2.5.jpg b/src/images/windshell2/build/step2.5.jpg new file mode 100644 index 0000000..c3a91a8 Binary files /dev/null and b/src/images/windshell2/build/step2.5.jpg differ diff --git a/src/images/windshell2/build/step2.6.jpg b/src/images/windshell2/build/step2.6.jpg new file mode 100644 index 0000000..73608f6 Binary files /dev/null and b/src/images/windshell2/build/step2.6.jpg differ diff --git a/src/images/windshell2/build/step3.1.jpg b/src/images/windshell2/build/step3.1.jpg new file mode 100644 index 0000000..42891f1 Binary files /dev/null and b/src/images/windshell2/build/step3.1.jpg differ diff --git a/src/images/windshell2/build/step3.2.jpg b/src/images/windshell2/build/step3.2.jpg new file mode 100644 index 0000000..681a506 Binary files /dev/null and b/src/images/windshell2/build/step3.2.jpg differ diff --git a/src/images/windshell2/build/step3.4.jpg b/src/images/windshell2/build/step3.4.jpg new file mode 100644 index 0000000..901450c Binary files /dev/null and b/src/images/windshell2/build/step3.4.jpg differ diff --git a/src/images/windshell2/build/step3.5.jpg b/src/images/windshell2/build/step3.5.jpg new file mode 100644 index 0000000..eec9ead Binary files /dev/null and b/src/images/windshell2/build/step3.5.jpg differ diff --git a/src/images/windshell2/build/step3.6.jpg b/src/images/windshell2/build/step3.6.jpg new file mode 100644 index 0000000..c7f51d0 Binary files /dev/null and b/src/images/windshell2/build/step3.6.jpg differ diff --git a/src/images/windshell2/build/step3.7.jpg b/src/images/windshell2/build/step3.7.jpg new file mode 100644 index 0000000..84790aa Binary files /dev/null and b/src/images/windshell2/build/step3.7.jpg differ diff --git a/src/images/windshell2/build/step3.8.jpg b/src/images/windshell2/build/step3.8.jpg new file mode 100644 index 0000000..2d9e62b Binary files /dev/null and b/src/images/windshell2/build/step3.8.jpg differ diff --git a/src/images/windshell2/build/step3.9.jpg b/src/images/windshell2/build/step3.9.jpg new file mode 100644 index 0000000..74306de Binary files /dev/null and b/src/images/windshell2/build/step3.9.jpg differ diff --git a/src/images/windshell2/build/step4.1.jpg b/src/images/windshell2/build/step4.1.jpg new file mode 100644 index 0000000..1987b08 Binary files /dev/null and b/src/images/windshell2/build/step4.1.jpg differ diff --git a/src/images/windshell2/build/step4.2.jpg b/src/images/windshell2/build/step4.2.jpg new file mode 100644 index 0000000..ae6f513 Binary files /dev/null and b/src/images/windshell2/build/step4.2.jpg differ diff --git a/src/images/windshell2/build/step4.3.jpg b/src/images/windshell2/build/step4.3.jpg new file mode 100644 index 0000000..fe2f83a Binary files /dev/null and b/src/images/windshell2/build/step4.3.jpg differ diff --git a/src/images/windshell2/build/step4.4.jpg b/src/images/windshell2/build/step4.4.jpg new file mode 100644 index 0000000..0fd6aac Binary files /dev/null and b/src/images/windshell2/build/step4.4.jpg differ diff --git a/src/images/windshell2/build/step6.1.jpg b/src/images/windshell2/build/step6.1.jpg new file mode 100644 index 0000000..fe0cfa1 Binary files /dev/null and b/src/images/windshell2/build/step6.1.jpg differ diff --git a/src/images/windshell2/build/step6.2.jpg b/src/images/windshell2/build/step6.2.jpg new file mode 100644 index 0000000..e7f8ae2 Binary files /dev/null and b/src/images/windshell2/build/step6.2.jpg differ diff --git a/src/images/windshell2/build/step6.4.jpg b/src/images/windshell2/build/step6.4.jpg new file mode 100644 index 0000000..bf98625 Binary files /dev/null and b/src/images/windshell2/build/step6.4.jpg differ diff --git a/src/images/windshell2/build/step6.5.jpg b/src/images/windshell2/build/step6.5.jpg new file mode 100644 index 0000000..8d0d9d1 Binary files /dev/null and b/src/images/windshell2/build/step6.5.jpg differ diff --git a/src/images/windshell2/build/step7.2.jpg b/src/images/windshell2/build/step7.2.jpg new file mode 100644 index 0000000..14f9cb6 Binary files /dev/null and b/src/images/windshell2/build/step7.2.jpg differ diff --git a/src/images/windshell2/build/step7.3.jpg b/src/images/windshell2/build/step7.3.jpg new file mode 100644 index 0000000..a6c19c8 Binary files /dev/null and b/src/images/windshell2/build/step7.3.jpg differ diff --git a/src/images/windshell2/build/step7.5.jpg b/src/images/windshell2/build/step7.5.jpg new file mode 100644 index 0000000..5df53e0 Binary files /dev/null and b/src/images/windshell2/build/step7.5.jpg differ diff --git a/src/images/windshell2/build/step7.7.jpg b/src/images/windshell2/build/step7.7.jpg new file mode 100644 index 0000000..762d0dc Binary files /dev/null and b/src/images/windshell2/build/step7.7.jpg differ diff --git a/src/images/windshell2/build/step8.1.jpg b/src/images/windshell2/build/step8.1.jpg new file mode 100644 index 0000000..9790a22 Binary files /dev/null and b/src/images/windshell2/build/step8.1.jpg differ diff --git a/src/images/windshell2/build/step8.2.jpg b/src/images/windshell2/build/step8.2.jpg new file mode 100644 index 0000000..1d76c92 Binary files /dev/null and b/src/images/windshell2/build/step8.2.jpg differ diff --git a/src/images/windshell2/build/step8.3.jpg b/src/images/windshell2/build/step8.3.jpg new file mode 100644 index 0000000..34c8005 Binary files /dev/null and b/src/images/windshell2/build/step8.3.jpg differ diff --git a/src/images/windshell2/build/step9.1.jpg b/src/images/windshell2/build/step9.1.jpg new file mode 100644 index 0000000..0384c8b Binary files /dev/null and b/src/images/windshell2/build/step9.1.jpg differ diff --git a/src/images/windshell2/build/step9.3.jpg b/src/images/windshell2/build/step9.3.jpg new file mode 100644 index 0000000..f29128f Binary files /dev/null and b/src/images/windshell2/build/step9.3.jpg differ diff --git a/src/images/windshell2/build/step9.4.jpg b/src/images/windshell2/build/step9.4.jpg new file mode 100644 index 0000000..cad24ac Binary files /dev/null and b/src/images/windshell2/build/step9.4.jpg differ diff --git a/src/images/windshell2/build/thumbs/step1.2.jpg b/src/images/windshell2/build/thumbs/step1.2.jpg new file mode 100644 index 0000000..cf486e3 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step1.2.jpg differ diff --git a/src/images/windshell2/build/thumbs/step10.1.jpg b/src/images/windshell2/build/thumbs/step10.1.jpg new file mode 100644 index 0000000..2c38761 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step10.1.jpg differ diff --git a/src/images/windshell2/build/thumbs/step10.3.jpg b/src/images/windshell2/build/thumbs/step10.3.jpg new file mode 100644 index 0000000..5bf2989 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step10.3.jpg differ diff --git a/src/images/windshell2/build/thumbs/step11.3.jpg b/src/images/windshell2/build/thumbs/step11.3.jpg new file mode 100644 index 0000000..b03a9fe Binary files /dev/null and b/src/images/windshell2/build/thumbs/step11.3.jpg differ diff --git a/src/images/windshell2/build/thumbs/step11.6.jpg b/src/images/windshell2/build/thumbs/step11.6.jpg new file mode 100644 index 0000000..7f4965f Binary files /dev/null and b/src/images/windshell2/build/thumbs/step11.6.jpg differ diff --git a/src/images/windshell2/build/thumbs/step2.2.jpg b/src/images/windshell2/build/thumbs/step2.2.jpg new file mode 100644 index 0000000..c367d83 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step2.2.jpg differ diff --git a/src/images/windshell2/build/thumbs/step2.3.jpg b/src/images/windshell2/build/thumbs/step2.3.jpg new file mode 100644 index 0000000..bb75105 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step2.3.jpg differ diff --git a/src/images/windshell2/build/thumbs/step2.4.jpg b/src/images/windshell2/build/thumbs/step2.4.jpg new file mode 100644 index 0000000..7d6c4f9 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step2.4.jpg differ diff --git a/src/images/windshell2/build/thumbs/step2.5.jpg b/src/images/windshell2/build/thumbs/step2.5.jpg new file mode 100644 index 0000000..d550a9a Binary files /dev/null and b/src/images/windshell2/build/thumbs/step2.5.jpg differ diff --git a/src/images/windshell2/build/thumbs/step2.6.jpg b/src/images/windshell2/build/thumbs/step2.6.jpg new file mode 100644 index 0000000..40824a0 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step2.6.jpg differ diff --git a/src/images/windshell2/build/thumbs/step3.1.jpg b/src/images/windshell2/build/thumbs/step3.1.jpg new file mode 100644 index 0000000..1b7a50d Binary files /dev/null and b/src/images/windshell2/build/thumbs/step3.1.jpg differ diff --git a/src/images/windshell2/build/thumbs/step3.2.jpg b/src/images/windshell2/build/thumbs/step3.2.jpg new file mode 100644 index 0000000..68a9c1d Binary files /dev/null and b/src/images/windshell2/build/thumbs/step3.2.jpg differ diff --git a/src/images/windshell2/build/thumbs/step3.4.jpg b/src/images/windshell2/build/thumbs/step3.4.jpg new file mode 100644 index 0000000..9dd100b Binary files /dev/null and b/src/images/windshell2/build/thumbs/step3.4.jpg differ diff --git a/src/images/windshell2/build/thumbs/step3.5.jpg b/src/images/windshell2/build/thumbs/step3.5.jpg new file mode 100644 index 0000000..62d2381 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step3.5.jpg differ diff --git a/src/images/windshell2/build/thumbs/step3.6.jpg b/src/images/windshell2/build/thumbs/step3.6.jpg new file mode 100644 index 0000000..fe9d7fc Binary files /dev/null and b/src/images/windshell2/build/thumbs/step3.6.jpg differ diff --git a/src/images/windshell2/build/thumbs/step3.7.jpg b/src/images/windshell2/build/thumbs/step3.7.jpg new file mode 100644 index 0000000..9b0e18f Binary files /dev/null and b/src/images/windshell2/build/thumbs/step3.7.jpg differ diff --git a/src/images/windshell2/build/thumbs/step3.8.jpg b/src/images/windshell2/build/thumbs/step3.8.jpg new file mode 100644 index 0000000..fb0b3ca Binary files /dev/null and b/src/images/windshell2/build/thumbs/step3.8.jpg differ diff --git a/src/images/windshell2/build/thumbs/step3.9.jpg b/src/images/windshell2/build/thumbs/step3.9.jpg new file mode 100644 index 0000000..c282be4 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step3.9.jpg differ diff --git a/src/images/windshell2/build/thumbs/step4.1.jpg b/src/images/windshell2/build/thumbs/step4.1.jpg new file mode 100644 index 0000000..a32dac1 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step4.1.jpg differ diff --git a/src/images/windshell2/build/thumbs/step4.2.jpg b/src/images/windshell2/build/thumbs/step4.2.jpg new file mode 100644 index 0000000..37a194d Binary files /dev/null and b/src/images/windshell2/build/thumbs/step4.2.jpg differ diff --git a/src/images/windshell2/build/thumbs/step4.3.jpg b/src/images/windshell2/build/thumbs/step4.3.jpg new file mode 100644 index 0000000..9a1c2b4 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step4.3.jpg differ diff --git a/src/images/windshell2/build/thumbs/step4.4.jpg b/src/images/windshell2/build/thumbs/step4.4.jpg new file mode 100644 index 0000000..f26ebfe Binary files /dev/null and b/src/images/windshell2/build/thumbs/step4.4.jpg differ diff --git a/src/images/windshell2/build/thumbs/step6.1.jpg b/src/images/windshell2/build/thumbs/step6.1.jpg new file mode 100644 index 0000000..9b653e4 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step6.1.jpg differ diff --git a/src/images/windshell2/build/thumbs/step6.2.jpg b/src/images/windshell2/build/thumbs/step6.2.jpg new file mode 100644 index 0000000..6c3d10d Binary files /dev/null and b/src/images/windshell2/build/thumbs/step6.2.jpg differ diff --git a/src/images/windshell2/build/thumbs/step6.4.jpg b/src/images/windshell2/build/thumbs/step6.4.jpg new file mode 100644 index 0000000..ddd56b5 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step6.4.jpg differ diff --git a/src/images/windshell2/build/thumbs/step6.5.jpg b/src/images/windshell2/build/thumbs/step6.5.jpg new file mode 100644 index 0000000..e62be43 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step6.5.jpg differ diff --git a/src/images/windshell2/build/thumbs/step7.2.jpg b/src/images/windshell2/build/thumbs/step7.2.jpg new file mode 100644 index 0000000..33ee743 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step7.2.jpg differ diff --git a/src/images/windshell2/build/thumbs/step7.3.jpg b/src/images/windshell2/build/thumbs/step7.3.jpg new file mode 100644 index 0000000..aae869c Binary files /dev/null and b/src/images/windshell2/build/thumbs/step7.3.jpg differ diff --git a/src/images/windshell2/build/thumbs/step7.5.jpg b/src/images/windshell2/build/thumbs/step7.5.jpg new file mode 100644 index 0000000..e2ae28a Binary files /dev/null and b/src/images/windshell2/build/thumbs/step7.5.jpg differ diff --git a/src/images/windshell2/build/thumbs/step7.7.jpg b/src/images/windshell2/build/thumbs/step7.7.jpg new file mode 100644 index 0000000..2660534 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step7.7.jpg differ diff --git a/src/images/windshell2/build/thumbs/step8.1.jpg b/src/images/windshell2/build/thumbs/step8.1.jpg new file mode 100644 index 0000000..0583b7b Binary files /dev/null and b/src/images/windshell2/build/thumbs/step8.1.jpg differ diff --git a/src/images/windshell2/build/thumbs/step8.2.jpg b/src/images/windshell2/build/thumbs/step8.2.jpg new file mode 100644 index 0000000..05b3116 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step8.2.jpg differ diff --git a/src/images/windshell2/build/thumbs/step8.3.jpg b/src/images/windshell2/build/thumbs/step8.3.jpg new file mode 100644 index 0000000..eba3d36 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step8.3.jpg differ diff --git a/src/images/windshell2/build/thumbs/step9.1.jpg b/src/images/windshell2/build/thumbs/step9.1.jpg new file mode 100644 index 0000000..7cf0d21 Binary files /dev/null and b/src/images/windshell2/build/thumbs/step9.1.jpg differ diff --git a/src/images/windshell2/build/thumbs/step9.3.jpg b/src/images/windshell2/build/thumbs/step9.3.jpg new file mode 100644 index 0000000..094e40a Binary files /dev/null and b/src/images/windshell2/build/thumbs/step9.3.jpg differ diff --git a/src/images/windshell2/build/thumbs/step9.4.jpg b/src/images/windshell2/build/thumbs/step9.4.jpg new file mode 100644 index 0000000..0be869f Binary files /dev/null and b/src/images/windshell2/build/thumbs/step9.4.jpg differ diff --git a/src/images/windshell2/card.jpg b/src/images/windshell2/card.jpg new file mode 100644 index 0000000..212e0e4 Binary files /dev/null and b/src/images/windshell2/card.jpg differ diff --git a/src/images/windshell2/coverart.jpg b/src/images/windshell2/coverart.jpg new file mode 100644 index 0000000..fad026d Binary files /dev/null and b/src/images/windshell2/coverart.jpg differ diff --git a/src/images/windshell2/hyperd.jpg b/src/images/windshell2/hyperd.jpg new file mode 100644 index 0000000..b8b4c29 Binary files /dev/null and b/src/images/windshell2/hyperd.jpg differ diff --git a/src/images/windshell2/instructionsample.jpg b/src/images/windshell2/instructionsample.jpg new file mode 100644 index 0000000..e4917fc Binary files /dev/null and b/src/images/windshell2/instructionsample.jpg differ diff --git a/src/images/windshell2/packable.jpg b/src/images/windshell2/packable.jpg new file mode 100644 index 0000000..dcecfbd Binary files /dev/null and b/src/images/windshell2/packable.jpg differ diff --git a/src/images/windshell2/patternview.jpg b/src/images/windshell2/patternview.jpg new file mode 100644 index 0000000..e9c3b16 Binary files /dev/null and b/src/images/windshell2/patternview.jpg differ diff --git a/src/images/windshell2/pocket.jpg b/src/images/windshell2/pocket.jpg new file mode 100644 index 0000000..796b1c6 Binary files /dev/null and b/src/images/windshell2/pocket.jpg differ diff --git a/src/images/windshell2/pocket2.jpg b/src/images/windshell2/pocket2.jpg new file mode 100644 index 0000000..5a78c35 Binary files /dev/null and b/src/images/windshell2/pocket2.jpg differ diff --git a/src/images/windshell2/thumbs/card.jpg b/src/images/windshell2/thumbs/card.jpg new file mode 100644 index 0000000..7fb00e8 Binary files /dev/null and b/src/images/windshell2/thumbs/card.jpg differ diff --git a/src/images/windshell2/thumbs/coverart.jpg b/src/images/windshell2/thumbs/coverart.jpg new file mode 100644 index 0000000..4180903 Binary files /dev/null and b/src/images/windshell2/thumbs/coverart.jpg differ diff --git a/src/images/windshell2/thumbs/hyperd.jpg b/src/images/windshell2/thumbs/hyperd.jpg new file mode 100644 index 0000000..cfc6bc7 Binary files /dev/null and b/src/images/windshell2/thumbs/hyperd.jpg differ diff --git a/src/images/windshell2/thumbs/instructionsample.jpg b/src/images/windshell2/thumbs/instructionsample.jpg new file mode 100644 index 0000000..ee0ec22 Binary files /dev/null and b/src/images/windshell2/thumbs/instructionsample.jpg differ diff --git a/src/images/windshell2/thumbs/packable.jpg b/src/images/windshell2/thumbs/packable.jpg new file mode 100644 index 0000000..0d10071 Binary files /dev/null and b/src/images/windshell2/thumbs/packable.jpg differ diff --git a/src/images/windshell2/thumbs/patternview.jpg b/src/images/windshell2/thumbs/patternview.jpg new file mode 100644 index 0000000..0bfb082 Binary files /dev/null and b/src/images/windshell2/thumbs/patternview.jpg differ diff --git a/src/images/windshell2/thumbs/pocket.jpg b/src/images/windshell2/thumbs/pocket.jpg new file mode 100644 index 0000000..d51b8f3 Binary files /dev/null and b/src/images/windshell2/thumbs/pocket.jpg differ diff --git a/src/images/windshell2/thumbs/pocket2.jpg b/src/images/windshell2/thumbs/pocket2.jpg new file mode 100644 index 0000000..8f53bab Binary files /dev/null and b/src/images/windshell2/thumbs/pocket2.jpg differ diff --git a/src/images/windshell2/thumbs/ulwindshell.jpg b/src/images/windshell2/thumbs/ulwindshell.jpg new file mode 100644 index 0000000..68de343 Binary files /dev/null and b/src/images/windshell2/thumbs/ulwindshell.jpg differ diff --git a/src/images/windshell2/thumbs/ulwindshellonscale.jpg b/src/images/windshell2/thumbs/ulwindshellonscale.jpg new file mode 100644 index 0000000..0e7d996 Binary files /dev/null and b/src/images/windshell2/thumbs/ulwindshellonscale.jpg differ diff --git a/src/images/windshell2/thumbs/ulwindshellrear.jpg b/src/images/windshell2/thumbs/ulwindshellrear.jpg new file mode 100644 index 0000000..9b80f96 Binary files /dev/null and b/src/images/windshell2/thumbs/ulwindshellrear.jpg differ diff --git a/src/images/windshell2/ulwindshell.jpg b/src/images/windshell2/ulwindshell.jpg new file mode 100644 index 0000000..dc3ff87 Binary files /dev/null and b/src/images/windshell2/ulwindshell.jpg differ diff --git a/src/images/windshell2/ulwindshellonscale.jpg b/src/images/windshell2/ulwindshellonscale.jpg new file mode 100644 index 0000000..8f5fdf1 Binary files /dev/null and b/src/images/windshell2/ulwindshellonscale.jpg differ diff --git a/src/images/windshell2/ulwindshellrear.jpg b/src/images/windshell2/ulwindshellrear.jpg new file mode 100644 index 0000000..5450700 Binary files /dev/null and b/src/images/windshell2/ulwindshellrear.jpg differ diff --git a/src/images/zipsack/ykkZipper.jpg b/src/images/zipsack/ykkZipper.jpg new file mode 100644 index 0000000..88ab578 Binary files /dev/null and b/src/images/zipsack/ykkZipper.jpg differ diff --git a/src/images/zipsack/zipInstr1.png b/src/images/zipsack/zipInstr1.png new file mode 100644 index 0000000..b73de52 Binary files /dev/null and b/src/images/zipsack/zipInstr1.png differ diff --git a/src/images/zipsack/zipInstr2.png b/src/images/zipsack/zipInstr2.png new file mode 100644 index 0000000..4d31f4f Binary files /dev/null and b/src/images/zipsack/zipInstr2.png differ diff --git a/src/images/zipsack/zipInstr3.png b/src/images/zipsack/zipInstr3.png new file mode 100644 index 0000000..4fa8616 Binary files /dev/null and b/src/images/zipsack/zipInstr3.png differ diff --git a/src/images/zipsack/zipInstr4.png b/src/images/zipsack/zipInstr4.png new file mode 100644 index 0000000..b747d89 Binary files /dev/null and b/src/images/zipsack/zipInstr4.png differ diff --git a/src/images/zipsack/zipPouchPattern.png b/src/images/zipsack/zipPouchPattern.png new file mode 100644 index 0000000..5cdeac3 Binary files /dev/null and b/src/images/zipsack/zipPouchPattern.png differ diff --git a/src/images/zipsack/zipPouchPlan.png b/src/images/zipsack/zipPouchPlan.png new file mode 100644 index 0000000..6aa07ff Binary files /dev/null and b/src/images/zipsack/zipPouchPlan.png differ diff --git a/src/images/zipsack/zipSackCompleted.jpg b/src/images/zipsack/zipSackCompleted.jpg new file mode 100644 index 0000000..71a965f Binary files /dev/null and b/src/images/zipsack/zipSackCompleted.jpg differ diff --git a/src/layouts/Article.astro b/src/layouts/Article.astro new file mode 100644 index 0000000..189c6c2 --- /dev/null +++ b/src/layouts/Article.astro @@ -0,0 +1,16 @@ +--- +import Section from "@/components/Section.astro"; +import Header from "@/components/Header.astro"; +import Layout from "./Layout.astro"; + +const { frontmatter } = Astro.props; +--- + + +
+
+
+ +
+
+
diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro new file mode 100644 index 0000000..6e774cf --- /dev/null +++ b/src/layouts/Layout.astro @@ -0,0 +1,70 @@ +--- +export type Props = { + title: string; + description?: string; +}; + +let { title, description } = Astro.props; +description = + description || + "Learn to Make Your Own Gear (MYOG). DIY sewing patterns for backpacks, technical apparel, and outdoor adventurers."; + +import "@/assets/css/main.css"; +import "@fortawesome/fontawesome-free/css/all.css"; +import Footer from "@/components/navigation/Footer.astro"; +import Header from "@/components/navigation/Header.astro"; +import Nav from "@/components/navigation/Nav.astro"; +import { getColors } from "@/ts/colors"; +--- + + + + + {title} + + + + + + + + + + +
+ +
+ +
+ +