html{
	background-color:#f2f2f2;
}
body{
	background-color:white;
	font-family:"Roboto Condensed",sans-serif; 
	font-weight:400;
}
button{
	all: unset;
	font-family: inherit;
	font-size: inherit;
	cursor:pointer;
	outline: revert;
	text-align: center;
}
button:focus {
	outline: 2px solid blue;
}

.hinweis_div{
	padding:10px; border:1px solid blue;
	box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.5);
	border-radius: 15px;
	margin-bottom:30px;
	margin-top:30px;
}

#ai_chat_layer{
	display: none; flex-direction: column;  position: fixed; right: calc(50% - 506px); background-color: white; width: 506px; z-index: 75; height: 100%; top: 0px;padding: 20px; overflow-x: scroll;
}

.submenu_spalte{
	display:flex;
	flex-direction:column; 
	padding:10px; 
	padding-right: 30px;
}

.submenu_spalte_row{
	display:flex;
	flex-direction: row;
	flex-wrap: wrap;
	padding:10px;
	padding-right: 30px;
}

.submenu_spalte_item{
	display:flex;
}

.submenu_spalte_header{
	font-weight:bold; 
	font-size:medium;
	margin-bottom:5px;
}

.submenu_spalte_item_link{
	margin-bottom:10px; 
	margin-top:10px; 
	color:gray;
}

.submenu_spalte_item_link:hover{
	color:black;
}

.submenu_spalte_item_text{
	margin-bottom:10px; 
	margin-top:10px; 
	color:black;
}

.submenu_spalte_item_text:hover{
	color:black;
}

#submenu_spalten{
	display:flex;
}

.hm_toggle{
	display: none;
}

p{
	hyphens: auto;
	text-align: justify;
}

#maindiv{
	max-width:1012px; margin: auto;
}
#maindiv_header{
	width:calc(100% + 16px); 
	display: flex; 
	flex-direction: column; 
	justify-content: space-around; 
	position:relative; 
	top:-8px; 
	left:-8px; 
	padding-top:0px; 
	padding-bottom:0px; 
	background-color:#f2f2f2;
}

/* hier das grid im header */

.h_header_grid{
	width:calc(100%);
	max-width:1012px;
	margin: auto;
	background-color: #f2f2f2;
	display: grid;
	max-height: 6em;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, 1fr);
	gap: 10px;
	position:relative; 
	padding-top:8px; 
	padding-bottom:16px;
}
.h_header_grid_item
{
	display: flex;
}
.h_header_grid_item1{
	width: fit-content;
	grid-row: 1 / span 2;
	grid-column: 1;
	}
.h_header_grid_item2{
	grid-column: 2 / span 2;
	grid-row: 1;
}
.h_header_grid_item3{
	display: none;
}
.h_header_grid_item4{
	width: fit-content;
	display: none;
	}
.h_header_grid_item5{
	display:flex; justify-content: space-between;
	}
.h_header_grid_item6{
	display:flex; justify-content: flex-end;
	}
.h_header_grid_item7{
	display: none;
}
.h_header_grid_item8{
	display: none;
}
.h_header_grid_item9{
	display: none;
}


@media screen and (max-width: 1011px)
{
	.h_header_grid_item{
		height: fit-content;
		}
	
	/*Suche ganze breite zweite Zeiele*/
	.h_header_grid_item2{
		order: 3;
		}
	.h_header_grid_item2{
		grid-column: 1 / span 3;
		grid-row: 2;
	}
	
	/*icons erste Zeile rechts zwei Zellen*/
	.h_header_grid_item6{
		order: 2;
		}
	.h_header_grid_item6{
		grid-column: 2 / span 2;
		grid-row: 1;
	}
	.h_header_grid_item3{
		display: none;
	}
	
	/*logo nur die Zelle oben links*/
	.h_header_grid_item1{
		grid-column: 1 / span 1;
		grid-row: 1;
		grid-row: 1 / span 1;
		grid-column: 1;
	}
	/*Button unter Suchzeile links*/
	.h_header_grid_item5{
		grid-column: 1 / span 2;
		grid-row: 3;
	}
	.h_header_grid_item5{
		display: flex;
		justify-content: space-around;
	}
}

/* ende grid im header */


/* hier die suchzeile mit liveergebnis */

.h_search_wrapper {
    position: relative;
    width: 100%;
}

.h_search_form {
	display: flex;
	gap: 5px;
	border-radius: 40px 40px 40px 40px;
}

.h_search_input{
	border: none;
	font-size: medium;
	width: 100%;
	height: 100%;
	border-radius: 40px 0px 0px 40px;
	padding: 10px;
	border:none;
}
.h_search_input:focus{
	border: none;
	outline:none;
}

.h_search_wrapper:focus-within .h_search_form{
	outline: 1px solid #fb7907;
}

.h_results_box {
	display: none;
	position:absolute;
	flex-direction:column;
	top: 100%;
	left: 0;
	width: 600px;
	max-height: 400px;
	background: white;
	border: none;
	box-shadow: 0px 7px 3px 3px gray;
	z-index: 9999;
	overflow-y: auto;
	z-index:100000;
	-webkit-overflow-scrolling: touch;
	padding: 5px;
}


.h_search_wrapper:focus-within .h_results_box.has-results {
	display: flex;
}

@media (max-width: 1011px)
{
	.h_search_wrapper:focus-within {
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: white;
		z-index: 10000;
		display: flex;
		flex-direction: column;
	}
	
	.h_search_wrapper:focus-within .h_search_form{
		margin:5px;
	}
	.h_search_wrapper:focus-within #focusout{
		display:flex;
	}

	.h_search_form {
		
	}

	.h_search_input {
		font-size: 16px; 
	}

	.h_search_wrapper:focus-within .h_results_box {
		position: relative;
		width: 100%;
		height: 100%;
		max-height: none;
		border: none;
		top: 0;
	}
}



/* Ende suchzeile mit liveergebnis */

#mainmenu_topline{
	
}

.hm_icon{display:none;}

#menu_line{
	width:calc(100% + 16px); 
	display: flex; 
	flex-direction: column; 
	justify-content: space-around; 
	position:relative; 
	top:-8px; 
	left:-8px; 
	padding-top:0px; 
	padding-bottom:0px; 
	box-shadow: 0px 7px 3px 3px gray;
	margin-bottom: 30px;
	background-color:#f2f2f2;
}

#topline_div{
	width:1012px;
	display: flex;
	justify-content: space-between;
	margin: auto;
}

#topline_subdiv{
	width: 100%;
	margin-left: 10px;
}

#anmelden_div{
	right: calc(50% - 506px);
	position: absolute;
	width: fit-content;
	top: 50px;
	border: none;
	padding: 10px;
	background: white;
	display:none;
	max-width:300px;
	z-index:100;
	box-shadow:0px 0px 10px gray;
}

.wk_add_btn{
	border:none; 
	background-color:#dfdfdf;
	width:120px; 
	height:3em;
	border: none;
	cursor:pointer;
	border-radius: 15px; 
	color:black;
	box-shadow:0px 0px 1px 1px black;
	padding: 5px;
	font-size: medium;
}

.wk_add_btn:hover{
	background-color:#f2f2f2;
}

.cms_header1{
	font-size: xx-large;
	margin-bottom:5px;
}
h1{
	font-size: xx-large;
	margin-bottom:5px;
}

.cms_header2{
	font-size: x-large;
	margin-bottom:5px;
}
h2{
	font-size: x-large;
	margin-bottom:5px;
}

.cms_header3{
	font-size: large;
	margin-bottom:5px;
}
h3{
	font-size: large;
	margin-bottom:5px;
}

.cms_text{
	font-size: ;
	margin-top:0px;
	hyphens: auto;
	text-align: justify;
}
.cms_zitat{
	font-size: ;
	margin-left:50px;
	font-style: italic;
	margin-top:0px;
	hyphens: auto;
	text-align: justify;
}

.topline_logo{
	height:6em;
}

.searchlinexxxx{
	border:none;
	font-size: medium;
	width: 100%;
	height: 100%;
	border-radius: 40px 0px 0px 40px;
	padding: 10px;
}

.searchlinemmm:focus{
	outline: 1px solid #fb7907;
}

.searchline_div{
	background-color: white; 
	padding: 0px;
	border-radius: 40px 0px 0px 40px;
	border: 1px solid #c6c6c6; 
	color:black;
	width: 100%;
}

#searchline_subdiv{
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.searchline_btn{
	border-radius: 0px 40px 40px 0px;
	border: 1px solid #c6c6c6;
	background-color: #f8f8f8;
	width: 75px;
	cursor:pointer;
}

.searchline_btn:hover{
	background-color: #f0f0f0;
}

.searchline_ds_btn{
	background-color: #dfdfdf;
	color:black;
	font-weight:bold; 
	border: none; 
	border-radius: 15px; 
	padding: 10px;
	padding-left:30px;
	padding-right:30px;
	cursor:pointer;
	box-shadow:0px 0px 1px 1px black;
}

.searchline_ds_btn:hover{
	background-color: #f2f2f2;
}
.xbutton{
	border: none;
	background-color: #dfdfdf;
	color: black;
	border-radius: 50%;
	height: 35px;
	width: 35px;
	font-size: medium;
	padding: 3px;
	position: absolute;
	right: 20px;
	cursor: pointer;
	box-shadow:0px 0px 1px 1px black;
	text-align: center
}

.xbutton:hover{
	background-color:#f2f2f2; 
	font-weight:bold;
}

.schatten{
	position: fixed;
	width: calc(100% + 16px);
	height: calc(100% + 16px);
	background-color: black;
	opacity: 0.4;
	top: -8px;
	left: -8px;
	display:none;
}

.boxen{
	position:fixed;
	background-color:white;
	display:none;
	overflow:auto;
	border: 2px solid red;
	padding:10px;
	border-radius:15px;
	box-shadow: blue 0px 0px 15px;  box-shadow: red 0px 0px 15px;
}

.ladezirkel_relativ{
	margin: auto;
	height: 40px;
	width: 40px;
	border-width: 6px;
	border-style: solid;
	border-color: #2180c0 #ccc #ccc;
	border-radius: 100%;
	position: relative;
	animation: ladezirkelrotation .7s infinite linear;
}

#stoeberndiv
{
	display: none;
	flex-direction: column;
	position: fixed;
	left: calc(50% - 506px);
	background-color: white;
	width: 506px;
	z-index: 101;
	height: 100%;
	top: 0px;
	padding: 20px;
	overflow-x: scroll;
}

.stoebern_spacer{height:8px;}

.stoebern-toggle {
  display: none;
}
.stoebern-toggle2 {
  display: none;
}

.stoebern0{margin-bottom: 10px;}
.stoebern2{display:none; flex-direction: column; margin-left: 20px;}
.stoebern4{display:none; flex-direction: column; margin-left: 20px;}

.stoebern1{text-decoration:none; color: black; cursor:pointer;}
.stoebern3{text-decoration:none; color: black;margin-top: 5px; cursor:pointer;}
.stoebern5{text-decoration:none; color: black;margin-top: 5px; cursor:pointer;}


.stoebern-toggle:checked ~ .stoebern2 {
  display: flex;
}
.stoebern-toggle2:checked ~ .stoebern4 {
  display: flex;
}


@keyframes ladezirkelrotation
{
	from {transform: rotate(0deg);} to {
		transform: rotate(359deg);
	}
}

.owl-dots {
  text-align: center;
  margin-top: 12px;
}

.owl-dots .owl-dot {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 6px;
  padding: 0;
  border: 0;
  background: #bbb !important;
  border-radius: 50%;
  vertical-align: middle;
  cursor: pointer;
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
}

.owl-dots .owl-dot span {
  display: block;
  width: 100%;
  height: 100%;
}

.owl-dots .owl-dot:hover { background: #999; }
.owl-dots .owl-dot.active { background: #333 !important; }


.gsmotivs{
	height: 150px;
	cursor:pointer;
	padding:10px;
	margin: 10px;
	box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.5);
}
.gsmotivs:hover{
	box-shadow: 0px 0px 15px 0px blue;
}
.gsmotivselect{
	box-shadow: 0px 0px 15px 0px #fb7907;
}
#ls_div{
	display:none;
	flex-direction:column;
	background-color: rgba(255, 255, 255, 1) !important;
	background-clip: padding-box;
	position: relative;
	margin-left: -8px;
	margin-right: -8px;
	padding: 16px;
	max-height:100%;
	height:100%;
	box-shadow: 0px 7px 3px 3px gray;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	backface-visibility: hidden;
}

#searchline_container{
	display: flex;
	width: 100%;
}

.ls_main{
	text-decoration:none;
	color:black;
	margin-bottom:10px;
}
.ls_main:hover{
	background-color:#f2f2f2;
}

.ls_main div {
    pointer-events: none;
}

#mic-btn{
	display:none;
}
#focusout{
	display:none;
	background-color:white;
}

#status-message{
	display:none;
}

@media screen and (min-width: 1012px)
{
	.searchform{
		flex-direction: column;
	}
	body:not(.is-safari) .searchform:focus-within #ls_div{
		display:flex;
	}
	.is-safari #ls_div {
		display: none !important;
	}
	.searchform:focus-within{
		z-index:100000;
	}
}
@media screen and (max-width: 1011px)
{
	#ai_chat_layer{
		left: 10%;
		padding-right: 10px;
		width: auto;
		right: 0px;
	}
	
	.cms_zitat{
		margin-left: 15px;
	}
	#submenu_spalten{
		flex-direction: column;
	}
	#stoeberndiv{
		right: 10%;
		padding-left: 10px; 
		width: auto;
		left: 0px;
	}
	
	body{
		margin:0px;
	}
	
	.owl-carousel{
		margin: 0px;
		width: 95%;
	}
	
	#anmelden_div{right: 0px;}
	
	#menu_line{
		position: absolute;
		z-index: 98;
		top: 0px;
		width:90%;
		right: 0px;
		height: 100%;
		display:none;
	}
	
	#nav_container{
		display: flex;
		padding-left: 16px;
		padding-right: 16px;
	}
	
	#maindiv{width: calc(100% - 32px); padding-left: 0px;}
	
	
	#maindiv_header{
		width: calc(100% - 16px);
		top: 0px;
		left: 0px;
		padding: 8px;
		box-shadow: 0px 7px 3px 3px gray;
	}
	#mainmenu_topline{
		max-height: fit-content;
		padding-bottom:0px;
	}
	
	
	
	/*Hamburger anzeigen*/
	
	.hm_icon {
		display: inline-block;
		cursor: pointer;
		width: 30px;
		height: 25px;
		position: relative;
		left: calc(100% - 60px);
		bottom: 55px;
		z-index: 99;
	}

	.hm_icon span {
		background: #fb7907;
		position: absolute;
		width: 100%;
		height: 3px;
		left: 0;
		transition: all 0.3s ease;
	}

	.hm_icon span:nth-child(1) { top: 0; }
	.hm_icon span:nth-child(2) { top: 10px; }
	.hm_icon span:nth-child(3) { top: 20px; }
	
	.hm_toggle:checked + .hm_icon span:nth-child(1)
	{
		transform: rotate(45deg);
		top: 10px;
	}

	.hm_toggle:checked + .hm_icon span:nth-child(2)
	{
		opacity: 0;
	}

	.hm_toggle:checked + .hm_icon span:nth-child(3)
	{
		transform: rotate(-45deg);
		top: 10px;
	}
	
	.hm_toggle:checked ~ #mainmenu
	{
		display: flex;
	}
	
	.hm_toggle:checked ~ #menu_line
	{
		display: flex;
	}

	.topline_logo{
		height:3em;
	}
	#topline_subdiv{
		width: calc(100% - 10px);
		margin-left: 0px;
	}
	#searchline_subdiv{
		align-items: baseline;
		padding-top: 5px;
	}
	
	.searchline_ds_btn{
		padding: 10px;
		font-weight: normal;
		font-size: medium;
		margin-bottom: 0px;
	}
	
	body:not(.is-safari) #searchline_mainmmmm:focus{
		border: none;
		font-size: medium;
		width: 100%;
		height: 100%;
		border-radius: 0px 0px 0px 0px;
		padding: 10px;
	}
	body:not(.is-safari) .searchlinemmmm:focus{
		border: none;
		border-radius: 0px 0px 0px 0px;;
		outline: none;
	}
	body:not(.is-safari) .searchform:focus-within{
		position:fixed;
		top:0px;
		left:0px;
		width:100%;
		display: flex;
		flex-direction: column;
		z-index: 1000000;
		background-color:white;
	}
	body:not(.is-safari) .searchform:focus-within .searchline_btn{
		border-radius: 0px 0px 0px 0px;;
	}
	
	body:not(.is-safari) .searchform:focus-within #searchline_container{
		border: 1px solid #fb7907;
	}
	
	body:not(.is-safari) .searchform:focus-within #focusout{
		display:flex;
	}
	
	body:not(.is-safari) .searchform:focus-within #ls_div{
		display:flex;
	}
	.is-safari #ls_div {
		display: none !important;
	}
	
	.searchline_div{
		display: flex;
	}
	#mic-btn{
		display:flex;
		align-items: center;
	}
	
	.searchline_div:focus-within{
		border: none;
		border-radius: 0px 0px 0px 0px;
	}
	p{
	}
}