.elementor-29 .elementor-element.elementor-element-789ace8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:30px;--padding-right:30px;}.elementor-29 .elementor-element.elementor-element-d3b1022{width:100%;max-width:100%;}.elementor-29 .elementor-element.elementor-element-d3b1022 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-29 .elementor-element.elementor-element-d31de26{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-29 .elementor-element.elementor-element-0c19f11 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 10px;}.elementor-29 .elementor-element.elementor-element-0c19f11 .elementor-heading-title{font-family:"Telegraf", Sans-serif;font-size:1.6rem;font-weight:400;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-29 .elementor-element.elementor-element-40e11de .elementor-nav-menu .elementor-item{font-family:"Telegraf", Sans-serif;font-weight:600;}.elementor-29 .elementor-element.elementor-element-40e11de{--e-nav-menu-horizontal-menu-item-margin:calc( 6rem / 2 );}.elementor-29 .elementor-element.elementor-element-40e11de .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:6rem;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-29 .elementor-element.elementor-element-789ace8{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-29 .elementor-element.elementor-element-0c19f11 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-29 .elementor-element.elementor-element-0c19f11 .elementor-heading-title{font-size:1rem;}.elementor-29 .elementor-element.elementor-element-40e11de > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-29 .elementor-element.elementor-element-40e11de{--e-nav-menu-horizontal-menu-item-margin:calc( 0rem / 2 );}.elementor-29 .elementor-element.elementor-element-40e11de .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0rem;}}@media(max-width:767px){.elementor-29 .elementor-element.elementor-element-789ace8{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--flex-wrap:nowrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:10px;--padding-bottom:0px;--padding-left:10px;--padding-right:0px;}.elementor-29 .elementor-element.elementor-element-d3b1022{width:100%;max-width:100%;}.elementor-29 .elementor-element.elementor-element-d31de26{--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-29 .elementor-element.elementor-element-40e11de{width:100%;max-width:100%;--e-nav-menu-horizontal-menu-item-margin:calc( 0rem / 2 );}.elementor-29 .elementor-element.elementor-element-40e11de > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-29 .elementor-element.elementor-element-40e11de.elementor-element{--align-self:flex-end;}.elementor-29 .elementor-element.elementor-element-40e11de .elementor-nav-menu .elementor-item{font-size:0.9rem;}.elementor-29 .elementor-element.elementor-element-40e11de .elementor-nav-menu--main .elementor-item{padding-left:0rem;padding-right:0rem;padding-top:0rem;padding-bottom:0rem;}.elementor-29 .elementor-element.elementor-element-40e11de .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:0rem;}}/* Start custom CSS for html, class: .elementor-element-d3b1022 */#red-dot {
    transition: fill .25s ease-in-out;
}

#red-dot {
    fill: #FF2300;
}
#logo {
    display: inline-block; width: auto; height: auto;
}
#logo-wrapper {
  width: auto;
  max-width: 100%;
  overflow: hidden;
  transition: width 0.4s ease;
}

#logo-wrapper.collapsed {
  width: 60px;
}

#logo-wrapper.collapsed svg {
  width: 600px;
  height: auto;
  display: block;
}

#logo-wrapper.collapsed #logo > g {
  transform: translateY(35%);
  transform-box: fill-box;   /* fa sì che il transform usi il bounding box dell'SVG */
  transform-origin: center;
}

@media (max-width:640px) {
    #logo-wrapper {
          height: 50px;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-789ace8 *//* =========================
   BASE HEADER
========================= */
#header {
  position: relative;
  width: 100%;
  z-index: 9999;
  transition:
    transform 0.3s ease,
    opacity 0.3s ease,
    background-color 0.3s ease,
    box-shadow 0.3s ease;
  will-change: transform;
  overflow: visible;
}

#header.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.77);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

#header.fixed.header-hidden {
  transform: translate3d(0, -100%, 0);
}

#header.scrolled {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

/* =========================
   FLASH FIX INTERNE
========================= */
body:not(.home) #header {
 /* visibility: hidden;
  opacity: 0;*/
}

body:not(.home) #header.header-ready {
  visibility: visible;
  opacity: 1;
}

/* =========================
   LOGO WRAPPER
========================= */
#logo-wrapper {
  transition: transform 0.3s ease, width 0.3s ease, opacity 0.3s ease;
  overflow: visible;
  display: flex;
  align-items: center;
}

#logo-wrapper svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}

#logo-wrapper.collapsed {
  transform: none;
}

/* =========================
   SUB HEADER
========================= */
/*#sub-header {*/
/*  opacity: 0;*/
/*  visibility: hidden;*/
/*  transform: translateY(-8px);*/
/*  pointer-events: none;*/
/*  transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;*/
/*}*/

/*#sub-header.visible {*/
/*  opacity: 1;*/
/*  visibility: visible;*/
/*  transform: translateY(0);*/
/*  pointer-events: auto;*/
/*}*/

/* =========================
   MENU
========================= */
#sub-header .elementor-nav-menu {
  gap: 1rem;
}

/* evita clipping da container Elementor */
#header,
#header .elementor-container,
#header .elementor-widget,
#header .elementor-widget-container {
  overflow: visible;
}

/* =========================
   MOBILE
========================= */
@media (max-width: 767px) {
  #header {
    min-height: 64px;
  }

  #header.fixed {
    background: rgba(255, 255, 255, 0.96);
  }
  #header.scrolled {
    align-items: self-end;
  }

  #logo-wrapper {
    width: 108px;
    max-width: 108px;
  }

  #logo-wrapper svg {
    width: 100%;
    min-width: 0;
  }
#sub-header .elementor-nav-menu {
  gap: 0.25rem;
}
  /* su mobile il sub-header meglio toglierlo
  #sub-header {
    display: none !important;
  }*/

  .elementor-nav-menu--main .elementor-item,
  .elementor-nav-menu--dropdown .elementor-item {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

/* =========================
   TABLET
========================= */
@media (min-width: 768px) and (max-width: 1024px) {
  #logo-wrapper {
    width: 140px;
    max-width: 140px;
  }
}

/* =========================
   DESKTOP
========================= */
@media (min-width: 1025px) {
  #logo-wrapper {
    width: 220px;
    max-width: 220px;
  }

  #logo-wrapper.collapsed {
    width: 120px;
    max-width: 120px;
  }
}/* End custom CSS */