div.mainMenu{
	width: 100%;
	height: calc(var(--headerHeight));
}

.header_menu {
	height: 100%;
	width: 100%;
	z-index: 11;
	position: relative;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
}
.header_menu .col{
	height:var(--menuHeight);
}
.header_menu .logoCol{
	width: max-content;
	flex: none;
	display: flex;
	align-items: center;
}

.header_menuContent{
	position: relative;
	width: 100%;
	height: var(--menuHeight);
	aspect-ratio: 1;
	max-height: 100%;
	z-index: 11;
}

div.header_menu .menuItems{
	position:relative;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
	gap: 2rem;
}

div.header_menu li{
	list-style:none;
	height: 100%;
	position: relative;
}
div.header_menu li:hover{
	/* background-color: var(--themeGreyBg); */
}
div.header_menu li a{
    --txtColor: var(--themePrimaryDark);
    font-size: 16px;
    height: 100%;
    font-weight: 400;
    text-decoration: none;
    text-align: center;
    box-sizing: border-box;
    transition: color .2s ease-in-out;
    display: inline-flex;
    align-items: center;
    min-width: 65px;
    text-transform: none;
    color: var(--txtColor) !important;
}
.jumbo-header:not(.transparent) div.header_menu li:not(.selected) a{
	--txtColor: #fff;
}

div.header_menu li.selected a,
div.header_menu li:hover a{--txtColor: var(--themePrimary);}

div.header_menu li:not(:hover) ul{
	display:none;
}

@media screen and (min-width: 1024px){
	div.header_menu .listBlock{
		position: Absolute;
		left: 50% !important;
		top: calc(100% - 0px);
		min-width: 100%;
		box-sizing: border-box;
		background-color: #fff;
		border-radius: 11px;
		padding: 0;
		z-index: 11;
		display: none;
		transform: TranslateX(-50%);
		border-radius: 15px !important;
	}
}
.menuOverlay{
	display:block;
	opacity:0;
	position:fixed;
	left:0;
	top:0;
	right:0;
	height:0;
	background-color:rgba(0,0,0,0.4);
	z-index:11;
	transition:opacity .3s ease-in-out;
}
.menuOverlay.hover{
	opacity:1.0;
	height:100%;
}

div.header_menu li:hover > .listBlock{
    display: flex;
    align-items: flex-start;
}
div.header_menu .listBlock ul.sub {
    min-width: 260px;
    position: relative;
    /* float: left; */
    padding: 10px 0;
    display: flex;
    margin: 0;
    flex-direction: column;
}

div.header_menu ul.sub li:hover a{
	color: #000;
	color: var(--themePrimary);
	/* background-color: #00000008; */
}
div.header_menu ul.sub li {
    float: left;
    width: auto;
    text-align: left;
    height: auto;
    color: #000;
}
div.header_menu ul.sub a{
	width: 100%;
	line-height: 1em;
	font-weight: 600;
	font-size: 14px;
	padding: 12px 28px;
	color: #000;
	justify-content: space-between;
	text-align: left;
}

div.header_menu ul.sub li:hover a::after{
	transform:translateX(2px);
}

div.header_menu ul.sub li:not(:hover) a{
	color: #000000a6 !important;
}

div.header_menu li.hasButton{
	padding: 0 13px;
}

@keyframes v-fadeIn {
    from {
        opacity: 0; /* Start with transparency */
    }
    to {
        opacity: 1; /* End with full opacity */
    }
}

@media screen and (max-width: 1024px){



	.header_menuContent .row {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
	}
	.header_menuContent .row .menuItems{
		gap: 23px;
	}
}
@media (max-width: 1024px){
	div.header_menu .logoHolder {
		position: absolute;
		width: auto;
		right: 50%;
		height: 72px;
		float: inherit;
		transform: translateX(50%);
		padding: 0;
		transition: all .2s ease-in-out;
	}
	div.menu_button.close + .logoHolder {
		height:100px;
	}
	
	div.header_menu img.logo {
		width:auto;
		max-width: inherit;
		height: 100%;
		padding: 11px;
	}

	div.py-4.mainMenu {
		position: absolute;
		width: 100%;
	}	
	
	body img.scroll_down{
		position: absolute;
		bottom: 30px;
		left: 30px;
		height: 60px;
		z-index: 99;
		display:block;
	}
	
	div.header_menu{    
		width: 100%;
		height: 100vh;
		min-height:100%;
		margin: 0px 0px;
		overflow-y: hidden;
		transition: min-height .5 ease-in,max-height .5 ease-in, padding .5 ease-in !important;
		border-radius:0;
	}
	.mainMenu:not(.shown) div.header_menu {
		max-height: 70px;
		margin: 0;
		box-shadow: none;
		overflow: visible;
		border-radius: 0;
		background-color: transparent;
	}
	div.header_menu.shown{
		min-height: 100%;
		max-height: 100000px;
		padding-bottom: 20px;
		overflow:auto;
	}
	
	div.header_menu li{
		width: 100%;
		margin: 0;
		height: auto;
		border:none;
		padding: 2.3vh 0;
		font-weight: 300;
	}
	div.header_menu li:hover a::after,
	div.header_menu li.selected a::after{
	    /* width: 60%; */
	    /* left: 20%; */
	}
	div.header_menu li img{  
		display:block;
	}
	
	div.mainMenu{
		height: 70px;
		top: 0;
		left: 0;
		width: 100%;
		padding: 0 !important;
		overflow: visible;
		position: absolute;
	}
	div.mainMenu.shown{
		background-color: #ffffff;
		height: 100% !important;
		max-height: 100%;
		position: fixed;
		z-index: 100;
		max-width: 100dvw;
	}
	
	div.mainMenu div.logo_col,
	div.mainMenu div.menu_col{
		margin:0;
		padding:0;
	}
	
	div.mainMenu.shown .header_menu .listMenu {
		padding-bottom: 30px;
		position: absolute;
		top: 50px;
		height: calc(100vh - 56px);
		overflow: auto;
		z-index: 2;
		background-color: #fff;
	}
	
	div.menu_top{		
		padding-bottom: 20px;
	}
	div.mainMenu:not(.shown) .listMenu{
		display: none;
	}
	div.header_menu li{
		min-width: 100%;
		line-height:45px;
		padding:0;
		border-bottom: 1px solid rgba(238, 238, 238, 0.8);
		-webkit-touch-callout: none; /* iOS Safari */
		-webkit-user-select: none; /* Safari */
		-khtml-user-select: none; /* Konqueror HTML */
		-moz-user-select: none; /* Firefox */
		-ms-user-select: none; /* Internet Explorer/Edge */
		user-select: none; /* Non-prefixed version, currently
						  supported by Chrome and Opera */
	}

	div.header_menu li a{
		--txtColor: #000 !important;
		margin: auto;
		display: block;
		text-align: center;
		width: 100%;
		height: auto;
		line-height: 50px;
		font-size: 20px;
		padding: 1.2vh 0;
		font-weight: 300;
	}
	
	div.header_menu li .listBlock ul {
		margin: 0;
		padding: 0;
		width: 100%;
	}
	div.header_menu li .listBlock ul li{
		text-align:Center;		
	}
	div.header_menu li.mobileFirstClick > .listBlock,
	div.header_menu li:hover > .listBlock {
		position: relative;
		display: block;
		padding: 0;
		margin-bottom: 10px;
		box-shadow: none;
		/* float: left; */
		width: 100%;
		left:0 !important;
		background-color: rgba(255,255,255,0.1);
	}

	div.header_menu ul.sub a {
		/* padding: 22px 0; */
		/* color: white; */
		display: inline-flex;
		justify-content: space-between;
	}
	div.header_menu ul.sub li:last-of-type {
		border-bottom:none;
	}

	div.header_menu a.home_but{
		float: inherit;
		display: none;
	}

	img.menu_show{
		display:none;
		position:absolute;
		top:20px;
		right:20px;
	}

	div.menu_button{
		position: absolute;
		width: 40px;
		height: 40px;
		right: 0px;
		top: 10px;
		display: flex;
		cursor: pointer;
		z-index: 110;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 6px;
	}
	div.menu_button div.lines{
		width: 23px;
		height: 2px;
		background: var(--themePrimary);
		-moz-transition: .4s;
		transition: .4s;
		position: relative;
		border-radius: 3px;
	}

	div.menu_button div.lines.frst{/* top: 0px; */}
	div.menu_button div.lines.mid {top: 6px;}
	div.menu_button div.lines.last{
		/* top: 12px; */
	}

	div.menu_button.close div.lines{
		background-color: var(--themeGreyDark);
		transform-origin: 6px 1px;
	}
		
	div.menu_button.close div.lines.mid{opacity:0.0;}
	div.menu_button.close div.lines.frst{
	transform: rotateZ(45deg);
	}
	div.menu_button.close div.lines.last{
	transform: rotateZ(-45deg);
	}
}

@media screen and (min-width: 766px) and (max-width: 790px){		
	
}
@media screen and (min-width: 990px) and (max-width: 1010px){		
	
}

@media screen and (max-width: 1024px){	
	.listLink.hasSub > a::after{
		content:"\f107";
		font-family: "Font Awesome 6 Free";
		font-weight: 600;
		float: right;
	}

	div.header_menu li.hasSub:not(.mobileFirstClick) .listBlock{
		display:none;
	}
}
@media screen and (max-width: 765px){	
	#mainMenu:not(.shown) .logoHolder{
		/* display:none; */
	}
	
	div.menu_button.close + .logoHolder {
		height:70px;
	}
	
}