.main-navigation {
	height: auto;
	line-height: normal;
	margin-top: 2px;
	&.align_left {
		text-align: left;
	}

	&.align_center {
		text-align: center;
	}

	&.align_right {
		text-align: right;
	}

	sup {
		font-weight: 600;
		font-size: 9px;
	}

	ul {
		padding: 0;
		margin:0;
		list-style: none;
		position: relative;

		&:after {
			content: "";
			clear: both;
			display: block;
		}

		ul {
			background: #fff;
			padding: 40px;
			position: absolute;
			top: 100%;
			left: 0;
			width: 320px;
			box-shadow: -2px 2px 81px -27px rgba(0,0,0,0.29);
			transition: all 0.3s ease-in-out;

			li {
				float: none;
				text-align:left;
				display:block;
				padding: 5px 0;
				border-top: 0px solid #ccc;
				position: relative;

				&:first-child {
					padding-top: 0;
				}

				&:last-child {
					border-bottom: 0px solid #ccc;
					padding-bottom: 0;
				}

				&.menu-item-has-children
				{
					&:after {
						font-family: Shopkeeper-Icon-Font;
						font-style: normal;
						font-weight: normal;
						text-decoration: inherit;
						content: "\e91d";
						display: block;
						width: 10px;
						height: 14px;
						position: absolute;
						right: 0;
						top: 5px;
						transition: all .3s ease;
					}

					> a {
						margin: 0 20px 0 0;
					}
				}

				a {
					//font-size: 0.875rem;
					margin: 0;
					padding: 0;
					text-transform: none;
					font-weight: normal;
					color: #000;
					display: inline;
					width: auto;
					padding: 2px 0;
					background-size: 0;
					background-repeat: no-repeat;
					transition: 0.5s ease;

					&:hover {
						background-size: 100%;
						opacity: 1;
					}
				}
			}

			ul {
				position: absolute;
				left: calc( 100% + 20px );
				top: 0;

				&.reverse {
					left: auto;
    				right: calc( 100% + 20px );
				}
			}
		}

		li {
			display: inline-block;
			white-space: nowrap;
			position: relative;
			transition: all 0.3s ease-in-out;

			&.gtb-new a:after {
				background: #ffb900;
				border-radius: 2px;
				color: #fff;
				content: "NEW";
				font-family: NeueEinstellung;
				font-size: 7px;
				font-weight: 600;
				padding: 3px 3px 2px 3px;
				margin-left: 5px;
				position: relative;
				top: -2px;
			}

			a {
				display: inline-block;
				padding: 0 15px 0;
				text-decoration: none;
				font-weight: 600;
				text-transform: uppercase;
				position: relative;
				width: 100%;
				line-height: 1.5;
			    white-space: pre-wrap;
			}
		}

		> li {
			> ul {
				&.with_bg_image {
					background-position:top right;
					background-repeat: no-repeat;
					background-size: contain;
					padding: 40px 150px 40px 50px;
				}
			}
		}
	}

	> ul {
		vertical-align: middle;
		display: inline;

		> li.call-to-action {
			margin: -1px 5px 0;

			&.menu-item-has-children {
				> a {
					padding-right: 32px;
				}
			}

			&:not(.menu-item-has-children) {
				> a
				{
					padding: 0 15px 0 !important;
				}
			}

			> a {
				border-width:1px;
				border-style:solid;
				padding: 3px 32px 0 15px !important;
				border-radius: 5px;
			}
		}

		> li {
			position: relative;

			&.menu-item-has-children {
				padding-right:2px;
				margin-right:10px;

				&:after {
					font-family: Shopkeeper-Icon-Font;
					font-style: normal;
					font-weight: 600;
					text-decoration: inherit;
					content: "\e91b";
					display: block;
					position: absolute;
					right: 0;
					top: 0;
					transition: all .3s ease;
				}
			}

			> a {
				line-height: 1.5;
			}
		}

		li {
			ul {
				visibility: hidden; // hides sub-menu
				pointer-events: none;
				opacity: 0;
				transition: all 0.3s ease-in-out 0s, visibility 0s linear 0.3s, z-index 0s linear 0.01s;
			    z-index: 9995;
			}

			&.active {
				> ul {
					visibility: visible; // shows sub-menu
					pointer-events: auto;
					opacity: 1;
					transition-delay: 0s, 0s, 0.3s; // this removes the transition
				}
			}
		}
	}

	.mega-menu {

		&.active {

			> ul > li > ul {
				visibility: visible; // shows sub-menu
				pointer-events: auto;
				opacity: 1;
				transition-delay: 0s, 0s, 0.3s; // this removes the transition
			}
		}

		> ul {
			width: auto;
			&.reverse {
				left: auto;
				right: -20px;
			}
		}

		ul {
			transition: all 0.3s ease-in-out;

			.sub-menu {
				position: static;
				transition: all .3s ease;
			}

			ul {
				min-width: 240px;
				max-width: 240px;
				width: auto;
				box-shadow: 0px 0px 0px rgba(0,0,0,0);
				font-weight:normal;
				background:none;

				li.menu-item-has-children {
					&:after {
						font-family: Shopkeeper-Icon-Font;
						font-style: normal;
						font-weight: normal;
						text-decoration: inherit;
						content: "\e91d";
						display: block;
						width: 10px;
						height: 14px;
						position: absolute;
						right: 0;
						top: 5px;
					}
				}

				ul {
					z-index: 9995;
				}
			}

			li {
				white-space:normal;

				&:hover {
					z-index:100;
					opacity: 1;

					a {
						opacity: 1;
					}
				}
			}
		}

		li {
			&.menu-item-has-children {
				&:after {
					display: none;
				}
			}
		}

		> ul {
			position: absolute;
			margin: 0;
			padding: 40px;

			> li {
				display: table-cell;
				min-width: 240px;
				padding-right: 40px;

				&:last-child {
					padding-right: 0;
				}

				> a {
					text-transform: uppercase;
					font-weight: 600;
				}

				> ul {
					background-color: transparent !important;
				}
			}

			ul {
				margin: 0;
				padding: 12px 0 0 0;

				li {
					position: relative;

					&.active {
						> ul {
							opacity: 1;
							visibility: visible;
							pointer-events: auto;
						}
					}
				}

				ul {
					margin: 0;
					padding: 40px;
					position: absolute !important;
					top: 0;
					left: calc( 100% + 20px );
					max-width: 240px;
					box-shadow: 0px 0px 5px rgba(0,0,0,0.20);
					line-height: 23px;
					opacity: 0;
					visibility: hidden;
					pointer-events: none;
				    z-index: 9995;

					&.reverse {
						left: auto;
    					right: calc( 100% + 20px );
					}
				}
			}
		}
	}
}

.mobile-navigation {
	overflow: visible;
	padding: 35px;
	border-bottom: 1px solid #e5e5e5;

	ul {
		padding: 0;
		margin: 0;
		list-style: none;
		display: block;
		font-size: 1em;

		li {
			padding: 0;
			margin: 0 0;
			list-style: none;
			display: block;
			text-transform: none;
			position: relative;
			user-select: none;

			.spk-icon-down-small,
			.spk-icon-up-small {
				display: block;
				width: 24px;
				height: 24px;
			}

			.spk-icon-down-small:before,
			.spk-icon-up-small:before {
				color: #000;
				font-size: 21px;
				line-height: 24px;
				position: relative;
				//top: -1px;
			}

			a {
				//text-transform: uppercase;
				//font-size: 11px;
				font-weight: normal;
				padding: 3px 0;
				display: inline-block;
			}

			.more {
				display: inline-block;
				vertical-align: middle;
				position: absolute;
				top: 0;
				right: 0;
				border-radius: 100%;
				cursor: pointer;
			}
		}

		.sub-menu {
			display: block;
			font-size: 13px;
			position: relative;
			padding: 0;
			transition: all .4s ease-in-out;
			opacity: 0;
			visibility: hidden;
			max-height: 0;

			&.open {
				display: block;
				opacity: 1;
				visibility: visible;
				max-height: 3000px;
			}

			li.upper > a {
				font-weight: 600;
				text-transform: uppercase;
				padding: 20px 0 10px 0;
			}
		}
	}

	> ul {
		
		& > li {

			margin: 10px 0;

			& > a {
				text-transform: uppercase;
				font-size: 13px;
				font-weight: 600;
			}
			
			& > ul > li {

				margin: 0 0 5px 0;

				& > a {
					//font-weight: 600;
					//text-transform: uppercase;
				}
			}
			> ul {
				&.sub-menu {
					padding: 0 0 0 20px;
					&.open {
						padding: 10px 0 10px 20px;
					}
				}
				&.has_children > li > a {
					font-weight: 600;
					text-transform: uppercase;
					padding: 8px 0 3px 0;
				}
			}
			> ul > li > ul {
				&.sub-menu {
					&.open {
						padding: 10px 0;
					}
				}

				li {
					margin: 0 0 5px 0;
				}
			}
			> ul > li:only-child > ul {
				&.sub-menu {
					&.open {
						padding: 10px 0 0 0;
					}
				}
			}
		}
	}
}

.upper {
	@media #{$large-up} {
		padding-top: 35px !important;
		padding-bottom: 10px !important;

		a {
			text-transform: uppercase !important;
			font-weight: 600 !important;
			//font-size: 13px;
		}
	}
}

// Off-Canvas Search

.mobile-search
{
	position: relative;
}

.mobile-search .widget
{
	margin-bottom: 0;
}

.mobile-search .widget form > div
{
	padding-top: 0;
}

.mobile-search .widget_search .search-form:after,
.mobile-search .woocommerce-product-search:after
{
	display: none;
}

.mobile-search .widget_product_search input[type="submit"],
.mobile-search .widget_search #searchsubmit,
.mobile-search .widget_product_search .search-submit,
.mobile-search .mobile_search_submit
{
	color: #a3a3a3;
	text-align: center;

	width: 40px;
	height: 40px;
	line-height: 40px;

	position: absolute;
	top: 6px;
	right: 22px;
}

.mobile-search .widget_product_search #searchsubmit,
.mobile-search .widget_search #searchsubmit,
.mobile-search .widget_product_search .search-submit,
{
	font-size: 0;
}

.mobile-search .mobile_search_submit
{
	font-size: 0.875rem;
}

.mobile-search input[type="search"]
{
	font-size: 1.125rem;
	font-weight: 600;
	color: #000;
	border: none;

	border-bottom: 1px solid #e5e5e5;
	padding: 13px 60px 14px 35px;
	height: auto;
}

.mobile-search input[type="search"]::-webkit-input-placeholder { font-weight: 600; color: #a3a3a3; text-transform: lowercase; opacity: 1; }
.mobile-search input[type="search"]::-moz-placeholder { font-weight: 600; color: #a3a3a3; text-transform: lowercase; opacity: 1;}
.mobile-search input[type="search"]:-ms-input-placeholder { font-weight: 600; color: #a3a3a3; text-transform: lowercase; opacity: 1;}
.mobile-search input[type="search"]:-moz-placeholder { font-weight: 600; color: #a3a3a3; text-transform: lowercase; opacity: 1; }

// Off-Canvas Language and Currency

select.topbar-language-switcher,
select.wcml_currency_switcher{
	font-size: 0.8125rem;
	color: #a3a3a3;

	background-color: #fff;
	border-style: solid;
	border-width: 1px;

	font-weight: normal;
	text-transform: uppercase;

	height: 2.5rem;
	margin: 0 0 15px;
	outline: medium none;

}

.language-and-currency-offcanvas .select2-container.topbar-language-switcher,
.language-and-currency-offcanvas .select2-container.wcml_currency_switcher
{
	display: block;
	height: auto;
	line-height: normal;
	padding-top: 0px;
	margin: 0 0 12px 0;
}

.language-and-currency-offcanvas .select2-container .select2-choice
{
	display: inline-block;
	padding-bottom: 7px;
	color: #a3a3a3;
	font-weight: normal;
}

.language-and-currency-offcanvas .select2-container:last-of-type
{
	margin-bottom: 8px;
}
