/*----------------------------------------------------------------- */
/* HEADER
/*----------------------------------------------------------------- */

header {
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: var(--header__height);

	transition: var(--transition-delay__faster);

	background: transparent;

	will-change: height, background, box-shadow;

	padding-left: var(--padding__default);
	padding-left: env(safe-area-inset-left);
	padding-right: var(--padding__default);
	padding-right: env(safe-area-inset-right);
}

header.sticky_scrolling {
	height: var(--header__height-sticky);

	background: var(--color__grey);
	box-shadow: 0 0 60px 0 rgba(var(--color__brown-dark-rgb), 0.2);
}

/* LOGO
----------------------------------------- */
.logo {
	font-size: 0;
}

.logo img {
	width: auto;
	height: 40px;

	transition: height, var(--transition-delay__default);

	will-change: height;
}

header.sticky_scrolling .logo img {
	height: 32px;
}

@media (max-width: 1200px) {
	.logo img,
	header.sticky_scrolling .logo img {
		height: 24px;
	}
}

/* DESIGN SWITCHER
----------------------------------------- */
.header__switcher {
	font-size: 1.8rem;

	cursor: pointer;

	will-change: font-size;
}

header.sticky_scrolling .header__switcher {
	font-size: 1.7rem;
}

.header__switcher-label {
	margin: 0 10px;

	transition: font-weight var(--transition-delay__default);
}

.header__switcher-label-design,
html[data-theme="design"] .header__switcher-label-design,
html[data-theme="wireframe"] .header__switcher-label-wireframe {
	font-weight: var(--font-weight__bold);
}

html[data-theme="design"] .header__switcher-label-wireframe,
html[data-theme="wireframe"] .header__switcher-label-design {
	font-weight: var(--font-weight__normal);
}

.header__switcher input[type="checkbox"],
.header__switcher-separator {
	display: none;
}

.header__switcher-toggle {
	position: relative;

	display: block;

	width: 48px;
	height: 30px;

	border: 1px solid rgba(var(--color__brown-light-rgb), 0.4);
	border-radius: 15px;
}

.header__switcher-toggle:before {
	position: absolute;
	top: 3px;
	left: 4px;

	display: block;

	width: 22px;
	height: 22px;

	content: "";
	transition: transform var(--transition-delay__default);
	-webkit-transform: translateX(0);
	transform: translateX(0);

	border: 7.5px solid var(--color__orange);
	border-radius: 50%;
	background: var(--color__brown-light);
}

.header__switcher
	input[type="checkbox"]:checked
	+ .header__switcher-toggle:before {
	-webkit-transform: translateX(16px);
	transform: translateX(16px);
}

@media (max-width: 1200px) {
	.header__switcher,
	header.sticky_scrolling .header__switcher {
		font-size: 1.6rem;
	}

	.header__switcher-toggle {
		width: 42px;
		height: 25px;
	}

	.header__switcher-toggle:before {
		top: 2px;
		left: 3px;

		width: 19px;
		height: 19px;

		border-width: 6px;
	}

	.header__switcher
		input[type="checkbox"]:checked
		+ .header__switcher-toggle:before {
		-webkit-transform: translateX(14px);
		transform: translateX(14px);
	}
}

@media (max-width: 600px) {
	.header__switcher {
		position: relative;

		margin-top: -4px;
		padding-top: 30px;
	}

	.header__switcher,
	header.sticky_scrolling .header__switcher {
		font-size: 1rem;
	}

	.header__switcher-toggle {
		position: absolute;
		top: 0;
		right: 0;
		left: 0;

		margin: 0 auto;
	}

	.header__switcher-label {
		margin: 0 3px;
	}

	.header__switcher-separator {
		display: inline-block;
	}
}

/* PRIMARY NAVIGATION
----------------------------------------- */
.main-menu,
.sub-menu {
	font-size: 1.8rem;

	margin: 0;

	will-change: font-size;
}

header.sticky_scrolling .main-menu,
header.sticky_scrolling .sub-menu {
	font-size: 1.7rem;
}

.main-menu > li {
	position: relative;
}

.main-menu a {
	position: relative;

	margin-left: 50px;
	padding-top: 7px;

	color: var(--color__brown-dark);
}

.main-menu a:before {
	position: absolute;
	top: 0;
	left: 0;

	display: block;

	width: 100%;
	height: 3px;

	content: "";
	transition: var(--transition-delay__faster);
	transition: transform var(--transition-delay__default);
	-webkit-transform: scale(0, 1);
	transform: scale(0, 1);
	-webkit-transform-origin: center center;
	transform-origin: center center;

	border-radius: 0 0 3px 3px;
	background: var(--color__orange);

	will-change: transform;
}

.main-menu > li:first-child > a {
	margin-left: 0;
}

.main-menu a:hover {
	color: var(--color__orange);
}

.main-menu .active-item > a:before {
	-webkit-transform: scale(1, 1);
	transform: scale(1, 1);
}

.nav-wrapper__close {
	display: none;
}

.nav-wrapper__logo {
	display: none !important;
}

@media (max-width: 1200px) {
	.nav-wrapper {
		position: fixed;
		z-index: 1001;
		top: 0;
		right: 0;

		display: none;
		overflow: auto;

		width: 270px;
		height: 100%;
		padding: 80px 50px 35px 50px;

		border-radius: 0 0 0 50px;
		background: var(--color__grey-light);
	}

	.nav-wrapper::-webkit-scrollbar {
		width: 6px;
		height: 6px;

		-webkit-appearance: none;
	}

	.nav-wrapper::-webkit-scrollbar-thumb {
		border: none;
		border-radius: 6px;
		background-color: var(--color__orange);
	}

	.nav_main {
		margin-bottom: 40px;
	}

	.main-menu li {
		display: block;

		width: 100%;
		margin-bottom: 20px;
	}

	.main-menu a {
		font-size: 1.8rem;

		display: inline-block;

		margin: 0;
		padding: 5px 0;

		text-decoration: underline;

		color: var(--color__brown-dark);
	}

	.main-menu a:before {
		display: none;
	}

	.main-menu a:hover,
	.main-menu .active-item > a {
		color: var(--color__orange);
	}

	.nav-wrapper__close {
		font-size: 1rem;

		position: absolute;
		top: 10px;
		right: var(--padding__default);

		display: block;

		padding-top: 27px;
	}

	.nav-wrapper__close:before,
	.nav-wrapper__close:after {
		position: absolute;
		top: 0;

		display: block;

		width: 2px;
		height: 24px;

		content: "";

		background: var(--color__brown);
	}

	.nav-wrapper__close:before {
		right: 12px;

		transform: rotate(45deg);
	}

	.nav-wrapper__close:after {
		right: 12px;

		transform: rotate(-45deg);
	}

	.nav-wrapper__row {
		display: flex;
		align-items: center;
		flex-direction: row-reverse;
		justify-content: space-between;
	}

	.nav-wrapper__logo {
		display: block !important;

		width: auto;
		height: 27px;
	}

	.image-design.nav-wrapper__logo,
	html[data-theme="design"] .image-design.nav-wrapper__logo,
	html[data-theme="wireframe"] .image-wf.nav-wrapper__logo {
		display: block !important;
	}

	.image-wf.nav-wrapper__logo,
	html[data-theme="wireframe"] .image-design.nav-wrapper__logo,
	html[data-theme="design"] .image-wf.nav-wrapper__logo {
		display: none !important;
	}
}

@media (min-height: 445px) {
	.nav-wrapper {
		height: auto;
	}
}

/* Rewrites inline styles added via JavaScript function */
@media (min-width: 1201px) {
	.nav-wrapper,
	.main-menu .sub-menu {
		display: flex !important;

		height: auto !important;
	}
}

/* LANGUAGES
----------------------------------------- */
.nav_languages {
	margin-left: 40px;
}

.menu-languages {
	font-size: 1.8rem;

	margin: 0;

	will-change: font-size;
}

header.sticky_scrolling .menu-languages {
	font-size: 1.7rem;
}

.menu-languages .lang-item-active {
	display: none;
}

.menu-languages a {
	margin-left: 10px;

	text-transform: uppercase;
}

.menu-languages a:hover {
	color: var(--color__orange);
}

@media (max-width: 1200px) {
	.nav_languages {
		margin: 0;
	}

	.menu-languages {
		justify-content: flex-end;
	}

	.menu-languages,
	header.sticky_scrolling .menu-languages {
		font-size: 1.5rem;
	}

	.menu-languages a {
		text-decoration: underline;
	}
}

/* TOOLS
----------------------------------------- */
.tools {
	display: none;
}

@media (max-width: 1200px) {
	.tools {
		display: block;
	}

	button.nav-btn {
		font-size: 1rem;

		position: relative;

		display: block;

		margin-left: 20px;
		padding-top: 26px;

		text-transform: uppercase;

		color: var(--color__brown-dark);
	}

	.nav-btn:hover {
		text-decoration: none;
	}

	.nav-btn span {
		position: absolute;
		top: 7px;
		left: 0;

		display: block;

		width: 21px;
		height: 2px;
		margin: auto 0;

		transition: 0.3s;

		border-radius: 2px;
		background: var(--color__brown);
	}

	.nav-btn span:before,
	.nav-btn span:after {
		position: absolute;
		left: 0;

		display: block;

		width: 26px;
		height: 2px;

		content: "";
		transition: var(--transition-delay__default);

		border-radius: 2px;
		background: var(--color__brown);
	}

	.nav-btn span:before {
		top: -7px;
	}

	.nav-btn span:after {
		bottom: -7px;
	}
}

@media (max-width: 760px) {
	.tools {
		right: 15px;
	}
}

/* PROGRESS BAR
----------------------------------------- */
.header__progress-bar {
	position: absolute;
	bottom: 0;
	left: 0;

	display: block;

	width: 100%;
	height: 3px;

	transition: transform var(--transition-delay__default);
	-webkit-transform: scale(var(--transform-scale__width), 1);
	transform: scale(var(--transform-scale__width), 1);
	-webkit-transform-origin: left center;
	transform-origin: left center;

	background: var(--color__orange);

	will-change: transform;
}
