@charset "utf-8";
/* CSS Document */
body {padding-bottom:25px; }
body, * {
	box-sizing:border-box;
}
h2 {
	border-bottom: 2px solid #83723F;
	box-shadow:0 3px 5px rgba(190, 190, 190, .5);
	padding:5px 8px;
}
h3 {
	border-top: 1px solid #CBBD92;
	text-transform: uppercase;
	font-weight: normal;
	font-size: 1em;
	margin-top: 33px;
	padding-top:4px;
}

/* base nav styling */
nav input[type=checkbox] {position:absolute; opacity:0; }
nav ul, nav li {
	margin:0;
	padding:0;
	list-style-type:none;
	position:relative;
}
nav > ul > li {
	text-transform:uppercase;
	font-size:.9em;
}
ul.submenu {
	text-transform:none;
}
nav a {
	text-decoration:none;
	margin:0;
}
nav > ul > li, nav .submenu li {
	box-shadow:1px 1px 3px rgba(125, 125, 125, 0.7);	
	}
nav > ul > li {
	background:#777;	
	border-top: 1px solid rgba(255, 255, 255, 0.4);
	border-bottom: 1px solid rgba(0, 0, 0, 0.3);	
}


nav > ul > li > a {
	background:#777;
	color:#fff;
}
nav .submenu { width:100% !important; }
nav .submenu a {
	display: block;
	background-color: #F3F3F3;
	color: #000;
	width:100%;
	border-top: 1px solid rgba(255, 255, 255, 0.5);
	border-bottom: 1px solid rgba(0, 0, 0, 0.4);
	}
nav > ul > li > a:hover {
		background:#555;	
	}
nav .submenu a:hover { background:#ddd; }
nav label.toggler { position:relative; padding:0 10px !important; }
nav .subtoggler {color:#fff; }
.menu-b .subtoggler { text-align:center;}
nav input[type=checkbox] ~ label.mobile-toggler:after { color:#000; }
.menu-b .mainCategory label { background:rgba(255,255,255,0.5) }

@media screen and (max-width:1024px) {
	/* Treat 1024px & below as mobile; accommodates iPad Pro */
	label.mobile-toggler {
		display:block;
		line-height:1.8;
		margin:10px 0 12px !important;
		padding:8px;
		border:1px solid #bbb;
		background:#eee;
	}
	label#togglerMainB .subtoggler, .menu-b .mainCategory a { display:inline-block; }
	li.mainCategory {display:flex; width:100%; flex-wrap:wrap;}
.menu-b li.mainCategory > a {width:67%; }
.menu-b li.mainCategory label { width:33%; }
	.menu-a .mainCategory label { display:block; width:100%;}
	
	nav input[type=checkbox] ~ ul { display:none; }
	nav input[type=checkbox]:checked ~ ul { display:block; }
	
	nav a { display:block; }
	nav > ul > li {
	line-height:1.5em;	
	}
	nav > ul > li > a {
		padding:5px;
	}
	.menu-b .mainCategory > a {
		width:67%;
	}
	nav .submenu li { margin:0 4px; }
	nav .submenu a {
	padding: 3px 5px;
	}
	nav input[type=checkbox] ~ label.toggler:after {	
	font-size:1.3em;
	content:' \25BE';
	vertical-align: baseline;
}
label.subtoggler:after {color:#fff; }
nav input[type=checkbox]:checked ~ label.toggler:after {
	content:' \25B4';
}

/* hamburger icon */
nav.hamburger-vertical input[type=checkbox] ~ label.mobile-toggler:before {
	width:100%;
	margin-bottom:1.2em;
	padding-bottom:9px;
	display:block;
	content:'';
	box-shadow:0 1px 0 #fff, 0 4px 0 #777,0 5px 0 #fff,0 8px 0 #777,0 9px 0 #fff;
}
nav.hamburger-horizontal input[type=checkbox] ~ label.mobile-toggler:before {
	width:20px;
	margin-bottom:1.2em;
	padding-bottom:9px;
	display:block;
	content:'';
	box-shadow:0 2px 0 #777, 0 5px 0 #ddd,0 7px 0 #777,0 10px 0 #ddd,0 12px 0 #777;
}
}
@media screen and (min-width:1025px) {
	/* 1025px & above = non-mobile */
	
	
	/* desktop/laptop nav */
	nav {display:block !important; }
	nav a { display:inline-block; }
	nav > ul > li { line-height:1;}
	nav label.mobile-toggler, .menu-b label.toggler { display:none; }
	nav > ul > li { display:inline-block; }
	nav ul.submenu  {
		position:absolute;
		top:100%;
		left:0;
		width:100%;
	}
	nav > ul > li:hover .submenu { display:block; }
	nav > ul > li  {
		
		margin:0;
		border-left:1px solid rgba(255, 255, 255, 0.5);	
		border-right:1px solid rgba(0, 0, 0, 0.5);
	}
	nav > ul > li a, nav.menu-a > ul > li { padding:5px 7px; }
	nav.menu-a > ul > li.no-child { padding:0; }
	nav .submenu a {
	padding: 4px 5px;
	}
	nav > ul > li:hover {
		background:#555;	
	}
	.menu-a .mainCategory > label:after, .menu-b .mainCategory > a:after {	
	content:'\25BE';
	vertical-align: baseline;
	}
	/* desktop menu animation */
	nav ul.submenu {
	  max-height:0 !important;
	  min-height:0;
	  line-height:0;
	  display:block; 
	  opacity:0;
	  -webkit-transition: all .6s ease-in-out;
	  -moz-transition: all .6s ease-in-out;
	  transition: all .6s ease-in-out;
	  -ms-transform: translateY(-100%);
	  -webkit-transform: translateY(-100%);
	  transform: translateY(-100%);	
	}
	
	nav > ul > li:hover ul.submenu, nav > ul > li ul.submenu:hover {
	  display:block;
	  margin-top:-1px;
	  z-index:999;
	  line-height:1;
	  opacity:1;
	  max-height:900px;
	  -ms-transform: translate(0);
	  -webkit-transform: translate(0);
	  transform: translate(0);
	}
/* end desktop/laptop nav */
}
