#header-container #header {
	width: auto;
	transition: width 0.3s;
	margin-right: 0.2em;
}

#header-container #header #header-buttons {
	display: flex;
	align-items: center;
	border-radius: 0.35rem;
	background-color: var(--dark-grey);
	padding: 0.25em;
}

#header-container #header #header-buttons .header-demo-label {
	font-size: 0.75em;
	color: var(--text-color);
	background-color: var(--primary);
	padding: 0.2em;
	margin-right: 0.4em;
	border-radius: 0.35rem;
}

#header-container #header #header-buttons .header-button {
	color: var(--text-color);
	cursor: pointer;
	padding: 0.2em 0.35em;
	border-radius: 0.35rem;
	transition: background-color 0.3s;
}

#header-container #header #header-buttons .header-button.selected {
	color: var(--primary);
}

#header-container #header #header-buttons .header-button.hidden {
	visibility: hidden;
	width: 0;
	padding: 0;
}

#header-container #header #header-buttons .header-button.not-allowed,
#header-container #header #header-buttons .header-button.not-allowed * {
	cursor: not-allowed;
}

#header-container #header #header-buttons .header-button.hidden * {
	display: none;
}

#header-container #header #header-buttons .header-button .fa {
	opacity: 1;
}

#header-container #header #header-buttons .header-button:hover {
	background-color: var(--grey);
}

#header-container #header.open #header-buttons .header-button {
	animation: show-buttons 0.3s;
	opacity: 1;
}

#header-container #header.closing #header-buttons .header-button.hidden {
	animation: hide-buttons 0.3s;
	opacity: 0;
}

@keyframes show-buttons {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes hide-buttons {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}
