/**
 * Header component.
 */

.site-header {
	position: relative;
	z-index: 1040;
	--site-header-chevron-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 32'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M7 10l6 6-6 6'/%3E%3C/svg%3E");
	--site-header-chevron-small-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 32'%3E%3Cpath fill='none' stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M7 10l6 6-6 6'/%3E%3C/svg%3E");
	background-color: var(--theme-header-bg, var(--theme-color-white, #fff));
	color: var(--theme-color-black, #000);
}

.site-header.text-light {
	color: var(--theme-color-white, #fff);
	border-bottom-color: rgba(255, 255, 255, 0.16);
}

.site-header.text-dark {
	color: var(--theme-color-black, #000);
}

.site-header.text-light .nav-link {
	border-top-color: rgba(255, 255, 255, 0.18);
}

.site-header.fixed-top {
	position: fixed;
	top: calc(-1 * var(--site-header-fixed-offset, 72px));
	right: 0;
	left: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	transform: translateY(var(--site-header-fixed-offset, 72px));
	transition: transform 0.3s ease;
	box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.site-header__navbar {
	padding: 1rem 0;
}

.site-header__container {
	align-items: center;
}

.site-header__brand {
	display: inline-flex;
	align-items: center;
	order: 2;
	padding: 0;
	margin-right: auto;
	color: inherit;
	line-height: 1;
	text-decoration: none;
}

.site-header__brand:hover,
.site-header__brand:focus {
	color: inherit;
}

.site-header__logo {
	display: block;
	width: var(--theme-header-logo-width, 130px);
	max-width: min(100%, 400px);
	height: auto;
	max-height: 56px;
}

.site-header__site-name {
	color: currentColor;
	font-family: var(--theme-font-heading, inherit);
	font-size: 1.125rem;
	font-weight: var(--theme-font-heading-weight, 700);
	line-height: 1.1;
}

.site-header__toggler {
	position: relative;
	order: 1;
	width: 24px;
	height: 35px;
	padding: 0;
	margin: 0 1rem 0 0;
	color: inherit;
	border: 0;
}

.site-header__toggler:focus,
.site-header__toggler:active {
	box-shadow: none;
	outline: 0;
}

.site-header__toggler:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.site-header__toggler span {
	position: relative;
	display: block;
	width: 20px;
	height: 1px;
	margin-top: 4px;
	margin-bottom: 4px;
	background-color: currentColor;
	transform: rotate(0deg);
}

.site-header__toggler span:nth-child(3) {
	width: 12px;
}

.site-header__toggler span:nth-child(1),
.site-header__toggler span:nth-child(3) {
	transition: transform 0.35s ease-in-out;
}

.site-header__toggler:not(.collapsed) span:nth-child(1) {
	position: absolute;
	top: 14px;
	left: -1px;
	width: 22px;
	transform: rotate(135deg);
}

.site-header__toggler:not(.collapsed) span:nth-child(2) {
	height: 12px;
	visibility: hidden;
	background-color: transparent;
}

.site-header__toggler:not(.collapsed) span:nth-child(3) {
	position: absolute;
	top: 14px;
	left: -1px;
	width: 22px;
	transform: rotate(-135deg);
}

.site-header__navigation {
	order: 4;
	flex-basis: 100%;
}

.site-header__menu {
	margin: 1rem 0 0;
}

.site-header .nav-link {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 0.75rem 0;
	color: currentColor;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
	text-decoration: none;
}

/* 
.site-header .nav-link:hover,
.site-header .nav-link:focus,
.site-header .nav-link.active {
	color: var(--theme-color-brand, var(--bs-primary));
}
*/

.site-header .nav-link:not(.dropdown-toggle)::after,
.site-header .dropdown-toggle::after {
	display: inline-block;
	flex: 0 0 auto;
	width: 1.25rem;
	height: 2rem;
	margin: 0 0 0 auto;
	background-color: currentColor;
	border: 0;
	content: "";
	-webkit-mask: var(--site-header-chevron-mask) center / contain no-repeat;
	mask: var(--site-header-chevron-mask) center / contain no-repeat;
	transform-origin: center;
}

.site-header .nav-link:not(.dropdown-toggle)::after {
	transform: rotate(0deg);
}

.site-header .dropdown-toggle::after {
	transform: rotate(90deg);
	transition: transform 0.2s ease;
}

.site-header .dropdown-toggle.show::after,
.site-header .show > .dropdown-toggle::after {
	transform: rotate(-90deg);
}

.site-header .dropdown-menu {
	display: block;
	max-height: 0;
	overflow: hidden;
	padding: 0;
	margin: 0;
	color: inherit;
	background-color: var(--theme-header-bg, var(--theme-color-white, #fff));
	border-color: rgba(0, 0, 0, 0.08);
	border-width: 0;
	border-radius: var(--bs-border-radius);
	opacity: 0;
	pointer-events: none;
	box-shadow: none;
	visibility: hidden;
	transition:
		max-height 0.25s ease,
		padding 0.25s ease,
		opacity 0.2s ease,
		visibility 0s linear 0.25s;
}

.site-header.text-light .dropdown-menu {
	border-color: rgba(255, 255, 255, 0.16);
}

.site-header .dropdown-menu.show {
	max-height: 24rem;
	padding: 0.5rem 0;
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
	transition:
		max-height 0.25s ease,
		padding 0.25s ease,
		opacity 0.2s ease,
		visibility 0s linear 0s;
}

.site-header .dropdown-item {
	display: flex;
	align-items: center;
	padding: 0.55rem 1rem;
	color: currentColor;
	text-decoration: none;
	gap: 1rem;
}

.site-header .dropdown-item:hover,
.site-header .dropdown-item:focus,
.site-header .dropdown-item.active {
	color: var(--theme-color-brand, var(--bs-primary));
	background-color: transparent;
}

.site-header__actions {
	order: 3;
	margin-left: auto;
}

.site-header__cta {
	max-width: 42vw;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media screen and (min-width: 992px) {
	.site-header__navbar {
		padding: 1.5rem 0;
	}

	.site-header__brand {
		order: 1;
		margin-right: 0;
	}

	.site-header__logo {
		max-height: 64px;
	}

	.site-header__navigation {
		order: 2;
		flex-basis: auto;
		margin-left: 2rem;
	}

	.site-header--menu-right .site-header__navigation {
		margin-left: auto;
		justify-content: flex-end;
	}

	.site-header--menu-right .site-header__brand {
		margin-right: 2rem;
	}

	.site-header__menu {
		align-items: center;
		margin: 0;
	}

	.site-header--menu-right .site-header__menu {
		justify-content: flex-end;
	}

	.site-header .nav-item {
		margin-left: 1.75rem;
	}

	.site-header .nav-link {
		width: auto;
		padding: 0.35rem 0;
		border-top: 0;
		border-bottom: 1px solid transparent;
	}

	.site-header .nav-link:not(.dropdown-toggle)::after {
		display: none;
	}

	.site-header .dropdown-toggle {
		padding-right: 0;
	}

	.site-header .dropdown-toggle::after {
		width: 0.625rem;
		height: 1rem;
		margin-left: 0.25rem;
		-webkit-mask-image: var(--site-header-chevron-small-mask);
		mask-image: var(--site-header-chevron-small-mask);
	}

	.site-header .dropdown-menu {
		min-width: 12.5rem;
		border-width: var(--bs-dropdown-border-width);
		margin-top: 0.75rem;
		box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.08);
	}

	.site-header .dropdown-menu .nav-item {
		margin-left: 0;
	}

	.site-header .dropdown-item {
		padding-left: 1rem;
	}

	.site-header .dropdown-item::after {
		display: inline-block;
		flex: 0 0 auto;
		width: 1.25rem;
		height: 2rem;
		margin: 0 0 0 auto;
		background-color: currentColor;
		content: "";
		-webkit-mask: var(--site-header-chevron-mask) center / contain no-repeat;
		mask: var(--site-header-chevron-mask) center / contain no-repeat;
		opacity: .25;
		transition: all 0.2s linear;
	}

	.site-header .dropdown-item:hover::after,
	.site-header .dropdown-item.active::after {
		opacity: 1;
	}

	.site-header__actions {
		order: 3;
		margin-left: auto;
	}

	.site-header--menu-right .site-header__actions {
		margin-left: 2rem;
	}

	.site-header__cta {
		max-width: none;
		white-space: nowrap;
	}
}
