#searchToggleInput {
	appearance: none;
	background-position: center;
	background-repeat: no-repeat;
	cursor: pointer;
	display: block;
}
#searchForm {
	background-color: var(--color_forms);
	border-top: var(--header-border-bottom-height) solid var(--color_pagination_outline);
	border-bottom: var(--header-border-bottom-height) solid var(--color_pagination_outline);
	display: flex;
	justify-content: end;
	left: 0;
	position: fixed;
	right: 0;
}
#searchInput,
#searchSubmit {
	appearance: none;
	border-color: var(--color_contrast);
	border-style: solid;
}
#searchInput {
	background-color: var(--color_forms_input);
	border-radius: 2px 0 0 2px;
	border-width: 1px 0 1px 1px;
}
#searchSubmit {
	background-color: var(--color_forms_submit);
	border-radius: 0 2px 2px 0;
	border-width: 1px;
	color: var(--color_text);
	font-weight: 300;
	text-align: center;
	transition: all var(--transition_timing);
}
#tosearch {
	color: transparent;
	margin-right: var(--horizontal_spacing);
	margin-left: calc(var(--horizontal_spacing) / -1);
	text-decoration: none;
}
.js #tosearch {
	display:inline-block;
}
.js #tosearch,.no-js #searchForm {
	display:none;
}
.no-js #tosearch {
	display:none;
}
#tosearch:focus {
	color: var(--color_contrast);
}
#searchToggleLabel:hover,
#searchToggleInput:focus {
	opacity: 0.64;
}
#searchInput:hover,
#searchInput:focus {
	border-color: var(--color_contrast);
	border-width: 3px 0 3px 3px;
	box-shadow: 0 0 4px 1px var(--color_contrast_opacity);
}
#searchSubmit:hover,
#searchSubmit:focus {
	background-color: var(--color_primary);
	border-color: var(--color_primary);
	color: var(--color_secondary);
}
#searchSubmit:hover {
	cursor: pointer;
	transition: all var(--transition_timing);
}
#searchForm > label {
	visibility:hidden;
}
#searchToggleInput:not(:checked) ~ #searchForm {
	opacity: 0;
	z-index: 0;
}
#searchToggleInput:checked ~ #searchForm,
.js #searchToggleLabel.activeInput ~ #searchForm {
	opacity: 1;
	z-index: 2;
}
@media screen and (max-width: 479px) {
	#searchInput {
		width: calc(100vw - 188px);
	}
	#searchToggleInput:checked {
		left: calc((100vw * -1) + 279px);
	}
}
@media screen and (min-width:480px) and (max-width:639px) {
	#searchForm {
		margin-right:64px;
	}
}
@media screen and (min-width: 480px) and (max-width: 519px) {
	#searchInput {
		width: 227px;
	}
	#searchToggleInput:checked {
		left: -200px;
	}
}
@media screen and (min-width: 520px) {
	#searchContainer {
		padding-right: var(--horizontal_spacing);
	}
}
@media screen and (min-width: 520px) and (max-width: 639px) {
	.mail-span.medium,
	.phone-span.medium {
		display: none;
	}
	.phone-span.small,
	.mail-span.small {
		display: block;
		line-height: 1;
		font-size: 12px;
		height: 16px;
		padding-bottom: 4px;
	}
	#searchInput {
		width: 262px;
	}
	#searchToggleInput:checked {
		left: 8px;
	}
}
@media screen and (max-width: 639px) {
	#searchForm {
		padding: 8px;
	}
}
@media screen and (min-width: 640px) and (max-width: 959px) {
	#searchForm {
		margin-right:80px;
		padding: 8px;
	}
	#searchInput {
		width: 298px;
	}
}
@media screen and (max-width: 959px) {
	#searchForm {
		height:calc(var(--height_header_small) - 2px);
		line-height: calc(var(--height_header_small) + 16px);
		top:2px;
	}
	#searchToggleInput {
		background-size: 32px;
		height: 48px;
		position: relative;
		width: 48px;
		z-index: 3;
	}
	#searchInput {
		padding-right: 8px;
		padding-left: 8px;
	}
	#searchSubmit {
		width: 64px;
	}
	#searchInput:hover,
	#searchInput:focus {
		padding-right: 6px;
		padding-left: 6px;
	}
	#searchToggleInput.activeInput {
		opacity: 0;
	}
}
@media screen and (min-width: 960px) {
	#searchForm {
		height: var(--height_subnavigation);
		line-height: calc(var(--height_header_small) + 24px);
		padding:8px calc((100% - var(--container_width)) / 2)
	}
	#searchToggleInput {
		background-size: 40px;
		height: 64px;
		width: 64px;
	}
	#searchInput {
		width: 480px;
		padding-right: 12px;
		padding-left: 12px;
	}
	#searchInput,
	#searchSubmit {
		font-size: 16px;
	}
	#searchSubmit {
		width: 80px;
	}
	#searchInput:hover,
	#searchInput:focus {
		padding-right: 10px;
		padding-left: 10px;
	}
	.small #searchForm {
		top: var(--height_header_small);
	}
}
@media screen and (hover:hover) and (min-width:960px) {
	#searchForm {
		top: calc(var(--height_header_small) * 1.5 + 4px);
	}
}
@media screen and (hover:none) and (min-width:960px) {
	#searchForm {
		top:97px;
	}
}
@media (prefers-color-scheme: light) {
	#searchToggleInput:checked {
		background-image: url(../images/x_light_mode.svg);
	}
	#searchToggleInput:not(:checked) {
		background-image: url(../images/search_light_mode.svg);
	}
}
@media (prefers-color-scheme: dark) {
	#searchToggleInput:checked {
		background-image: url(../images/x_dark_mode.svg);
	}
	#searchToggleInput:not(:checked) {
		background-image: url(../images/search_dark_mode.svg);
	}
}