
body {
	overflow-x: clip;
}


.site-header {
	--header-mobile-padding-inline: 0.5em;
	--header-mobile-padding-block: 0.5em;
	--content-size: min(100% - (var(--header-mobile-padding-block) * 2), var(--max-width));
	position: sticky;
	top: 0;
	z-index: 900;
	transition: background-color var(--global-trans);
	background: transparent;
	display: grid;
	grid-template-columns: [full-start] var(--header-mobile-padding-inline) [gutter-start] auto [header-start body-start footer-start] var(--content-size) [header-end body-end footer-end] auto [gutter-end] var(--header-mobile-padding-inline) [full-end];
	grid-template-rows: [full-start gutter-start header-start] var(--header-mobile-padding-block) [header-end body-start] auto [body-end footer-start] var(--header-mobile-padding-block) [footer-end gutter-end full-end];
}

.overlap-header .site-header {
	position: fixed;
	width: 100%;
}

@media (min-width: 1040px){
  .site-header {
		--content-size: min(100% - (var(--window-padding--inline) * 2), var(--max-width));
		grid-template-columns: [full-start] var(--window-padding--inline) [gutter-start] auto [header-start body-start footer-start] var(--content-size) [header-end body-end footer-end] auto [gutter-end] var(--window-padding--inline) [full-end];
		grid-template-rows: [full-start gutter-start header-start] var(--window-padding--inline) [header-end body-start] auto [body-end footer-start] var(--window-padding--inline) [footer-end gutter-end full-end];
  }
}





.site-header__header{
	grid-area: header;
	display: grid;
	justify-content: center;
	align-items: center;
}


.site-header__body {
	grid-area: body;
	display: grid;
	grid-template-columns: [logo-start] auto [logo-end menu-start] 1fr [menu-end];
	grid-template-rows: [logo-start menu-start] auto [logo-end menu-end];
	column-gap: var(--molecule-standard-gap);
	align-items: center;

  position: relative;
	z-index: 10;	
	
	background: rgba(255,255,255,0.9);
	backdrop-filter: blur(10px);
	
	border-radius: var(--global-radius-md);
	
	padding-inline: var(--molecule-standard-gap);
	
	box-shadow: var(--box-shadow);
}

.menu-open .site-header__body {
	backdrop-filter: none;
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* within site-header__body */

	.site-header__logo {
		grid-area: logo;
		padding-block: var(--molecule-small-gap);
	}

	.site-header__logo svg {
		width: 100%;
		max-width: 240px;
	}

	.site-header__menus {
		grid-area: menu;
		display: flex;
		align-items: center;
		justify-content: flex-end;
	  height: 100%;
	}

	.site-header__menu-hamburger {

	}


	.site-header__footer {
		grid-area: footer;
		padding-inline: 1.25em;
		z-index: 1;
		position: relative;
	}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* within site-header__footer */


.site-header__footer .mv-menu {
	grid-area: menu;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	height: 100%;
	padding-top: 1px;
}





/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* main-menu */

.site-header__menu-main {
	position: absolute;
	top: calc(0px - var(--header-mobile-padding-block));
	right: calc(0px - var(--header-mobile-padding-inline));
	width: min(100%, 375px);
	background: white;
	transform: translateX(100%);
	transition: transform var(--global-trans);
	box-sizing: border-box;
}

.menu-open .site-header__menu-main {
	  transform: translateX(0%);
}

.site-header__menu-main:after {
	content: '';
	position: fixed;
	width: 100vw;
	height: 100vh;
	pointer-events: none;
	z-index: -10;
	background: rgba(0,0,0,0.8);
	right: 100%;
	top: 0;
	backdrop-filter: blur(10px);
	opacity: 0;
	transition: opacity var(--global-trans);
}
.menu-open .site-header__menu-main:after {
  opacity: 1;
}


ul.main-menu {
	display: grid;
	align-items: center;
	gap: 0.5em;
}


ul.main-menu .mv-menu__link {
	color: inherit;
	display: grid;
	height: 100%;
}

.mv-menu__link-body {
	padding-inline: 0.375em;
	display: grid;
  grid-template-columns: 1fr auto;
	grid-template-rows: 1fr;
	align-items: center;
}

ul.main-menu .mv-menu__link:hover {
	/* background: #f5f6f9; */
	text-decoration: none;
}

@media (min-width: 1040px) {
	
	ul.main-menu[data-depth="0"] {
		display: flex;
	}

	ul.main-menu {
		height: 100%;
	}
}

@media (max-width: 1040px) {

	ul.main-menu,
	ul.main-menu .mv-menu__level-1 {
		gap: 0;
	}
	


	ul.main-menu .mv-menu__level-1 .mv-menu__link-body {
		border-bottom: 1px solid var(--hs-accent-3);
		padding-block: 0;
	} 
	
	ul.main-menu .mv-menu__level-1 .mv-menu__link-title {
		padding-block: 0.5em;;
	}
	
	ul.main-menu .mv-menu__level-1 .mv-menu__link {
		padding-block: 0;
	}
	

	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
	/* menu--drop-down */

	.site-header__menu-main .main-menu .menu--drop-down {
		display: none;
		margin: 0;
		
	}

	.menu--drop-down {
		display: grid;
		height: auto;
	}

	
	
}



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* hamburger */

.site-header__menu-hamburger {
	height: 100%;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	place-content: center;
}

.menu-hamburger {
	all: unset;
	display: grid;
	align-items: center;
	justify-content: flex-end;
	background: none;
	border: none;
	cursor: pointer;
	font-family: var(--font-family-base);
	transition: color var(--global-trans), background-color var(--global-trans);

	width: 40px;
	height: 100%;
	overflow: clip;
}

.menu-hamburger:hover {
	background: none;
}

.menu-hamburger__pre {
  font-size: var(--font-size-xsm);
  color: var(--link-color);
}

.menu-hamburger__body {
	width: 23px;
	height: auto;
	aspect-ratio: 1 / 1;
	position: relative;
	display: grid;
	place-content: center;
	transition: transform var(--global-trans);
}

.menu-open .menu-hamburger__body {
	transform: rotate(90deg);
}

.menu-hamburger__part {
	width: 1.25em;
	height: 2px;
	
	background: var(--hs-primary);
	position: absolute;
	top: 50%;
	left: 50%;
	transition: all 0.3s ease;
}

.menu-hamburger__body:hover .menu-hamburger__part {
	background: var(--hs-secondary);
}


.menu-hamburger__part-a {
	transform: translateX(-50%) translateY(-6px);
}

.menu-hamburger__part-b {
	transform: translateX(-50%) translateY(0);
}

.menu-hamburger__part-c {
	transform: translateX(-50%) translateY(6px);
}

/* Active state for X shape */
.menu-open  .menu-hamburger__part-a {
	transform: translateX(-50%) translateY(0px) rotate(-45deg) ;
}

.menu-open  .menu-hamburger__part-b {
	opacity: 0;
}

.menu-open .menu-hamburger__part-c {
	transform:  translateX(-50%) translateY(0px) rotate(45deg);
}




@media (min-width: 1040px) {

	.site-header__menu-main {
		position: relative;
		transform: translate(0,0);
		background: transparent;
		width: auto;
		height: auto;
		
	  top: initial;
	  right: initial;
		transition: transform 0ms;
		padding: 0px;
	}
	
	.site-header__menu-main:after {
			display: none;
	}
	
	ul.main-menu {
		display: flex;
	}
	
	.site-header__menu-hamburger {
		display: none;
	}

}





/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* post-header menu */


.site-header__footer ul.mv-menu{
	display: flex;
	align-items: stretch;
	gap: 1px;
	overflow-x: scroll;
	scrollbar-width: none;
	scrollbar-height: none;

	border-radius: 0 0 var(--global-radius-md) var(--global-radius-md);
	height: auto;
	width: fit-content;
	margin-left: auto;
	line-height: 1.2;
	max-width: 100%;
}

.site-header__footer ul.mv-menu li .mv-menu__link {
	min-height: 100%;
	display: grid;
	align-items: center;
}

.site-header__footer ul.mv-menu li {
	min-height: 100%;
	display: grid;
}

@media all and (min-width: 600px) {
	.site-header__footer ul.mv-menu{
		display:flex;
		flex-direction: row;
	}
	.site-header__footer .post-header__link {
	  padding-inline: 1.25em;
	  padding-block: 0.75em;
	}
	.site-header__footer ul.mv-menu li .mv-menu__link {
	  padding-block: 0.75em;
		
	}
}

.site-header__footer .post-header__link {
	font-size: var(--font-size-xsm);
	display: grid;
	gap: 0.5em;
	grid-template-columns: auto 1fr;
	padding-inline: 0.5em;
	padding-block: 0.375em;
	border-radius: 0;
	transition: color var(--global-trans), background-color var(--global-trans), border-color var(--global-trans);

	background-color: var(--hs-secondary);
	color: var(--hs-secondary--text-over);
}

/*
.site-header__footer ul.mv-menu li:first-child .post-header__link{
	border-radius: 0 0 0 var(--global-radius-md);
}

.site-header__footer ul.mv-menu li:last-child .post-header__link {
	border-radius: 0 0 var(--global-radius-md) 0;
}
*/

.site-header__footer .post-header__link:hover,
.site-header__footer .post-header__link.active {
	background: var(--hs-primary);
	color: var(--hs-primary--text-over);
	text-decoration: none;
}


.site-header .has-children ul {
	display: none;
	overflow: clip;
}

@media screen and (min-width: 1040px){
	.header-member-menu{ display: none !important; }
}

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


	.site-header__menu-main > div{
		overflow-y: scroll;
		height: 100%;

        height: 100vh;
        grid-area: none;
		padding: var(--window-padding--inline);
        padding-top: var(--dynamic-header-height);
	}
}