/* styles Desktop 1220 px
======================== */
html {
	width:100%;
	background-color:#e9eaee;
	scroll-behavior: smooth;
}
body {
	display:grid;
	max-width:1085px;
	min-height: 100.1vh;
	margin:auto;
	grid: "head head head" 165px
		  "menu menu menu" min-content
	      "left main right" auto
	      "left footer right" min-content
	      / 240px 605px 240px;
	grid-gap:0;
	background-color:#fff;
	font-family: 'Fira Sans', sans-serif;
	font-size:20px;
	font-weight:300;
	color:#000;
	line-height:150%;
}
header {
	grid-area:head;
	height:160px;
	box-shadow:0 5px 3px #ddd;
	position:relative;
}
#logo {
	float:left;
	width:236px;
	height:107px;
	margin:27px 0 0 44px;	
}
#logo a {
	display:block;
	width:236px;
	height:107px;
	background:url(/images/logo_lagwr.png) top left / 100% auto no-repeat;
}
#fontsize {
	position:absolute;
	display:block;
	width:50px;
	height:160px;
	right:0;
	top:0;
}
#fontsize a {
	z-index:100;
	position:absolute;
	display:block;
	border:0;
	border-radius:50% 0 0 50%;
	background-color:#e0e5e7;
	color:#254e76;
	text-align:center;
	box-shadow:0 2px 0 #254e76;
	font-size:32px;
	width:40px;
	height:46px;
	right:0;
	line-height:46px;
	padding-left:8px;
}
#fontsize a.selected {
	color:#e0e5e7;
	background-color:#254e76;
}
#fontsize a:hover {
	color:#fff;
	background-color:#4db961;
}
#fontsize #fontsize_big {
	top:24px;
}
#fontsize #fontsize_normal {
	top:82px;
}
#headpic {
	grid-area:head;
	position:absolute;
	left:424px;
	bottom:0;
	width:530px;
	height:160px;
	background:url(/images/lagwr_hessen_2025.jpg) 56px 0px / 350px auto no-repeat;
}
#suche {
	grid-area:suche;
	width:100%;
	height:40px;
}
#suche input {
	width:calc(100% - 42px);
	border:0;
	box-sizing:border-box;
	border-top:1px solid #ebebeb;
	border-bottom:1px solid #ebebeb;
	height:40px;
	padding:0 0 0 56px;
	background:url(/images/suche_lupe.png) 22px 8px / 24px 24px no-repeat #fafafa;
	font-family: 'Fira Sans', sans-serif;
	font-size:16px;
	line-height:36px;
	font-weight:400;
}
#suche a {
	display:inline-block;
	width:40px;
	height:40px;
	float:right;
	border-right:2px solid #fff;
}
#suche a.leichtesprache_0 {
	background:url('/images/icons/icon_ls_off.png') left top / 100% 100% no-repeat;
}
#suche a.leichtesprache_1 {
	background:url('/images/icons/icon_ls_on.png') left top / 100% 100% no-repeat;
}
#content article.ergebnis p.score {
	font-size:80%;
	font-weight:400;
	margin-bottom:8px;
}
#topmenu {
	grid-area:menu;
}
#sidemenu {
	grid-area:sidemenu;
	margin-top:48px;
}
#rightmenu {
	grid-area:boxes;
	margin-top:48px;
}
#sidemenu ul.ebene0,
#rightmenu ul.ebene0 {
	margin:0;
	padding:0 0 24px 0;
	list-style-type:none;
	z-index:400;
}
#adminmenu ul.ebene0 {
	margin-top:-24px;
}
#sidemenu ul li.ebene0 {
	background:url(/images/sidemenu_back.png) left top / 246px 54px no-repeat #fff;
	border-left:0;
}
#rightmenu ul li.ebene0 {
	background:url(/images/internmenu_back.png) right top / 246px 54px no-repeat #fff;
	border-right:0;
	text-align:right;
}
#sidemenu ul li.ebene0:not(.open):not(.selected):hover {
	border-left:16px solid #b3bac4;
}
#rightmenu ul li.ebene0:not(.open):not(.selected):hover {
	border-right:16px solid #667588;
}
#sidemenu ul li.ebene0 a.ebene0,
#rightmenu ul li.ebene0 a.ebene0 {
	display:block;
	height:54px;
	margin:0 0 28px 0;
	color:#fff;
	font-weight:400;
	line-height:54px;
	text-transform:uppercase;
	overflow:hidden;
}
#sidemenu ul li.ebene0 a.ebene0 {
	width:126px;
	padding:0 0 0 120px;
	background:url(/images/icons/sidemenu/icon_lag.png) 30px center / 60px 60px no-repeat;
}	
#rightmenu ul li.ebene0 a.ebene0 {
	background:url(/images/icons/sidemenu/icon_intern.png) 174px center / 60px 60px no-repeat;
	width:166px;
	margin-left:54px;
	padding:0 80px 0 0;
}
#rightmenu ul li.ebene0:not(.open):not(.selected):hover a {
	margin-left:38px;
}
#rightmenu ul.ebene1 {
	position:relative;
	margin:-28px 0 28px 70px;
	padding:16px 0 16px 0;
	list-style-type:none;
	width:240px;
	background-color:#f6f7f9;
	z-index:300;
}
#rightmenu ul li.ebene1 {
	padding-left:24px;
	text-align:left;
}
#rightmenu ul li.ebene1 a.ebene1 {
	display:block;
	color:#667588;
	line-height:200%;
	text-transform:uppercase;
	font-family: 'Fira Sans Condensed', sans-serif;
	font-weight:400;
}
#rightmenu ul li.ebene1.selected a {
	font-weight:500;
}
#rightmenu ul li.ebene1.selected li a {
	font-weight:400;
}
#rightmenu ul li.ebene1 a:hover {
	color:#8fd300;
}
#rightmenu ul.ebene2 {
	position:relative;
	margin:0 0 8px 0;
	padding:0;
	width:216px;
	background-color:#f6f7f9;
	z-index:300;
	font-size:90%;
}
#rightmenu ul li.ebene2 {
	margin-left:16px;
	line-height:150%;
	list-style-type:disc;
}
#rightmenu ul li.ebene2.selected a.ebene2 {
	font-weight:500;
}
#rightmenu ul li.ebene2.selected li a {
	font-weight:400;
}
#rightmenu ul.ebene3 {
	position:relative;
	margin:4px 0 8px 16px;
	font-size:90%;
	padding:0;
	list-style-type:disc;
	width:184px;
	background-color:#f6f7f9;
	z-index:300;
	font-weight:300;
}
#rightmenu ul li.ebene3.selected a.ebene3 {
	font-weight:500;
}
#rightmenu ul li.ebene1 input {
	margin:4px 0 4px 0;
	width:180px;
}
#rightmenu ul li.ebene2 input {
	margin:4px 0 4px 0;
	width:164px;
}
#rightmenu ul li.ebene3 input {
	margin:4px 0 4px 0;
	width:148px;
}
#rightmenu ul.ebene4 {
	padding-left: 16px;
}
#rightmenu ul li.ebene4 input {
	width:132px;
}
#content {
	grid-area:main;
	position:relative;
	overflow-x:hidden;
	margin:32px 0 0 0;
	padding-bottom:48px;
}
footer {
	grid-area:footer;
	line-height:24px;
	color:#254e76;
	font-family:'Fira Sans Condensed',sans-serif;
	font-size:14px;
	position:relative;
	align-self: end;
}
footer section {
	position:relative;
	bottom:24px;
}
#editor_switch {
	margin-bottom:24px;
}
#footermenu {
	display:inline-block;
}
#footermenu ul {
	margin:0;
	padding:0;
	list-style-type:none;
	display:inline-block;
}
#footermenu ul li {
	display:inline-block;
	width:auto;
}
#footermenu ul li:before {
	display:inline-block;
	content:'·';
	margin:0 8px 0 4px;
}
#footermenu ul a {
	color:#254e76;
	font-weight:300;
}
#footermenu ul a.selected {
	font-weight:bold;
}
#footermenu ul a:hover {
	color:#4db961;
}
#headpic #gallery {
	position:relative;
	right:0;
	top:0;
	margin:0;
	width:calc(100% - 1px);
	height:100%;
	background-size:cover;
}
#headpic #gallery figure {
	position:absolute;
	width:100%;
	height:100%;
	display:block;
	background-position:center center;
	background-size:cover;
	margin:0;
	z-index:1;
}

/* Menü
=======*/
#showmenu {
	display:none;
}
#topmenu {
	margin:0;
	background-color:#fff;
	height:auto;
}
#menu {
	text-align:center;
}
/*Ebene 0 Hauptmenü*/
#topmenu ul {
	display: block;
	margin:0;
	padding:0;
	font-size:0;
	text-align:center;
}

#topmenu li {
	display:inline-block;
	position:relative;
	margin:24px 16px;
	width:180px;
	height:62px;
	border:1px solid #4db961;
	border-radius:32px;
	font-size:16px;
	background-color:#4db961;
}
#topmenu li.selected,
#topmenu li.open {
	border-color:#254e76;
	background-color:#fff;
	box-shadow:4px 4px 0 #254e76;
}
#topmenu ul li a {
  	display:inline-block;
	width:148px;
	padding:0 16px 0 16px;
	text-align:center;
	line-height:62px;
	font-weight:500;
	font-size:28px;
	text-transform:uppercase;
	text-decoration: none;
	color: #fff;
	background-color:transparent;
	-webkit-transition: color .1s ease-in;
	transition: color .1s ease-in;
}
#topmenu ul li.selected a.selected,
#topmenu ul li.open a.open {
	color:#254e76;
}
#topmenu ul li.selected:hover a.selected,
#topmenu ul li.selected:hover a.open {
	color:#fff;
}
#topmenu ul li a.suche {
	background:url(/images/icons/icon_suche_lupe.png) 120px 12px / 40px 40px no-repeat;
	text-align:left;
	padding:0 0 0 32px;
}
#topmenu ul li a.suche.selected {
	background-image:url(/images/icons/icon_suche_lupe_selected.png);
}
#topmenu ul li a.suche:hover {
	background-image:url(/images/icons/icon_suche_lupe.png);
}
#topmenu ul li.onlymobile {
	display:none;
}
#topmenu ul li:hover {
	color:#fff;
	background-color:#254e76;
	border-color:#254e76;
}
#topmenu ul li.has-child:hover a.ebene0,
#topmenu ul li.has-child:focus a.ebene0,
#topmenu ul li.has-child:active a.ebene0
 {
  color:#fff;
  -webkit-transition: color 0.01s;
  transition: color 0.01s;
}
  
/*Ebene 1 Untermenü */
#topmenu ul.ebene1 {
  display:inline-block;
  margin:auto;
  text-align:left;
  -webkit-transition: all 0s 0s;
  transition: all 0s 0s;
}
#topmenu ul.ebene1 li {
  display:inline-block;
  width:max-content;
  margin:24px 16px 0 0;
  height:36px;
  box-shadow:0 0 0;
}

#topmenu ul.ebene1 li:last-child {
	margin-right:0;
}
#topmenu ul.ebene1 li a {
  	width:max-content;
  	display:inline-block;
	text-transform:none;
	font-size:20px;
	line-height:36px;
	color:#fff;
}
#topmenu a.hidden {
	font-style:italic;
}
#topmenu input.ebene1 {
	background-color:transparent;
	color:#fff;
	width:150px;
	font-size:20px;
	line-height:36px;
	text-align:center;
	border:0;
	font-weight:500;
	outline:0;
}
#topmenu input.ebene1::placeholder {
	color:#ddd;
}

#topmenu input.ebene2 {
	font-size:12px;
	font-family:'Fira Sans', sans-serif;
	border:8px solid #314150;
	padding:3px;
}
@keyframes pulsieren {
	0% { background-size:auto 100%; }
	20% {background-size:auto 108%; }
	40% {background-size:auto 100%; }
}
	
/* Content-Styles
================*/
h1 {
	font-family:'Fira Sans',sans-serif;
	font-size:28px;
	font-weight:bold;
	line-height:120%;
	margin:0 0 16px 0;
	color:#254e76;
}

h2 {
	font-family:'Fira Sans',sans-serif;
	font-size:24px;
	font-weight:bold;
	line-height:120%;
	margin:0 0 16px 0;
	color:#4db961;
}
h2 a {
	color:#000;
}
h2 a:hover {
	color:#8fd300;
}

h3 {
	font-family:'Fira Sans',sans-serif;
	font-size:24px;
	font-weight:500;
	line-height:120%;
	margin:0 0 6px 0;
	color:#254e76;
}

h4 {
	font-family:'Fira Sans',sans-serif;
	font-size:16px;
	font-weight:800;
	line-height:120%;
	margin:1em 0 0.5em 0;
}

#content {
	outline:0;
	color:#2a4050;
	font-weight:400;
}
#content div.teaser {
	font-family:'Fira Sans Condensed',sans-serif;
	font-size:20px;
	font-weight:400;
	line-height:140%;
}	
#content p {
  margin:0 0 32px 0;
  font-weight:400;
  display:block;
}

#content p.small {
  font-size:12px;
}
#content p + ul {
  margin-top: -1em;
}

#content ul {
  list-style:disc outside none;
  padding:0 0 0 20px;
  margin:0;
  font-weight:400;
}

#content ul.mit-head li {
	padding-top:16px;
	color:#8fd300;
	font-weight:bold;
}
#content ul ul {
  list-style:none;
  padding:0 0 0 20px;
  margin:0;
}
#content ul.mit-head ul li {
	padding-top:0;
	color:#000;
	font-weight:300;
}
#content ul.mit-head ul li::before {
  content: "\2022";
  color: #9d9d95;
  font-weight: bold;
  display: inline-block;
  width: 1em;
  margin-left: -1em;
}


#content article {
	position:relative;
	margin-bottom:24px;
	padding-bottom:12px;
	border-bottom:2px dotted #9d9d95;
}
#content article:last-child {
	border-bottom:0;
}

#content img {
	max-width:100%!important;
	height:auto!important;
}

#content figure {
	width:100%;
	margin:0 0 12px 0;
	padding:0;
}
#content figure img {
	width:100%;
	height:auto;
}
* a {
	text-decoration:none;
	color:#667588;
	line-height:24px;
	cursor:pointer;
	text-decoration:none;
}
	
* a.morelink {
	position:absolute;
	display:block;
	bottom:0;
	width:100%;
	padding-bottom:8px;
	background-color:#fff;
	z-index:10;
}
* a.morelink::after {
	position:absolute;
	display:block;
	top:-24px;
	width:100%;
	height:24px;
	content:" ";
	background-color:transparent;
	background-image:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
}

* a.pdf {
  display:inline-block;
  padding:4px 0px 0px 44px;
  background:url("/images/icons/icon_dl_pdf.png") left center / auto 100% no-repeat;
}
* a.mail {
  display:inline-block;
  padding:4px 0px 0px 44px;
  background:url("/images/icons/icon_email.png") left center / auto 100% no-repeat;
  margin-bottom:20px;
}

* a.video {
  display:inline-block;
  height:30px;
  padding:4px 0px 0px 44px;
  background:url("/images/icons/video.png") left 2px no-repeat;
}
* a:hover {
	color:#4db961;
}

#content a.button, #content input.button {
	display: inline-block;
	text-transform: uppercase;
	background-color: #f47c40;
	color: #fff;
	padding: 8px;
	border: 0;
	font-weight:400;
}
input[type="search"] {
	padding: 7px;
	font-weight:400;
	border:1px solid grey;
	outline:0;
	width:340px;
}

/* Allgemein
============*/
*.rechts {
  float:right;
  margin-left:12px;
}

*.links {
  float:left;
  margin-right:12px;
}

*.zentriert {
  display:block;
  width:100%;
  text-align:center;
}

*.small {
  font-size:80%;
}

.clearfix:after {
    content: ".";
    clear: both;
    display: block;
    visibility: hidden;
    height: 0px;
}

p {
  -moz-hyphens: auto;
  -o-hyphens: auto;
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

a {
  -moz-hyphens: none;
  -o-hyphens: none;
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

*.fehler {
  color:#C20000;
}

#content *.infobox {
	font-size:80%;
	display:block;
	border:1px solid #959595;
	background-color:#fafafa;
	padding:12px;
	margin:12px 0;
}

input.download {
	border:0;
	display:inline-block;
	padding-left:20px;
	background:url('/images/icons/icon_download.png') left 2px / 16px 16px no-repeat;
}
input.download:hover {
	color:#8fd300;
	background-image:url('/images/icons/icon_download_hover.png');
}

form.standard {
	display:block;
	margin-bottom:2em;
}
form.standard *.fehler {
  color:initial;
}
form.standard p.fehler,
form.standard label.fehler {
  color:#c20000;
}
form.standard select.fehler option.placeholder {
	color:#7f7f7f;
}
form.fullcol input:not([type='checkbox']),form.fullcol select,form.fullcol textarea {
	box-sizing: border-box;
	width:calc(100% - 10px);
	padding:4px;
	margin-bottom:1em;
	border:1px solid #000;
	border-radius:4px;
}

form.standard *.fehler,
form.fullcol input.fehler,
form.fullcol select.fehler,
form.fullcol textarea.fehler {
	border-color:#c20000;
	outline:0;
}

input.ls,label.ls {
	background: url(/images/icons/icon_ls_off.png) right top / auto 100% no-repeat;
}
textarea.ls:after {
	width:24px;
	height:24px;
	display:block;
	position:relative;
	top:-24px;
	right:0;
	background: url(/images/icons/icon_ls_off.png) right top / auto 100% no-repeat;
}

/* Footer
=========*/
footer a {
  display:inline-block;
  text-decoration: none;
  color: #000;
  -webkit-transition: color .1s ease-in;
  transition: color .1s ease-in;
  line-height:100%;
}
footer a.selected {
	font-weight:bold;
}
footer.editor {
	padding-bottom:48px;
}

plugin {
	background:url('/images/plugin_placeholder.png') left top / 282px 90px #fff no-repeat;
	height:90px;
	color:#000;
	display:block;
	overflow:hidden;
	font-family:'Fira Sans Condensed', sans-serif;
	font-size:20px;
	font-weight:400;
	padding:6px 0 0 90px;
	white-space:nowrap;
	box-sizing:border-box;
}

#toolbar {
	position:fixed;
	bottom:0;
	height:44px;
	width:1200px;
	margin:0 auto;
}

#message {
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	background-color:#f3f3f3;
	text-align:center;
	color:#000;
	display:inline-block;
	padding:20px;
	line-height:200%;
	border-bottom:1px solid #c2c2c2;
	z-index:10000;
}
#message.ok {
	background-color:#f2fff2;
}
#message.fehler {
	background-color:#fff2f2;
}
div.noeditor {
	position: absolute;
	left: calc(50% - 288px);
	top: 50%;
	background-color: #fff;
	width: 582px;
	padding: 16px;
	border: 3px solid #4db961;
	z-index: 5000;
}

/* styles Mobile<1104 px
======================== */
@media only screen and (max-width:1104px) {
body, html {
	background-color:#fff;
}
body {
	grid:	"head" max-content
			"menu" max-content
			"main" auto
			"footer" min-content
			/ 100%;
	grid-gap:0;
}
header {
	height:auto;
}
#logo {
	display:grid;
	margin:0;
	padding:0;
	width:100%;
	height:min-content;
	text-align:left;
	float:none;
}
#logo a {
	background: url(/images/logo_lagwr_mobile.png) top left / 100% auto no-repeat;
	margin-top:18px;
	margin-left:16px;
	width:calc(100% - 16px);
	height:auto;
	max-width:100%;
	min-height:13vw;
}
#fontsize {
    display: none;
}

#headpic {
	position:relative;
	left:0;
	margin:12vw 0 -1px 0;
	width:100vw;
	height:auto;
	max-width:100%;
	min-height:25vw;
	background: url(/images/lag_wr_silhouetten.png) left bottom / 100% auto no-repeat;
}
#topmenu {
	grid-area:menu;
}
#menu {
	display:block;
	position:relative;
	width:100%;
	padding:0;
	z-index:10000;
}
#content {
	width:calc(100% - 48px);
	padding:20px 24px;
	border-bottom:0;
}

/*Hauptmenü*/
#topmenu ul {
	display: block;
	margin:24px 0 0 0;
	padding:0;
	text-align:center;
}

#topmenu li {
	display:block;
	width:250px;
	min-width:50%;
	margin:0 auto 24px auto;
}
#topmenu ul li a {
	width:90%;
}
#topmenu ul li a.suche {
	background: url(/images/icons/icon_suche_lupe.png) calc(50% + 70px) 12px / 40px 40px no-repeat;
	text-align: center;
	padding: 0 0 0 0px;
}

#menu ul.ebene0.noview {
	display:none;
}
#menu ul.ebene1 {
	margin-left:0;
	text-align:center;
}
#menu ul.ebene1 li {
	display:block;
	width:250px;
	min-width:50%;
	height:62px;
	margin:0 auto 24px auto;
}
#menu ul.ebene1 li a {
	font-size:24px;
	line-height:62px;
	width:90%;
}

#content {
	margin-top:0px;
}
#content img {
	width:100%!important;
}

#content #Regionen {
	width:390px!important;
	min-width:390px!important;
	max-width:390px!important;
	float:none!important;
}

footer {
	padding:0 24px 12px 24px;
	border:0;
	margin:0;
	font-size:14px;
}
#footermenu, #footermenu ul li {
	display:block;
}
#footermenu ul li:before {
	margin:0;
	content:'';
}
}