@media screen {
	nav ul {
		margin: 0;
		padding: 0;
	}

	nav ul.mobile-footer {
		display: none;
	}

	nav li {
		display: inline-block;
		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: 14px;
	}
	nav a span {
		display: block;
	}

	nav .firstlevel > li li a {
		/*padding: 6px 16px 5px;
		min-width: 170px;*/
	}

	nav .firstlevel > li li {
		position: relative;
	}

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

	nav .firstlevel > li > ul {
		visibility: hidden;
		opacity: 0;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
	}
	nav .firstlevel > li.active > ul {
		visibility: visible;
		opacity: 1;
		z-index: 12000;
	}


	nav .firstlevel li li ul {
		display: table;
		visibility: hidden;
		opacity: 0;
		margin: 20px 0 0 0;
		position: absolute;
		overflow: visible;
		min-width: 160px;
		padding: 0;
		top: 100%;
		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 > li ul ul ul {
		/*margin: 0 0 0 20px;*/
		top: -1px;
		left: 100%;
	}
	nav .firstlevel > li.nav_right_js ul ul ul {
		left: -100%;
		right: auto;
		width: inherit;
	}

	nav .firstlevel > li:hover > ul, nav .firstlevel > li:focus > ul {
		opacity: 1;
		visibility: visible;
		z-index: 13000;
	}
	nav .firstlevel > li li:hover > ul, nav .firstlevel > li li:focus > ul {
		opacity: 1;
		visibility: visible;
		margin: 0;
	}

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

	/*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, nav .firstlevel li ul, nav .firstlevel li li 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, nav .firstlevel ul ul ul, nav .firstlevel > li ul ul ul {
		top: auto;
		left: auto;
	}

	nav li {
		display: block;
		position: relative;
		height: auto;
		width: auto;
	}
	nav.navtop li li, nav .firstlevel > li li li {
		padding-left: 10px;
		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: 5px auto 20px auto;
	}
	nav.navmobile-index ul {
		border-radius: .5em;
		overflow: hidden;
	}
	nav.navmobile-index li {
		padding-left: 0;
		border-bottom-style: solid;
		border-bottom-width: 1px;
	}
	nav.navmobile-index li:last-child, nav .firstlevel > li 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;
	}
}
