AltoCode

Cansano 3 Steps

HTML


<!-- ============================================ -->
<!--                   Steps                      -->
<!-- ============================================ -->

<section id="steps-2014">
    <div class="cs-container">
        <div class="cs-content">
            <span class="cs-topper">Come Funziona</span>
            <h2 class="cs-title">Odontoiatria per Tutta la Famiglia</h2>
            <p class="cs-text">
                Orci eu lobortis elementum nibh  tellus. Vulputate eu scelerisque felis imperdiet 
                proin fermentum leo  vel. Luctus accumsan tortor posuere ac ut consequat 
                semper. Et pharetra  pharetra massa massa ultricies mi quis.
            </p>
            <a class="cs-button-solid" href="">Scopri di Più</a>
        </div>
        <ul class="cs-card-group">
            <li class="cs-item">
                <h3 class="cs-h3">Prenota un appuntamento</h3>
                <p class="cs-item-text">
                    offriamo il miglior servizio e abbiamo vinto numerosi premi. La nostra missione è far sentire tutti sicuri di mostrare il proprio sorriso.
                </p>
                <div class="cs-number-wrapper">
                    <span class="cs-number">01</span>
                </div>
                <picture class="cs-picture">
                    <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/calendar.jpg">
                    <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/calendar.jpg">
                    <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/calendar.jpg" alt="numero" width="48" height="48">
                </picture>
            </li>
            <li class="cs-item">
                <h3 class="cs-h3">Visita il tuo dentista</h3>
                <p class="cs-item-text">
                    offriamo il miglior servizio e abbiamo vinto numerosi premi. La nostra missione è far sentire tutti sicuri di mostrare il proprio sorriso.
                </p>
                <div class="cs-number-wrapper">
                    <span class="cs-number">02</span>
                </div>
                <picture class="cs-picture">
                    <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/People/dentist10.jpeg">
                    <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/People/dentist10.jpeg">
                    <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/People/dentist10.jpeg" alt="numero" width="48" height="48">
                </picture>
            </li>
            <li class="cs-item">
                <h3 class="cs-h3">Assumi i farmaci consigliati</h3>
                <p class="cs-item-text">
                    offriamo il miglior servizio e abbiamo vinto numerosi premi. La nostra missione è far sentire tutti sicuri di mostrare il proprio sorriso.
                </p>
                <div class="cs-number-wrapper">
                    <span class="cs-number">03</span>
                </div>
                <picture class="cs-picture">
                    <source media="(max-width: 600px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/invisalign.jpg">
                    <source media="(min-width: 601px)" srcset="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/invisalign.jpg">
                    <img loading="lazy" decoding="async" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/Images/MISC/invisalign.jpg" alt="numero" width="48" height="48">
                </picture>
            </li>
        </ul>
    </div>
</section>

CSS


/*-- -------------------------- -->
<---           Steps            -->
<--- -------------------------- -*/

/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
  #steps-2014 {
    padding: var(--sectionPadding);
    overflow: hidden;
    position: relative;
  }
  #steps-2014::before {
    content: "";
    width: 100%;
    height: 100%;
    background-color: var(--primary);
    opacity: 0.05;
    position: absolute;
    top: 0;
    left: 0;
  }
  #steps-2014 .cs-container {
    width: 100%;
    max-width: 44rem;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(3rem, 6vw, 4rem);
  }
  #steps-2014 .cs-content {
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  #steps-2014 .cs-text {
    max-width: 56.25rem;
  }
  #steps-2014 .cs-card-group {
    width: 100%;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: clamp(1rem, 2vw, 1.25rem);
    position: relative;
  }
  #steps-2014 .cs-item {
    text-align: left;
    list-style: none;
    width: 100%;
    padding: clamp(1.5rem, 3.1vw, 2rem) clamp(1rem, 2.3vw, 2rem);
    background-color: #fff;
    border: 1px solid transparent;
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    grid-column: span 12;
    position: relative;
    transition: border 0.3s;
  }
  #steps-2014 .cs-item:hover {
    border: 1px solid var(--primary);
  }
  #steps-2014 .cs-item:hover .cs-h3 {
    color: var(--primary);
  }
  #steps-2014 .cs-h3 {
    font-size: clamp(1.25rem, 2vw, 1.5625rem);
    line-height: 1.2em;
    text-align: left;
    width: 100%;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
    transition: color 0.3s;
  }
  #steps-2014 .cs-item-text {
    font-size: 1rem;
    line-height: 1.5em;
    text-align: inherit;
    margin: 0 0 1.5rem 0;
    color: var(--bodyTextColor);
  }
  #steps-2014 .cs-number-wrapper {
    width: 3rem;
    height: 3rem;
    margin-top: auto;
    margin-bottom: -1.5rem;
    padding: 0.625rem;
    background-color: var(--headerColor);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
  }
  #steps-2014 .cs-number {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
  }
  #steps-2014 .cs-picture {
    width: 100%;
    height: 11.25rem;
    display: block;
    flex: none;
  }
  #steps-2014 .cs-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0.5rem;
  }
  #steps-2014 .cs-button-solid {
    font-size: 1rem;
    font-weight: 700;
    line-height: clamp(2.875rem, 5.5vw, 3.5rem);
    text-align: center;
    text-decoration: none;
    min-width: 9.375rem;
    margin: 2rem 0 0 0;
    box-sizing: border-box;
    padding: 0 clamp(2rem, 4vw, 3rem);
    background-color: var(--primary);
    overflow: hidden;
    color: #fff;
    border: none;
    border-radius: 0.5rem;
    display: inline-block;
    position: relative;
    z-index: 1;
  }
  #steps-2014 .cs-button-solid:before {
    content: "";
    width: 0%;
    height: 100%;
    background: #000;
    opacity: 1;
    border-radius: 0.25rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transition: width 0.3s;
  }
  #steps-2014 .cs-button-solid:hover:before {
    width: 100%;
  }
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
  #steps-2014 .cs-container {
    max-width: 80rem;
  }
  #steps-2014 .cs-item {
    grid-column: span 4;
  }
}
/* Desktop - 1024px */
@media only screen and (min-width: 75rem) {
  #steps-2014 .cs-container {
    flex-direction: row;
    align-items: flex-start;
  }
  #steps-2014 .cs-content {
    text-align: left;
    max-width: clamp(13.8125rem, 21vw, 19.0625rem);
    align-items: flex-start;
  }
}