

/* Reset
-------------------------------------------------- */
*, *:before, *:after {
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, main, nav, section, summary {
  display: block;
}



/* Pix
-------------------------------------------------- */
img {
  display: block;
  max-width: 100%;
}


/* Links
-------------------------------------------------- */
a {
  color: #3d3d3d;
  text-decoration: none;
  transition: color .3s, background .3s, border .3s;
}


a:hover {
  color: rgb(245, 120, 0);
}



/* Clearfix
-------------------------------------------------- */
.cf:after {
  content: "";
  display: table;
  clear: both;
}


/* Site
-------------------------------------------------- */
html {
  height: 101%;
  font-family: Helvetica, Arial, sans-serif;
  font-weight: 300;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  margin: 0 auto;
  font-size: .95em;
  letter-spacing: 0.03em;
  line-height: 1.55em;
  width: 83%;
  max-width: 1400px;
  color: #1b1b1b;
      -webkit-font-smoothing: antialiased;
     -moz-osx-font-smoothing: grayscale;
}


strong {
	font-weight: 400;
}




/* Header
-------------------------------------------------- */

header {
	top: 0;	
	position: fixed;
	width: 83%;
	max-width: 1400px;
	margin-bottom: 1em;
	z-index: 100;
	height: 10em;
	padding: 4em 0em 1em 0em;
	background-color: rgba(255, 255, 255, 0.9)
}


.header img {
	height: 4.52em; 
	display: inline-block;
	float: left;
}


.header, .menu, a, img, li {
  transition: all .5s;
  -moz-transition: all .5s; 
  -webkit-transition: all .5s; 
  -o-transition: all .5s; 
  }



/* Navigation
-------------------------------------------------- */

.menu {
    float: right;
    margin-top: 3.4em;
    width: 48%;
  }
  
.menu ul {
	padding: 0;
	text-align:justify;
}  

.menu li {
  list-style: none;
  display: inline-block;
}

.menu li a {
  padding-top: 0.3em;
}

#line {
	padding-left:100%;
}
  
.menu a{
	font-size: 0.88em;
  	color: #545454;
  	font-weight: 300;
  	text-transform: uppercase;
}


.menu .active {
  color: rgb(245, 120, 0);
}


@media screen and (min-width: 600px){
	.menu a:hover{
	color: rgb(245, 120, 0);
	text-decoration: none;
	}
}

@media screen and (max-width: 600px){

   body {
	width: 90%;
	max-width: none;
	}
	
	.menu {
    width: 100%;
    margin-top: 2.2em;
  	}
  	  
  	.menu a {
	font-size: 0.78em;
	}
	
	header {
	top: 0;
	position: fixed;
	width: 90%;
	max-width: none;
	margin-bottom: 0em;
	z-index: 100;
	}
	
	.header {
	height: 6em;
	padding: 2em 0em 0em 0em;
	}
	
	.header img { 
	 height: 3.2em; 
	}
  	  

}



@media screen and (min-width: 600px) and (max-width: 980px) {
	
	body {
	width: 90%;
	max-width: none;
	}
	
	.menu {
    width: 64%;
    margin-top: 2.2em;
  	}
  	  
	
  	.menu a {
	font-size: 0.78em;
	}
	
	header {
	top: 0;	
	position: fixed;
	width: 90%;
	max-width: none;
	margin-bottom: 1em;
	z-index: 100;
	}
	
	.header {
	height: 4em;
	 padding: 2em 0em 1em 0em;
	}
	
	.header img { 
	 height: 3.2em; 
	}
	


}



/* Headings
-------------------------------------------------- */
h1 {
	font-size: 1.7em;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: rgb(245, 120, 0);
	margin-bottom: 0.8em;
	font-weight: 300;
	line-height: 1.2em;
}

h2 {
	font-size: 1em;
	text-transform: uppercase;
	color: rgb(245, 120, 0);
	font-weight: 400;
	margin-bottom: 0.5em;
}

h3 {
	font-size: 1em;
	text-transform: uppercase;
	font-weight: 400;
	margin-bottom: 0.5em;
}

@media screen and (max-width: 400px) {
		h1 {
		font-size: 1.5em;
		}	
}



/* Main
-------------------------------------------------- */
.main {
  padding-bottom: 3em;
  margin-top:  14em;
}

.main hr {
  margin: 3em 0;
  height: 2px;
  background: #ddd;
}

.main p {
  margin-bottom: 1.6em;
}

.main ul {
  margin-bottom: 1.5em;
  margin-left: 0.9em;
  list-style: none;

}

.main li {
	text-indent: -1.17em;
}

.main li:before {
    content: "• ";
    font-size: 0.8em;
    vertical-align: middle;
    color: rgb(245, 120, 0);
    margin-right: 0.5em;
    }

.main a {
  border-bottom: 1px solid #9e9e9e;
}




/* Textseiten */


.text {
	width: 48%;
	position:relative;
	float: right;
	z-index: 10;
}


.bild {
	position: fixed;
	width: 47%;
	left: 0px;
	top: 14em;
	margin-bottom: 2em;
	z-index: 0;
}

.bild img {
	height: 100%;
}

#accordion {
	margin: 1em 0 2em 0;
}

#accordion h2 {
	margin: 0.5em 0 0.2em 0.01em;
	letter-spacing: 0.02em;
}

.accordion-head {
	margin-left: 25px;
}

.ui-accordion .ui-accordion-header {
	display: block;
	cursor: pointer;
	position: relative;
	padding: 0.2em .5em 0em .3em;
	min-height: 0; /* support: IE7 */
	font-size: 100%;
	outline: 0;
}


.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
	position: absolute;
	top: 50%;
	margin-top: -10px;
}

.ui-state-default .ui-accordion-header-icon:before {
	font-family: 'FontAwesome';
	content: "\f107";
	font-size: 1.2em;
}

.ui-state-active .ui-accordion-header-icon:before {
	font-family: 'FontAwesome';
	content: "\f106";
	font-size: 1.2em;
}

.ui-accordion .ui-accordion-content {
	padding: 0.3em 0 0.5em 2.1em;
	border-top: 0;
	overflow: auto;
}


@media screen and (max-width: 600px) {	
	.main {
	margin-top:  6.5em;
	}
	
	.bild {
	display: block;
	position: relative;
	width: 100%;
	top: 0em;
	}
	
	.text {
	width: 100%;
	padding: 0em;
	position:relative;
	z-index: 10;
	}
}

@media screen and (min-width: 600px) and (max-width: 980px) {
	.main {
	margin-top:  7em;
	}
	
	.bild {
	display: block;
	position: relative;
	width: 100%;
	top: 0em;
	}
	
	.bild img {
	width: 100%;
}
	
	.text {
	float:left;
	width: 80%;
	padding: 0em;
	position:relative;
	z-index: 10;
	}
}	




/* Blog
-------------------------------------------------- */

.blog {
		min-height: 32em;
}

.blogeintrag {
	width: 100%;
	padding-bottom: 2em;
	margin-bottom: 2em;
	border-bottom: 1px solid #ddd;
}

.blogtxt {
	width: 65%;
	padding: 0 0 1em 3em;
	float: left;
}

.blogtxt p {
	width: 95%;
}

.blogbild {
	width: 30%;
	position:relative;
	float: left;
	margin-right: 2em;
	overflow: hidden;
}

.blogbild:before {
	content: "";
	display:block;
	padding-top: 60%;
}

.blogbild img {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
max-height: 100%;
	object-fit: contain;

}

.blogdate {
	font-size: 0.8em;
	margin-bottom: 0.3em;
	text-transform: uppercase;
	display: block;
	clear: both;
}

.bloglink {
	font-size: 0.8em;
	text-transform: uppercase;
}

.blogarticle {
	width: 100%;
}

.articlerow {
	vertical-align: bottom;
}


.articleimg {
	width: 35%;
	position: relative;
	display: block;
	float: left;
	margin-right: 20px;
	margin-bottom: 2em;
}


.articleimg img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.credit {
	position: relative;
	width: 18%;
	text-align: left;
	float: left;
	}
	
.credittxt {
	font-size: 0.8em;
	line-height: 1.2em;
}	

.articletxt {
	width: 70%;
	clear: both;
}

.pdflink {
	font-size: 0.9em;
	margin-bottom: 2em;
}

.pdflink a {
	color: rgb(245, 120, 0);
    text-transform: uppercase;
    font-weight: 400;
    border-bottom: 1px solid rgb(245, 120, 0);
}

@media screen and (max-width: 550px) {	

.blogtxt {
	width: 100%;
	padding: 0 0 1em 0em;
}

.blogbild:before {
	padding-top: 45%;
}

.blogbild {
	width: 100%;
	margin-bottom: 1em;
}

.articletxt, .blogdate {
	width: 100%;
	margin-top: 1em;
}

.articleimg {
	width: 100%;
	margin-bottom: 0.6em;
	}
	
.credit {
	width: 100%;
	}
}

@media screen and (min-width: 550px) and (max-width: 980px) {
.blogbild {
	width: 42%;
	}
	
	.blogtxt {
	width: 48%;
	padding: 0 0 1em 0em;
	}
	
	.credit {
	width: 25%;
	}
	
	.credittxt {
	font-size: 0.7;
	line-height: 1.2em;
	}
	
	.articletxt {
	width: 80%;
	}
}



/* Footer
-------------------------------------------------- */
.footer {
  position: relative;
  display: block;
  width: 100%;
  height: 7em;
  padding-top: 0.8em;
  font-size: .75em;
  z-index: 50;
}

.bottom {
  float: left;
}

.copyright {
  float: left;
   position: absolute;

}

.imprint {
  	text-transform: uppercase;
  	letter-spacing: 0.05em;
  	float: right;
 }


#map-canvas {
	position: absolute;
	top: 0px;
	left: 0px;
	right: 0px;
	bottom: 0px;
	width: 100%;
	height: 100%;
  }
  
.mapwrap {
	width: 46%;
	position: absolute;
	left: 0px;
	top: 10.5em;
}

.mapframe {
	position:relative;
	display: block;	
}

.mapframe:before {
	content: "";
	display:block;
	padding-top: 68%;
	}

.fa {
	 font-size: 1.1em !important;
 } 

.fa-mobile {
	font-size: 1.3em !important;
	margin-right: 0.5em !important;

}
.fa-envelope {
	font-size: 0.95em !important;
	margin-right: 0.5em !important;

}
.fa-facebook {
	margin-right: 0.7em !important;
	margin-right: 0.5em !important;

}
 
.kontakte {
	  line-height: 2em;
	  margin-bottom: 3em;
}
 
.video {
  position: relative;
  padding-bottom: 56.25%;
  height: auto;
  overflow: hidden;
}
.video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  
.lineframe {
	width: 100%;
	min-height: 26em;
	position: relative;
}  
  
.lines {
  z-index: 0;
  position: fixed;
  margin: 5em auto;
  left: 10em;
  right: 0;
  width: 75%;
} 

.lines2 {
  z-index: 0;
  position: fixed;
  margin: 5em auto;
  left: 25em;
  right: 0;
  width: 75%;
} 

.path {
  /*stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: dash 15s linear forwards infinite;
  animation-delay: 0s;*/
  stroke-width: 0.4;
}

.path2 {
  /*stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: dash 10s linear forwards infinite;
  animation-delay: 0s;*/
  stroke-width: 0.3;
}

.path3 {
  /*stroke-dasharray: 2200;
  stroke-dashoffset: 2200;
  animation: dash 20s linear forwards infinite;
  animation-delay: 0s;*/
  stroke-width: 0.3;
}

@keyframes dash {
  to {
    stroke-dashoffset: 0;
  }
}


@media screen and (max-width: 400px) {	  
  .lines {
  z-index: 0;
  position: absolute;
  top: -10em;
  left: 0em;
  right: 0;
  width: 100%;
	} 

.lines2 {
  z-index: 0;
  position: absolute;
  top: -8em;
  left: 0em;
  right: 0;
  width: 100%;
	} 

.path, .path2, .path3 {
  	stroke-width: 1;
	}
}

@media screen and (min-width: 400px) and (max-width: 980px) {

  .lines {
  z-index: 0;
  position: absolute;
  top: -15em;
  left: 0em;
  right: 0;
  width: 100%;
	} 

.lines2 {
  z-index: 0;
  position: absolute;
  top: -10em;
  left: 0em;
  right: 0;
  width: 100%;
	} 
	
.path, .path2, .path3 {
  	stroke-width: 0.7;
	}
}

