/* BUTTONS */
.elementor-button{
  padding: 0;
  cursor: pointer;
}

.elementor-button-link{
  text-decoration: none;
}

.elementor-widget-button .elementor-button-content-wrapper{
  column-gap: 2px;
}

.elementor-widget-button.iconLeft .elementor-button-content-wrapper{
  flex-direction: row-reverse;
}

.elementor-widget-button:not(.innerIcon) .elementor-button-content-wrapper .elementor-button-icon,
.elementor-widget-button:not(.innerIcon) .elementor-button-content-wrapper .elementor-button-text{
  height: 3rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.elementor-widget-button .elementor-button-content-wrapper,
.elementor-widget-button .elementor-button-content-wrapper .elementor-button-icon svg,
.elementor-widget-button .elementor-button-content-wrapper .elementor-button-icon,
.elementor-widget-button .elementor-button-content-wrapper .elementor-button-text{
  transition: all 0.3s linear;
}

.elementor-widget-button:not(.innerIcon) .elementor-button-content-wrapper .elementor-button-icon{
  width: 3rem;
  border-radius: 0;
}

.elementor-widget-button.innerIcon .elementor-button-content-wrapper{
  height: 3rem;
  column-gap: 0.75rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 0;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.elementor-widget-button .elementor-button-content-wrapper .elementor-button-text{
  white-space: nowrap;
}

.elementor-widget-button:not(.innerIcon) .elementor-button-content-wrapper .elementor-button-text{
  border-radius: 0;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  line-height: 1.4;
}

.elementor-widget-button.w100:not(.innerIcon) .elementor-button-content-wrapper,
.elementor-widget-button.w100:not(.innerIcon) .elementor-button-content-wrapper .elementor-button-text{
  width: 100%;
}

.elementor-widget-button .elementor-button .elementor-button-icon svg{
  height: 1.5rem;
  width: 1.5rem;
  margin-left: 0;
  margin-right: 0;
}

.elementor-widget-button.fullWidth .elementor-button,
.elementor-widget-button.fullWidth .elementor-button .elementor-button-content-wrapper{
  width: 100%;
}

.elementor-widget-button.fullWidth .elementor-button .elementor-button-content-wrapper .elementor-button-text{
  flex-grow: 1;
}

/* button colors */

a.customBtn.btnPrimary,
span.customBtn.btnPrimary,
.customBtn.btnPrimary>a,
.customBtn.btnPrimary>span,
.elementor-widget-button:not(.innerIcon).btnPrimary .elementor-button .elementor-button-icon,
.elementor-widget-button:not(.innerIcon).btnPrimary .elementor-button .elementor-button-text,
.elementor-widget-button.innerIcon.btnPrimary .elementor-button-content-wrapper{
  background-color: var(--blue600);
  color: var(--white);
}
.elementor-widget-button:not(.innerIcon).btnPrimary .elementor-button .elementor-button-icon svg{
  filter: none; /*invert(1);*/
}
a.customBtn.btnPrimary:hover,
span.customBtn.btnPrimary:hover,
.customBtn.btnPrimary>a:hover,
.customBtn.btnPrimary>span:hover,
.elementor-widget-button:not(.innerIcon).btnPrimary .elementor-button:hover .elementor-button-icon,
.elementor-widget-button:not(.innerIcon).btnPrimary .elementor-button:hover .elementor-button-text,
.elementor-widget-button.innerIcon.btnPrimary .elementor-button:hover .elementor-button-content-wrapper{
  background-color: var(--blue700);
}
.btnPrimary.elementor-widget-button .elementor-button{ background-color: transparent !important; }



a.customBtn.btnSecondary,
span.customBtn.btnSecondary,
.customBtn.btnSecondary>a,
.customBtn.btnSecondary>span,
.elementor-widget-button:not(.innerIcon).btnSecondary .elementor-button .elementor-button-icon,
.elementor-widget-button.innerIcon.btnSecondary .elementor-button-content-wrapper{
  background-color: var(--blue600);
  color: var(--white);
}
.elementor-widget-button:not(.innerIcon).btnSecondary .elementor-button .elementor-button-text,
.elementor-widget-button:not(.innerIcon).btnSecondary .elementor-button:hover .elementor-button-text{
  background-color: transparent;
  color: var(--blue900);
}
.elementor-widget-button:not(.innerIcon).btnSecondary .elementor-button .elementor-button-icon svg{
  filter: none; /*invert(1);*/
}
a.customBtn.btnSecondary:hover,
span.customBtn.btnSecondary:hover,
.customBtn.btnSecondary>a:hover,
.customBtn.btnSecondary>span:hover,
.elementor-widget-button:not(.innerIcon).btnSecondary .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.innerIcon.btnSecondary .elementor-button:hover .elementor-button-content-wrapper{
  background-color: var(--blue700);
}
.btnSecondary.elementor-widget-button .elementor-button{ background-color: transparent !important; }


a.customBtn.btnTertiary,
span.customBtn.btnTertiary,
.customBtn.btnTertiary>a,
.customBtn.btnTertiary>span,
.elementor-widget-button:not(.innerIcon).btnTertiary .elementor-button .elementor-button-icon,
.elementor-widget-button:not(.innerIcon).btnTertiary .elementor-button .elementor-button-text,
.elementor-widget-button.innerIcon.btnTertiary .elementor-button-content-wrapper{
  background-color: transparent;
  color: var(--blue900);
}
.elementor-widget-button:not(.innerIcon).btnTertiary .elementor-button .elementor-button-icon svg{
  filter: invert(1);
}
a.customBtn.btnTertiary:hover,
span.customBtn.btnTertiary:hover,
.customBtn.btnTertiary>a:hover,
.customBtn.btnTertiary>span:hover,
.elementor-widget-button:not(.innerIcon).btnTertiary .elementor-button:hover .elementor-button-icon,
.elementor-widget-button:not(.innerIcon).btnTertiary .elementor-button:hover .elementor-button-text,
.elementor-widget-button.innerIcon.btnTertiary .elementor-button:hover .elementor-button-content-wrapper{
  color: var(--blue900);
  background-color: transparent;
}
.elementor-widget-button:not(.innerIcon).btnTertiary .elementor-button .elementor-button-text{
  padding-left: 0;
}
.elementor-widget-button:not(.innerIcon).btnTertiary .elementor-button .elementor-button-content-wrapper{
  column-gap: 0;
}
.btnTertiary.elementor-widget-button .elementor-button{ background-color: transparent; }

a.customBtn.btnQuaternary,
span.customBtn.btnQuaternary,
.customBtn.btnQuaternary>a,
.customBtn.btnQuaternary>span,
.elementor-widget-button:not(.innerIcon).btnQuaternary .elementor-button .elementor-button-icon,
.elementor-widget-button.innerIcon.btnQuaternary .elementor-button-content-wrapper{
  background-color: var(--blue600);
  color: var(--white);
}
.elementor-widget-button:not(.innerIcon).btnQuaternary .elementor-button .elementor-button-text,
.elementor-widget-button:not(.innerIcon).btnQuaternary .elementor-button:hover .elementor-button-text{
  background-color: transparent;
  color: var(--white);
}
.elementor-widget-button:not(.innerIcon).btnQuaternary .elementor-button .elementor-button-icon svg{
  filter: none; /*invert(1);*/
}
a.customBtn.btnQuaternary:hover,
span.customBtn.btnQuaternary:hover,
.customBtn.btnQuaternary>a:hover,
.customBtn.btnQuaternary>span:hover,
.elementor-widget-button:not(.innerIcon).btnQuaternary .elementor-button:hover .elementor-button-icon,
.elementor-widget-button.innerIcon.btnQuaternary .elementor-button:hover .elementor-button-content-wrapper{
  background-color: var(--blue700);
}
.btnQuaternary.elementor-widget-button .elementor-button{ background-color: transparent; }
/* END BUTTONS */

.homeHeaderContainer{
  display: flex;
}

.homeHeaderContainer>.slide{
  flex: 1 0 20%;
  width: 20%;
  transition: 0.3s all ease-in-out;
  position: relative;
}

.homeHeaderContainer>.slide>.inner{
  background-size: cover;
  background-position: center;
  height: calc(100vh - var(--menu-height) - var(--wpadminbar-height));
  padding: 5rem 2rem;
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: end;
  text-align: center;
  overflow: hidden;
}

.homeHeaderContainer>.slide>.inner .description{
  opacity: 0;
  width: 55rem;
}

.homeHeaderContainer>.slide.active{
  flex: 1 0 60%;
  width: 60%;
}

.homeHeaderContainer>.slide.active>.inner .description{
  opacity: 1;
  transition-delay: 0.3s;
}

.homeHeaderContainer>.slide:nth-child(2) .inner{
  border-width: 0 4px;
  border-style: solid;
  border-color: var(--blue900);
  /*position: absolute;
  top: 0;
  left: -15rem;
  bottom: 0;
  right: -15rem;
  clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 100%, 0 100%);
  inset: 0;*/
}

.fullHeight{
  min-height: 100vh;
}

.crocini{
  position: relative;
}

.crocini .crocino{
  position: absolute;
  z-index: 1;
  width: 2.5rem;
  height: 2.5rem;
}

.crocini .crocino.top.left{         top: 3rem;      left: 3rem;   background-image: url("../images/top-left.svg"); }
.crocini .crocino.top.centerX{      top: 3rem;      left: 50%;   background-image: url("../images/top-center.svg"); }
.crocini .crocino.top.right{        top: 3rem;      right: 3rem;   background-image: url("../images/top-right.svg"); }
.crocini .crocino.centerY.left{     top: 50%;      left: 3rem;   background-image: url("../images/center-left.svg"); }
.crocini .crocino.centerY.centerX{  top: 50%;      left: 50%;   background-image: url("../images/center-center.svg"); }
.crocini .crocino.centerY.right{    top: 50%;      right: 3rem;   background-image: url("../images/center-right.svg"); }
.crocini .crocino.bottom.left{      bottom: 3rem;   left: 3rem;   background-image: url("../images/bottom-left.svg"); }
.crocini .crocino.bottom.centerX{   bottom: 3rem;   left: 50%;   background-image: url("../images/bottom-center.svg"); }
.crocini .crocino.bottom.right{     bottom: 3rem;   right: 3rem;   background-image: url("../images/bottom-right.svg"); }

.crocini .crocino.centerX{              transform: translateX(-50%); }
.crocini .crocino.centerY{              transform: translateY(-50%); }
.crocini .crocino.centerX.centerY{      transform: translate(-50%, -50%); }

.crocini.noCenterRow .crocino.centerY{  display: none; }
.crocini.transparent .crocino{          opacity: 0.6; }

.productPreview{
  overflow: hidden;
  position: relative;
}

.productPreview img,
.productPreview .arrowContainer,
.productPreview .arrowContainer img{
  transition: 0.3s all linear;
  width: 100%;
}

.productPreview .arrowContainer img{
  width: 60%;
  transform: translateY(2px);
}

.productPreview:hover img{
  transform: scale(1.1);
}

.productPreview:hover .arrowContainer{
  background-color: var(--blue600) !important;
}

.productPreview:not(.elementor-container) .arrowContainer{
  position: absolute;
  bottom: .75rem;
  right: .75rem;
  width: 3rem;
  height: 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--white);
}

.productPreview:hover .arrowContainer img{
  filter: invert(1);
}

.productContent h2{
  margin: 32px 0 16px 0;
}

.productContent h3, .productContent h4{
  margin: 24px 0 8px 0;
}

.dottedUl ul,
.dottedUl ol{
  padding-left: 0;
}

.dottedUl ul li,
.dottedUl ol li{
  list-style: none;
  padding-left: 2.75rem;
  margin-bottom: 1rem;
  position: relative;
}

.dottedUl ul li strong:first-child,
.dottedUl ol li strong:first-child{
  display: inline;
}

.dottedUl ul li:before,
.dottedUl ol li:before{
  content: "";
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  display: block;
  background-color: var(--blue600);
  position: absolute;
  top: .5rem;
  left: 1.5rem;
}

.menuContainer{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
}

.mainMenu{
  height: 4.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2.5rem;
  background-color: var(--neutrals900);
  color: var(--white);
}

.mainMenu.lower{
  color: var(--neutrals900);
  background-color: var(--white);
  border-bottom: 1px solid var(--neutrals900);
}

.mainMenu.lower .logo{
  padding: 0 1rem;
}

.mainMenu.upper{
  height: 2.5rem;
}

.mainMenu .centerMenu svg{
  height: 2.5rem;
}

.mainMenu .leftMenu,
.mainMenu .rightMenu{
  width: calc((100% - 4.25rem) / 2);
}

.mainMenu .leftMenu>ul,
.mainMenu .rightMenu>ul{
  display: flex;
  align-items: center;
  padding-left: 0;
  margin-bottom: 0;
}

.mainMenu .rightMenu>ul{
  justify-content: end;
  column-gap: .5rem;
}

.breadcrumb-item+.breadcrumb-item {
  margin-bottom: 4px;
}

.customArrowUl ul{
  padding-left: 0;
  margin-bottom: 0.5rem;
}

.customArrowUl ul li{
  list-style: none;
  margin-bottom: 0.75rem;
  position: relative;
  padding-left: 24px;
}

.customArrowUl ul li:last-child{
  margin-bottom: 0;
}

.customArrowUl ul li:before{
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(/wp-content/uploads/2025/09/arrow-right.svg);
  background-size: cover;
  background-position: center center;
  position: absolute;
  left: 0;
  top: 2px;
}

.customAccordion .accordion-item{
  border-radius: 0 !important;
  border-width: 1px 0 1px 0 !important;
  border-color: #000000;
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.customAccordion .accordion-item .accordion-button{
  background-color: transparent !important;
  box-shadow: none;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
}

.customAccordion .accordion-item .accordion-button>img{
  margin-right: .5rem;
}

.customAccordion .accordion-item .accordion-button>span{
  color: var(--blue900) !important;
}

.customAccordion  .accordion-item .accordion-body{
  padding-top: 1rem;
  padding-bottom: 0rem;
  padding-left: 0;
  padding-right: 0;
}

.linkSider>*:before,
.linkService>*:before,
.linkLab>*:before{
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  margin-right: .5rem;
  background-size: contain;
  background-repeat: none;
  background-position: center;
}

.linkSider>*:before{ background-image: url('../images/pipe.svg'); }
.linkService>*:before{ background-image: url('../images/helmet.svg'); }
.linkLab>*:before{ background-image: url('../images/presentation.svg'); }

.mainMenu ul li{
  list-style: none;
}

.mainMenu ul li.menu-item a:not(.customBtn){
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  padding: .5rem 1rem;
  align-items: center;
}

.navbar-toggler, .meinMenuUpperToggler{
  display: none;
}

.btn-close{
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
  opacity: 1;
}

.dropdown:hover .dropdown-menu{
  display: block !important;
}


.customTabs.onDark.elementor-widget-n-tabs .e-n-tabs-heading{
  column-gap: 0.5rem !important;
  row-gap: 0.5rem !important;
  width: 100%;
  padding: 0;
  margin-bottom: 0;
}

.customTabs.onDark .e-n-tab-title{
  color: var(--white) !important;
  border: 1px solid var(--neutrals600) !important;
  padding: 1.5rem !important;
  border-radius: 0;
  margin: 0 !important;
  width: 100%;
  flex-grow: 1;
  transition: 0.3s linear all;
}

.customTabs.onDark .e-n-tab-title[aria-selected="true"],
.customTabs.onDark .e-n-tab-title:hover{
  background-color: var(--neutrals600) !important;
}

.customTabs.onDark.elementor-widget-n-tabs .e-n-tabs{
  row-gap: 5rem;
}

.quattro_fasi .fasi_container{
  display: flex;
  column-gap: 1rem;
  row-gap: 1rem;
}

.quattro_fasi .fasi_container .fase{
  width: 25%;
  flex-grow: 1;
  flex-shrink: 1;
  background-color: #1A2643;
  color: var(--white);
  display: flex;
}

.quattro_fasi .fasi_container .fase,
.quattro_fasi .fasi_container .fase .front,
.quattro_fasi .fasi_container .fase .back{
  transition: 0.3s all linear;
  height: 25rem;
}

.quattro_fasi .fasi_container .fase.active{
  width: 50%;
  flex-shrink: 0;
}

.quattro_fasi .fasi_container .fase .front{
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
}

.quattro_fasi .fasi_container .fase .front .minus{ display: none; }
.quattro_fasi .fasi_container .fase .front .plus{ display: inline-block; }
.quattro_fasi .fasi_container .fase.active .front .minus{ display: inline-block; }
.quattro_fasi .fasi_container .fase.active .front .plus{ display: none; }

.quattro_fasi .fasi_container .fase .front .description{
  max-height: 0;
  overflow: hidden;
}

.quattro_fasi .fasi_container .fase.active .front .description{
  max-height: 25rem;
  transition: 0.3s all linear;
  transition-delay: 0.3s;
}

.quattro_fasi .fasi_container .fase .back{
  flex-grow: 0;
  flex-shrink: 1;
  width: 0%;
}

.quattro_fasi .fasi_container .fase .back .imgContainer{
  height: 100%;
}

.quattro_fasi .fasi_container .fase .front,
.quattro_fasi .fasi_container .fase.active .back{
  display: flex;
  flex-grow: 1;
  flex-shrink: 0;
  width: 50%;
}

.catalogoSliderControllers .iconLeft,
.catalogoSliderControllers .iconRight{
  opacity: 0.6;
  transition: 0.3s all linear;
}

.catalogoSliderControllers .iconLeft:hover,
.catalogoSliderControllers .iconRight:hover{
  opacity: 1;
}

.numberBorderColorOrange .elementor-shortcode .elementor-widget-heading.small{
  border-color: var(--service700) !important;
}

.scrollSquare>img{
  display: block;
  opacity: 0.2;
  transition: 0.3s all linear;
}

.scrollSquare>img.active{
  opacity: 1;
}

.scrollLine {
  display: block;
  background-color: var(--neutrals700);
  bottom: 0;
  width: 100%;
  position: absolute;
  top: 0;
  color: white;
}

.scrollLine>span{
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: white;
}

@media (max-width: 1200px){
  .quattro_fasi .fasi_container{
    flex-direction: column;
    height: auto;
    overflow: hidden;
  }

  .quattro_fasi .fasi_container .fase {
    width: 100%;
    height: auto;
    position: relative;
  }

  .quattro_fasi .fasi_container .fase.active {
    width: 100%;
    flex-direction: column;
  }

  .quattro_fasi .fasi_container .fase .front,
  .quattro_fasi .fasi_container .fase .back {
    width: 100%;
    height: auto;
  }

  .quattro_fasi .fasi_container .fase .back {
    max-height: 0;
  }

  .quattro_fasi .fasi_container .fase.active .back {
    height: 25rem;
    width: 100%;
    max-height: 25rem;
  }

  .quattro_fasi .fasi_container .fase .front .iconBlock{
    position: absolute;
    top: .3rem;
    right: 0;
  }

  .quattro_fasi .fasi_container .fase.active .front .description {
    max-width: 90%;
  }
}

@media (max-width: 767px){
  .swipableContainer {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .swipableContainer > * {
    /*flex: 0 0 80%;*/
    scroll-snap-align: center;
    margin-right: 16px;
  }

  .mainMenu{
    padding: 0 1.5rem;
  }
  .mainMenu .leftMenu,
  .mainMenu:not(.upper) .rightMenu{
    display: none;
  }

  .navbar-toggler, .meinMenuUpperToggler{
    display: block;
  }

  .mainMenuOffcanvas .offcanvas-body{
    padding: 1.25rem;
  }

  .mainMenuOffcanvas ul.menuBlock{
    padding-left: 0;
    margin-bottom: 0;
  }

  .mainMenuOffcanvas ul.menuBlock li{
    list-style: none;
    border-bottom: 1px solid var(--neutrals300);
    display: block;
    padding: 1.5rem 1rem;
  }

  .mainMenuOffcanvas ul.menuBlock li.contacts{
    margin-top: 3rem;
    border-bottom-width: 0;
    padding: 0;
  }

  .mainMenuOffcanvas ul.menuBlock li.contacts a{
    display: flex;
    justify-content: center;
    color: var(--white);
    align-items: center;
  }

  .mainMenuOffcanvas ul.menuBlock li a{
    text-decoration: none;
    color: inherit;
    display: inline-flex;
    align-items: center;
  }

  .linkSider>*:before,
  .linkService>*:before,
  .linkLab>*:before{
    filter: brightness(1) invert(1);
  }

  .mainMenu.lower .logo{
    padding: 0;
  }
}