header {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: #fffc;
	box-shadow: 0 4px 15px #0004;
	backdrop-filter: blur(15px);
	white-space: nowrap;
	user-select: none;
}

header .logo {
	width: auto;
	height: 2.5em;
	align-self: center;
	margin: 8px 10px;
}

header .title {
	align-self: center;
	margin-right: 15px;
}

header :is(a, button) {
	padding: 10px 15px;
	display: flex;
	align-items: center;
}

header :is(a, button):is(:hover, :focus) {
	background-color: #0001;
}

header .icon-btn {
	font-size: 1.2em;
}

header .tl {
	justify-content: flex-end;
}

header .tl>li {
	display: flex;
	align-items: center;
	padding: 5px 3px;
}

header .tl>li>:first-child {
	border-radius: 4px;
	padding: 8px 10px;
}

header .tl>li>:first-child.active,
header ul>li.dropdown>.list a.active {
	background-color: var(--color-primary);
	color: white;
	font-weight: bold;
}

header ul li.arrow>:first-child::after {
	content: '\f078';
	font-family: 'Font Awesome 6 Free';
	margin-left: 10px;
	font-size: .9em;
	font-weight: bold;
	transition: transform .3s;
}

header ul li.arrow:focus-within>:first-child::after {
	transform: rotate(180deg);
}

header ul>li.dropdown {
	position: relative;
}

header ul>li.dropdown>:last-child {
	position: absolute;
	top: 100%;
	right: 0;
	min-width: 100%;
	background-color: white;
	box-shadow: 0 3px 8px #0004;
	display: none;
	z-index: 1;
}

header ul>li.dropdown>.list {
	--display: flex;
	flex-direction: column;
	border-radius: 4px;
	padding: 4px;
}

header ul>li.dropdown>.list a {
	border-radius: 4px;
}

header ul>li.dropdown:focus-within>:last-child {
	display: var(--display);
}

header .tl ul>li>a {
	justify-content: flex-end;
}

#main_menu {
	white-space: nowrap;
	overflow-x: hidden;
}

#main_menu:focus-within {
	overflow-x: visible;
}

@media (max-width:450px) {
	header .logo {
		height: 1.8em;
	}

	header .title {
		font-size: 1.2em;
	}
}