@-webkit-keyframes show-animation {
	0% {
		-webkit-transform: translateY(60px);
		opacity: 0;
	}
	100% {
		-webkit-transform: translateY(0);
		opacity: 1;
	}
}

@keyframes show-animation {
	0% {
		transform: translateY(60px);
		opacity: 0;
	}
	100% {
		transform: translateY(0);
		opacity: 1;
	}
}

@-webkit-keyframes hide-animation {
	0% {
		-webkit-transform: translateY(0);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateY(60px);
		opacity: 0;
	}
}

@keyframes hide-animation {
	0% {
		transform: translateY(0);
		opacity: 1;
	}
	100% {
		transform: translateY(60px);
		opacity: 0;
	}
}

// Begin Smartmenus Core
/* Mobile first layout SmartMenus Core CSS (it's not recommended editing these rules)
   You need this once per page no matter how many menu trees or different themes you use.
-------------------------------------------------------------------------------------------*/

.desktop-menu {

	.sm {
		position: relative;
		z-index: 9999;
	}

	.sm,
	.sm ul,
	.sm li {
		display: block;
		margin: 0;
		padding: 0;
		list-style: none;
		text-align: left;
		line-height: normal;
		direction: ltr;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	}

	.sm-rtl,
	.sm-rtl ul,
	.sm-rtl li {
		text-align: right;
		direction: rtl;
	}

	.sm {
		> li {
			h1,
			h2,
			h3,
			h4,
			h5,
			h6 {
				margin: 0;
				padding: 0;
			}
		}
		ul {
			display: none;
		}
		li,
		a {
			position: relative;
		}
		li {
			> a {
				display: block;
				&.disabled {
					cursor: not-allowed;
				}
			}
		}
	}

	.sm,
	.sm *,
	.sm *:before,
	.sm *:after {
		box-sizing: border-box;
	}

	// End Smartmenus Core

	.sm-simple {
		li {
			> a,
			> a:hover,
			> a:focus,
			> a:active {
				padding: 13px 20px;
				/* make room for the toggle button (sub indicator) */
				padding-right: 58px;
			}
			> a {
				&.current {
					background: #555555;
					color: white;
				}
				&.disabled {
					color: #cccccc;
				}
				.sub-arrow {
					font-size: 0;
					&:before {
						position: absolute;
						top: 50%;
						right: 0;
						content: '\f107';
						font-size: 13px;
						font-family: FontAwesome;
						transform: translate(0, -50%);
					}
				}
			}
		}
		.sub-menu {
			a {
				.sub-arrow {
					&:before {
						right: 18px;
					}
				}
			}
		}
	}

	/* Switch to desktop layout
	-----------------------------------------------
		These transform the menu tree from
		collapsible to desktop (navbar + dropdowns)
	-----------------------------------------------*/
	/* start... (it's not recommended editing these rules) */
	.sm-simple {
		ul {
			position: absolute;
			width: 12em;
		}
		&.sm-rtl {
			li {
				float: right;
			}
		}
		ul li,
		&.sm-rtl ul li,
		&.sm-vertical li {
			float: none;
		}
		a {
			white-space: nowrap;
		}
		ul a,
		&.sm-vertical a {
			white-space: normal;
		}
		.sm-nowrap > li > a {
			white-space: nowrap;
		}
	}

	/* ...end */
	.sm-simple {
		.scroll-up,
		.scroll-down {
			position: absolute;
			display: none;
			visibility: hidden;
			overflow: hidden;
			height: 20px;
			background: white;
		}
		.scroll-up-arrow,
		.scroll-down-arrow {
			position: absolute;
			top: -2px;
			left: 50%;
			overflow: hidden;
			margin-left: -8px;
			width: 0;
			height: 0;
			border-width: 8px;
			border-style: dashed dashed solid dashed;
			border-color: transparent transparent #555555 transparent;
		}
		.scroll-down-arrow {
			top: 6px;
			border-style: solid dashed dashed dashed;
			border-color: #555555 transparent transparent transparent;
		}
		&.sm-rtl {
			.has-submenu {
				padding-right: 20px;
				padding-left: 32px;
			}
			&.sm-vertical {
				.has-submenu {
					padding: 11px 20px;
				}
			}
			ul {
				.has-submenu {
					padding: 11px 20px;
				}
			}
			> li {
				&:first-child {
					border-left: 1px solid #eeeeee;
				}
				&:last-child {
					border-left: 0;
				}
			}
		}
	}
	.sm-simple {
		&:not(.sm-vertical) {
			.has-mega-menu {
				position: static !important;
				.mega-menu {
					right: 0 !important;
					margin-left: 0 !important;
					max-width: none !important;
					width: auto !important;
				}
			}
		}
		&.sm-vertical {
			.has-mega-menu {
				.mega-menu {
					max-width: calc(100vw - 320px) !important;
					width: 1170px !important;
				}
			}
			a {
				.sub-arrow {
					&:before {
						right: 30px;
						content: '\f105';
					}
				}
			}
		}
	}
	.menu--primary {
		position: relative;
		text-align: center;
		.sm-simple {
			position: static;
			display: inline-block;
			> li {
				display: inline-block;
				> a {
					.menu-item-title {
						position: relative;
						padding-bottom: 9px;
						&:after {
							position: absolute;
							bottom: -10px;
							left: 0;
							width: 100%;
							height: 2px;
							content: '';
							transition: all .3s cubic-bezier(.645, .045, .355, 1);
						}
					}
				}
				&:hover,
				&.current-menu-item,
				&.current-menu-parent {
					> a {
						.menu-item-title {
							&:after {
								bottom: 0;
							}
						}
					}
				}
			}
		}
		.widgettitle {
			margin: 0 0 12px 30px;
			text-transform: uppercase;
			letter-spacing: 1.62px;
			font-weight: bold;
			font-size: 13px;
		}
		.sub-menu,
		.children {
			padding: 25px 0;
			min-width: 270px !important;
			border: 1px solid #eeeeee;
			border-bottom: 2px solid #dec8ae;
			li {
				> a {
					padding: 11px 30px;
				}
			}
			.sub-arrow {
				&:before {
					content: '\f105';
				}
			}
		}
		.vc_row.vc_row-flex > .vc_column_container > .vc_column-inner {
			z-index: inherit;
		}
		.has-mega-menu {
			.mega-menu {
				padding: 0;
				.vc_row {
					> .vc_column_container {
						padding-top: 34px;
						padding-bottom: 34px;
					}
				}
				ul {
					position: static;
					display: block;
					width: auto;
					border: 0;
					background: transparent;
					box-shadow: none;
				}
			}
			.scroll-up,
			.scroll-down {
				margin-left: 0 !important;
			}
			.wpb_column {
				+ .wpb_column {
					> .vc_column-inner {
						border-left: 1px solid #eeeeee;
					}
				}
			}
			.wpb_button, .wpb_content_element, ul.wpb_thumbnails-fluid > li {
				margin-bottom: 0;
			}
			.widget_recent_entries,
			.widget_recent_comments,
			.widget_archive,
			.widget_categories,
			.widget_meta,
			.widget_product_categories,
			.widget_rss,
			.widget_pages,
			.widget_nav_menu,
			.insight-core-bmw {
				ul {
					margin: 0;
					padding: 0;
				}
				li {
					margin-bottom: 0;
				}
			}
			.tm-list {
				padding-right: 30px;
				padding-left: 30px;
				.item-wrapper {
					display: block;
					padding-top: 11px;
					padding-bottom: 11px;
					line-height: 20px;
				}
			}
		}
		.menu-item-feature {
			position: relative;
			margin-left: 10px;
			&:before {
				position: absolute;
				top: 50%;
				left: 0;
				content: '\f005';
				font-size: 12px;
				font-family: FontAwesome;
				transform: translate(0, -50%);
			}
		}
		ul {
			/* show animation */
			&.show-animation {
				-webkit-animation: show-animation .3s;
				animation: show-animation .3s;
			}
			/* hide animation */
			&.hide-animation {
				-webkit-animation: hide-animation .3s;
				animation: hide-animation .3s;
			}
		}
	}
}

.mobile-menu {
	.page-navigation-wrap,
	.page-navigation {
		display: none;
	}
}
