:root {
	--button-font-size: 18px;
	--nav-height: 120px;
	--nav-wrap-height: 120px;
	--nav-line-height: 70px;
	--header-nav-down: -15px;
}
header {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	-webkit-transition: all 0.2s ease-in-out;
	-moz-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
	z-index: 99;
	height: var(--nav-height);
}
header.nav-down {
	top: var(--header-nav-down);
	background-color: rgba(0,0,0,0.70);
}
header .block-button {
	margin-top: 13px;
	display: none;
}
.header-wrap {
	height: var(--nav-wrap-height);
}
header.nav-down .header-blur {
	backdrop-filter: blur(6pt);
}
.logo {
	display: block;
	text-decoration: none;
	padding-bottom: 20px;
}
.logo img {
	width: 200px;
}
.menu {
	margin: 0px;
	padding-top: 0px;
	padding-right: 0px;
	padding-left: 20px;
	padding-bottom: 0px;
	line-height: var(--nav-wrap-height);
	border-style: none;
	background-color: transparent;
	font-size: 16px;
	position: relative;
}
.menu svg {
	width: 45px;
	margin-top: 14px;
}
.menu svg path {
	fill: #212529;
}
#dark .menu svg path,
#dark header.nav-down .menu svg path,
header.nav-down .menu svg path {
	fill: #ffffff;
}
.menu::before,
.menu::after {
	background-color: #212529;
}
#dark .menu::before,
#dark .menu::after,
#dark header.nav-down .menu::before,
#dark header.nav-down .menu::after,
header.nav-down .menu::before,
header.nav-down .menu::after{
	background-color: #ffffff;
}
.menu span {
	width: 45px;
	height: 5px;
	display: inline-block;
}
.menu::before {
	width: 45px;
	height: 5px;
	content: "";
	display: block;
	position: absolute;
	top: 49px;
	left: 20px;
}
.menu::after {
	width: 35px;
	height: 5px;
	content: "";
	display: block;
	position: absolute;
	bottom: 33px;
	left: 20px;
}

.menu:hover::before {
	width: 35px;
}
.menu:hover::after {
	width: 45px;
}
nav {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-color: #fff;
	padding-top: 45px;
	padding-right: 0px;
	padding-left: 0px;
	padding-bottom: 80px;
	overflow-y: scroll;
	display: none;
}
.nav-item-wrap {
	margin: 0px;
	max-width: 550px;
}
.nav-item {
	border-bottom: 1px solid rgba(0,0,0,0.20);
}
.nav-item:last-child {
	border-style: none;
}
.nav-item-button {
	margin: 0px;
	padding-top: 0px;
	padding-right: 0px;
	padding-left: 20px;
	padding-bottom: 0px;
	border-style: none;
	background-color: transparent;
}
.nav-item-button svg {
	width: 35px;
}
.nav-item-button:not(.collapsed) svg path {
	fill: var(--primary);
}
.nav-item-button:not(.collapsed) svg {
  transform: rotate(90deg);
}
.nav-item .collapsing {
	transition: height .20s ease;
}
.nav-item a {
	display: block;
	text-decoration: none;
	font-size: 25px;
	padding: 10px 0px;
	line-height: 32px;
	font-weight: 600;
	letter-spacing: -1px;
}
.nav-item a:hover,
.nav-item a.selected {
	color: var(--primary);
}
.nav-item-sub {
	padding-bottom: 30px;
}
.nav-item-sub ul {
	padding: 0px;
	margin: 0px;
	list-style-type: none;
}
.nav-item-sub ul li a {
	font-weight: normal;
	font-size: 20px;
	padding: 6px 60px 6px 0px;
	line-height: 25px;
	letter-spacing: normal;
}
.no-scroll {
	overflow: hidden;
}
.menu-icon {
	margin-bottom: 50px;
}
.menu-icon svg.icon   {
	height: 75px;
}
.close-menu {
	padding: 0px;
	margin: 0px;
	background-color: transparent;
	border-style: none;
}
.close-menu svg {
	height: 50px;
}
.logo .icon {
	height: 35px;
	margin-right: 10px;
}
.logo .text {
	height: 19px;
}
.logo .text.hidden {
	opacity: 0;
}
.header-wrap ul {
	padding: 0px;
	margin: 0px;
	font-size: 0px;
}
.header-wrap ul li {
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
}
.header-wrap ul li:nth-child(2) .block-button {
	background-color: var(--secondary);
}
.header-wrap ul li .block-button:hover {
	background-color: #212529;
}
#dark .header-wrap ul li .block-button:hover,
header.nav-down .header-wrap ul li .block-button:hover {
	background-color: rgba(255,255,255,0.30);
}
.nav-contacts {
	margin-top: 65px;
	margin-right: 0px;
	margin-left: 0px;
	list-style-type: none;
	font-size: 24px;
	line-height: 34px;
	letter-spacing: -1px;
	border-top: 1px solid #212529;
	padding-top: 30px;
}
.nav-contacts li a {
	text-decoration: none;
}
.nav-contacts li a:hover {
	text-decoration: underline;
	color: #fff!important;
}
.nav-contacts.details li:first-child {
	font-weight: 600;
}
.nav-contacts.details li:nth-child(3) {
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0px;
}
.nav-contacts.address {
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0px;
}
.nav-social {
	margin-top: 30px;
	margin-right: 0px;
	margin-left: 0px;
	margin-bottom: 0px;
	list-style-type: none;
	font-size: 0px;
}
.nav-social li {
	display: inline-block;
	font-size: 16px;
}
.nav-social li a {
	display: block;
	padding-right: 20px;
}
.nav-social li a svg {
	height: 20px;
}
.nav-social li a svg path {
	fill: #212529;
}
.nav-social li a:hover svg path {
	fill: rgba(0,0,0,0.50);
}
.nav-contacts,
.nav-social {
	padding-left: 0px;
}
a.logo-link,
.logo-icon,
.logo-svg {
	width: 200px;
}
a.logo-link {
	display: block;
	padding-top: 32px;
}
.logo-wrap {
	position: relative;
}
.logo-icon,
.logo-svg {
	position: absolute;
	top: 0px;
	left: 0px;
}
.logo-icon img {
	width: 100%;
}
.logo-svg svg path {
	fill: #000000;
}
.logo-svg svg path.logo-colour {
	fill: var(--primary);
}
#dark .logo-svg svg path,
#dark .logo-svg svg path.logo-colour,
#dark header.nav-down .logo-svg svg path,
#dark header.nav-down .logo-svg svg path.logo-colour,
header.nav-down .logo-svg svg path,
header.nav-down .logo-svg svg path.logo-colour {
	fill: #ffffff;
}
.head-font.nav h2 {
	font-size: 60px;
	line-height: 60px;
	letter-spacing: -1px;
	display: none;
	margin-bottom: 60px;
}
.nav-item-sub-sub ul {
	border-left: 1px solid rgba(33,37,41,0.30);
	margin-bottom: 20px;
	margin-top: 5px;
}
.nav-item-sub-sub ul li a {
	padding-left: 15px!important;
}

@media (min-width:550px){
.nav-item a {
	font-size: 30px;
	padding: 12px 0px;
	line-height: 34px;
	letter-spacing: -1px;
}
.nav-item-sub ul li a {
	font-size: 24px;
	line-height: 28px;
	letter-spacing: normal;
}
}

@media (min-width:770px){
header .block-button {
	display: inline-block;
}
}

@media (min-width:992px){
nav {
	background: linear-gradient(-90deg, #efefef 47%, #fff 0%);
}
.menu-icon {
	margin-bottom: 70px;
}
.nav-line {
  padding-right: 15%;
}
.nav-contacts,
.nav-social {
	padding-left: 3%;
}
.nav-item-wrap {
	margin: 0px auto;
	max-width: 1000px;
}
.nav-contacts {
	margin-top: 15px;
	border-top: none;
	padding-top: 0px;
}
.head-font.nav h2 {
	display: block;
}
}
