/*
 * -----------------------------------------------------------------------------
 *  Lucom Interaction Platform
 *  (C) Lucom GmbH, Erkrath. All rights reserved.
 * -----------------------------------------------------------------------------
 */

.global-search-form {
	--font: 'Open Sans', 'sans serif';
	--font-size: 18px;
	--font-weight: 400;
	--font-color: #424242;
	--global-search-background-color: #FFFFFF;
	--global-search-height: 50px;
	--global-search-loading-size: 32px;

	--font: Open Sans, Verdana, Arial, Helvetica, sans-serif;
	--font-size: 18px;
	--font-weight: 400;
	--font-color: #1A181B;
	--global-search-background-color: #FFFFFF;
}

.global-search-form {
	font-family: var(--font);
	font-size: var(--font-size);
	font-weight: var(--font-weight);
	color: var(--font-color);
}

.global-search-form .hidden {
	display: none;
}

/* -------------------------------------------------------------- search control
 */

.global-search-form .search-control {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: stretch;
	width: 100%;
	height: var(--global-search-height);
	border-radius: 3px;
}

.global-search-form .search-control .control {
	display: block;
	margin: 0;
	height: 100%;
	padding: .375em 10px;
	font-family: var(--font);
	font-size: 1em;
	font-weight: var(--font-weight);
	color: var(--font-color);
	line-height: 1.5;
	background-color: var(--global-search-background-color);
	background-clip: padding-box;
	border-top: 1px solid var(--font-color);
	border-bottom: 1px solid var(--font-color);
	border-left: 0 none;
	border-right: 0 none;
	border-radius: 0;
	appearance: none;
}

.global-search-form .search-control .control:first-child {
	border-left: 1px solid var(--font-color);
	border-radius: 3px 0 0 3px;
}

.global-search-form .search-control .control:last-child {
	border-right: 1px solid var(--font-color);
	border-radius: 0 3px 3px 0;
}

.global-search-form .search-control .control:focus {
	box-shadow: none;
	outline: 1px solid var(--font-color);
	outline-offset: -1px;
}

.global-search-form .search-control:focus-within {
	outline: none;
	box-shadow: 0 0 0 2px var(--font-color);
}

.global-search-form .search-control .control.svg-button {
	display: flex;
	align-items: center;
}

.global-search-form .search-control .control.svg-button .svg-container {
	width: 28px;
	height: 28px;
}

.global-search-form .search-control .control.input {
	flex: 1 1 auto;
	width: 1%;
	min-width: 0;
}

.global-search-form .search-control .control.input::placeholder {
	font-weight: 400;
}

.global-search-form .search-control .loading-spinner-wrapper {
	position: relative;
	flex: 1 1 auto;
	width: 1%;
	min-width: 0;
}

.global-search-form .search-control .loading-spinner-wrapper .control {
	width: 100%;
}

.global-search-form .search-control .loading-spinner-wrapper .control:first-child {
	border-left: 0 none;
	border-radius: 0;
	padding-right: 42px;
}

.global-search-form .search-control .loading-spinner-wrapper .loading {
	position: absolute;
	right: 0;
	top: calc((var(--global-search-height) - var(--global-search-loading-size)) / 2);
}

.global-search-form .search-control .loading-spinner-wrapper .loading-notification svg {
	width: var(--global-search-loading-size);
	height: var(--global-search-loading-size);
}

/* ------------------------------------------------------------------- type menu
 */

.global-search-form ul.search-type-menu {
	list-style: none;
	margin: 0;
}

.global-search-form .search-type-menu.dropdown .item {
	padding: 11px 34px 11px 15px;
	font-size: .888888em;
	cursor: pointer;
	color: #1A181B;
}

.global-search-form .search-type-menu.dropdown .item:hover {
	color: #004291;
}

.global-search-form .search-type-menu.dropdown .item .svg-container {
	visibility: hidden;
	margin-right: 10px;
	width: 1.5em;
	height: 1.5em;
}

.global-search-form .search-type-menu.dropdown .item[data-type-selected] .svg-container {
	visibility: visible;
}

/* --------------------------------------------------------------------- results
 */

.global-search-results.dropdown {
	overflow-y: auto;
	width: 700px;
	max-width: calc(100vw - 10px);
	max-height: 300px;
	padding: 0;
}

.global-search-results.dropdown:before,
.global-search-results.dropdown:after {
	display: none;
}

.global-search-results .group .optgroup-label {
	font-weight: 700;
	padding: 15px 10px;
	border-bottom-style: solid;
	border-bottom-width: 2px;

	border-bottom-color: #004291;
}

.global-search-results .group .optgroup-label.__noHits {
	font-weight: normal;
}

.global-search-results .group .optgroup-label .svg-container {
	margin-right: 10px;
}

.global-search-results .group .option {
	min-width: auto;
	border-width: 1px;
	border-style: solid;
	border-radius: 3px;
	background-color: var(--global-search-background-color);

	border-color: #CCCCCC;
}

.global-search-results .group .option .button {
	flex-grow: 1;
	padding: 10px;
	text-align: start;
	justify-content: flex-start;
}

.global-search-results .group .option .button:hover,
.global-search-results .group .option .button:focus {
	outline: 2px solid var(--font-color);
	outline-offset: -2px;
	border: none;
	box-shadow: none;
}

.global-search-results .group .option .button:hover {
	color: #004291;
}

.global-search-results .group .option .button.button-extra {
	flex-grow: 0;
	align-self: stretch;
}

.global-search-results .group .option .button .title {
	font-weight: 700;
}

.global-search-results .group .option .button .info {
	font-size: .75em;
}

.global-search-results .group .option .button:not(.button-extra) .svg-container {
	margin-right: 10px;
}

.global-search-results .group .svg-container,
.global-search-results .group .option .svg-container {
	flex-shrink: 0;
}
