AltoCode
Arnad

HTML
<!-- ============================================ -->
<!-- CTA -->
<!-- ============================================ -->
<section id="cta-461">
<div class="cs-container">
<div class="cs-content">
<span class="cs-topper">Contattaci Ora</span>
<h2 class="cs-title">Non Perdere l'Occasione!</h2>
<p class="cs-text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor.
</p>
</div>
<a href="" class="cs-cta">
<svg class="cs-arrow" xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" fill="none"><path fill="#FAFBFC" d="M24.55 31.367c-.317 0-.633-.117-.883-.367a1.258 1.258 0 0 1 0-1.767L32.9 20l-9.233-9.233a1.258 1.258 0 0 1 0-1.767 1.258 1.258 0 0 1 1.766 0L35.55 19.117a1.258 1.258 0 0 1 0 1.766L25.433 31c-.25.25-.566.367-.883.367Z"/><path fill="#FAFBFC" d="M34.383 21.25H6.333A1.26 1.26 0 0 1 5.083 20c0-.683.567-1.25 1.25-1.25h28.05c.684 0 1.25.567 1.25 1.25a1.26 1.26 0 0 1-1.25 1.25Z"/></svg>
<span class="cs-cta-text">Inizia <br>Subito</span>
</a>
</div>
<img class="cs-decoration" aria-hidden="true" src="https://csimg.nyc3.cdn.digitaloceanspaces.com/FAQ/leaf.png" loading="lazy" decoding="async" alt="foglia" width="735" height="803">
</section>
CSS
/*-- -------------------------- -->
<--- CTA -->
<--- -------------------------- -*/
/* Mobile - 360px */
@media only screen and (min-width: 0rem) {
#cta-461 {
padding: var(--sectionPadding);
position: relative;
overflow: hidden;
z-index: 1;
}
#cta-461 .cs-container {
width: 100%;
max-width: 31.25rem;
margin: auto;
}
#cta-461 .cs-swoosh {
display: none;
}
#cta-461 .cs-container {
width: 100%;
max-width: 31.25rem;
margin: auto;
display: flex;
flex-direction: column;
align-items: center;
gap: clamp(3rem, 6vw, 4rem);
}
#cta-461 .cs-content {
text-align: left;
width: 100%;
max-width: 36.3125rem;
display: flex;
flex-direction: column;
align-items: flex-start;
}
#cta-461 .cs-title,
#cta-461 .cs-text {
color: var(--bodyTextColorWhite);
}
#cta-461 .cs-text {
opacity: .8;
}
#cta-461 .cs-decoration {
display: none;
}
#cta-461 .cs-cta {
font-size: clamp(0.875rem, 1.5vw, 1.25rem);
text-decoration: none;
text-align: center;
width: clamp(8.8125rem, 17vw, 14rem);
height: clamp(8.8125rem, 17vw, 14rem);
margin: 0 2.25rem 1rem auto;
background-color: var(--primaryLight);
color: var(--bodyTextColorWhite);
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
align-self: flex-end;
position: relative;
transition: background-color 0.3s;
}
#cta-461 .cs-cta:hover {
background-color: #14142b;
}
#cta-461 .cs-cta:hover .cs-arrow {
transform: translateX(3.75rem);
opacity: 0;
}
#cta-461 .cs-cta:hover .cs-cta-text {
transform: translateY(-0.9375rem);
}
#cta-461 .cs-cta:before {
content: "";
width: 93.75rem;
height: 62.5rem;
background: #14142b;
border-radius: 0 0 6.25rem 0;
opacity: 1;
position: absolute;
display: block;
bottom: -4.75rem;
right: 2rem;
transform: rotate(30deg);
transform-origin: bottom right;
z-index: -1;
}
#cta-461 .cs-arrow {
width: 2.5rem;
height: auto;
transition: transform 0.3s,
opacity 0.3s;
}
#cta-461 .cs-cta-text {
transition: transform 0.3s;
}
}
/* 500px */
@media only screen and (min-width: 31.25rem) {
#cta-461 {
overflow: hidden;
padding-bottom: 12vw;
}
#cta-461 .cs-container {
align-items: flex-start;
}
#cta-461 .cs-cta:before {
border-radius: 9.375rem;
bottom: -6.25rem;
right: 1.25rem;
}
}
/* Tablet - 768px */
@media only screen and (min-width: 48rem) {
#cta-461 {
margin-bottom: 3.75rem;
padding-bottom: 0;
background-color: #14142b;
position: relative;
}
#cta-461:before {
content: "";
width: 37.75rem;
height: 37.75rem;
border-radius: 50%;
background: #333142;
opacity: 1;
position: absolute;
display: block;
top: -6.25rem;
right: -18.75rem;
z-index: -2;
}
#cta-461 .cs-container {
max-width: 80rem;
position: relative;
}
#cta-461 .cs-container:before {
content: "";
width: 375rem;
height: 62.5rem;
margin-right: -93.75rem;
background: #fff;
pointer-events: none;
opacity: 1;
position: absolute;
display: block;
top: 50%;
right: 50%;
transform: rotate(5deg);
}
#cta-461 .cs-container:after {
content: "";
width: 375rem;
height: 187.5rem;
margin-right: -218.75rem;
background: #fff;
pointer-events: none;
opacity: 1;
position: absolute;
display: block;
top: 100%;
right: 50%;
transform: rotate(-25deg);
z-index: -1;
}
#cta-461 .cs-text {
width: 55%;
}
#cta-461 .cs-cta {
box-sizing: border-box;
border: 12px solid #fff;
margin-right: clamp(6.25rem, 15vw, 6.25rem);
}
#cta-461 .cs-cta:before {
display: none;
}
}
/* Desktop 1200px */
@media only screen and (min-width: 75rem) {
#cta-461 {
padding-top: 10rem;
}
#cta-461:before {
width: 51.5rem;
height: 51.5rem;
margin-left: 23.75rem;
right: auto;
left: 50%;
top: -3.125rem;
transform: none;
}
#cta-461:after {
content: "";
width: 39.3125rem;
height: 28.6875rem;
margin-right: 21.125rem;
background: #f1f1f4;
opacity: 0.16;
-webkit-filter: blur(182px);
filter: blur(182px);
position: absolute;
display: block;
top: -16.4375rem;
right: 50%;
}
#cta-461 .cs-text {
margin-bottom: 12.5rem;
}
#cta-461 .cs-decoration {
height: 50.1875rem;
width: auto;
margin-left: 8.75rem;
display: block;
position: absolute;
bottom: 0;
left: 50%;
z-index: -2;
}
}