.mega-menu-wrapper li {
    list-style: none;
}

.mega-menu-wrapper {
	display: flex;
	flex-direction: column;
	position: relative;
	background-color: #fff;
	box-shadow: 0 6px 10px -2px rgba(0, 0, 0, 0.1);
	z-index: 10;
}

.mRow {
	width: 100vw;
	display: grid;
	grid-template-columns: 330px 1fr 330px;
}

.mCol {
	display: flex;
	align-items: center;
}

.menu-wrapper {
	display: flex;
	gap: 20px;
}

.menu-wrapper li a {
	cursor: pointer;
}

.menu-wrapper ul {
	cursor: initial;
}

.menu-wrapper li a {
	user-select: none; /* Non-standard */
    -webkit-user-select: none; /* Safari */
    -moz-user-select: none; /* Firefox */
    -ms-user-select: none; /* Internet Explorer/Edge */
}

.menu-wrapper a, .menu-wrapper a:hover {
	color: #004c5d;
	position: relative;
	height: 27px;
	padding-bottom: 3px;
	font-size: 18px;
}

.menu-wrapper a::after {
	bottom: 0;
	content: "";
	display: block;
	height: 2px;
	left: 50%;
	position: absolute;
	transition: width 0.3s ease 0s, left 0.3s ease 0s;
	width: 0;
}

.menu-wrapper a:hover::after {
	width: 97%;
	left: 1%;
}

.menu-wrapper .has-submenu:hover::after {
	width: 92% !important;
	left: 0px !important;
}

.click-menu-wrapper::after {
	width: 92% !important;
	left: 0px !important;
}

.bold-menu-item > a {
	font-weight: bold;
}

.bold-menu-item a::after {
	background: #006075;
}

.bold-menu-item, .light-menu-item {
	display: flex;
}

.light-menu-item .has-submenu img {
	filter: saturate(100%) brightness(120%) contrast(70%) opacity(100%);
}

.light-menu-item a::after {
	background: #046b82;
}

.mCol .menu-4 {
	justify-content: center;
	width: 70%;
}


/* Overlay Style */

.overlayOCN {
	position: fixed;
	width: 0px
	height: 0px
	z-index: 11;
	background: rgb(0, 0, 0);
	display: none;
	opacity: 0;
	z-index: 10;
}

.overlayEnable {
	width: 100vw;
	height: 100vh;
}

.overlayActive {
}


/* Submenu Styles */

.sub-menu .has-submenu {
	display: flex;
	justify-content: space-between;
}

.has-submenu {
	display: flex;
	justify-content: space-between;
}

.has-submenu p {
	padding: 0px;
	margin: 0px;
	height: fit-content;
}

.has-submenu img {
	top: 2px;
	position: relative;
    transition: transform 0.1s ease; /* Smooth transition */
}

.sub-level-1-wrapper {
	display: flex;
	justify-content: center;
	width: 100%;
	background-color: #fff;
	position: absolute;
	top: 100%;
	left: 0;
	height: fit-content;
	z-index: 10;
	box-shadow: 0 6px 10px -2px rgba(0, 0, 0, 0.1);
}

.sub-level-1 {
	display: none;
	width: 100%;
	list-style: none;
	margin: 0px !important;
	padding-top: 20px !important;
	padding-bottom: 5px;
	max-height: 70vh;
	overflow-y: scroll;
	position: relative;
}

.sub-level-1-height {
	height: 100%;
}

.sub-level-1 > li {
	padding-bottom: 20px;
	width: fit-content;
	display: grid;
}

.sub-level-1 .has-submenu {
	width: 150px;
}

.sub-level-2 {
	position: absolute;
	overflow-y: scroll;
	max-height: 58vh;
	top: 0;
	left: 0;
	padding-top: 20px;
	width: 48vw;
}

.rotate {
    transform: rotate(180deg);
}

.full-width-submenu {
    position: absolute; /* Position it absolutely */
    left: 0; /* Align to the left */
    right: 0; /* Align to the right */
    background: white; /* Background color */
    z-index: 100; /* Ensure it appears above other content */
    display: none; /* Hide by default */
}

/* Logo Style */
.nav-logo {
	margin-left: 150px;
}

.nav-logo img {
	transition: ease-in-out 0.2s;
	max-height: 130px;
	max-width: 130px;
	padding: 10px;
}

/* Woocommerce Products Grid */
.navGridWrapper {
	display: grid;
	grid-template-columns: repeat(auto-fill, 190px);
	overflow-y: scroll;
	height: fit-content;
	grid-template-rows: repeat(auto-fill, 230px);
	top: 0;
	left: 0;
}

.navGrid {
	margin: 10px;
	border-radius: 10px;
	background: rgb(0, 76, 93);
	box-shadow: rgba(0, 0, 0, 0.13) 0px 0px 3px, rgba(0, 0, 0, 0.2) 0px 0px 6px, rgba(0, 0, 0, 0.5) 0px 0px 9px;
	transition: 0.15s ease-in-out;
	cursor: pointer;
	width: 150px;
	height: 206px;
	opacity: 1;
}

.navGrid a {
	color: #fff;
	font-weight: normal;
	text-align: center;
	justify-content: center;
	height: 100%;
	display: block;
	padding-bottom: 0px;
	font-size: 16px;
	text-decoration: none;
}

.navGrid a:hover {
	height: 100%;
	color: #fff;
	padding-bottom: 0px;
	font-size: 16px;
}

.navGrid a:focus {
	color: #fff;
}

.navGrid a:after {
	display: none !important;
}

.navGrid img {
	border-radius: 10px;
	width: 150px;
	transition: 0.15s ease-in-out;
}

.gridText {
	margin: 4px 0px 0px;
}

.productLink {
	padding-bottom: 18px;
}

.productLink > a {
	text-decoration: none;
}

/* Text Area Style */

.addressText {
	display: flex;
	justify-content: center;
	max-width: 250px;
	text-align: center;
	font-size: 18px;
}

.addressText > p {
	margin: 0px;
	padding: 0px;
}

/* Hamburger Menu */

.hamburger_menu {
	display: none;
}

.burger {
	height: 3em;
	width: 3em;
	position: relative;
	font-size: 12px;
	cursor: pointer;
	-webkit-transition: .2s all;
	-o-transition: .2s all;
	transition: .2s all;
	-webkit-tap-highlight-color: transparent; 
	margin: 18px 25px;
	z-index: 12;
	box-shadow: none;
}

.burger img {
	position: absolute;
	left: 210px;
	height: 30px;
	top: 2px;
	display: none;
	transition: ease-in-out 0.37s,
		opacity ease-in-out 0.2s;
	opacity: 0;
}

.burgerReturnLeft {
	left: 210px !important;
}

.burgerReturnActive {
	display: block !important;
}

.burger .burger-lines:after {
	left: 0;
	top: -1em; 
}

.burger .burger-lines:before {
	top: 1em; 
}

.burger:after {
	content: '';
	display: block;
	position: absolute;
	height: 150%;
	width: 150%;
	top: -25%;
	left: -25%; 
}

.burger .burger-lines {
	top: 50%;
	margin-top: -0.125em; 
}

.burger .burger-lines, .burger .burger-lines:after, .burger .burger-lines:before {
	pointer-events: none;
	display: block;
	content: '';
	width: 74%;
	border-radius: 0.25em;
	background-color: #004c5d;
	height: 0.25em;
	position: absolute;
	-webkit-transform: rotate(0);
	-ms-transform: rotate(0);
	transform: rotate(0); 
}

.burger.burger-slip .burger-lines:after, .burger.burger-slip .burger-lines:before {
	width: 3em; 
}

.burger.burger-slip .burger-lines, .burger.burger-slip .burger-lines:after, .burger.burger-slip .burger-lines:before {
	-webkit-transition: all .2s;
	-o-transition: all .2s;
	transition: all .2s; 
}

.burger.burger-slip.open .burger-lines {
	-webkit-transform: translateX(-2em);
	-ms-transform: translateX(-2em);
	transform: translateX(-2em);
	background-color: transparent; 
}

.burger.burger-slip.open .burger-lines:before, .burger.burger-slip.open .burger-lines:after {
	left: 0.5em;
	top: 0px; 
}

.burger.burger-slip.open .burger-lines:before {
	width: 2em;
	-webkit-transform: translateX(2em) rotate(135deg);
	-ms-transform: translateX(2em) rotate(135deg);
	transform: translateX(2em) rotate(135deg); 
}

.burger.burger-slip.open .burger-lines:after {
	width: 2em;
	-webkit-transform: translateX(2em) rotate(-135deg);
	-ms-transform: translateX(2em) rotate(-135deg);
	transform: translateX(2em) rotate(-135deg); 
}

/* Mobile Menu */
.enableMenu {
	display: flex !important;
	flex-direction: column;
}
.openMenu {
	left: 0px !important;
}
.openMenuSub {
	left: -27vw !important;
}
.fadeInMenu {
	opacity: 1 !important;
}
.fadeOutMenu {
	opacity: 0 !important;
}

/* At Media Rules */
@media (max-width: 1350px) {
    .mRow {
		grid-template-columns: auto 1fr 90px;
		width: 1020px;
		justify-content: center;
		align-self: center;
	}
	.menu-wrapper a, .menu-wrapper a:hover {
		font-size: 16px;
	}
	.menu-wrapper.menu-2 {
		min-width: max-content;
	}
	.nav-logo {
		margin-right: 50px;
		margin-left: 0px;
	}
	.nav-logo img {
		max-height: 120px;
		max-width: 120px;
	}
	.mCol .menu-4 {
		justify-content: right;
		width: 100%;
	}
	.sub-level-1 {
		width: 1020px;
		padding-left: 180px !important;
		padding-right: 90px !important;
	}
	.sub-level-2 {
		margin: 0px 0px 0px 380px !important;
		width: calc(1020px - 429px);
	}
}

@media (max-width: 1150px) {
	/* Prevent body scrolling */
	.mega-menu-wrapper {
		z-index: auto;
	}
	
	.noScroll {
		overflow: hidden !important;
	}
	
	.mRow {
		width: auto;
		align-self: normal;
		justify-items: center;
	}
	.hamburger_menu {
		display: flex;
		justify-content: center;
		align-content: center;
	}
	.bold-menu-item {
		opacity: 1;
		transition: ease-in-out 0.4s;
	}
	.bold-menu-item > a, .bold-menu-item > a:hover, .light-menu-item > a, .light-menu-item > a:hover {
		display: flex;
		width: 120px !important;
		line-height: 22px;
		height: fit-content;
	}
	.menu-wrap-2 {
		justify-content: center;
	}
	.menu-wrap-3 {
		position: absolute;
		display: none;
		left: -310px;
		transition: ease-in-out 0.4s;
	}
	.mCol .menu-3 {
		flex-direction: column;
		background: #fff;
		z-index: 11;
		height: 100vh;
		padding: 110px 40px 0px 40px;
		width: 310px;
		align-items: center;
		transition: ease-in-out 0.4s;
	}
	.nav-logo {
		margin: 0px;
	}
	.nav-logo img {
		max-height: 90px;
		max-width: 90px;
		padding: 10px;
	}
	.has-submenu img {
		top: 0px;
	}
	.menu-wrapper > li > .has-submenu > img {
		transform: rotate(270deg);
	}
	
	.menu-wrapper > li > .has-submenu > .rotate {
		transform: rotate(90deg) !important;
	}
	.sub-level-1 {
		padding: 90px 40px 0px 50px !important;
		height: 100vh !important;
		box-shadow: none;
		max-height: none;
		width: auto;
		overflow: visible;
		left: 215px;
		opacity: 0;
		transition: ease-in-out 0.4s;
	}
	.sub-level-1 .has-submenu {
		width: 130px;
	}
	.sub-level-1-wrapper {
		top: 20px;
		justify-content: center;
		background-color: transparent;
		overflow: hidden;
	}
	.sub-level-2 {
		margin: 0px 0px 0px 185px !important;
		width: 54vw;
		margin-top: 80px !important;
		max-height: 100vh;
		padding-bottom: 160px;
		left: 3vw;
		padding-top: 10px;
	}
	.navGridWrapper {
		justify-content: center;
	}
	.addressText {
		font-size: 17px;
		max-width: 48vw;
	}
}