.elementor-1024 .elementor-element.elementor-element-eb83179{--display:flex;--min-height:475px;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.3;--margin-top:-125px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1024 .elementor-element.elementor-element-eb83179:not(.elementor-motion-effects-element-type-background), .elementor-1024 .elementor-element.elementor-element-eb83179 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://vivaifeder.it/wp-content/uploads/2025/04/Progettazione-Realizzazione-scaled-e1756452298153.webp");background-position:center center;background-size:cover;}.elementor-1024 .elementor-element.elementor-element-eb83179::before, .elementor-1024 .elementor-element.elementor-element-eb83179 > .elementor-background-video-container::before, .elementor-1024 .elementor-element.elementor-element-eb83179 > .e-con-inner > .elementor-background-video-container::before, .elementor-1024 .elementor-element.elementor-element-eb83179 > .elementor-background-slideshow::before, .elementor-1024 .elementor-element.elementor-element-eb83179 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1024 .elementor-element.elementor-element-eb83179 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#194130;--background-overlay:'';}.elementor-1024 .elementor-element.elementor-element-6d297b3 > .elementor-widget-container{padding:20px 0px 0px 0px;}.elementor-1024 .elementor-element.elementor-element-6d297b3 .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:60px;font-weight:400;line-height:72px;color:var( --e-global-color-primary );}.elementor-1024 .elementor-element.elementor-element-bc0ce47 > .elementor-widget-container{margin:10px 0px 0px 0px;padding:0px 0px 0px -5px;}.elementor-1024 .elementor-element.elementor-element-bc0ce47.elementor-element{--align-self:flex-start;}.elementor-1024 .elementor-element.elementor-element-fc8c75b{--display:flex;--margin-top:100px;--margin-bottom:100px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1024 .elementor-element.elementor-element-7971791 .elementor-post__thumbnail__link{padding-bottom:calc( 0.8 * 100% );}.elementor-1024 .elementor-element.elementor-element-7971791:after{content:"0.8";position:absolute;color:transparent;}.elementor-1024 .elementor-element.elementor-element-7971791{--grid-row-gap:30px;z-index:10;--grid-column-gap:30px;}.elementor-1024 .elementor-element.elementor-element-7971791 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1024 .elementor-element.elementor-element-7971791 .elementor-portfolio-item__img, .elementor-1024 .elementor-element.elementor-element-7971791 .elementor-portfolio-item__overlay{border-radius:40px 40px 40px 40px;}.elementor-1024 .elementor-element.elementor-element-7971791 a .elementor-portfolio-item__overlay{background-color:#2A7D2EBA;}.elementor-1024 .elementor-element.elementor-element-7971791 a .elementor-portfolio-item__title{color:var( --e-global-color-primary );}.elementor-1024 .elementor-element.elementor-element-7971791 .elementor-portfolio-item__title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:20px;font-weight:700;line-height:27px;}.elementor-1024 .elementor-element.elementor-element-7971791 .elementor-portfolio__filter{color:var( --e-global-color-text );font-family:"Plus Jakarta Sans", Sans-serif;font-size:16px;font-weight:600;}.elementor-1024 .elementor-element.elementor-element-7971791 .elementor-portfolio__filter.elementor-active{color:var( --e-global-color-accent );}.elementor-1024 .elementor-element.elementor-element-7971791 .elementor-portfolio__filter:not(:last-child){margin-right:calc(0px/2);}.elementor-1024 .elementor-element.elementor-element-7971791 .elementor-portfolio__filter:not(:first-child){margin-left:calc(0px/2);}@media(max-width:1024px){.elementor-1024 .elementor-element.elementor-element-eb83179{--min-height:50vh;--margin-top:-170px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-1024 .elementor-element.elementor-element-6d297b3 > .elementor-widget-container{padding:60px 0px 0px 0px;}}@media(max-width:767px){.elementor-1024 .elementor-element.elementor-element-eb83179:not(.elementor-motion-effects-element-type-background), .elementor-1024 .elementor-element.elementor-element-eb83179 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://vivaifeder.it/wp-content/uploads/2025/05/Vivai-Feder-Sfondo-Su-Di-Noi.avif");background-size:cover;}.elementor-1024 .elementor-element.elementor-element-eb83179{--content-width:90%;--min-height:440px;}.elementor-1024 .elementor-element.elementor-element-6d297b3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:50px 0px 0px 0px;}.elementor-1024 .elementor-element.elementor-element-6d297b3 .elementor-heading-title{font-size:32px;}.elementor-1024 .elementor-element.elementor-element-bc0ce47 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1024 .elementor-element.elementor-element-fc8c75b{--content-width:90%;--margin-top:50px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:1024px) and (min-width:768px){.elementor-1024 .elementor-element.elementor-element-eb83179{--content-width:90%;}.elementor-1024 .elementor-element.elementor-element-fc8c75b{--content-width:90%;}}/* Start custom CSS for portfolio, class: .elementor-element-7971791 *//* Contenitore centrale */
.elementor-portfolio__filters {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  list-style: none;
  padding: 0;
  margin-bottom: 50px;
}

/* Filtro */
.elementor-portfolio__filter {
  position: relative;
  font-size: 16px;
  font-weight: 600;
  color: var(--e-global-color-primary);
  text-transform: capitalize;
  padding: 0 10px;
  line-height: 1.9;
  cursor: pointer;
  display: flex;
  align-items: center;
}

/* TESTO del filtro wrappato automaticamente */
.elementor-portfolio__filter span {
  position: relative;
  display: inline-block;
}

/* Sottolineatura SOLO sul testo */
@media (min-width: 768px) {
.elementor-portfolio__filter span::before {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  height: 2px;
  width: 0%;
  background-color: var(--e-global-color-accent);
  transition: width 0.3s ease-in-out;
}

/* Hover e attivo */
.elementor-portfolio__filter:hover span::before,
.elementor-portfolio__filter.elementor-active span::before {
  width: 100%;
}

.elementor-portfolio__filter.elementor-active span {
  color: var(--e-global-color-accent);
}
}

/* SLASH separato */
.elementor-portfolio__filter:not(:last-child)::after {
  content: "/";
  color: grey;
  margin-left: 16px;
  font-weight: normal;
}



/* Descrizione overlay */
.elementor-portfolio-item__excerpt {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 16px;
  line-height: 28.8px;
  color: #FFFFFF;
  background-color: rgba(0, 0, 0, 0); /* trasparente */
  text-align: center;

  margin: 20px 0 0 0; /* margine superiore */
  padding: 0;

  letter-spacing: normal;
  word-spacing: 0px;
  vertical-align: baseline;

  max-width: 90%;
  overflow: hidden;
  text-overflow: ellipsis;

  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;

  align-self: center;
}

/* Pulsante circolare freccia */
.elementor-portfolio-item__button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 20px auto 0 auto; /* centrato orizzontalmente */
  padding: 0;
  box-sizing: border-box;
}

/* Freccia SVG centrata */
.elementor-portfolio-item__button img {
  width: 18px;
  height: 18px;
  display: block;
}/* End custom CSS */