@media screen {
	nav ul {
		margin: 0;
		padding: 0;
	}
	
	nav ul.mobile-footer {
		display: none;
	}

	nav li {
		display: inline-block;
		position: relative;
		cursor: pointer;
		margin: 0;
		padding: 0 .5em;
		line-height: 42px;
		zoom: 1;
		*display: inline;
		/*z-index: 15000;*/
	}

	nav a {
		display: inline-block;
		min-width: 0;
		line-height: 36px;
		margin: 0;
		padding: 3px 15px 3px 5px;
		zoom: 1;
		*display: inline;
		white-space: nowrap;
		font-size: 12px;
	}
	nav a span {
		display: block;
	}

	nav .firstlevel > li li {
		float: none;
		min-width: 160px;
		width: 100%;
		margin: 0;
		padding: 0;
	}
	nav .firstlevel > li li a {
		padding: 6px 16px 5px;
		min-width: 170px;
		width: 100%;
	}

	nav .firstlevel ul {
		display: table;
		visibility: hidden;
		opacity: 0;
		margin: 20px 0 0 0;
		position: absolute;
		overflow: visible;
		min-width: 160px;
		padding: 0;
		top: 42px;
		left: 0;
		/*z-index: 15000;*/
		z-index: 20;
		text-align: left;
		-webkit-transition: all .2s ease-in-out;
		-moz-transition: all .2s ease-in-out;
		-ms-transition: all .2s ease-in-out;
		-o-transition: all .2s ease-in-out;
		transition: all .2s ease-in-out;
	}
	
	nav .firstlevel ul ul {
		margin: 0 0 0 20px;
		top: 0;
		left: 200px;
	}
	nav .firstlevel > li.nav_right_js ul ul {
		left: -200px;
		right: auto;
		width: inherit;
	}

	nav li:hover > ul, nav li:focus > ul {
		opacity: 1;
		visibility: visible;
		margin: 0;
	}

	nav.navbottom ul {
		display: inline-block;
		zoom: 1;
		*display: inline;
	}

	nav .firstlevel > li:last-child ul, nav .firstlevel > li:nth-last-child(2) ul {
		left: auto;
		right: 0;
	}
	
	nav.navside {
		margin-top: 40px;
	}
	nav.navside li {
		display: block;
	}
	nav.navside a {
		white-space: normal;
	}
	nav.navside li:before {
		margin-left: -1em;
	}

	.no-transition {
		transition: none;
		opacity: 1;
		visibility: visible;
		display: none;
	}

	nav li:hover > .no-transition, nav li:focus > .no-transition {
		display: block;
	}
	
	nav li.mobile-enable {
		display: none;
	}
}

@media screen and ( max-width: 990px ) {
	nav.navtop {
		text-align: left;
	}
	nav .firstlevel ul {
		display: block;
		opacity: 1;
		visibility: visible;
		margin: 0;
		position: relative;
		top: auto;
		left: auto;
		/*padding-left: 2em;*/		
	}
	nav li:hover > ul ul, nav li:focus > ul ul{		
		margin: 0 0 0 20px;
	}
	
	nav ul.mobile-footer {
		display: block;
	}

	nav .firstlevel ul ul, nav .firstlevel > li.nav_right_js ul ul {
		top: auto;
		left: auto;
	}

	nav li {
		display: block;
		position: relative;
		height: auto;
		width: auto;
	}
	nav.navtop li li {
		padding-left: 1em;
		font-size: 90%;
	}
	nav.navbottom li {
		display: block;
	}

	nav li.mobile-disable {
		display: none;
	}
	nav li.mobile-enable {
		display: block;
	}

	nav .firstlevel > li li {
		width: auto;
	}
	
	nav a {
		display: block;
	}
	
	nav.navtop .firstlevel > li li a {
		padding: 0px 16px 0px;
	}

	nav.navbottom ul {
		display: block;
		float: none;
	}
	
	nav.navmobile-index {
		width: 90%;
		margin: 15px auto 20px auto;
	}
	nav.navmobile-index ul {
		border-radius: 0;
		overflow: hidden;
	}
	nav.navmobile-index li {
		padding-left: 0;
		border-bottom-style: solid;
		border-bottom-width: 1px;
	}
	nav.navmobile-index li:last-child {
		border-bottom: 0;
	}
	nav.navmobile-index a {
		background-repeat: no-repeat;
		height: 80px;
		line-height: 80px;
		padding: 0;
		padding-left: 100px;
		font-size: 120%;
	}
	nav.navmobile-index a:before {
		position: absolute;
		content: '';
		top: 29px;
		right: 20px;
		border-width: 1px;
		border-style: solid;
		width: 20px;
		height: 20px;
		line-height: 20px;
		-webkit-border-radius: 50%;
		-moz-border-radius: 50%;
		border-radius: 50%;
	}
	nav.navmobile-index a:after {
		position: absolute;
		content: '';
		top: 34px;
		right: 26px;
		border-top: 6px solid transparent;
		border-bottom: 6px solid transparent;
		border-left-width: 8px;
		border-left-style: solid;
		width: 0;
		height: 0;
	}
}
