#menu {
  width:100%;
  height: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 99;
  }

#menu .menu_sopra,
#menu .menu_sotto {
  width: 100%;
  height: auto;
  display: flex;
  background-color: #000;
  justify-content: flex-end;
  border-top: 1px solid var(--color2);
  border-bottom: 1px solid var(--color2);
  align-items: center;
  }

#menu .menu_sopra { padding: 12px 20px 12px; }

#menu .menu_sopra a { 
  font-family: var(--font-family-2);
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  color: #FFF;
  padding: 0 5px; 
  display: inline-block;
  -webkit-transition:all 0.1s linear;
  -moz-transition:all 0.1s linear;
  transition:all 0.1s linear; }

#menu .menu_sopra a.telefono,
#menu .menu_sopra a.mail {  padding: 0 20px; border-right: 1px solid var(--color2); }
#menu .menu_sopra .icone { margin-left: 20px; }
#menu .menu_sopra a img {
  width: 20px;
  height: auto;
  margin-bottom: -5px;
  margin-right: 10px;
  -webkit-transition:all 0.1s linear;
  -moz-transition:all 0.1s linear;
  transition:all 0.1s linear;
  }

#menu .menu_sopra a:hover img {
  transform: scale(1.1);
  -webkit-transition:all 0.1s linear;
  -moz-transition:all 0.1s linear;
  transition:all 0.1s linear;
  }

#menu .column1 { text-align: right; width: 20%; }
#menu .column2 { text-align: center; }
#menu .column3 { text-align: right; }

#menu .logo_header {
  width: 10%;
  height: auto;
  background-color: #FFF;
  filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.3));
  border-radius: 0 0 40% 40%;
  padding: 10px;
  position: absolute;
  top: 0;
  left: 5%;
  z-index: 99;
  }

#menu .logo_header img {
  width: 100%;
  height: auto;
  display: block;
  }

#menu .menu_sotto a {
  font-family: var(--font-family-2);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4em;
  text-transform: uppercase;
  color: #FFF;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  display: inline-block;
  padding: 2px 20px;
  -webkit-transition:all 0.2s linear;
  -moz-transition:all 0.2s linear;
  transition:all 0.2s linear;
  }

#menu .menu_sotto a:hover {
   border-top: 1px solid var(--color1);
   border-bottom: 1px solid var(--color1);
   -webkit-transition:all 0.2s linear;
   -moz-transition:all 0.2s linear;
   transition:all 0.2s linear;
  }

#menu .dropdown-content a:hover { color: #FFF; }

#menu .dropdown {
  position: relative;
  display: inline-block;
  }

#menu .dropdown img,
#navmenu ul li img {
  width: 13px;
  height: auto;
  display: inline-block;
  margin-bottom: -2px;
  margin-left: 10px;
  transform: rotate(90deg);
  }

#menu .dropdown-content {
  display: none;
  position: absolute;
  top: 25px;
  left: 10px;
  background-color: var(--color1);
  min-width: 170px;
  border-radius: 5px 5px 20px 20px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  padding: 12px 5px;
  z-index: 1;
  text-align:left;
  line-height: 1.5em;
  z-index: 99;
  }

#menu .dropdown:hover .dropdown-content {
  display: block;
  }

#menu .dropdown-content a {
  border-top: 1px solid var(--color1);
  border-bottom: 1px solid var(--color1);
  }

#menu .dropdown-content a:hover {
   color: var(--color2);
   border-top: 1px solid var(--color1);
   border-bottom: 1px solid var(--color1);
   }

#wapp {
  display:block;
  position:fixed;
  bottom:20px;
  right:20px;
  z-index:99;
  }

#wapp a {
  display:block;
  width:42px;
  height:42px;
  position:relative;
  margin:10px 0;
  text-align:center;
  color:#FFF;
  -webkit-border-radius:50%;
  -moz-border-radius:50%;
  border-radius:50%;
  -webkit-transition:all 0.2s linear;
  -moz-transition:all 0.2s linear;
  transition:all 0.2s linear;
  }








#header_mobile {
	width:100%;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	padding:13px 10px 13px 10px;
  background-color: var(--color2);
  z-index: 100;
	}

#logo_txt_mobile {
	position:relative;
  width:100px;
	}

#header_mobile a#logo_txt_mobile img {
	padding-top:2px;
  display:block;
  background-color: #FFF;
  border-radius: 50px;
  padding: 10px;
  margin: 0 auto;
  width: 80px;
  }

#btn_menu {
	position:fixed;
	display:block;
	font-size:24px;
  color: #FFF;
  background-color: var(--color1);
  width: 60px;
  height: 60px;
	right:10px;
	top: 0;
  border-radius: 0 0 20px 20px;
  -webkit-box-shadow: 2px 2px 14px -1px rgba(0,0,0,0.2);
  box-shadow: 2px 2px 14px -1px rgba(0,0,0,0.2);
	z-index:100;
	}

#navmenu {
	background-color:#FFF;
	display:none;
	text-align:center;
	}

#navmenu ul li {
  display:block;
  position:relative;
  font-size:15px;
  }

#navmenu ul li.m2 {
	background-color: var(--color2);
	font-weight:500;
	}

#navmenu ul li a sup {
  font-family: var(--font-family-2);
	font-size:12px;
	color:var(--color2);
	line-height:0em;
	padding-left:6px;
	-webkit-transition:all 0.1s linear;
	-moz-transition:all 0.1s linear;
	transition:all 0.1s linear;
	}

#navmenu ul li a {
  font-family: var(--font-family-2);
  display:block;
  padding:15px 0;
  color: #FFF;
  position:relative;
	text-transform:uppercase;
  }

#navmenu ul li a:hover { color: #FFF; }

#navmenu ul li i.ico_primary,
#navmenu ul li .ico i {
  color: #FFF;
  position:absolute;
  right:10px;
  top:14px;
	width:20px;
	text-align:center;
  }

#navmenu ul > li { border-bottom:1px solid var(--color4); }

#navmenu ul ul {
  display:none;
  background-color:rgba(255,255,255,0.1);
  }

#navmenu ul > li > a {
	font-size:14px;
	font-weight:600;
	}

#navmenu ul > ul > li > a { font-size:14px; }
#navmenu ul ul li { border-bottom:1px solid var(--color4); background-color: var(--color1); }

/* #navmenu ul > li:last-child, */
#navmenu ul ul li:last-child { border-bottom:none; }

#navmenu ul li a.active {
  background-color: var(--color2);
  color:#FFF;
  -webkit-transition:all 0.1s linear;
  -moz-transition:all 0.1s linear;
  transition:all 0.1s linear;
  }

/* ====== Menu ====== */

#menu_lang_mobile td {
  width:50%;
  text-align:center;
  }

#menu_lang_mobile a {
  color:#777;
  background-color:#EEE;
  display:block;
  }

#menu_lang_mobile a img {
	display:block;
	 padding:10px 0;
	 margin:0 auto;
	}

#menu_lang_mobile a.current {
  background-color:#DDD;
  color:#FFF;
  }

#btn_menu .fa, #icon-menu {
	-webkit-transition:all 0.3s ease-in-out;
	-moz-transition:all 0.3s ease-in-out;
	transition:all 0.3s ease-in-out;
}

.rotated{
	-webkit-transform: rotate(180deg);  /* Chrome, Safari 3.1+ */
	-moz-transform: rotate(180deg);  /* Firefox 3.5-15 */
	-ms-transform: rotate(180deg);  /* IE 9 */
	-o-transform: rotate(180deg);  /* Opera 10.50-12.00 */
	transform: rotate(180deg);  /* Firefox 16+, IE 10+, Opera 12.10+ */
	}


#menu a.button {
	display:inline-block;
	padding:12px 30px 12px 60px;
	text-transform:uppercase;
  font-family: var(--font-family-2);
	font-size:15px;
	font-weight:700;
	letter-spacing:0.1em;
	min-width:280px;
	text-align:center;
	margin: 10px 20px 10px 40px;
	color:#1D1D1D;
  border-radius: 3px;
  background-color: var(--color-cta);
  background-repeat: no-repeat;
  background-position: 5% 50%;
  background-size: 12%;
  border-top: 1px solid var(--color-cta);
  border-bottom: 1px solid var(--color-cta);
  -webkit-transition:all 0.2s ease-in-out;
  -moz-transition:all 0.2s ease-in-out;
  -ms-transition:all 0.2s ease-in-out;
  -o-transition:all 0.2s ease-in-out;
  transition:all 0.2s ease-in-out;
	}

#menu a.button:hover {
  color:#FFF;
  background-color:var(--color2);
  border-top: 1px solid var(--color1);
  border-bottom: 1px solid var(--color1);
  -webkit-transition:all 0.2s ease-in-out;
  -moz-transition:all 0.2s ease-in-out;
  -ms-transition:all 0.2s ease-in-out;
  -o-transition:all 0.2s ease-in-out;
  transition:all 0.2s ease-in-out;
	}

#button_bottom {
  display:block;
  position:fixed;
  bottom: 100px;
  right: 0;
  z-index: 100;
  }

#button_bottom a {
  display:block;
  width:42px;
  height:42px;
  position:relative;
  margin:10px 0;
  text-align:center;
  background-color:  var(--color1);
  border-radius: 20px 0 0 20px;
	-webkit-transition:all 0.2s linear;
	-moz-transition:all 0.2s linear;
	transition:all 0.2s linear;
  -webkit-box-shadow: 2px 2px 14px -1px rgba(0,0,0,0.2);
  box-shadow: 2px 2px 14px -1px rgba(0,0,0,0.2);
  }

#button_bottom a:hover {
  background-color: #FFF;
	-webkit-transition:all 0.2s linear;
	-moz-transition:all 0.2s linear;
	transition:all 0.2s linear;
}

#button_bottom a:hover img {
  filter: invert(100%);
	-webkit-transition:all 0.2s linear;
	-moz-transition:all 0.2s linear;
	transition:all 0.2s linear;
}

#button_bottom a img,
#wapp a img {
  width: 22px;
  height: auto;
  display: block;
  margin: 0 auto;
  padding-top: 9px;
  }

#wapp {
  display:block;
  position:fixed;
  bottom: 20px;
  right: 15px;
  z-index:99;
  }

#wapp a {
  display:block;
  width:42px;
  height:42px;
  position:relative;
  margin:10px 0;
  text-align:center;
  color:#FFF;
  -webkit-box-shadow: 2px 2px 14px -1px rgba(0,0,0,0.2);
  box-shadow: 2px 2px 14px -1px rgba(0,0,0,0.2);
  -webkit-transition:all 0.2s linear;
  -moz-transition:all 0.2s linear;
  transition:all 0.2s linear;
  }

#wapp a:hover {
  transform: scale(1.1);
  -webkit-transition:all 0.2s linear;
  -moz-transition:all 0.2s linear;
  transition:all 0.2s linear;
  }




/* ====== Switch Menu ======  */
@media only screen and (min-width : 0) and (max-width : 767px),
only screen and (min-device-width : 0) and (max-device-width : 767px),
only screen and (min-device-width : 0) and (max-device-width : 767px) and (-webkit-min-device-pixel-ratio : 2),
only screen and (min-device-width: 0) and (max-device-height: 767px) and (-webkit-device-pixel-ratio: 3) {

#menu {
 display:none;
 }

}