/* ====================================================================================================
	MINIMAL CSS3 MENU
==================================================================================================== */
.minimal-menu {
	display: block;
	font-size: 0;
	line-height: 0;
	position: relative;
}
.minimal-menu h3 {
	font-weight: normal;
}
.minimal-menu a {
	border-color: transparent;
}
.minimal-menu a:hover {
	transition: border-color 0.3s, background 0.3s;
}
.minimal-menu ul, .minimal-menu ul li, .minimal-menu ul li a {
	position: relative;
	display: inline-block;
}
.minimal-menu ul {
	z-index: 1;
}
.minimal-menu ul li a {
	display: block;
	line-height: 1;
	padding: 30px 20px;
}
.minimal-menu > ul > li > a {
	text-transform: uppercase;
	border: 1px solid transparent;
	color: #fff;
}

/* RESPONSIVE
================================================== */
@media only screen and (min-width:858px) {
	.minimal-menu-button {
		display: none;
	}
	.minimal-menu.pos-fixed {
		position: fixed;
		top: -2px;
		left: -2px;
		right: -2px;
		z-index: 9999;
		border-radius: 0;
	}
	.minimal-menu a {
		white-space: nowrap;
	}
	.minimal-menu > ul {
		margin-bottom: 0;
	}

	/*** Submenu ***/
	.minimal-menu ul ul, .minimal-menu ul .menu-wrapper {
		background-color: #2e2e2e;
		display: block;
		height: auto;
		margin: 0;
		opacity: 0;
		transition: all 0.3s ease 0s;
		visibility: hidden;
	}
	.minimal-menu ul li:hover > ul, .minimal-menu ul li:hover > .menu-wrapper {
		visibility: visible;
		opacity: 1;
		top: 100%;
	}
	.minimal-menu ul ul li {
		display: block;
		overflow: hidden;
		height: auto;
		padding: 10px;
		transition: padding 0.3s;
	}
	.minimal-menu ul ul li a {
		font-size: 14px;
		color: #666;
		border: 1px solid transparent;
	}
	.minimal-menu ul ul li:hover > a, .minimal-menu ul ul li.current > a {
		border-style: solid;
		border-width: 1px;
	}
	.minimal-menu ul li:hover ul li {
		overflow: visible;
		padding: 0 10px;
	}
	.minimal-menu ul ul li.submenu > a:before, .minimal-menu ul ul li.submenu > a:after {
		left: auto;
		top: 50%;
		right: 0;
		background: #ccc;
	}
	.minimal-menu ul ul li.submenu > a:before {
		margin-top: -1px;
	}
	.minimal-menu ul ul li.submenu > a:after {
		margin-top: 2px;
	}
	.minimal-menu ul ul li.submenu > a:hover:before, .minimal-menu ul ul li.submenu > a:hover:after {
		right: -13px;
	}
	.minimal-menu ul ul ul {
		left: 100%;
		top: -11px;
	}

	/* Megamenu */
	.minimal-menu ul li.megamenu {
		position: static;
	}
	.minimal-menu ul .menu-wrapper {
		left: 0;
		position: absolute;
		top: calc(100% + 10px);
	}
	.minimal-menu ul .menu-wrapper a {
		white-space: inherit;
	}
	.minimal-menu ul .menu-wrapper .menu-col {
		position: relative;
		float: left;
		width: 23%;
		margin: 0 1%;
	}
	.minimal-menu ul .menu-wrapper h3 {
		margin: 20px 15px;
		font-size: 18px;
		line-height: 22px;
		color: #000;
	}
	.minimal-menu ul .menu-wrapper ul {
		position: relative;
		visibility: hidden;
		height: 100%;
		border: 0;
		opacity: 1;
		background: transparent;
	}
	.minimal-menu ul li:hover > .menu-wrapper ul {
		visibility: visible;
	}
	.minimal-menu ul .menu-wrapper ul li {
		padding: 0 10px;
	}
	.minimal-menu .show-submenu {
		display: none;
	}
}
@media only screen and (max-width:857px) {
	.minimal-menu ul li.submenu > a:after {
		color: #aaa;
		content: "\f107";
		font-family: FontAwesome;
		font-size: 12px;
		left: calc(100% + 5px);
		position: absolute;
		top: 2px;
		transition: all 0.5s ease 0s;
	}
	.minimal-menu {
		border-color: rgba(100%, 100%, 100%, 0.3);
	}
	.minimal-menu-button {
		position: absolute;
		right: 15px;
		top: 21px;
		z-index: 9999;
	}
	.minimal-menu {
		position: fixed;
		z-index: 9999;
	}
	input.minimal-menu-button {
		display: none;
	}
	label.minimal-menu-button {
		background-color: #59595b;
		color: #fff;
		cursor: pointer;
		display: inline-block;
		height: 38px;
		padding-top: 3px;
		text-indent: -9999px;
		text-transform: uppercase;
		width: 42px;
	}
	label.minimal-menu-button .icon-bar {
		background-color: #fff;
		border-radius: 2px;
		color: #fff;
		display: block;
		height: 3px;
		margin: 6px 5px;
	}
	.minimal-menu {
		background-color: rgba(255, 255, 255, 0.95);
		box-shadow: 1px 3px 3px rgba(0, 0, 0, 0.5);
		height: 100%;
		left: -100%;
		opacity: 0;
		overflow: auto;
		top: 80px;
		transition: left 0.8s ease 0s, opacity 0.5s ease 0s;
		width: 55%;
	}
	#mobile-nav:checked + .minimal-menu {
		visibility: visible;
		left: 0;
		opacity: 1;
	}
	.minimal-menu h3, .minimal-menu ul li a {
		border-bottom: 1px solid rgba(100%, 100%, 100%, 0.2);
		border-top: 1px solid transparent;
		color: #fff;
		padding: 10px;
		line-height: 1.5;
	}
	.minimal-menu h3 {
		font-size: 18px;
		line-height: 1em;
		margin: 0;
		padding: 20px 0 20px 40px;
		color: #fff;
		background: rgba(100%, 100%, 100%, 0.10);
	}
	.minimal-menu ul {
		margin: 0;
		padding: 0;
	}
	.minimal-menu li, .minimal-menu a {
		display: block;
	}
	.minimal-menu li {
		position: relative;
	}
	.minimal-menu li:hover > a, .minimal-menu li.current > a {
		background: rgba(100%, 100%, 100%, 0.2);
	}
	.minimal-menu li li:hover > a, .minimal-menu li li.current > a {
		background: rgba(100%, 100%, 100%, 0.4);
	}
	.minimal-menu li li li:hover > a, .minimal-menu li li li.current > a {
		background: rgba(100%, 100%, 100%, 0.6);
	}
	.minimal-menu ul > li {
		padding-bottom: 0;
	}
	.minimal-menu > ul > li:hover > a, .minimal-menu > ul > li.current > a {
		border-left: 1px solid transparent;
		border-right: 1px solid transparent;
	}
	.minimal-menu ul ul a {
		padding-left: 40px;
	}
	.minimal-menu ul ul ul a {
		padding-left: 55px;
	}
	.minimal-menu ul ul ul ul a {
		padding-left: 70px;
	}
	.minimal-menu ul ul li a {
		font-size: 14px;
	}
	.minimal-menu ul li.submenu > a:before, .minimal-menu ul li.submenu > a:after {
		top: 11px;
		left: auto;
		right: 12px;
	}
	.minimal-menu.clr-white ul li.submenu a:before, .minimal-menu.clr-white ul li.submenu a:after {
		background: #999;
	}
	.minimal-menu ul li.submenu > a:before {
		margin-top: -2px;
	}
	.minimal-menu ul li.submenu > a:after {
		margin-top: 1px;
	}
	.minimal-menu .show-submenu {
		position: absolute;
		display: block;
		left: 0;
		top: 0;
		width: 100%;
		height: 40px;
		min-width: 100%;
		min-height: 40px;
		margin: 0;
		opacity: 0;
	}
	.minimal-menu .show-submenu + ul, .minimal-menu .show-submenu + .menu-wrapper {
		display: none;
		visibility: hidden;
	}
	.minimal-menu .show-submenu:checked + ul, .minimal-menu .show-submenu:checked + .menu-wrapper {
		display: block;
		visibility: visible;
	}
}
@media only screen and (max-width:480px) {
	.minimal-menu {
		width: 70%;
	}
}