html {
font-family: "Poppins";
}  body,
html {
font-size: 16px;
box-sizing: border-box;
margin: 0;
padding: 0;
}
*,
*:before,
*:after {
box-sizing: border-box;
}
h1,
h2,
h4,
h5,
h6,
p,
ol,
ul {
margin: 0 0 1rem 0;
padding: 0;
}
ol,
ul {
list-style-type: none;
}
img {
height: auto;
}
h1 {
font-size: 4rem;
}
h2 {
font-size: 3rem;
}
h3 {
font-size: 2rem;
}
h4 {
font-size: 1rem;
}
h5 {
font-size: 0.8rem;
}
h6 {
font-size: 0.6rem;
}
a {
text-decoration: none
} :root {
--color-ciano: rgb(63, 185, 188);
--color-grigio: rgb(112, 112, 112);
--color-verde: rgb(11, 113, 19);
--color-grigio-scuro: rgb(62, 61, 63);
--color-bianco: rgb(255, 255, 255);
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
line-height: 1.6;
color: #333;
}
body.no-scroll {
overflow: hidden !important;
position: fixed;
width: 100%;
} .header {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1000;
padding: 20px 0;
background: transparent;
transition: background 0.4s ease-in-out, padding 0.4s ease-in-out, transform 0.15s ease-in-out;
} .admin-bar .header {
top: 32px;
} @media screen and (max-width: 782px) {
.admin-bar .header {
top: 46px;
}
}
.header.scrolled {
background: var(--color-bianco);
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
padding: 15px 0;
}
.header.hidden {
transform: translateY(-100%);
}
.header__container {
max-width: 1250px;
margin: 0 auto;
padding: 0 15px;
display: flex;
justify-content: space-between;
align-items: center;
}
.header__logo {
order: 1;
width: 200px;
position: relative;
}
.header__logo img {
width: 100%;
height: auto;
display: block;
transition: opacity 0.4s ease-in-out;
}
.header__logo-white {
opacity: 1;
}
.header__logo-color {
position: absolute;
top: 0;
left: 0;
opacity: 0;
}
.header.scrolled .header__logo-white {
opacity: 0;
}
.header.scrolled .header__logo-color {
opacity: 1;
}
.header__hamburger,
input#menu-hamburger {
order: 2;
}
.header__nav {
order: 3;
display: flex;
align-items: center;
gap: 40px;
}
.header__menu {
display: flex;
list-style: none;
margin: 0;
padding: 0;
gap: 35px;
} .header__menu .menu-item,
.header__menu-item {
margin: 0;
} .header__menu .menu-item > a,
.header__menu-link {
color: white;
text-decoration: none;
font-size: 0.95rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
transition: all 0.3s ease;
}
.header__menu .menu-item > a:hover,
.header__menu-link:hover {
opacity: 0.7;
}
.header.scrolled .header__menu .menu-item > a,
.header.scrolled .header__menu-link {
color: var(--color-grigio-scuro);
} input#menu-hamburger {
display: none;
}
.header__hamburger {
display: none;
cursor: pointer;
width: 40px;
height: 40px;
justify-content: center;
align-items: center;
}
.header__hamburger .hamburguer {
position: relative;
}
.header__hamburger .hamburguer,
.header__hamburger .hamburguer::before,
.header__hamburger .hamburguer::after {
display: block;
background-color: white;
width: 28px;
height: 3px;
transition: all 0.3s ease-in-out;
}
.header__hamburger .hamburguer::before,
.header__hamburger .hamburguer::after {
content: '';
position: absolute;
left: 50%;
transform: translateX(-50%);
}
.header__hamburger .hamburguer::before {
top: -9px;
}
.header__hamburger .hamburguer::after {
bottom: -9px;
} input#menu-hamburger:checked~label .hamburguer {
background-color: transparent;
}
input#menu-hamburger:checked~label .hamburguer::before {
top: 0;
transform: translateX(-50%) rotate(135deg);
}
input#menu-hamburger:checked~label .hamburguer::after {
bottom: 0;
transform: translateX(-50%) rotate(-135deg);
} input#menu-hamburger:checked~.header__nav {
left: 0;
} @media (max-width: 991px) {
.header__hamburger {
display: flex;
}
input#menu-hamburger {
display: none;
}
.header__nav {
position: fixed;
top: 0;
left: -100%;
width: 280px;
height: 100vh;
background: rgba(0, 51, 102, 0.98);
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
padding: 80px 30px 30px;
gap: 0;
transition: left 0.4s ease;
box-shadow: 2px 0 10px rgba(0, 0, 0, 0.3);
}
.header__nav.active {
left: 0;
}
.header__menu {
flex-direction: column;
gap: 0;
width: 100%;
}
.header__menu .menu-item,
.header__menu-item {
width: 100%;
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.header__menu .menu-item > a,
.header__menu-link {
display: block;
padding: 18px 0;
font-size: 1.1rem;
}
.header__logo {
width: 150px;
}
}
@media (max-width: 768px) {
.header {
padding: 15px 0;
}
.header__logo {
width: 100px;
}
.header__nav {
width: 250px;
padding: 70px 25px 25px;
}
} .hero {
position: relative;
height: 100vh;
min-height: 600px;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
display: flex;
align-items: center;
color: white;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.25);
z-index: 0;
}
.hero .grid {
position: relative;
z-index: 1;
}
.hero__content {
max-width: 1000px;
}
.hero__subtitle {
font-size: 1.5rem;
font-weight: 600;
margin-bottom: 25px;
line-height: 1.6;
}
.hero__title {
font-size: 3.7rem;
font-weight: 500;
line-height: 1.3;
margin-bottom: 10px;
text-transform: uppercase;
}
.hero__cta {
display: inline-block;
background-color: #4169E1;
color: white;
padding: 16px 35px;
border-radius: 5px;
text-decoration: none;
font-weight: 600;
font-size: 0.95rem;
transition: all 0.3s ease;
}
.hero__cta:hover {
background-color: #365ABD;
transform: translateY(-2px);
} .hero-scroll-indicator {
display: flex;
flex-direction: row;
align-items: center;
gap: 30px;
margin-top: 15px;
}
.hero-scroll-animation {
display: flex;
flex-direction: column;
align-items: center;
height: 240px;
position: relative;
}
.hero-scroll-line {
width: 2px;
height: 0;
background-color: white;
animation: lineYoyo 3s ease-in-out infinite;
}
.hero-scroll-circle {
width: 40px;
height: 40px;
border-radius: 50%;
background-color: white;
display: flex;
align-items: center;
justify-content: center;
color: var(--color-ciano);
text-decoration: none;
cursor: pointer;
position: absolute;
top: 0;
animation: circleYoyo 3s ease-in-out infinite;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hero-scroll-circle:hover {
transform: scale(1.1);
box-shadow: 0 5px 15px rgba(255, 255, 255, 0.3);
}
@keyframes lineYoyo {
0% {
height: 0;
opacity: 1;
}
90% {
height: 200px;
opacity: 1;
}
100% {
height: 200px;
opacity: 0;
}
}
@keyframes circleYoyo {
0% {
transform: translateY(0);
opacity: 1;
}
90% {
transform: translateY(200px);
opacity: 1;
}
100% {
transform: translateY(200px);
opacity: 0;
}
} .header__logo {
opacity: 0;
transform: translateY(-20px);
}
.header__menu .menu-item {
opacity: 0;
transform: translateY(-10px);
}
.hero__subtitle {
opacity: 0;
transform: translateY(30px);
}
.hero__title {
opacity: 0;
transform: translateY(30px);
}
.hero-scroll-indicator {
opacity: 0;
transform: translateY(20px);
} @media (max-width: 768px) {
.hero__title {
font-size: 1.75rem;
}
.hero__subtitle {
font-size: 1rem;
}
.hero__cta {
padding: 14px 28px;
font-size: 0.9rem;
}
} #montoggio31 .img-absolute {
overflow: hidden;
position: absolute;
left: 0;
top: -150px;
width: auto;
max-height: 750px;
object-fit: contain;
z-index: 2;
} #montoggio31 .col-40 {
position: relative;
}
@media (max-width: 998px) {
#montoggio31 .col-40 {
padding: 0;
order: 2;
}
#montoggio31 .col-60 {
order: 1;
}
#montoggio31 .col-80 {
order: 3;
}
#montoggio31 .img-absolute {
position: relative;
top: 0;
width: 100%;
height: 500px;
margin: 30px auto;
object-fit: cover;
display: block;
}
}
@media (max-width: 600px) {
#montoggio31 .img-absolute {
height: 400px;
}
}  .tabs {
width: 100%;
}
.tabs__input {
display: none;
}
.tabs__nav {
display: flex;
justify-content: center;
gap: 0;
}
.tabs__label {
padding: 15px 40px;
cursor: pointer;
font-weight: 500;
font-size: 1.3rem;
letter-spacing: 0.5px;
color: var(--color-grigio-scuro);
background-color: transparent;
transition: all 0.3s ease;
border-left: none;
border-right: none;
}
.tabs__label:first-of-type {
border-left: 2px solid var(--color-ciano);
border-right: 2px solid var(--color-ciano);
}
.tabs__label:last-of-type {
border-left: 2px solid var(--color-ciano);
border-right: 2px solid var(--color-ciano);
}
.tabs__label:hover {
opacity: 0.8;
} #tab-bilocali:checked ~ .tabs__nav label[for="tab-bilocali"],
#tab-trilocali:checked ~ .tabs__nav label[for="tab-trilocali"],
#tab-attici:checked ~ .tabs__nav label[for="tab-attici"] {
background-color: var(--color-ciano);
color: var(--color-bianco);
} .tabs__content {
width: 100%;
margin-top: 30px;
}
.tabs__panel {
display: none;
animation: fadeIn 0.4s ease;
}
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
} #tab-bilocali:checked ~ .tabs__content .tabs__panel[data-tab="bilocali"],
#tab-trilocali:checked ~ .tabs__content .tabs__panel[data-tab="trilocali"],
#tab-attici:checked ~ .tabs__content .tabs__panel[data-tab="attici"] {
display: block;
} @media (max-width: 768px) {
.tabs__nav {
flex-direction: column;
gap: 0;
border-bottom: none;
}
.tabs__label {
padding: 15px 20px;
border: 2px solid var(--color-ciano);
border-bottom: 2px solid var(--color-ciano);
margin-bottom: -2px;
text-align: left;
}
.tabs__label:first-of-type {
border-top: 2px solid var(--color-ciano);
}
.tabs__label:last-of-type {
border-bottom: 2px solid var(--color-ciano);
margin-bottom: 0;
} #tab-bilocali:checked ~ .tabs__nav label[for="tab-bilocali"],
#tab-trilocali:checked ~ .tabs__nav label[for="tab-trilocali"],
#tab-attici:checked ~ .tabs__nav label[for="tab-attici"] {
background-color: var(--color-ciano);
color: var(--color-bianco);
border: 2px solid var(--color-ciano);
}
} .appartamento__planimetria {
width: 100%;
max-width: 700px;
height: auto;
max-height: none;
display: block;
margin: 0 auto;
object-fit: contain;
}
.appartamento__info {
max-width: 450px;
}
.appartamento__titolo {
color: var(--color-grigio-scuro);
line-height: 1.2;
}
.appartamento__sottotitolo {
line-height: 1.5;
}
.appartamento__descrizione {
line-height: 1.7;
color: var(--color-grigio);
}
.appartamento__lista {
list-style: none;
padding: 0;
margin: 0;
}
.appartamento__lista-item {
display: flex;
justify-content: space-between;
padding: 10px 0;
border-bottom: 1px solid rgba(112, 112, 112, 0.2);
}
.appartamento__lista-item:last-child {
border-bottom: none;
}
.appartamento__label {
font-weight: 500;
color: var(--color-grigio-scuro);
font-size: 0.9rem;
}
.appartamento__value {
font-weight: 400;
color: var(--color-grigio);
font-size: 0.9rem;
}
.appartamento__prezzo {
font-size: 1.1rem;
} @media (max-width: 991px) {
.appartamento__info {
max-width: 100%;
}
.appartamento__planimetria {
max-width: 600px;
}
}
@media (max-width: 768px) {
.appartamento__titolo {
font-size: 1.3rem;
}
.appartamento__sottotitolo {
font-size: 0.95rem;
}
.appartamento__descrizione {
font-size: 0.85rem;
}
.appartamento__planimetria {
margin-bottom: 20px;
max-width: 100%;
}
.appartamento__label,
.appartamento__value {
font-size: 0.85rem;
}
.appartamento__prezzo {
font-size: 1rem;
}
} .appartamento-swiper {
width: 100%;
padding: 20px 0 50px;
position: relative;
}
.appartamento-swiper .swiper-button-next,
.appartamento-swiper .swiper-button-prev {
color: var(--color-ciano);
background-color: white;
width: 44px;
height: 44px;
border-radius: 50%;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.appartamento-swiper .swiper-button-next:after,
.appartamento-swiper .swiper-button-prev:after {
font-size: 20px;
font-weight: bold;
} @media (min-width: 769px) {
.appartamento-swiper .swiper-button-next,
.appartamento-swiper .swiper-button-prev {
top: 35%;
transform: translateY(-50%);
}
}
.appartamento-swiper .swiper-pagination-bullet {
background-color: var(--color-grigio);
opacity: 0.5;
}
.appartamento-swiper .swiper-pagination-bullet-active {
background-color: var(--color-ciano);
opacity: 1;
} @media (max-width: 768px) {
.appartamento-swiper .swiper-button-next,
.appartamento-swiper .swiper-button-prev {
width: 35px;
height: 35px;
}
.appartamento-swiper .swiper-button-next:after,
.appartamento-swiper .swiper-button-prev:after {
font-size: 16px;
}
} .lightbox {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999999;
display: none;
}
.lightbox--active {
display: block;
}
.lightbox__overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.9);
cursor: pointer;
z-index: 999998;
}
.lightbox__content {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
padding: 60px 20px;
z-index: 999999;
}
.lightbox__image {
max-width: 90vw;
max-height: 90vh;
width: auto !important;
height: auto !important;
object-fit: contain;
cursor: default;
display: block;
margin: 0 auto;
}
.lightbox__close {
position: absolute;
top: 20px;
right: 20px;
background: transparent;
border: none;
color: white;
font-size: 48px;
font-weight: 300;
line-height: 1;
cursor: pointer;
padding: 10px;
transition: transform 0.2s ease, opacity 0.2s ease;
z-index: 10000;
}
.lightbox__close:hover {
transform: scale(1.1);
opacity: 0.8;
} .appartamento__planimetria {
cursor: pointer;
transition: opacity 0.3s ease;
}
.appartamento__planimetria:hover {
opacity: 0.9;
} .esterni-image-wrapper {
cursor: pointer;
} .slide-section__image {
cursor: pointer;
transition: opacity 0.3s ease;
}  .slide-section {
position: relative;
padding: 80px 0 120px;
overflow: visible;
}
.slide-section__container {
position: relative;
} .slide-section__bg {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 55%;
background-color: var(--color-grigio-scuro);
z-index: 0;
}
.slide-section__text {
position: relative;
z-index: 1;
padding-right: 40px;
}
.slide-section__slider {
position: relative;
z-index: 1;
padding-left: 20px;
display: flex;
align-items: center;
}
.slide-section__image {
width: 100%;
max-width: 950px;
height: 500px;
display: block;
object-fit: cover;
margin: 0 auto;
} .slide-swiper {
width: 100%;
padding: 60px 0 116px;
position: relative;
}
.swiper-autoheight {
min-height: 730px;
height: auto !important;
}
.swiper-autoheight .swiper-slide {
height: auto !important;
display: flex;
flex-direction: column;
}
@media (max-width: 998px) {
.swiper-autoheight {
min-height: auto;
height: auto !important;
}
}
.slide-swiper .swiper-slide {
display: flex;
align-items: center;
justify-content: center;
height: auto;
padding: 78px 0;
}
.slide-swiper .swiper-pagination {
bottom: 10px !important;
position: absolute;
left: 50% !important;
transform: translateX(-50%);
width: auto !important;
top: auto !important;
}
.slide-swiper .swiper-pagination-bullet {
background-color: transparent;
border: 2px solid var(--color-ciano);
opacity: 1;
width: 12px;
height: 12px;
}
.slide-swiper .swiper-pagination-bullet-active {
background-color: var(--color-ciano);
border: 2px solid var(--color-ciano);
} @media (max-width: 991px) {
.slide-section__bg {
width: 100%;
}
.slide-section__text {
padding-right: 20px;
margin-bottom: 40px;
}
.slide-section__slider {
padding-left: 0;
}
.slide-section__image {
max-width: 700px;
height: 567px;
}
.slide-swiper .swiper-slide {
height: auto;
padding: 40px 0;
}
.slide-section__bg {
width: 100%;
top: -20px;
}
}
@media (max-width: 768px) {
.slide-section {
padding: 60px 0;
}
.slide-section__text {
padding-right: 15px;
}
.slide-section__text h2 {
font-size: 1.75rem;
}
.slide-section__text p {
font-size: 0.9rem;
}
.slide-section__image {
max-width: 500px;
height: 405px;
}
.slide-swiper .swiper-slide {
height: auto;
padding: 30px 0;
}
.slide-swiper {
padding: 40px 0 70px;
}
.slide-swiper .swiper-pagination {
bottom: 10px !important;
}
}
@media (max-width: 480px) {
.slide-section__image {
max-width: 100%;
height: 300px;
}
.slide-swiper .swiper-slide {
height: auto;
padding: 20px 0;
}
.slide-swiper {
padding: 30px 0 60px;
}
.slide-swiper .swiper-pagination {
bottom: 10px !important;
}
} #appartamenti-esterni{
width: 100%;
margin: 0 auto;
position: relative;
}
.rett-grigio{
position: absolute;
content: '';
left: 0;
bottom: -40px;
height: 200px;
width: 50%;
background: var(--color-grigio-scuro);
z-index: 1;
}
#appartamenti-esterni .grid {
z-index: 2;
position: relative;
} #appartamenti-esterni [class*="col-"]{
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
text-align: center;
}
#appartamenti-esterni [class*="col-"] img{
height: 140px;
width: auto;
display: block;
margin: 0 auto 15px;
} .quartiere-section .grid{
position: relative;
height: 700px;
}
.map{
position: absolute;
content: '';
bottom: 0;
left: 0;
height: 600px;
width: 600px;
z-index: 2;
}
.text-container{
position: absolute;
content: '';
background:var(--color-grigio-scuro);
top: 0;
right: 0;
height: 500px;
width: 800px;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
} @media (max-width: 1250px) {
.quartiere-section .grid {
height: 600px;
}
.map {
width: 500px;
height: 500px;
}
.text-container {
width: 700px;
height: 450px;
}
}
@media (max-width: 1100px) {
.quartiere-section .grid {
height: 550px;
}
.map {
width: 450px;
height: 450px;
}
.text-container {
width: 600px;
height: 400px;
}
.text-container .w-50 {
width: 80%;
}
}
@media (max-width: 998px) {
.quartiere-section .grid {
height: auto;
flex-direction: column;
}
.map {
position: relative;
width: 100%;
height: 400px;
left: auto;
bottom: auto;
}
.text-container {
position: relative;
width: 100%;
height: auto;
top: auto;
right: auto;
padding: 50px 30px;
}
.text-container .w-50 {
width: 100%;
margin-left: 0;
}
}
@media (max-width: 768px) {
.map {
height: 350px;
}
.text-container {
padding: 40px 20px;
}
.text-container h3 {
font-size: 1.75rem;
}
.text-container h4 {
font-size: 1.25rem;
}
.text-container p {
font-size: 0.9rem;
}
} .cta-section {
padding: 80px 0;
text-align: center;
}
.cta-section--ciano {
padding-bottom: 60px;
}
.cta-section--white {
padding-top: 60px;
padding-bottom: 80px;
}
.cta-header {
display: flex;
align-items: center;
justify-content: center;
gap: 60px;
margin-bottom: 40px;
flex-direction: column;
}
.cta-logo {
width: 250px;
}
.cta-title {
font-size: 2.5rem;
font-weight: 500;
margin-top: 0;
margin-bottom: 15px;
}
.cta-subtitle {
font-size: 1.5rem;
font-weight: 500;
margin-bottom: 0;
}
.cta-handwriting {
font-family: 'Handlee', cursive;
font-size: 2.5rem;
margin-bottom: 10px;
}
.cta-handwriting-small {
font-family: 'Handlee', cursive;
font-size: 1.5rem;
margin-top: 0;
}  .grid {
margin: 0 auto;
padding: 0 15px;
max-width: 1250px;
display: flex;
flex-flow: row;
flex-wrap: wrap;
} .grid--start {
justify-content: flex-start;
}
.grid--center {
justify-content: center;
}
.grid--end {
justify-content: flex-end;
}
.grid--between {
justify-content: space-between;
}
.grid--around {
justify-content: space-around;
} .grid--top {
align-items: flex-start;
}
.grid--middle {
align-items: center;
}
.grid--bottom {
align-items: flex-end;
}
.grid--stretch {
align-items: stretch;
} .grid--gap-10 {
gap: 10px;
}
.grid--gap-20 {
gap: 20px;
}
.grid--gap-30 {
gap: 30px;
}
.grid--no-padding [class*='col-'] {
padding: 0;
} .col {
flex: 1;
} [class*='col-'] {
position: relative;
padding: 0 15px;
} .grid .grid [class*='col-'] {
padding: 0px;
position: relative;
} .col-10 {
width: 10%;
}
.col-20 {
width: 20%;
}
.col-25 {
width: 25%;
}
.col-30 {
width: 30%;
}
.col-33 {
width: 33.33%;
}
.col-40 {
width: 40%;
}
.col-50 {
width: 50%;
}
.col-60 {
width: 60%;
}
.col-66 {
width: 66.66%;
}
.col-70 {
width: 70%;
}
.col-75 {
width: 75%;
}
.col-80 {
width: 80%;
}
.col-100 {
width: 100%;
} .col--order-1 {
order: 1;
}
.col--order-2 {
order: 2;
}
.col--order-3 {
order: 3;
}
.col--order-first {
order: -1;
}
.col--order-last {
order: 999;
} .col--self-start {
align-self: flex-start;
}
.col--self-center {
align-self: center;
}
.col--self-end {
align-self: flex-end;
}
.col--self-stretch {
align-self: stretch;
} .hide {
display: none;
}
.show {
display: block;
} @media (max-width: 991px) {
.tab-10 {
width: 10%;
}
.tab-20 {
width: 20%;
}
.tab-25 {
width: 25%;
}
.tab-30 {
width: 30%;
}
.tab-33 {
width: 33.33%;
}
.tab-40 {
width: 40%;
}
.tab-50 {
width: 50%;
}
.tab-60 {
width: 60%;
}
.tab-66 {
width: 66.66%;
}
.tab-70 {
width: 70%;
}
.tab-75 {
width: 75%;
}
.tab-80 {
width: 80%;
}
.tab-100 {
width: 100%;
}
.tab-hide {
display: none;
}
.tab-show {
display: block;
}
.tab-order-1 {
order: 1;
}
.tab-order-2 {
order: 2;
}
.tab-order-3 {
order: 3;
}
} @media (max-width: 768px) { [class*='col-'] {
width: 100%;
} .sma-10 {
width: 10%;
}
.sma-20 {
width: 20%;
}
.sma-25 {
width: 25%;
}
.sma-30 {
width: 30%;
}
.sma-33 {
width: 33.33%;
}
.sma-40 {
width: 40%;
}
.sma-50 {
width: 50%;
}
.sma-60 {
width: 60%;
}
.sma-66 {
width: 66.66%;
}
.sma-70 {
width: 70%;
}
.sma-75 {
width: 75%;
}
.sma-80 {
width: 80%;
}
.sma-100 {
width: 100%;
}
.sma-hide {
display: none;
}
.sma-show {
display: block;
}
.sma-order-1 {
order: 1;
}
.sma-order-2 {
order: 2;
}
.sma-order-3 {
order: 3;
}
} .auto {
margin: 0 auto;
}
.text-center {
text-align: center;
} .light {
font-weight: 400;
}
.medium {
font-weight: 500;
}
.semibold {
font-weight: 600;
}
.bold {
font-weight: 700;
} .uppercase {
text-transform: uppercase;
}
.lowcase {
text-transform: lowercase;
}
.capitalize {
text-transform: capitalize;
}
.corsivo{font-style: italic;} .text-xs {
font-size: 0.75rem;
} .text-sm {
font-size: 0.875rem;
} .text-base {
font-size: 1rem;
} .text-lg {
font-size: 1.125rem;
} .text-xl {
font-size: 1.25rem;
} .text-2xl {
font-size: 1.5rem;
} .text-3xl {
font-size: 1.875rem;
} .text-4xl {
font-size: 2.25rem;
} .text-5xl {
font-size: 2.5rem;
} .text-6xl {
font-size: 3rem;
} .text-7xl {
font-size: 3.75rem;
} .text-8xl {
font-size: 4.5rem;
}  .bg-ciano {
background-color: var(--color-ciano);
}
.bg-grigio {
background-color: var(--color-grigio);
}
.bg-verde {
background-color: var(--color-verde);
}
.bg-grigio-scuro {
background-color: var(--color-grigio-scuro);
}
.bg-bianco {
background-color: var(--color-bianco);
} .text-ciano {
color: var(--color-ciano);
}
.text-grigio {
color: var(--color-grigio);
}
.text-verde {
color: var(--color-verde);
}
.text-grigio-scuro {
color: var(--color-grigio-scuro);
}
.text-bianco {
color: var(--color-bianco);
} .border-ciano {
border-color: var(--color-ciano);
}
.border-grigio {
border-color: var(--color-grigio);
}
.border-verde {
border-color: var(--color-verde);
}
.border-grigio-scuro {
border-color: var(--color-grigio-scuro);
}
.border-bianco {
border-color: var(--color-bianco);
}  .text-ciano:hover {
opacity: 0.8;
transition: opacity 0.3s ease;
}
.cbd {
border: 1px solid red !important;
} .margin-1 {
margin: 10px !important;
}
.margin-2 {
margin: 20px !important;
}
.margin-3 {
margin: 30px !important;
}
.margin-4 {
margin: 40px !important;
}
.margin-5 {
margin: 50px !important;
}
.margin-6 {
margin: 60px !important;
}
.margin-7 {
margin: 70px !important;
}
.margin-8 {
margin: 80px !important;
}
.margin-9 {
margin: 90px !important;
}
.margin-10 {
margin: 100px !important;
}
.margin-11 {
margin: 110px !important;
}
.margin-12 {
margin: 120px !important;
}
.margin-13 {
margin: 130px !important;
}
.margin-14 {
margin: 140px !important;
}
.margin-15 {
margin: 150px !important;
} .margin-top-1 {
margin-top: 10px !important;
}
.margin-top-2 {
margin-top: 20px !important;
}
.margin-top-3 {
margin-top: 30px !important;
}
.margin-top-4 {
margin-top: 40px !important;
}
.margin-top-5 {
margin-top: 50px !important;
}
.margin-top-6 {
margin-top: 60px !important;
}
.margin-top-7 {
margin-top: 70px !important;
}
.margin-top-8 {
margin-top: 80px !important;
}
.margin-top-9 {
margin-top: 90px !important;
}
.margin-top-10 {
margin-top: 100px !important;
}
.margin-top-11 {
margin-top: 110px !important;
}
.margin-top-12 {
margin-top: 120px !important;
}
.margin-top-13 {
margin-top: 130px !important;
}
.margin-top-14 {
margin-top: 140px !important;
}
.margin-top-15 {
margin-top: 150px !important;
} .margin-right-1 {
margin-right: 10px !important;
}
.margin-right-2 {
margin-right: 20px !important;
}
.margin-right-3 {
margin-right: 30px !important;
}
.margin-right-4 {
margin-right: 40px !important;
}
.margin-right-5 {
margin-right: 50px !important;
}
.margin-right-6 {
margin-right: 60px !important;
}
.margin-right-7 {
margin-right: 70px !important;
}
.margin-right-8 {
margin-right: 80px !important;
}
.margin-right-9 {
margin-right: 90px !important;
}
.margin-right-10 {
margin-right: 100px !important;
}
.margin-right-11 {
margin-right: 110px !important;
}
.margin-right-12 {
margin-right: 120px !important;
}
.margin-right-13 {
margin-right: 130px !important;
}
.margin-right-14 {
margin-right: 140px !important;
}
.margin-right-15 {
margin-right: 150px !important;
} .margin-bottom-1 {
margin-bottom: 10px !important;
}
.margin-bottom-2 {
margin-bottom: 20px !important;
}
.margin-bottom-3 {
margin-bottom: 30px !important;
}
.margin-bottom-4 {
margin-bottom: 40px !important;
}
.margin-bottom-5 {
margin-bottom: 50px !important;
}
.margin-bottom-6 {
margin-bottom: 60px !important;
}
.margin-bottom-7 {
margin-bottom: 70px !important;
}
.margin-bottom-8 {
margin-bottom: 80px !important;
}
.margin-bottom-9 {
margin-bottom: 90px !important;
}
.margin-bottom-10 {
margin-bottom: 100px !important;
}
.margin-bottom-11 {
margin-bottom: 110px !important;
}
.margin-bottom-12 {
margin-bottom: 120px !important;
}
.margin-bottom-13 {
margin-bottom: 130px !important;
}
.margin-bottom-14 {
margin-bottom: 140px !important;
}
.margin-bottom-15 {
margin-bottom: 150px !important;
} .margin-left-1 {
margin-left: 10px !important;
}
.margin-left-2 {
margin-left: 20px !important;
}
.margin-left-3 {
margin-left: 30px !important;
}
.margin-left-4 {
margin-left: 40px !important;
}
.margin-left-5 {
margin-left: 50px !important;
}
.margin-left-6 {
margin-left: 60px !important;
}
.margin-left-7 {
margin-left: 70px !important;
}
.margin-left-8 {
margin-left: 80px !important;
}
.margin-left-9 {
margin-left: 90px !important;
}
.margin-left-10 {
margin-left: 100px !important;
}
.margin-left-11 {
margin-left: 110px !important;
}
.margin-left-12 {
margin-left: 120px !important;
}
.margin-left-13 {
margin-left: 130px !important;
}
.margin-left-14 {
margin-left: 140px !important;
}
.margin-left-15 {
margin-left: 150px !important;
} .padding-0{padding: 0!important;}
.padding-1 {
padding: 10px !important;
}
.padding-2 {
padding: 20px !important;
}
.padding-3 {
padding: 30px !important;
}
.padding-4 {
padding: 40px !important;
}
@media (max-width: 768px) {
.padding-4 {
padding: 0 !important;
}
}
.padding-5 {
padding: 50px !important;
}
.padding-6 {
padding: 60px !important;
}
.padding-7 {
padding: 70px !important;
}
.padding-8 {
padding: 80px !important;
}
.padding-9 {
padding: 90px !important;
}
.padding-10 {
padding: 100px !important;
}
.padding-11 {
padding: 110px !important;
}
.padding-12 {
padding: 120px !important;
}
.padding-13 {
padding: 130px !important;
}
.padding-14 {
padding: 140px !important;
}
.padding-15 {
padding: 150px !important;
} .padding-top-1 {
padding-top: 10px !important;
}
.padding-top-2 {
padding-top: 20px !important;
}
.padding-top-3 {
padding-top: 30px !important;
}
.padding-top-4 {
padding-top: 40px !important;
}
.padding-top-5 {
padding-top: 50px !important;
}
.padding-top-6 {
padding-top: 60px !important;
}
.padding-top-7 {
padding-top: 70px !important;
}
.padding-top-8 {
padding-top: 80px !important;
}
.padding-top-9 {
padding-top: 90px !important;
}
.padding-top-10 {
padding-top: 100px !important;
}
.padding-top-11 {
padding-top: 110px !important;
}
.padding-top-12 {
padding-top: 120px !important;
}
.padding-top-13 {
padding-top: 130px !important;
}
.padding-top-14 {
padding-top: 140px !important;
}
.padding-top-15 {
padding-top: 150px !important;
} .padding-right-1 {
padding-right: 10px !important;
}
.padding-right-2 {
padding-right: 20px !important;
}
.padding-right-3 {
padding-right: 30px !important;
}
.padding-right-4 {
padding-right: 40px !important;
}
.padding-right-5 {
padding-right: 50px !important;
}
.padding-right-6 {
padding-right: 60px !important;
}
.padding-right-7 {
padding-right: 70px !important;
}
.padding-right-8 {
padding-right: 80px !important;
}
.padding-right-9 {
padding-right: 90px !important;
}
.padding-right-10 {
padding-right: 100px !important;
}
.padding-right-11 {
padding-right: 110px !important;
}
.padding-right-12 {
padding-right: 120px !important;
}
.padding-right-13 {
padding-right: 130px !important;
}
.padding-right-14 {
padding-right: 140px !important;
}
.padding-right-15 {
padding-right: 150px !important;
} .padding-bottom-1 {
padding-bottom: 10px !important;
}
.padding-bottom-2 {
padding-bottom: 20px !important;
}
.padding-bottom-3 {
padding-bottom: 30px !important;
}
.padding-bottom-4 {
padding-bottom: 40px !important;
}
.padding-bottom-5 {
padding-bottom: 50px !important;
}
.padding-bottom-6 {
padding-bottom: 60px !important;
}
.padding-bottom-7 {
padding-bottom: 70px !important;
}
.padding-bottom-8 {
padding-bottom: 80px !important;
}
.padding-bottom-9 {
padding-bottom: 90px !important;
}
.padding-bottom-10 {
padding-bottom: 100px !important;
}
.padding-bottom-11 {
padding-bottom: 110px !important;
}
.padding-bottom-12 {
padding-bottom: 120px !important;
}
.padding-bottom-13 {
padding-bottom: 130px !important;
}
.padding-bottom-14 {
padding-bottom: 140px !important;
}
.padding-bottom-15 {
padding-bottom: 150px !important;
} .padding-left-1 {
padding-left: 10px !important;
}
.padding-left-2 {
padding-left: 20px !important;
}
.padding-left-3 {
padding-left: 30px !important;
}
.padding-left-4 {
padding-left: 40px !important;
}
.padding-left-5 {
padding-left: 50px !important;
}
.padding-left-6 {
padding-left: 60px !important;
}
.padding-left-7 {
padding-left: 70px !important;
}
.padding-left-8 {
padding-left: 80px !important;
}
.padding-left-9 {
padding-left: 90px !important;
}
.padding-left-10 {
padding-left: 100px !important;
}
.padding-left-11 {
padding-left: 110px !important;
}
.padding-left-12 {
padding-left: 120px !important;
}
.padding-left-13 {
padding-left: 130px !important;
}
.padding-left-14 {
padding-left: 140px !important;
}
.padding-left-15 {
padding-left: 150px !important;
} .o-hidden {
overflow: hidden;
}
.m-auto{margin: 0 auto; display: block;}
.img-res {
height: auto;
object-fit: cover;
}
.w-50{width: 50%;}
.w-50{width: 60%;}
.w-80{width: 80%;}
.w-90{width: 90%;}
.w-100{width: 100%;} @media (max-width: 991px) {
.tab-w-90 {
width: 90%;
}
.tab-padding-0 {
padding: 0 !important;
}
}
@media (max-width: 768px) {
.mob-w-100 {
width: 100%;
}
.mob-padding-0 {
padding: 0 !important;
}
} .btn-primary {
background-color: var(--color-ciano);
padding: 10px 20px;
border-radius: 7px;
color: var(--color-bianco);
text-transform: uppercase;
transition: all 0.3s cubic-bezier(.215, .61, .355, 1);
}
.btn-primary:hover {
background-color: var(--white);
opacity: 0.8;
color: var(--color-grigio-scuro);
border: 2px solid var(--color-ciano);
} .btn-secondary {
background-color: var(--color-bianco);
padding: 15px 30px;
border-radius: 7px;
color: var(--color-ciano);
text-transform: uppercase;
font-size: 2.0rem;
font-weight: 500;
display: inline-block;
transition: all 0.3s cubic-bezier(.215, .61, .355, 1);
text-decoration: none;
}
.btn-secondary:hover {
background-color: var(--color-grigio-scuro);
color: var(--color-bianco);
transform: translateY(-5px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}
@media (max-width: 600px) {
.btn-secondary {
font-size: 1.2rem;
padding: 12px 24px;
}
} .footer {
padding: 60px 0 40px;
} .footer-col--menu {
border-left: 1px solid var(--color-ciano);
border-right: 1px solid var(--color-ciano);
padding-left: 60px;
padding-right: 60px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.footer-menu-wrapper {
flex-grow: 0;
}
.footer-policies {
margin-top: auto;
}
.footer-small-text {
font-size: 0.75rem;
margin-bottom: 5px;
}
.footer-logo {
width: 120px;
margin-bottom: 20px;
}
.footer-legal {
font-size: 0.75rem;
margin: 3px 0;
opacity: 0.9;
}
.footer-title {
font-size: 1rem;
font-weight: 600;
margin-bottom: 20px;
letter-spacing: 1px;
}
.footer-nav {
display: flex;
flex-direction: column;
gap: 12px;
}
.footer-link {
font-size: 0.9rem;
text-decoration: none;
transition: color 0.3s ease;
}
.footer-link:hover {
color: var(--color-ciano) !important;
}
.footer-policies {
display: flex;
gap: 20px;
}
.footer-policy-link {
font-size: 0.8rem;
text-decoration: none;
transition: opacity 0.3s ease;
}
.footer-policy-link:hover {
opacity: 0.7;
}
.footer-item {
display: flex;
align-items: flex-start;
gap: 10px;
margin-bottom: 12px;
}
.footer-icon {
color: var(--color-ciano);
flex-shrink: 0;
margin-top: 2px;
}
.footer-item span {
font-size: 0.85rem;
line-height: 1.4;
} @media (max-width: 1024px) {
.footer-col--menu {
border-left: none;
border-right: none;
border-top: 1px solid var(--color-ciano);
border-bottom: 1px solid var(--color-ciano);
padding: 30px 0;
align-items: flex-start;
}
.footer-policies {
margin-top: 20px;
}
} .fixed-phone-button {
position: fixed !important;
bottom: 20vh !important; 
right: 15px !important; 
width: 50px !important;
height: 50px !important;
display: flex !important;
align-items: center;
justify-content: center;
z-index: 999999 !important;
transition: transform 0.3s ease;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
opacity: 1 !important;
visibility: visible !important;
pointer-events: auto !important;
background-color: transparent;
transform: scale(1) !important; }
.fixed-phone-button:hover {
transform: scale(1.1) !important;
}
.fixed-phone-button img {
width: 50px !important;
height: 50px !important;
display: block !important;
object-fit: cover;
}
@media (max-width: 768px) {
.fixed-phone-button {
bottom: 20vh !important;
right: 10px !important;
}
} .contact-popup {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 9999999;
display: none;
align-items: center;
justify-content: center;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease, visibility 0.3s ease;
}
.contact-popup.active {
display: flex;
opacity: 1;
visibility: visible;
}
.contact-popup__overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.2);
backdrop-filter: blur(5px);
}
.contact-popup__content {
position: relative;
z-index: 2;
max-width: 780px; width: 90%;
max-height: 90vh;
padding: 25px;
overflow-y: auto;
overflow-x: hidden; background: rgba(255, 255, 255, 0.15);
border-radius: 16px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.25);
} .contact-popup__content::-webkit-scrollbar {
width: 8px;
}
.contact-popup__content::-webkit-scrollbar-track {
background: rgba(255, 255, 255, 0.1);
border-radius: 10px;
}
.contact-popup__content::-webkit-scrollbar-thumb {
background: rgba(0, 188, 212, 0.5);
border-radius: 10px;
}
.contact-popup__content::-webkit-scrollbar-thumb:hover {
background: rgba(0, 188, 212, 0.7);
}
.contact-popup__close {
position: absolute;
top: 15px;
right: 15px;
background: transparent;
border: none;
color: #ffffff;
cursor: pointer;
padding: 5px;
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
z-index: 3;
}
.contact-popup__close:hover {
color: var(--color-ciano);
transform: rotate(90deg);
}
.contact-popup__header {
margin-bottom: 30px;
text-align: center;
}
.contact-popup__header h2 {
color: #ffffff;
margin-bottom: 10px;
font-size: 2rem;
}
.contact-popup__header p {
color: rgba(255, 255, 255, 0.9);
font-size: 1rem;
}
.contact-popup__form-container {
width: 100%;
} .contact-popup .acf-form {
margin: 0;
}
.contact-popup .acf-field {
margin-bottom: 10px;
} .contact-popup .acf-field[data-width] {
border-left: none !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.contact-popup .acf-field[data-width]:nth-child(odd) {
padding-left: 0 !important;
padding-right: 5px !important;
}
.contact-popup .acf-field[data-width]:nth-child(even) {
padding-left: 5px !important;
padding-right: 0 !important;
}
.contact-popup .acf-fields > .acf-field {
position: relative;
margin: 2px 0;
padding: 5px 0;
border-top: none !important;
}
.contact-popup .acf-label {
display: none !important;
}
.contact-popup .acf-input {
margin-top: 7px;
}
.contact-popup .acf-input input[type="text"],
.contact-popup .acf-input input[type="email"],
.contact-popup .acf-input select,
.contact-popup .acf-input textarea {
width: 100%;
padding: 7px 10px;
border: 1px solid rgba(255, 255, 255, 0.4);
border-radius: 8px;
font-size: 0.8rem;
font-family: 'Poppins', sans-serif;
transition: all 0.3s ease; background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
color: #ffffff;
}
.contact-popup .acf-input input::placeholder,
.contact-popup .acf-input textarea::placeholder {
color: rgba(255, 255, 255, 0.6);
}
.contact-popup .acf-input select {
color: #ffffff;
}
.contact-popup .acf-input select option {
background: rgba(24, 20, 20, 0.95);
color: #ffffff;
}
.contact-popup .acf-input input[type="text"]:focus,
.contact-popup .acf-input input[type="email"]:focus,
.contact-popup .acf-input select:focus,
.contact-popup .acf-input textarea:focus {
border-color: rgba(0, 188, 212, 0.6);
outline: none;
box-shadow: 0 0 0 3px rgba(0, 188, 212, 0.2);
background: rgba(255, 255, 255, 0.15);
} .contact-popup .acf-input input[type="checkbox"] {
width: auto;
margin-right: 6px;
}
.contact-popup .acf-true-false {
display: flex;
align-items: flex-start;
gap: 10px;
}
.contact-popup .acf-true-false .message {
color: rgba(255, 255, 255, 0.9);
font-size: 0.7rem;
line-height: 1.5;
}
.contact-popup .acf-true-false .message a {
color: var(--color-ciano);
text-decoration: underline;
} .contact-popup .acf-required {
color: #ff6b6b;
} .contact-popup .acf-form-submit {
margin-top: 20px;
text-align: center;
}
.contact-popup .acf-form-submit input[type="submit"] {
background: var(--color-ciano);
color: white;
border: none;
padding: 15px 40px;
font-size: 1.1rem;
font-weight: 600;
border-radius: 7px;
cursor: pointer;
transition: all 0.3s ease;
text-transform: uppercase;
letter-spacing: 1px;
}
.contact-popup .acf-form-submit input[type="submit"]:hover {
background: var(--color-grigio-scuro);
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.contact-popup__required {
text-align: center;
margin-top: 15px;
color: rgba(255, 255, 255, 0.8);
font-size: 0.85rem;
} .form-message {
padding: 15px 20px;
border-radius: 8px;
margin-bottom: 20px;
font-size: 0.95rem;
font-weight: 500;
text-align: center;
animation: slideDown 0.3s ease;
}
.form-message--success {
background: rgba(76, 175, 80, 0.2);
border: 1px solid rgba(76, 175, 80, 0.5);
color: #4caf50;
}
.form-message--error {
background: rgba(244, 67, 54, 0.2);
border: 1px solid rgba(244, 67, 54, 0.5);
color: #f44336;
}
@keyframes slideDown {
from {
opacity: 0;
transform: translateY(-20px);
}
to {
opacity: 1;
transform: translateY(0);
}
} @media (max-width: 768px) {
.contact-popup__content {
width: 95%;
padding: 30px 20px;
max-height: 90vh;
overflow-y: auto;
-webkit-overflow-scrolling: touch; }
.contact-popup__header h2 {
font-size: 1.5rem;
}
.contact-popup .acf-form-submit input[type="submit"] {
width: 100%;
}
} .contact-popup.popup-enter {
animation: popupFadeIn 0.3s ease forwards;
}
.contact-popup.popup-exit {
animation: popupFadeOut 0.3s ease forwards;
}
@keyframes popupFadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes popupFadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
} @media (max-width: 600px) {
.sma-padding-x {
padding-left: 15px !important;
padding-right: 15px !important;
}
.sma-padding-0 {
padding-left: 0 !important;
padding-right: 0 !important;
}
.sma-margin-top-10 {
margin-top: 10px !important;
}
}