#es_shadow { display: none; position: fixed; z-index: 9999; left: 0; top: 170px; right: 0; bottom: 0; background: rgba(0,0,0,0.5); }
body.elasticsearch #es_shadow { display: block; }

#es_container	{ position: relative; border-style: solid; border-width: 0 0 1px 0; }

#es_container form button { display: block; width: 35px; padding: 0 !important; border: none; outline: none; background: #dde1e1; }
#es_container form input { border: none; outline: none; background: #dde1e1 !important; }

#es_result { display: none; position: fixed; z-index: 10001; left: 0; top: 170px; right: 0; bottom: 50px; }

body.elasticsearch #es_result { display: block; }
#es_result > div { display: flex; position: relative; min-height: 200px; max-height: 100%; width: 80vW; max-width: 800px; margin: 0 auto; padding: 0 0 52px 0; border-top: 1px solid #888888; background: #ffffff; box-shadow: 0 0 9px 0 rgba(0,0,0,.16); }
#es_result > div > #esr_footer { position: absolute; left: 0; bottom: 0; right: 0; height: 52px; padding: 10px 20px; background: #dfdfdf; }
#es_result > div > #esr_footer button { position: relative; display: inline-flex; padding: 5px 20px; border: none; border-radius: 3px; outline: 0; font-size: 15px; font-weight: 500; text-decoration: none; color: #fff; background: #777777; cursor: pointer; line-height: 22px; white-space: initial; transition: background 250ms ease-in-out; }
#es_result > div > #esr_footer button:hover { background: #494949 }

#es_result > div > div#esr_left { position: relative; max-height: 100%; padding: 54px 0 0 0; overflow-x: hidden; overflow-y: auto; }
#es_result > div > div#esr_right { position: relative; max-height: 100%; overflow-x: hidden; overflow-y: auto; }
#es_result > div > div#esr_left { width: 50%; border-right: 2px solid #f6f6f6; }
#es_result > div > div#esr_right { width: 50%; }
#es_result > div > div > .esr_header { position: absolute; left: 0; top: 0; right: 0; padding: 20px 20px 10px; font-size: 20px; line-height: 24px; font-weight: 300; color: #494949; }
#es_result > div > div > .esr_list ul { padding: 0 10px 20px 10px; }

#es_result > div > div#esr_left > .esr_list ul li { position: relative; overflow: hidden;  }
#es_result > div > div#esr_left > .esr_list ul li a { display: flex; align-items: flex-start; padding: 10px 15px; border-top: 1px solid #e6e6e6; color: #494949; cursor: pointer; transition: all 0.5s; }
#es_result > div > div#esr_left > .esr_list ul li a:focus { outline: none; color: #005da5 !important;}
#es_result > div > div#esr_left > .esr_list ul li a:hover { color: #005da5 !important; background: #f6f6f6 !important; }
#es_result > div > div#esr_left > .esr_list ul li:first-child a { border-top: none; }
#es_result > div > div#esr_left > .esr_list ul li a div:first-child { min-width: 75px; height: 60px; position: relative; }
#es_result > div > div#esr_left > .esr_list ul li a div:first-child picture { display: inline-block; width: 60px; height: 60px; }
#es_result > div > div#esr_left > .esr_list ul li a div:first-child picture img { width: 100%; height: 100%; object-fit: contain; }
#es_result > div > div#esr_left > .esr_list ul li a div:last-child { width: 100%; }
#es_result > div > div#esr_left > .esr_list ul li a div:last-child > span { display: inline-block; width: 100%; }
#es_result > div > div#esr_left > .esr_list ul li a div:last-child > span:first-child { font-size: 15px; line-height: 22px; }
#es_result > div > div#esr_left > .esr_list ul li a div:last-child > span:last-child { font-size: 11px; line-height: 18px; }

#es_result > div > div#esr_right > div > div.esr_klassen { padding: 0 0 20px 0; border-top: 2px solid #f6f6f6; }

#es_result > div > div#esr_right > div > div > .esr_header_nonfixed { padding: 20px 20px 10px; font-size: 20px; line-height: 24px; font-weight: 300; color: #494949; }
#es_result > div > div#esr_right > div > div ul { padding-bottom: 0; }
#es_result > div > div#esr_right > div > div.esr_marken ul li a { display: block; line-height: 1px; }
#es_result > div > div#esr_right > div > div.esr_klassen ul li a { display: block; padding: 0 10px; border: none; line-height: 28px; font-size: 15px; text-decoration: none; color: #888888; transition: all 0.5s; }
#es_result > div > div#esr_right > div > div.esr_klassen ul li a:hover > span:last-child { opacity: 1; background: #f6f6f6; right: 0; }
#es_result > div > div#esr_right > div > div.esr_klassen ul li a:hover { color: #005da5; background: #f6f6f6; }
#es_result > div > div#esr_right > div > div.esr_klassen ul li a:hover { background-image: linear-gradient(to right,transparent,#f6f6f6); }
#es_result > div > div#esr_right > div > div.esr_klassen ul li a > span:last-child {  position: absolute; align-items: center; opacity: 0; right: -20px; padding: 0 10px; transition: all .5s; }

body.search #header-search { display: block!important; position: fixed; left: 0; top: 83px; right: 0; padding: 0 16px !important; background: #ffffff; }
body.search #header-search input { line-height: 3rem; }
body.search #es_shadow { top: 170px; }
body.search #es_result { top: 170px; bottom: 16px; }
body.search #es_result { padding: 0 16px; }
body.search #es_result > div { width: 100%; }


#hSearchCMS													{ display: none; position: fixed; top: 135px; left: 0; right: 0; z-index: 10; }
body.search #hSearchCMS									{ display: block; }
#hSearchCMS > div											{ position: relative; width: 100%; max-width: 800px; height: 35px; margin: 0 auto; padding: 0; background: #dde1e1; }
.text-black-50								{ color: rgba(0,0,0,0.5) !important; }
#hSearchCMS input											{ flex-grow: 1; }

.d-flex { display: flex; }
.d-block { display: block; }
.flex-wrap { flex-wrap: wrap; }

.fs-125 { font-size: 1.25rem !important; }
.p-1 { padding: 0.25rem; }
.p-2 { padding: 0.5rem; }
.p-3 { padding: 1rem; }
.p-4 { padding: 1.5rem; }
.p-25p { padding: 25%; }
.mb-3 { margin-bottom: 1rem; }
.col-3 { flex: 0 0 auto; width: 25%; }
.no-bullet { list-style: none; }
.bg-white { background: #ffffff; }
.bg-image-contain { background-repeat: no-repeat; background-position: center; background-size: contain; }
.btn {
	outline: none !important;
	box-shadow: none !important;
	display: inline-block;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
	user-select: none;
	background-color: transparent;
	border: 1px solid transparent;
	padding: .375rem .75rem;
	font-size: 1rem;
	border-radius: .25rem;
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}


#hSearchShop												{ position: absolute; top: 0; left: 196px; right: 52%; z-index: 10; }
#hSearchShop > div										{ position: relative; max-width: 900px; height: 35px; padding: 0; background: none; }


@media screen and (max-width: 640px){
#hnSearch													{ display: none !important; }
#hSearchCMS													{ top: 109px; }
#es_result													{ top: 144px !important; }
#es_container												{ top: 109px !important; }
}



#search-toggler											{ display: none; }
@media screen and (min-width: 641px) and (max-width: 1279px){
#search-toggler											{ display: block; }
}

@media screen and (max-width: 1279px){
#es_container												{ display: none; position: fixed; z-index: 999999; left: 0; top: 135px; right: 0; background: none; }
body.shopsearch #es_container							{ display: block; }
#es_container form										{ width: 100%; max-width: 800px; height: 35px; margin: 0 auto; background: #dde1e1; }
}

body.shopsearch #hSearchCMS							{ display: block; }
.search #search-toggler									{ display: none; }



/*

#hSearchCMS > div:after									{ display: block; content: "\f002"; position: absolute; left: 0; top: 27px; width: 35px; height: 30px; line-height: 30px; text-align: center; font: 14px 'FontAwesome'; }
#hSearchCMS input[type="submit"]						{ display: none; }
#hSearchCMS input[type="text"]						{ width: 100%; height: 30px; margin: 20px 0 0 0; line-height: 30px; padding: 0; border: 0; background: none; outline: none; }


#hSearchShop > div:after								{ display: block; content: "\f002"; position: absolute; left: 0; top: 10px; width: 35px; height: 30px; line-height: 30px; text-align: center; font: 14px 'FontAwesome'; }
#hSearchShop input[type="submit"]					{ display: none; }
#hSearchShop input[type="text"]						{ width: 100%; height: 35px; line-height: 35px; padding: 0; border: 0; background: none; outline: none; }

.hSearch.busy > div:after								{ text-indent: -1000px; overflow: hidden; background: url("/www_immer/pages/img/dots2_20.gif") no-repeat center top; }
#hSearchShop.hSearch.busy > div:after				{ top: 7px; }
#hSearchCMS.hSearch.busy > div:after				{ top: 25px; }
#searchResultBox											{ position: absolute; left: 0; top: 70px; right: 0; bottom: 0; }
#hSearchShop #searchResultBox							{ top: 35px; }
#searchResultBox ul										{ left: 0 !important; top: 0 !important; padding: 20px 0px; max-height: 60vH; overflow-x: hidden; overflow-y: auto; background: #ffffff; box-shadow: 0 5px 15px rgba( 0,0,0,0.2 ); }
#searchResultBox ul li									{ list-style: none; border-bottom: 2px solid #dde1e1; }
#searchResultBox ul li:last-of-type					{ border-bottom: none; }
#searchResultBox ul li a								{ display: block; padding: 5px 0; }
#searchResultBox ul li a:hover						{ background: #00882F; color: #ffffff; border-color: #00882F}
#searchResultBox ul li a:hover						{ background: #00882F; color: #ffffff; }
#searchResultBox ul li td.sThumb						{ padding: 0 15px; line-height: 1px; }
#searchResultBox ul li td.sThumb > div				{ padding: 5px; background: #ffffff; }
#searchResultBox ul li td.sThumb > div > div		{ width: 44px; height: 44px; background-repeat: no-repeat; background-position: center; background-size: contain; }
#searchResultBox ul li td.sText						{ vertical-align: middle; }
*/

/*640*/
/*
#hSearchShop												{ display: none; top: 0; left: 0; right: 0; top: 109px; }
body.shopsearch #hSearchShop							{ display: block; }
*/


