body {
	--dynamic-header-height: 10.5rem;
}

@media (min-width: 1040px) {
	body {
		--dynamic-header-height: 13rem;
	}
}

.body-wrapper {
	overflow-x: hidden;
	width: 100%;
	position: relative;
}

.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%;
}

.modal-open .site-header {
	opacity: 0 !important;
}

.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;
	min-height: 80px;
	background: rgba(255,255,255,1);
	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;
}

.site-header__menus {
	grid-area: menu;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
}

.site-header__footer {
	grid-area: footer;
	padding-inline: var(--molecule-standard-gap);
	z-index: 1;
	position: relative;
}


.site-header__logo-wrap {
	grid-area: logo;
	padding-block: var(--molecule-small-gap);
	position: relative;
}

.site-header__logo-link {
	display: block;
}

.site-header__logo {
	display: block;
	width: 100%;
	max-width: 240px;
	height: auto;
}


.site-switcher {
	position: absolute;
	top: 100%;
	left: -1em;
	width: 100%;
	display: grid;
	max-width: 183px;
	padding-block: 1px;
	gap: 1px;
}

.site-switcher__body {
	height: 0;
	overflow: clip;
	gap: 1px;
	display: grid;
}

.open > .site-switcher__body {
	height: auto;
}

.site-switcher__link {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-inline: 1em;
	padding-block: 0.25em;
	background: white;
}

.site-switcher__logo {
	width: 100%;
	height: auto;
	display: block;
	filter: grayscale(1);
	transition: filter var(--global-trans), opacity var(--global-trans);
	opacity: 0.5;
}

.site-switcher__link:hover .site-switcher__logo {
	filter: grayscale(0);
	opacity: 1;
}

.site-header__switcher-activator {
	border: none;
	border-radius: 0 0 1em 1em;
	background: rgba(255,255,255,0.8);
	padding-block: 0.25em;
	padding-inline: 1em;
	cursor: pointer;
	color: var(--hs-primary);
	display: flex;
	align-items: center;
	justify-content: center;
}

.site-header__switcher-activator .mv-icon {
	display: block;
	width: 16px;
	height: 16px;
	transition: transform var(--global-trans);
	color: inherit;
}

.open .site-header__switcher-activator .mv-icon {
	transform: rotate(180deg);
}

.open .site-header__switcher-activator {
	background: rgba(255,255,255,1);
}

.open .site-header__switcher-activator:hover,
.site-header__switcher-activator:hover {
	background-color: var(--hs-secondary);
}


.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%);
	visibility: hidden;
	pointer-events: none;
	transition: transform var(--global-trans), visibility var(--global-trans);
	height: 100vh;
	grid-area: none;
	box-sizing: border-box;
}

.menu-open .site-header__menu-main,
.site-header__menu-main.is-open {
	transform: translateX(0%);
	visibility: visible;
	pointer-events: auto;
}

.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,
.site-header__menu-main.is-open:after {
	opacity: 1;
}


.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);
}

.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);
}


.hs-menu-wrapper {
	padding: var(--molecule-standard-gap);
}

.hs-menu-wrapper ul {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

.hs-menu-wrapper ul li {
	padding: 0;
	margin: 0;
}

.hs-menu-wrapper ul li a {
	color: inherit;
	display: block;
	padding-block: 0.375em;
}

.hs-menu-wrapper ul ul.hs-menu-children-wrapper {
	padding-left: var(--atom-standard-gap);
	border-left: 3px solid rgba(255,255,255,0.25);
}

ul.mv-menu {
	padding: 0;
	margin: 0;
	list-style-type: none;
}

ul.mv-menu li {
	padding: 0;
	margin: 0;
	position: relative;
}

ul.mv-menu li .mv-menu__link {
	color: inherit;
	display: block;
	padding-block: 0.375em;
}

ul.mv-menu ul.hs-menu-children-wrapper {
	padding-left: var(--atom-standard-gap);
	border-left: 3px solid rgba(255,255,255,0.25);
}

.member-menu__item .mv-menu,
.mv-menu.menu--js-accordion .mv-menu {
	overflow: hidden;
}

.mv-menu__link > .mv-menu__link-body {
	overflow: clip;
}

.mv-menu__link-body {
	padding-inline: 0.375em;
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: 1fr;
	align-items: center;
}

.mv-menu__link-body > .mv-menu__link-title {
	display: flex;
	align-items: center;
}

.mv-menu__link > .mv-menu__link-body .menu-icon {
	padding-inline: 10px;
	border-left: 1px solid var(--hs-accent-3);
	overflow: visible;
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	line-height: 0;
}

.mv-menu__link > .mv-menu__link-body .menu-icon svg {
	transition: transform var(--global-trans);
	display: block;
}

.menu-open > .mv-menu__link > .mv-menu__link-body .menu-icon svg {
	transform: rotate(45deg);
}

ul.main-menu {
	display: grid;
	align-items: center;
	gap: 0.5em;
}

ul.main-menu .mv-menu__link {
	color: inherit;
	display: grid;
	height: 100%;
}

ul.main-menu .mv-menu__link:hover {
	text-decoration: none;
}

.menu--drop-down {
	display: grid;
	height: auto !important;
}

.site-header__menu-main .main-menu .menu--drop-down {
	display: none;
	margin: 0;
}

ul.mv-menu.menu--drop-down li.menu-open > ul.mv-menu,
ul.mv-menu.menu--drop-down li:hover > ul.mv-menu {
	background-color: blue;
	border-radius: 0;
}

ul.mv-menu.menu--drop-down li ul li {
	padding: 0;
	margin: 0;
}

ul.mv-menu.menu--drop-down li ul li .mv-menu__link {
	background-color: var(--hs-white);
}

ul.mv-menu.menu--drop-down li ul li .mv-menu__link:hover {
	color: var(--hs-primary--text-over);
	background-color: var(--hs-primary);
}


.site-header__footer ul.mv-menu {
	display: flex;
	flex-direction: row;
	gap: 1px;
	justify-content: flex-end;
}

.site-header__footer ul.mv-menu li .mv-menu__link {
	padding-inline: 0.65em;
}

.site-header__footer .post-header__link {
	font-size: var(--font-size-xsm);
	display: grid;
	gap: 0.5em;
	grid-template-columns: auto 1fr;
	padding-inline: 1.25em;
	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;
}


@media (max-width: 1040px) {
	ul.main-menu,
	ul.main-menu .mv-menu__level-1 {
		gap: 0;
	}

	ul.main-menu:not([data-depth="0"]) {
		border-top: 3px solid var(--hs-accent-3);
		border-left: 4px solid var(--hs-accent-3);
	}

	ul.main-menu .mv-menu__link > .mv-menu__link-body {
		padding-inline: 0;
	}

	ul.main-menu:not([data-depth="0"]) .mv-menu__link > .mv-menu__link-body {
		padding-inline: 1em 0;
	}

	ul.main-menu .mv-menu__level-1 .mv-menu__link {
		padding-block: 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;
	}

	.site-header__menu-main > div {
		overflow-y: scroll;
		height: 100vh;
		grid-area: none;
		padding: var(--window-padding--inline);
		padding-top: var(--dynamic-header-height, 13rem);
	}
}

@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] auto [footer-end] var(--window-padding--inline) [gutter-end full-end];
	}

	.site-header__menu-main {
		position: relative;
		transform: translate(0,0);
		background: transparent;
		width: auto;
		height: auto;
		top: initial;
		right: initial;
		visibility: visible;
		pointer-events: auto;
		transition: transform 0ms;
		padding: 0px !important;
	}

	.site-header__menu-main:after {
		display: none;
	}

	.site-header__menu-hamburger {
		display: none;
	}

	.header-member-menu {
		display: none !important;
	}

	ul.main-menu {
		height: 100%;
	}

	ul.main-menu[data-depth="0"] {
		display: flex !important;
	}

	.main-menu .mv-menu__level-1 > a > .mv-menu__link-body > .mv-menu__link-title {
		padding-block: 0.75em;
	}

	.mv-menu__level-2 .mv-menu__link-title {
		padding-inline: 0.75em;
	}

	ul.mv-menu.menu--drop-down li ul {
		display: none;
	}

	ul.mv-menu.menu--drop-down li.menu-open > ul,
	ul.mv-menu.menu--drop-down li:hover > ul {
		width: max-content;
		gap: 0;
		display: grid;
		grid-template-columns: 1fr;
	}

	ul.mv-menu.menu--drop-down li:hover > ul.mv-menu {
		z-index: 11;
		position: absolute;
		left: -0.75em;
		overflow: clip;
		background-color: blue;
		box-shadow: var(--box-shadow);
		border-radius: 0 0 var(--global-radius-md) var(--global-radius-md);
		height: auto;
	}
}

@media (max-width: 600px) {
	.site-header__footer {
		padding-inline: 1em !important;
		display: flex !important;
	}

	.site-header__footer ul.mv-menu li:first-child .post-header__link {
		border-radius: 0 !important;
	}

	.site-switcher {
		top: calc(100% + 27px);
	}
}
