header
{
	position: relative;
	display: block;
	overflow: visible; /* visible needed for mainmenu hover */
	width: 100%;
	box-sizing: border-box;
}

#logo
{
	text-align: center;
	padding: 20px;
}
#logo a
{
	display: inline-block;
}
#logo img
{
	max-width: 147px;
}

#headerbox
{
	position: relative;
	overflow: visible;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
	padding: 30px;
}

#headermenu
{
	position: relative;
	display: flex;
	flex-flow: row nowrap;
	list-style-type: none;
}
#headermenu li
{
	position: relative;
	display: block;
}
#headermenu a,
#search button
{
	display: block;
	height: 35px;
	line-height: 25px;
	padding: 5px .75rem 5px .75rem;
	border: 0;
	background: #A9A291;
	color: #FFFFFF;
	text-decoration: none;
	font-family: inherit;
	font-size: .875rem;
	font-weight: bold;
	box-sizing: border-box;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.3s ease;
}
#headermenu li a,
#search button:not(:last-child)
{
	margin: 0 .5rem 0 0;
}
.high-contrast #headermenu a,
.high-contrast #search button
{
	color: #FFFFFF !important;
	background: #000000;
}
#headermenu a:hover,
#search button:hover
{
	background: #AA0101;
}
#headermenu a i,
#search button i
{
	margin-right: .25em;
}

#search
{
	position: relative;
	display: flex;
}
#search form
{
	flex: 1 1;
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
}
#search input
{
	display: block;
	width: 12rem;
	height: 35px;
	line-height: 30px;
	padding: 5px .75rem 5px .75rem;
	border: 0;
	border-radius: 0;
	background: #ECEBD5;
	color: #666666;
	font-family: inherit;
	font-size: .875rem;
	font-weight: bold;
	box-sizing: border-box;
	min-width: 0; /* important to fix FireFox rendering bug */
}
.high-contrast #search input
{
	color: #000000;
}
#search button:before
{
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	content: '\f002';
	margin-right: .25rem;
}