
/*******************************************************************************
							Default configuration
*******************************************************************************/
.flexy-menu {
	width: 100%;
	margin:0;
	max-height:54px;
	padding: 0 0 0 20px;
	position:relative;
	float:left						;
	list-style: none;
	z-index: 9999;
	background-color:var(--primaryColor);
	transition:color 0.5s linear, background 0.5s linear;
}
.flexy-menu.sub-menu {
	max-height:58px;
	background-color:#e3e3e3;
}
.flexy-menu li {
	display:inline-block;
	font-family: "Montserrat", sans-serif;
  font-weight:500;
	font-size:16px;
	margin:0;
	padding:0;
	float:left;
	line-height: 20px;
	position:relative;
}
.flexy-menu > li > a {
	padding:17px 11px;
	color:#ffffff;
	text-decoration:none;
	display:block;
	text-transform:uppercase;
	background-color:var(--primaryColor);
	transition:color 0.5s linear, background 0.5s linear;
}
.flexy-menu.sub-menu > li > a {
	color:var(--primaryColor);
	font-weight:600;
	background-color:#e3e3e3;
}
.flexy-menu > li > a.search {
	padding:16px 11px 16px 31px;
}
.flexy-menu.sub-menu > li > a.search {
	padding:16px 11px;
}
.flexy-menu > li > a.search span.search-icon:before {
	content:"\f002";
	display: inline-block;
	padding-right:10px;
	vertical-align:middle;
	font-weight:700;
	font-family:'Font Awesome 6 Pro','Font Awesome 5 Pro',sans-serif;
	color:#fff;
}
.flexy-menu.sub-menu > li > a.search span.search-icon:before {
	padding-right:0;
	color:var(--primaryColor);
}
.flexy-menu.sub-menu > li > a.search:hover span.search-icon:before,
.flexy-menu.sub-menu > li > a.search:focus span.search-icon:before {
	color:#fff;
}
.flexy-menu > li > a.contact {
	padding:17px 31px;
	background-color:var(--darkGreen);
}
.flexy-menu .open-menu {
  padding: 0;
}
.flexy-menu .open-menu span {
  color: #ffffff;
}
.flexy-menu li:hover > a,
.flexy-menu li.active a,
.flexy-menu li > a:focus {
	background: var(--darkGreen);
	color: #fff;
}
.flexy-menu li:hover > a.contact,
.flexy-menu li.active a.contact,
.flexy-menu li > a.contact:focus {
	background: var(--secondaryColor);
	color:var(--primaryColor);
}

/*----------------------------
	Scrolling Header Styles
----------------------------*/
.main-header.tiny .topbar .flexy-menu {
	background-color:var(--primaryColor);
}

/*----------------------------
	Right alignment (item)
----------------------------*/
.flexy-menu li.right{
	float: right; 
}

/*-----------------------------
	Drop down configuration
-----------------------------*/
.flexy-menu ul, 
.flexy-menu ul li ul {
	list-style: none;
  margin: -6px 0 0 0;
  padding: 0;  
	display: none;
  position: absolute;
  z-index: 99999;
	width: 200px;
	background: var(--darkGreen);
	box-shadow: 0 1px 1px rgba(0,0,0,0.3);
}
.flexy-menu.sub-menu ul,
.flexy-menu.sub-menu ul li ul {
	background: #e3e3e3;
}
.flexy-menu ul {
  top: 60px;
  left: 0;
}
.flexy-menu ul li ul {
  top: 0;
  left: 100%;
}
.flexy-menu ul li {
	clear: both;
	width: 100%;
	border: none;
	font-size: 1.0em;
}
.flexy-menu ul li a {
	padding: 15px 40px;
	width: 100%;
	color: #ffffff;
	font-size: 1.0em;
	text-decoration: none;
	text-transform: uppercase;
	display: inline-block;
	float: left;
	clear: both;
	box-sizing: border-box;
	transition: color 0.2s linear, background 0.2s linear;	
}
.flexy-menu.sub-menu ul li a {
	color:var(--primaryColor);
}
.flexy-menu ul li a:hover,
.flexy-menu ul li a:focus {
	background: var(--primaryColor);
}
.flexy-menu.sub-menu ul li a:hover,
.flexy-menu.sub-menu ul li a:focus {
	background: var(--darkGreen);
	color:#fff;
}

/*-----------------------------
	Drop down indicators
-----------------------------*/
.flexy-menu > li .indicator{
	position: absolute;
	color: #dedede;
	top: 20px;
	right: 8px;
	font-size: 1.063em;
}
.flexy-menu ul > li .indicator{
	top: 10px;
	right: 8px;
}

/*-------------------------
	Icons configuration
-------------------------*/
.flexy-menu i{
	line-height: 20px !important;
	margin-right: 6px;
	font-size: 1.125em;
	float: left;
}

/*------------------------------------
	Collapsible menu configuration
------------------------------------*/
.flexy-menu > li.showhide{
	display: none;
	width: 100%;
	height: 54px;
	cursor: pointer;
	color:#ffffff;
	border-bottom: solid 1px rgba(0, 0, 0, 0.1);
	background: var(--primaryColor);
}
.flexy-menu.sub-menu > li.showhide{
	height:58px;
}
.flexy-menu > li.showhide span.title{
	margin: 16px 0 0 25px;
	float: left;
}
.flexy-menu > li.showhide span.icon{
	margin: 17px 20px;
	float: right;
}
.flexy-menu > li.showhide .icon em{
	margin-bottom: 3px;
	display: block;
	width: 20px;
	height: 2px;
	background: #ccc;
}

/*******************************************************************************
							Vertical configuration
*******************************************************************************/
.flexy-menu.vertical{
	width: 200px;
}
.flexy-menu.vertical li{
	width: 100%;
}
.flexy-menu.vertical li a{
	display: inline-block !important;
	width: 100%;
	padding:18px 20px 16px;
	box-sizing:border-box;
}
.flexy-menu.vertical ul li{
	width: 100%;
}

/*--------------------------------
	Drop down on vertical menu
--------------------------------*/
.flexy-menu.vertical ul, 
.flexy-menu.vertical ul li ul {
	width: 150px;
}
.flexy-menu.vertical ul {
    top: 0;
	left: 100%;
}
.flexy-menu.vertical ul li ul {
    top: 0px;
}

/*---------------------------------
	Vertical menu on right side 
---------------------------------*/
.flexy-menu.vertical.right{
	float: right !important;
}
.flexy-menu.vertical.right ul{
	left: -150px !important;
}

/*------------------------------
	Indicator on vertical menu 
------------------------------*/
.flexy-menu.vertical > li .indicator{
	top: 17px;
	right: 15px;
	font-size: 1.063em;
}
.flexy-menu.vertical ul > li .indicator{
	top: 18px;
	right: 15px;
}


/*****************************************************************************
							Responsive design
*****************************************************************************/
@media only screen and (max-width: 1184px) {
	.flexy-menu li {
		font-size:16px;
	}
}
@media only screen and (max-width: 1130px) {
	.flexy-menu.vertical{
		width: 100%;
	}
	.flexy-menu.sub-menu {
		min-height:58px;
		background-color:var(--primaryColor);
	}
	.flexy-menu li{
		display: block;
		width: 100%;
		margin-top:-1px;
	}
	.flexy-menu > li > a{
		padding-top:15px;
		padding-bottom:15px;
		padding-left: 25px;
	}
	.flexy-menu a{
		width: 100%;
		box-sizing:border-box;
	}
	.flexy-menu ul, 
	.flexy-menu ul li ul,
	.flexy-menu.vertical ul, 
	.flexy-menu.vertical ul li ul{
		width: 100%;
		left: 0;
		border-left: none;
		position: static;
		box-sizing:border-box;
	}
	.flexy-menu ul li {
		border-left: none;
		border-right: none;
	}
	.flexy-menu ul li a,
	.flexy-menu.vertical ul li a	{
		padding-top:10px;
		padding-bottom:10px;
		background:var(--primaryColor);
	}
	.flexy-menu ul > li > a{
		padding-left: 40px !important;
	}
	.flexy-menu > li > a.search {
		padding:16px 11px 16px 8px;
	}
	.flexy-menu.sub-menu > li > a.search {
		padding:16px 11px 16px 16px;
	}
	.flexy-menu > li > a.search span.search-icon:before {
		content:"";
	}
	.flexy-menu > li > a.search .visuallyhidden,
	.flexy-menu.sub-menu > li > a.search .visuallyhidden {
		height:auto;
		margin:0;
		overflow:auto;
		padding:0;
		position: relative;
		width:auto;
	}
	.flexy-menu > li > a.contact {
		padding:17px 25px;
	}
	.flexy-menu > li .indicator{
		top: 15px;
		right: 25px;
		font-size: 1.063em;
	}
	.flexy-menu ul > li .indicator{
		right: 24px;
	}
	.flexy-menu.vertical ul > li .indicator{
		top: 10px;
		right: 15px;
	}
	.flexy-menu > li > ul > li > a{ padding-left: 40px !important;color:#fff !important}
	.flexy-menu > li > ul > li > ul > li > a{ padding-left: 60px !important; }
	.flexy-menu > li > ul > li > ul > li > ul > li > a{ padding-left: 80px !important; }
}










