/* asap-regular - latin */
@font-face {
  font-family: 'Asap';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/asap-v7-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Asap Regular'), local('Asap-Regular'),
       url('./fonts/asap-v7-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('./fonts/asap-v7-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('./fonts/asap-v7-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('./fonts/asap-v7-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('./fonts/asap-v7-latin-regular.svg#Asap') format('svg'); /* Legacy iOS */
}

/* asap-italic - latin */
@font-face {
  font-family: 'Asap';
  font-style: italic;
  font-weight: 400;
  src: url('./fonts/asap-v7-latin-italic.eot'); /* IE9 Compat Modes */
  src: local('Asap Italic'), local('Asap-Italic'),
       url('./fonts/asap-v7-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('./fonts/asap-v7-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('./fonts/asap-v7-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('./fonts/asap-v7-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('./fonts/asap-v7-latin-italic.svg#Asap') format('svg'); /* Legacy iOS */
}

/* asap-700 - latin */
@font-face {
  font-family: 'Asap';
  font-style: normal;
  font-weight: 700;
  src: url('./fonts/asap-v7-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Asap Bold'), local('Asap-Bold'),
       url('./fonts/asap-v7-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('./fonts/asap-v7-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('./fonts/asap-v7-latin-700.woff') format('woff'), /* Modern Browsers */
       url('./fonts/asap-v7-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('./fonts/asap-v7-latin-700.svg#Asap') format('svg'); /* Legacy iOS */
}

/* asap-700italic - latin */
@font-face {
  font-family: 'Asap';
  font-style: italic;
  font-weight: 700;
  src: url('./fonts/asap-v7-latin-700italic.eot'); /* IE9 Compat Modes */
  src: local('Asap Bold Italic'), local('Asap-BoldItalic'),
       url('./fonts/asap-v7-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('./fonts/asap-v7-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('./fonts/asap-v7-latin-700italic.woff') format('woff'), /* Modern Browsers */
       url('./fonts/asap-v7-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('./fonts/asap-v7-latin-700italic.svg#Asap') format('svg'); /* Legacy iOS */
}

@charset "utf-8";
html {
height: 100%;
/* overflow: hidden; */
}
body {
	font: 100%/1.4 'Asap', Verdana, Arial, Helvetica, sans-serif;
	background-color: #e2e7ef; /* E0EBFD */
	background-repeat:no-repeat;
	background-attachment: fixed;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	margin: 0;
	padding: 0;
	color: #333;
	height:100%;
	overflow: auto; /* scroll */
	-webkit-overflow-scrolling: touch;
}

/* ~~ Element-/Tag-Selektoren ~~ */
ul, ol, dl { /* Aufgrund von Abweichungen zwischen verschiedenen Browsern empfiehlt es sich, die Auffüllung und den Rand in Listen auf 0 einzustellen. Zu Konsistenzzwecken können Sie die gewünschten Werte entweder hier oder in den enthaltenen Listenelementen (LI, DT, DD) eingeben. Beachten Sie, dass diese Angaben auch für die .nav-Liste gültig sind, wenn Sie keinen spezifischeren Selektor festlegen. */
	padding: 0;
	margin: 0;
}
.einzug li {
	margin: 0 0 0 1em;
	}
.einzug_minus {
	margin: 0 0 0 -1.3em;
	}
.einzug {
	padding: 0 0 1em 0;
	}
h1, h2, h3, h4, h5, h6, p {
	margin-top: 0;	 /* Durch Entfernen des oberen Randes wird ein Problem vermieden, bei dem Ränder aus dem umgebenden Block entweichen. Der verbleibende untere Rand sorgt für den Abstand von allen folgenden Elementen. */
	padding-right: 0px;
	padding-left: 0px; /* Hinzufügen von Auffüllungswerten für beide Seiten jeweils enthaltener Blockelemente statt für die Blöcke macht Box-Modell-Berechnungen unnötig. Alternativ kann auch ein untergeordneter Block mit Auffüllung an den Seiten verwendet werden. */
}
p {
	font-size:1.3em;	
	}	
td {
	font-size:1.3em;	
	}
aside li {
	font-size:1.3em;	
	}
.sidebar1 li {
	font-size:1.3em;	
	}
.sidebar2 li {
	font-size:1.3em;	
	}
h1 {
	font-size:1.8em;
	letter-spacing:0.1em;
	color: #28335f;
	text-transform: none; /* uppercase */
	margin: 0 0 0em 25px;
	}
h2 {
	font-size: 1.5em;
	font-style:italic;
	}
h3 {
	font-size: 1.35em;
	font-style:italic;
	}
a img { /* Dieser Selektor entfernt den standardmäßigen blauen Rahmen, der in einigen Browsern um ein Bild angezeigt wird, wenn es von einem Hyperlink umschlossen ist. */
	border: none;
}
/* ~~ Die Reihenfolge der Stildefinitionen für die Hyperlinks der Site, einschließlich der Gruppe der Selektoren zum Erzeugen des Hover-Effekts, muss erhalten bleiben. ~~ */

a:link { font-weight:600; color:#1f3062; text-decoration:none;}
a:visited { font-weight:600; color:#1f3062; text-decoration:none;}
a:hover { font-weight:600; color:#f08820; text-decoration:underline;}
a:active { font-weight:600; color:#f08820; text-decoration:underline;}
a:focus { font-weight:600; color:#f08820; text-decoration:underline;}

/* ~~ Dieser Container fester Breite umgibt alle anderen Blockelemente. ~~ */
.container {
	margin: 0 auto;
		max-width: calc(100% - 100px);
		width: 1200px;
	}

		@media screen and (max-width: 1280px) {

			.container {
				width: 100%;
			}

		}

		@media screen and (max-width: 980px) {

			.container {
				width: 100%;
				max-width: 100%;
			}

		}

		@media screen and (max-width: 736px) {

			.container {
				width: 100%;
				max-width: 100%;
			}

		}
.container2 {
	background: rgb(255, 255, 255); 
	background: rgba(255, 255, 255, 0.70); 
	padding-bottom: 1em;
}
/* ~~ Für die Kopfzeile wird keine Breite angegeben. Sie erstreckt sich über die gesamte Breite des Layouts. ~~ */
header {
	width:100%;
	clear:both;
}
header img {
	display: block;	
	}
.logo {
	width:26%;
	float:right;
	margin: 0px;
	}	
.headerbild {
	width:74%;
	float: left;
	margin: 0px;
	}	
#kopf3 {
	text-align:center;
	font-size:1.25em;
	color:#e96f28;
	background-color:white;
	padding-top:10px;
	display:block;
	width:100%;
	height:40px;
	border-top: 2px solid #CCC;
	border-bottom: 2px solid #CCC;
	white-space:nowrap;
	}

div#menue {
	background: #28335f; /*e0ebfd*/
	color: #fff;
	padding: 0 0 0 10px;  /* Diese Auffüllung entspricht der linksbündigen Ausrichtung der Elemente in den divs, die darunter erscheinen. Wenn im #header anstelle von Text ein Bild eingesetzt wird, sollten Sie die Auffüllung entfernen. */
	height: 50px;
	margin:0;
	clear:both;	
	font-size:1.4em;
	font-weight:700;
} 
#nav {
	height: 50px;
	overflow: inherit;
	clear:both;
	}

#nav ul {
	padding: 0;
	margin: 0;
}
#nav li {
	float: left;
	list-style: none;
	padding: 8px 20px 0 20px;
	height:42px;
	border-right: 2px solid #ccc;
}

#nav a {
	display: block;	
	 /*background:#e0ebfd;url(bilder/untermenue_hg.png)*/
	color: #fff;
	text-decoration:none;
	font-size:1em;
}

#nav a:hover {
	color:#f08820;
	}

#nav, #nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
	border-right: 0px !important;
}
#nav li ul {
	position: absolute;
	float: left;
	background:#e0ebfd;
	left: -999em;
	margin-top:10px;
	font-size:0.8em;
	background:#e0ebfd;
	height:40px;
	border-bottom:10px solid #fff;
}
#nav li ul a {
	color:#1f3062;
}
#nav li:hover ul {
	left: auto;
	margin-left: -9px;
}
#nav li:hover ul, #nav li.sfhover ul {
	left: auto;
}

#breadcrumbs { 
	font-size: 0.85em;
	padding: 20px 0 0 0;
	height: 15px;
	clear:both;
	margin-bottom: 0em;
} 
#breadcrumbs img { 
	float: right;
	clear:both;
	margin:-5px 25px -20px 100px;
} 

/* ~~ Dies sind die Spalten für das Layout. ~~ 

1) Auffüllung wird nur für den oberen und/oder unteren Bereich der Blockelemente angegeben. Für die Elemente innerhalb dieser Blöcke sind Auffüllungswerte an den Seiten angegeben. Dadurch müssen Sie keine Box-Modell-Berechnungen durchführen. Beachten Sie, dass für den Block selbst definierte Werte für Auffüllung oder Rand an den Seiten zur angegebenen Breite addiert werden und zusammen die *Gesamtbreite* bilden. Sie können stattdessen auch die Auffüllung für das Element innerhalb des Blockelements entfernen und ein zweites Blockelement innerhalb des ersten platzieren. Diesem weisen Sie dann eine Breite von 0 und die für Ihr Design erforderliche Auffüllung zu.

2) Für die Spalten wurde kein Rand angegeben, da es sich um schwebende Spalten handelt. Wenn Sie dennoch einen Rand angeben möchten, vermeiden Sie Ränder an der Seite, an der sich die schwebende Spalte ausrichtet (z. B.: ein rechter Rand für einen Block, der nach rechts schwebend positioniert wird). In vielen Fällen kann stattdessen eine Auffüllung verwendet werden. Bei Blöcken, bei denen von dieser Regel abgewichen werden muss, fügen Sie der CSS-Regel des Blockelements die Deklaration "display:inline" hinzu, um ein Problem mit einigen Versionen des Internet Explorer zu vermeiden, bei dem der Rand verdoppelt wird.

3) Da Klassen in einem Dokument mehrmals verwendet werden können (und zudem auf ein Element mehrere Klassen angewendet werden können), wurden den Spalten Klassennamen statt IDs zugewiesen. So können beispielsweise bei Bedarf zwei Seitenleisten-Blöcke untereinander angeordnet werden. Diese div-Tags können problemlos in IDs geändert werden, solange Sie sie nur einmal pro Dokument verwenden.

4) Wenn Sie die Navigation auf der linken statt auf der rechten Seite platzieren möchten, lassen Sie diese Spalten einfach in die andere Richtung fließen (alle nach links anstatt alle nach rechts). Die Spalten werden dann in umgekehrter Reihenfolge dargestellt. Es ist nicht notwendig, die Blöcke im HTML-Quellcode zu verschieben.

*/
.sidebar1 {
	float: left;
	width: 560px;
	padding: 0px 0px 0px 0px;
}
.sidebar2 {
	float: left;
	width: 1150px;
	padding: 0px 0px 0px 0px;
}
.content {
	padding: 20px 20px 0px 25px;
	width: 95%;
	float: left;
}
.naeher {
	padding: 0px 25px 0px 25px
	}
	
.content_full {
	padding: 20px 25px 0px 25px;
	width: 90%;
	max-width:95%:
	float: left;
}
aside {
	float: right;
	width: 560px;
	padding: 0px 0px 0px 0px;
}
 #dl-menu {
	display:none;
	}
.topbutton {
	visibility: hidden;
	width: 0px;
	}
.atlas {
	float: right; 
	position:fixed; 
	right:0; 
	top:0; 
	margin: 20px 20px 20px -250px; 
	clear:both;
	z-index:1000;
	}
/*-- responsive-mediaquries --*/


@media(max-width:1570px){ 
.atlas {
	position:absolute; 
	margin: 400px 20px 20px -250px; 
	}
.atlas img {
	width:150px !important;
	}
}
@media(max-width:860px){ 
.atlas {
	margin: 155px 20px 20px -250px; 
    height: 95px;
    overflow: hidden;
	}
.atlas img {
	width:100px !important;
	}
}
@media(max-width:520px){ 
.atlas {
	margin: 40px 20px 20px -250px; 
}
#breadcrumbs img { 
	margin-top: 20px;
	margin-bottom: 20px;
} 
}
@media(max-width:407px){ 
.atlas {
	margin: 125px 20px 20px -250px; 
    height: 80px;
	}
.atlas img {
	width:80px !important;
	}
}

@media(max-width:1300px){ 
section {
	margin:auto;
	}
aside {
	max-width: 49%;
}
.sidebar1 {
	max-width: 49%;
}
}
@media(max-width:1010px){  
section {
	margin:auto;
	}
aside {
	float: none;
	max-width: 100%;
	width: 95%;
	margin:auto;
}
.sidebar1 {
	float: none;
	max-width: 100%;
	width: 95%;
	margin:auto;
}
.sidebar2 {
	float: none;
	width: 100%;
	margin:auto;
}
.sidebar2 img{
	max-width:100%;
	height:auto;
}
#menue {
	display:none;
	}
#dl-menu {
	display:block;
	}
.topbutton {
	visibility: visible;
	width: auto;
	margin-right: 25px;	
	position: relative;
	left: 0.5em;
	bottom: 1.5em;
	filter:alpha(opacity=75); 
	-moz-opacity: 0.75; 
	opacity: 0.75;
	}
footer {
	font-size:1.1em;
}
address {
	white-space: normal;
	font-size:1.1em;
}
#design {
	font-size:1.1em;
	} 
#leistung {
	font-size:1.1em;
}
.versteckt2 {
	visibility: hidden;
	width: 0px;
	height: 0px;
}
} 
	

@media(max-width:520px){ 
aside {
	float: left;
	width: 95%;
}
aside img{
	max-width:100%;
	height:auto;
}
.sidebar1 {
	float: left;
	width: 95%;
}
.sidebar1 img{
	max-width:100%;
	height:auto;
}
.sidebar2 {
	float: left;
	width: 95%;
}
header {
	background-color:#FFF;
	height: 165px;
	}
.logo {
	width:250px;
	clear:both;
	margin: 10px 0 0 50px;
	background-color:#FFFFFF;
	position: absolute;
	top: -55px;
	clip:rect(55px 230px 175px 0px);
	-moz-border-top-right-radius:0; /* Firefox */
    -webkit-border-top-right-radius:0; /* Safari, Chrome */
    -khtml-border-top-right-radius:0; /* Konqueror */
    border-top-right-radius:0; /* CSS3 */
	}	
.headerbild {
	width:100%;
	height: 120px;
	visibility:hidden;
	}
	
#kopf3 {
	display:none;
	}
#kopf3 img {
	margin-top: 0px;
	}
.versteckt {
	visibility: hidden;
	width: 0px;
	height: 0px;
}
address {
	padding: 10px 25px 0 15px;
}
.topbutton {
	visibility: visible;
	width: auto;
	margin-right: 25px;	
	margin-bottom: 1em;
	position: relative;
	left: 0em;
	bottom: 0em;
	filter:alpha(opacity=100); 
	-moz-opacity: 1.0; 
	opacity: 1.0;
	}
/* #menue {
	display:none;
	}
#dl-menu {
	display:block;
	} */
h1 {
	padding-top: 0.5em;
	}
table {
	max-width:100%;
	}
}

/* ~~ Mit diesem gruppierten Selektor werden die Listen im .content-Bereich angesprochen. ~~ */
.content ul, .content ol {
	padding: 0 15px 15px 40px; /* Diese Auffüllung setzt die rechte Auffüllung in der obigen Regel für Überschriften und Absätze fort. Die Auffüllung wurde unten für den Abstand zwischen anderen Elementen in den Listen und links für den Einzug angegeben. Sie können die Werte nach Bedarf ändern.  */
}

/* ~~ Fußzeile ~~ */
footer {
	padding: 0;
	font-size:0.8em;
	color: #FFFFFF;	
	background: rgb(0, 0, 0); 
	background: rgba(0, 0, 0, 0.30);
	height:90px;
	width:100%;
	position: relative;/* Liefert "hasLayout" für Internet Explorer 6, zum korrekten Rücksetzen der schwebenden Ausrichtung. */
	clear: both; /* Diese "clear"-Eigenschaft ermöglicht es dem .container-Block, das Ende der Spalten zu erkennen und sie korrekt zu umschließen. */
} 
address {
	padding: 5px 0 0 25px;
	text-align:left;
	letter-spacing:0.05em;
	font-size:1.1em;
	line-height:1.8em;
}
.einzug_footer {
    margin: 0 auto;
	width:1200px;
	background: rgb(51, 51, 51); 
	background: rgba(51, 51, 51, 0.75); 
	text-align:left;
	letter-spacing:0.05em;
	font-weight:100;
	padding-top:15px;	
	height:90px;
	clear: both;
}
.einzug_footer img {
	border:0;
	float:left;
}
.einzug_footer a {
	color:#fff;
	font-weight:100;
	text-decoration:none;

}
.einzug_footer a:hover {
	color:#FFF;
	font-weight:100;
	text-decoration: underline;
	
}
#design {
	float:right;
	padding: 5px 25px 0 0;
	text-align:right;
	font-weight:100;
	font-size:1.1em;
	line-height:1.8em;
	color: #fff;
	white-space:nowrap;
} 
#design a {
	font-weight:100;
	font-style:normal;
	
}

#leistung {
	float:right;
	padding: 10px 25px 0 0;
	text-align:left;
	font-weight:100;
	font-size:0.9em;
	line-height:1.8em;
	color: #fff;
} 

#leistung a {
	color: #FF980D;
}
.facebook {
	margin: 5px 0 0 22px;
	}
.klein {
	font-size:0.8em;
}
.gross {
	font-size:1.5em;
}

@media(max-width:980px){ 
/*div#menue {
	background-image: none;
	background-color:#fff;
}*/
#nav img.topmenue {
	border-bottom:3px solid #28335f;
	}
address {
	white-space:nowrap;
	clear:both;
	padding-bottom:1em;
}
.einzug_footer {
	width:100%;
	padding-bottom:0;
	-moz-border-bottom-right-radius:0; /* Firefox */
    -webkit-border-bottom-right-radius:0; /* Safari, Chrome */
    -khtml-border-bottom-right-radius:0; /* Konqueror */
    border-bottom-right-radius:0; /* CSS3 */
	-moz-border-bottom-left-radius:0; /* Firefox */
    -webkit-border-bottom-left-radius:0; /* Safari, Chrome */
    -khtml-border-bottom-left-radius:0; /* Konqueror */
    border-bottom-left-radius:0; /* CSS3 */
}
#design {	
	clear:both;
	} 
}
@media(max-width:490px){ 
body {
	font-size: 1.1em;
}
footer {
	font-size:1.0em;
}
address {
	white-space: normal;
	font-size:1.0em;
}
#design {	
	float:left;
	text-align:left;
	padding: 10px 25px 0 15px;
	font-size:1.0em;
	} 
#leistung {
	float:left;
	padding: 10px 25px 0 15px;
	font-size:1.0em;
} 
.klein {
	font-size:1.0em;
}
small {
	font-size:1.0em;
	}
}
@media(max-width:407px){ 
#nav li:hover ul, #nav li.sfhover ul {
	position:relative;
	left: 2em;
}
}
/* ~~ Verschiedene float/clear-Klassen ~~ */
.fltrt {  /* Mit dieser Klasse können Sie ein Element auf der Seite nach rechts schweben lassen. Das schwebende Element muss vor dem Element stehen, neben dem es auf der Seite erscheinen soll. */
	float: right;
	margin-left: 8px;
}
.fltrt2 {  /* Mit dieser Klasse können Sie ein Element auf der Seite nach rechts schweben lassen. Das schwebende Element muss vor dem Element stehen, neben dem es auf der Seite erscheinen soll. */
	float: right;
	margin-left: 0px;
}
.fltlft { /* Mit dieser Klasse können Sie ein Element auf der Seite nach links schweben lassen. Das schwebende Element muss vor dem Element stehen, neben dem es auf der Seite erscheinen soll. */
	float: left;
	margin-right: 5px;
	margin-bottom: 5px;
}
.abgerundet {
    -moz-border-radius:10px; /* Firefox */
    -webkit-border-radius:10px; /* Safari, Chrome */
    -khtml-border-radius:10px; /* Konqueror */
    border-radius:10px; /* CSS3 */
	behavior:url(border-radius.htc);
    }
.clearfloat { /* Diese Klasse kann einem <br />-Tag oder einem leeren Blockelement als abschließendes Element nach dem letzten schwebenden Block (innerhalb von .container) zugewiesen werden, wenn die Fußzeile entfernt oder aus .container verschoben wird. */
	clear:both;
	height:0;
	font-size: 1px;
	line-height: 0px;
}

/*Unterstützung für HTML 5 - Legt für die neuen HTML 5-Tags die Eigenschaft "display:block" fest, damit die Tags in den Browsern korrekt dargestellt werden. */
header, section, footer, aside, nav, article, figure {
	display: block;
}
/* Responsive iFrames http://t3n.de/news/responsive-iframe-retrofitting-608891/ */
    .embed-container {
      position: relative; 
      padding-bottom: 56.25%; /* ratio 16x9 */
      height: 0; 
      overflow: 100%;
      height: auto;
	  margin-bottom: 15px;
    }
    .embed-container iframe {
      position: absolute; 
      top: 0; 
      left: 0; 
      width: 100%; /* 95% */
      height: 100%; /* 95% */
    }
    /* ratio 4x3 */
    .embed-container.ratio4x3 {
      padding-bottom: 75%;
    }

.rand {
	/* border:1px solid #525A7E; */
	box-shadow: 3px 3px 5px grey;
	}
.mailer {
	display:none;
	}
.nummer {
	padding:3px 12px; 
	border-radius:10px; 
	background-color:#e96f28; 
	color:#fff; 
	margin-right:10px; 
	font-size:1.5em;
	}
.weg  {
	padding-left:2em;
	margin-left:1em;
	border-left:2px solid #e96f28;
	font-size:1.3em;
	}
