.site-menu {

	.menu {

		li i {
			font-size: 12px;
			padding: 5px 0 5px 5px;
		}

		li a {
			display: block;
		}

		.menu-item-has-children>a i,.page_item_has_children>a i {
			margin-left: 3px;
		}

		.menu-item-has-children>a,.page_item_has_children>a {
			display: flex;
			align-items: center;
		}
	}
}

.menu {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.site-menu.desktop-menu {

	.menu {

		ul {
			margin: 0;
			padding: 0;
			list-style-type: none;
		}

		>li {
			display: inline-block;

			>a {
				font-weight: 500;
				padding: 20px;
			}
		}

		li {

			.sub-menu,.children {
				display: block;
				opacity: 0;
				visibility: hidden;
				margin-top: 50px;
				z-index: 5;
				@include transition-05;
			}	
		}

		li:hover>.sub-menu {
			opacity: 1;
			visibility: visible;
			margin-top: 0;
			@include transition-05;
		}
	}

	.sub-menu,.children {
		display: block;
		position: absolute;
		left: 0;
		z-index: 2;
	}

	&.main-menu {

		li {
			position: relative;
		}

		li a {
			display: flex;
			line-height: 23px;
		}

		.menu > li > a {
			padding-left: 10px;
			padding-right: 10px;
		}

		.sub-menu {
			font-size: 15px;
	    	min-width: 240px;
	    	background: #fff;
	    	padding-top: 10px;
	    	padding-bottom: 10px;
	    	@include box-shadow(0 0 10px 0 rgba(0, 0, 0, 0.05));

	    	li {
	    		padding: 8px 15px;
	    	}

	    	li a {
	    		position: relative;
	    	}

	    	li i {
	    		transform: rotate(-90deg);
			    top: 8px;
			    position: absolute;
			    right: 0;
			    @include transform(rotate(-90deg));
	    	}

	    	.sub-menu {
	    		top: 0;
	    		left: 100%;
	    	}
		}
	}
	
	.mega-menu {
		position: relative;

		.sub-menu,.children {
			right: 0;
			min-width: 240px;
			width: auto;
		}

		.container {
			padding-left: 0;
			padding-right: 0;
		}
		
		&.mega-menu-default {

			.sub-menu,.children {
				padding: 20px 15px;
				background: #fff;
				@include box-shadow(0 2px 30px rgba(0,0,0,.05));
			}
		}

		&.mega-menu-full-width {

			.mega-menu-content.container {
				max-width: 100%;
			}

			.sub-menu,.children {
				@include box-shadow(0 2px 30px rgba(0,0,0,.05));
			}
		}

		&.mega-menu-full-width,&.mega-menu-container {
			position: inherit;
		}

		&.mega-menu-container {

			.container {
				padding-left: 15px;
				padding-right: 15px;
			}
		}
	}
}

.site-header .row .site-menu.desktop-menu {
	
	.mega-menu-full-width, .mega-menu-container {

		.sub-menu,.children {
			margin-left: 15px;
	    	margin-right: 15px;
		}
	}
}

.mb-menu {
	margin-right: 25px;
}

.canvas-menu {
	display: inline-block;
	a.icon-menu {
		font-size: 24px;
		display: flex;
	}
	&.canvas-left .area-menu {
		left: 0;
		@include transform( translateX(-100%) );
	}
	&.canvas-right .area-menu {
		right: 0;
		@include transform( translateX(100%) );
	}
	&.active {
		.bg-overlay {
			opacity: 1;
			visibility: visible;
			@include transition-03;
		}
		.area-menu {
	    	@include transform( translateX(0) );
	    	@include transition-03;
	    }
	}
	&.d-hidden{
		display: none;
	}
}

.area-menu {
	position: fixed;
    top: 0;
    z-index: 6;
    height: 100vh;
    width: 320px;
	z-index: 5;
    font-size: 15px;
 	font-weight: 500;
 	color: #2d2d2d;
    @include transition-03;

 	.btn-close {
 		position: absolute;
 		top: 25px;
 		right: 25px;
 		font-size: 24px;
 		line-height: 1;
 		z-index: 1;
 	}

	.inner-menu {
		position: relative;
	    top: 0;
	    left: 0;
	    z-index: 6;
	    background: #fff;
	    padding-bottom: 60px;
	    width: 100%;
	    height: 100%;
	    overflow-x: hidden;
	    overflow-y: auto;
	    -ms-touch-action: auto;
    	touch-action: auto;
	}

	.menu {
		padding: 30px 25px;
		margin-bottom: 0;
		border-top: 1px solid #eeeeee;
		border-bottom: 1px solid #eeeeee;

		ul {
			margin: 0;
			padding: 0;
		}

		li {
			list-style: none;
			display: block;
			margin-bottom: 25px;
			line-height: inherit;
			&:last-child{
				margin-bottom: 0;
			}
		}

		li a {
			display: block;
		}

		.sub-menu,.children {
			margin-top: 25px;
			padding-left: 22px;
			display: none;
		}
	}

	.top-mb-menu {
		display: flex;
		padding: 25px;
		border-bottom: 1px solid #eeeeee;
	}

	.account {
		a + a {
			margin-left: 25px;
		}
		.user-control {
			display: none;
			position: relative;
			top: 0;
			opacity: 1;
			visibility: visible;
			padding-top: 0;
			
			.inner-control {
				box-shadow: none;
				padding: 0;
				ul li {
					padding-left: 0;
					padding-right: 0;
				}
				.logout {
					display: inline-block;
					padding: 0;
					border: 0;
				}
			}
		}
		&.active .user-control {
			display: block;
		}
	}
	.mb-destinations {
		padding: 25px;
	}
	.add-place {
		padding-top: 25px;
		padding-left: 25px;
		padding-right: 25px;
		svg {
			position: relative;
			bottom: -2px;
		}
	}
	.dropdown-select {
		display: block;
		ul li a {
			padding-top: 10px;
			padding-bottom: 10px;
		}
		ul li:last-child a {
			padding-bottom: 0;
		}
	}
	.dropdown-select .entry-select {
		display: none;
		position: relative;
		margin-top: 0;
		padding: 0;
		opacity: 1;
		visibility: visible;
		max-width: inherit;
		min-width: inherit;
		@include box-shadow(none);
	}
	.dropdown-select.active .entry-select {
		margin-top: 10px;
		margin-bottom: 0;
		display: block;
	}
}

.site-menu.mobile-menu {

	.account .user-control {
		text-align: left;
	}

	.dropdown-categories ul.entry-select {
		padding-left: 10px;
	}

	.site-logo {
		padding: 25px;
		margin-right: 0;

		img {
			max-width: 100px;
		}
	}
}

.admin-bar {
	.area-menu .inner-menu {
		top: 32px;
	}
}

@media only screen and (max-width: 374px) {
	.area-menu {
		width: 270px;
	}
}

@media only screen and (max-width: 767px) {
	.canvas-menu.d-hidden {
		display: block;
	}
}