

/* alegreya-sans-300 - latin */
@font-face {
  font-family: 'Alegreya Sans';
  font-style: normal;
  font-weight: 300;
  src: url('/fonts/alegreya-sans-v8-latin-300.eot');
  src: local('Alegreya Sans Light'), local('AlegreyaSans-Light'),
       url('/fonts/alegreya-sans-v8-latin-300.eot?#iefix') format('embedded-opentype'),
       url('/fonts/alegreya-sans-v8-latin-300.woff2') format('woff2'), 
       url('/fonts/alegreya-sans-v8-latin-300.woff') format('woff'),
       url('/fonts/alegreya-sans-v8-latin-300.ttf') format('truetype'), 
       url('/fonts/alegreya-sans-v8-latin-300.svg#AlegreyaSans') format('svg'); 
}
/* alegreya-sans-regular - latin */
@font-face {
  font-family: 'Alegreya Sans';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/alegreya-sans-v8-latin-regular.eot');
  src: local('Alegreya Sans Regular'), local('AlegreyaSans-Regular'),
       url('/fonts/alegreya-sans-v8-latin-regular.eot?#iefix') format('embedded-opentype'),
       url('/fonts/alegreya-sans-v8-latin-regular.woff2') format('woff2'),
       url('/fonts/alegreya-sans-v8-latin-regular.woff') format('woff'), 
       url('/fonts/alegreya-sans-v8-latin-regular.ttf') format('truetype'),
       url('/fonts/alegreya-sans-v8-latin-regular.svg#AlegreyaSans') format('svg');
}
/* alegreya-sans-500 - latin */
@font-face {
  font-family: 'Alegreya Sans';
  font-style: normal;
  font-weight: 500;
  src: url('/fonts/alegreya-sans-v8-latin-500.eot'); 
  src: local('Alegreya Sans Medium'), local('AlegreyaSans-Medium'),
       url('/fonts/alegreya-sans-v8-latin-500.eot?#iefix') format('embedded-opentype'),
       url('/fonts/alegreya-sans-v8-latin-500.woff2') format('woff2'),
       url('/fonts/alegreya-sans-v8-latin-500.woff') format('woff'),
       url('/fonts/alegreya-sans-v8-latin-500.ttf') format('truetype'), 
       url('/fonts/alegreya-sans-v8-latin-500.svg#AlegreyaSans') format('svg'); 
}
/* alegreya-sans-700 - latin */
@font-face {
  font-family: 'Alegreya Sans';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/alegreya-sans-v8-latin-700.eot');
  src: local('Alegreya Sans Bold'), local('AlegreyaSans-Bold'),
       url('/fonts/alegreya-sans-v8-latin-700.eot?#iefix') format('embedded-opentype'), 
       url('/fonts/alegreya-sans-v8-latin-700.woff2') format('woff2'), 
       url('/fonts/alegreya-sans-v8-latin-700.woff') format('woff'),
       url('/fonts/alegreya-sans-v8-latin-700.ttf') format('truetype'), 
       url('/fonts/alegreya-sans-v8-latin-700.svg#AlegreyaSans') format('svg');
}

* {box-sizing: border-box;}
body {margin:0;background:#666;font-family:'Alegreya Sans',sans-serif;font-size:19px;font-weight:400; overflow-y: scroll;}
strong, b {font-weight:700;color:#007757;}

ul { list-style-image: url('/img/square.png');padding-left:26px;  }
ul > li { padding-left:4px; }


body.startSite .displaySimpleHead { display:none; margin-top: 86px; line-height: 0; }
body.startSite .logooverlay { transition:all 0.2s;  }

@media (max-width: 1500px)
{
	body.startSite .logooverlay { height:80vh !important; padding-top:25vh !important;  }
}
@media (max-width: 1075px)
{
	body.startSite .logooverlay {margin-top:75px; }
}
@media (max-width: 1075px)
{
	body.startSite .logooverlay { height:50vh !important; padding-top:10vh !important; }
	body.startSite .logooverlay  > img { width: 40%; opacity: 0.5 !important; }
}
@media (max-width: 775px)
{
	body.startSite .logooverlay { height:35vh !important; padding-top:4vh !important; }
	body.startSite .logooverlay  > img { display:none;}
}
@media (max-width: 500px)
{
	body.startSite .logooverlay { height:30vh !important; padding-top:4vh !important; }
	body.startSite .logooverlay  > img { display:none;}
}

@media (max-width: 340px)
{
div.fixedslider {top:inherit; margin-top:unset !important; }
}



.mainmenu {position:fixed;z-index:50;top:25px;left:0;width:100%;display:flex;justify-content: center;font-weight:400;transition:width .4s; padding-top:4px; }
.mainmenu > a,
.mainmenu > ul > li > a {box-shadow:0 0 15px rgba(0,0,0,0.1);color:#181716;margin-left:20px;text-decoration:none;background:#fff;width:170px;text-align:left;padding:23px 0;text-transform: uppercase;transition:all .4s,boxshadow 0s; display:inline-block; }
.mainmenu > a:nth-of-type(1){width:0px;padding:0;background:transparent; box-shadow:none;}
.mainmenu > a:nth-of-type(1){margin-left:0;}
.mainmenu > ul > li > a:hover {color:#000;font-weight:500;}
.mainmenu > a > img {width:100%;opacity:0;transition: all .4s; height:72px;}
.mainmenu.nottop {background:#fff;top:0px; box-shadow: 0px 0px 8px rgba(0,0,0,0.5);}
.mainmenu.nottop a {box-shadow:none;padding:37px 0;}
.mainmenu.nottop > a:nth-of-type(1){width:110px;margin-right:30px;padding:4px 0 0 0;}
.mainmenu.nottop a img {opacity:0.6;}		
.mainmenu.nottop > a:nth-of-type(1):hover {background:#fff;color:#fff;}

.mainmenu > ul { list-style:none; margin:0; margin-top:23px; display:flex;padding:0; }
.mainmenu.nottop > ul { margin-top:0px;}
.mainmenu > ul > li {  }

.mainmenu > ul > li { position:relative;  }
.mainmenu > ul > li > ul { display:none; position:absolute; top:100%; left:0;  }
.mainmenu > ul > li:last-child > ul { display:none; position:absolute; top:100%; right:0;  }
.mainmenu > ul > li:hover > ul { display:block; margin:0; padding:0; list-style:none; background: rgba(255,255,255,0.9); margin-left:20px; }
.mainmenu.nottop > ul > li:hover > ul { margin-left:8px; box-shadow: 0 5px 5px rgba(0,0,0,.5); min-width: 200px; right:0; left:unset; }
.mainmenu > ul > li:hover > ul > li:nth-child(2n) { background: rgba(210,210,210,0.5);  }
.mainmenu > ul > li:hover > ul > li > a { color: rgba(80,80,80,1); text-decoration:none; text-transform:uppercase; padding:0; width:100%; display:inline-block; padding: 6px 13px;  }
.mainmenu > ul > li:hover > ul > li > a:hover { text-shadow: 0 0 2px rgba(0,0,0,0.3); }

.mainmenu > div#responsiveMenuIcon { display:none; padding-right:30px; }
.mainmenu > div#responsiveMenuIcon > img { width: 50px; height:50px; cursor:pointer; }
.mainmenu.responsive > div#responsiveMenuIcon { display:block; }
.mainmenu.responsive { justify-content: space-between; align-items:center; }
.mainmenu.responsive > ul  { display:none; }

.mainmenu.responsive.open {}
.mainmenu.responsive.open > ul { display:block; position:absolute; top: 86px; left:0; max-height: 82vh; max-width: 400px; overflow-y: auto;  box-shadow: 4px 4px 4px rgba(0,0,0,0.15);}
.mainmenu.responsive.open > ul > li { text-align:left; width:100%; background:white; padding:0;  }
.mainmenu.responsive.open > ul > li > a { text-align:left;padding:12px 13px; margin:0; }
.mainmenu.responsive.open > ul > li > ul { display:block; position:relative; margin:0; padding:0; list-style:none; background: rgba(210, 210, 210, 1);   }
.mainmenu.responsive.open > ul > li:hover > ul {  margin:0; padding:0; list-style:none; }
.mainmenu.responsive.open > ul > li > ul > li > a { color: rgba(80,80,80,0.8); text-decoration:none; text-transform:uppercase; padding:0; width:100%; display:inline-block; padding: 12px 13px; padding-left: 20px; font-size:0.9em;  }
.mainmenu.responsive.open > ul > li:hover > ul > li { }

.mainmenu > ul > li > ul > li > ul  { display:block; margin:0; padding:0; list-style:none; background: rgba(255,255,255,0.9); margin-left:20px; }

.mainmenu > ul > li > ul > li > ul > li > a { color: rgba(80,80,80,1); text-decoration:none; text-transform:uppercase; padding:0 !important; width:100%; display:inline-block; padding: 6px 13px;  }

.mainmenu.responsive ~ .fixedslider { margin-top: 60px; } 


/* Schatten Applikationen für die Startseite */
body.startSite .mainmenu.responsive { justify-content: space-between; align-items:center;  box-shadow: 0px 4px 4px rgba(0,0,0,0.15); }
body.startSite .mainmenu.responsive.open > ul { display:block; background:white; position:absolute; top: 86px; left:0; width:100%; height: 82vh; max-width: 400px; box-shadow: 4px 4px 4px rgba(0,0,0,0.15); }

body.startSite .mainmenu > ul > li > a { text-align:center; }
body.startSite .mainmenu.nottop > ul > li > a { text-align:left; }
body.startSite .mainmenu > ul > li > ul { margin-left:24px; min-width: 170px; }
body.startSite .mainmenu > ul > li:last-child > ul { min-width: 250px; right:0; left:unset; }
body.startSite .mainmenu > ul > li:hover > ul {  }
body.startSite .mainmenu.nottop > ul > li:hover > ul { margin-left: 8px; }

.fixedslider {position:fixed;width:100%;height:100%;z-index:-1; top:0px;}

.logooverlay {height:100vh;padding-top:50vh;text-align:center;position:relative}
.logooverlay > span {content:'';background: url(img/pfeil.png) center center no-repeat;position:absolute;bottom:0;left:0;width:100%;height:100px;}		
.logooverlay img {width:80%;max-width:450px;position:relative;left:-2%;}

.wrap {margin: auto;width:95%;max-width:1300px}
.flexed {display:flex;justify-content: space-between;align-items: flex-end;}
.footer {margin-top:50vh;background:#c7d2d3;padding:40px 0 40px 0;font-weight:400;color:#464f4e;font-size:15px;line-height:1.7em; height: 211px;}
/* .footer {margin-top:50vh;background:#c7d2d3;padding:2% 0 4% 0;font-weight:400;color:#464f4e;font-size:15px;line-height:1.7em;} */
.footer.static { margin-top:0; }
.footer img {display:block; width:165px; height:120px;}
.footer a {color:#464f4e; text-decoration:none;}

@media (max-width: 650px)
{
	.footer  { height: inherit;  }
	.footer .flexed { flex-wrap:wrap; padding-top:10px; }
	.footer .flexed > div { margin:0 auto; width:100%; text-align:center; margin-bottom:15px; }
	.footer .flexed > div img { display:inline; width: 140px;}
	.footer.static { position:relative; bottom:0; left:0; width:100%;margin:0; }

	body.startSite .footer { margin-top:0; }

}

h1 {font-size:78px;margin: 0; line-height:1.1em;color:#464f4d;font-weight:300}
small {font-size:0.7em}
.wbox {line-height:2.4em;background:#fff;color:#464f4d;padding:4% 0;text-align:center;font-size:27px}
.gbox {background:#007757;color:#fff;padding:2.5% 0;text-align:center;font-weight:300;font-style:italic;font-size:51px}
.rechner {display:none;height:80vh;background:url(img/rechner.jpg) no-repeat center center;background-size:cover;position:fixed;bottom:0;left:0;width:100%;z-index:-1;}

.sideicons { position:fixed;top:26vh; right:0px;;display:flex; flex-direction:column; background: rgba(255,255,255,0.7);padding:0 8px; }
.sideicons img { width: 32px; margin: 8px 0; opacity: 0.6; cursor:pointer;  }
.sideicons img:hover { opacity: 1;  }

@media (max-width: 650px)
{
	h1 {font-size:36px;}
	.gbox {font-size:30px;padding: 20px 10px;}
	.wbox {line-height:1.6em;font-size:22px}
	.sideicons { display:none; }
}

.cmstitle,
#CMS strong, b {font-weight:700;color:#ffffff}

.sitemap { display:flex; flex-wrap:wrap; justify-content:space-between;}

.sitemap > a { text-decoration:none; color:white; display:block; position: relative; }
.sitemap > a > div { height: calc(calc(100vh - calc(244px + 55px)) / 2); min-height:200px; background-repeat:no-repeat; background-size:cover; background-position:center center; }
.sitemap > a > div > img {}
.sitemap > a > span { display:block; position:absolute; width: 100%; bottom:0; left:0; text-align:center;font-size:1.2em; padding: 15px 10px; text-transform:uppercase;letter-spacing:1px; background: linear-gradient(0deg, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%); }
.sitemap > a:empty { display:none;}
.sitemap > a:nth-child(1),
.sitemap > a:nth-child(2),
.sitemap > a:nth-child(3),
.sitemap > a:nth-child(4) { flex-basis: 24.9%; border-bottom:3px solid white; }

.sitemap > a:nth-child(1),
.sitemap > a:nth-child(2),
.sitemap > a:nth-child(3) { border-right:1px solid white; }

.sitemap > a:nth-child(5),
.sitemap > a:nth-child(6),
.sitemap > a:nth-child(7)  { flex-basis: 33.2%; }

.sitemap > a:nth-child(5),
.sitemap > a:nth-child(6) { border-right:1px solid white; }

.sitemap > a:active > div > img,
.sitemap > a:hover > div > img 


@media (max-width: 1250px)
{
	.sitemap > a > span { font-size:1.0em; }
}

@media (max-width: 1055px)
{
	.sitemap > a:nth-child(1),
	.sitemap > a:nth-child(2),
	.sitemap > a:nth-child(3),
	.sitemap > a:nth-child(4) { flex-basis: 49.9%; }
	
	.sitemap > a:nth-child(2) { border-right: none; }
}

@media (max-width: 860px)
{
	.sitemap > a:nth-child(5),
	.sitemap > a:nth-child(6)  { flex-basis: 49.9%;border-bottom:3px solid white; }

	.sitemap > a:nth-child(6) { border-right: none; }
	.sitemap > a:nth-child(7) { flex-basis: 100%; }
}

@media (max-width: 510px)
{
	.sitemap > a:nth-child(1n) { flex-basis: 100%;border-bottom:3px solid white; border-right: none; }
	.sitemap > a:nth-child(7) { border-bottom:none; }
	.sitemap > a > div { height:150px; }
}




.content { background-position:center center; background-size:cover; background-repeat:no-repeat; padding:50px 25px;  min-height: calc(100vh - calc(240px + 139px)); overflow-x:hidden; }
.contentBox { background:rgba(255,255,255,0.80); padding:25px; margin:0 auto; max-width:950px; margin-top: 100px; }
.contentBox div { padding:0;}


body.mapSite .content { background-position:center center; background-size:cover; background-repeat:no-repeat; padding:0; min-height: calc(100vh - calc(240px + 139px)); }

@media (max-width: 650px)
{
	body.mapSite .content { margin-bottom:3px; }
}

.content h2 { letter-spacing:1px; font-size:1.8em; color:#8a8a8a; font-weight:500; margin: 25px 0 15px ; }
.content h3 { letter-spacing:1px; font-size:1.5em; color:#8a8a8a; font-weight:500; margin: 25px 0 15px ; }
.content h4 { letter-spacing:1px; font-size:1.2em; color:#007757; font-weight:500; margin: 25px 0 15px ; }
.content strong {}


h1.siteTitle { letter-spacing:1px; font-size:2.2em; color:#8a8a8a; text-transform:uppercase; padding:20px 0;  text-align:center; font-weight:300;  }


.content .spalten { display:flex;justify-content:space-between; margin-bottom:20px; }
.content .spalten > div { flex-basis:49.0%; }


@media (max-width: 650px)
{
	.content_topSpace { padding: 10px 0px; height:auto; }
	.content_topSpace h1 { font-size:1.3em; padding: 20px 10px; }

	.content h1 { font-size:1.4em; }
	.content h2 { font-size:1.3em; }
	.content h3 { font-size:1.1em; }
	.content h4 {}

	.content {  margin-bottom:0; font-size:0.85em; padding: 15px 15px;}
}


@media (max-width: 550px)
{
	.content .spalten { flex-direction:column; }
	.content .spalten > div { flex-basis: 100.0%; margin-bottom:10px;  }	
}

.reiter2010 { list-style:none; display:flex; padding: 0; margin: 0; border-bottom:2px solid rgb(230,230,230); margin-top:20px; }
.reiter2010 > li { padding: 2px 12px; font-size: 0.9em; cursor:pointer; padding-top:6px; letter-spacing:1px; font-weight:500; background-color:rgb(250,250,250);  }
.reiter2010 > li:hover { background-color:rgb(240,240,240);}
.reiter2010 > li.an {font-weight:700; background-color:rgb(230,230,230); border-bottom:2px solid #007757; margin-bottom: -2px; }
.reiter2010 ~ div { padding-top:10px; }


@media (max-width: 425px)
{
	.reiter2010 { flex-direction:column;}
}

.fileinfo { display:flex; margin:14px 0; margin-left:25px; text-decoration:none; max-width: 475px;padding:3px; }
.fileinfo:hover {background:rgb(245,245,245); }
.fileinfo > img { height: 40px; }
.fileinfo > div { display:flex; flex-direction:column; margin-left:20px; }
.fileinfo > div > small { text-decoration:none; color:black; }


.formular { margin-top:20px; }
button { font-size:1.0rem; padding: 5px 14px; background-color: #007757; color: white; border: 1px solid grey; letter-spacing:1px; }
button:enabled:hover { box-shadow: inset 0 0 6px rgba(255,255,255,0.4), 0 0 5px rgba(0,0,0,0.6); cursor: pointer; }
button:disabled { color: grey; }
input,textarea { font-family:'Alegreya Sans',sans-serif; padding:4px 6px; font-size:1.0rem; }

.res_img { }
.res_img > img { width:100%; padding:0 5px; }
.res_img > .aktuellestext,
.res_img > .aktuellestext > b { color:rgb(94, 94, 94) !important; text-align:center; }

.res_img > .aktuellestext { font-size: 0.9rem;}
.res_img > .aktuellestext > b { font-size: 1.1rem;}

.imgSize25 { width: 25% !important; }
.imgSize33 { width: 33% !important; }
.imgSize50 { width: 55% !important; }
.imgSize100 { width: 100% !important; }

@media (max-width: 900px)
{
	.imgSize25 { width: 33% !important; }
	.imgSize20 { width: 25% !important; }
}

@media (max-width: 760px)
{
	.imgSize20 { width: 33% !important; }
}

@media (max-width: 700px)
{
	.imgSize25 { width: 50% !important; }
}

@media (max-width: 600px)
{
	.imgSize20 { width: 50% !important; }
}

@media (max-width: 450px)
{
	.imgSize25 { width: 100% !important; }
}

@media (max-width: 400px)
{
	.imgSize20 { width: 100% !important; }
}

.sitemapList { display:flex; flex-wrap:wrap; }
.sitemapList > a { display:inline-block; border:1px solid lightgrey; text-align:center; text-decoration:none; margin:5px; padding:20px; transition: all 0.15s; width:18.88%; }
.sitemapList > a:hover { box-shadow: 0 0 6px rgba(0,0,0,0.1); background-color: rgba(0,0,0,0.025); }
.sitemapList > a > div h2 {  }
.sitemapList > a > div p { font-size: 0.75em; font-family: sans-serif; color:black; }


@media (max-width: 1000px)
{
	.sitemapList > a { width:18%; }
}
@media (max-width: 625px)
{
	.sitemapList > a { width:22.5%; }
}

@media (max-width: 500px)
{
	.sitemapList > a { width:30.0%; }
}

@media (max-width: 390px)
{
	.sitemapList > a { width:46.0%; }
}

/* CMS Anpassungen */
.cms_content { min-height:50px !important; }
.cms_content .cms_content_info { padding: 3px 9px !important; top: -18px !important; left:-1px !important; }

/** Seiten Titel ausblenden auf der Seite Leistungen **/
body.mapSite > div.content_topSpace { height:85px; }
body.mapSite > div.content_topSpace > h1 { display:none; }

/** Sitemap Anpassung f�r Jobs **/
body.jobs .sitemap > a { flex-basis:33%; }
@media (max-width: 900px)
{
	body.jobs .sitemap > a { flex-basis:100%; }
}