nav.xmenu,
nav.xmenu ul,
nav.xmenu ul ul { z-index: 1031; }

nav.xmenu { background: transparent; }

nav.xmenu { margin: 0; padding: 0; line-height: 30px; }

nav.xmenu ul { padding: 0; margin: 0; list-style: none; position: relative; width: auto; }
nav.xmenu ul li { float: left; margin: 0; background-color: transparent; }
nav.xmenu a { display: block; padding: 15px 20px; font-size: 1rem; text-decoration: none; white-space: nowrap !important; }
nav.xmenu a:hover { background-color: #000; color: #fff; text-decoration: none; }
nav.xmenu ul li a { color: #fff; }
nav.xmenu ul ul li { background-color: #fff; }
nav.xmenu ul ul li a { color: #000; padding: 10px 10px; line-height: 1.5; font-size: 1rem; }
nav.xmenu ul ul li a:hover { color: #fff; }
nav.xmenu ul li:hover > a { background-color: #000; color: #fff; }
nav.xmenu ul ul { display: none; position: absolute; top: 60px; width: auto; }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {/* IE */
	nav.xmenu ul ul { top: 60px; }
}

nav.xmenu ul ul,
nav.xmenu ul ul li { box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15); }
nav.xmenu ul ul ul { box-shadow: none; }

nav.xmenu ul li:hover > ul { display: inherit; }
nav.xmenu ul ul li { width: 240px; float: none; display: list-item; position: relative; }
nav.xmenu ul ul ul li { position: relative; top: -60px; left: 240px; }
nav.xmenu ul li > a:after { content: '\f107'; float: right; padding-left: 10px; font-family: FontAwesome6; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {/* IE */
	nav.xmenu ul li > a:after { float: none; right: 0; }
}

nav.xmenu ul li > a:only-child:after { content: ''; padding: 0; }
nav.xmenu ul li li > a:after { content: '\f105'; float: right; padding-left: 10px; font-family: FontAwesome6; }
nav.xmenu ul li li > a:only-child:after { content: ''; padding: 0; }

nav.xmenu ul { display: -ms-flexbox; display: flex; -ms-flex-pack: start; justify-content: start; }
nav.xmenu ul.centered { display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; }

/* LONG DROPDOWN
------------------- */

nav.xmenu ul.long { max-height: 440px; overflow-y: auto; overflow-x: hidden; }
nav.xmenu ul.long { box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15); }

/* MEGA MENU
------------------- */

nav.xmenu ul.mega {
	position: absolute;
	float: left;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
	background-color: #fff;
	width: 100%;
	max-width: 1366px;
	max-height: 660px;
	overflow-y: auto;
	overflow-x: hidden;
}

nav.xmenu ul.mega:after { content: ''; display: table; clear: both; }
nav.xmenu ul.mega li { display: inline-block; float: left; background-color: #fff; }

nav.xmenu ul ul.mega.grid li { padding: 0; width: 100%; color: #000; }
nav.xmenu ul ul.mega.grid li a.btn-link { padding: 0; }
nav.xmenu ul ul.mega.grid li a.btn-link:hover { color: #000; background: none; text-decoration: underline; }

img.mega-category-image { max-height: 100px; width: auto; }
img.mega-manuf-image { max-height: 50px; width: auto; }

nav.xmenu ul.mega { box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.15); }

@media all and (max-width: 992px) {
	nav.xmenu span.mm-close { display: none; }
}

/* THEMES
------------------- */

nav.xmenu.theme-light,
nav.xmenu.theme-light a,
nav.xmenu.theme-light ul li a { color: #fff !important; }
nav.xmenu.theme-light a:hover,
nav.xmenu.theme-light ul li:hover > a,
nav.xmenu.theme-light ul li.active > a { background-color: rgba(0,0,0,0.5); color: #fff !important; }
nav.xmenu.theme-light ul ul li a,
nav.xmenu.theme-light ul.mega,
nav.xmenu.theme-light ul.mega li { background-color: #fff; color: #000 !important; }
nav.xmenu.theme-light ul ul li:hover > a,
nav.xmenu.theme-light ul.mega li a:hover { background-color: #eee; color: #000 !important; }
nav.xmenu.theme-light ul.mega li a:hover { border-radius: 0.5rem; }

nav.xmenu.theme-dark,
nav.xmenu.theme-dark a,
nav.xmenu.theme-dark ul li a { color: #000 !important; }
nav.xmenu.theme-dark a:hover,
nav.xmenu.theme-dark ul li:hover > a,
nav.xmenu.theme-dark ul li.active > a { background-color: rgba(0,0,0,0.5); color: #fff !important; }
nav.xmenu.theme-dark ul ul li a,
nav.xmenu.theme-dark ul.mega,
nav.xmenu.theme-dark ul.mega li { background-color: #fff; color: #000 !important; }
nav.xmenu.theme-dark ul ul li:hover > a,
nav.xmenu.theme-dark ul.mega li a:hover { background-color: #eee; color: #000 !important; }
nav.xmenu.theme-dark ul.mega li a:hover { border-radius: 0.5rem; }

/* MOBILE MENU
------------------- */

#mobile-menu-buttons { z-index: 99; }
.mobile-menu-buttons { position: relative; z-index: 100; }
.mobile-menu-buttons a i { font-size: 1.5rem }
.mobile-menu-buttons a span.d-block { font-size: 0.65rem; }
.mobile-menu-buttons a span.mobile-minicart-items { top: 1rem; right: auto; margin-left: -0.5rem; font-weight: normal; font-size: 0.7em; }

.mobile-menu-buttons a.btn { background-color: none; z-index: 101; }

.mobile-menu-buttons a.btn:hover { background-color: rgba(0,0,0,0.5); color: #fff !important; }
.mobile-menu-buttons a.btn:focus { outline: 0 !important; box-shadow: none !important; }

.mobile-menu-buttons.theme-dark a.btn { background-color: none; }
.mobile-menu-buttons.theme-dark a.btn:hover { background-color: rgba(0,0,0,0.25); color: #000 !important; }

.mobile-search-form { position: absolute; top: 0; left: 0; width: 100%; opacity: 0; transition: opacity 0.0s; z-index: -1; }
.mobile-search-form.active { position: relative; top: 100%; opacity: 1; z-index: 1; }

/* JSON ACCORDION MENU
---------------------- */

a.json_parent[aria-expanded="true"] { background-color: rgba(0,0,0,0.5); color: #fff !important; }
a.json_parent:after { font-family: FontAwesome6; font-size: 1rem; content: '\f107'; position: relative; float: right; top: 0.5rem; }
a.json_parent[aria-expanded="true"]:after { font-family: FontAwesome6; font-size: 1rem; content: '\f106'; position: relative; float: right; top: 0.5rem; }
a.json_subcat:hover { background-color: rgba(0,0,0,0.15) !important; }

/* ACCORDION CATEGORY MENU
-------------------------- */

#accordion_cats [data-parents] { transition: all 0.3s; }
#json_cats_nav { display: none; transition: all 0.3s; }

#accordion_cats a.btn_json_parent,
#accordion_cats a.btn_json_subcat { background: linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); color: #fff !important; padding: 1rem 0; font-weight: normal; box-shadow: none !important; }

#accordion_cats a.btn_json_parent:after,
#accordion_cats a.btn_json_subcat:after { font-family: FontAwesome6; font-size: 1rem; content: '\f105'; position: relative; float: right; top: 0; right: 1rem; }

#accordion_cats a.btn_json_parent:hover,
#accordion_cats a.btn_json_subcat:hover { background: linear-gradient(to bottom,rgba(0,0,0,1) 0%,rgba(0,0,0,1) 100%); }

#accordion_cats .corner-ribbon { width: 240px; position: absolute; z-index: 1; top: 2rem; left: -75px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg); text-align: center; line-height: 30px; font-size: 0.8rem; letter-spacing: 3px; text-transform: uppercase; background: #000; color: #fff; }
#accordion_cats .corner-ribbon.top-left { top: 2rem; left: -75px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg); }
#accordion_cats .corner-ribbon.list-view { top: 10px; left: -95px; }
