

/* ================= DESKTOP ================= */
@media (min-width: 1280px) {

.menu ul li { display: inline-block;  list-style: none; font-size: 14px; }
.menu ul li:last-child { padding-right:0px; }
.menu ul li a { font-size:14px; display:inline-block;  }       
.menu ul .span3 ul li ul li a.bold { font-weight:bold; margin-left:20px; display:inline-block; }
.menu ul li ul li, .menu ul li ul li a { font-size:15px; color:#000;}
.menu ul li ul li a:hover { -webkit-transition: color 0.5s; transition: color 0.5s;}
.menu ul li ul li a:hover { color:#000; opacity:1; }
.menu ul li a.active { border-bottom:1px solid #000; padding: 30px 0 31px 0; }
.menu ul li ul li a b { display:block;  font-size: 14px; }
.menu .button { padding:5px!important; }
.menu .grid-5-colums.bt1 { min-height:230px; }
.menu ul li a.active:hover > .slider { width: 0; }
.menu ul li a:hover > .slider { width: 100%; }
.menu .menu-btn.title { padding:32px 0; }
.menu ul li.menu-btn { margin-right:20px;}
.menu ul { text-align: left;  }
.menu ul .span3 ul li { width:100%; display:block; border:0px; }
.menu ul .span3 ul li a { border-bottom:2px solid #F6F6F6; }
.menu ul .span3 ul ul li a { border-color:#FFF; }
.menu ul .span3 ul li a span { margin-top:15px; display: block; }
.menu .section { width:100%; position:absolute; top:0px; right:0px; z-index:999; margin-top:20px; display:table; }
.menu .nav-submenu { width:74.99%; }
.menu .nav-submenu li { margin:0px; text-align:left;  }                                                              
.menu .nav-submenu li a { font-size:14px; }
.menu .nav-submenu li ul { margin-top:20px; }
.menu .nav-submenu li ul li { width:100%; float:left; padding:0px; }
.menu .nav-submenu li ul li a {font-weight:400; text-transform:none; }
.menu .nav-submenu li ul ul { margin-top:0px; padding-left:10px;  }
.menu .nav-submenu li ul li a.bold { font-weight:bold;  }
.menu .nav-submenu li ul li.mb10 { margin-bottom:5px; }
.menu a { border-bottom:1px solid transparent; }

  #hamburger, .overlay-backdrop {
    display: none; /* hamburger invisibile */
  }
}

@media (max-width: 1279px) {

header { min-height:55px; background:#FFF; }
header .ambigramma { margin-top:15px; }


/* Contenitore hamburger */
#hamburger {
  position: absolute;
  top: 20px;
  left: 1	0px;
  width: 24px;
  height: 15px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  z-index: 10001;
  transition: transform 0.3s ease;
}

.search-mobile {
  position: absolute;
  top: 15px;
  left: 45px;
  z-index: 10001;
}

/* Le linee */
#hamburger span {
  display: block;
  height: 1px;
  width: 100%;
  background: #000;
  transition: all 0.4s cubic-bezier(0.77, 0.2, 0.05, 1.0);
  transform-origin: center;
}

/* Stato attivo: diventa X */
#hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translateY(10px);
}

#hamburger.active span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

#hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translateY(-10px);
}

/* Piccola animazione al click */
#hamburger:active {
  transform: scale(0.95);
}

    .topmenu {
    	padding:55px 0px 100px 0px;
		position: fixed;   /* prima era static */
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		display: none;     /* nascosto di default */
		background: #fff;
		z-index: 9999;
		overflow-y: auto;  /* per scorrere i sottomenu lunghi */
    }

    .topmenu.active {
       display: block;   /* mostra il menu */
    }

    .overlay-backdrop {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background: rgba(0,0,0,0.3);
        display: none;
        z-index: 9999;
    }

    .overlay-backdrop.active {
        display: block;
    }

	.menu-item > a.menu-btn {  display: block; padding: 10px 0; font-weight: bold; cursor: pointer;  }
	.menu-item.open > .hidden { display: block; }
	.menu-item ul , .menu-item ul li, .menu-item .title2, .menu-item .title2 b, .menu-item .title2 b a { display:block; width:100%; float:left; }
	.menu-item .title2 b a { font-size:14px; }
	.grid-5-colums.bt1 { border:0px; padding-top:0px!important; }

	  .menu .menu-item.mr30 { margin:0px; }
	  .menu .menu-item .sub-section { position:relative; padding-left:20px;padding-right:20px; float:left; }
	  .menu .menu-item .sub-section .sub2-section { display:none; }
	  .menu .menu-item .grid-banner,.menu-item .close_menu { display:none; }
	  .menu .menu-btn.title { padding:10px 20px; font-size:16px; font-weight: bold; background-color: #F0EDEA; margin-bottom:2px; display:block; width:100%; float:left; }
	  
	  .menu ul li { margin: 0px; display: block; text-align: left; }
	  .menu .grid-5-colums { padding:0; grid-template-columns: repeat(1, 1fr); grid-column-gap: 0px; gap: 0px; }  
	  .menu .padding-main { padding:0px; }
	  .menu .menu-btn { display:block; }
	  .menu .grid-5-colums.bt1 { min-height:auto; } 
	  /* 
	  .menu .menu-item div ul { display:block!important; }
	  .menu .menu-item div ul ul { display:none!important; }
	  .menu .menu-item div ul li b.mb10 { margin-bottom:5px; }
	  */
	  .menu .grid-5-colums.bt1.padding-top20 { padding-top:0px; }
	  .menu .grid-5-colums.bt1.padding-top20 ul li b { font-size:16px; font-weight:bold; margin-bottom:0px; }
	  .menu .grid-5-colums.bt1.padding-top20 ul ul li b { font-size:14px; font-weight:bold; }
  
  .toggle-sub {
	  float: right;
	  font-size: 22px;
	  line-height: 1;
	  color: #444;
	  cursor: pointer;
	  margin-right: 8px;
	  user-select: none;
	}

	.menu-item div.hidden ul {
	  display: none;
	  margin: 5px 0;
	  float:left; background-color:#FFF;
	}

	.menu-item div.hidden ul li {
	  padding: 1px 0;
	}

}