.navbar-toggler {
	display: inline-block;
	color: @less_iaicolorscheme_background_text_color;
	border: none;
	background: none;
	font-size: 2em;
	padding: 0;
	text-align: center;
	width: 60px;
	line-height: @header_height_mobile;
	border-left: 1px solid @less_iaicolorscheme_background_border_color;

	@media (min-width: 979px) {
		display: none;
	}
}

aside {
	.navbar-collapse {
		background: @less_iaicolorscheme_background_color;
		clear: both;
		display: block;
		margin-bottom: 1.5rem;

		@media (min-width: 979px) {
			display: none;
		}

		ul {
			list-style: none;
		}

		img {
			&.--omo {
				display: none;
			}
		}
	}

	.navbar-nav {
		z-index: 9;
	}

	.navbar-subnav {
		z-index: 9;
	}

	.navbar-subsubnav {
		z-index: 19;
	}

	.navbar-subnav,
	.navbar-subsubnav {
		width: ~'calc(100vw - 60px)';
		position: fixed;
		background: @less_iaicolorscheme_background_color;
		top: 0;
		height: 100vh;
		overflow: auto;
		right: -100%;
		transition: right 0.3s;
		padding: 60px 1.5rem 120px;
		display: none;

		@media (min-width: 757px) {
			width: 50vw;
		}
	}

	.nav-item {
		display: block;

		&.--extend {
			display: none;
		}
	}

	.nav-link {
		padding: 15px 0;
		color: @link_color_hover;
		font-weight: 400;
		display: flex;
		line-height: 20px;
		justify-content: space-between;
		align-items: center;
		border-bottom: 1px solid @less_iaicolorscheme_background_border_color;
		font-size: 13px;
		cursor: pointer;
		text-decoration: none;

		&.not_selectable {
			-webkit-user-select: none;
			-moz-user-select: none;
			-ms-user-select: none;
			user-select: none;
			cursor: pointer;
		}

		&:not(:only-child) {
			&:after {
				font-family: FontAwesome;
				font-size: 22px;
				content: "\f105";
				color: inherit;
			}
		}

		&:hover {
			span.--omo {
				display: none;
			}

			img.--omo {
				display: block;
			}
		}

		&.active {
			color: @link_color;
		}
	}

	a.nav-link {
		&:hover {
			color: @link_color;
		}
	}

	.nav-header {
		position: fixed;
		top: 0;
		right: -100%;
		transition: right 0.3s;
		width: ~'calc(100vw - 60px)';
		padding: 0 1.5rem;

		@media (min-width: 757px) {
			width: 50vw;
		}

		&__backLink {
			position: absolute;
			width: 40px;
			height: 61px;
			display: flex;
			align-items: center;
			font-size: 24px;
			line-height: 29px;
			text-decoration: none;
			left: 20px;
			z-index: 1;
		}

		.nav-link {
			background: @less_iaicolorscheme_background_color;
			text-align: center;
			display: block;
			font-weight: 600;
			font-size: 16px;
			white-space: nowrap;
			text-overflow: ellipsis;
			overflow: hidden;
			padding-left: 40px;
			padding-right: 40px;
			line-height: 30px;

			&:after {
				content: "\f104";
				position: absolute;
				left: 20px;
				font-weight: 400;
				font-family: FontAwesome;
				font-size: 24px;
				line-height: 29px;
				display: none;
			}

			&.nav-gfx {
				padding: 5px 20px 5px 40px;
				height: 60px;
				line-height: normal;
				display: flex;
				justify-content: center;
				align-items: center;

				&:after {
					line-height: 50px;
				}

				img {
					max-height: 50px;
				}
			}
		}
	}
}

header {
	.navbar-collapse {
		display: none;
		position: relative;

		@media (min-width: 979px) {
			display: block;
		}

		ul {
			list-style: none;
		}

		img {
			display: block;

			&.--omo {
				display: none;
			}
		}
	}

	.navbar-nav {
		display: flex;
		flex-wrap: wrap;
		list-style: none;
		font-size: 1.4rem;
		align-items: center;

		& > li {
			&:hover {
				& > ul {
					display: grid;
				}
			}
		}
	}

	.navbar-subnav {
		display: none;
		width: 100%;
		font-size: 1.3rem;
		z-index: 100;
		position: absolute;
		background: @less_iaicolorscheme_background_color;
		border: 1px solid @less_iaicolorscheme_background_border_color;
		left: -1.5rem;
		width: ~'calc(100% + 3rem)';
		right: 0;
		box-shadow: 0px 0px 20px -2px rgba(0, 0, 0, 0.2);
		flex-wrap: wrap;
		justify-content: left;
		align-items: start;
		grid-template-columns: 1fr 1fr 1fr 1fr;
		border-radius: @less_iaicolorscheme_border_radius_value_sm;
		padding: 10px;

		@media @desktop {
			grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
		}

		@media @large {
			grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
		}

		&.--cols1 {
			width: ~'calc(25% - 2rem)';
			grid-template-columns: 1fr;

			@media @desktop {
				width: ~'calc(20% - 2rem)';
			}
		}

		&.--cols2 {
			width: ~'calc(50% - 2rem)';
			grid-template-columns: 1fr 1fr;

			@media @desktop {
				width: ~'calc(40% - 2rem)';
			}
		}

		&.--cols3 {
			width: ~'calc(75% - 2rem)';
			grid-template-columns: 1fr 1fr 1fr;

			@media @desktop {
				width: ~'calc(60% - 2rem)';
			}
		}

		&.--cols4 {
			width: ~'calc(100% + 3rem)';
			grid-template-columns: 1fr 1fr 1fr 1fr;

			@media @desktop {
				width: ~'calc(80% - 2rem)';
			}
		}

		&.--cols5 {
			width: ~'calc(100% + 3rem)';
			grid-template-columns: 1fr 1fr 1fr 1fr;

			@media @desktop {
				grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
			}
		}

		&.active,
		&.--hover {
			display: grid;
		}

		.nav-link {
			text-transform: none;
			font-size: 1.3rem;
			padding: 10px;
			font-weight: normal;
		}

		& > .nav-item {
			&.--all {
				grid-column: span 5;
				display: flex;
				justify-content: center;
			}
		}
	}

	.navbar-subsubnav {
		padding-bottom: 10px;

		.nav-link {
			font-weight: normal;
			text-transform: none;
			font-size: 1.2rem;
			padding: 2.5px 10px;
		}

		&:not(.show) {
			.nav-item {
				&:nth-child(n + 11):not(.--extend) {
					display: none;
				}
			}
		}
	}

	.nav-item {

		&.--extend,
		&.--all {
			.nav-link {
				text-decoration: underline;
				text-transform: none;
				font-weight: normal;
				font-size: 1.2rem;
			}
		}
	}

	.nav-link {
		display: block;
		padding: 5px 10px 8px;
		text-decoration: none;
		text-transform: none;

		&:hover {
			span.--omo {
				display: none;
			}

			img.--omo {
				display: block;
			}
		}

		&.active {
			color: @link_color;
		}
	}
}