<div class="app">
<header class="app-header">
<button class="app-header-btn app-header-btn--active">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<line x1="40" y1="128" x2="216" y2="128" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
<line x1="40" y1="64" x2="216" y2="64" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
<line x1="40" y1="192" x2="216" y2="192" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
</svg>
</button>
<button class="app-header-btn app-header-btn--notification">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<line x1="96" y1="224" x2="160" y2="224" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
<path d="M56.20305,104A71.899,71.899,0,0,1,128.5484,32.002c39.58967.29432,71.25651,33.20133,71.25651,72.90185V112c0,35.81563,7.49325,56.59893,14.093,67.95814A7.999,7.999,0,0,1,207.01628,192H48.98365A7.99908,7.99908,0,0,1,42.103,179.95641c6.60328-11.35959,14.1-32.1426,14.1-67.95641Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path>
</svg>
</button>
</header>
<main class="app-body">
<section class="section">
<div class="section-header">
<h2 class="section-title">Bestsellers</h2>
<span class="section-icon">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<line x1="40" y1="128" x2="216" y2="128" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
<polyline points="144 56 216 128 144 200" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></polyline>
</svg>
</span>
</div>
<ul class="product-list">
<li class="product-list-item">
<article class="product">
<div class="product-image">
<img src="https://assets.codepen.io/285131/ps5-controller.png" />
</div>
<div class="product-content">
<h3 class="product-title">Playstation Controller</h3>
<div class="product-rating">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M239.166,97.41117A16.37036,16.37036,0,0,0,224.63477,86.044l-59.39063-4.15625L143.21289,26.41117A16.33117,16.33117,0,0,0,127.99414,15.9971h-.01562A16.324,16.324,0,0,0,112.791,26.41117L90.43164,82.208,31.36914,86.044A16.37036,16.37036,0,0,0,16.83789,97.41117a16.68222,16.68222,0,0,0,5.15625,18.0625l45.4375,38.40625L53.916,207.044a18.37492,18.37492,0,0,0,7.01562,19.51562,17.83088,17.83088,0,0,0,20.0625.625l46.875-29.69531c.0625-.04687.125-.07812.26563,0l50.4375,31.95313a16.14026,16.14026,0,0,0,18.20312-.5625,16.64744,16.64744,0,0,0,6.35938-17.67969L188.77539,153.1221l45.23438-37.64843A16.68222,16.68222,0,0,0,239.166,97.41117Z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M239.166,97.41117A16.37036,16.37036,0,0,0,224.63477,86.044l-59.39063-4.15625L143.21289,26.41117A16.33117,16.33117,0,0,0,127.99414,15.9971h-.01562A16.324,16.324,0,0,0,112.791,26.41117L90.43164,82.208,31.36914,86.044A16.37036,16.37036,0,0,0,16.83789,97.41117a16.68222,16.68222,0,0,0,5.15625,18.0625l45.4375,38.40625L53.916,207.044a18.37492,18.37492,0,0,0,7.01562,19.51562,17.83088,17.83088,0,0,0,20.0625.625l46.875-29.69531c.0625-.04687.125-.07812.26563,0l50.4375,31.95313a16.14026,16.14026,0,0,0,18.20312-.5625,16.64744,16.64744,0,0,0,6.35938-17.67969L188.77539,153.1221l45.23438-37.64843A16.68222,16.68222,0,0,0,239.166,97.41117Z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M239.166,97.41117A16.37036,16.37036,0,0,0,224.63477,86.044l-59.39063-4.15625L143.21289,26.41117A16.33117,16.33117,0,0,0,127.99414,15.9971h-.01562A16.324,16.324,0,0,0,112.791,26.41117L90.43164,82.208,31.36914,86.044A16.37036,16.37036,0,0,0,16.83789,97.41117a16.68222,16.68222,0,0,0,5.15625,18.0625l45.4375,38.40625L53.916,207.044a18.37492,18.37492,0,0,0,7.01562,19.51562,17.83088,17.83088,0,0,0,20.0625.625l46.875-29.69531c.0625-.04687.125-.07812.26563,0l50.4375,31.95313a16.14026,16.14026,0,0,0,18.20312-.5625,16.64744,16.64744,0,0,0,6.35938-17.67969L188.77539,153.1221l45.23438-37.64843A16.68222,16.68222,0,0,0,239.166,97.41117Z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M239.166,97.41117A16.37036,16.37036,0,0,0,224.63477,86.044l-59.39063-4.15625L143.21289,26.41117A16.33117,16.33117,0,0,0,127.99414,15.9971h-.01562A16.324,16.324,0,0,0,112.791,26.41117L90.43164,82.208,31.36914,86.044A16.37036,16.37036,0,0,0,16.83789,97.41117a16.68222,16.68222,0,0,0,5.15625,18.0625l45.4375,38.40625L53.916,207.044a18.37492,18.37492,0,0,0,7.01562,19.51562,17.83088,17.83088,0,0,0,20.0625.625l46.875-29.69531c.0625-.04687.125-.07812.26563,0l50.4375,31.95313a16.14026,16.14026,0,0,0,18.20312-.5625,16.64744,16.64744,0,0,0,6.35938-17.67969L188.77539,153.1221l45.23438-37.64843A16.68222,16.68222,0,0,0,239.166,97.41117Z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M239.166,97.41117A16.37036,16.37036,0,0,0,224.63477,86.044l-59.39063-4.15625L143.21289,26.41117A16.33117,16.33117,0,0,0,127.99414,15.9971h-.01562A16.324,16.324,0,0,0,112.791,26.41117L90.43164,82.208,31.36914,86.044A16.37036,16.37036,0,0,0,16.83789,97.41117a16.68222,16.68222,0,0,0,5.15625,18.0625l45.4375,38.40625L53.916,207.044a18.37492,18.37492,0,0,0,7.01562,19.51562,17.83088,17.83088,0,0,0,20.0625.625l46.875-29.69531c.0625-.04687.125-.07812.26563,0l50.4375,31.95313a16.14026,16.14026,0,0,0,18.20312-.5625,16.64744,16.64744,0,0,0,6.35938-17.67969L188.77539,153.1221l45.23438-37.64843A16.68222,16.68222,0,0,0,239.166,97.41117Z"></path>
</svg>
</div>
<div class="product-info">
<span class="product-price">$59.99</span>
<div class="product-btn-group">
<button class="product-btn product-btn--favorite">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M133.65683,211.88227l81.0323-81.0322c19.9104-19.91038,22.84784-52.666,4.00583-73.59029a52.0026,52.0026,0,0,0-75.46451-2.02934L127.99994,70.46082,114.85007,57.3109C94.93972,37.40047,62.18409,34.463,41.25979,53.305a52.00261,52.00261,0,0,0-2.02934,75.46452l83.11268,83.11272A8,8,0,0,0,133.65683,211.88227Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path>
</svg>
</button>
<button class="product-btn product-btn--add">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<line x1="40" y1="128" x2="216" y2="128" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
<line x1="128" y1="40" x2="128" y2="216" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
</svg>
</button>
</div>
</div>
</div>
</article>
</li>
<li class="product-list-item">
<article class="product">
<div class="product-image">
<img src="https://assets.codepen.io/285131/apple-watch.png" />
</div>
<div class="product-content">
<h3 class="product-title">Apple Watch Series 6</h3>
<div class="product-rating">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M239.166,97.41117A16.37036,16.37036,0,0,0,224.63477,86.044l-59.39063-4.15625L143.21289,26.41117A16.33117,16.33117,0,0,0,127.99414,15.9971h-.01562A16.324,16.324,0,0,0,112.791,26.41117L90.43164,82.208,31.36914,86.044A16.37036,16.37036,0,0,0,16.83789,97.41117a16.68222,16.68222,0,0,0,5.15625,18.0625l45.4375,38.40625L53.916,207.044a18.37492,18.37492,0,0,0,7.01562,19.51562,17.83088,17.83088,0,0,0,20.0625.625l46.875-29.69531c.0625-.04687.125-.07812.26563,0l50.4375,31.95313a16.14026,16.14026,0,0,0,18.20312-.5625,16.64744,16.64744,0,0,0,6.35938-17.67969L188.77539,153.1221l45.23438-37.64843A16.68222,16.68222,0,0,0,239.166,97.41117Z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M239.166,97.41117A16.37036,16.37036,0,0,0,224.63477,86.044l-59.39063-4.15625L143.21289,26.41117A16.33117,16.33117,0,0,0,127.99414,15.9971h-.01562A16.324,16.324,0,0,0,112.791,26.41117L90.43164,82.208,31.36914,86.044A16.37036,16.37036,0,0,0,16.83789,97.41117a16.68222,16.68222,0,0,0,5.15625,18.0625l45.4375,38.40625L53.916,207.044a18.37492,18.37492,0,0,0,7.01562,19.51562,17.83088,17.83088,0,0,0,20.0625.625l46.875-29.69531c.0625-.04687.125-.07812.26563,0l50.4375,31.95313a16.14026,16.14026,0,0,0,18.20312-.5625,16.64744,16.64744,0,0,0,6.35938-17.67969L188.77539,153.1221l45.23438-37.64843A16.68222,16.68222,0,0,0,239.166,97.41117Z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M239.166,97.41117A16.37036,16.37036,0,0,0,224.63477,86.044l-59.39063-4.15625L143.21289,26.41117A16.33117,16.33117,0,0,0,127.99414,15.9971h-.01562A16.324,16.324,0,0,0,112.791,26.41117L90.43164,82.208,31.36914,86.044A16.37036,16.37036,0,0,0,16.83789,97.41117a16.68222,16.68222,0,0,0,5.15625,18.0625l45.4375,38.40625L53.916,207.044a18.37492,18.37492,0,0,0,7.01562,19.51562,17.83088,17.83088,0,0,0,20.0625.625l46.875-29.69531c.0625-.04687.125-.07812.26563,0l50.4375,31.95313a16.14026,16.14026,0,0,0,18.20312-.5625,16.64744,16.64744,0,0,0,6.35938-17.67969L188.77539,153.1221l45.23438-37.64843A16.68222,16.68222,0,0,0,239.166,97.41117Z"></path>
</svg>
</div>
<div class="product-info">
<span class="product-price">$449.99</span>
<div class="product-btn-group">
<button class="product-btn product-btn--favorite">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M133.65683,211.88227l81.0323-81.0322c19.9104-19.91038,22.84784-52.666,4.00583-73.59029a52.0026,52.0026,0,0,0-75.46451-2.02934L127.99994,70.46082,114.85007,57.3109C94.93972,37.40047,62.18409,34.463,41.25979,53.305a52.00261,52.00261,0,0,0-2.02934,75.46452l83.11268,83.11272A8,8,0,0,0,133.65683,211.88227Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path>
</svg>
</button>
<button class="product-btn product-btn--add">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<line x1="40" y1="128" x2="216" y2="128" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
<line x1="128" y1="40" x2="128" y2="216" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
</svg>
</button>
</div>
</div>
</div>
</article>
</li>
<li class="product-list-item">
<article class="product">
<div class="product-image">
<img src="https://assets.codepen.io/285131/xbox-controller.png" />
</div>
<div class="product-content">
<h3 class="product-title">Xbox Controller</h3>
<div class="product-rating">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M239.166,97.41117A16.37036,16.37036,0,0,0,224.63477,86.044l-59.39063-4.15625L143.21289,26.41117A16.33117,16.33117,0,0,0,127.99414,15.9971h-.01562A16.324,16.324,0,0,0,112.791,26.41117L90.43164,82.208,31.36914,86.044A16.37036,16.37036,0,0,0,16.83789,97.41117a16.68222,16.68222,0,0,0,5.15625,18.0625l45.4375,38.40625L53.916,207.044a18.37492,18.37492,0,0,0,7.01562,19.51562,17.83088,17.83088,0,0,0,20.0625.625l46.875-29.69531c.0625-.04687.125-.07812.26563,0l50.4375,31.95313a16.14026,16.14026,0,0,0,18.20312-.5625,16.64744,16.64744,0,0,0,6.35938-17.67969L188.77539,153.1221l45.23438-37.64843A16.68222,16.68222,0,0,0,239.166,97.41117Z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M239.166,97.41117A16.37036,16.37036,0,0,0,224.63477,86.044l-59.39063-4.15625L143.21289,26.41117A16.33117,16.33117,0,0,0,127.99414,15.9971h-.01562A16.324,16.324,0,0,0,112.791,26.41117L90.43164,82.208,31.36914,86.044A16.37036,16.37036,0,0,0,16.83789,97.41117a16.68222,16.68222,0,0,0,5.15625,18.0625l45.4375,38.40625L53.916,207.044a18.37492,18.37492,0,0,0,7.01562,19.51562,17.83088,17.83088,0,0,0,20.0625.625l46.875-29.69531c.0625-.04687.125-.07812.26563,0l50.4375,31.95313a16.14026,16.14026,0,0,0,18.20312-.5625,16.64744,16.64744,0,0,0,6.35938-17.67969L188.77539,153.1221l45.23438-37.64843A16.68222,16.68222,0,0,0,239.166,97.41117Z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M239.166,97.41117A16.37036,16.37036,0,0,0,224.63477,86.044l-59.39063-4.15625L143.21289,26.41117A16.33117,16.33117,0,0,0,127.99414,15.9971h-.01562A16.324,16.324,0,0,0,112.791,26.41117L90.43164,82.208,31.36914,86.044A16.37036,16.37036,0,0,0,16.83789,97.41117a16.68222,16.68222,0,0,0,5.15625,18.0625l45.4375,38.40625L53.916,207.044a18.37492,18.37492,0,0,0,7.01562,19.51562,17.83088,17.83088,0,0,0,20.0625.625l46.875-29.69531c.0625-.04687.125-.07812.26563,0l50.4375,31.95313a16.14026,16.14026,0,0,0,18.20312-.5625,16.64744,16.64744,0,0,0,6.35938-17.67969L188.77539,153.1221l45.23438-37.64843A16.68222,16.68222,0,0,0,239.166,97.41117Z"></path>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M239.166,97.41117A16.37036,16.37036,0,0,0,224.63477,86.044l-59.39063-4.15625L143.21289,26.41117A16.33117,16.33117,0,0,0,127.99414,15.9971h-.01562A16.324,16.324,0,0,0,112.791,26.41117L90.43164,82.208,31.36914,86.044A16.37036,16.37036,0,0,0,16.83789,97.41117a16.68222,16.68222,0,0,0,5.15625,18.0625l45.4375,38.40625L53.916,207.044a18.37492,18.37492,0,0,0,7.01562,19.51562,17.83088,17.83088,0,0,0,20.0625.625l46.875-29.69531c.0625-.04687.125-.07812.26563,0l50.4375,31.95313a16.14026,16.14026,0,0,0,18.20312-.5625,16.64744,16.64744,0,0,0,6.35938-17.67969L188.77539,153.1221l45.23438-37.64843A16.68222,16.68222,0,0,0,239.166,97.41117Z"></path>
</svg>
</div>
<div class="product-info">
<span class="product-price">$79.99</span>
<div class="product-btn-group">
<button class="product-btn product-btn--favorite">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M133.65683,211.88227l81.0323-81.0322c19.9104-19.91038,22.84784-52.666,4.00583-73.59029a52.0026,52.0026,0,0,0-75.46451-2.02934L127.99994,70.46082,114.85007,57.3109C94.93972,37.40047,62.18409,34.463,41.25979,53.305a52.00261,52.00261,0,0,0-2.02934,75.46452l83.11268,83.11272A8,8,0,0,0,133.65683,211.88227Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path>
</svg>
</button>
<button class="product-btn product-btn--add">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<line x1="40" y1="128" x2="216" y2="128" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
<line x1="128" y1="40" x2="128" y2="216" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
</svg>
</button>
</div>
</div>
</div>
</article>
</li>
</ul>
</section>
<section class="section">
<div class="section-header">
<h2 class="section-title">Categories</h2>
<span class="section-icon"><svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<line x1="40" y1="128" x2="216" y2="128" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
<polyline points="144 56 216 128 144 200" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></polyline>
</svg>
</span>
</div>
<ul class="category-list">
<li class="category-list-item">
<a href="#" class="category">Teqnique</a>
</li>
<li class="category-list-item">
<a href="#" class="category">Cosmetics</a>
</li>
<li class="category-list-item">
<a href="#" class="category">Accessories</a>
</li>
<li class="category-list-item">
<a href="#" class="category">Clothing</a>
</li>
<li class="category-list-item">
<a href="#" class="category">Games</a>
</li>
</ul>
</section>
<section class="section">
<div class="section-body">
<div class="card">
<div class="card-content">
<h2 class="card-title">Music column</h2>
<span class="card-subtitle">
New models
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<line x1="40" y1="128" x2="216" y2="128" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
<polyline points="144 56 216 128 144 200" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></polyline>
</svg>
</span>
</div>
</div>
</div>
</section>
</main>
<footer class="app-footer">
<nav class="menu-bar">
<a href="#" class="menu-bar-item menu-bar-item--active">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<path d="M213.3815,109.61945,133.376,36.88436a8,8,0,0,0-10.76339.00036l-79.9945,72.73477A8,8,0,0,0,40,115.53855V208a8,8,0,0,0,8,8H208a8,8,0,0,0,8-8V115.53887A8,8,0,0,0,213.3815,109.61945Z" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path>
</svg>
<span class="menu-bar-item-text">Home</span>
</a>
<a href="#" class="menu-bar-item">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<circle cx="116" cy="116" r="84" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></circle>
<line x1="175.39356" y1="175.40039" x2="223.99414" y2="224.00098" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></line>
</svg>
<span class="menu-bar-item-text">Search</span>
</a>
<a href="#" class="menu-bar-item">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<circle cx="80" cy="216" r="16"></circle>
<circle cx="184" cy="216" r="16"></circle>
<path d="M42.28575,72H221.71429l-26.39873,92.39554A16,16,0,0,1,179.93118,176H84.06882a16,16,0,0,1-15.38438-11.60446L32.51492,37.80223A8,8,0,0,0,24.82273,32H8" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path>
</svg>
<span class="menu-bar-item-text">Cart</span>
</a>
<a href="#" class="menu-bar-item">
<svg xmlns="http://www.w3.org/2000/svg" width="192" height="192" fill="currentColor" viewBox="0 0 256 256">
<rect width="256" height="256" fill="none"></rect>
<circle cx="128" cy="96" r="64" fill="none" stroke="currentColor" stroke-miterlimit="10" stroke-width="16"></circle>
<path d="M30.989,215.99064a112.03731,112.03731,0,0,1,194.02311.002" fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="16"></path>
</svg>
<span class="menu-bar-item-text">Profile</span>
</a>
</nav>
</footer>
</div>
// RESET CODE
*,
*:before,
*:after {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
margin: 0;
}
html {
overflow-x: hidden;
}
body {
scroll-behavior: smooth;
line-height: 1.5;
}
img {
max-width: 100%;
display: block;
}
a {
color: inherit;
}
input,
button,
textarea,
select {
font: inherit;
}
button {
border: 1px solid;
background-color: transparent;
}
button {
-moz-appearance: none;
appearance: none;
-webkit-appearance: none;
}
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}
// END OF RESET
@import url("https://fonts.googleapis.com/css2?family=Lexend:[email protected];200;300;400;500;600;700;800;900&display=swap");
:root {
--c-grey-000: #ffffff;
--c-grey-100: #f7f5ff;
--c-grey-500: #dddddd;
--c-grey-700: #7d7d80;
--c-grey-900: #000000;
--c-purple-100: #cac2f2;
--c-purple-300: #9684fe;
--c-purple-500: #7762ff;
--inner-gutter: 1.25rem;
}
::-webkit-scrollbar {
display: none;
}
* {
scrollbar-width: none;
}
body {
font-family: "Lexend", sans-serif;
min-height: 100vh;
background-color: var(--c-purple-500);
padding-top: 4rem;
padding-bottom: 4rem;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
img {
max-width: 100%;
display: block;
}
.app {
background-color: var(--c-grey-100);
width: 95%;
max-width: 375px;
height: 800px;
overflow: hidden;
border-radius: 24px;
box-shadow: 0 5px 15px 0 rgba(#000, 0.1);
display: flex;
flex-direction: column;
position: relative;
}
.app-header {
padding: 1.5rem var(--inner-gutter);
display: flex;
align-items: center;
justify-content: space-between;
}
.app-header-btn {
width: 48px;
height: 48px;
border-radius: 12px;
border: 0;
display: flex;
align-items: center;
justify-content: center;
color: var(--c-grey-700);
cursor: pointer;
transition: 0.15s ease;
svg {
width: 28px;
height: 28px;
}
&--active,
&:hover {
background-color: var(--c-grey-000);
box-shadow: 0 5px 15px rgba(#9684fe, 0.15);
}
&--notification {
position: relative;
&:after {
content: "";
display: block;
position: absolute;
width: 8px;
height: 8px;
border-radius: 50%;
background-color: var(--c-purple-500);
top: 8px;
right: 8px;
}
}
}
.section {
& + & {
margin-top: 2rem;
}
}
.section-header {
padding-left: var(--inner-gutter);
padding-right: var(--inner-gutter);
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 0.5rem;
}
.section-body {
padding-left: var(--inner-gutter);
padding-right: var(--inner-gutter);
}
.section-title {
font-size: 1.375rem;
font-weight: 600;
color: var(--c-grey-700);
}
.section-icon {
color: var(--c-grey-700);
display: inline-flex;
align-items: center;
justify-content: center;
svg {
width: 24px;
height: 24px;
}
}
.product-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
overflow-x: auto;
padding-left: 1.25rem;
padding-right: 1.25rem;
padding-bottom: 50px;
margin-bottom: -50px;
margin-top: -20px;
padding-top: 20px;
}
.product-list-item {
max-width: 70%;
display: inline-flex;
flex-shrink: 0;
& + & {
margin-left: 1rem;
}
}
.product {
display: flex;
flex-direction: column;
background-color: var(--c-grey-000);
box-shadow: 0 5px 20px 0 rgba(#9684fe, 0.1), 0 15px 30px 0 rgba(#9684fe, 0.05);
border-radius: 15px;
margin-top: 5.5rem;
}
.product-image {
margin-top: -5rem;
padding: 0 0.5rem;
img {
filter: drop-shadow(0 5px 15px rgba(#9684fe, 0.375));
}
& + * {
margin-top: 1rem;
}
}
.product-content {
padding: 0 1.25rem 1.25rem;
}
.product-title {
font-size: 1.125rem;
line-height: 1.25;
color: var(--c-grey-900);
letter-spacing: -0.025em;
font-weight: 600;
}
.product-rating {
margin-top: 0.5rem;
color: orange;
svg {
width: 16px;
height: 16px;
}
}
.product-price {
font-size: 1.25rem;
color: var(--c-purple-300);
}
.product-info {
display: flex;
align-items: center;
justify-content: space-between;
margin-top: 0.5rem;
}
.product-btn-group {
display: flex;
align-items: center;
}
.product-btn {
width: 40px;
height: 40px;
border-radius: 12px;
border: 0;
display: flex;
align-items: center;
justify-content: center;
color: var(--c-grey-700);
cursor: pointer;
background-color: var(--c-grey-000);
box-shadow: 0 3px 15px rgba(#9684fe, 0.25);
svg {
width: 24px;
height: 24px;
}
& + & {
margin-left: 0.5rem;
}
&--add {
color: var(--c-purple-500);
}
}
.category-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
overflow-x: auto;
padding-left: var(--inner-gutter);
padding-right: var(--inner-gutter);
margin-top: 0.75rem;
padding-bottom: 20px;
margin-bottom: -20px;
}
.category-list-item {
& + & {
margin-left: 0.5rem;
}
}
.category {
display: block;
background-color: var(--c-grey-000);
box-shadow: 0 5px 10px rgba(#9684fe, 0.15);
text-decoration: none;
padding: 0.5em 1.25em;
border-radius: 16px;
font-weight: 500;
font-size: 1rem;
color: var(--c-grey-700);
}
.app-footer {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
}
.menu-bar {
display: flex;
align-items: center;
justify-content: center;
border-radius: 24px;
background-color: #ffffff;
box-shadow: 0 -5px 15px rgba(#9684fe, 0.15);
}
.menu-bar-item {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: var(--c-purple-100);
text-decoration: none;
margin: 1rem 1.25rem;
& > * {
transition: 0.15s ease;
}
svg {
width: 32px;
height: 32px;
}
&--active,
&:hover {
color: var(--c-purple-500);
}
}
.menu-bar-item-text {
font-size: 0.875rem;
display: block;
margin-top: 0.25rem;
}
.card {
background-color: var(--c-purple-300);
color: var(--c-grey-000);
height: 400px;
border-radius: 12px;
background-image: url("https://assets.codepen.io/285131/airpodsmax.png");
background-repeat: no-repeat;
background-size: 100px;
background-position: 95% -30px;
overflow: hidden;
position: relative;
}
.card-content {
padding: 1.5rem 1.375rem;
}
.card-title {
font-size: 1.375rem;
font-weight: 500;
line-height: 1.25;
}
.card-subtitle {
display: flex;
align-items: center;
font-weight: 300;
font-size: 1.125rem;
svg {
margin-left: 0.25rem;
width: 20px;
height: 20px;
}
}
body {
&:after {
content: "";
display: block;
width: 80vw;
height: 80vw;
border-radius: 50%;
background-color: rgba(#9684fe, 0.5);
position: fixed;
z-index: -1;
top: -35vw;
right: -30vw;
box-shadow: -10vw 30vw 0 -20vw rgba(#9684fe, 0.25);
}
&:before {
content: "";
display: block;
width: 60vw;
height: 60vw;
border-radius: 50%;
background-color: rgba(#9684fe, 0.75);
position: fixed;
z-index: -1;
top: 50vw;
left: -20vw;
box-shadow: 20vw 20vw 0 -10vw rgba(#9684fe, 0.25);
}
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.