HTML Select text to copy Wrap lines
<! DOCTYPE html >
< html lang = "en" data-theme = "auto" data-palette = "default" data-material = "solid" data-shape = "rounded" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
< title >Still · RevaCSS shop demo</ title >
< script id = "reva-settings-schema" type = "application/json" >{"kind":"demo","values":{"theme":["auto","light","dark"],"palette":["default","mono","sand","ocean","cobalt","citrus","violet","forest"],"material":["solid","glass","veil","soft"],"shape":["square","subtle","rounded","pill"],"motion":["none","subtle","expressive"],"edge":["plain","gradient","shine","animated"],"density":["compact","comfortable","spacious"],"depth":["flat","subtle","pronounced"],"fill":["gradient","solid"],"type":["compact","standard","large"],"size":["small","medium","large"],"border":["subtle","defined","none"],"width":["narrow","standard","wide"],"navbar":["standard","centered","floating","split"],"contrast":["auto","more"]}}</ script >
< script id = "reva-settings-runtime" src = "/RevaCSS/settings.js?v=f9ab880ccb15b9eb488ca65ef2ad687a4870aa28" >
</ script >
< meta name = "description" content = "A fictional shop with considered objects, built with native HTML and RevaCSS." >
< link rel = "stylesheet" href = "https://eristavi.github.io/RevaCSS/reva/reva-fonts.css" >
< link rel = "stylesheet" href = "https://eristavi.github.io/RevaCSS/reva/reva.css" >
< link rel = "stylesheet" href = "https://eristavi.github.io/RevaCSS/reva/reva.motion.css" >
< link rel = "stylesheet" href = "https://eristavi.github.io/RevaCSS/reva/reva.selects.css" >
< link rel = "stylesheet" href = "https://eristavi.github.io/RevaCSS/reva/reva.glass.css" >
< link rel = "stylesheet" href = "https://eristavi.github.io/RevaCSS/reva/reva.veil.css" >
< link rel = "stylesheet" href = "https://eristavi.github.io/RevaCSS/reva/reva.soft.css" >
< link rel = "stylesheet" href = "https://eristavi.github.io/RevaCSS/demos/shop.css" >
</ head >
< body class = "shop-site" >
< a class = "skip-link" href = "#shop-title" >Skip to content</ a >
< header class = "container" >
< nav class = "top-menu" aria-label = "Still shop navigation" style = "--re-menu-anchor: --still-navigation" >
< a class = "menu-brand" href = "https://eristavi.github.io/RevaCSS/demos/shop/source.html" >still.</ a >
< ul class = "menu-items menu-desktop" >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source.html" aria-current = "page" >Shop</ a >
</ li >
< li class = "menu-dropdown" style = "--re-menu-branch-anchor: --still-desktop-collection-anchor" >
< button type = "button" class = "menu-toggle" popovertarget = "still-desktop-collection" >Collections</ button >
< ul class = "menu-panel" id = "still-desktop-collection" popover = "auto" >
< li class = "menu-back" >
< button type = "button" class = "menu-toggle" popovertarget = "still-desktop-collection" popovertargetaction = "hide" >Back to main menu</ button >
</ li >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/category-lighting.html" >Lighting</ a >
</ li >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/category-furniture.html" >Furniture</ a >
</ li >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/category-accessories.html" >Accessories</ a >
</ li >
</ ul >
</ li >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source.html#shop-story" >Our story</ a >
</ li >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/bag.html" >Bag</ a >
</ li >
</ ul >
< button type = "button" class = "menu-toggle menu-collapse" popovertarget = "still-mobile-menu" aria-label = "Menu" >
< svg class = "icon" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "1.75" stroke-linecap = "round" stroke-linejoin = "round" aria-hidden = "true" >
< path d = "M4 6h16M4 12h16M4 18h16" />
</ svg >
</ button >
< ul class = "menu-items menu-mobile" id = "still-mobile-menu" popover = "auto" >
< li class = "menu-back" >
< button type = "button" class = "menu-toggle" popovertarget = "still-mobile-menu" popovertargetaction = "hide" >Close menu</ button >
</ li >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source.html" aria-current = "page" >Shop</ a >
</ li >
< li class = "menu-dropdown" >
< button type = "button" class = "menu-toggle" popovertarget = "still-mobile-collection" >Collections</ button >
< ul class = "menu-panel" id = "still-mobile-collection" popover = "auto" >
< li class = "menu-back" >
< button type = "button" class = "menu-toggle" popovertarget = "still-mobile-collection" popovertargetaction = "hide" >Back to main menu</ button >
</ li >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/category-lighting.html" >Lighting</ a >
</ li >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/category-furniture.html" >Furniture</ a >
</ li >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/category-accessories.html" >Accessories</ a >
</ li >
</ ul >
</ li >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source.html#shop-story" >Our story</ a >
</ li >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/bag.html" >Bag</ a >
</ li >
</ ul >
</ nav >
</ header >
< main class = "container" aria-label = "Still shop" >
< nav class = "breadcrumbs" aria-label = "Breadcrumb" >
< ol >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source.html" >Shop</ a >
</ li >
< li >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/category-accessories.html" >Accessories</ a >
</ li >
< li >
< span aria-current = "page" >Studio notebook</ span >
</ li >
</ ol >
</ nav >
< article class = "shop-feature" aria-labelledby = "shop-title" >
< div class = "tabs shop-gallery" role = "group" aria-label = "Studio notebook product views" >
< label >
< input type = "radio" name = "gallery-studio-notebook" value = "overview" checked aria-controls = "gallery-studio-notebook-overview" >
< svg class = "shop-art" viewBox = "0 0 400 320" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" >
< rect width = "400" height = "320" rx = "12" fill = "var(--re-surface-alt)" >
</ rect >
< ellipse cx = "205" cy = "270" rx = "112" ry = "12" fill = "#000" opacity = ".07" />
< path d = "m117 63 158 15 16 177-168-17Z" fill = "#7b8b7c" />
< path d = "m123 238 168 17-3 9-168-17Z" fill = "#e8e0cb" />
< path d = "m129 74 12 149" stroke = "#647467" stroke-width = "4" />
< path d = "m160 113 75 7m-72 9 57 6" stroke = "#d2d5c6" stroke-width = "2" />
</ svg >
< span >Overview</ span >
</ label >
< figure class = "tab-panel" id = "gallery-studio-notebook-overview" >
< svg class = "shop-art" viewBox = "0 0 400 320" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" >
< rect width = "400" height = "320" rx = "12" fill = "var(--re-surface-alt)" >
</ rect >
< ellipse cx = "205" cy = "270" rx = "112" ry = "12" fill = "#000" opacity = ".07" />
< path d = "m117 63 158 15 16 177-168-17Z" fill = "#7b8b7c" />
< path d = "m123 238 168 17-3 9-168-17Z" fill = "#e8e0cb" />
< path d = "m129 74 12 149" stroke = "#647467" stroke-width = "4" />
< path d = "m160 113 75 7m-72 9 57 6" stroke = "#d2d5c6" stroke-width = "2" />
</ svg >
< figcaption >Studio notebook</ figcaption >
</ figure >
< label >
< input type = "radio" name = "gallery-studio-notebook" value = "detail" aria-controls = "gallery-studio-notebook-detail" >
< svg class = "shop-art" viewBox = "100 65 200 160" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" >
< rect width = "400" height = "320" rx = "12" fill = "var(--re-surface-alt)" >
</ rect >
< ellipse cx = "205" cy = "270" rx = "112" ry = "12" fill = "#000" opacity = ".07" />
< path d = "m117 63 158 15 16 177-168-17Z" fill = "#7b8b7c" />
< path d = "m123 238 168 17-3 9-168-17Z" fill = "#e8e0cb" />
< path d = "m129 74 12 149" stroke = "#647467" stroke-width = "4" />
< path d = "m160 113 75 7m-72 9 57 6" stroke = "#d2d5c6" stroke-width = "2" />
</ svg >
< span >Detail</ span >
</ label >
< figure class = "tab-panel" id = "gallery-studio-notebook-detail" >
< svg class = "shop-art" viewBox = "100 65 200 160" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" >
< rect width = "400" height = "320" rx = "12" fill = "var(--re-surface-alt)" >
</ rect >
< ellipse cx = "205" cy = "270" rx = "112" ry = "12" fill = "#000" opacity = ".07" />
< path d = "m117 63 158 15 16 177-168-17Z" fill = "#7b8b7c" />
< path d = "m123 238 168 17-3 9-168-17Z" fill = "#e8e0cb" />
< path d = "m129 74 12 149" stroke = "#647467" stroke-width = "4" />
< path d = "m160 113 75 7m-72 9 57 6" stroke = "#d2d5c6" stroke-width = "2" />
</ svg >
< figcaption >Linen cover and recycled paper</ figcaption >
</ figure >
< label >
< input type = "radio" name = "gallery-studio-notebook" value = "dimensions" aria-controls = "gallery-studio-notebook-dimensions" >
< svg class = "shop-art" viewBox = "0 0 400 320" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" >
< rect width = "400" height = "320" rx = "12" fill = "var(--re-surface-alt)" >
</ rect >
< ellipse cx = "205" cy = "270" rx = "112" ry = "12" fill = "#000" opacity = ".07" />
< path d = "m117 63 158 15 16 177-168-17Z" fill = "#7b8b7c" />
< path d = "m123 238 168 17-3 9-168-17Z" fill = "#e8e0cb" />
< path d = "m129 74 12 149" stroke = "#647467" stroke-width = "4" />
< path d = "m160 113 75 7m-72 9 57 6" stroke = "#d2d5c6" stroke-width = "2" />
< g fill = "none" stroke = "var(--re-text)" stroke-width = "1.5" opacity = ".65" >
< path d = "M65 291h270m-264-5-6 5 6 5m258-10 6 5-6 5M355 50v217m-5-211 5-6 5 6m-10 205 5 6 5-6" >
</ path >
</ g >
</ svg >
< span >Dimensions</ span >
</ label >
< figure class = "tab-panel" id = "gallery-studio-notebook-dimensions" >
< svg class = "shop-art" viewBox = "0 0 400 320" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" >
< rect width = "400" height = "320" rx = "12" fill = "var(--re-surface-alt)" >
</ rect >
< ellipse cx = "205" cy = "270" rx = "112" ry = "12" fill = "#000" opacity = ".07" />
< path d = "m117 63 158 15 16 177-168-17Z" fill = "#7b8b7c" />
< path d = "m123 238 168 17-3 9-168-17Z" fill = "#e8e0cb" />
< path d = "m129 74 12 149" stroke = "#647467" stroke-width = "4" />
< path d = "m160 113 75 7m-72 9 57 6" stroke = "#d2d5c6" stroke-width = "2" />
< g fill = "none" stroke = "var(--re-text)" stroke-width = "1.5" opacity = ".65" >
< path d = "M65 291h270m-264-5-6 5 6 5m258-10 6 5-6 5M355 50v217m-5-211 5-6 5 6m-10 205 5 6 5-6" >
</ path >
</ g >
</ svg >
< figcaption >A5 · 160 plain pages</ figcaption >
</ figure >
</ div >
< div >
< p class = "shop-kicker" >OBJECTS WITH PURPOSE</ p >
< h1 id = "shop-title" >Studio notebook</ h1 >
< p class = "shop-price" >€24.00</ p >
< p >
< span class = "rating" role = "img" aria-label = "4 out of 5 stars" >★★★★☆</ span >
< small >4 out of 5</ small >
</ p >
< p >Space for the ideas that arrive between everything else. A linen cover, generous blank pages and a binding that opens flat.</ p >
< p >
< span class = "badge" data-variant = "success" >In stock</ span >
</ p >
< dl >
< dt >Material</ dt >
< dd >Linen cover and recycled paper</ dd >
< dt >Dimensions</ dt >
< dd >A5 · 160 plain pages</ dd >
</ dl >
< a class = "button" href = "https://eristavi.github.io/RevaCSS/demos/shop/source/bag.html" >View bag < span aria-hidden = "true" >↗</ span >
</ a >
< details >
< summary >Care instructions</ summary >
< p >Keep dry. Made for sketches, plans and everyday notes.</ p >
</ details >
</ div >
</ article >
< section aria-labelledby = "shop-related" >
< h2 id = "shop-related" >Good things, together.</ h2 >
</ section >
< section class = "shop-products" id = "shop-products" aria-label = "Related products" >
< article class = "card" >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/product-arc-lamp.html" aria-label = "View Arc table lamp" >
< svg class = "shop-art" viewBox = "0 0 400 320" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" >
< rect width = "400" height = "320" rx = "12" fill = "var(--re-surface-alt)" >
</ rect >
< ellipse cx = "200" cy = "271" rx = "100" ry = "13" fill = "#000" opacity = ".07" />
< path d = "M190 126v130" stroke = "#756556" stroke-width = "13" />
< ellipse cx = "190" cy = "259" rx = "60" ry = "13" fill = "#756556" />
< path d = "M113 137q15-91 77-91t77 91Z" fill = "#ccb89b" />
< path d = "M122 137h137" stroke = "#f1e6d3" stroke-width = "7" />
</ svg >
</ a >
< div class = "row justify-between" >
< p class = "shop-kicker" >Lighting</ p >
< span class = "badge" >Bestseller</ span >
</ div >
< h2 >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/product-arc-lamp.html" >Arc table lamp</ a >
</ h2 >
< p >€89.00</ p >
</ article >
< article class = "card" >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/product-fold-chair.html" aria-label = "View Fold lounge chair" >
< svg class = "shop-art" viewBox = "0 0 400 320" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" >
< rect width = "400" height = "320" rx = "12" fill = "var(--re-surface-alt)" >
</ rect >
< ellipse cx = "204" cy = "273" rx = "127" ry = "14" fill = "#000" opacity = ".07" />
< path d = "m102 259 25-124m151 124-17-99M124 182l-19 81m155-94 32 94" stroke = "#9d7957" stroke-width = "13" stroke-linecap = "round" />
< path d = "m123 161 32-97 138 30-29 97Z" fill = "#c4b6a0" />
< path d = "m112 181 37-33 134 25-26 38Z" fill = "#d9cdb9" />
< path d = "m118 182 142 24" stroke = "#9d7957" stroke-width = "10" />
</ svg >
</ a >
< div class = "row justify-between" >
< p class = "shop-kicker" >Furniture</ p >
< span class = "badge" >New arrival</ span >
</ div >
< h2 >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/product-fold-chair.html" >Fold lounge chair</ a >
</ h2 >
< p >€240.00</ p >
</ article >
< article class = "card" >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/product-everyday-cup.html" aria-label = "View Everyday cup" >
< svg class = "shop-art" viewBox = "0 0 400 320" xmlns = "http://www.w3.org/2000/svg" aria-hidden = "true" >
< rect width = "400" height = "320" rx = "12" fill = "var(--re-surface-alt)" >
</ rect >
< ellipse cx = "195" cy = "266" rx = "91" ry = "13" fill = "#000" opacity = ".07" />
< path d = "M251 119c91-26 85 111-4 92" fill = "none" stroke = "#b18b70" stroke-width = "19" />
< path d = "M118 109h143l-9 125q-62 44-125 0Z" fill = "#ceb29a" />
< ellipse cx = "190" cy = "109" rx = "72" ry = "17" fill = "#a88268" />
< ellipse cx = "190" cy = "111" rx = "58" ry = "10" fill = "#745b49" />
< path d = "m136 135 5 83" stroke = "#e6d0b8" stroke-width = "8" stroke-linecap = "round" />
</ svg >
</ a >
< div class = "row justify-between" >
< p class = "shop-kicker" >Accessories</ p >
</ div >
< h2 >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source/product-everyday-cup.html" >Everyday cup</ a >
</ h2 >
< p >€18.00</ p >
</ article >
</ section >
< section class = "shop-story" id = "shop-story" aria-labelledby = "shop-story-title" >
< p class = "shop-kicker" >THE STILL APPROACH</ p >
< h2 id = "shop-story-title" >Keep what matters.</ h2 >
< p >We believe the things you use every day deserve a little more thought. Familiar materials, useful shapes, and details that make you want to keep them.</ p >
< div class = "grid" >
< article >
< h3 >Honest materials</ h3 >
< p >Natural textures and carefully chosen finishes.</ p >
</ article >
< article >
< h3 >A considered collection</ h3 >
< p >Fewer objects, with more room for each one.</ p >
</ article >
< article >
< h3 >Made for everyday</ h3 >
< p >Useful pieces that belong in your daily rituals.</ p >
</ article >
</ div >
</ section >
< section aria-label = "Shop information" >
< details >
< summary >Delivery and returns</ summary >
< p >This fictional collection illustrates a store with €8 delivery and returns within 30 days. No orders or payments are processed.</ p >
</ details >
</ section >
</ main >
< footer class = "container row justify-between" >
< strong >still.</ strong >
< small >Objects for everyday · Fictional shop demonstration</ small >
< a href = "https://eristavi.github.io/RevaCSS/demos/shop/source.html" >Back to the collection</ a >
</ footer >
</ body >
</ html >