/* Flexnav Base Styles */
.flexnav {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	xheight: 100%;
	z-index: 1000;
	-webkit-transition: none;
	-moz-transition: none;
	-ms-transition: none;
	transition: none;
	-webkit-transform-style: preserve-3d;
	background-color: rgba(255,255,255,0.95);
	overflow: hidden;
	/*overflow-y: auto;*/
	margin: 0 auto;
	padding: 90px 20px 20px;
	list-style: none;
	max-height: 0;
}
.flexnav.opacity {
	opacity: 0;
}
.flexnav.flexnav-show {
	max-height: 2000px;
	opacity: 1;
	-webkit-transition: all .5s ease-in-out;
	-moz-transition: all .5s ease-in-out;
	-ms-transition: all .5s ease-in-out;
	transition: all .5s ease-in-out;
	-moz-box-shadow: 0px 4px 4px rgba(0,0,0,0.4);
	-webkit-box-shadow: 0px 4px 4px rgba(0,0,0,0.4);
	box-shadow: 0px 4px 4px rgba(0,0,0,0.4);
}

.flexnav li {
	position: relative;
	overflow: hidden;
	float: left;
	margin: 0;
	width: 100%;
}

.flexnav li a {
	position: relative;
	display: block;
	float: left;
	width: 100%;
	padding: 20px;
	font-size: 1.4em;
	z-index: 2;
	overflow: hidden;
	color: #1C8673;
	margin: 0;
	text-decoration: none;
	text-align: left;
	line-height: 1.2;
	/*border-bottom: 1px solid rgba(256, 256, 256, 0.1);
	border-bottom: 1px solid rgb(102, 102, 102);
	
	background: transparent url(../images/nav-tint-bg.png);*/
	/*border-bottom: 1px solid rgba(0, 0, 0, 0.15);*/
}
/*
#00E9C8
#1C8673
#1C3D3E
*/

.flexnav li:last-child a {
	border-bottom: none;
}

.flexnav li a:hover {
	filter: alpha(opacity=100);
	opacity: 1;
}

.flexnav li ul {
	display: none;
	list-style:none;
	float: left;
	width: 100%;
	margin: 0;
	padding: 0;
	/*border-top: 1px solid #eeeeee;
	border-bottom: 1px solid #eeeeee;
	width: auto;
	max-width: 200px;
	min-width: 150px;*/

}
.flexnav li ul li {
	/*font-size: 100%;*/
	/*font-size: 10px;*/
	float: left;
	width: 100%;
	position: relative;
	border-top: 1px solid #ffffff;
	/*overflow: hidden;*/
}

.flexnav li ul li ul {
	/*padding: 0 15px 0 15px;*/
	margin-bottom: 5px;
}

.flexnav li ul li ul li {
	border-top: none;
}

.flexnav li ul.flexnav-show li {
	overflow: visible;
}
.flexnav li ul li a {
	float: left;
	width: 100%;
	display: block;
	background: #1C8673;
	color: #ffffff;
}

.flexnav li ul li ul li ul li {
	padding: 0 0 0 15px;
}

.flexnav .touch-button {
	position: absolute;
	z-index: 999;
	top: 12px;
	margin: 0px 0 0 0;
	right: 20px;
	width: 30px;
	height: 30px;
	padding-left:3px;
	display: inline-block;
	xborder: 1px solid rgba(0, 0, 0, 0.4);
	background-color: rgba(0, 0, 0, 0.2);
	text-align: center;
	xtransform: translateY(-50%);
}

.flexnav  li ul li .touch-button {
	margin: 0;
}
.flexnav  li ul li ul li .touch-button {
	margin: 0px 15px 0 0;
}
.flexnav .touch-button:hover {
	cursor: pointer;
}
.flexnav .touch-button .navicon {
	position: relative;
	top: 7px;
	left: 4px;
	display: block;
	width: 15px;
	height: 15px;
	background: transparent url(../images/nav-arrow-down.png) no-repeat center center;
	zoom: 1;
	filter: alpha(opacity=70);
	opacity: 0.7;
}
.menu-button {
	font-family: "open_sanssemibold", Arial, sans-serif;
	font-weight: normal;
	position: relative;
	display: block;
	width: 100%;
	height: 50px;
	font-size: 1.2em;
	cursor: pointer;
	margin: 0;
	padding: 12px 10px 0 0;
	/*border-bottom: 1px solid rgba(0, 0, 0, 0.2);*/
	-webkit-transition: all .5s;
	-moz-transition: all .5s;
	-ms-transition: all .5s;
	transition: all .5s;
}

.small .menu-button {
	height: 50px;
}

.menu-button .touch-button {
	background: transparent;
	position: absolute;
	z-index: 999;
	top: 50%;
	margin: -14px 0 0 0;
	right: 10px;
	display: inline-block;
	text-align: center;
	-webkit-transition: all .5s;
	-moz-transition: all .5s;
	-ms-transition: all .5s;
	transition: all .5s;
}

.small .menu-button .touch-button {
	top: 10px;
}

.menu-button .touch-button .navicon {
	position: relative;
	top: 2px;
	left: 0;
	display: block;
	width: 31px;
	height: 27px;
	background: transparent url(../images/icon-nav.png) no-repeat center center;
	/*zoom: 1;
	filter: alpha(opacity=50);
	opacity: 0.5;*/
}

@media all and (min-width: 641px) {

	.flexnav {
		position: relative;
		display: inline-block;
		top: auto;
		left: auto;
		height: auto;
		padding: 0;
		overflow: visible;
		width: auto;
		margin: 0 auto;
	}
	.flexnav.opacity {
		opacity: 1;
	}

	.flexnav li {
		position: relative;
		list-style: none;
		/*display: inline-block;*/
		xfloat: left;
		border-top: solid 1px transparent;
		margin: 0;
		z-index: 12;
		background: transparent;
		overflow: visible;
		width: auto;
		padding: 8px 0;
		/*padding-top: 10px;*/
		margin-left: -2px;

		/*border-left: 1px solid #ccc;*/
	}

	.flexnav li ul {
		/*display: none!important;*/

		/*width: 280px;*/
		/*max-width: 1000px;*/
		/*width: 120px;*/
	}

	.flexnav li a {
		display: inline-block;
		text-decoration: none;
		background: transparent;
		border-bottom: none;
		/*white-space:nowrap;*/
		font-size: 1.1rem;
		line-height: 1.2;
		padding: 2px 10px;
		xcolor: #ffffff;
		xborder-left: solid 1px #ffffff;
		/*text-align: center;*/
		-moz-transition: background 300ms linear;
		-o-transition: background 300ms linear;
		-webkit-transition: background 300ms linear;
		transition: background 300ms linear;
	}

	.flexnav li:first-child a {
		border-left-color: transparent;
	}

	.flexnav li:hover,
	.flexnav li.current_page_item,
	.flexnav li.current_page_parent,
	.flexnav li.current-menu-item,
	.flexnav li.current-menu-parent,
	.flexnav li.current_page_ancestor {
		/*color: #fff;*/
		xborder-top: solid 1px #59B5DA;
		/*-webkit-border-top-right-radius: 10px;
		-webkit-border-top-left-radius: 10px;
		-moz-border-radius-topright: 10px;
		-moz-border-radius-topleft: 10px;
		border-top-right-radius: 10px;
		border-top-left-radius: 10px;*/

	}



	.flexnav li:hover a {
		xcolor: #1C3D3E;
	}

	/*.flexnav li.current_page_item:hover,
	.flexnav li.current_page_parent:hover,
	.flexnav li.current-menu-item:hover,
	.flexnav li.current-menu-parent:hover,
	.flexnav li.current_page_ancestor:hover {
		background-color: #59B5DA;
		-webkit-border-top-right-radius: 10px;
		-webkit-border-top-left-radius: 10px;
		-moz-border-radius-topright: 10px;
		-moz-border-radius-topleft: 10px;
		border-top-right-radius: 10px;
		border-top-left-radius: 10px;
	}*/

	/*.flexnav li.current_page_item a,
	.flexnav li.current_page_parent a,
	.flexnav li.current-menu-item a,
	.flexnav li.current-menu-parent a,
	.flexnav li.current_page_ancestor a {
		color: #59B5DA;
	}

	.flexnav li.current_page_item:hover a,
	.flexnav li.current_page_parent:hover a,
	.flexnav li.current-menu-item:hover a,
	.flexnav li.current-menu-parent:hover a,
	.flexnav li.current_page_ancestor:hover a {
		color: #ffffff;
	}*/

	.flexnav li .touch-button {
		display: none;
	}

	.flexnav li ul li {
		display:inline;
		margin: 0;
		padding: 0;
		border: none!important;
	}

	.flexnav li ul li ul li{
		padding: 0;
	}

	.flexnav li ul li ul li ul li {
		padding-left: 0;
	}

	.flexnav  li ul li .touch-button {
		display: inline-block;
		border: none;
		top: 3px;
		margin: 0;
		left: 0;
		right: auto;
		width: 20px;
		height: 20px;
	}

	.flexnav  li ul li ul li .touch-button {
		margin: 0px 10px 0 0;
	}

	.flexnav  li ul li .touch-button .navicon {
		top: 4px;
	}

	.flexnav li > ul {
		position: absolute;
		/*max-width: 150px;*/
		width: 150px;
		top: 100%;
		right: 0;
		margin: 0;
		padding: 8px 0;
		background-color: #1C8673;
		font-size: 18px;
		color: #ffffff;
		/*-moz-box-shadow: 0px 4px 4px rgba(0,0,0,0.4);
		-webkit-box-shadow: 0px 4px 4px rgba(0,0,0,0.4);
		box-shadow: 0px 4px 4px rgba(0,0,0,0.4);*/

	}

	.flexnav li > ul ul {
		left: 1px;
	}

	.flexnav li > ul li {
		width: 100%;
	}

	.flexnav li > ul li .touch-button .navicon {
		background: transparent url(../images/nav-arrow-left.png) no-repeat center center;
	}

	.flexnav li > ul li a {
		border: none;
		font-size: 0.9em;
		/*padding: 8px 9px 4px 9px;
		border: none;*/
	}

	.flexnav li > ul li:hover {
		border: none;
	}

	.flexnav li > ul li:hover > a {
		background-color: #000;
	}

	.flexnav li ul li > ul {
		left: -240px;
		top: 0;
		width: 240px;
		/*font-size: 0.8em;*/
	}

	.flexnav li:hover ul li a,
	.flexnav li ul li a {
		color: #ffffff;
		padding: 6px 12px;
		text-align: right;
		/*font-size: 0.8em;*/
		/*border-bottom: none;*/
	}
	
	.flexnav li ul.open {
		display: block;
		opacity: 1;
		visibility: visible;
		z-index: 1;
	}
	.flexnav li ul.open li {
		overflow: visible;
		max-height: 100px;
	}
	.flexnav li ul.open ul.open {
		margin-left: 100%;
		top: 0;
	}
	.flexnav .touch-button {
		margin: -15px 0 0 0;
		background: none;
	}
	.menu-button {
		display: none;
	}

}
