AltoCode
Alfano 2 Prezzi

HTML
<!-- ============================================ -->
<!-- Prezzi -->
<!-- ============================================ -->
<section id="pricing-1387">
<div class="cs-container">
<div class="cs-content">
<span class="cs-topper">I nostri Prezzi</span>
<h2 class="cs-title">Piani tariffari flessibili pensati per le tue esigenze su misura</h2>
<p class="cs-text">
Nella nuova era della tecnologia guardiamo al futuro con sicurezza e offriamo soluzioni efficaci per ogni tipo di progetto o programma.
</p>
<div class="cs-toggle-group">
<span id="cs-option1-1387" class="cs-plan">Paga Annualmente</span>
<div class="cs-toggle" aria-label="clicca per cambiare l'arco temporale">
<span aria-hidden="true" class="cs-toggle-switch"></span>
</div>
<span id="cs-option2-1387" class="cs-plan">Paga Mensilmente</span>
</div>
</div>
<ul class="cs-card-group cs-option1">
<li class="cs-item cs-popular">
<div class="cs-flex">
<span class="cs-package">Standard</span>
<span class="cs-price">
€99
<span class="cs-duration">/Mese</span>
</span>
<div class="cs-tag">
<img class="cs-icon" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Icons/fire.svg" decoding="async" alt="icona grafica" width="16" height="16" loading="true">
Offerta Speciale
</div>
</div>
<div class="cs-info">
<ul class="cs-ul">
<li class="cs-li">Ottimizzato per dispositivi mobili</li>
<li class="cs-li">Dominio personalizzato gratuito</li>
<li class="cs-li">Hosting di alta qualità</li>
<li class="cs-li cs-disabled">Supporto eccellente</li>
<li class="cs-li cs-disabled">Clienti soddisfatti</li>
</ul>
<a href="" class="cs-button-transparent">Ottieni Ora</a>
</div>
</li>
<li class="cs-item">
<div class="cs-flex">
<span class="cs-package">Corporate</span>
<span class="cs-price">
€299
<span class="cs-duration">/Mese</span>
</span>
<div class="cs-tag">
<img class="cs-icon" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Icons/fire.svg" decoding="async" alt="icona grafica" width="16" height="16" loading="true">
Offerta Speciale
</div>
</div>
<div class="cs-info">
<ul class="cs-ul">
<li class="cs-li">Ottimizzato per dispositivi mobili</li>
<li class="cs-li">Dominio personalizzato gratuito</li>
<li class="cs-li">Hosting di alta qualità</li>
</ul>
<a href="" class="cs-button-transparent">Ottieni Ora</a>
</div>
</li>
</ul>
<ul class="cs-card-group cs-option2">
<li class="cs-item cs-popular">
<div class="cs-flex">
<span class="cs-package">Standard</span>
<span class="cs-price">
€99
<span class="cs-duration">/Anno</span>
</span>
<div class="cs-tag">
<img class="cs-icon" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Icons/fire.svg" decoding="async" alt="icona grafica" width="16" height="16" loading="true">
Offerta Speciale
</div>
</div>
<div class="cs-info">
<ul class="cs-ul">
<li class="cs-li">Ottimizzato per dispositivi mobili</li>
<li class="cs-li">Dominio personalizzato gratuito</li>
<li class="cs-li">Hosting di alta qualità</li>
<li class="cs-li cs-disabled">Supporto eccellente</li>
<li class="cs-li cs-disabled">Clienti soddisfatti</li>
</ul>
<a href="" class="cs-button-transparent">Ottieni Ora</a>
</div>
</li>
<li class="cs-item">
<div class="cs-flex">
<span class="cs-package">Corporate</span>
<span class="cs-price">
€299
<span class="cs-duration">/Anno</span>
</span>
<div class="cs-tag">
<img class="cs-icon" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Icons/fire.svg" decoding="async" alt="icona grafica" width="16" height="16" loading="true">
Offerta Speciale
</div>
</div>
<div class="cs-info">
<ul class="cs-ul">
<li class="cs-li">Ottimizzato per dispositivi mobili</li>
<li class="cs-li">Dominio personalizzato gratuito</li>
<li class="cs-li">Hosting di alta qualità</li>
</ul>
<a href="" class="cs-button-transparent">Ottieni Ora</a>
</div>
</li>
</ul>
</div>
</section>
CSS
/*-- -------------------------- -->
<--- Prezzi -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
#pricing-1387 {
padding: var(--sectionPadding);
overflow: hidden;
background-color: #f7f7f7;
position: relative;
z-index: 1;
}
#pricing-1387 .cs-container {
width: 100%;
max-width: 36.5rem;
margin: auto;
display: flex;
flex-direction: column;
align-items: center;
gap: clamp(3rem, 3vw, 4rem);
position: relative;
}
#pricing-1387 .cs-content {
text-align: center;
width: 100%;
max-width: 33.875rem;
display: flex;
flex-direction: column;
align-items: center;
}
#pricing-1387 .cs-title {
max-width: 20ch;
}
#pricing-1387 .cs-text {
margin-bottom: 1rem;
}
#pricing-1387 .cs-text:last-of-type {
margin-bottom: 2rem;
}
#pricing-1387 .cs-toggle-group {
width: 100%;
max-width: 25.875rem;
margin: 0;
padding: 0.75rem;
box-sizing: border-box;
background-color: #f1f1f4;
border-radius: 0.5rem;
display: flex;
justify-content: center;
align-items: center;
}
#pricing-1387 .cs-plan {
font-size: 1rem;
font-weight: 700;
line-height: 1.5em;
margin: 0;
padding: 0;
color: var(--headerColor);
}
#pricing-1387 .cs-plan:hover {
cursor: pointer;
}
#pricing-1387 .cs-toggle {
width: 3.25rem;
height: 2rem;
border-radius: 2.5rem;
background-color: var(--primaryLight);
margin: 0 1.5rem;
position: relative;
flex: none;
}
#pricing-1387 .cs-toggle:hover {
cursor: pointer;
}
#pricing-1387 .cs-toggle.active:before {
opacity: 1;
}
#pricing-1387 .cs-toggle.active .cs-toggle-switch {
left: 1.4375rem;
}
#pricing-1387 .cs-toggle:before {
content: "";
width: 100%;
height: 100%;
background: var(--primary);
opacity: 0;
position: absolute;
display: block;
top: 0;
left: 0;
border-radius: 2.5rem;
transition: opacity 0.3s;
}
#pricing-1387 .cs-toggle-switch {
width: 1.625rem;
height: 1.625rem;
display: block;
border-radius: 50%;
filter: drop-shadow(0px 3px 1px rgba(0, 0, 0, 0.06))
drop-shadow(0px 3px 8px rgba(0, 0, 0, 0.15));
position: absolute;
top: 50%;
transform: translateY(-50%);
left: 0.1875rem;
transition: left 0.3s;
background: #fff;
}
#pricing-1387 .cs-card-group {
width: 100%;
max-width: 39.375rem;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: clamp(1rem, 2.3vw, 1.25rem);
}
#pricing-1387 .cs-card-group.cs-active.cs-option1 {
transform: scale(0);
position: absolute;
right: 0;
bottom: 0;
opacity: 0;
visibility: hidden;
}
#pricing-1387 .cs-card-group.cs-active.cs-option1 .cs-item {
opacity: 0;
transform: translateY(1.25rem) rotateY(90deg);
transition:
opacity 0.3s,
transform 0.6s;
}
#pricing-1387 .cs-card-group.cs-active.cs-option2 {
visibility: visible;
pointer-events: all;
opacity: 1;
position: relative;
right: auto;
bottom: auto;
transform: scale(1);
}
#pricing-1387 .cs-card-group.cs-active.cs-option2 .cs-item {
opacity: 1;
transform: translateY(0rem) rotateY(0deg);
}
#pricing-1387 .cs-option1 {
opacity: 1;
visibility: visible;
right: 0;
bottom: auto;
transform: scale(1);
transform-origin: top;
transition:
transform 0.6s,
opacity 0.3s,
visibility 0.3s;
}
#pricing-1387 .cs-option1 .cs-item {
opacity: 1;
transform: translateY(0rem) rotateY(0deg);
transition:
opacity 0.3s,
transform 0.6s;
}
#pricing-1387 .cs-option1 .cs-item:nth-of-type(2) {
transition-delay: 0.2s;
}
#pricing-1387 .cs-option1 .cs-item:nth-of-type(3) {
transition-delay: 0.4s;
}
#pricing-1387 .cs-option2 {
visibility: hidden;
pointer-events: none;
opacity: 0;
position: absolute;
right: 0;
bottom: 0;
transform: scale(0);
transform-origin: top;
transition:
transform 0.6s,
opacity 0.3s,
visibility 0.3s;
}
#pricing-1387 .cs-option2 .cs-item {
opacity: 0;
transform: translateY(1.25rem) rotateY(90deg);
transition:
opacity 0.3s,
transform 0.6s;
}
#pricing-1387 .cs-option2 .cs-item:nth-of-type(2) {
transition-delay: 0.2s;
}
#pricing-1387 .cs-option2 .cs-item:nth-of-type(3) {
transition-delay: 0.4s;
}
#pricing-1387 .cs-item {
text-align: center;
list-style: none;
width: 100%;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: center;
}
#pricing-1387 .cs-item.cs-popular .cs-flex {
background-color: var(--primary);
}
#pricing-1387 .cs-item.cs-popular .cs-tag {
display: flex;
}
#pricing-1387 .cs-item.cs-popular .cs-package,
#pricing-1387 .cs-item.cs-popular .cs-price,
#pricing-1387 .cs-item.cs-popular .cs-duration {
color: var(--bodyTextColorWhite);
}
#pricing-1387 .cs-item.cs-popular .cs-duration {
opacity: 0.8;
}
#pricing-1387 .cs-item.cs-popular .cs-button-transparent {
background-color: var(--primary);
color: #fff;
transition:
color 0.3s,
border-color 0.6s,
background-color 0.3s;
}
#pricing-1387 .cs-item.cs-popular .cs-button-transparent:hover {
border-color: #1a1a1a;
background-color: #1a1a1a;
}
#pricing-1387 .cs-flex {
width: clamp(12.25rem, 25vw, 15.625rem);
height: clamp(12.25rem, 25vw, 15.625rem);
margin-bottom: -6.25rem;
border-radius: 50%;
background-color: #e8e8e8;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
z-index: 1;
}
#pricing-1387 .cs-tag {
font-size: 0.8125rem;
color: var(--headerColor);
text-transform: uppercase;
white-space: nowrap;
font-weight: 700;
padding: 0.5rem;
gap: 0.25rem;
border-radius: 50px;
background-color: #fff;
overflow: hidden;
display: none;
justify-content: center;
align-items: center;
position: absolute;
left: 50%;
bottom: -0.25rem;
transform: translateX(-50%);
}
#pricing-1387 .cs-tag:before {
content: "";
width: 100%;
height: 100%;
background: var(--primary);
opacity: 0.3;
position: absolute;
display: block;
top: 0;
left: 0;
z-index: -1;
}
#pricing-1387 .cs-icon {
width: 1.25rem;
height: auto;
display: flex;
}
#pricing-1387 .cs-package {
font-size: clamp(1.25rem, 2vw, 1.5625rem);
line-height: 1.2em;
text-align: inherit;
font-weight: 700;
margin: 0 0 clamp(0.25rem, 1vw, 0.5rem) 0;
}
#pricing-1387 .cs-price {
font-size: clamp(1.9375rem, 4vw, 3.0625rem);
line-height: 1.2em;
font-weight: 700;
text-align: inherit;
margin: 0;
padding: 0;
color: var(--headerColor);
display: flex;
justify-content: center;
align-items: flex-end;
}
#pricing-1387 .cs-duration {
font-size: 1rem;
line-height: 1.5em;
font-weight: 400;
text-align: inherit;
margin: 0;
padding: clamp(0.25rem, 1vw, 0.5rem) 0;
color: var(--bodyTextColor);
display: block;
}
#pricing-1387 .cs-info {
width: 100%;
padding: 5.375rem 2.5rem 2.5rem;
box-sizing: border-box;
background-color: #fff;
border-radius: 1.5rem;
display: flex;
flex-direction: column;
align-items: center;
}
#pricing-1387 .cs-ul {
width: 100%;
margin: 2.5rem 0 2.5rem 0;
padding: 0;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.75rem;
position: relative;
}
#pricing-1387 .cs-li {
font-size: 1rem;
list-style: none;
line-height: 1.5em;
font-weight: 400;
text-align: inherit;
margin: 0;
padding: 0;
color: var(--bodyTextColor);
display: block;
}
#pricing-1387 .cs-li.cs-disabled {
opacity: 0.5;
}
#pricing-1387 .cs-button-transparent {
font-size: 1rem;
line-height: 3.5rem;
text-decoration: none;
font-weight: 700;
overflow: hidden;
margin: 0;
color: var(--primary);
padding: 0 3rem;
border-radius: 1.875rem;
border: 1px solid var(--primary);
display: inline-block;
position: relative;
z-index: 1;
transition: color 0.3s;
}
#pricing-1387 .cs-button-transparent:before {
content: "";
position: absolute;
display: block;
height: 100%;
width: 0%;
background: #1a1a1a;
opacity: 1;
top: 0;
left: 0;
z-index: -1;
transition: width 0.3s;
}
#pricing-1387 .cs-button-transparent:hover {
color: var(--bodyTextColorWhite);
border-color: #1a1a1a;
}
#pricing-1387 .cs-button-transparent:hover:before {
width: 100%;
}
#pricing-1387 .cs-button-transparent {
margin-top: auto;
}
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
#pricing-1387 .cs-container {
max-width: 80rem;
}
#pricing-1387 .cs-container .cs-card-group {
flex-direction: row;
align-items: stretch;
}
}
/* Desktop - 1024px */
@media only screen and (min-width: 64rem) {
#pricing-1387 .cs-container {
flex-direction: row;
align-items: center;
justify-content: space-between;
}
#pricing-1387 .cs-content {
text-align: left;
width: 47%;
align-items: flex-start;
}
#pricing-1387 .cs-info {
min-height: 27rem;
}
}
JAVASCRIPT
const leftOption = document.querySelector("#pricing-1387 #cs-option1-1387");
const rightOption = document.querySelector("#pricing-1387 #cs-option2-1387");
const toggle = document.querySelector("#pricing-1387 .cs-toggle");
const cardGroup = Array.from(document.querySelectorAll('#pricing-1387 .cs-card-group'))
toggle.addEventListener('click', (e) => {
for (const item of cardGroup) {
item.classList.toggle("cs-active");
}
toggle.classList.toggle("active");
});
leftOption.addEventListener('click', (e) => {
for (const item of cardGroup) {
item.classList.remove("cs-active");
}
toggle.classList.remove("active");
});
rightOption.addEventListener('click', (e) => {
for (const item of cardGroup) {
item.classList.add("cs-active");
}
toggle.classList.add("active");
});