/* Nav Styles */

/* give document body a background color to stand out and a height to test scrolling */

body {
	background-color: #fff;
	margin:0;
	font-family:'Heebo';
}

/* nav layouts */

.nav {
	/*border-top:#fff solid 2px;
	border-bottom:#c00 solid 15px;*/
	margin:0;
	padding:0 30px;
	display:flex;
	align-items:center;
	flex-wrap:no-wrap;
	font-family:'Heebo';
	font-size:1em;
	font-weight:400;
	letter-spacing:0.01em;
	background-color:#fff;
	position:relative;
	box-sizing:border-box;
	width:100%;
	z-index:1000;
}

/* use below for stripes! */

/*.nav:before {
	display:block;
	pointer-events:none;
	border-top:#e00 solid 5px;
	border-bottom:#e00 solid 5px;
	content:"";
	position: absolute;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
}*/

.nav-classic {
	justify-content:flex-start;
}

.nav-center {
	justify-content:center;
}

.nav-stack {
	justify-content:flex-start;
	flex-wrap:wrap;
	padding:0;
}

.nav-stack-center {
	justify-content:center;
	flex-wrap:wrap;
}

/* transparency styles */

.nav-transparent {
	background-color:rgba(255,255,255,0);
}

.nav-semi-transparent {
	background-color:rgba(255,255,255,0.5);
}

/* inset style */

.nav-inset {
	width:calc(100% - 40px);
	margin:20px;
}

.nav-dropped {
	width:100%;
	margin:20px 0;
}

/* fixed and floating styles */

.nav-fixed {
	position:fixed;
	top:0;
	left:0;
}

.nav-float {
	position:absolute;
	top:0;
	left:0;
}

/* logo style */

.nav .logo {
	max-height:70px;
	margin-right:auto;
	min-width:400px;
}

.logo-small {
	display:none;
}

.nav-stack .logo {
	padding-top:20px;
	padding-left:20px;
}

.nav-stack-center .logo {
	padding-top:20px;
	width:100%;
}

.nav-center .logo {
	margin:0 60px;
}

/* menu item styles */

.nav .menu-caps {
	text-transform:uppercase;
}

.nav .menu-item {
	color:#111;
	transition: all 0.2s;
	cursor:pointer;
	text-decoration:none;
}

.nav .menu-item-block {
	padding:30px 25px;
}

.nav .menu-item-button {
	padding:10px 15px;
	margin:20px 10px;
	border-radius:4px;
}

.nav-stack .menu-item-block, .nav-stack-center .menu-item-block {
	padding:20px 25px;
}

.nav-stack .menu-item-button, .nav-stack-center .menu-item-button {
	padding:10px 15px;
	margin:10px 10px;
	border-radius:4px;
}

.nav .menu-item:hover {
	color:#fff;
	text-decoration:none;
	background-color:#c00;
}

/* toggle button */

.nav .nav-button--menu {
	display:none;
}

/* menu shadow style */

.shadow {
	box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
}

/* Spacer element for stacking layouts */

.nav .stack-spacer {
	display:none;
}

.nav-stack .stack-spacer, .nav-stack-center .stack-spacer {
	display:inline-block;
	width:100%;
}
/* For mobile devices and smaller screens */

@media only screen and (max-width: 1450px) 
{
	
	.nav-center .logo {
		margin:26px 60px 26px 60px;
		min-width:300px;
	}

	.logo-small {
		display:block;
	}

	.logo-large {
		display:none;
	}

}

@media only screen and (max-width: 1239px) 
{
	.nav .nav-button--menu {
		display:block;
		color:#444;
	}
	
	.nav .nav-button--menu .menu-close {
		display:none;		
	}
	
	.nav-stack .nav-button--menu, .nav-stack-center .nav-button--menu {
		display:block;
		position:absolute;
		top:48px;
		right:30px;
		color:#444;
	}
	
	.nav-center .nav-button--menu {
		display:block;
		position:absolute;
		top:32px;
		right:15px;
		color:#444;
	}
	
	.nav-button--menu i {
		font-size:1.2em;
	}
	
	.menu-item {
		display:none;
	}
	
	.nav .logo {
		margin:5px auto 5px 0;
	}
	
	.nav-center .logo {
		margin:30px auto 30px auto;
		min-width:250px;
	}
	
	.nav-stack .logo, .nav-stack-center .logo {
		padding:20px 0 20px 20px;
	}
	
	/* full screen menu */
	
	.responsive-menu {
		position:fixed;
		top:0px;
		left:0px;
		width:100%;
		min-height:100vh;
		background-color:#fff;
		display:flex;
		flex-direction:column;
		padding:0;
	}
	
	.responsive-menu .logo {
		display:none;
	}
	
	.responsive-menu .nav-button--menu {
		position:fixed;
		top:20px;
		right:30px;
		text-decoration:none;
		font-size:1.2em;
	}
	
	.responsive-menu .nav-button--menu .menu-toggle {
		display:none;
	}
	
	.responsive-menu .nav-button--menu .menu-close {
		display:block;
		text-decoration:none;
	}
	
	.responsive-menu .menu-item {
		display:block;
		width:130px;
		text-align:center;
	}
	
}

@media only screen and (max-width: 640px) 
{
	
	.nav-center .logo {
		margin:30px auto 30px auto;
		max-width:240px;
	}
	
}