AltoCode
Lauria Menù

HTML
<!-- ============================================ -->
<!-- Menu -->
<!-- ============================================ -->
<section id="menu-1001">
<div class="cs-container">
<div class="cs-content">
<picture class="cs-wrapper" aria-hidden="true">
<img class="cs-decal" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/decal1.svg" decoding="async" alt="" width="181" height="36">
</picture>
<h2 class="cs-title">I Nostri Piatti Speciali</h2>
<p class="cs-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco.
</p>
</div>
<ul class="cs-card-group">
<li class="cs-item">
<picture class="cs-picture">
<source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg">
<source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg">
<img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg" alt="piatto esempio" width="160" height="160">
</picture>
<div class="cs-info">
<h3 class="cs-h3">
<span class="cs-name">Piatto Esempio</span>
<span class="cs-price">
€56
</span>
</h3>
<p class="cs-item-p">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
</p>
</div>
</li>
<li class="cs-item">
<picture class="cs-picture">
<source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg">
<source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg">
<img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg" alt="piatto esempio" width="160" height="160">
</picture>
<div class="cs-info">
<h3 class="cs-h3">
<span class="cs-name">Piatto Esempio</span>
<span class="cs-price">
€56
</span>
</h3>
<p class="cs-item-p">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
</p>
</div>
</li>
<li class="cs-item">
<picture class="cs-picture">
<source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg">
<source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg">
<img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg" alt="piatto esempio" width="160" height="160">
</picture>
<div class="cs-info">
<h3 class="cs-h3">
<span class="cs-name">Piatto Esempio</span>
<span class="cs-price">
€56
</span>
</h3>
<p class="cs-item-p">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
</p>
</div>
</li>
<li class="cs-item">
<picture class="cs-picture">
<source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg">
<source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg">
<img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg" alt="piatto esempio" width="160" height="160">
</picture>
<div class="cs-info">
<h3 class="cs-h3">
<span class="cs-name">Piatto Esempio</span>
<span class="cs-price">
€56
</span>
</h3>
<p class="cs-item-p">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
</p>
</div>
</li>
<li class="cs-item">
<picture class="cs-picture">
<source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg">
<source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg">
<img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg" alt="piatto esempio" width="160" height="160">
</picture>
<div class="cs-info">
<h3 class="cs-h3">
<span class="cs-name">Piatto Esempio</span>
<span class="cs-price">
€56
</span>
</h3>
<p class="cs-item-p">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
</p>
</div>
</li>
<li class="cs-item">
<picture class="cs-picture">
<source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg">
<source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg">
<img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/food2.jpg" alt="piatto esempio" width="160" height="160">
</picture>
<div class="cs-info">
<h3 class="cs-h3">
<span class="cs-name">Piatto Esempio</span>
<span class="cs-price">
€56
</span>
</h3>
<p class="cs-item-p">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
</p>
</div>
</li>
</ul>
<a href="" class="cs-button-solid">Prenota Ora</a>
</div>
</section>
CSS
/*-- -------------------------- -->
<--- Menu -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
#menu-1001 {
padding: var(--sectionPadding);
position: relative;
z-index: 1;
}
#menu-1001:before {
content: "";
height: 100%;
width: 100%;
opacity: 0.08;
background: url("https://csimg.nyc3.cdn.digitaloceanspaces.com/Food-Menu/static-pattern.png");
background-size: auto;
background-position: center;
background-repeat: repeat;
display: block;
position: absolute;
top: 0;
left: 0;
z-index: -1;
}
#menu-1001 .cs-container {
width: 100%;
max-width: 80em;
margin: auto;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: clamp(3rem, 7vw, 4rem);
}
#menu-1001 .cs-content {
text-align: center;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
}
#menu-1001 .cs-wrapper {
width: clamp(7.5rem, 9vw, 11.3125rem);
margin-bottom: 0.75rem;
display: inline-flex;
justify-content: center;
align-items: center;
position: relative;
}
#menu-1001 .cs-wrapper:before {
content: "";
width: clamp(5.625rem, 4vw, 9.6875rem);
height: 1px;
margin-right: clamp(0.75rem, 2vw, 1.5rem);
background: #b4b2c7;
opacity: 1;
position: absolute;
display: block;
top: 50%;
right: 100%;
transform: translateY(-50%);
}
#menu-1001 .cs-wrapper:after {
content: "";
width: clamp(5.625rem, 4vw, 9.6875rem);
height: 1px;
margin-left: clamp(0.75rem, 2vw, 1.5rem);
background: #b4b2c7;
opacity: 1;
position: absolute;
display: block;
top: 50%;
left: 100%;
transform: translateY(-50%);
}
#menu-1001 .cs-wrapper img {
width: 100%;
}
#menu-1001 .cs-button-solid {
font-size: 1rem;
line-height: clamp(2.875em, 5.5vw, 3.5em);
text-decoration: none;
font-weight: 700;
text-align: center;
margin: auto;
color: #fff;
min-width: 9.375rem;
padding: 0 2rem;
background-color: var(--primary);
display: inline-block;
position: relative;
z-index: 1;
box-sizing: border-box;
transition: color 0.3s;
}
#menu-1001 .cs-button-solid:before {
content: "";
position: absolute;
height: 100%;
width: 0%;
background: #000;
opacity: 1;
top: 0;
left: 0;
z-index: -1;
transition: width 0.3s;
}
#menu-1001 .cs-button-solid:hover {
color: #fff;
}
#menu-1001 .cs-button-solid:hover:before {
width: 100%;
}
#menu-1001 .cs-card-group {
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
justify-content: center;
column-gap: 1.25rem;
row-gap: clamp(2rem, 6vw, 3.75rem);
}
#menu-1001 .cs-item {
list-style: none;
width: 100%;
max-width: 36.25rem;
margin: 0;
display: flex;
justify-content: space-between;
align-items: center;
gap: clamp(1rem, 3vw, 2.25rem);
}
#menu-1001 .cs-picture {
width: clamp(4.75rem, 14vw, 10rem);
height: clamp(4.75rem, 14vw, 10rem);
overflow: hidden;
display: block;
flex: none;
position: relative;
}
#menu-1001 .cs-picture img {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
object-fit: cover;
}
#menu-1001 .cs-h3 {
font-size: clamp(1rem, 2vw, 1.5rem);
line-height: 1.2em;
font-weight: 700;
text-align: left;
margin: 0 0 clamp(0.5rem, 1.5vw, 1rem);
color: var(--headerColor);
display: flex;
justify-content: space-between;
align-items: center;
position: relative;
gap: 0.75rem;
}
#menu-1001 .cs-h3:after {
content: "";
width: 50%;
height: 1px;
background: #b4b2c7;
opacity: 1;
position: relative;
display: block;
order: 1;
}
#menu-1001 .cs-name {
max-width: 13.75rem;
flex: none;
}
#menu-1001 .cs-price {
font-size: clamp(1rem, 2vw, 1.5625rem);
line-height: clamp(1.75rem, 4vw, 2.875rem);
font-weight: 700;
padding: 0 clamp(0.5rem, 1vw, 0.75rem);
color: var(--primary);
background-color: #fff;
border-radius: 5rem;
border: 1px solid #b4b2c7;
display: flex;
align-items: center;
order: 3;
}
#menu-1001 .cs-item-p {
font-size: clamp(0.875rem, 2vw, 1rem);
line-height: 1.5em;
text-align: left;
margin: 0;
color: var(--bodyTextColor);
}
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
#menu-1001 .cs-card-group {
flex-direction: row;
justify-content: space-between;
flex-wrap: wrap;
column-gap: 1.25rem;
}
#menu-1001 .cs-item {
width: 48.5%;
}
}