/* These styles are required for Richards Responsive Menu to function */ 

html {
/* apply a natural box layout model to all elements, but allowing components to change */
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
*, *:before, *:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}




.menu {
    position: relative;
    height: 0; /* Allows menu to automatically position in document */
    overflow: visible;
}
/* .menu input.nav-chkbox { Richard modified 2015.03.20 to address Chrome discarding the DOM on back/forward button */
.menu input.nav-chkbox, input#body_menu {
    opacity: 0;
    position: absolute;
	clip: rect(0, 0, 0, 0);
    z-index: -1;
}
.menu ul.nav {
    position: absolute;
    white-space: nowrap;
	padding: 0;
	margin: 0;
}
.menu ul.nav2 {
    display: none;
    margin: 0;
    padding: 0;
}
.menu label.nav_content {
	position: fixed; /* Overlay of content when menu is open */
	background-color: black;
	width: 0;
	height: 0;
	opacity: 0;
}
.menu ul.nav li {
    list-style-type: none;
}
.menu ul.nav1 > li {
    display: inline-block;
}
.menu ul.nav li > label, .menu ul.nav li > a {
    cursor: pointer;
	text-decoration: none;
}

#test_media {
/* This is assigned a width in the narrow media query */
/*  allows javascript to test for current media query */
/*     window.matchMedia not supported until IE10     */
	height: 0;
	width: 0;
	opacity: 0;
}



@media screen and (max-width: 768px) {
	/* allows javascript to test for current media query */
	/*   window.matchMedia not supported until IE10 */
	#test_media {
		width: 1px; /* narrow media width flag */
	}

    .menu ul.nav1 > li {
        display: list-item;
    }
    .menu div.nav,
	.menu ul.nav {
		top: 0;
        width: 300px;
        left: -300px;
	}
	.menu div.nav {
        position: fixed;
        height: 0;
    }
    .menu ul.nav {
		max-height: 0;
    }
    .menu ul.nav-open {
        display: block;
		left: 0;
        max-height: 99999px; /* since you can't animate auto-height, we use max-height */
        overflow: visible;
    } /* combining these causes browsers that don't understand the checked pseudo class to ignore the declaration */
	.menu .nav-chkbox:checked ~ ul.nav {
        display: block;
		left: 0;
        max-height: 99999px; /* since you can't animate auto-height, we use max-height */
        overflow: visible;
    }
    .menu div.nav.nav-open {
        display: block;
		left: 0;
		height: 150%;
        max-height: 99999px; /* since you can't animate auto-height, we use max-height */
        overflow: visible;
    } /* combining these causes browsers that don't understand the checked pseudo class to ignore the declaration */
    .menu .nav-chkbox:checked ~ div.nav {
        display: block;
		left: 0;
		height: 150%;
        max-height: 99999px; /* since you can't animate auto-height, we use max-height */
        overflow: visible;
    }
    .menu label.nav_content.nav-open {
		width: 100%;
		height: 100%;
		opacity: 0.6;
		transition: opacity 1.2s linear 0s;
	} /* combining these causes browsers that don't understand the checked pseudo class to ignore the declaration */
	.menu .nav-chkbox:checked ~ label.nav_content {
		width: 100%;
		height: 100%;
		opacity: 0.6;
		transition: opacity 1.2s linear 0s;
    }
	body.nav-open div#content_wrapper {
		position: fixed;
		z-index: -1;
		width: 100%; /* Aaron Added 2014.12.28 to fix background resize on menu open */
	} /* combining these causes browsers that don't understand the checked pseudo class to ignore the declaration */
	  /* Richard modified 2015.03.20 to address Chrome discarding the DOM on back/forward button */
	#body_menu:checked ~ div#content_wrapper {
		 position: fixed;
		 z-index: -1;
		 width: 100%;
	}
}




@media screen and (min-width: 769px) {
	/*html {   force scrollbar on desktop to eliminate page centering jump on pages with little content 
		overflow-y: scroll;
	}*/
    .menu li:hover ul.nav2, .menu li:hover label {
        display: block;
		cursor: pointer;
    }
    .menu ul.nav2 li:first-child {
        display: none;
    }
	.menu ul.nav1 {
		z-index: 30;
	}
}




/* minimize early webkit width loop at media query break (active on desktop webkit) */
/*   Must be at least scrollbar width less than the query break  */
@media screen and (min-width: 740px) and (-webkit-max-device-pixel-ratio: 1) {
	html {
		overflow-y: scroll;
	}
}




/* remove scrollbar we just added on webkit up to 768px (note max-device-width) */
@media screen and (max-device-width: 768px) and (-webkit-min-device-pixel-ratio: 1)  {
	html {
 		overflow-y: auto;
	}
}