﻿/* Templates */

.widgetLifaTheme {
	--widget-container-width: 32rem;
	--widget-container-height: 3.3rem;
	--widget-container-height-adjust: 2px;
	--selector-header-text-color: #8FD0D6;
	--selector-text-color: #FFFFFF;
	--selector-background-color: #003366;
	--selector-dropdown-background-color: #31819B;
	--selector-width: 4rem;
	--selector-dropdown-arrow-size: 1rem;
	--input-text-color: black;
	--input-background-color: #FFFFFF;
	--input-placeholder-color: gray;
	--input-loader-height: 20px;
	--input-loader-width: 20px;
	--input-loader-height-adjust: 1rem;
	--autocompleate-text-color: #FFFFFF;
	--autocompleate-background-color: #31819B;
	--autocompleate-width: calc(100% + 2px);
	--hover-background-color: #00ADBB;
	--focus-border-color: #003366;
	--border-color: #ccc;
	--border-radius: 5px;
	--inner-border-radius: 3.5px;
	--font-size: 14px;
}

	.widgetLifaTheme.visualhelper {
		--widget-container-height: 4rem;
		--input-loader-height: 25px;
		--input-loader-width: 25px;
		--input-loader-height-adjust: 1.2rem;
		--selector-width: 5rem;
		--font-size: 20px;
	}

/* -- */

.lifaSearchContainer {
	position: relative;
	display: inline-flex;
	width: var(--widget-container-width);
	height: calc(var(--widget-container-height) + var(--widget-container-height-adjust));
	vertical-align: top;
	border: 1px solid var(--border-color);
	border-radius: var(--border-radius);
}

	.lifaSearchContainer:focus-within {
		border-color: var(--focus-border-color);
	}

.lifaSearchSelector {
	display: inline-flex;
	vertical-align: top;
	height: var(--widget-container-height);
	min-width: var(--selector-width);
	border: transparent;
	border-top-left-radius: var(--inner-border-radius);
	border-bottom-left-radius: var(--inner-border-radius);
	background-color: var(--selector-background-color);
}

	.lifaSearchSelector::after {
		display: flex;
		margin-right: 0.2rem;
		content: "▼";
		align-items: center;
		justify-content: end;
		font-size: var(--selector-dropdown-arrow-size);
		color: var(--selector-text-color);
	}

	.lifaSearchSelector:focus {
		outline: none;
	}

.lifaSearchSelectorSpan {
	display: flex;
	position: relative;
	z-index: 3;
	width: 100%;
	align-items: center;
	justify-content: center;
	color: var(--selector-text-color);
	font-size: var(--font-size);
}

.lifaSearchSelectorList {
	margin-top: 0.2rem;
	position: absolute;
	padding: 0;
	left: -1px;
	top: 100%;
	z-index: 5;
	border: 1px solid var(--focus-border-color);
	background-color: var(--selector-dropdown-background-color);
	border-radius: var(--border-radius);
}
	.lifaSearchSelectorList.hidden {
		display: none;
	}

	.lifaSearchSelectorList > dt:first-child {
		border-top-left-radius: var(--inner-border-radius);
		border-top-right-radius: var(--inner-border-radius);
	}

	.lifaSearchSelectorList > dd:last-child {
		border-bottom-left-radius: var(--inner-border-radius);
		border-bottom-right-radius: var(--inner-border-radius);
	}

.lifaSearchSelectorListHeaderElements {
	padding-left: 0.2rem;
	padding-right: 0.2rem;
	color: var(--selector-header-text-color);
	font-weight: bold;
	font-size: var(--font-size);
}
	.lifaSearchSelectorListHeaderElements > hr {
		margin-top: 0;
		margin-bottom: 0;
		border-top-color: var(--selector-header-text-color); /*Bootstrap overwrite*/
	}

.lifaSearchSelectorListElements {
	margin-bottom: 0;
	padding-left: 0.4rem;
	padding-right: 0.4rem;
	color: var(--selector-text-color);
	font-size: var(--font-size);
}

	.lifaSearchSelectorListElements:hover {
		cursor: pointer;
		background-color: var(--hover-background-color);
	}

.lifaSearchInputContainer {
	position: relative;
	width: 100%;
}

.lifaSearchInputLoading {
	position: relative;
}

.lifaSearchInput {
	display: inline-flex;
	vertical-align: top;
	padding-left: 10px;
	height: var(--widget-container-height);
	width: 100%;
	border: transparent;
	border-top-left-radius: var(--inner-border-radius);
	border-bottom-left-radius: var(--inner-border-radius);
	border-top-right-radius: var(--inner-border-radius);
	border-bottom-right-radius: var(--inner-border-radius);
	background-color: var(--input-background-color);
	color: var(--input-text-color);
	font-size: var(--font-size);
}
	.lifaSearchInput::placeholder {
		color: var(--input-placeholder-color);
	}

	.lifaSearchInput:focus {
		outline: none;
	}

	.lifaSearchInput.withSelector {
		border-top-left-radius: unset;
		border-bottom-left-radius: unset;
		border-top-right-radius: var(--inner-border-radius);
		border-bottom-right-radius: var(--inner-border-radius);
	}

.lifaSearchInputLoading {
	position: absolute;
	z-index: 3;
	top: calc((var(--widget-container-height)/2) - var(--input-loader-height-adjust));
	right: 8px;
	height: var(--input-loader-height);
	width: var(--input-loader-width);
	display: inline-block;
	animation: around 5.4s infinite;
}

	.lifaSearchInputLoading.hidden{
		display: none;
	}

	@keyframes around {
		0% {
			transform: rotate(0deg)
		}

		100% {
			transform: rotate(360deg)
		}
	}

	.lifaSearchInputLoading::after, .lifaSearchInputLoading::before {
		content: "";
		background: transparent;
		position: absolute;
		display: inline-block;
		width: 100%;
		height: 100%;
		border-width: 2px;
		border-color: #333 #333 transparent transparent;
		border-style: solid;
		border-radius: 20px;
		box-sizing: border-box;
		top: 0;
		left: 0;
		animation: around 0.7s ease-in-out infinite;
	}

	.lifaSearchInputLoading::after {
		animation: around 0.7s ease-in-out 0.1s infinite;
		background: transparent;
	}

.lifaSearchAutocompleteList {
	position: absolute;
	overflow-x: auto;
	width: var(--autocompleate-width);
	top: 100%;
	left: -1px;
	margin-top: 0.2rem;
	padding: 0;
	background-color: var(--autocompleate-background-color);
	border: 1px solid var(--focus-border-color);
	border-radius: var(--border-radius);
	z-index: 5;
}

	.lifaSearchAutocompleteList.hidden {
		display: none;
	}

	.lifaSearchAutocompleteList > li:first-child {
		border-top-left-radius: var(--inner-border-radius);
		border-top-right-radius: var(--inner-border-radius);
	}

	.lifaSearchAutocompleteList > li:last-child {
		border-bottom-left-radius: var(--inner-border-radius);
		border-bottom-right-radius: var(--inner-border-radius);
	}

.lifaSearchAutocompleteListElements {
	list-style-type: none;
	padding-left: 10px;
	color: var(--autocompleate-text-color);
	font-size: var(--font-size);
}

	.lifaSearchAutocompleteListElements:hover {
		cursor: pointer;
		background-color: var(--hover-background-color);
	}

.lifaSearchAutocompleteActiveListElement {
	background-color: var(--hover-background-color);
}


@media screen and (max-width: 1127px) {
	.widgetLifaTheme.visualhelper {
		--widget-container-width: 20rem;
	}
}
	

@media screen and (max-width: 1058px) {
	.widgetLifaTheme {
		--widget-container-width: 16rem;
	}

	.lifaSearchAutocompleteList {
		overflow-x: visible;
		width: 32rem;
	}
}

@media screen and (max-width: 1007px) {
	.widgetLifaTheme.visualhelper {
		--widget-container-width: 13rem;
	}
}

@media screen and (max-width: 1208px) {
	.widgetLifaTheme {
		--widget-container-width: 15rem;
	}
}

@media screen and (max-width: 814px) {
	.widgetLifaTheme {
		--widget-container-width: 13rem;
	}
}

@media screen and (max-width: 794px) {
	.widgetLifaTheme {
		--widget-container-width: 10rem;
	}
}

@media screen and (max-width: 767px) {
	.widgetLifaTheme {
		--widget-container-width: 15rem;
	}
}

@media screen and (max-width: 289px) {
	.widgetLifaTheme {
		--widget-container-width: 10rem;
	}
}