header.nav {
	min-width: var(--min-width);
}
header.nav > div > div {
	display: grid;
	grid-auto-flow: column;
	column-gap: 0px;
	position: relative;
	transition: all var(--transition-duration) var(--transition-timing) 0s;
}
header.nav .logo {
	place-self: stretch stretch;
	display: grid;
	grid-template: 1fr / 1fr;
	place-items: center center;
	transition: all var(--transition-duration) var(--transition-timing) 0s;
}
header.nav .logo a {
	display: block;
	line-height: 0;
}
header.nav .logo:has(a:hover) {
	border-color: var(--color-3);
}
header.nav .logo a img:hover {
	transform: scale(1.1);
}
header.nav .logo img {
	transition: width var(--transition-duration) var(--transition-timing) 0s, transform var(--transition-duration) var(--transition-timing) 0s;
}
header.nav-fix .logo a {
	top: var(--logo-fix-top);
}
header.nav ul {
	list-style: none;
}
header.nav ul > li, header.nav ul > li > a {
	transition: all var(--transition-duration) var(--transition-timing) 0s;
}
header.nav .menu-lev-1 > li, header.nav .menu-lev-2 > li {
	position: relative;
}
header.nav ul > li > a {
text-decoration: none;
}
header.nav .menu li > span {
	cursor: default;
}
header.nav .menu-arrow {
	position: absolute;
	transition: all var(--transition-duration) var(--transition-timing) 0s;
}

header.nav .menu-add > a {
	display: grid;
	grid-template: auto / calc(25px / var(--menu-add-ratio)) max-content;
	column-gap: calc(15px / var(--menu-add-ratio));
	place-items: center start;
}
header.nav .menu-add > a > span {
	font-weight: 300;
	color: var(--color-1);
	transition: color var(--transition-duration) var(--transition-timing) 0s;
}
header.nav .menu-add > a:hover > span {
	color: var(--color-3);
}
header.nav .menu-add > a > img {
	width: 100%;
}

header.nav .nav-add {
	display: grid;
	grid-template: max-content / repeat(var(--social-count), var(--social-width));
	column-gap: var(--social-gap);
	place-items: center center;
	line-height: 0;
}
header.nav .nav-add img {
	transition: transform var(--transition-duration) var(--transition-timing) 0s;
}
header.nav .nav-add a:hover > img {
	transform: scale(1.3);
}


header.nav .menu-resp {
	place-self: center right;
	grid-area: 1 / 3 / 2 / 4;
}
header.nav .menu-lev-1 li {
	display: block;
}
header.nav .menu {
	display: block;
	position: fixed;
	z-index: 10;
	top: 0px;
	right: -105vw;
	width: var(--menu-width);
	height: 100%;
	padding-bottom: 20px;
	padding-left: 20px;
	padding-right: 20px;
	overflow-y: auto;
	background-color: var(--menu-background);
	box-shadow: var(--menu-shadow);
	transition: right calc(var(--transition-duration) * 2) var(--transition-timing) 0s, width var(--transition-duration) var(--transition-timing) 0s, padding-top var(--transition-duration) var(--transition-timing) 0s;
}
header.nav > div > div.menu-open .menu {
	right: 0vw;
	min-width: calc(var(--grid-container-pos) + 42px);
}
header.nav .menu-lev-2, header.nav .menu-lev-3 {
	overflow: hidden;
	margin-left: 2px;
	max-height: 0px;
	transition: max-height calc(var(--transition-duration) * 2) var(--transition-timing) 0s;
}
header.nav .menu-lev-2 > li:first-child, header.nav .menu-lev-3 > li:first-child {
	margin-top: 3px;
}
header.nav li.open > .menu-lev-2, header.nav li.open > .menu-lev-3 {
	max-height: 1000px;
}
header.nav .menu-lev-1 li {
	padding: 5px 0 5px 0;
}
header.nav .menu-lev-1 li > a, header.nav .menu-lev-1 li > span {
	text-align: left;
}
header.nav .menu-lev-1 li > a {
	color: var(--menu-color);
}
header.nav .menu-lev-1 li > span {
	color: var(--menu-span-color);
}
header.nav .menu-lev-1 li.current > a {
	color: var(--menu-curr-color) !important;;
}
header.nav .menu-lev-1 li > a:hover {
	color: var(--menu-color-hover) !important;
}
header.nav a.menu-sub {
	margin-right: 40px;
}
header.nav .menu-lev-1 > li > a {
	font-size: var(--menu1-font-size);
	font-weight: var(--menu1-font-weight);
	text-transform: var(--menu1-text-transform);
}
header.nav .menu-lev-1 > li.current > a {
	font-size: var(--menu1-curr-font-size) !important;
	font-weight: var(--menu1-curr-font-weight) !important;
}
header.nav .menu-lev-1 > li > span {
	font-size: var(--menu1-span-font-size);
	font-weight: var(--menu1-span-font-weight);
	text-transform: var(--menu1-text-transform);
}
header.nav .menu-lev-2 {
	padding: 0px 20px 0px 30px;
	border-left: var(--menu2-border);
}
header.nav .menu-lev-2 > li > a {
	font-size: var(--menu2-font-size);
	font-weight: var(--menu2-font-weight);
	text-transform: var(--menu2-text-transform);
}
header.nav .menu-lev-2 > li.current > a {
	font-size: var(--menu2-curr-font-size) !important;
	font-weight: var(--menu2-curr-font-weight) !important;
}
header.nav .menu-lev-2 > li > span {
	font-size: var(--menu2-span-font-size);
	font-weight: var(--menu2-span-font-weight);
	text-transform: var(--menu2-text-transform);
}
header.nav .menu-lev-3 {
	padding-left: 30px;
	border-left: var(--menu3-border);
}
header.nav .menu-lev-3 > li > a {
	font-size: var(--menu3-font-size);
	font-weight: var(--menu3-font-weight);
	text-transform: var(--menu3-text-transform);
}
header.nav .menu-lev-3 > li > span {
	font-size: var(--menu3-span-font-size);
	font-weight: var(--menu3-span-font-weight);
	text-transform: var(--menu3-text-transform);
}
header.nav .menu-arrow {
	right: 0%;
	top: 5px;
	box-sizing: content-box;
	padding: 7px 5px 5px 5px;
	background-color: transparent;
	border-radius: 100%;
	cursor: pointer;
	transform: rotate(0deg)
}
header.nav .menu-arrow:hover {
	background-color: var(--menu-arrow-background-hover);
	box-shadow: var(--menu-arrow-shadow);
}
header.nav .menu-arrow > svg {
	stroke: var(--menu-arrow-color);
}
header.nav .menu-arrow:hover > svg {
	stroke: var(--menu-arrow-color-hover);
}
header.nav li.open > .menu-arrow {
	transform: rotate(180deg);
}
header.nav .menu-resp-mask {
	z-index: 11;
	position: fixed;
	right: 0px;
	top: 0px;
	width: var(--menu-width);
	background-color: var(--menu-resp-background);
	transform: scale(0);
	min-width: calc(var(--grid-container-pos) + 42px);
}
header.nav > div > div.menu-open .menu-resp-mask {
	transform: scale(1);
	transition: transform var(--transition-duration) var(--transition-timing) calc(2 * var(--transition-duration));
}
header.nav > div > div.menu-open .menu-resp {
	z-index: 12;
	position: fixed;
	right: 0px;
	top: 0px;
	display: grid;
	grid-template: 1fr / 1fr;
	place-items: center right;
	transform: translateX(calc(0px - var(--grid-container-pos)));
}
header.nav .menu-mobile {
	height: 14px;
	width: 22px;
	display: grid;
	grid-template: 2px 2px 2px / 100%;
	row-gap: 4px;
	cursor: pointer;
	transition: transform var(--transition-duration) var(--transition-timing) 0s;
}
header.nav-abs .menu-mobile {
	transform: scale(var(--menu-mobile-scale));
}
header.nav-abs > div > div.menu-open .menu-mobile {
	transform: scale(1);
}
header.nav .menu-mobile > div {
	background-color: var(--menu-mobile-close-color);
	height: 2px;
	width: 22px;
}
header.nav > div > div.menu-open .menu-mobile > div {
	background-color: var(--menu-mobile-open-color);
	height: 2px;
	width: 22px;
}
header.nav .menu-mobile > div:nth-child(2) {
	transition: opacity 0.6s ease 0.3s
}
header.nav > div > div.menu-open .menu-mobile > div:nth-child(2) {
	transition: opacity 0.3s ease 0s
}
header.nav .menu-mobile > div:nth-child(2) {
	opacity: 1;
}
header.nav > div > div.menu-open .menu-mobile > div:nth-child(2) {
	opacity: 0;
}
header.nav .menu-mobile > div:first-child {
animation: me-mob-1o 0.6s ease normal backwards;
}
header.nav .menu-mobile > div:last-child {
animation: me-mob-2o 0.6s ease normal backwards;
}
header.nav > div > div.menu-open .menu-mobile > div:first-child {
animation: me-mob-1c 0.6s ease normal forwards;
}
header.nav > div > div.menu-open .menu-mobile > div:last-child {
animation: me-mob-2c 0.6s ease normal forwards;
}
@keyframes me-mob-1o {0% {transform: translateY(6px) rotate(45deg)} 50% {transform: translateY(6px) rotate(0deg)} 100% {transform: translateY(0px) rotate(0deg)}}
@keyframes me-mob-2o {0% {transform: translateY(-6px) rotate(-45deg)} 50% {transform: translateY(-6px) rotate(0deg)} 100% {transform: translateY(0px) rotate(0deg)}}
@keyframes me-mob-1c {0% {transform: translateY(0px) rotate(0deg)} 50% {transform: translateY(6px) rotate(0deg)} 100% {transform: translateY(6px) rotate(45deg)}}
@keyframes me-mob-2c {0% {transform: translateY(0px) rotate(0deg)} 50% {transform: translateY(-6px) rotate(0deg)} 100% {transform: translateY(-6px) rotate(-45deg)}}

header.nav .menu-add {
	grid-area: 1 / 2 / 2 / 3;
	place-self: center center;
}
header.nav .menu-add > a > span {
	font-size: var(--menu2-font-size);
}

header.nav .nav-add {
	margin-top: 15px;
}




@media (min-width: 768px) {
header.nav-abs > div > div {
	grid-template: var(--head-height) / var(--logo-abs-width) 22px;
}
header.nav-fix > div > div {
	grid-template: var(--head-fix-height) / var(--logo-fix-width) 22px;
}
header.nav-abs .menu {
	padding-top: var(--head-height);
}
header.nav-fix .menu {
	padding-top: var(--head-fix-height);
}
header.nav-abs > div > div.menu-open .menu-resp {
	height: var(--head-height);
}
header.nav-fix > div > div.menu-open .menu-resp {
	height: var(--head-fix-height);
}
header.nav-abs .menu-resp-mask {
	height: var(--head-height);
}
header.nav-fix .menu-resp-mask {
	height: var(--head-fix-height);
}

header.nav {
	z-index: 10;
	left: 0px;
	width: 100%;
	transition: background-color var(--transition-duration) var(--transition-timing) 0s, box-shadow var(--transition-duration) var(--transition-timing) 0;
}
header.nav-abs {
	top: var(--head-abs-top);
	position: absolute;
	background-color: var(--head-abs-background);
	box-shadow: var(--head-abs-shadow);
}
header.nav-fix {
	top: 0px;
	position: fixed;
	background-color: var(--head-fix-background);
	box-shadow: var(--head-fix-shadow);
}
header.nav-abs .logo {
	border-bottom: solid 6px var(--color-4);
	transform: translateY(3px);
}
header.nav-abs .logo img {
	width: calc(var(--logo-abs-width) - (var(--logo-abs-width) / 2.7));
	transform: translateY(var(--logo-transform));
}
header.nav-fix .logo img {
	width: var(--logo-fix-width);
	transform: translateY(var(--logo-fix-transform));
}
}

@media (max-width: 767px){
header.nav {
	top: var(--head-abs-top);
	position: absolute;
	background-color: var(--head-background);
	box-shadow: var(--head-shadow);
	z-index: 10;
	left: 0px;
	width: 100%;
}
header.nav > div > div {
	grid-template: var(--head-height) / var(--logo-width) 22px;
}
header.nav .menu {
	padding-top: var(--head-height);
}
header.nav .menu-resp-mask {
	height: var(--head-height);
}
header.nav > div > div.menu-open .menu-resp {
	height: var(--head-height);
}
header.nav .logo {
	border-bottom: solid 6px var(--color-4);
	transform: translateY(3px);
}
header.nav .logo img {
	width: calc(var(--logo-width) - (var(--logo-width) / 2.7));
	transform: translateY(var(--logo-transform));
}
}