.nnl-header{
	z-index: 9999 !important;
}

.nnl-header-horizontal{
	height: 0;
	overflow: hidden;
	transition: height 0.2s ease;
}

.nnl-mega-menu-tabs{
	height: 0px;
}

.nnl-mega-menu-tabs-open{
	height: 700px !important;

}

.nnl-mega-menu-bottom-row{
	overflow: hidden;
}

.nnl-header-mega-menu-trigger{
	--icon-size: 18px;
	--line-spacing: 10px;
}

.nnl-header-mega-menu-trigger .elementor-button-content-wrapper{
	width: 100%;
	justify-content: start;
}

.nnl-header-mega-menu-trigger .elementor-button-text{
	padding-left: 5px;
	transition: .4s ease;
	overflow: hidden;
	white-space: nowrap;
	width: 100%;
}

.nnl-header-mega-menu-trigger{
	justify-content: start;
	width: 100px;
	transition: .4s ease;
}

.nnl-header-mega-menu-trigger.nnl-mega-menu-active{
	width: 46px;
}

.nnl-header-mega-menu-trigger.nnl-mega-menu-active  .elementor-button-text{
	width: 0;
	padding-left: 0px;
}

.nnl-header-mega-menu-trigger .elementor-button{
	transition: .4s ease;
}

.nnl-header-mega-menu-trigger.nnl-mega-menu-active .elementor-button{
	background-color: transparent !important;
}

.nnl-header-mega-menu-trigger svg {
	width: var(--icon-size);
	height: var(--icon-size);
}

/* Burger lines */
.nnl-header-mega-menu-trigger svg .line {
	transition: all 0.4s ease;
	transform-origin: center center;
	transform-box: fill-box;
}

/* Top line */
.nnl-header-mega-menu-trigger svg .line-top {
	transform: translateY(0);
}

/* Middle line */
.nnl-header-mega-menu-trigger svg .line-middle {
	opacity: 1;
}

/* Keep middle line hidden when in X state */
.nnl-header-mega-menu-trigger.nnl-mega-menu-active svg .line-middle {
	opacity: 0;
}

/* Bottom line */
.nnl-header-mega-menu-trigger svg.line-bottom {
	transform: translateY(0);
}

/* Forward animation - Stage 1: Lines come together */
.nnl-header-mega-menu-trigger.nnl-mega-menu-active svg .line-top {
	animation: topToCenter 0.4s ease forwards;
}

.nnl-header-mega-menu-trigger.nnl-mega-menu-active svg .line-middle {
	animation: fadeOut 0.4s ease forwards;
}

.nnl-header-mega-menu-trigger.nnl-mega-menu-active svg .line-bottom {
	animation: bottomToCenter 0.4s ease forwards;
}

/* Reverse animation - Going back to burger */
.nnl-header-mega-menu-trigger:not(.nnl-mega-menu-active) svg .line-top {
	animation: topToOriginal 0.4s ease forwards;
}

.nnl-header-mega-menu-trigger:not(.nnl-mega-menu-active) svg .line-middle {
	animation: fadeIn 0.4s ease forwards;
}

.nnl-header-mega-menu-trigger:not(.nnl-mega-menu-active) svg .line-bottom {
	animation: bottomToOriginal 0.4s ease forwards;
}

.no-after::after{
	content: none !important;
}

.nnl-mega-menu-tabs-active .nnl-link-special{
	background-size: 100% 2px !important;
}

@media screen and (max-width: 767px) {
	.nnl-mega-menu-tabs-open{
		max-height: calc( 100vh - 90px ) !important;
		overflow: scroll !important;
		height: 900px !important;
	}

	.nnl-mega-menu-tabs .e-con-inner{
		flex-wrap: nowrap !important;
	}
}

/* Stage 1 animations - moving to center */
@keyframes topToCenter {
	0% {
		transform: translate(0, 0) rotate(0deg);
	}
	50% {
		transform: translate(0, var(--line-spacing)) rotate(0deg);
	}
	100% {
		transform: translate(0, var(--line-spacing)) rotate(45deg);
	}
}

@keyframes fadeOut {
	0% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}

@keyframes bottomToCenter {
	0% {
		transform: translate(0, 0) rotate(0deg);
	}
	50% {
		transform: translate(0, calc(var(--line-spacing) * -1)) rotate(0deg);
	}
	100% {
		transform: translate(0, calc(var(--line-spacing) * -1)) rotate(-45deg);
	}
}

/* Reverse animations - going back to burger */
@keyframes topToOriginal {
	0% {
		transform: translate(0, var(--line-spacing)) rotate(45deg);
	}
	50% {
		transform: translate(0, var(--line-spacing)) rotate(0deg);
	}
	100% {
		transform: translate(0, 0) rotate(0deg);
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 0;
	}
	51% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}

@keyframes bottomToOriginal {
	0% {
		transform: translate(0, calc(var(--line-spacing) * -1)) rotate(-45deg);
	}
	50% {
		transform: translate(0, calc(var(--line-spacing) * -1)) rotate(0deg);
	}
	100% {
		transform: translate(0, 0) rotate(0deg);
	}
}

