.dj-megamenu-modern {
	padding: 0 !important;
	margin: 0 !important;
	list-style: none;
	overflow: visible;
	height: auto;
	width: auto;
	position: relative;
	z-index: 500;

	display: flex;
	flex-wrap: wrap;
	align-items: center;

	li.dj-up {
		position: relative;
		padding: 0 !important;
		margin: 0 !important;
	}

	li {
		a.dj-up_a {
			display: block;
			height: 60px;
			font-size: 14px;
			//color: #000;
			text-decoration: none;
			padding: 0 30px;
			cursor: pointer;

			transition: color 0.2s ease-out;

			> span {
				display: flex;
				align-items: center;
				flex-wrap: wrap;
				padding: 0;
				height: 60px;

				&.dj-drop {
					padding: 0 20px 0 0;
				}

				span.name {
					vertical-align: middle;
					+ span {
						margin-left: 10px;
					}
				}
			}

			small.subtitle {
				display: block;
				font-size: 13px;
				line-height: 1;
				margin-top: 3px;
				opacity: 0.8;
			}

			.dj-icon {
				margin: 0;
				max-height: 32px;
				+ span {
					margin-left: 15px;
				}
			}
		}

		div.dj-subwrap {
			position: absolute;
			left: -9999px;
			top: -9999px;
			margin: 0;
			padding: 0;
			list-style: none;

			.dj-subwrap-in {
				display: flex;
				box-shadow: 2px 5px 10px rgba(0, 0, 0, 0.08);
				border-radius: 5px;
				background-color: #fff;
				position: relative;
			}
		}

		&.logo {
			a.dj-up_a {
				.dj-icon {
					max-height: 60px;
				}
			}
		}

		&:hover,
		&.hover {
			position: relative;
			z-index: 200;

			a.dj-up_a {
				//color: #444;
			}

			> div.dj-subwrap {
				left: 0;
				top: 100%;
				height: auto;
				z-index: 300;

				li {
					&:hover,
					&.hover {
						> div.dj-subwrap {
							left: 100%;
							top: 0;
							margin: 0;
							height: auto;
							z-index: 400;

							border-left: 12px solid transparent;
							border-right: 12px solid transparent;
						}
					}
				}
			}

			.multiple_cols {
				> .dj-subwrap-in {
					padding: 10px;
				}
			}
		}

		ul.dj-submenu {
			list-style: none;
			padding: 0;
			margin: 0;
			height: auto;
			width: auto;

			> li {
				list-style: none;
				display: block;
				height: auto;
				width: auto;
				position: relative;
				border-top: 1px solid #efefef;

				&.first {
					border-top: none;
				}

				> a {
					font-size: 13px;
					line-height: 24px;
					color: #6e6e6f;
					text-decoration: none;
					margin: 0;
					padding: 12px 20px;
					transition: all 0.2s ease-out;

					display: flex;
					align-items: center;
					flex-wrap: nowrap;

					border-radius: 5px;
					
					position: relative;

					.dj-icon {
						max-height: 26px;
						font-size: 20px;
						+ span {
							margin-left: 15px;
						}
					}

					small.subtitle {
						display: block;
						font-size: 11px;
						line-height: 1;
						opacity: 0.8;
					}

					span.name {
						vertical-align: middle;
						+ span {
							margin-left: 10px;
						}
					}

					&:hover,
					&.active {
						background: #f6f5f5;
						color: #434343;
					}
				}
			}
		}

		ul.dj-subtree {
			list-style: none;
			padding: 0 !important;
			margin: 5px 0 5px 25px !important;

			> li {
				list-style: circle outside;
				padding: 0;
				margin: 0;

				> a {
					display: block;
					font-size: 13px;
					line-height: 13px;
					color: #666;
					text-decoration: none;
					padding: 5px 0;

					&:hover,
					&.active {
						color: #000;
					}

					small.subtitle {
						display: block;
						font-size: 0.9em;
						line-height: 1;
						opacity: 0.8;
					}

					span.name {
						+ span {
							margin-left: 10px;
						}
					}

				}
			}

			> li.active {
				> a {
					text-decoration: underline;
				}
			}
		}
	}

	//arrows
	.arrow {
		position   : absolute;
		right      : 16px;
		top        : 50%;
		transform: translateY(-50%);
		display    : inline-block;
		line-height: 1;
		-webkit-transition: all 0.2s ease-out;
		transition        : all 0.2s ease-out;
	}

	//css arrows
	&.dj-fa-no {
		.arrow {
			&:before {
				content: '';
				border: solid #000;
				border-width: 0 2px 2px 0;
				display: inline-block;
				padding: 2px;
				transform: rotate(45deg);
				-webkit-transform: rotate(45deg);
				position: relative;
				top: -2px;
			}
		}
		.dj-submenu li.parent:not(.subtree) > a .arrow {
			&:before {
				transform: rotate(-45deg);
				-webkit-transform: rotate(-45deg);
			}
		}
	}
	//font awesome arrows
  &.dj-fa-0,
	&.dj-fa-1,
	&.dj-fa-5 {
		.arrow {
			&:before {
				display: inline-block;
				font: normal normal normal 14px/1 "FontAwesome";
				text-rendering: auto;
				-webkit-font-smoothing: antialiased;
				-moz-osx-font-smoothing: grayscale;
			}
		}
		li.dj-up > a .arrow {
			&:before {
				content: "\f107";
			}
		}
		.dj-submenu li.parent:not(.subtree) > a .arrow {
			&:before {
				content: "\f105";
			}
		}
	}

	&.dj-fa-5 {
		.arrow {
			&:before {
				font-family: "Font Awesome 5 Free";
				font-weight: 900;
			}
		}
	}

	// main list
	li.dj-up:hover > a .arrow,
	li.dj-up:focus > a .arrow {
		top: 51%;
		top: calc(50% + 2px);
	}

	//submenu
	.dj-submenu li.parent {
		> a .arrow {
			right: 16px;
		}
		&:not(.subtree):hover,
		&:not(.subtree):focus {
			> a .arrow {
				right: 14px;
			}
		}
	}

	li.separator {
		> a {
			cursor: default;
		}
	}

	.modules-wrap {
		padding: 10px;
		color: #444;

		p {
			display: block;
			padding: 0;
			font-size: 14px;
		}
		h3 {
			font-size: 18px;
			margin-bottom: 10px;
		}
	}

	.dj-stickylogo {
		position: absolute;
		z-index: 550;

		img {
			max-height: 100%;
			width: auto;
		}
	}

	.dj-stickylogo.dj-align-center {
		position: static;
		text-align: center;
		margin: 10px 0;
	}

	.dj-stickylogo.dj-align-left {
		left: 20px;
		max-height: 50px;
		margin: 5px 0;
	}

	.dj-stickylogo.dj-align-right {
		right: 20px;
		max-height: 50px;
		margin: 5px 0;
	}

	li.dj-up.fullsub {
		position: static !important;

		a.dj-up_a {
			position: relative;
		}
	}

  li.dj-up.fullwidth {
    > .dj-subwrap {
      width: 100vw;
    }
    > .dj-subwrap > .dj-subwrap-in {
      padding: 30px;
      box-sizing: border-box;
    }
  }

	.djsubrow_separator {
		clear: both;
		padding: 0 0 20px;
		margin: 0 0 20px;
	}
}

.dj-megamenu-modern.dj-megamenu-fixed {
	position: fixed;
	-webkit-backface-visibility: hidden;
	-webkit-transform: translateZ(0) scale(1, 1);
	transform: translateZ(0);

	li a.dj-up_a {
		color: #000;
	}
}

.dj-megamenu-modern.dj-megamenu-sticky {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	background: #fff;
	box-shadow: 0px 10px 25px 0px rgba(0, 0, 0, 0.05);
}

.dj-megamenu-modern.verticalMenu {
	height: auto;
	max-width: 360px;
	z-index: 400;

	li.dj-up {
		width: 100%;
	}

	li {
		a.dj-up_a {
			height: auto;
			padding-top: 15px;
			padding-bottom: 15px;

			img {
				max-height: 100%;
				max-width: 32px;
			}

			small.subtitle {
				margin-top: 0;
			}

			>span {
				flex-wrap: nowrap;
			}

			span {
				height: auto;

				.dj-icon {
					vertical-align: middle;
				}

				span.image-title {
					padding: 0 15px;
					margin: 0;
				}
			}
		}

		ul.dj-submenu>li>a .dj-icon {
			max-height: 100%;
			max-width: 32px;
		}
	}

	li:hover,
	li.hover {
		div.dj-subwrap {
			right: auto !important;
			left: 100% !important;
			top: 0;
		}

		div.dj-subwrap.open-right {
			right: auto !important;
			left: 100% !important;
			top: 0;
		}

		div.dj-subwrap.open-left {
			left: auto !important;
			right: 100% !important;
		}
	}

	//arrows
	//css arrows
	&.dj-fa-no {
		li.dj-up > a .arrow {
			&:before {
				transform: rotate(-45deg);
				-webkit-transform: rotate(-45deg);
			}
		}
	}
	//font awesome arrows
  &.dj-fa-0,
	&.dj-fa-1,
	&.dj-fa-5 {
		li.dj-up > a .arrow {
			&:before {
				content: "\f105";
			}
		}
	}
}

// OVERLAY

body.dj-megamenu-overlay {
	position: relative;

	ul.dj-megamenu {
		z-index: 1001;
		position: relative;
	}

	.dj-megamenu-sticky {
		z-index: 1000;
	}
}

body .dj-megamenu-overlay-box {
	background: rgba(0, 0, 0, 0.5);
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999;
	pointer-events: none;
	display: none;
}

// BADGE

.dj-megamenu-modern li a.dj-up_a span.dj-badge,
.dj-megamenu-modern li ul>li>a span.dj-badge {
	float: none;
	text-transform: uppercase;
	display: inline-block;
	padding: .35em .65em;
	font-size: .75em;
	font-weight: 700;
	height: auto;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	vertical-align: baseline;
	border-radius: .25em;
}

// show focus on keyboard navigation only
.dj-megamenu-modern.dj-megamenu-wcag {
	*:focus, //old browsers
	*:focus-visible { //modern browsers
		outline: 2px solid currentColor;
		outline-offset: -2px;
	}
	*:focus:not(:focus-visible) { //remove visible focus for modern
		outline: none;
	}
}

// animations
.dj-megamenu-modern {
	.dj-subwrap {
		animation-duration: 400ms;
		animation-delay: 50ms;
		animation-fill-mode: both;
	}
	&.fast .dj-subwrap {
		animation-duration: 200ms;
	}
	&.slow .dj-subwrap {
		animation-duration: 600ms;
	}

	// hide submenu
	li div.dj-subwrap,
	li.hover div.dj-subwrap li div.dj-subwrap,
	&:not(.dj-megamenu-js) li:hover div.dj-subwrap li div.dj-subwrap {
		display: none;
	}

	// show submenu
	li.hover div.dj-subwrap,
	li.hover div.dj-subwrap li.hover > div.dj-subwrap,
	&:not(.dj-megamenu-js) li:hover div.dj-subwrap,
	&:not(.dj-megamenu-js) li:hover div.dj-subwrap li:hover > div.dj-subwrap {
		display: block;
	}
}