@charset "utf-8";
/* source-sans-pro-300 - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/source_sans_pro/source-sans-pro-v21-latin-300.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-300-1.eot') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-300.svg') format('svg'); /* Legacy iOS */
}

/* source-sans-pro-regular - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/source_sans_pro/source-sans-pro-v21-latin-regular.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-regular-1.eot') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-regular.svg') format('svg'); /* Legacy iOS */
}

/* source-sans-pro-600 - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 600;
  src: url('../fonts/source_sans_pro/source-sans-pro-v21-latin-600.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-600-1.eot') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-600.woff') format('woff'), /* Modern Browsers */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-600.svg') format('svg'); /* Legacy iOS */
}

/* source-sans-pro-700 - latin */
@font-face {
  font-family: 'Source Sans Pro';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/source_sans_pro/source-sans-pro-v21-latin-700.eot'); /* IE9 Compat Modes */
  src: local(''),
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-700-1.eot') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/source_sans_pro/source-sans-pro-v21-latin-700.svg') format('svg'); /* Legacy iOS */
}


html, body{ margin: 0; padding: 0; min-width: 100%; width: 100%; max-width: 100%; min-height: 100%; height: 100%; max-height: 100%; }
body { color:#333; font-family: 'Source Sans Pro', sans-serif; }
.container { width:100%; margin:0 auto; position:relative; z-index:20; background-color:#fff; }
header { width:100%; max-width:1200px; margin:0 auto; }
main { width:100%; max-width:1200px; margin:63px auto 0 auto; padding:0 0 40px 0; }
.home main { margin-top:0px; }
footer { width:100%; }
.clearfloat { clear:both; height:0; font-size: 1px; line-height: 0px; }
.clearfix:before,.clearfix:after { content: " "; display: table; }  
.clearfix:after { clear: both; }  
.clearfix { *zoom: 1; }
h1, h2, h3, h4 { font-weight:300; color:#1a4b7e; }
h1 { font-size:200%; margin:40px 0 20px 0; border-bottom:1px solid #1a4b7e; }
h2 { font-size:160%; margin:30px 0 15px 0; }
h3 { font-size:140%; margin:20px 0 10px 0; }
h4 { font-size:120%; margin:10px 0 5px 0; }
p { margin:15px 0 0 0; }
a { color:#1a4b7e; text-decoration:none; }
a img { border:none; }
a[href^="tel"]:link, a[href^="tel"]:visited, a[href^="tel"]:hover { text-decoration:none; }
a.pdf, a.internal, a.fb, a.zip, a.tel, a.gm, a.fax, a.mail, a[href^="mailto"] { background-size:20px 20px; background-repeat:no-repeat; background-position:left center; padding:0 0 0 25px; display:inline-block; min-height:20px; }
a.pdf { background-image:url(../img/pdf.png); }
a.fb { background-image:url(../img/fb.png); }
a.zip { background-image:url(../img/zip.png); }
a.tel { background-image:url(../img/tel.png); }
a.gm { background-image:url(../img/gm.png); }
a.fax { background-image:url(../img/fax.png); }
a.mail, a[href^="mailto"] { background-image:url(../img/mail.png); }
a.internal { background-image:url(../img/internal.png); }
.content a.internal { margin:0 0 0 4px; }
iframe { width:100%; height:350px; }

#lightcase-info #lightcase-title { color: #fff; }


.fixed_header { position:fixed; z-index:999; top:0px; left:0px; width:100%; background:#fff; background:rgba(238,238,238,1); transition: all .25s ease-in-out; -moz-transition: all .25s ease-in-out; -webkit-transition: all .25s ease-in-out; }
.home .fixed_header { background:rgba(255,255,255,0.8); transition: all .25s ease-in-out; -moz-transition: all .25s ease-in-out; -webkit-transition: all .25s ease-in-out; }
.fixed_header.stick { background:rgba(238,238,238,1); transition: all .25s ease-in-out; -moz-transition: all .25s ease-in-out; -webkit-transition: all .25s ease-in-out; box-shadow:0 0 10px #ccc; }
header { position:relative; }
.logo {  padding:1%; width:156px; max-width:500px; float:left; transition: width 0.4s ease-in-out; }
.home .logo { width:240px; transition: width 0.4s ease-in-out; }
.stick .logo { width:156px; transition: width 0.4s ease-in-out; }
.logo img { width:100%; height:auto; }

/* slider > */
.swiper-container { margin-top:88px; }
.swiper-slide img { width:100%; height:auto; }
.swipe_icon_container { position:absolute; width:100%; bottom:0px; left:0px; z-index:9; opacity:0.8; background:rgba(0,0,0,0.5); padding-top:50px;
/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#000000+0,000000+100&0+0,1+100 */
background: -moz-linear-gradient(top,  rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000',GradientType=0 ); /* IE6-9 */

 }
.swipe_icon { display:block; float:left; width:5%; margin:0 10%; padding:5px 0; text-align:center; font-size:26px; font-size:1.5vw; text-transform:uppercase; font-weight:700; color:#fff; }
.swipe_icon img { width:100%; height:auto; }
/* < slider */

/* menu > */
nav { float:right; }
.menu { margin:0px 0 0 0; width:100%; list-style:none; padding:0; position:relative; display:block; }
.menu li { float:left; }
.menu li:first-child { border-left:none; }
.menu li a { color:#1a4b7e; font-weight:300; text-transform:uppercase; font-size:140%; display:block; text-align:center; line-height:63px; text-decoration:none; transition: all .25s ease-in-out; -moz-transition: all .25s ease-in-out; -webkit-transition: all .25s ease-in-out; padding:0 20px; }
.home .menu li a { line-height:88px; }
.stick .menu li a { line-height:63px; }
.menu li a:hover, .menu li a:focus, .menu li a.aktiv { background-color:#1a4b7e; color:#fff; outline:none;}
.sub { min-width:20%; list-style:none; margin:0; padding:0; position:absolute; top:63px; z-index:50; display: none; }
.home .sub { top:88px; }
.stick .sub { top:63px; }
.sub li { float:none; width:auto; border:none; }
.sub li a { background-color:#1a4b7e; color:#fff; border-bottom:0px solid #aaa; text-transform:none; font-size:120%; line-height:40px; text-align:left; padding:0 5% 0 11%; background-repeat:no-repeat; background-position:3% center; }
.home .sub li a { line-height:40px; }
.stick .sub li a { line-height:40px; }
.sub li a:hover, .sub li a.aktiv { background-image:url('../img/menu_pfeil.png'); text-align:left; }
nav div { display:none; }
/* < menu */

/* sitemap_menu > */
ul.sitemap_menu, ul.sitemap_menu li ul { list-style:none; font-size:120%; text-transform:uppercase; }
ul.sitemap_menu a { text-decoration:none; }
ul.sitemap_menu li { margin:5px 0; }
ul.sitemap_menu li ul { font-size:80%; text-transform:none; }
/* < sitemap_menu */

/* accordion > */
.msg_head { font-size:140%; line-height:24px; margin:20px 0 0 0; cursor:pointer; }
.msg_head div { float:left; width: 0; height: 0; margin:4px 8px 0 0; }
.msg_head div { border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 16px solid #fbba00; }
.opened div { border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 16px solid #fbba00; }
/* < accordion */

/* aktuelles > */
div.aktuelles { margin:0 0 20px 0; border-bottom:1px solid #eee; }
div.aktuelles h3 { }
.sidebar .aktuelles { margin:15px 0 0 0; border:none; }
/* < aktuelles */

/* color pfeile, dreieck, etc. */
.callbacks_nav:before { color:#aaa; }
[class*='lightcase-icon-']:before, .lightcase-info h4 { color:#aaa; }


.content { float:left; width:70%; }
.content .column { margin:40px 0 0 0; -moz-column-count: 2; -moz-column-gap: 20px; column-count: 2; column-gap: 20px; }
.sidebar { float:right; width:26%; margin:40px 0 0 0; }
.sidebar .box { margin:0px 0 20px 0; padding:0 0 20px 0; }
.sidebar .kontakt a { margin:2px 0; }
.sidebar a.header { font-size:140%; text-decoration:none; color:#1a4b7e; display:block; text-align:center; background-color:#eee; line-height:40px; font-weight:300; }

footer { position:relative; z-index:20; line-height:30px; font-size:90%; padding:1%; background:#eee; }
footer a { }
.footer_kachel { float:left; width:30%; }
.orgmenu, .hilfsmenu { width:30%; float:right; margin:0 0 0 5% }
.orgmenu a, .hilfsmenu a { display:block; text-decoration:none; border-bottom:1px solid #ddd; }

.kacheln a { display:block; float:left; width:46%; margin:0 2% 15px 2%; text-decoration:none; line-height:150px; text-align:center; color:#fff; font-size:200%; font-weight:300; height:150px; background-size:cover; background-repeat:no-repeat; background-position:center center; }

.kacheln a span { width:100%; display:block; background:rgba(0,0,0,0.5); text-shadow:1px 1px 1px #000; transition: all .25s ease-in-out; -moz-transition: all .25s ease-in-out; -webkit-transition: all .25s ease-in-out; }
.kacheln a:hover span { background:rgba(0,0,0,0); text-shadow:2px 2px 5px #000; }

.l_bilder img { width:30%; height:auto; margin:0 1.5% 20px 1.5%; float:left; }
.a_bilder { margin:20px 0; }
.a_bilder img { width:15%; height:auto; margin:0 0.8%; float:left; }

a.referenz { display:block; width:25%; height:150px; margin:0 4.16% 40px 4.16%; background-size:contain; background-repeat:no-repeat; background-position:center center; float:left; }

div.head_kontakt { display:none; }

a.mitarbeiter { display:block; float:left; width:30%; margin:0 1.5% 40px 1.5%; height:350px; background-size:cover; background-repeat:no-repeat; background-position:center top; position:relative; }
a.mitarbeiter div { background:rgba(255,255,255,0.8); text-align:center; padding:5px 2px; position:absolute; bottom:0px; left:0px; width:100%; }


@media screen and (max-width:1380px)	{
	.swiper-slide { position:relative; overflow:hidden; }
	/*.swiper-slide img { width:120%; position:relative; left:-10%; }*/
}

@media screen and (max-width:1220px)	{
	.l_bilder img { width:15%; margin:0 0.8%; }
	.container { width:100%; }
	nav ul.menu { display:block; }
	ul.menu li:last-child ul.sub { right:0px; }
	main { padding:1%; }
	.footer_kachel { width:20%; }
	footer .adresse { width:50%; }
}

@media screen and (max-width:1100px)	{
	.menu li a { font-size:130%; }
	.sub li a { font-size:120%; }
	/*.swiper-slide img { width:130%; left:-15%; }*/
}

@media screen and (max-width:1005px)	{
	.swiper-container { margin-top:73px; }
	.menu li a { font-size:120%; }
	.sub li a { font-size:110%; }
	.home .logo { width:200px; }
	.stick .logo { width:156px; }
	.home .menu li a { line-height:73px; }
	.home .sub li a { line-height:40px; }
	.stick .menu li a { line-height:63px; }
	.stick .sub li a { line-height:40px; }
	.home .sub { top:73px; }
	.stick .sub { top:63px; }
}

@media screen and (max-width:920px)	{
	.swiper-container { margin-top:63px; }
	.menu li a { font-size:110%; }
	.sub li a { font-size:100%; }
	.home .logo { width:156px; }
	.stick .logo { width:156px; }
	.home .menu li a, .menu li a { line-height:63px; padding:0 20px; }
	.menu li { width:auto; }
	.home .sub li a, .sub li a { line-height:40px; }
	.stick .menu li a { line-height:63px; }
	.stick .sub li a { line-height:40px; }
	.home .sub { top:63px; }
	.stick .sub { top:63px; }
	nav { width:auto; }
	a.mitarbeiter { width:45%; margin:0 2.5% 40px 2.5%; height:350px; }
}

@media screen and (max-width:850px)	{
	.home .menu li a, .menu li a { padding:0 15px; }
}

@media screen and (max-width:820px)	{
	.home .menu li a, .menu li a { padding:0 10px; }
	.home .sub li a, .sub li a { padding:0 0 0 15px; }
}


@media screen and (max-width:750px)	{
	.swiper-container { margin-top:56px; }
	.swiper-button-next, .swiper-button-prev { display:none; }
	.logo { position:absolute; top:5px; left:1%; width:142px; padding:0; }
	nav { width:100%; float:none; }
	nav ul.menu { display:none; }
	nav div { display:block; background:url(../img/menu.png) no-repeat calc(100% - 20px) center; line-height:56px; height:56px; color:#333; font-size:120%; cursor:pointer; width:100%; }
	.menu {  }
	.menu .clearfloat { display:none; }
	.menu li { float:none; width:100%; border-left:none; border-bottom:1px solid #ddd; }
	.menu li a { text-align:left; padding:0 0 0 2%; }
	.sub { position:static; }
	.sub li { border:none; }
	.sub li a, .home .sub li a { padding:0 0 0 25px; background-position:10px center; }
	.menu li a:hover { background-color:transparent; color:#1a4b7e; outline:none;}
	.menu li a.aktiv:hover, .menu li a:focus { background-color:#1a4b7e; color:#fff; outline:none;}
	.sub li a:hover { background-image:none; background-color:#1a4b7e; color:#fff; }
	.sub li a.aktiv:hover { background-image:url('../img/menu_pfeil.png'); background-color:#1a4b7e; color:#fff; }
	.content, .sidebar { float:none; width:100%; }
	.sidebar {  margin:20px 0 0 0; padding:1% 0; }
	.footer_kachel, footer .adresse, footer .adresse div { width:100%; float:none; }
	footer { text-align:center; }
	.hilfsmenu { display:none; }
	.orgmenu {  margin:20px 0 0 0; }
	h1:first-child { margin-top:20px; }
	.box.kontakt { display:none; }
	.kacheln a { width:30%; margin:0 1.5% 15px 1.5%; font-size:160%; }
	.fixed_header, .home .fixed_header { background:#fff; background:rgba(238,238,238,1); overflow-y:auto; }
	div.head_kontakt { display:block; position:absolute; top:8px; left:170px; z-index:150; }
	div.head_kontakt a { display:block; width:40px; height:40px; float:left; background-position:center center; }
	/*.swiper-slide img { width:140%; left:-20%; }*/
	a.mitarbeiter { width:30%; margin:0 1.5% 40px 1.5%; height:350px; }
	.swipe_icon_container { padding-bottom:30px; }
	.swipe_icon { width:9%; margin:0 8%; font-size:26px; font-size:2.5vw; }
}

@media screen and (max-width:650px)	{
	h1 { font-size:160%; margin:40px 0 20px 0; }
	h2 { font-size:140%; margin:30px 0 15px 0; }
	h3 { font-size:120%; margin:20px 0 10px 0; }
	h4 { font-size:110%; margin:10px 0 5px 0; }
	.kacheln a { font-size:140%; }
	a.mitarbeiter { width:45%; margin:0 2.5% 40px 2.5%; height:350px; }
}

@media screen and (max-width:600px)	{
	.kacheln a { width:46%; margin:0 2% 15px 2%; }
	.l_bilder img, .a_bilder img { width:30%; margin:0 1.5% 20px 1.5%; }
	/*.swiper-slide img { width:150%; left:-25%; }*/
	#lightcase-info #lightcase-title { font-size: 100%; }
	#lightcase-info { display: none; }
}

@media screen and (max-width:500px)	{
	body { font-size:90%; }
	a.referenz { width:45%; height:120px; margin:0 2.5% 40px 2.5%; }
	a.mitarbeiter { height:300px; }
}

@media screen and (max-width:400px)	{
	h1 { font-size:140%; margin:40px 0 20px 0; }
	h2 { font-size:130%; margin:30px 0 15px 0; }
	h3 { font-size:120%; margin:20px 0 10px 0; }
	h4 { font-size:110%; margin:10px 0 5px 0; }
	.kacheln a { line-height:100px; height:100px; }
	.logo { width:120px; top:10px; }
	.logo img { width:120px; }
	div.head_kontakt { left:130px; }
	/*.swiper-slide img { width:160%; left:-30%; }*/
	a.mitarbeiter { height:250px; }
	#lightcase-info #lightcase-title { font-size: 80%; }
}