﻿/***** Start of primary nav ******/
#menu-button{display: none;}
nav.mobile { display:none;}

nav.primary {
	font-family: var(--Roboto);
	font-weight: 700;
    text-transform: uppercase;
	color: var(--white);
	padding: 0 0 0 0;
	}
	nav.primary > ul {
		font-size: 22px;
	}
	nav.primary ul * {
	}
	nav.primary ul li {
		padding: 0px 10px;
		position: relative;
		line-height: 30px;
		}
	nav.primary ul li a {
		transition: .3s ease all;
		opacity: 1;
		}
	nav.primary ul li:hover > a {
		opacity: .6;
		}
	nav.primary ul ul {
		display: none;
		position: absolute;
		color: var(--black);
	}
	nav.primary ul ul li {
		padding: 0;
	}
	nav.primary ul li:hover ul {
		position: absolute;
		top: 30px;
		left: 0;
		display: flex;
		flex-direction: column;
		gap: 5px;
		z-index: 100;
		background-color: var(--green);
		padding: 15px;
		border-radius: 10px;
		width: 150px;
	}
	nav.primary ul li:hover ul.mega-nav .mega-nav-group {
		padding: var(--sm-padding);
		display: flex;
	}
	nav.primary ul li:hover ul.mega-nav img {
		object-position: center;
		object-fit: cover;
		aspect-ratio: 1 / 1;
		max-width: 375px;
	}
	nav.primary ul li:hover ul.mega-nav .mega-menu-links {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 0px 10px;
	}
	nav.primary ul li:hover ul li a {
		opacity: 1;
		font-size: 16px;
		line-height: 22px;
		width: 100%;
    	display: block;
		padding: 5px 0;
	}
	nav.primary ul li:hover ul li a:hover {
		opacity: .6;
	}

/******** End of primary Nav ***************/

@media screen and (max-width: 1100px)  {

/*==============================
	Mobile Nav Styles			
================================*/	
nav.primary{display:none;}
#menu-button{ 
	font-size: 24px;
	padding: 0;
	position: relative;
	line-height: 36px; 
	z-index: 400;
	color: var(--white);
	text-align: right;
	display: flex;
    align-items: flex-end;
	width: 100%;
	}
	#menu-button a{
		opacity: 1;
		transition: .3s ease opacity;
		font-size: 28px;
		text-decoration: none;
		font-weight:normal;
		margin: 0;
		width: 100%;
		text-align: right;
	}
	#menu-button a:hover {
		opacity: .6;
	}
nav.mobile {
	font-weight: 700;
	font-style: normal;
	display:block;
	position: fixed;
	top: -100vh;
	left: 0;
	width: 100%;
	height: 100vh;
	background: var(--blue);
	z-index: 500; /* needs to be higher than #menu-button, adjust as needed */
	overflow-x: hidden;
}
nav.mobile .mega-nav-group {
	padding: var(--sm-padding) 0;
}
/* MENU HEADER SOCIAL MEDIA */
	nav.mobile .social-media {
		position: absolute;
		display: inline-block;
		font-size: 16px;
		padding: 0 0 0 15px;
		color: var(--white) !important;
		top: -34px;
		left: 0;
		font-size: 14px;
		font-weight: bold;
	}
	
	nav.mobile .social-media a:link, nav.mobile .social-media a:visited {color:var(--white); text-decoration:none;}
	nav.mobile .social-media a:hover, nav.mobile .social-media a:active {color:var(--white); text-decoration:underline;}

/* MENU HEADER STYLES */
nav.mobile .mobile_top {
	position: relative;
	display:block;
	padding: 0;
	margin:50px 0 10px 0;
	color: var(--white);
	background-color: var(--white);
	font-size: 18px;
	font-weight: 400;
}
nav.mobile .sub-tab li {
	padding-left: 15px;
    border-left: 1px solid;
    margin-left: 10px;
}

/* MENU CLOSE 'X' BUTTON */
nav.mobile .menu-toggle {
	position: absolute;
	font-size: 18px;
	line-height: 20px;
	padding: 10px 20px;
	border-radius: 5px;
	background-color: var(--white);
	border: 1px solid var(--white);
	color: var(--black);
	opacity: 1;
	transition: all ease 0.3s;
	top:-38px;
	right:5px;
}
nav.mobile .menu-toggle:hover { /* Menu close button on hover */
	opacity: .6;
}

/* MENU LIST STYLE */
nav.mobile .mobile-sub-nav {
	padding-left: 15px;
}
nav.mobile ul {
	list-style: none;
	margin:0;
	font-family: var(--Roboto);
	font-weight: 900;
	font-style: normal;
	padding-top: 25px;
}

nav.mobile img {
	width: 100%;
	max-height: 350px;
	object-fit: cover;
	object-position: center;
}
nav.mobile p {
	padding: 10px 15px;
	color: var(--white);
}

/* FIRST LEVEL */
nav.mobile ul li {
	position: relative;
	display: block;
	font-size:26px;
	line-height: 52px;
	color: var(--white);
	text-decoration: none;
	text-align: center;
	transition: background 0.5s ease;
	padding: 0 15px;
}
nav.mobile ul li a {    
	width: 100%;
    display: block;
}

nav.mobile ul li ul {
	background-color: var(--green);
	color: var(--white);
	text-transform: uppercase;
	border-radius: 15px;
	line-height: 24px;
	padding: 25px 0;
}

/* SECOND LEVEL */
nav.mobile ul li li:last-child {border:none;}
nav.mobile ul li li {
	position: relative;
	display: block;
	color: var(--black);
	text-decoration: none;
}

nav.mobile ul li .click{/* dropdown menu indicator arrow be sure to include this image with your image files */ 
	cursor:pointer;
	color:var(--white);
	line-height: 36px;
	display: block;
	width: 100%;
	}
.nav-footer {color:var(--white); position:absolute; font-size:14px; line-height:16px; padding:15px 10px; background-color: var(--black);font-family: var(--Roboto), sans-serif;font-weight: 400;font-style: normal;text-align: center;bottom: 0;right: 0;left: 0;}

/* FONT AWESOME ICONS */
nav.mobile ul li .fa{
	width:25px;
	font-weight:100;
	padding:8px 3px;
	margin:0 6px 0 0;
	text-align:center;
	background:#292929;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
}

nav.mobile ul li .fa-chevron-down {color:var(--white);}
}