.header {
	border-top: 2px solid var(--color-secondary);
	background: var(--color-white);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 13;
	transition: all .3s;
}

.is-fixed .header {
	box-shadow: 0 4px 12px rgba(5, 13, 60, .05);
}

.header-button {
	font-size: 14px;
	padding: 11px 16px;
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: var(--height-header-base);
}

.header-logo {
	width: 125px;
	display: block;
	line-height: 1;
	margin-right: 20px;
}

.header-logo img {
	width: 100%;
	display: block;
}

.header-nav {
	flex: 1;
	display: none;
}

.header-menu {
	flex: 1;
	font-size: 14px;
	font-weight: 500;
}

.header-menu ul {
	margin: 0;
	padding: 0;
}

.header-menu > ul {
	display: flex;
	flex-direction: column;
}

.header-menu li a {
	text-decoration: none;
	color: var(--color-primary);
}

.admin-bar .header {
	margin-top: 46px;
}

.admin-bar .header-nav {
	margin-top: 46px;
}

.menu-item-description,
.header-menu > ul > li.menu-item-icon a figure,
.header-menu > ul > li > .sub-menu > li.menu-item-icon a figure {
	display: none;
}

@media screen and (min-width: 768px) {
	.header-inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.header-menu > ul {
		flex-direction: row;
	}

	.header-menu > ul > li > .sub-menu > li.menu-item-icon a .menu-item-description {
		display: block;
		width: 100%;
		font-size: 12px;
		font-weight: 400;
		opacity: .7;
	}

	.header-menu > ul > li > .sub-menu > li.menu-item-icon a {
		font-weight: 500;
		font-size: 14px;
		position: relative;
		padding-left: 60px;
	}

	.header-menu > ul > li > .sub-menu > li.menu-item-icon a figure {
		display: flex;
		width: 39px;
		height: 39px;
		position: absolute;
		top: 8px;
		left: 8px;
		padding: 0;
		margin: 0;
		align-items: center;
		justify-content: center;
		border-radius: 4px;
		background: var(--color-light-alt);
	}

	.header-menu > ul > li {
		margin-right: 20px;
		position: relative;
	}

	.header-menu > ul > li:last-child {
		margin-left: auto;
	}

	.header-menu > ul > li > a {
		display: inline-flex;
		height: 100px;
		font-size: 14px;
		font-weight: 500;
		align-items: center;
		padding: 13px 0;
	}

	.header-menu li > ul {
		transition: all .3s;
		margin: 0;
		padding: 10px;
		border-radius: 12px;
		display: block;
		position: absolute;
		top: 90%;
		left: -35px;
		background: var(--color-white);
		opacity: 0;
		width: auto;
		white-space: nowrap;
		visibility: hidden;
		box-shadow: 0 4px 24px rgba(5, 13, 60, .1);
	}

	.header-menu li > ul > li {
		width: 100%
	}

	.header-menu li > ul > li > a:hover {
		background: var(--color-light-alt);
	}

	.header-menu li > ul > li > a {
		padding: 8px 15px;
		display: block;
		border-radius: 8px;
		min-width: 180px;
	}

	.header-menu li:hover > ul {
		opacity: 1;
		top: 100%;
		visibility: visible;
	}

	.header-menu li.menu-item-has-children > a {
		padding-right: 20px;
		position: relative;
	}

	.header-menu li.menu-item-has-children > a:after {
		font-family: var(--icons-font-family), sans-serif;
		content: var(--icon-chevron-down);
		position: absolute;
		right: 0;
		font-size: 5px;
		top: 50%;
		width: 14px;
		height: 14px;
		margin-top: -7px;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: all .3s;
	}

	.header-menu li.menu-item-has-children:hover > a:after,
	.header-menu li.menu-item-has-children > a:hover:after {
		transform: scaleY(-1);
	}

	.header-nav {
		display: flex;
		align-items: center;
	}

	.header-arrow {
		display: none;
	}

	.header-toggle {
		display: none;
	}

	.admin-bar .header-nav {
		margin-top: 0;
	}
}

@media screen and (max-width: 767px) {
	.header-nav ul > li > a {
		font-family: var(--heading-font-family), sans-serif;
		color: var(--color-alternate);
		font-size: 14px;
		letter-spacing: .02em;
		font-weight: 700;
		text-transform: uppercase;
	}

	.header-nav ul li {
		margin-bottom: 20px;
	}

	.header-menu {
		width: 100%;
	}

	.header-menu > ul {
		margin: 0 0 20px;
	}

	.header-button {
		width: 100%;
		justify-content: center;
	}

	.header-nav {
		position: fixed;
		top: var(--height-header-base);
		left: 0;
		font-size: 18px;
		padding: 20px;
		display: flex;
		flex-wrap: wrap;
		align-content: space-between;
		opacity: 0;
		visibility: hidden;
		transition: all .3s;
		width: 100%;
		overflow: auto;
		height: calc(100vh - 72px);
		background: var(--color-white);
	}

	.header .sub-menu li:last-child {
		margin-bottom: 0;
	}

	.header .sub-menu li a {
		font-family: var(--font-family-base), sans-serif;
		color: var(--color-primary);
		font-weight: 500;
		font-size: 16px;
		letter-spacing: 0;
		text-transform: none;
	}

	.header .sub-menu li {
		margin-bottom: 16px;
	}

	.header .sub-menu {
		padding: 15px 0 20px;
		background: var(--color-white);
		border-radius: 10px;
		margin-top: 10px;
		box-shadow: 0 10px 10px rgba(var(--color-black), .1);
	}

	.header-arrow.is-active {
		transform: rotate(-90deg) scaleX(-1);
	}

	.header-arrow {
		transform: rotate(-90deg);
		font-size: 12px;
		margin-left: 10px;
		padding: 0;
		width: 20px;
		height: 20px;
		transition: all .3s;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: var(--color-primary);
	}

	.header-toggle {
		padding: 0;
		width: 55px;
		height: 55px;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 0;
		border-radius: 50%;
		color: transparent;
		background: transparent;
	}

	.header-toggle span {
		position: relative;
		display: block;
		width: 20px;
		height: 2px;
		background: var(--color-primary);
		transition: all .3s;
	}

	.header-toggle span:after,
	.header-toggle span:before {
		content: '';
		width: 20px;
		height: 2px;
		background: var(--color-primary);
		transition: all .3s;
		position: absolute;
		top: -5px;
		left: 0;
	}

	.header-toggle span:after {
		top: 5px;
	}

	.header-toggle:hover,
	.header-toggle:focus {
		background: transparent;
	}

	.is-menu-open .header-toggle {
		background: rgba(5, 13, 60, .1);
	}

	.is-menu-open .header-toggle span {
		background: transparent;
	}

	.is-menu-open .header-toggle span:before {
		top: 0;
		width: 100%;
		transform: rotate(135deg);
	}

	.is-menu-open .header-toggle span:after {
		top: 0;
		width: 100%;
		transform: rotate(-135deg);
	}

	.is-menu-open {
		overflow: hidden;
	}

	.is-menu-open .header-nav {
		opacity: 1;
		visibility: visible;
	}

	.is-menu-open .header {
		position: fixed;
		background: var(--color-white);
	}
}

@media screen and (min-width: 783px) {
	.admin-bar .header {
		margin-top: 32px;
	}
}

@media screen and (min-width: 1025px) {
	.header-logo {
		margin-right: 40px;
	}

	.header-menu ul > li {
		margin-right: 40px;
	}
}
