/* -------------------------------------
	PANNELLO LATERALE (mobile)
------------------------------------- */
@media only screen and (max-width:767px) {
	.nav-toggle {
		position: absolute;
		top: 5px;
		left: 15px;
		cursor: pointer;
		font-size: 24px;
	}
	.nav-toggle:hover:before {
		color: #333
	}
	.nav-sections {
		-webkit-overflow-scrolling: touch;
		-webkit-transition: left .3s;
		-moz-transition: left .3s;
		-ms-transition: left .3s;
		transition: left .3s;
		height: 100%;
		left: -80%;
		left: calc(-1 * (100% - 54px));
		overflow: auto;
		position: fixed;
		top: 0;
		width: 80%;
		width: calc(100% - 54px);
		background-color: #FFFFFF;
	}
	.nav-sections .switcher {
		border-top: 1px solid #d1d1d1;
		font-weight: 700;
		margin: 0;
		padding: .8rem 3.5rem .8rem 2rem
	}
	.nav-sections .switcher .label {
		display: block;
		margin-bottom: 5px
	}
	.nav-sections .switcher:last-child {
		border-bottom: 1px solid #d1d1d1
	}
	.nav-sections .switcher-trigger strong {
		position: relative;
		display: block;
		text-decoration: none
	}
	.nav-sections .switcher-trigger strong:after {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		font-size: 24px;
		content: '\f107';
		font-family: 'Font Awesome 5 Pro';
		font-weight: 300;
		padding-top: 10px;
	}
	.nav-sections .switcher-trigger strong:after {
		position: absolute;
		right: -40px;
		top: -16px
	}
	.nav-sections .switcher-trigger.active strong:after {
		content: '\f107'
	}
	.nav-sections .switcher-dropdown {
		margin: 0;
		padding: 0;
		list-style: none none;
		padding: 10px 0
	}
	.nav-sections .header.links {
		margin: 0;
		padding: 0;
		list-style: none none;
		border-bottom: 1px solid #d1d1d1;
		color: #575757;
	}
	.nav-sections .header.links li.greet.welcome {
		border-top: 1px solid #d1d1d1;
		font-weight: 700;
		padding: .8rem 20px
	}
	.nav-sections .header.links li>a {
		border-top: 1px solid #d1d1d1
	}
	.nav-sections .header.links a, .nav-sections .header.links a:hover {
		color: #575757;
		text-decoration: none;
		display: block;
		padding: .8rem 20px
	}
	.nav-sections .header.links .header.links {
		border: 0
	}
	.nav-sections .switcher-language {
		margin: 0;
		padding: 0;
		list-style: none none;
		border-bottom: 1px solid #d1d1d1;
		display: block;
		color: #575757;
	}
	.nav-sections .switcher-language li {
		border-top: 1px solid #d1d1d1;
		padding: .8rem 20px
	}
	.nav-sections .switcher-language li:first-child {
		text-transform: uppercase;
		font-weight: 700;
	}
	.nav-sections .switcher-language li.active {
		border-top: 1px solid #d1d1d1;
		border-left: 5px solid #007bff;
		padding: .8rem 15px;
		font-weight: 700;
	}
	.nav-sections .switcher-language a,
	.nav-sections .switcher-language a:hover {
		color: #575757;
		text-decoration: none;
		font-weight: 400;
	}
	.nav-sections .switcher-currency {
		margin: 0;
		padding: 0;
		list-style: none none;
		border-bottom: 1px solid #d1d1d1;
		display: block;
		color: #575757;
	}
	.nav-sections .switcher-currency li {
		border-top: 1px solid #d1d1d1;
		padding: .8rem 20px
	}
	.nav-sections .switcher-currency li:first-child {
		text-transform: uppercase;
		font-weight: 700;
		border-top: 0;
	}
	.nav-sections .switcher-currency li.active {
		border-top: 1px solid #d1d1d1;
		border-left: 5px solid #007bff;
		padding: .8rem 15px;
		font-weight: 700;
	}
	.nav-sections .switcher-currency a,
	.nav-sections .switcher-currency a:hover {
		color: #575757;
		text-decoration: none;
		font-weight: 400;
	}
	.nav-before-open {
		height: 100%;
		overflow-x: hidden;
		width: 100%
	}
	.nav-before-open .page-wrapper {
		-webkit-transition: left .3s;
		-moz-transition: left .3s;
		-ms-transition: left .3s;
		transition: left .3s;
		height: 100%;
		left: 0;
		overflow: hidden;
		position: relative
	}
	.nav-before-open body {
		height: 100%;
		overflow: hidden;
		position: relative;
		width: 100%
	}
	.nav-open .page-wrapper {
		left: 80%;
		left: calc(100% - 54px)
	}
	.nav-open .nav-sections {
		-webkit-box-shadow: 0 0 5px 0 rgba(50, 50, 50, 0.75);
		-moz-box-shadow: 0 0 5px 0 rgba(50, 50, 50, 0.75);
		-ms-box-shadow: 0 0 5px 0 rgba(50, 50, 50, 0.75);
		box-shadow: 0 0 5px 0 rgba(50, 50, 50, 0.75);
		left: 0;
		z-index: 99
	}
	.nav-open .nav-toggle:after {
		background: rgba(0, 0, 0, 0.5);
		content: '';
		display: block;
		height: 100%;
		position: fixed;
		right: 0;
		top: 0;
		width: 100%;
		z-index: 9
	}
	.nav-sections-items {
		position: relative;
		z-index: 1
	}
	.nav-sections-items:before, .nav-sections-items:after {
		content: '';
		display: table
	}
	.nav-sections-items:after {
		clear: both
	}
	.nav-sections-item-title {
		background: #e8e8e8;
		border: solid #dbdbdb;
		border-width: 0 0 1px 1px;
		box-sizing: border-box;
		float: left;
		height: 71px;
		padding-top: 24px;
		text-align: center;
		width: 33.33%
	}
	.nav-sections-item-title.active {
		background: transparent;
		border-bottom: 0
	}
	.nav-sections-item-title .nav-sections-item-switch:hover {
		text-decoration: none
	}
	.nav-sections-item-content {
		box-sizing: border-box;
		float: right;
		margin-left: -100%;
		margin-top: 71px;
		width: 100%;
		padding: 25px 0
	}
	.nav-sections-item-content:before, .nav-sections-item-content:after {
		content: '';
		display: table
	}
	.nav-sections-item-content:after {
		clear: both
	}
	.nav-sections-item-content.active {
		display: block
	}
	.nav-sections-item-content .switcher-title {
		font-weight: 700;
		padding: 0.8rem 20px;
		text-transform: uppercase;
	}
}


/* -------------------------------------
	PANNELLO LATERALE (desktop)
------------------------------------- */
@media (min-width:768px), print {
	.nav-toggle {
		display: none
	}
	.nav-sections {
		-webkit-flex-shrink: 0;
		flex-shrink: 0;
		-webkit-flex-basis: auto;
		flex-basis: auto;
		margin-bottom: 25px
	}
	.nav-sections-item-title {
		display: none
	}
	.nav-sections-item-content {
		display: block !important
	}
	.nav-sections-item-content>* {
		display: none
	}
	.nav-sections-item-content>.navigation {
		display: block
	}
}


/* -------------------------------------
	MENU CATEGORIE (mobile)
------------------------------------- */
@media only screen and (max-width:767px) {
	.navigation {
		padding-left: 15px;
		padding-right: 15px;
	}
	.navigation {
		padding: 0;
	}
	.navigation .parent .level-top {
		position: relative;
		display: block;
		text-decoration: none
	}
	.navigation .parent .level-top:after {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		font-size: 24px;
		content: '\f107';
		font-family: 'Font Awesome 5 Pro';
		font-weight: 300;
		padding-top: 10px;
	}
	.navigation .parent .level-top:after {
		position: absolute;
		right: 10px;
		top: -3px
	}
	.navigation .parent .level-top.ui-state-active:after {
		content: '\f106'
	}
	.navigation {
		background: #fff;
		box-sizing: border-box
	}
	.navigation ul {
		margin: 0;
		padding: 0
	}
	.navigation li {
		margin: 0;
		list-style: none;
	}
	.navigation a {
		color: #575757;
		display: block;
		padding: 0.8rem 20px;
	}
	.navigation > ul > .level0 {
		border-top: 0;
		border-bottom: 1px solid #d1d1d1;
	}
	.navigation > ul > .level0:first-child {
		border-top: 1px solid #d1d1d1;
	}
	/* Macro */
	.navigation ul.level0 > li {
		border-top: 1px solid #d1d1d1;
	}
	.navigation ul.level0 > li:last-child {
		border-bottom: 0;
	}
	.navigation ul.level0 > li > a {
		padding: 0.8rem 20px;
	}
	/* Primo Livello */
	.navigation ul.level1 > li {
		border-top: 1px solid #d1d1d1;
	}
	.navigation ul.level1 > li:last-child {
		border-bottom: 0;
	}
	.navigation ul.level1 > li > a {
		padding: 0.8rem 40px;
	}
	/* Secondo Livello */
	.navigation ul.level2 > li {
		border-top: 1px solid #d1d1d1;
	}
	.navigation ul.level2 > li:last-child {
		border-bottom: 0;
	}
	.navigation ul.level2 > li > a {
		padding: 0.8rem 60px;
	}
	.navigation .level0 > .level-top {
		font-weight: 700;
		padding: 0.8rem 20px;
		text-transform: uppercase;
		word-wrap: break-word
	}
	.navigation .level0.active .all-category .ui-state-focus {
		border-color: #007bff;
		border-style: solid;
		border-width: 0 0 0 5px;
		display: inline-block;
		padding-left: 15px;
	}
	/* .navigation .level0 > .level1 {
		font-weight: 600
	} */
	.navigation .level0.active > a:not(.ui-state-active),
	.navigation .level0.has-active > a:not(.ui-state-active) {
		border-color: #007bff;
		border-style: solid;
		border-width: 0 0 0 5px;
		padding-left: 20px;
	}
	.navigation .level0.active > a:not(.ui-state-active) span:not(.ui-menu-icon),
	.navigation .level0.has-active > a:not(.ui-state-active) span:not(.ui-menu-icon),
	.navigation .level1.active > a:not(.ui-state-active) span:not(.ui-menu-icon),
	.navigation .level1.has-active > a:not(.ui-state-active) span:not(.ui-menu-icon),
	.navigation .level2.active > a:not(.ui-state-active) span:not(.ui-menu-icon),
	.navigation .level2.has-active > a:not(.ui-state-active) span:not(.ui-menu-icon),
	.navigation .level3.active > a:not(.ui-state-active) span:not(.ui-menu-icon),
	.navigation .level3.has-active > a:not(.ui-state-active) span:not(.ui-menu-icon) {
		margin-left: -5px
	}
	.navigation .submenu > li {
		word-wrap: break-word
	}
	.navigation .submenu:not(:first-child) {
		font-weight: 400;
		line-height: 1.3;
		left: auto !important;
		overflow-x: hidden;
		padding: 0;
		position: relative;
		top: auto !important;
		transition: left .3s ease-out
	}
	.navigation .submenu:not(:first-child) > li:last-child {
		margin-bottom: 0
	}
	.navigation .submenu:not(:first-child) ul {
		display: block;
		padding-left: 0
	}
	.navigation .submenu:not(:first-child) ul > li {
		margin: 0
	}
	.navigation .submenu:not(:first-child) ul > li a {
		color: #575757;
		display: block;
		line-height: normal
	}
	.navigation .submenu:not(:first-child).expanded {
		display: block !important;
		padding-right: 0;
		top: 0 !important
	}
	.navigation .submenu:not(:first-child) .active > a {
		border-color: #007bff;
		border-style: solid;
		border-width: 0 0 0 5px;
		font-weight: 700;
	}
	.navigation .submenu:not(:first-child) .level1.active > a {
		padding-left: 20px
	}
}


/* -------------------------------------
	MENU CATEGORIE (desktop)
------------------------------------- */
@media (min-width:768px), print {
	.nav-sections {
		background-color: #f4f3f4;
	}
	.nav-sections-item-content>.navigation {
		display: block
	}
	.navigation {
		box-sizing: border-box;
		margin-left: auto;
		margin-right: auto;
		max-width: 1250px;
		padding-left: 20px;
		padding-right: 20px;
		width: auto
	}
	.nav-sections-item-content>.navigation {
		display: block
	}
	.navigation {
		font-weight: 700;
		height: inherit;
		left: auto;
		overflow: inherit;
		padding: 0;
		position: relative;
		top: 0;
		width: 100%;
		z-index: 3
	}
	.navigation:empty {
		display: none
	}
	.navigation ul {
		margin-top: 0;
		margin-bottom: 0;
		padding: 0;
		position: relative
	}
	.navigation ul li {
		list-style-type: none;
	}
	.navigation li.level0 {
		border-top: none
	}
	.navigation .level0 {
		margin: 0 10px 0 0;
		display: inline-block;
		position: relative
	}
	.navigation .level0:last-child {
		margin-right: 0;
		padding-right: 0
	}
	.navigation .level0>.level-top {
		color: #575757;
		line-height: 53px;
		padding: 0 12px;
		text-decoration: none;
		box-sizing: border-box;
		position: relative
	}
	.navigation .level0>.level-top:hover, .navigation .level0>.level-top.ui-state-focus {
		color: #333;
		text-decoration: none
	}
	.navigation .level0.active>.level-top, .navigation .level0.has-active>.level-top {
		border-color: #ff5501;
		border-style: solid;
		border-width: 0 0 3px;
		color: #333;
		text-decoration: none;
		display: inline-block
	}
	.navigation .level0.parent:hover>.submenu {
		overflow: visible !important
	}
	.navigation .level0 .submenu {
		background: #fff;
		border: 1px solid #d1d1d1;
		box-shadow: 0 5px 5px rgba(0, 0, 0, 0.19);
		font-weight: 700;
		min-width: 230px;
		padding: 15px 0;
		display: none;
		left: 0;
		margin: 0 !important;
		padding: 0;
		position: absolute;
		z-index: 1;
		margin-top: 11px
	}
	.navigation .level0 .submenu>ul {
		margin-top: 11px
	}
	.navigation .level0 .submenu>ul:before, .navigation .level0 .submenu>ul:after {
		content: '';
		display: block;
		overflow: hidden;
		position: absolute
	}
	.navigation .level0 .submenu>ul:before {
		color: #fff;
		left: 20px;
		top: -20px;
		border: 10px solid transparent;
		height: 0;
		width: 0;
		border-bottom-color: #fff;
		z-index: 4
	}
	.navigation .level0 .submenu>ul:after {
		border: 11px solid transparent;
		height: 0;
		width: 0;
		border-bottom-color: #d1d1d1;
		color: #d1d1d1;
		left: 19px;
		top: -22px;
		z-index: 3
	}
	.navigation .level0 .submenu a {
		display: block;
		line-height: inherit;
		color: #575757;
		padding: 8px 20px
	}
	.navigation .level0 .submenu a:hover, .navigation .level0 .submenu a.ui-state-focus {
		background: #e8e8e8;
		color: #333;
		text-decoration: none
	}
	.navigation .level0 .submenu .active>a {
		border-color: #ff5501;
		border-style: solid;
		border-width: 0 0 0 3px
	}
	.navigation .level0 .submenu .submenu {
		top: 0 !important;
		left: 100% !important
	}
	.navigation .level0 .submenu .submenu-reverse {
		left: auto !important;
		right: 100%
	}
	.navigation .level0.more {
		position: relative;
		display: inline-block;
		text-decoration: none
	}
	.navigation .level0.more:after {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
		font-size: 26px;
		line-height: inherit;
		color: inherit;
		content: '\e607';
		font-family: 'icons-blank-theme';
		vertical-align: middle;
		display: inline-block;
		font-weight: normal;
		overflow: hidden;
		speak: none;
		text-align: center
	}
	.navigation .level0.more:before {
		display: none
	}
	.navigation .level0.more:after {
		cursor: pointer;
		padding: 8px 12px;
		position: relative;
		z-index: 1
	}
	.navigation .level0.more:hover>.submenu {
		overflow: visible !important
	}
	.navigation .level0.more li {
		display: block
	}
}
