/*
- VARIABILI
- GENERAL
- FONTS


- STILI CUSTOM
    - SLIDER
    - PULSANTE SCROLL DOWN
    - BUTTON
    - SVG

- PATTERN
    - HERO SLIDER
    - LINK INTERNO
    - LOOP PROGETTI CORRELATI


- HEADER
    - LOGO
    - HAMBURGER
    - SUB MENU
    - OVERLAY
    - OVERLAY LAYER



- SLIDER
  - SLIDER SERVIZI
  - SLIDER PROGETTI
  - SLIDER GALLERIA
  - LIGHTBOX


- TEMPLATES 
  - SERVIZI
  - CASE HISTORY
  - NEWS


- FORM
- PRELOADER
- FOOTER
- MOUSE FOLLOWER
*/



/** -------------------------------------------------------------------------------- */
/* // ! VARIABILI */
/** -------------------------------------------------------------------------------- */
:root{
  --grotesk: var(--wp--preset--font-family--space-grotesk);
  --box-shadow-r-d: 7px 7px 15px #00000020;
  --transition: all 0.3s;
  --transition-cubic: all 0.5s cubic-bezier(0.59, 0.03, 0.2, 1);
  --ease-out-gentle: cubic-bezier(.17,1.38,.35,.96);
  --ease-in-out-circ: cubic-bezier(.785,.135,.15,.86);
  --ease-bounce: cubic-bezier(.47,1.64,.41,.8);
  --ease-in-out-soft: cubic-bezier(.4,.15,0,1);



  --ease-in-power1: cubic-bezier(.55,.085,.68,.53);
  --ease-out-power1: cubic-bezier(.25,.46,.45,.94);
  --ease-in-out-power1: cubic-bezier(.455,.03,.515,.955);
  --ease-in-power2: cubic-bezier(.55,.055,.675,.19);
  --ease-out-power2: cubic-bezier(.215,.61,.355,1);
  --ease-in-out-power2: cubic-bezier(.645,.045,.355,1);
  --ease-in-power3: cubic-bezier(.895,.03,.685,.22);
  --ease-out-power3: cubic-bezier(.165,.84,.44,1);
  --ease-in-out-power3: cubic-bezier(.77,0,.175,1);
  --ease-in-power4: cubic-bezier(.755,.05,.855,.06);
  --ease-out-power4: cubic-bezier(.23,1,.32,1);
  --ease-in-out-power4: cubic-bezier(.86,0,.07,1);
  --ease-in-circ: cubic-bezier(.6,.04,.98,.335);
  --ease-out-circ: cubic-bezier(.075,.82,.165,1);
  --ease-in-expo: cubic-bezier(.95,.05,.795,.035);
  --ease-out-expo: cubic-bezier(.19,1,.22,1);
  --ease-in-out-expo: cubic-bezier(1,0,0,1);
  --ease-in-sine: cubic-bezier(.47,0,.745,.715);
  --ease-out-sine: cubic-bezier(.39,.575,.565,1);
  --ease-in-out-sine: cubic-bezier(.445,.05,.55,.95);
  --ease-in-back: cubic-bezier(.6,-.28,.735,.045);
  --ease-out-back: cubic-bezier(.175,.885,.32,1.275);
  --ease-in-out-back: cubic-bezier(.68,-.55,.265,1.55);
  
  --ease-out-bounce: cubic-bezier(.17,.67,.3,1.33);
  --ease-out: cubic-bezier(.37,.31,0,1);
  --ease-out-swift: cubic-bezier(.55,0,.1,1);
  --ease-smooth-out: cubic-bezier(.4,0,0,1);
  --ease-smooth-in-out: cubic-bezier(.75,0,.25,1);
  
}



/** -------------------------------------------------------------------------------- */
/* // ! GENERAL */
/** -------------------------------------------------------------------------------- */
html {
  scrollbar-gutter: stable;
}

/* safari - covers */
.pattern-intro-video>div,
.pattern-intro-video img{
  min-height: 100%;
}


/** -------------------------------------------------------------------------------- */
/* // ! FONTS */
/** -------------------------------------------------------------------------------- */
strong{
  font-weight: bold;
}

.has-titolo-giant-font-size,
.has-titolo-grande-font-size{
  line-height: 1.08;
  letter-spacing: -3px;
  font-family: var(--grotesk);
}
.has-titolo-giant-font-size strong{
  font-weight: 500;
}

.has-titolo-giant-font-size .split-line,
.has-titolo-sezione-font-size .split-line,
.has-titolo-grande-font-size .split-line{
  text-box-trim: trim-end;
  -webkit-text-box-trim: trim-end;
  overflow: hidden
}



.has-titolo-piccolo-font-size{
  line-height: 1;
  font-family: var(--grotesk);
}



.has-pretitolo-font-size{
  display: flex;
  overflow: hidden;
  position: relative;
  font-family: var(--grotesk);
  /* line-height: 1.8; */
}

.has-pretitolo-semplice-font-size,
.has-marquee-font-size{
  font-family: var(--grotesk);
  letter-spacing: 0px;
}

.has-titolo-sezione-font-size{
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -2px;
  font-family: var(--grotesk);
}


.has-titolo-medio-font-size{
  line-height: 1;
  font-weight: 500;
  letter-spacing: -1px;
  font-family: var(--grotesk);
}



.has-pretitolo-font-size .pretitolo-wrap-parent{
  border-bottom: 1px solid currentColor;
  padding-left: 40px;
  display: block;
}
.has-pretitolo-font-size .pretitolo-text-wrap{
  display: block;
}




.has-titolo-riempimento-font-size{
  font-family: var(--grotesk);
  letter-spacing: 0px;
}
.has-titolo-riempimento-font-size > .testo-riempimento-word {
  opacity: 0.3;
  color: currentColor;
  display: inline-block;
}



.has-numero-font-size{
  line-height: 1;
}




/** -------------------------------------------------------------------------------- */
/* // ! STILI CUSTOM */
/** -------------------------------------------------------------------------------- */  
/*? -------------------------------------------------------------------------------- */
/*? SLIDER */
/*? -------------------------------------------------------------------------------- */
/* bullets */
.container-paginazione-slider{
    height: 40px;
}
.swiper-pagination-bullet{
background: currentColor !important;
}

/* freccie */
.swiper-button-next:after,
.swiper-button-prev:after{
display: none;
}
.swiper-button-next .material-symbols-outlined,
.swiper-button-prev .material-symbols-outlined{
color: var(--wp--preset--color--custom-nero);
font-size: 40px;
}

/* freccie bianche */
.wp-block-query.is-style-freccie-bianche .material-symbols-outlined{
color: var(--wp--preset--color--custom-bianco) !important;
}



/* paginazione - dots */
.swiper-pagination .swiper-pagination-bullet{
  transition: var(--transition);
}
.swiper-pagination .swiper-pagination-bullet-active{
  width: 20px;
  border-radius: 500px;
}






/*? -------------------------------------------------------------------------------- */
/*? SLIDER QUERY LOOP */
/*? -------------------------------------------------------------------------------- */
.container-freccie-slider span{
  color: currentColor !important;
}
:root{
  --swiper-theme-color: currentColor !important;
}



/*? -------------------------------------------------------------------------------- */
/*? SLIDER BLOCK */
/*? -------------------------------------------------------------------------------- */
.parvus-trigger{
  z-index: 2 !important;
}
.wp-block-create-block-t99-block-gutenberg-slider .swiper[data-altezza-uguale="true"] .swiper-slide{
  height: auto !important;
}



/*? -------------------------------------------------------------------------------- */
/*? PULSANTE SCROLL DOWN */
/*? -------------------------------------------------------------------------------- */
.pulsante-scroll-down{
  cursor: pointer;
  position: absolute;
  bottom:4rem;
  left: 0;
  right: 0;
  display: block !important;
}

@media(max-width:781px){
  .pulsante-scroll-down img{
    max-width:50px;
  }
}




/*? -------------------------------------------------------------------------------- */
/*? BUTTON */
/*? -------------------------------------------------------------------------------- */
.wp-block-button{
  border-radius: 500px;
  overflow: hidden;
}

.testo-pulsante,
.freccia-pulsante{
  z-index: 2;
}

.wp-block-button__link,
.overlay-menu .wp-block-button__link{
  display: flex;
  flex-direction: row-reverse !important;
  gap: 20px;
  align-items: center;
  /* overflow: hidden; */
  position: relative;
}

.wp-block-button__link:before{
  content:'';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--wp--preset--color--custom-bianco);
  left: 0;
  top: 0;
  clip-path: circle(0 at calc(100% - 40px) 50%);
  transition: clip-path .65s var(--ease-in-out-circ), background-color .65s var(--ease-in-out-circ);
  border-radius: 500px;
}


.pulsante-freccie-container{
  width: 30px;
  height: 30px;
  background-color: var(--wp--preset--color--custom-bianco);
  overflow: hidden;
  border-radius: 500px;
  color: var(--wp--preset--color--custom-nero);
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
}

.freccia-pulsante{
  min-width: 30px;
  transform: translateX(-100%);
  transition: transform .65s var(--ease-in-out-circ);
  font-weight: 600;
}
.overlay-menu .freccia-pulsante{
  transform: translateX(-160%) !important;
}

.testo-pulsante{
  transition: color .65s var(--ease-in-out-circ);
}

.overlay-menu .wp-block-button__link{
  background-color: var(--wp--preset--color--custom-uno);
  border: 1px solid var(--wp--preset--color--custom-uno);
  text-transform: uppercase;
}














/** HOVER 2 ----------------------------------- */
/* .is-style-hover-2 .wp-block-button__link:before{
  content:'';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--wp--preset--color--custom-due);
  left: 0;
  top: 0;
  clip-path: circle(0 at calc(100% - 40px) 50%);
  transition: clip-path .65s var(--ease-in-out-circ), background-color .65s var(--ease-in-out-circ);
} */








/* hover pulsante  solo desktop */
@media(hover: hover) and (pointer: fine) {

  .wp-block-button__link:hover .testo-pulsante{
    color: var(--wp--preset--color--custom-nero);
  }
  .wp-block-button__link:hover .freccia-pulsante{
    transform: translateX(0%) !important;
  }
  .wp-block-button__link:hover:before{
    clip-path: circle(125% at 84% 50%);
  }


}


/* hover pulsante solo mobile */
@media(max-width:781px){
  .wp-block-button__link:hover{
    background-color: var(--wp--preset--color--custom-nero) !important;
  }
}




/*? -------------------------------------------------------------------------------- */
/*? IMAGES */
/*? -------------------------------------------------------------------------------- */
/* .wp-block-image:not(.immagine-full .wp-block-image):not(footer .wp-block-image):not(header .wp-block-image){
  clip-path: inset(10% 10% 0 10% round .75rem .75rem .75rem .75rem)
} */




/*? -------------------------------------------------------------------------------- */
/*? SVG */
/*? -------------------------------------------------------------------------------- */
.wp-block-create-block-t99-block-gutenberg-svg a{
  display: flex;
}







/** -------------------------------------------------------------------------------- */
/* // ! PATTENR */
/** -------------------------------------------------------------------------------- */
/*? -------------------------------------------------------------------------------- */
/*? PATTERN HERO SLIDER */
/*? -------------------------------------------------------------------------------- */
.pattern-hero-slider .container-paginazione-slider{
  height: 0;
}




/*? -------------------------------------------------------------------------------- */
/*? LINK INTERNO */
/*? -------------------------------------------------------------------------------- */
.link-interno{
  position: relative;
  transform: translateY(0px);
  box-shadow: 0px 0px 0px #00000030;
  transition: all 0.4s cubic-bezier(.4,.15,0,1);
  
}
.link-interno:hover{
  transform: translateY(-5px);
  box-shadow: var(--wp--preset--shadow--cards);
  background-color: var(--wp--preset--color--custom-tre) !important;
}
.link-interno-wrap{
  transition: background-color 0.2s;
}
.link-interno:hover .link-interno-wrap{
  background-color: var(--wp--preset--color--custom-quattro) !important;
}

@media(max-width:781px){
  .link-interno .link-interno-row{
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .link-interno-gruppo-pulsante{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
  }
  .link-interno-gruppo-pulsante .wp-block-create-block-t99-block-gutenberg-svg{
    margin: 0 !important;
  }
  .link-interno-gruppo-pulsante .wp-block-create-block-t99-block-gutenberg-svg > div{
    display: flex;
  }

}




/*? -------------------------------------------------------------------------------- */
/*? LOOP PROGETTI CORRELATI */
/*? -------------------------------------------------------------------------------- */
.pattern-loop-progetti-correlati.vuoto{
  display: none;
}









/** -------------------------------------------------------------------------------- */
/* // ! HEADER */
/** -------------------------------------------------------------------------------- */
header{
  position: fixed;
  width: 100%;
  z-index: 99;
  transition: var(--transition);
}
@media(max-width:781px){
  .header-menu{
    padding-right: var(--wp--preset--spacing--10) !important;
    padding-left: var(--wp--preset--spacing--10) !important;
  }
}


/*? -------------------------------------------------------------------------------- */
/*? LOGO */
/*? -------------------------------------------------------------------------------- */
header .custom-logo{
  opacity: 1;
  filter: blur(0px);
  -webkit-filter: blur(0px);
  transition: all 1.6s var(--ease-out-gentle);
}
.scrollato .custom-logo{
  opacity: 0;
  filter: blur(20px);
  -webkit-filter: blur(20px);
}
.scrollato .custom-logo-link{
  pointer-events: none;
}
@media(max-width:781px){
  .logo-container-header{
    max-width: 200px;
  }
}


/* logo color */
.logo-colore{
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
}


.header-logo-dark .logo-colore{
  z-index: 1;
  opacity: 1;
  filter: blur(0px);
  -webkit-filter: blur(0px);
  position: relative;
  will-change: opacity, filter;
  transition: opacity 1.6s var(--ease-out-gentle), filter 1.6s var(--ease-out-gentle);
}
.scrollato.header-logo-dark .logo-colore{
  opacity: 0;
  filter: blur(20px);
  -webkit-filter: blur(20px);
  pointer-events: none;
}
.header-logo-dark .custom-logo-link{
  display: none !important;
}

.header-logo-dark.overlay-layer-open .logo-colore{
  z-index: 0;
}




/*? -------------------------------------------------------------------------------- */
/*? HAMBURGER */
/*? -------------------------------------------------------------------------------- */
/* btn hamburger */
.hamburger-mobile{
text-align: center;
margin: 0 !important;
}
.btn-menu,
.hamburger-overlay .btn-menu-overlay {
z-index: 34;
background: transparent;
min-height: 22px;
padding-left: 0;
padding-right: 0;
border: none;
color: inherit;
cursor: pointer;
transition: 0.3s ease;
display: flex;
flex-direction: row-reverse;
align-items: center;
gap: 10px;
width: 65px;
height: 65px;
background: var(--wp--preset--color--custom-bianco);
display: flex;
justify-content: center;
align-items: center;
border-radius: 500px;
box-shadow: 5px 5px 20px #00000020;
transform: scale(1.0);
transition: transform 0.4s var(--ease-bounce); 
will-change: transform;
}


.btn-menu__bars,
.hamburger-overlay .btn-menu__bars {
display: block !important;
background: var(--wp--preset--color--custom-uno);
position: relative;
width: 36px;
height: 2px;
transition: 0.3s, transform 0.4s var(--ease-bounce); ;
}


.btn-menu__bars:before,
.hamburger-overlay .btn-menu__bars:before{
content: "";
background: var(--wp--preset--color--custom-uno);
display: block;
position: absolute;
right: 0;
width: 100%;
height: 100%;
transition: 0.3s;
}


.btn-menu__bars:after,
.hamburger-overlay .btn-menu__bars:after {
content: "";
background: var(--wp--preset--color--custom-uno);
display: block;
position: absolute;
left: 0;
width: 100%;
height: 100%;
transition: 0.3s;
}


.btn-menu__bars:before {
transform: translate(0, -7px);
}

.btn-menu__bars:after {
transform: translate(0, 7px);
}






/* hover */
button.btn-menu:hover,
button.btn-menu-overlay:hover{
  transform: scale(1.1) ;
}
.btn-menu:hover .btn-menu__bars,
.btn-menu-overlay:hover .btn-menu__bars{
  transform: scale(0.9);
}


/* animazione */
.overlay-layer-open .btn-menu{
  transform: scale(0) !important;
  /* transition-delay: .55s; */
  transition-duration: .75s;
}
.overlay-layer-open .btn-menu__bars:before,
.overlay-layer-open .btn-menu__bars:after{
  transform: translate(0, 0px);
  transition: transform 0.3s var(--ease-out-sine);
}



/*// -------------------------------------------------------------------------------- */
/*// HAMBURGER OVERLAY */
/*// -------------------------------------------------------------------------------- */
.hamburger-overlay{
  /* float: right;
  transform: translateY(-7px); */
  position: absolute;
  right: 0px;
  top: 15px;
  opacity: 0;
  transform: scale(0);
  transition: transform .4s var(--ease-out-bounce);
}
.hamburger-overlay .btn-menu .btn-menu__bars {
  background-color: transparent;
}
.hamburger-overlay .btn-menu__bars:before {
  background-color: var(--wp--preset--color--custom-uno);
  transform: rotate(45deg);
  right: 0;
  width: 100%;
}
.hamburger-overlay .btn-menu__bars:after {
  background-color: var(--wp--preset--color--custom-uno);
  transform: rotate(-45deg);
  width: 100%;
}
.hamburger-overlay .btn-menu__bars{
  background: transparent;
}

.btn-menu-overlay{
  background: var(--wp--preset--color--custom-uno) !important;
}


.hamburger-overlay .btn-menu__bars:after,
.hamburger-overlay .btn-menu__bars:before{
  background: var(--wp--preset--color--custom-bianco);
}

.menu-open .hamburger-overlay{
  opacity: 1;
  transform: scale(1);
}




/*? -------------------------------------------------------------------------------- */
/*? VOCI E SUB MENU */
/*? -------------------------------------------------------------------------------- */
.header-menu .wp-block-create-block-t99-block-gutenberg-menu-navigazione ul.menu{
margin: 0;
}
.header-menu .wp-block-create-block-t99-block-gutenberg-menu-navigazione ul.menu > li{
padding: 20px 0px;
}
.header-menu .wp-block-create-block-t99-block-gutenberg-menu-navigazione .menu-item-has-children{
position: relative; 
display: flex;
}
.header-menu .wp-block-create-block-t99-block-gutenberg-menu-navigazione .menu-item-has-children .sub-menu{
display: block;
background-color: var(--wp--preset--color--due);
position: absolute;
top: 60px;
opacity:1;
transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
opacity:0;
visibility:hidden;
background-color: var(--wp--preset--color--custom-bianco);
width: max-content;
}
.header-menu .wp-block-create-block-t99-block-gutenberg-menu-navigazione .menu-item-has-children:not(.overlay-menu .menu-item-has-children):hover .sub-menu{
opacity:1;
visibility:visible;
top:60px;
}
.header-menu .wp-block-create-block-t99-block-gutenberg-menu-navigazione .menu-item-has-children .sub-menu > li{
padding: 10px;
border-bottom: 1px solid var(--wp--preset--color--custom-bianco);
transition: all 0.3s;
}
.header-menu .wp-block-create-block-t99-block-gutenberg-menu-navigazione .menu-item-has-children .sub-menu > li:hover{
background-color: var(--wp--preset--color--custom-uno);
}
.header-menu .wp-block-create-block-t99-block-gutenberg-menu-navigazione .menu-item-has-children > a{
gap: 0px;
}

.header-menu .wp-block-create-block-t99-block-gutenberg-menu-navigazione{
text-transform: uppercase;
}

.header-menu .freccia-sub-menu{
position: relative;
top: -3px;
}


/* current */
.overlay-menu .current_page_item:not(.menu-pulsante) a{
  color: var(--wp--preset--color--custom-uno);
}




/*? -------------------------------------------------------------------------------- */
/*? OVERLAY */
/*? -------------------------------------------------------------------------------- */
.overlay-menu:not(.block-editor-block-list__block.overlay-menu){
position: absolute;
width: 600px;
z-index: -1;
/* transform: translateY(-110%); */
transition: all 0.8s cubic-bezier(0.59, 0.03, 0.2, 1);
top: 0;
right: 0;
height: calc(100vh - 20px);
margin: 10px 10px 0px 10px;
z-index: 1;
clip-path: inset(4% 6% 96% 93% round 20px);
opacity: 0;
transition: opacity 0.4s var(--ease-out-power2), clip-path 0.4s var(--ease-out-power2)
}

.menu-open .overlay-menu{
  clip-path: inset(0% 0% 0% 0% round 0px) !important;
  opacity: 1 !important;
}

.overlay-menu ul.menu{
gap: 15px;
}
.overlay-menu ul.menu > li{
max-width: fit-content;
}
.overlay-menu ul.menu > li > a{
flex-direction: row;
align-items: center;
font-weight: 400;
font-family: var(--wp--preset--font-family--space-grotesk);
letter-spacing: -1px;
}
.overlay-menu ul.menu > li.menu-item-has-children .sub-menu > li > a{
font-size: 16px;
margin-bottom: 3px;
}
.overlay-menu .freccia-sub-menu{
position: relative;
top:2px;
}


/* altezza massima */
.overlay-menu .wp-block-create-block-t99-block-gutenberg-menu-navigazione{
max-height: 94vh;
overflow: auto;
padding-bottom: 40px;
}
@media(max-width:781px){
  .overlay-menu .wp-block-cover__inner-container{
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
  }
}


@media(max-width:781px){
  .overlay-menu{
    width: calc(100% - 20px) !important;
  }
}



/* contatti */
.overlay-menu .wp-block-cover__inner-container{
  height: 100%;
}

@media(max-width:781px){
  .overlay-container-menu-info{
    padding-bottom: 60px;
  }
  .overlay-riga-contatti{
    margin-bottom: 40px !important;
  }
}



/*? -------------------------------------------------------------------------------- */
/*? OVERLAY LAYER */
/*? -------------------------------------------------------------------------------- */
.overlay-layer-menu{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: opacity 0.4s var(--ease-out-power2);
}
.overlay-layer-open .overlay-layer-menu{
  opacity: 1;
  pointer-events: all;
  transition-delay: all 0.4s
}





/** -------------------------------------------------------------------------------- */
/* // ! SLIDER */
/** -------------------------------------------------------------------------------- */

/* SCROLLBAR */
.swiper-scrollbar{
  height: 1px !important;
  background-color: var(--wp--preset--color--custom-nero) !important;
}
.swiper-scrollbar-drag{
  background: currentColor !important;
  top: -2px !important;
  height: 6px !important;
  cursor: grab !important;
}

/* Scrollbar slider galleria */
.slider-galleria .swiper-pagination-bullet{
  display: none;
}
.slider-galleria .container-scrollbar-slider{
  padding-top: 80px;
}
.slider-galleria .swiper-scrollbar-drag{
  color: var(--wp--preset--color--custom-uno);
}



/*? -------------------------------------------------------------------------------- */
/*? SLIDER SERVIZI */
/*? -------------------------------------------------------------------------------- */
.query-servizi .wp-block-post{
  height: auto;
}
.query-servizi .query-servizi-gruppo-wrap{
  height: 100%;
}

.container-dots-slider{
  padding-top: 80px;
}


.is-style-overflow-visible{
  overflow: visible !important
}


.wp-admin .blocco-loop-servizi-post,
.wp-admin .blocco-loop-servizi-lista-link,
.wp-admin .blocco-loop-servizi-lista-main{
  pointer-events: none !important;
}


@media(max-width:781px){
  .blocco-loop-servizi .query-servizi-gruppo-wrap{
    padding: 10px 20px;
  }
}





/*? -------------------------------------------------------------------------------- */
/*? SLIDER PROGETTI */
/*? -------------------------------------------------------------------------------- */
.pulsante-query-progetti{
  position: absolute;
  right: 20px;
  bottom: 0;
  opacity: 0;
  transition: all 1s var(--ease-out-gentle)
}

.query-progetti-cover{
  cursor: pointer;
}
@media(min-width:782px){
  .query-progetti-cover:hover .pulsante-query-progetti{
    opacity: 1;
    right: 0;
  }
}


.query-progetti-content{
  transform: translateY(0px);
  transition: transform 1s var(--ease-out-gentle);
  
}
.query-progetti-cover:hover .query-progetti-content{
  transform: translateY(-60px);
}


.query-progetti-cover .wp-block-cover__background{
  transition: backdrop-filter 0.8s var(--ease-out-gentle);
}
.query-progetti-cover:hover .wp-block-cover__background{
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}




@media(max-width:781px){
  .query-progetti-cover .pulsante-query-progetti{
    opacity: 1;
    right: -20px;
    bottom: 0px;
  }
  .query-progetti-cover .query-progetti-content{
    transform: translateY(-60px);
  }
}





/*? -------------------------------------------------------------------------------- */
/*? SLIDER GALLERIA */
/*? -------------------------------------------------------------------------------- */
.pattern-slider-immagini .swiper-wrapper{
  padding-bottom: 80px;
}





/*? -------------------------------------------------------------------------------- */
/*? SLIDER NUMERI */
/*? -------------------------------------------------------------------------------- */
.slider-numeri .swiper-wrapper .wp-block-cover{
  overflow: visible;
}





/*? -------------------------------------------------------------------------------- */
/*? LIGHTBOX */
/*? -------------------------------------------------------------------------------- */
.parvus__counter{
  font-family: var(--grotesk);
  font-size: 18px;
}
.parvus__btn{
  background-color: var(--wp--preset--color--custom-uno) !important;
}









/** -------------------------------------------------------------------------------- */
/* // ! TEMPLATES */
/** -------------------------------------------------------------------------------- */
/*? -------------------------------------------------------------------------------- */
/*? SERVIZI */
/*? -------------------------------------------------------------------------------- */
.query-progetti-correlati .wp-block-post:not(.wp-block-post.type-case-history){
  display: none;
}




/*? -------------------------------------------------------------------------------- */
/*? CASE HISTORY */
/*? -------------------------------------------------------------------------------- */
.breadcrumb-singolo-case-history .pretitolo-text-wrap{
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  align-items: baseline;
}
.breadcrumb-singolo-case-history a:hover{
  color: var(--wp--preset--color--custom-bianco);
}


.taxonomy-provincia a{
  pointer-events: none;
}


@media(max-width:781px){
  .breadcrumb-singolo-case-history .pretitolo-wrap-parent{
    padding: 0;
    transform: none !important;
  }
}



/*? -------------------------------------------------------------------------------- */
/*? NEWS */
/*? -------------------------------------------------------------------------------- */
/* * SINGOLO */
.single-post .wp-block-post-content .wp-block-image{
  margin-bottom: 20px;
}
.single-post .wp-block-post-content .wp-block-heading{
  font-weight: 500;
}
.single-post .wp-block-post-content .wp-block-list{
  line-height: 35px;
}
.single-post .wp-block-post-content .wp-block-details{
  margin-bottom: 20px;
}
.single-post .wp-block-post-content .wp-block-table{
  margin-bottom: 20px;
}
.single-post .wp-block-post-content .wp-block-quote{
  margin-bottom: 20px;
}
.single-post .wp-block-post-content .wp-block-post-navigation-link a{
  transition: all 0.2s;
}



/* * LOOP */
.loop-news-wrap{
  transform: translateY(0px);
  box-shadow: 0px 0px 0px #00000000;
  will-change: background-color, transform, box-shadow;
  transition: background-color 0.3s var(--ease-smooth-out), transform 0.3s var(--ease-smooth-out), box-shadow 0.3s var(--ease-smooth-out);
  cursor: pointer;
}
.loop-news-wrap:hover{
  background-color: var(--wp--preset--color--custom-quattro) !important;
  transform: translateY(-6px);
  box-shadow: 5px 8px 10px #00000020;
}
.loop-news-wrap .wp-block-post-title a:after{
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
}
.loop-news-wrap .news-loop-contenuto{
  position: unset;
}

.loop-news-wrap svg{
  transform: translateX(0px);
  will-change: transform;
  transition: transform 0.3s var(--ease-smooth-out);
}
.loop-news-wrap:hover svg{
  transform: translateX(5px);
}


/** paginazione */
.wp-block-query-pagination-numbers{
  display: flex;
  flex-direction: row;
  gap: 10px;
}
.page-numbers{
  width: 40px;
  display: flex;
  justify-content: center;
  height: 40px;
  background-color: var(--wp--preset--color--custom-bianco);
  align-items: center;
  border-radius: 500px;
  box-shadow: 5px 5px 5px #00000020;
  font-weight: 500;
}
.page-numbers.current{
  background-color: var(--wp--preset--color--custom-uno);
  color: var(--wp--preset--color--custom-bianco);
}

a.page-numbers{
  transition: background-color 0.2s var(--ease-smooth-out), color 0.2s var(--ease-smooth-out);
  will-change: background-color, color; 
}
a.page-numbers:hover{
  background-color: var(--wp--preset--color--custom-uno);
  color: var(--wp--preset--color--custom-bianco);
}








/** -------------------------------------------------------------------------------- */
/* // ! FORM */
/** -------------------------------------------------------------------------------- */
.frm_button_submit{
  font-family: var(--grotesk);
  text-transform: uppercase;
  display: flex;
  flex-direction: row-reverse;
  gap: 20px;
  align-items: center;
  position: relative;
  border-radius: 500px !important;
}

.frm_button_submit:before{
  content:'';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--wp--preset--color--custom-bianco);
  left: 0;
  top: 0;
  clip-path: circle(0 at calc(100% - 40px) 50%);
  transition: clip-path .65s var(--ease-in-out-circ), background-color .65s var(--ease-in-out-circ);
  border-radius: 500px;
}




/* hover pulsante  solo desktop */
@media(hover: hover) and (pointer: fine) {
  .frm_button_submit:hover{
    background-color: var(--wp--preset--color--custom-uno) !important;
  }

  .frm_button_submit:hover .testo-pulsante{
    color: var(--wp--preset--color--custom-nero);
  }
  .frm_button_submit:hover .freccia-pulsante{
    transform: translateX(0%);
  }
  .frm_button_submit:hover:before{
    clip-path: circle(125% at 84% 50%);
  }


}


/* hover pulsante solo mobile */
@media(max-width:781px){
  .frm_button_submit:hover{
    background-color: var(--wp--preset--color--custom-nero) !important;
    color: var(--wp--preset--color--custom-bianco) !important;
  }
}






/** -------------------------------------------------------------------------------- */
/* // ! PRELOADER */
/** -------------------------------------------------------------------------------- */
#preloader .preloader-inner{
flex-direction: column;
gap: 20px;
justify-content: center;
}
  
.loader {
width: 6px;
height: 6px;
border-radius: 50%;
background-color: var(--wp--preset--color--custom-uno);
box-shadow: 32px 0 var(--wp--preset--color--custom-uno), -32px 0 var(--wp--preset--color--custom-uno);
position: relative;
animation: flash 1s ease-out infinite alternate;
margin: 20px 0px;
}
  
@keyframes flash {
0% {
background-color: #ffffff20;
box-shadow: 32px 0 #ffffff20, -32px 0 var(--wp--preset--color--custom-uno);
}
50% {
background-color: var(--wp--preset--color--custom-uno);
box-shadow: 32px 0 #ffffff20, -32px 0 #ffffff20;
}
100% {
background-color: #ffffff20;
box-shadow: 32px 0 var(--wp--preset--color--custom-uno), -32px 0 #ffffff20;
}
}




/** -------------------------------------------------------------------------------- */
/* // ! FOOTER */
/** -------------------------------------------------------------------------------- */
footer a{
  position: relative;
}
footer a:after{
  content: "";
  position: absolute;
  width: 0%;
  height: 1px;
  background-color: #fff;
  left: 0px;
  bottom: 0px;
  transition: all 0.4s var(--ease-in-out-soft);
}
footer a:hover:after{
  width: 100%;
}










/** -------------------------------------------------------------------------------- */
/* // ! MOUSE FOLLOWER */
/** -------------------------------------------------------------------------------- */
.mf-cursor:before{
  background-color: var(--wp--preset--color--custom-nero);
  display: none !important;
}

/* menu overlay */
/* .mouse-close .mf-cursor:before{
  background-color: var(--wp--preset--color--custom-bianco);
}
.mouse-close .mf-cursor .mf-cursor-text span{
  font-size:30px;
  color: var(--wp--preset--color--custom-nero);
} */

/* immagine */
.mf-cursor-media-box{
  width: 400px;
  height: 500px;
}
.mf-cursor-media-box{
  border-radius: 20px;
}
.mf-cursor-media img{
  border-radius: 20px;
}


/* footer */
/* .mouse-white .mf-cursor:before{
  background-color: var(--wp--preset--color--custom-bianco);
} */







