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

.header_menu .menuRow{
    display: flex !important;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
}

.header_menu *{
	/* font-family: 'Metropolis, sans-serif'; */
}
.header_menu {
	height: 100%;
	width: 100%;
	z-index: 11;
	position: relative;
	padding: 0;
	/* border-bottom:var(--themeBorder); */
	background-color: var(--themeBg);
}
.header_menu .col{
	height:var(--menuHeight);
	width: auto;
	flex: none;
}
.header_menu .col-auto{
	width:auto;
	flex:1;
	margin: 0;
	display: flex;
	justify-content: space-between;
}

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

@media screen and (max-width: 1250px){
	.header_menuContent.hasTriangle{
		padding: 2rem !important;
	}
}

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

div.header_menu li{
	list-style:none;
	height: var(--menuHeight);
	position: relative;
	display: inline-flex;
	align-items: center;
}
div.header_menu li:hover{
	/* background-color: var(--themeGreyBg); */
}
div.header_menu li a:not(.btn){
    --txtColor: var(--themePrimaryDark);
    font-size: 15px;
    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: 95px; */
    text-transform: uppercase;
    color: var(--txtColor);
    padding-top: 10px;
}
div.header_menu .btn{
	text-transform: uppercase !important;
	font-weight:400;
	font-size:15px;
	margin-top: 10px;
}
div.header_menu .btn-primary{
    --txtColor: var(--themePrimary);
}
div.header_menu li.selected:not(.vacatureLink) a,
div.header_menu li:hover a:not(.btn){
	letter-spacing: 0.001em;
	/* text-decoration: underline; */
	/* text-underline-offset: 1.1rem; */
	/* text-decoration-thickness: 2px; */
}

div.header_menu li.hasSub:hover a{
	color: var(--themePrimaryLight) !important;
}
div.header_menu li:not(:hover) ul{
	display:none;
}


div.header_menu li a:not(.btn):after{
	content:'';
	position:absolute;
	top: calc(100% - 4px);
	left:0;
	width:0;
	height: 2px;
	background-color:var(--themePrimary);
	transition: all .2s ease-in-out;
}

div.header_menu li.selected a:not(.btn):after,
div.header_menu li:hover a:not(.btn):after{
	width: 100%;
}

div.header_menu .menuItems + div.menuItems{
	gap: 0.5rem;
	justify-content: end;
}

@media screen and (min-width: 1024px){
	div.header_menu .listBlock{
		position: Absolute;
		left: 50% !important;
		top: calc(100% + -9px);
		min-width: 100%;
		box-sizing: border-box;
		background-color: var(--themePrimaryLight);
		border-radius: 11px;
		padding: 0;
		z-index: 11;
		display: none;
		transform: TranslateX(-50%);
		border-radius: var(--themeBorderRadius) !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 li:hover > .listBlock::before{
	content:'';
	position: absolute;
	border-radius:50%;
	--size: 20px;
	height: var(--size);
	width: var(--size);
	background-color: var(--themePrimaryLight);
	left: calc(50% - (var(--size)/2));
	top: calc(var(--size) / -2);
}

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

div.header_menu ul.sub li:hover a{
	color: #000;
	color: #000 !important;
	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: 18px 28px;
	color: #000;
	justify-content: space-between;
	text-align: left;
}
div.header_menu ul.sub a::after{
	content:'';
	display:inline-block;
	background-image:url(../images/icons/arrow-right.svg);
	background-position: center right;
	background-size:contain;
	background-repeat:no-repeat;
	width: 1.4em;
	height: 0.8em;
	opacity: 1;
	transition:all .15s ease-in-out;
}

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

div.header_menu ul.sub li:not(:hover) a:not(.button){
	color: #0a411b !important;
}

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

.topBar{
	position: relative;
	width: 100%;
	height:var(--topbarHeight);
	background-color: var(--themePrimary);
	z-index: 12;
	/* box-shadow: inset 0px -6px 5px 0 rgb(0 0 0 / 7%); */
}
.topBar p{
	margin:0;
	font-size: 14px;
	color:var(--themePrimaryDark);
}
.topBar .row{
	display:flex;
	align-items:center;
}
.topBar .row div:nth-of-type(2){
	text-align:right;
}

.topBar .row div{
	height:var(--topBarHeight);
	display: inline-flex;
	align-items: center;
}

.menuBars{
	position:Absolute;
	height: max-content;
	top: calc(100%);
	left:0;
	transform: translateY(-26%);
	width: 92%;
	max-width: 1024px;
	z-index: 9;
}
.menuBars svg{
	height:100%;
	width: 100%;
}

.topBar .container {
	height: var(--topbarHeight);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.topBar .container p{
	margin:0;
}
.topBar .container *{
	color: var(--themePrimaryDark);
}
.topBar .container > div{
	height: 100%;
	width: 100%;
	margin: 0;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}
.topBar .container div svg{
	margin-top:-1px;
	height: 21px;
}

.topBar .container a{
	/* font-weight:bold; */
	margin-left:10px;
	font-size: 14px;
	display:inline-flex;
	gap:10px;
	align-items:center;
	margin-bottom: 1px;
}
.topBar ul{
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 10px;
}
body .topBar li{
	height:100%;
	padding: 0 10px;
}
body .topBar li a{
    font-weight: 300 !important;
	color:var(--themePrimaryDark);
    font-size: 14px;
}

.vacatureLink{
	/* padding-right: 22px !important; */!i;!;
	position:Relative;
	gap: 4px;
}
.vacatureLink span{
	/* position: absolute; */
	font-family: 'Metropolis', sans-serif;
	/* top: 27%; */
	right: 0px;
	text-align: center;
	padding: 5px 0;
	width: 20px;
	height: 20px;
	font-size: 11px;
	line-height: 9px;
	background-color: #fff;
	border-radius: 50%;
	opacity: 0;
	color: var(--themeDark);
	border: 1px solid var(--themePrimary);
	font-weight: 100;
	animation: v-fadeIn .2s ease-in forwards;
	/* transform: translateY(calc(-1px - 50%)); */
}

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

@media screen and (min-width: 1024px){
	.mainMenu{
	}
	div.header_menu .logoHolder {
		width: 180px;
		height: 100%;
		display: inline-flex;
		position: relative;
		margin-top: 0;
		align-items: center;
		justify-content: flex-start;
	}
	div.header_menu .logoHolder img{
		width: 100%;
	}
	div.header_menu .button-group{
		height: 41px;
	}
	div.header_menu .button-group .button{
		color:white;
		transition: all .2s ease-in-out;
		text-decoration: none !important;
	}
	div.header_menu .button-group .button:hover{
		background-color:transparent;
	}
	div.header_menu .button-group .button.extra{aspect-ratio: 1;}
}

@media (max-width: 1024px){
	div.header_menu .logoHolder {
		position: absolute;
		width: auto;
		left: 50%;
		height: 62px;
		float: inherit;
		transform: translateX(-50%);
		padding: 0;
		transition: all .2s ease-in-out;
		display: block;
	}
	div.menu_button.close + .logoHolder {
		height:100px;
	}
	
	body div.header_menu img.logo {
		width:auto;
		max-width: inherit;
		height: 100%;
		padding: 11px;
		max-height: 100%;
		margin-top: 3px;
	}

	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;
		position: relative;
	}
	.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: var(--themeBg);
		height: 100% !important;
		max-height: 100%;
		position: fixed;
		z-index: 100;
		max-width: 100dvw;
	}
	div.mainMenu.shown .logoHolder{
        left: 50%;
	}
	
	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: 100px;
		height: calc(100vh - 116px);
		overflow: auto;
		z-index: 2;
		background-color: var(--themeBg);
		width: 100%;
	}
	
	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 rgb(238 238 238 / 33%);
		-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{
		float: inherit;
		position: relative;
		margin: auto;
		display: block;
		text-align: center;
		width: max-content;
		height: auto;
		line-height: 50px;
		font-size: 20px;
		padding: 2.3vh 0;
		font-weight: 100;
	}
	
	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;
	}

	div.mainMenu {
		/* background: linear-gradient(180deg, rgb(0 0 0 / 48%) 0%, rgba(0, 0, 0, 0) 100%); */
	}
}