.navbar{
  background: transparent;
  box-shadow: none;
  border: none;
  height: 86px;
  margin-bottom: 0;
}

.navbar .navbar-header a.logo{
	display: block;
	height: auto;
	padding: 7px 0 8px;
}
.navbar .navbar-header a.logo .navbar-brand{
	color: #fff;
	font-size: 70px;
	float: none;
	margin: 0;
	padding: 0;
	transition:all .25s;
}

.navbar .navbar-header a.logo:hover .navbar-brand{
	color: #3ba7f8;
}

.navbar #nav-body ul li a{
	color: #fff;
	text-transform: uppercase;
	padding: 33px 15px;
	cursor: pointer;
	font-size: 13px;
}

.navbar #nav-body ul li a.icon-link{
	border: 1px solid #fff;
	border-radius: 50%;
	padding: 9.5px 14px;
	margin: 22px 15px;
}

.navbar.inpage{
  background-color: #fff;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
}

.navbar.inpage .navbar-header a.logo .navbar-brand,
.navbar.inpage #nav-body ul li a{
	color: #303030;
}

.navbar.inpage #nav-body ul li a.icon-link{
	border-color: #303030;
}

.navbar #nav-body ul li a:hover,
.navbar #nav-body ul li a:focus,
.navbar #nav-body ul li a:active,
.navbar #nav-body ul li.open a,
.navbar .navbar-header a.logo:hover .navbar-brand{
	color: #3ba7f8;
	background-color: transparent;
}

.navbar #nav-body ul li a.icon-link:hover,
.navbar #nav-body ul li a.icon-link:focus,
.navbar #nav-body ul li a.icon-link:active,
.navbar #nav-body ul li.open a.icon-link,
.navbar.inpage #nav-body ul li a.icon-link:hover,
.navbar.inpage #nav-body ul li a.icon-link:focus,
.navbar.inpage #nav-body ul li a.icon-link:active,
.navbar.inpage #nav-body ul li.open a.icon-link,
.navbar #nav-body ul li a.icon-link.icon-logged{
	background-color: #3ba7f8;
	color: #fff;
	border-color: #3ba7f8;
}

.navbar.yamm #nav-body ul.dropdown-menu{
	border-radius: 0;
}

.navbar.yamm #nav-body ul.dropdown-menu li .yamm-content{
	padding: 10px 13px;
}

.navbar.yamm #nav-body ul.dropdown-menu li a{
	display: block;
	padding: 10px 7px;
	color: #303030;
	font-size: 12px;
}

.navbar.yamm #nav-body ul.dropdown-menu li a:hover,
.navbar.yamm #nav-body ul.dropdown-menu li a:hover .fa{
	background-color: #3ba7f8;
	color: #fff;
}

@media(max-width: 1199px){
	.navbar #nav-body ul li a{
		padding: 33px 12px;
	}
}

@media (max-width: 991px) {
	/* Assicura che il pannello dentro la navbar stia sopra al backdrop */
	.navbar {
		z-index: 1060;
	}
	body {
		left: 0;
		padding-top: 0;
		margin-bottom: 0;
	}
  
	body.nav-open-top {
		overflow: hidden;
		left: 0; /* neutralize legacy shift */
		position: static; /* avoid layout shift */
	}

	.dropdown-menu > li {
		margin: 0;
		min-width:100%;
		float:none;
	}


	.navbar.nav-open-top { right: 0; } /* neutralize legacy shift */

	.navbar #nav-body {
		display: block !important; /* override Bootstrap .collapse */
		height: 100vh;
		background: #303030;
		box-shadow: 0 0 24px rgba(0,0,0,.25);
		-webkit-overflow-scrolling: touch;
		top: 0;
		width: 280px;
		position: fixed;
		overflow-y: auto;
		border-bottom: none;
		max-height: none;
		transform: translate3d(100%, 0, 0);
		transition: transform .25s ease;
		will-change: transform;
		z-index: 1051; /* sopra al backdrop */
		right: 0;
		pointer-events: none; /* disabilita interazioni quando chiuso */
	}

	.navbar #nav-body.is-open {
		transform: translate3d(0, 0, 0);
		pointer-events: auto; /* abilita interazioni quando aperto */
	}

	/* dim page when menu is open */
	.nav-backdrop {
		position: fixed;
		inset: 0;
		background: rgba(0,0,0,.35);
		opacity: 0;
		visibility: hidden;
		transition: opacity .25s ease, visibility .25s ease;
		z-index: 1050; /* sotto al pannello */
		pointer-events: none; /* non bloccare i click quando nascosto */
	}
	.nav-backdrop.is-visible { opacity: 1; visibility: visible; pointer-events: auto; }
	.navbar #nav-body .nav {
		text-align: left;
		margin: 0;
		padding: 8px 0;
	}
	.navbar #nav-body .nav > li {
		display: block;
		margin: 0;
		min-height: 0;
		min-width: 100%;
		float: left;
	}
	/* Disattiva vecchio comportamento hover che nascondeva il menu */
	.navbar #nav-body .nav > li.dropdown:hover .dropdown-menu{
		display: block;
	}
	
	.navbar #nav-body .nav > li.dropdown.open .yamm-content{
		padding: 0;
	}
	
	.navbar #nav-body .nav > li.dropdown.open .yamm-content .row{
		margin: 0;
	}

	.navbar #nav-body .nav > li.dropdown.open .yamm-content .row [class*="col-"]{
		padding: 0;
	}


	.navbar #nav-body .nav > li.dropdown.open:hover .dropdown-menu{ display: block; }
	.navbar #nav-body .nav > li > .dropdown-menu {
		position: relative;
		text-align: left;
		background: none;
		box-shadow: none;
		margin: 0;
		padding: 0;
		width: 100% !important;
		float: none;
		border-bottom: 1px solid #aaaaaa;
		display: block !important; /* sempre presente, gestiamo visibilità via max-height/opacity */
	}
	.navbar #nav-body .nav > li > .dropdown-menu li a {
		border-color: #aaaaaa;
		color: #f0f0f0;
		text-align: left;
		padding: 12px 18px;
	}
	.navbar #nav-body .nav > li > a {
		padding: 0 18px;
		font-size: 12px;
		line-height: 48px;
		height: auto;
		color: #fff;
		border-bottom: 1px solid #a1a1a1;
		display: block;
		text-align: left;
		transition: background-color .2s ease, color .2s ease;
		position: relative;
		cursor: pointer;
	}

	/* Hover/active su mobile (più soft) */
	.navbar #nav-body .nav > li > a:hover,
	.navbar #nav-body .nav > li > a:active,
	.navbar #nav-body .nav > li > a:focus {
		background: rgba(255,255,255,.08);
		color: #e9f4ff;
	}

	/* Accento laterale su hover/focus */
	.navbar #nav-body .nav > li > a:hover:before,
	.navbar #nav-body .nav > li > a:active:before,
	.navbar #nav-body .nav > li > a:focus:before,
	.navbar #nav-body .nav > li.open > a:before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
		width: 3px;
		background: #3ba7f8;
	}

	/* Hover per i link nelle tendine */
	.navbar #nav-body .nav > li > .dropdown-menu li a {
		cursor: pointer;
	}
	.navbar #nav-body .nav > li > .dropdown-menu li a:hover,
	.navbar #nav-body .nav > li > .dropdown-menu li a:active,
	.navbar #nav-body .nav > li > .dropdown-menu li a:focus {
		background: rgba(255,255,255,.06);
		color: #e9f4ff;
	}

	/* Dropdown accordion: transizioni morbide */
	.navbar #nav-body .nav > li > .dropdown-menu {
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		transition: max-height .25s ease, opacity .2s ease;
	}
	.navbar #nav-body .nav > li.open > .dropdown-menu {
		max-height: 1000px; /* abbastanza per i contenuti */
		opacity: 1;
	}

	/* Indicatore caret per i toggle */
	.navbar #nav-body .nav > li.dropdown > a.dropdown-toggle:after {
		content: "\f107"; /* fa-angle-down */
		font-family: FontAwesome;
		float: right;
		margin-left: 8px;
		transition: transform .2s ease;
	}
	.navbar #nav-body .nav > li.dropdown.open > a.dropdown-toggle:after {
		transform: rotate(180deg);
	}

	.navbar.inpage #nav-body ul li a{
		color: #fff;
	}
	.navbar #nav-body .nav > li.open > a {
		border-bottom: none;
		border-top: 1px solid #3ba7fb;
		background: #fff !important;
		color: #3ba7fb !important;
	}
	.navbar #nav-body .nav > li > a:hover {
		background: #ffffff;
		color: #3ba7f8;
	}
	.navbar #nav-body .nav > li > a.current {
		border-bottom: none;
	}

	.navbar #nav-body .nav > li > .dropdown-menu li a.current {
		border-bottom-color: #3ba7f8;
		color: #3ba7f8
	}

    .navbar .navbar-header a.logo{
		display: inline-block;
		padding: 7px 15px 8px;
	}
	
	.navbar .navbar-header .navbar-toggle{
		margin-top: 26px;
	}

	.navbar .navbar-header .navbar-toggle .icon-bar{
		width: 19px;
		height: 2px;
		background: #fff;
	}

	.navbar.inpage .navbar-header .navbar-toggle .icon-bar{
		background-color: #303030;
	}

	.navbar .navbar-header .navbar-toggle .icon-bar+.icon-bar{
		margin-top: 4px;
	}

	.navbar #nav-body ul li a.icon-link{
		border: none;
		border-radius: 0;
		margin: 0;
		padding: 0 15px;
	}
}
