Login
Dashboard
Saved Stitches
Stitch Catalog
Demo
All
E-Commerce
All
(4)
Collections
(3)
Featured Products
(0)
Hero
(0)
Pop Up Modals
(0)
Promotional CTA
(1)
Store Products
(0)
Buttons
All
(1)
Non Standard
(0)
Squared
(1)
Navigation
All
(2)
+ Dropdown
(1)
+ Top Bar
(0)
Standard
(1)
Top Bar + Dropdown
(0)
Hero Section
All
(6)
Centered
(2)
Grid
(0)
Landing + Services
(3)
Left Aligned
(0)
Right Aligned
(1)
Services
All
(16)
3 Card
(4)
4 Card
(4)
5 Card
(1)
6 Card
(2)
8 Card
(1)
Combo
(2)
Side By Side
(2)
Content Flair
All
(3)
Button Boxes
(1)
Content Groups
(1)
Lists
(1)
Quotes
(0)
Stats
(0)
Toppers
(0)
Side By Side
All
(32)
Non Standard
(1)
Reverse
(10)
Reverse Pair
(5)
Reverse Triplet
(3)
Standard
(13)
Gallery
All
(7)
4 Images
(1)
5 Images
(1)
6 Images
(1)
8 Images
(2)
Full Width
(0)
Mosaic
(0)
Multi Gallery
(1)
Simple
(1)
Meet Our Team
All
(5)
2 Card
(0)
3 Card
(1)
4 Card
(2)
5 Card
(1)
6 Card
(0)
7 Card
(0)
8 Card
(1)
Combo
(0)
Steps
All
(4)
3 Steps
(2)
4 Steps
(2)
5 Steps
(0)
Stats
All
(5)
2 Stats
(0)
3 Stats
(0)
4 Stats
(3)
Combos
(1)
Timeline
(1)
Pricing
All
(7)
2 Card
(0)
3 Card
(3)
Menu's
(2)
Price List
(0)
w/ Toggles
(2)
FAQ
All
(4)
Multi FAQ's
(0)
Side By Side
(2)
Standard
(2)
Why Choose Us
All
(11)
3 Card
(1)
4 Card
(1)
6 Card
(0)
Side By Side
(9)
Quotes
All
(0)
Single Quotes
(0)
MISC
All
(4)
Careers
(0)
Content
(0)
Locations
(1)
Logos
(1)
Maps
(0)
Popups
(0)
Tables
(1)
Video
(1)
Reviews
All
(14)
2 Card
(4)
3 Card
(3)
4 Card
(0)
8 Card
(0)
Full Width
(0)
Single Review
(7)
Forms & Contact
All
(7)
Contact Forms
(7)
Contact Info
(0)
Subscribe
(0)
Events
All
(3)
3 Card
(1)
4 Card
(0)
Side By Side
(2)
Blog
All
(3)
Recent Posts
(3)
Call To Action
All
(4)
Combos
(1)
Contained
(0)
Full Width
(2)
Subscribe Forms
(1)
Footer
All
(6)
2 Column
(0)
3 Column
(1)
4 Column
(2)
5 Column
(1)
Combo
(0)
Simple
(2)
Dark Mode
All
(1)
Standard
(1)
Interior Pages
All
(3)
About Page
(0)
Contact Page
(0)
Content Page
(1)
FAQ Page
(1)
Menus
(0)
Page Banners
(1)
Collections
HTML
JS
CSS
Core Styles
Choose your preferred CSS
CSS
LESS
SCSS
CSS Dark
LESS Dark
SCSS Dark
Choose your preferred Core Styles CSS
CSS
LESS
SCSS
-
Dark Mode
+
Dark Mode
Copy
to Clipboard
<!-- ============================================ --> <!-- Collection --> <!-- ============================================ --> <!-- To add a 4th or 5th collection or more, copy and paste the cs-button and change it's data-filter to the next number, in this case it's 4. Do the same to the cs-listing and its data-category number. And that's it! --> <section id="collection-1602"> <div class="cs-container"> <div class="cs-content"> <h2 class="cs-title">New Collection</h2> <div class="cs-button-group"> <button class="cs-button" data-filter="one"> New Arrival </button> <button class="cs-button" data-filter="two"> Top Rating </button> <button class="cs-button" data-filter="three"> Best Seller </button> </div> </div> <div class="cs-listing-wrapper"> <!--Listing 1--> <div class="cs-listing" data-category="one"> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-beanie.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-beanie.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-beanie.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Blue Chunky Beanie</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img class="cs-basket" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-alpaca.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-alpaca.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-alpaca.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Oversized Alpaca Crew</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-hoodie.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-hoodie.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-hoodie.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Diesel V2 Hoodie</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-winter.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-winter.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-winter.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Blue Chunky Beanie</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-round-neck.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-round-neck.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-round-neck.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Round neck T-shirt</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-halter.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-halter.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-halter.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Crossback Halter Dress</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> </div> <!--Listing 2--> <div class="cs-listing cs-hidden" data-category="two"> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-beanie.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-beanie.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-beanie.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Blue Chunky Beanie</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img class="cs-basket" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-alpaca.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-alpaca.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-alpaca.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Oversized Alpaca Crew</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-hoodie.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-hoodie.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-hoodie.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Diesel V2 Hoodie</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-winter.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-winter.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-winter.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Blue Chunky Beanie</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-round-neck.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-round-neck.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-round-neck.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Round neck T-shirt</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-halter.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-halter.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-halter.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Crossback Halter Dress</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> </div> <!--Listing 3--> <div class="cs-listing cs-hidden" data-category="three"> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-beanie.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-beanie.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-beanie.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Blue Chunky Beanie</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img class="cs-basket" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-alpaca.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-alpaca.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-alpaca.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Oversized Alpaca Crew</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-hoodie.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-hoodie.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-hoodie.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Diesel V2 Hoodie</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-winter.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-winter.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-winter.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Blue Chunky Beanie</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-round-neck.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-round-neck.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-round-neck.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Round neck T-shirt</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> <div class="cs-item"> <a href="" class="cs-link"> <div class="cs-picture-group"> <picture class="cs-picture"> <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-halter.png"> <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-halter.png"> <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/ecomm-halter.png" alt="gallery" width="305" height="400"> </picture> <span class="cs-offer">-20%</span> </div> <div class="cs-details"> <span class="cs-category">Run, Dress</span> <h3 class="cs-name">Crossback Halter Dress</h3> <div class="cs-actions"> <div class="cs-flex"> <span class="cs-price">$7.00</span> <span class="cs-was-price">$12.00</span> <div class="cs-stars"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> <img class="cs-star" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/review-star.svg" alt="star" height="24" width="24" loading="lazy" decoding="async"> </div> </div> <button class="cs-buy"> <img src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/Icons/ecomm-bag-icon.svg" alt="buy" height="24" width="24" loading="lazy" decoding="async"> </button> </div> </div> </a> </div> </div> </div> </div> </section>
class GalleryFilter { filtersSelector = ".cs-button"; imagesSelector = ".cs-listing"; activeClass = "cs-active"; hiddenClass = "cs-hidden"; constructor() { const $filters = document.querySelectorAll(this.filtersSelector); this.$activeFilter = $filters[0]; this.$images = document.querySelectorAll(this.imagesSelector); this.$activeFilter.classList.add(this.activeClass); for (const $filter of $filters) { $filter.addEventListener("click", () => this.onClick($filter)); } } onClick($filter) { this.filter($filter.dataset.filter); const { activeClass } = this; this.$activeFilter.classList.remove(activeClass); $filter.classList.add(activeClass); this.$activeFilter = $filter; } filter(filter) { const showAll = filter == "all"; const { hiddenClass } = this; for (const $image of this.$images) { const show = showAll || $image.dataset.category == filter; $image.classList.toggle(hiddenClass, !show); } } } new GalleryFilter();
/*-- -------------------------- --> <--- Collection --> <--- -------------------------- -*/ /* Mobile - 360px */ @media only screen and (min-width: 0rem) { #collection-1602 { padding: var(--sectionPadding); } #collection-1602 .cs-container { width: 100%; max-width: 80rem; margin: auto; display: flex; flex-direction: column; align-items: center; /* 48px - 64px */ gap: clamp(3rem, 6vw, 4rem); position: relative; z-index: 1; } #collection-1602 .cs-content { text-align: center; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; } #collection-1602 .cs-title { margin: 0; } #collection-1602 .cs-button-group { margin: 0; display: flex; justify-content: center; flex-wrap: wrap; /* 16px - 32px */ gap: clamp(1rem, 4vw, 2rem); } #collection-1602 .cs-button { font-size: 1rem; font-weight: 700; line-height: 1.2em; text-transform: uppercase; padding: 0; color: var(--bodyTextColor); background-color: transparent; border: none; position: relative; transition: color 0.3s; } #collection-1602 .cs-button:before { content: ""; width: 0; height: 1px; background: var(--primary); display: block; position: absolute; bottom: 0; left: 0; transition: width 0.3s; } #collection-1602 .cs-button:hover { color: var(--primary); cursor: pointer; } #collection-1602 .cs-button:hover:before { width: 100%; } #collection-1602 .cs-button.cs-active { color: var(--primary); } #collection-1602 .cs-button.cs-active:before { width: 100%; } #collection-1602 .cs-listing-wrapper { width: 100%; position: relative; z-index: 1; } #collection-1602 .cs-listing { width: 100%; margin: 0; padding: 0; display: grid; justify-items: center; grid-auto-flow: row; /* 16px - 20px */ gap: clamp(1rem, 1.5vw, 1.25rem); position: relative; transform-style: preserve-3d; perspective: 700px; transition: transform 0.7s, opacity 0.3s, visibility 0.5s, top 0.3s, left 0.3s; /* makes the transform scaling origin the top left corner, dictates the direction by which the scale transforms animate towards */ transform-origin: left top; } #collection-1602 .cs-listing.cs-hidden { /* hidden galleries have a 0 opacity, and we animate the opacity to 1 when they become active */ opacity: 0; /* by using visibility:hidden instead of display:none, we can see the animations from the opacity and transforms, display:none won't render animations. */ visibility: hidden; position: absolute; /* this top and left value help control the animation, by setting it to position absolute and left 0, the gallery won't fly off screen to the left, it will stop its position to be at the left edge of the .cs-container (left: 0). Same for the top:0 value, the gallery won't go past that position when it animates */ top: 0; left: 0; /* prevents the hidden galleries from overflowing the section, and makes a nice animations to transition to and from */ transform: scaleY(0) scaleX(0); /* prevents the mouse from interacting with it */ pointer-events: none; } #collection-1602 .cs-listing.cs-hidden .cs-image { opacity: 0; /* when gallery is hidden, add these styles to the cs-image to animate from when cs-hidden is removed from the .cs-gallery */ transform: translateY(2.1875rem) rotateX(90deg); } #collection-1602 .cs-listing.cs-hidden .cs-item { transform: rotateY(180deg); opacity: 0; } #collection-1602 .cs-item { width: 100%; max-width: 23.4375rem; /* overwrites the default 'min-width: auto' value, keeping all grid items the same width no matter what*/ min-width: 0; opacity: 1; padding: 1rem; border: 1px solid #e8e8e8; transform: rotateY(0); transition: transform 0.7s, opacity 0.3s; } #collection-1602 .cs-item:nth-of-type(1) { transition-delay: 0.1s; } #collection-1602 .cs-item:nth-of-type(2) { transition-delay: 0.2s; } #collection-1602 .cs-item:nth-of-type(3) { transition-delay: 0.3s; } #collection-1602 .cs-item:nth-of-type(4) { transition-delay: 0.4s; } #collection-1602 .cs-item:nth-of-type(5) { transition-delay: 0.5s; } #collection-1602 .cs-item:nth-of-type(6) { transition-delay: 0.6s; } #collection-1602 .cs-item:nth-of-type(7) { transition-delay: 0.7s; } #collection-1602 .cs-item:nth-of-type(8) { transition-delay: 0.8s; } #collection-1602 .cs-item:nth-of-type(9) { transition-delay: 0.1s; } #collection-1602 .cs-item:nth-of-type(10) { transition-delay: 0.1s; } #collection-1602 .cs-item:nth-of-type(11) { transition-delay: 0.1s; } #collection-1602 .cs-item:nth-of-type(12) { transition-delay: 0.1s; } #collection-1602 .cs-link { text-decoration: none; } #collection-1602 .cs-link:hover .cs-picture img { transform: scale(1.1); } #collection-1602 .cs-picture-group { width: auto; height: 18.75rem; margin-bottom: 1.25rem; position: relative; } #collection-1602 .cs-picture { width: 100%; height: 100%; background-color: #f6f6f6; overflow: hidden; display: block; } #collection-1602 .cs-picture img { width: 100%; height: 100%; /* using object-fit contain to keep the entirety of the product image in the frame */ /* feel free to change this to 'cover', or adjust the background-color above if you have consistent backgrounds on your products */ object-fit: contain; transition: transform 0.6s; } #collection-1602 .cs-offer { font-size: 0.8125rem; font-weight: 700; line-height: 1.2em; text-transform: uppercase; letter-spacing: 1.3px; padding: 0.375rem; color: #fff; background: #ff4747; position: absolute; top: 0.75rem; right: 0.75rem; } #collection-1602 .cs-category { font-size: 1rem; line-height: 1.5em; color: #767676; } #collection-1602 .cs-name { /* 20px - 25px */ font-size: clamp(1.25rem, 1vw, 1.5625rem); font-weight: 700; line-height: 1.2em; text-overflow: ellipsis; white-space: nowrap; width: 100%; margin: 0; color: var(--headerColor); overflow: hidden; } #collection-1602 .cs-actions { margin-top: 1.25rem; display: flex; justify-content: space-between; align-items: center; } #collection-1602 .cs-price { font-size: 1.25rem; font-weight: 700; line-height: 1.2em; color: var(--secondary); } #collection-1602 .cs-was-price { font-size: 1rem; font-weight: 700; line-height: 1.2em; text-decoration: line-through; color: #767676; } #collection-1602 .cs-stars { margin-top: 0.25rem; display: flex; } #collection-1602 .cs-star { width: 1.25rem; height: 1.25rem; } #collection-1602 .cs-buy { max-height: 2.5rem; padding: 0.5rem; background: none; border: 2px solid var(--primary); border-radius: 0.25rem; display: flex; justify-content: center; align-items: center; } #collection-1602 .cs-basket { width: 1.5rem; height: auto; } } /* Tablet - 768px */ @media only screen and (min-width: 48rem) { #collection-1602 .cs-content { flex-direction: row; justify-content: space-between; } #collection-1602 .cs-listing { grid-template-columns: repeat(3, 1fr); } #collection-1602 .cs-item { max-width: none; } #collection-1602 .cs-picture-group { /* 200px - 320px */ height: clamp(12.5rem, 23vw, 20rem); } }
/*-- -------------------------- --> <--- Collection --> <--- -------------------------- -*/ /* Mobile - 360px */ @media only screen and (min-width: 0rem) { #collection-1602 { padding: var(--sectionPadding); } #collection-1602 .cs-container { width: 100%; max-width: 80rem; margin: auto; display: flex; flex-direction: column; align-items: center; /* 48px - 64px */ gap: clamp(3rem, 6vw, 4rem); position: relative; z-index: 1; } #collection-1602 .cs-content { text-align: center; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; } #collection-1602 .cs-title { margin: 0; } #collection-1602 .cs-button-group { margin: 0; display: flex; justify-content: center; flex-wrap: wrap; /* 16px - 32px */ gap: clamp(1rem, 4vw, 2rem); } #collection-1602 .cs-button { font-size: 1rem; font-weight: 700; line-height: 1.2em; text-transform: uppercase; padding: 0; color: var(--bodyTextColor); background-color: transparent; border: none; position: relative; transition: color 0.3s; } #collection-1602 .cs-button:before { content: ""; width: 0; height: 1px; background: var(--primary); display: block; position: absolute; bottom: 0; left: 0; transition: width 0.3s; } #collection-1602 .cs-button:hover { color: var(--primary); cursor: pointer; } #collection-1602 .cs-button:hover:before { width: 100%; } #collection-1602 .cs-button.cs-active { color: var(--primary); } #collection-1602 .cs-button.cs-active:before { width: 100%; } #collection-1602 .cs-listing-wrapper { width: 100%; position: relative; z-index: 1; } #collection-1602 .cs-listing { width: 100%; margin: 0; padding: 0; display: grid; justify-items: center; grid-auto-flow: row; /* 16px - 20px */ gap: clamp(1rem, 1.5vw, 1.25rem); position: relative; transform-style: preserve-3d; perspective: 700px; transition: transform 0.7s, opacity 0.3s, visibility 0.5s, top 0.3s, left 0.3s; /* makes the transform scaling origin the top left corner, dictates the direction by which the scale transforms animate towards */ transform-origin: left top; } #collection-1602 .cs-listing.cs-hidden { /* hidden galleries have a 0 opacity, and we animate the opacity to 1 when they become active */ opacity: 0; /* by using visibility:hidden instead of display:none, we can see the animations from the opacity and transforms, display:none won't render animations. */ visibility: hidden; position: absolute; /* this top and left value help control the animation, by setting it to position absolute and left 0, the gallery won't fly off screen to the left, it will stop its position to be at the left edge of the .cs-container (left: 0). Same for the top:0 value, the gallery won't go past that position when it animates */ top: 0; left: 0; /* prevents the hidden galleries from overflowing the section, and makes a nice animations to transition to and from */ transform: scaleY(0) scaleX(0); /* prevents the mouse from interacting with it */ pointer-events: none; } #collection-1602 .cs-listing.cs-hidden .cs-image { opacity: 0; /* when gallery is hidden, add these styles to the cs-image to animate from when cs-hidden is removed from the .cs-gallery */ transform: translateY(2.1875rem) rotateX(90deg); } #collection-1602 .cs-listing.cs-hidden .cs-item { transform: rotateY(180deg); opacity: 0; } #collection-1602 .cs-item { width: 100%; max-width: 23.4375rem; /* overwrites the default 'min-width: auto' value, keeping all grid items the same width no matter what*/ min-width: 0; opacity: 1; padding: 1rem; border: 1px solid #e8e8e8; transform: rotateY(0); transition: transform 0.7s, opacity 0.3s; } #collection-1602 .cs-item:nth-of-type(1) { transition-delay: 0.1s; } #collection-1602 .cs-item:nth-of-type(2) { transition-delay: 0.2s; } #collection-1602 .cs-item:nth-of-type(3) { transition-delay: 0.3s; } #collection-1602 .cs-item:nth-of-type(4) { transition-delay: 0.4s; } #collection-1602 .cs-item:nth-of-type(5) { transition-delay: 0.5s; } #collection-1602 .cs-item:nth-of-type(6) { transition-delay: 0.6s; } #collection-1602 .cs-item:nth-of-type(7) { transition-delay: 0.7s; } #collection-1602 .cs-item:nth-of-type(8) { transition-delay: 0.8s; } #collection-1602 .cs-item:nth-of-type(9) { transition-delay: 0.1s; } #collection-1602 .cs-item:nth-of-type(10) { transition-delay: 0.1s; } #collection-1602 .cs-item:nth-of-type(11) { transition-delay: 0.1s; } #collection-1602 .cs-item:nth-of-type(12) { transition-delay: 0.1s; } #collection-1602 .cs-link { text-decoration: none; } #collection-1602 .cs-link:hover .cs-picture img { transform: scale(1.1); } #collection-1602 .cs-picture-group { width: auto; height: 18.75rem; margin-bottom: 1.25rem; position: relative; } #collection-1602 .cs-picture { width: 100%; height: 100%; background-color: #f6f6f6; overflow: hidden; display: block; } #collection-1602 .cs-picture img { width: 100%; height: 100%; /* using object-fit contain to keep the entirety of the product image in the frame */ /* feel free to change this to 'cover', or adjust the background-color above if you have consistent backgrounds on your products */ object-fit: contain; transition: transform 0.6s; } #collection-1602 .cs-offer { font-size: 0.8125rem; font-weight: 700; line-height: 1.2em; text-transform: uppercase; letter-spacing: 1.3px; padding: 0.375rem; color: #fff; background: #ff4747; position: absolute; top: 0.75rem; right: 0.75rem; } #collection-1602 .cs-category { font-size: 1rem; line-height: 1.5em; color: #767676; } #collection-1602 .cs-name { /* 20px - 25px */ font-size: clamp(1.25rem, 1vw, 1.5625rem); font-weight: 700; line-height: 1.2em; text-overflow: ellipsis; white-space: nowrap; width: 100%; margin: 0; color: var(--headerColor); overflow: hidden; } #collection-1602 .cs-actions { margin-top: 1.25rem; display: flex; justify-content: space-between; align-items: center; } #collection-1602 .cs-price { font-size: 1.25rem; font-weight: 700; line-height: 1.2em; color: var(--secondary); } #collection-1602 .cs-was-price { font-size: 1rem; font-weight: 700; line-height: 1.2em; text-decoration: line-through; color: #767676; } #collection-1602 .cs-stars { margin-top: 0.25rem; display: flex; } #collection-1602 .cs-star { width: 1.25rem; height: 1.25rem; } #collection-1602 .cs-buy { max-height: 2.5rem; padding: 0.5rem; background: none; border: 2px solid var(--primary); border-radius: 0.25rem; display: flex; justify-content: center; align-items: center; } #collection-1602 .cs-basket { width: 1.5rem; height: auto; } } /* Tablet - 768px */ @media only screen and (min-width: 48rem) { #collection-1602 .cs-content { flex-direction: row; justify-content: space-between; } #collection-1602 .cs-listing { grid-template-columns: repeat(3, 1fr); } #collection-1602 .cs-item { max-width: none; } #collection-1602 .cs-picture-group { /* 200px - 320px */ height: clamp(12.5rem, 23vw, 20rem); } } /* Dark Mode */ @media only screen and (min-width: 0rem) { body.dark-mode #collection-1602 .cs-title, body.dark-mode #collection-1602 .cs-button, body.dark-mode #collection-1602 .cs-category, body.dark-mode #collection-1602 .cs-was-price, body.dark-mode #collection-1602 .cs-name { color: var(--bodyTextColorWhite); } body.dark-mode #collection-1602 .cs-active { color: var(--primary); } body.dark-mode #collection-1602 .cs-category, body.dark-mode #collection-1602 .cs-was-price { opacity: 0.8; } body.dark-mode #collection-1602 .cs-item { background-color: var(--medium); border-color: var(--accent); } }
/*-- -------------------------- --> <--- Collection --> <--- -------------------------- -*/ /* Mobile - 360px */ @media only screen and (min-width: 0rem) { #collection-1602 { padding: var(--sectionPadding); .cs-container { width: 100%; max-width: (1280/16rem); margin: auto; display: flex; flex-direction: column; align-items: center; /* 48px - 64px */ gap: clamp(3rem, 6vw, 4rem); position: relative; z-index: 1; } .cs-content { text-align: center; width: 100%; display: flex; flex-direction: column; align-items: center; gap: (24/16rem); } .cs-title { margin: 0; } .cs-button-group { margin: 0; display: flex; justify-content: center; flex-wrap: wrap; /* 16px - 32px */ gap: clamp(1rem, 4vw, 2rem); } .cs-button { font-size: (16/16rem); font-weight: 700; line-height: 1.2em; text-transform: uppercase; padding: 0; color: var(--bodyTextColor); background-color: transparent; border: none; position: relative; transition: color 0.3s; &:before { content: ""; width: 0; height: 1px; background: var(--primary); display: block; position: absolute; bottom: 0; left: 0; transition: width 0.3s; } &:hover { color: var(--primary); cursor: pointer; &:before { width: 100%; } } &.cs-active { color: var(--primary); &:before { width: 100%; } } } .cs-listing-wrapper { width: 100%; position: relative; z-index: 1; } .cs-listing { width: 100%; margin: 0; padding: 0; display: grid; justify-items: center; grid-auto-flow: row; /* 16px - 20px */ gap: clamp(1rem, 1.5vw, 1.25rem); position: relative; transform-style: preserve-3d; perspective: 700px; transition: transform 0.7s, opacity 0.3s, visibility 0.5s, top 0.3s, left 0.3s; /* makes the transform scaling origin the top left corner, dictates the direction by which the scale transforms animate towards */ transform-origin: left top; &.cs-hidden { /* hidden galleries have a 0 opacity, and we animate the opacity to 1 when they become active */ opacity: 0; /* by using visibility:hidden instead of display:none, we can see the animations from the opacity and transforms, display:none won't render animations. */ visibility: hidden; position: absolute; position: absolute; /* this top and left value help control the animation, by setting it to position absolute and left 0, the gallery won't fly off screen to the left, it will stop its position to be at the left edge of the .cs-container (left: 0). Same for the top:0 value, the gallery won't go past that position when it animates */ top: 0; left: 0; /* prevents the hidden galleries from overflowing the section, and makes a nice animations to transition to and from */ transform: scaleY(0) scaleX(0); /* prevents the mouse from interacting with it */ pointer-events: none; .cs-image { opacity: 0; /* when gallery is hidden, add these styles to the cs-image to animate from when cs-hidden is removed from the .cs-gallery */ transform: translateY(2.1875rem) rotateX(90deg); } .cs-item { transform: rotateY(180deg); opacity: 0; } } } .cs-item { width: 100%; max-width: (375/16rem); /* overwrites the default 'min-width: auto' value, keeping all grid items the same width no matter what*/ min-width: 0; opacity: 1; padding: (16/16rem); border: 1px solid #e8e8e8; transform: rotateY(0); transition: transform 0.7s, opacity .3s; &:nth-of-type(1) { transition-delay: .1s; } &:nth-of-type(2) { transition-delay: .2s; } &:nth-of-type(3) { transition-delay: .3s; } &:nth-of-type(4) { transition-delay: .4s; } &:nth-of-type(5) { transition-delay: .5s; } &:nth-of-type(6) { transition-delay: .6s; } &:nth-of-type(7) { transition-delay: .7s; } &:nth-of-type(8) { transition-delay: .8s; } &:nth-of-type(9) { transition-delay: .1s; } &:nth-of-type(10) { transition-delay: .1s; } &:nth-of-type(11) { transition-delay: .1s; } &:nth-of-type(12) { transition-delay: .1s; } } .cs-link { text-decoration: none; &:hover { .cs-picture { img { transform: scale(1.1); } } } } .cs-picture-group { width: auto; height: (300/16rem); margin-bottom: (20/16rem); position: relative; } .cs-picture { width: 100%; height: 100%; background-color: #f6f6f6; overflow: hidden; display: block; img { width: 100%; height: 100%; /* using object-fit contain to keep the entirety of the product image in the frame */ /* feel free to change this to 'cover', or adjust the background-color above if you have consistent backgrounds on your products */ object-fit: contain; transition: transform .6s; } } .cs-offer { font-size: (13/16rem); font-weight: 700; line-height: 1.2em; text-transform: uppercase; letter-spacing: 1.3px; padding: (6/16rem); color: #fff; background: #ff4747; position: absolute; top: (12/16rem); right: (12/16rem); } .cs-category { font-size: (16/16rem); line-height: 1.5em; color: #767676; } .cs-name { /* 20px - 25px */ font-size: clamp(1.25rem, 1vw, 1.5625rem); font-weight: 700; line-height: 1.2em; text-overflow: ellipsis; white-space: nowrap; width: 100%; margin: 0; color: var(--headerColor); overflow: hidden; } .cs-actions { margin-top: (20/16rem); display: flex; justify-content: space-between; align-items: center; } .cs-price { font-size: (20/16rem); font-weight: 700; line-height: 1.2em; color: var(--secondary); } .cs-was-price { font-size: (16/16rem); font-weight: 700; line-height: 1.2em; text-decoration: line-through; color: #767676; } .cs-stars { margin-top: (4/16rem); display: flex; } .cs-star { width: (20/16rem); height: (20/16rem); } .cs-buy { max-height: (40/16rem); padding: (8/16rem); background: none; border: 2px solid var(--primary); border-radius: (4/16rem); display: flex; justify-content: center; align-items: center; } .cs-basket { width: (24/16rem); height: auto; } } } /* Tablet - 768px */ @media only screen and (min-width: 48rem) { #collection-1602 { .cs-content { flex-direction: row; justify-content: space-between; } .cs-listing { grid-template-columns: repeat(3, 1fr); } .cs-item { max-width: none; } .cs-picture-group { /* 200px - 320px */ height: clamp(12.5rem, 23vw, 20rem); } } }
/*-- -------------------------- --> <--- Collection --> <--- -------------------------- -*/ /* Mobile - 360px */ @media only screen and (min-width: 0rem) { #collection-1602 { padding: var(--sectionPadding); .cs-container { width: 100%; max-width: (1280/16rem); margin: auto; display: flex; flex-direction: column; align-items: center; /* 48px - 64px */ gap: clamp(3rem, 6vw, 4rem); position: relative; z-index: 1; } .cs-content { text-align: center; width: 100%; display: flex; flex-direction: column; align-items: center; gap: (24/16rem); } .cs-title { margin: 0; } .cs-button-group { margin: 0; display: flex; justify-content: center; flex-wrap: wrap; /* 16px - 32px */ gap: clamp(1rem, 4vw, 2rem); } .cs-button { font-size: (16/16rem); font-weight: 700; line-height: 1.2em; text-transform: uppercase; padding: 0; color: var(--bodyTextColor); background-color: transparent; border: none; position: relative; transition: color 0.3s; &:before { content: ""; width: 0; height: 1px; background: var(--primary); display: block; position: absolute; bottom: 0; left: 0; transition: width 0.3s; } &:hover { color: var(--primary); cursor: pointer; &:before { width: 100%; } } &.cs-active { color: var(--primary); &:before { width: 100%; } } } .cs-listing-wrapper { width: 100%; position: relative; z-index: 1; } .cs-listing { width: 100%; margin: 0; padding: 0; display: grid; justify-items: center; grid-auto-flow: row; /* 16px - 20px */ gap: clamp(1rem, 1.5vw, 1.25rem); position: relative; transform-style: preserve-3d; perspective: 700px; transition: transform 0.7s, opacity 0.3s, visibility 0.5s, top 0.3s, left 0.3s; /* makes the transform scaling origin the top left corner, dictates the direction by which the scale transforms animate towards */ transform-origin: left top; &.cs-hidden { /* hidden galleries have a 0 opacity, and we animate the opacity to 1 when they become active */ opacity: 0; /* by using visibility:hidden instead of display:none, we can see the animations from the opacity and transforms, display:none won't render animations. */ visibility: hidden; position: absolute; position: absolute; /* this top and left value help control the animation, by setting it to position absolute and left 0, the gallery won't fly off screen to the left, it will stop its position to be at the left edge of the .cs-container (left: 0). Same for the top:0 value, the gallery won't go past that position when it animates */ top: 0; left: 0; /* prevents the hidden galleries from overflowing the section, and makes a nice animations to transition to and from */ transform: scaleY(0) scaleX(0); /* prevents the mouse from interacting with it */ pointer-events: none; .cs-image { opacity: 0; /* when gallery is hidden, add these styles to the cs-image to animate from when cs-hidden is removed from the .cs-gallery */ transform: translateY(2.1875rem) rotateX(90deg); } .cs-item { transform: rotateY(180deg); opacity: 0; } } } .cs-item { width: 100%; max-width: (375/16rem); /* overwrites the default 'min-width: auto' value, keeping all grid items the same width no matter what*/ min-width: 0; opacity: 1; padding: (16/16rem); border: 1px solid #e8e8e8; transform: rotateY(0); transition: transform 0.7s, opacity .3s; &:nth-of-type(1) { transition-delay: .1s; } &:nth-of-type(2) { transition-delay: .2s; } &:nth-of-type(3) { transition-delay: .3s; } &:nth-of-type(4) { transition-delay: .4s; } &:nth-of-type(5) { transition-delay: .5s; } &:nth-of-type(6) { transition-delay: .6s; } &:nth-of-type(7) { transition-delay: .7s; } &:nth-of-type(8) { transition-delay: .8s; } &:nth-of-type(9) { transition-delay: .1s; } &:nth-of-type(10) { transition-delay: .1s; } &:nth-of-type(11) { transition-delay: .1s; } &:nth-of-type(12) { transition-delay: .1s; } } .cs-link { text-decoration: none; &:hover { .cs-picture { img { transform: scale(1.1); } } } } .cs-picture-group { width: auto; height: (300/16rem); margin-bottom: (20/16rem); position: relative; } .cs-picture { width: 100%; height: 100%; background-color: #f6f6f6; overflow: hidden; display: block; img { width: 100%; height: 100%; /* using object-fit contain to keep the entirety of the product image in the frame */ /* feel free to change this to 'cover', or adjust the background-color above if you have consistent backgrounds on your products */ object-fit: contain; transition: transform .6s; } } .cs-offer { font-size: (13/16rem); font-weight: 700; line-height: 1.2em; text-transform: uppercase; letter-spacing: 1.3px; padding: (6/16rem); color: #fff; background: #ff4747; position: absolute; top: (12/16rem); right: (12/16rem); } .cs-category { font-size: (16/16rem); line-height: 1.5em; color: #767676; } .cs-name { /* 20px - 25px */ font-size: clamp(1.25rem, 1vw, 1.5625rem); font-weight: 700; line-height: 1.2em; text-overflow: ellipsis; white-space: nowrap; width: 100%; margin: 0; color: var(--headerColor); overflow: hidden; } .cs-actions { margin-top: (20/16rem); display: flex; justify-content: space-between; align-items: center; } .cs-price { font-size: (20/16rem); font-weight: 700; line-height: 1.2em; color: var(--secondary); } .cs-was-price { font-size: (16/16rem); font-weight: 700; line-height: 1.2em; text-decoration: line-through; color: #767676; } .cs-stars { margin-top: (4/16rem); display: flex; } .cs-star { width: (20/16rem); height: (20/16rem); } .cs-buy { max-height: (40/16rem); padding: (8/16rem); background: none; border: 2px solid var(--primary); border-radius: (4/16rem); display: flex; justify-content: center; align-items: center; } .cs-basket { width: (24/16rem); height: auto; } } } /* Tablet - 768px */ @media only screen and (min-width: 48rem) { #collection-1602 { .cs-content { flex-direction: row; justify-content: space-between; } .cs-listing { grid-template-columns: repeat(3, 1fr); } .cs-item { max-width: none; } .cs-picture-group { /* 200px - 320px */ height: clamp(12.5rem, 23vw, 20rem); } } } /* Dark Mode */ @media only screen and (min-width: 0rem) { body.dark-mode { #collection-1602 { .cs-title, .cs-button, .cs-category, .cs-was-price, .cs-name { color: var(--bodyTextColorWhite); } .cs-active { color: var(--primary); } .cs-category, .cs-was-price { opacity: 0.8; } .cs-item { background-color: var(--medium); border-color: var(--accent); } } } }
/*-- -------------------------- --> <--- Collection --> <--- -------------------------- -*/ /* Mobile - 360px */ @media only screen and (min-width: 0rem) { #collection-1602 { padding: var(--sectionPadding); .cs-container { width: 100%; max-width: calc(1280/16 * 1rem); margin: auto; display: flex; flex-direction: column; align-items: center; /* 48px - 64px */ gap: clamp(3rem, 6vw, 4rem); position: relative; z-index: 1; } .cs-content { text-align: center; width: 100%; display: flex; flex-direction: column; align-items: center; gap: calc(24/16 * 1rem); } .cs-title { margin: 0; } .cs-button-group { margin: 0; display: flex; justify-content: center; flex-wrap: wrap; /* 16px - 32px */ gap: clamp(1rem, 4vw, 2rem); } .cs-button { font-size: calc(16/16 * 1rem); font-weight: 700; line-height: 1.2em; text-transform: uppercase; padding: 0; color: var(--bodyTextColor); background-color: transparent; border: none; position: relative; transition: color 0.3s; &:before { content: ""; width: 0; height: 1px; background: var(--primary); display: block; position: absolute; bottom: 0; left: 0; transition: width 0.3s; } &:hover { color: var(--primary); cursor: pointer; &:before { width: 100%; } } &.cs-active { color: var(--primary); &:before { width: 100%; } } } .cs-listing-wrapper { width: 100%; position: relative; z-index: 1; } .cs-listing { width: 100%; margin: 0; padding: 0; display: grid; justify-items: center; grid-auto-flow: row; /* 16px - 20px */ gap: clamp(1rem, 1.5vw, 1.25rem); position: relative; transform-style: preserve-3d; perspective: 700px; transition: transform 0.7s, opacity 0.3s, visibility 0.5s, top 0.3s, left 0.3s; /* makes the transform scaling origin the top left corner, dictates the direction by which the scale transforms animate towards */ transform-origin: left top; &.cs-hidden { /* hidden galleries have a 0 opacity, and we animate the opacity to 1 when they become active */ opacity: 0; /* by using visibility:hidden instead of display:none, we can see the animations from the opacity and transforms, display:none won't render animations. */ visibility: hidden; position: absolute; position: absolute; /* this top and left value help control the animation, by setting it to position absolute and left 0, the gallery won't fly off screen to the left, it will stop its position to be at the left edge of the .cs-container (left: 0). Same for the top:0 value, the gallery won't go past that position when it animates */ top: 0; left: 0; /* prevents the hidden galleries from overflowing the section, and makes a nice animations to transition to and from */ transform: scaleY(0) scaleX(0); /* prevents the mouse from interacting with it */ pointer-events: none; .cs-image { opacity: 0; /* when gallery is hidden, add these styles to the cs-image to animate from when cs-hidden is removed from the .cs-gallery */ transform: translateY(2.1875rem) rotateX(90deg); } .cs-item { transform: rotateY(180deg); opacity: 0; } } } .cs-item { width: 100%; max-width: calc(375/16 * 1rem); /* overwrites the default 'min-width: auto' value, keeping all grid items the same width no matter what*/ min-width: 0; opacity: 1; padding: calc(16/16 * 1rem); border: 1px solid #e8e8e8; transform: rotateY(0); transition: transform 0.7s, opacity .3s; &:nth-of-type(1) { transition-delay: .1s; } &:nth-of-type(2) { transition-delay: .2s; } &:nth-of-type(3) { transition-delay: .3s; } &:nth-of-type(4) { transition-delay: .4s; } &:nth-of-type(5) { transition-delay: .5s; } &:nth-of-type(6) { transition-delay: .6s; } &:nth-of-type(7) { transition-delay: .7s; } &:nth-of-type(8) { transition-delay: .8s; } &:nth-of-type(9) { transition-delay: .1s; } &:nth-of-type(10) { transition-delay: .1s; } &:nth-of-type(11) { transition-delay: .1s; } &:nth-of-type(12) { transition-delay: .1s; } } .cs-link { text-decoration: none; &:hover { .cs-picture { img { transform: scale(1.1); } } } } .cs-picture-group { width: auto; height: calc(300/16 * 1rem); margin-bottom: calc(20/16 * 1rem); position: relative; } .cs-picture { width: 100%; height: 100%; background-color: #f6f6f6; overflow: hidden; display: block; img { width: 100%; height: 100%; /* using object-fit contain to keep the entirety of the product image in the frame */ /* feel free to change this to 'cover', or adjust the background-color above if you have consistent backgrounds on your products */ object-fit: contain; transition: transform .6s; } } .cs-offer { font-size: calc(13/16 * 1rem); font-weight: 700; line-height: 1.2em; text-transform: uppercase; letter-spacing: 1.3px; padding: calc(6/16 * 1rem); color: #fff; background: #ff4747; position: absolute; top: calc(12/16 * 1rem); right: calc(12/16 * 1rem); } .cs-category { font-size: calc(16/16 * 1rem); line-height: 1.5em; color: #767676; } .cs-name { /* 20px - 25px */ font-size: clamp(1.25rem, 1vw, 1.5625rem); font-weight: 700; line-height: 1.2em; text-overflow: ellipsis; white-space: nowrap; width: 100%; margin: 0; color: var(--headerColor); overflow: hidden; } .cs-actions { margin-top: calc(20/16 * 1rem); display: flex; justify-content: space-between; align-items: center; } .cs-price { font-size: calc(20/16 * 1rem); font-weight: 700; line-height: 1.2em; color: var(--secondary); } .cs-was-price { font-size: calc(16/16 * 1rem); font-weight: 700; line-height: 1.2em; text-decoration: line-through; color: #767676; } .cs-stars { margin-top: calc(4/16 * 1rem); display: flex; } .cs-star { width: calc(20/16 * 1rem); height: calc(20/16 * 1rem); } .cs-buy { max-height: calc(40/16 * 1rem); padding: calc(8/16 * 1rem); background: none; border: 2px solid var(--primary); border-radius: calc(4/16 * 1rem); display: flex; justify-content: center; align-items: center; } .cs-basket { width: calc(24/16 * 1rem); height: auto; } } } /* Tablet - 768px */ @media only screen and (min-width: 48rem) { #collection-1602 { .cs-content { flex-direction: row; justify-content: space-between; } .cs-listing { grid-template-columns: repeat(3, 1fr); } .cs-item { max-width: none; } .cs-picture-group { /* 200px - 320px */ height: clamp(12.5rem, 23vw, 20rem); } } }
/*-- -------------------------- --> <--- Collection --> <--- -------------------------- -*/ /* Mobile - 360px */ @media only screen and (min-width: 0rem) { #collection-1602 { padding: var(--sectionPadding); .cs-container { width: 100%; max-width: calc(1280/16 * 1rem); margin: auto; display: flex; flex-direction: column; align-items: center; /* 48px - 64px */ gap: clamp(3rem, 6vw, 4rem); position: relative; z-index: 1; } .cs-content { text-align: center; width: 100%; display: flex; flex-direction: column; align-items: center; gap: calc(24/16 * 1rem); } .cs-title { margin: 0; } .cs-button-group { margin: 0; display: flex; justify-content: center; flex-wrap: wrap; /* 16px - 32px */ gap: clamp(1rem, 4vw, 2rem); } .cs-button { font-size: calc(16/16 * 1rem); font-weight: 700; line-height: 1.2em; text-transform: uppercase; padding: 0; color: var(--bodyTextColor); background-color: transparent; border: none; position: relative; transition: color 0.3s; &:before { content: ""; width: 0; height: 1px; background: var(--primary); display: block; position: absolute; bottom: 0; left: 0; transition: width 0.3s; } &:hover { color: var(--primary); cursor: pointer; &:before { width: 100%; } } &.cs-active { color: var(--primary); &:before { width: 100%; } } } .cs-listing-wrapper { width: 100%; position: relative; z-index: 1; } .cs-listing { width: 100%; margin: 0; padding: 0; display: grid; justify-items: center; grid-auto-flow: row; /* 16px - 20px */ gap: clamp(1rem, 1.5vw, 1.25rem); position: relative; transform-style: preserve-3d; perspective: 700px; transition: transform 0.7s, opacity 0.3s, visibility 0.5s, top 0.3s, left 0.3s; /* makes the transform scaling origin the top left corner, dictates the direction by which the scale transforms animate towards */ transform-origin: left top; &.cs-hidden { /* hidden galleries have a 0 opacity, and we animate the opacity to 1 when they become active */ opacity: 0; /* by using visibility:hidden instead of display:none, we can see the animations from the opacity and transforms, display:none won't render animations. */ visibility: hidden; position: absolute; position: absolute; /* this top and left value help control the animation, by setting it to position absolute and left 0, the gallery won't fly off screen to the left, it will stop its position to be at the left edge of the .cs-container (left: 0). Same for the top:0 value, the gallery won't go past that position when it animates */ top: 0; left: 0; /* prevents the hidden galleries from overflowing the section, and makes a nice animations to transition to and from */ transform: scaleY(0) scaleX(0); /* prevents the mouse from interacting with it */ pointer-events: none; .cs-image { opacity: 0; /* when gallery is hidden, add these styles to the cs-image to animate from when cs-hidden is removed from the .cs-gallery */ transform: translateY(2.1875rem) rotateX(90deg); } .cs-item { transform: rotateY(180deg); opacity: 0; } } } .cs-item { width: 100%; max-width: calc(375/16 * 1rem); /* overwrites the default 'min-width: auto' value, keeping all grid items the same width no matter what*/ min-width: 0; opacity: 1; padding: calc(16/16 * 1rem); border: 1px solid #e8e8e8; transform: rotateY(0); transition: transform 0.7s, opacity .3s; &:nth-of-type(1) { transition-delay: .1s; } &:nth-of-type(2) { transition-delay: .2s; } &:nth-of-type(3) { transition-delay: .3s; } &:nth-of-type(4) { transition-delay: .4s; } &:nth-of-type(5) { transition-delay: .5s; } &:nth-of-type(6) { transition-delay: .6s; } &:nth-of-type(7) { transition-delay: .7s; } &:nth-of-type(8) { transition-delay: .8s; } &:nth-of-type(9) { transition-delay: .1s; } &:nth-of-type(10) { transition-delay: .1s; } &:nth-of-type(11) { transition-delay: .1s; } &:nth-of-type(12) { transition-delay: .1s; } } .cs-link { text-decoration: none; &:hover { .cs-picture { img { transform: scale(1.1); } } } } .cs-picture-group { width: auto; height: calc(300/16 * 1rem); margin-bottom: calc(20/16 * 1rem); position: relative; } .cs-picture { width: 100%; height: 100%; background-color: #f6f6f6; overflow: hidden; display: block; img { width: 100%; height: 100%; /* using object-fit contain to keep the entirety of the product image in the frame */ /* feel free to change this to 'cover', or adjust the background-color above if you have consistent backgrounds on your products */ object-fit: contain; transition: transform .6s; } } .cs-offer { font-size: calc(13/16 * 1rem); font-weight: 700; line-height: 1.2em; text-transform: uppercase; letter-spacing: 1.3px; padding: calc(6/16 * 1rem); color: #fff; background: #ff4747; position: absolute; top: calc(12/16 * 1rem); right: calc(12/16 * 1rem); } .cs-category { font-size: calc(16/16 * 1rem); line-height: 1.5em; color: #767676; } .cs-name { /* 20px - 25px */ font-size: clamp(1.25rem, 1vw, 1.5625rem); font-weight: 700; line-height: 1.2em; text-overflow: ellipsis; white-space: nowrap; width: 100%; margin: 0; color: var(--headerColor); overflow: hidden; } .cs-actions { margin-top: calc(20/16 * 1rem); display: flex; justify-content: space-between; align-items: center; } .cs-price { font-size: calc(20/16 * 1rem); font-weight: 700; line-height: 1.2em; color: var(--secondary); } .cs-was-price { font-size: calc(16/16 * 1rem); font-weight: 700; line-height: 1.2em; text-decoration: line-through; color: #767676; } .cs-stars { margin-top: calc(4/16 * 1rem); display: flex; } .cs-star { width: calc(20/16 * 1rem); height: calc(20/16 * 1rem); } .cs-buy { max-height: calc(40/16 * 1rem); padding: calc(8/16 * 1rem); background: none; border: 2px solid var(--primary); border-radius: calc(4/16 * 1rem); display: flex; justify-content: center; align-items: center; } .cs-basket { width: calc(24/16 * 1rem); height: auto; } } } /* Tablet - 768px */ @media only screen and (min-width: 48rem) { #collection-1602 { .cs-content { flex-direction: row; justify-content: space-between; } .cs-listing { grid-template-columns: repeat(3, 1fr); } .cs-item { max-width: none; } .cs-picture-group { /* 200px - 320px */ height: clamp(12.5rem, 23vw, 20rem); } } } /* Dark Mode */ @media only screen and (min-width: 0rem) { body.dark-mode { #collection-1602 { .cs-title, .cs-button, .cs-category, .cs-was-price, .cs-name { color: var(--bodyTextColorWhite); } .cs-active { color: var(--primary); } .cs-category, .cs-was-price { opacity: 0.8; } .cs-item { background-color: var(--medium); border-color: var(--accent); } } } }
:root { /* Add these styles to your global stylesheet, which is used across all site pages. You only need to do this once. All elements in the library derive their variables and base styles from this central sheet, simplifying site-wide edits. For instance, if you want to modify how your h2's appear across the site, you just update it once in the global styles, and the changes apply everywhere. */ --primary: #ff6a3e; --primaryLight: #ffba43; --secondary: #ffba43; --secondaryLight: #ffba43; --headerColor: #1a1a1a; --bodyTextColor: #4e4b66; --bodyTextColorWhite: #fafbfc; /* 13px - 16px */ --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem); /* 31px - 49px */ --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem); --bodyFontSize: 1rem; /* 60px - 100px top and bottom */ --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem; } body { margin: 0; padding: 0; } *, *:before, *:after { /* prevents padding from affecting height and width */ box-sizing: border-box; } .cs-topper { font-size: var(--topperFontSize); line-height: 1.2em; text-transform: uppercase; text-align: inherit; letter-spacing: .1em; font-weight: 700; color: var(--primary); margin-bottom: 0.25rem; display: block; } .cs-title { font-size: var(--headerFontSize); font-weight: 900; line-height: 1.2em; text-align: inherit; max-width: 43.75rem; margin: 0 0 1rem 0; color: var(--headerColor); position: relative; } .cs-text { font-size: var(--bodyFontSize); line-height: 1.5em; text-align: inherit; width: 100%; max-width: 40.625rem; margin: 0; color: var(--bodyTextColor); }
:root { /* Add these styles to your global stylesheet, which is used across all site pages. You only need to do this once. All elements in the library derive their variables and base styles from this central sheet, simplifying site-wide edits. For instance, if you want to modify how your h2's appear across the site, you just update it once in the global styles, and the changes apply everywhere. */ --primary: #ff6a3e; --primaryLight: #ffba43; --secondary: #ffba43; --secondaryLight: #ffba43; --headerColor: #1a1a1a; --bodyTextColor: #4e4b66; --bodyTextColorWhite: #fafbfc; /* 13px - 16px */ --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem); /* 31px - 49px */ --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem); --bodyFontSize: 1rem; /* 60px - 100px top and bottom */ --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem; } body { margin: 0; padding: 0; } *, *:before, *:after { /* prevents padding from affecting height and width */ box-sizing: border-box; } .cs-topper { font-size: var(--topperFontSize); line-height: 1.2em; text-transform: uppercase; text-align: inherit; letter-spacing: .1em; font-weight: 700; color: var(--primary); margin-bottom: (4/16rem); display: block; } .cs-title { font-size: var(--headerFontSize); font-weight: 900; line-height: 1.2em; text-align: inherit; max-width: (700/16rem); margin: 0 0 (16/16rem) 0; color: var(--headerColor); position: relative; } .cs-text { font-size: var(--bodyFontSize); line-height: 1.5em; text-align: inherit; width: 100%; max-width: (650/16rem); margin: 0; color: var(--bodyTextColor); }
:root { /* Add these styles to your global stylesheet, which is used across all site pages. You only need to do this once. All elements in the library derive their variables and base styles from this central sheet, simplifying site-wide edits. For instance, if you want to modify how your h2's appear across the site, you just update it once in the global styles, and the changes apply everywhere. */ --primary: #ff6a3e; --primaryLight: #ffba43; --secondary: #ffba43; --secondaryLight: #ffba43; --headerColor: #1a1a1a; --bodyTextColor: #4e4b66; --bodyTextColorWhite: #fafbfc; /* 13px - 16px */ --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem); /* 31px - 49px */ --headerFontSize: clamp(1.9375rem, 3.9vw, 3.0625rem); --bodyFontSize: 1rem; /* 60px - 100px top and bottom */ --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem; } body { margin: 0; padding: 0; } *, *:before, *:after { /* prevents padding from affecting height and width */ box-sizing: border-box; } .cs-topper { font-size: var(--topperFontSize); line-height: 1.2em; text-transform: uppercase; text-align: inherit; letter-spacing: .1em; font-weight: 700; color: var(--primary); margin-bottom: calc(4 / 16 * 1rem); display: block; } .cs-title { font-size: var(--headerFontSize); font-weight: 900; line-height: 1.2em; text-align: inherit; max-width: calc(700 / 16 * 1rem); margin: 0 0 calc(16 / 16 * 1rem) 0; color: var(--headerColor); position: relative; } .cs-text { font-size: var(--bodyFontSize); line-height: 1.5em; text-align: inherit; width: 100%; max-width: calc(650 / 16 * 1rem); margin: 0; color: var(--bodyTextColor); }
Lorem Ipsum
Undo