/*================================================================
CLICK MENU STYLES
================================================================*/

/*
THESE STYLES will probably not be needed and are adjusted in your main styles
- * for example is most efficient when not a child of a class
-- hopefully you already are using the box sizing globally
- you may not need text-decoration etc. depending on your global anchors
*/
.cm-menu a, .cm-menu a:visited { color:#fff; text-decoration:none !important; }
.cm-menu *, .cm-menu *:after, .cm-menu *:before {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.my-account-nav{margin-top:5px;}

.cm-menu:focus { outline:3px solid blue;  }
.cm-menu, .cm-menu ul { margin:0; padding:0; list-style:none; /*background:#313131;*/ }

.toggle-menu + .cm-menu, .cm-menu ul {
	max-height:0;
	opacity:0;
	overflow:hidden;
	-wekbit-transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out;
	transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out;
}
.cm-menu { position:relative; }
.cm-menu li a { display:block; padding:10px; position:relative; background:#313131; }

.cm-menu li { border-top:1px solid #ccc; }
.cm-menu li:first-child { border-top:0; }
.cm-menu li { position:relative; }

.cm-menu .has-sub:after,
.cm-menu .expander-wrap .has-sub > span:after {
	content: "\2c";
	font-size:12px;
	font-family: 'icomoon';
	color:#5ec9c4;
	display:inline-block;
	position:absolute; top:50%; right:20px;
	margin:2px 0 0 5px;
	vertical-align:middle;
	/* Extra is for anti-aliasing issues in firefox and others */
	
	-wekbit-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
	-webkit-transform: scale(0.98) translateY(-50%);
	-ms-transform: scale(0.98) translateY(-50%);
	transform: scale(0.98) translateY(-50%);
}

.cm-menu .opened > .has-sub:after,
.cm-menu .opened > .expander-wrap .has-sub > span:after{
	-webkit-transform: scale(0.98) translateY(-50%) rotate(-180deg);
	-ms-transform: scale(0.98) translateY(-50%) rotate(-180deg);
	transform: scale(0.98) translateY(-50%) rotate(-180deg);
}

.sub-menu .has-sub:after,
.sub-menu .expander-wrap .has-sub > span:after {
	content: "\f0da";
	font-family: 'FontAwesome';
	display:inline-block;
	position:absolute; top:50%; right:15px !important;
	margin:2px 0 0 5px;
	vertical-align:middle;
	/* Extra is for anti-aliasing issues in firefox and others */

	-wekbit-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
	-webkit-transform: scale(0.98) translateY(-50%);
	-ms-transform: scale(0.98) translateY(-50%);
	transform: scale(0.98) translateY(-50%);
}

.sub-menu .opened > .has-sub:after,
.sub-menu .opened > .expander-wrap .has-sub > span:after{
	-webkit-transform: scale(0.98) translateY(-50%) rotate(-180deg);
	-ms-transform: scale(0.98) translateY(-50%) rotate(-180deg);
	transform: scale(0.98) translateY(-50%) rotate(-180deg);
}

.sub-menu .has-sub:before,
.sub-menu .expander-wrap .has-sub > span:before {
	content: "";
	color: #616161;
	position: absolute;
	width: 1px;
	background: #616161;
	right: 38px;
	top:0;
	bottom:0;	
}

.cm-menu > .opened > a,
.cm-menu > li > a:hover,
.cm-menu > li > a:focus,
.cm-menu > li > div > a:hover,
.cm-menu > li > div > a:focus { color:#5fcac3;}

.cm-menu .expander-wrap .has-sub:hover > span,
.cm-menu .expander-wrap .has-sub:focus > span { color:#333; background:#d4d4d4; }

.cm-menu ul .opened > a,
.cm-menu ul a:hover { background:#444; }

.cm-menu ul .opened > .has-sub:after,
.cm-menu ul .opened > .expander-wrap .has-sub > span:after{
	border-top-color:#fff;
}

.cm-js-active .cm-menu { max-height:80em; opacity:1; }
.cm-menu .opened > ul { max-height:80em; opacity:1; }

/* ================= SEPARATE EXPANDERS OPTION IS ENABLED ================= */

.cm-menu .expander-wrap { display:table; width:100%; }
.cm-menu .expander-wrap a { display:table-cell; }
.cm-menu .expander-wrap .has-sub { position:relative; width:30px; }
.cm-menu .expander-wrap .has-sub:after { display:none; }
.cm-menu .expander-wrap .has-sub > span {
	display:block;
	position:absolute; top:0; right:0;
	width:100%; height:100%;
	background:#aaa;
}
.cm-menu .expander-wrap .has-sub > span:after {
	content:" ";
	display:inline-block;
	position:absolute; top:50%; right:50%;
	margin:2px 0 0 5px;
	vertical-align:middle;
	border:5px solid transparent;
	/* Extra is for anti-aliasing issues in firefox and others */
	border:5px solid rgba(0,0,0,0);
	border-top-color:#fff;
	-wekbit-transition: all 0.4s ease-in-out;
	transition: all 0.4s ease-in-out;
	-webkit-transform: scale(0.98) translate(50%, -50%);
	-ms-transform: scale(0.98) translate(50%, -50%);
	transform: scale(0.98) translate(50%, -50%);
}
.cm-menu .opened > .expander-wrap .has-sub > span:after {
	border-top-color:#333;
	-webkit-transform: scale(0.98) translate(50%, -75%) rotate(-180deg);
	-ms-transform: scale(0.98) translate(50%, -75%) rotate(-180deg);
	transform: scale(0.98) translate(50%, -75%) rotate(-180deg);
}

/* ================= HOVER FALLBACK IF JAVASCRIPT IS DISABLED ================= */

.no-js .toggle-menu + .cm-menu { opacity:1; max-height:80em; }
.no-js .cm-menu > li:hover > a { background:#333; }
.no-js .cm-menu ul ul li:hover > a { background:#444; }

.no-js .cm-menu li:hover > ul { display:block; max-height:80em; opacity:1; width:100%; }
.no-js .cm-menu ul { display:none; overflow:visible; }


/* ================= MENU OPEN FUNCTIONALITY ADDED ON SETUP ================= */

@media (min-width:48em){
	.toggle-menu + .cm-menu { max-height:80em; opacity:1; overflow:visible;min-width:1000px; }
	.cm-menu ul { top:100%; overflow:hidden; }
	.cm-menu .opened > ul { max-height:80em; opacity:1; }
	.cm-menu .opened > ul.cm-dropdown2 { background: #fff; }

	.cm-menu .animated > ul { overflow:visible; z-index:10; }
	.cm-menu .animating > ul { z-index:-1; }
}


/*================================================================
CLICK MENU MENU TYPES
================================================================*/

/*  NAV BAR STYLE TYPE
================================================================*/

@media (min-width:48em){
	.nav-bar li { border-top:0; }

	.nav-bar > ul { display:block; width:100%; /*table-layout:fixed;*/ }

	.nav-bar > ul > li,
	.nav-bar > div > ul > li { display:inline-block; vertical-align:middle; }

	.nav-bar > ul > li > a,
	.nav-bar > div > ul > li > a { display:table; width:100%; padding:0 30px 0 0; }

	.nav-bar > ul > li > a > span,
	.nav-bar > div > ul > li > a > span {display:table-cell; padding:0 10px; height:40px; vertical-align:middle; text-align:center; text-transform:uppercase;}

	.nav-bar > ul > li > ul,
	.nav-bar > div > ul > li > ul { position:absolute; }

	.nav-bar .has-sub span:after { position:static; margin-top:10px; }
	.nav-bar ul ul .has-sub:after { right:5px; }

	.nav-bar ul li ul > li { margin:0;}
	.nav-bar ul li.my-account-nav ul > li:last-child::before {content:""; position:absolute; border-top:1px solid #eaeaea; left:10px; right:10px; top:1px; z-index:1;}
	.nav-bar ul li.my-account-nav ul > li:last-child a {padding-top:16px; padding-bottom:16px;}
	.nav-bar ul li.my-account-nav ul {margin-top:8px;}

	.nav-bar .cm-menu li.my-account-nav .has-sub::after {content:"\25B2"; margin-top:-6px; transform:scale(1.5,1); font-family:sans-serif;}
	.nav-bar .cm-menu li.my-account-nav.opened .has-sub::after {margin-top:-4px; transform:scale(1.5,1) rotate(-180deg);}

	.nav-bar > ul > li.my-account-nav > a > span {text-transform:none;}

	.nav-bar ul li li li { margin-left:0; margin-right:0; }
	.nav-bar ul ul a { padding:18px 8px; background: #313131; }
	.nav-bar ul ul ul ul li {border: 0; padding-bottom: 10px;}
	.nav-bar ul ul ul ul li a {background: none; border: 0; color: #000000 !important; font-size: 0.938em; padding: 0 10px;}

	.nav-bar ul ul a:hover, .nav-bar ul ul a:focus,
	.nav-bar ul ul .opened > a { color:#fff; background: #b20008; }	
	
	.sub-menu-list ul a:hover, .sub-menu-list ul a:focus,
	.sub-menu-list ul .opened > a { background: none !important; }
	
	/* ================= HOVER FALLBACK IF JAVASCRIPT IS DISABLED ================= */

	.no-js .nav-bar ul ul li:hover > a { color:#000; background:#ddd; }

}

/*  ACCORDION NAVIGATION
================================================================*/

/* ------------- CURRENTLY KEEPS SMALL SCREEN STYLES -------------- */


/*  DROP DOWN NAVIGATION
================================================================*/

@media (min-width:48em){
	[data-type="dropdown"] ul {
		display:block;
		position:absolute;
		z-index:-1;
		top:100%; left:0;
		width:100%; min-width:180px;
		background:#333;
		-wekbit-transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out, left 0.4s ease-in-out, right 0.4s ease-in-out;
		transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out, left 0.4s ease-in-out, right 0.4s ease-in-out;
	}
	[data-type="dropdown"] ul ul { top:-5px; }
	[data-type="dropdown"] .opened > ul { left:100%; max-height:80em; opacity:1; }

	li[data-type="dropdown"]:nth-last-child(-n+2) ul { left:auto; right:0; }
	li[data-type="dropdown"]:nth-last-child(-n+2) .opened > ul { left:auto; right:100%; }

	.nav-bar ul li[data-type="dropdown"] li li { margin-left:5px; margin-right:5px; }

	[data-type="dropdown"] a + .has-sub { width:0; min-height:0; height:100%; }
	[data-type="dropdown"] a + .has-sub > span { min-height:0; height:100%; }

	/* ================= HOVER FALLBACK IF JAVASCRIPT IS DISABLED ================= */

	.no-js .cm-menu [data-type="dropdown"] li:hover > ul { left:100%; }
	.no-js .cm-menu [data-type="dropdown"]:nth-last-child(-n+2) ul { left:auto; right:0; }
	.no-js .cm-menu [data-type="dropdown"]:nth-last-child(-n+2) li:hover > ul { left:auto; right:100%; }

}

/*  SLIDING MENU NAVIGATION ADJUSTMENTS
================================================================*/


[data-type="sliding"].opened .sub-menu,
[data-type="sliding"].opened .sub-menu ul { max-width:100%; }

.cm-menu [data-type="sliding"].opened .sub-menu > ul { max-height:80em; opacity:1; }
.cm-menu [data-type="sliding"].animated .sub-menu > ul { overflow:visible; z-index:10; }
.cm-menu [data-type="sliding"].animating .sub-menu { z-index:-1; }

@media (min-width:48em){

	[data-type="sliding"] .sub-menu {
		position:absolute;
		-wekbit-transition: all 0.4s ease-in-out;
		transition: all 0.4s ease-in-out;
	}
	.cm-menu ul.sub-menu,
	[data-type="sliding"] div.sub-menu > ul {
		display:block;
		position:absolute;
		z-index:-1;
		left:0;
		width:297px;
		background:#313131;
		border-bottom: 1px solid #4a4a4a;
		border-radius:0;
		-wekbit-transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out, left 0.4s ease-in-out, right 0.4s ease-in-out;
		transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out, left 0.4s ease-in-out, right 0.4s ease-in-out;
	}
	
	.cm-menu ul.sub-menu,
	[data-type="sliding"] div.sub-menu > ul {margin-top:7px;}

	[data-type="sliding"] .sub-menu > ul li { position:static; }
	[data-type="sliding"] .sub-menu > ul > li > ul { position:absolute; top:0; }

	[data-type="sliding"] .sub-menu > ul ul { position:absolute; top:0; }

	[data-type="sliding"] .sub-menu ul ul ul { position:static; margin:0; padding:0; max-height:80em; width:100%; overflow:hidden; background:transparent; opacity:1; }

	[data-type="sliding"] .sub-menu ul ul .has-sub { color:#fff; cursor:default; }
	[data-type="sliding"] .sub-menu ul ul .has-sub { background: none; color:  #ec010b; font-size: 1em; text-transform: uppercase; }
	[data-type="sliding"] .sub-menu ul ul .has-sub:before {display: none;}
	[data-type="sliding"] .sub-menu ul ul .has-sub:after,
	[data-type="sliding"] .sub-menu ul ul .expander-wrap .has-sub  { display:none; }

	[data-type="sliding"] .sub-menu > ul > li > ul > li { float:left; width:33.3%; padding:0 5px; border-top: 0; }
	[data-type="sliding"] .sub-menu > ul > li > ul > li:first-child { border-right: 1px solid #dddddd; }
	/*[data-type="sliding"] .sub-menu > ul > li > ul > li:nth-child(2n+1) { clear:left; }*/
	[data-type="sliding"] .sub-menu > ul > li > ul > .link-landing { margin-left:0; margin-right:0; width:100%; }
	[data-type="sliding"] .sub-menu > ul > li > ul > .link-landing ~ li:nth-child(2n+1) { clear:none; }
	[data-type="sliding"] .sub-menu > ul > li > ul > .link-landing ~ li:nth-child(2n+2) { clear:left; }

	/* ================= ESSENTIAL SLIDING FUNCTIONALITY ================= */

	[data-type="sliding"] .sub-menu.cm-js-inactive { position:relative; left:0 !important; width:100% !important; }
	[data-type="sliding"] .sub-menu.cm-js-inactive > ul { min-width:100%; }
	[data-type="sliding"] .sub-menu.cm-js-inactive > ul > li > ul { padding:0; max-width:0; }

	[data-type="sliding"] .sub-menu > ul ul { width:100%; margin-left:0; padding-left:305px; padding-right:0; z-index:-1; opacity:0; background: #ececec;}
	[data-type="sliding"] .sub-menu .animated ul { opacity:1; }

	[data-type="sliding"].opened .sub-menu, [data-type="sliding"].opened .sub-menu ul { max-width:none; }

	/* ================= HOVER FALLBACK IF JAVASCRIPT IS DISABLED ================= */

	.no-js .cm-menu [data-type="sliding"] li:hover > ul { left:100%; }
	.no-js .cm-menu [data-type="sliding"]:nth-last-child(-n+2) ul { left:auto; right:0; }
	.no-js .cm-menu [data-type="sliding"]:nth-last-child(-n+2) li:hover > ul { left:auto; right:100%; }

}

/*  MEGA MENU NAVIGATION ADJUSTMENTS
================================================================*/

@media (min-width:48em){

	.cm-menu [data-type="mega"] { position:static; }
	[data-type="mega"] > ul {
		position:absolute;
		top:100%; left:0;
		width:100%; max-height:0;
		background:#333;
		overflow:hidden;
		-wekbit-transition: all 0.5s ease-in-out;
		transition: all 0.5s ease-in-out;
	}

	[data-type="mega"] > ul ul { position:static; max-height:80em; width:100%; overflow:hidden; background:transparent; opacity:1; }
	[data-type="mega"] > ul .opened ul { margin-left:0; }
	[data-type="mega"] > ul > li { float:left; width:25%; }
	[data-type="mega"] > ul > li:nth-child(4n+1) { clear:left; }

	[data-type="mega"] > ul > .link-landing { margin:0; width:100%; }
	[data-type="mega"] > ul > .link-landing ~ li:nth-child(4n+1) { clear:none; }
	[data-type="mega"] > ul > .link-landing ~ li:nth-child(4n+2) { clear:left; }

	/* ================= OPENED FUNCTIONALITY ADDED ON SETUP ================= */

	[data-type="mega"] a + .has-sub { width:0; min-height:0; height:100%; }
	[data-type="mega"] a + .has-sub > span { min-height:0; height:100%; }
	[data-type="mega"] ul .has-sub:after { display:none; }
	[data-type="mega"].opened > ul { padding:20px; }

	/* ================= SEPARATE EXPANDERS OPTION IS ENABLED ================= */

	[data-type="mega"] ul a + .has-sub { display:none; }

	/* ================= HOVER FALLBACK IF JAVASCRIPT IS DISABLED ================= */

	.no-js .cm-menu [data-type="mega"] ul ul { display:block; }

}


/*================================================================
NAVIGATION TOGGLE STYLES
================================================================*/

.toggle-menu { display:block; position:relative; width:50px; height:46px; background:#ededed; border-left: 1px solid #dcdcdc; border-right: 1px solid #dcdcdc;}
.toggle-menu:before, .toggle-menu:after, .toggle-menu > span:before {
	content:" ";
	position:absolute;
	left:15%;
	border-radius:2px;
	width:70%; height:3px;
	background:#ec010b;
}

.toggle-menu:before { top:11px; }
.toggle-menu:after { top:21px; }
.toggle-menu > span:before { top:31px; }

.toggle-menu.active, .toggle-menu:hover, .toggle-menu:focus, .js-menu-active .toggle-menu { background:#313131; }

@media (min-width:48em){
	.toggle-menu { display:none; }
}


/*================================================================
EXTRA OVERWRITE STYLES
================================================================*/

.main-nav { position:relative; z-index:1000; }

[data-type="sliding"] .sub-menu .item-banner { width:33.3%; border-top: 0; background: #dcdcdc; }
[data-type="sliding"] .sub-menu .item-banner a { background:none; color:  #ec010b; font-size: 1em; text-transform: uppercase; }
[data-type="sliding"] .sub-menu .item-banner a.banner { text-align: center; }
[data-type="sliding"] .sub-menu .item-banner a.banner img { margin: 0 auto; }

[data-type="mega"] .custom-sub {
	max-height:0; opacity:0;
	overflow:hidden;
	-wekbit-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}
[data-type="mega"] .custom-sub ul { position:static; opacity:1; max-height:80em; }
[data-type="mega"] .custom-sub p { margin:10px; color:#fff; }

[data-type="mega"] .custom-sub .banner-wrap { width:100%; }
[data-type="mega"] .custom-sub .banner-wrap a { text-align:center; background:none; }

.cm-menu .opened > .custom-sub { max-height:80em; opacity:1; padding:20px; }
.cm-menu .animated > .custom-sub { overflow:visible; z-index:10; }
.cm-menu .animating > .custom-sub { z-index:-1; }

@media (min-width:48em) {
	[data-type="mega"] .custom-sub {
		position:absolute;
		top:100%; left:0;
		width:100%;
		background:#333;
	}
}

@media (min-width:48em) {
	.table-row { display:table; width:100%; }
	.table-col { display:table-cell; vertical-align:top; }
}

.section-nav .opened > ul { border-bottom:1px solid #d4d4d4; max-height:80em; opacity:1; }
.section-nav .opened > a,
.section-nav .opened > .expander-wrap a { border-bottom:1px solid #aaa; color:#333; background:#d4d4d4; }
.section-nav .opened .opened > .expander-wrap > a { background:#c4c4c4; }

a.clearance {padding: 7px 0 !important;}
a.clearance span {border: 1px solid #adadad;}

li.my-account-nav {
	float: right;
	/*padding-top: 6px;*/
}

li.my-account-nav ul li a {
	padding:12px;
	background: #fff;
	border: 0 !important;
	color: #313131 !important;
}

li.my-account-nav ul li a:hover, li.my-account-nav ul li a:focus {
	background: #fff;
	color: #5fcac3;

}
@media (max-width:767px) {
	a.clearance {padding: 10px !important;}
	a.clearance span {border: 0;}
	.toggle-menu + .cm-menu {margin-top:5px;}
	li.my-account-nav {
		float: none;
		padding-top:0;
	}
	[data-type="sliding"] .sub-menu .item-banner {display:none;}
	.cm-menu .sub-menu > ul > li > a {padding-left:20px;}
	.cm-menu .sub-menu > ul > li > ul > li > a {padding-left:30px;}
	.cm-menu .sub-menu > ul > li > ul > li > ul > li > a {padding-left:40px;}
}

@media (min-width: 768px) and (max-width: 1199px) {
	li.my-account-nav {display: none !important;}
}

.cm-menu ul.sub-menu:before,
.cm-menu ul.sub-menu:after {display:none;}

@media (min-width: 768px) {
	.navbar-nav {background-color: #751113 !important;}
	.cm-menu li a {background-color: #751113;}
	.main-nav.nav-bar {background-color: #751113;}
	.cm-menu > .opened > a,
	.cm-menu > li > a:hover,
	.cm-menu > li > a:focus,
	.cm-menu > li > div > a:hover,
	.cm-menu > li > div > a:focus { color:#19d9c0;}
}

@media (min-width: 768px) and (max-width:1399px){
	body {overflow-x:hidden !important;}
}