@charset "UTF-8";
/* CSS Document */

/*  ---------------------------------------------------------------------- Typography --- */
/* hind-300 - latin */
@font-face {
  font-family: 'Hind';
  font-style: normal;
  font-weight: 300;
  src: local(''),
       url('./fonts/hind-v16-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('./fonts/hind-v16-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* hind-regular - latin */
@font-face {
  font-family: 'Hind';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('./fonts/hind-v16-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('./fonts/hind-v16-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* hind-500 - latin */
@font-face {
  font-family: 'Hind';
  font-style: normal;
  font-weight: 500;
  src: local(''),
       url('./fonts/hind-v16-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('./fonts/hind-v16-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* hind-600 - latin */
@font-face {
  font-family: 'Hind';
  font-style: normal;
  font-weight: 600;
  src: local(''),
       url('./fonts/hind-v16-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('./fonts/hind-v16-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* hind-700 - latin */
@font-face {
  font-family: 'Hind';
  font-style: normal;
  font-weight: 700;
  src: local(''),
       url('./fonts/hind-v16-latin-700.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('./fonts/hind-v16-latin-700.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/*  --------------------------------------------------------- Typography --- */
html {
    font-size: 62.5%;
}
body, button, input, select, textarea, p {
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
       -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    -webkit-text-size-adjust: none;
            text-size-adjust: none;
}
p {
    word-wrap: break-word;
/*    padding-bottom: 10px;*/
}
em, i {
    font-style: italic;
}
body, button, label, input, select, textarea, p {
	
	font-family: 'Hind', sans-serif;
	font-weight: 400;
    font-size: 2.1rem;
    line-height: 1.5;
	letter-spacing: 0.03rem;
    color: #666666;
}
a {
text-decoration: none;
color: #2E2E2E;
}
b, strong, .bold {
	font-weight: 700;
}
h1, h2, h3, h4, h5, h6, #page-title h1,
.company-name, .company-subline, .pb-teaser-text-wrap h2, #contact-head-block h2 {

	font-family: 'Hind', sans-serif;
    font-weight: 400;
	font-style: normal;
	line-height: 1.3;
    color: #666666;
    letter-spacing: 0.03rem;
}
/*  flexible font size: min font-size px + (max font size - min font-size) * ((100vw - min screen-size px) / (max screen-size - min screen-size))) */

h1 { font-size: 3.8rem; }
h2 { font-size: 2.5rem; }
h3 { font-size: 2.0rem; }

#page-title h1 { font-size: calc(28px + (36 - 28) * ((100vw - 400px) / (1360 - 400))); color: #333333; }

.slider-content .slider-headline { 
    font-size: calc(22px + (22 - 16) * ((100vw - 400px) / (1360 - 400)));
    line-height: 1.1;
}
@media only screen and (min-width: 1370px) { /* max font size over 1370 px */
    
	h1 { font-size: 3.8rem; }
    h2 { font-size: 2.5rem; }
    h3 { font-size: 2.0rem; }
    
    #page-title h1 { 
    font-size: 2.5rem;
    font-size: 25px;
    letter-spacing: 0.06rem;
    color: #666666;
	}
    
    .slider-content .slider-headline { font-size: 4rem; }
}
h4 { font-size: 1.9rem; font-weight: 600; }
h5 { font-size: 1.9rem; }
h6 { font-size: 1.9rem; }

h3, h4, h5, h6 {
    padding-top: 15px;
    padding-bottom: 10px;
}
.xlink a {
	font-size: 1.5rem;
	color: #666666;
}
.xlink p {
	line-height: 1;
	padding-bottom: 8px;
}

html {
    height: 100%;
    -webkit-tap-highlight-color: transparent;
}
body {
    position: relative;
    min-height: 100%;
}
.size-1920 {
    max-width: 1920px;
    margin: 0 auto;
}
.size-1320 {
    max-width: 1320px;
    margin: 0 auto;
}
.t-block {
    max-width: 1320px;
    margin: 50px auto;
}
.t-block h2 {
    font-size: 3rem;
    padding: 20px 0 0 0;
}
.t-block a {
    text-decoration: none;
    color: #2E2E2E;
}
/* ------------------------------------------------------------- Header + Toplogo --- */
.toplogo {
    position: relative;
    height: auto;
    /* width: 96%; */
    overflow: hidden;
    padding: 15px 0 20px 0;
}
.toplogo img, a.img {
    width: 100%;
    min-height: 80px;
    object-fit: cover;
    object-position: left;
}
/*@media only screen and (min-width: 430px) {
.toplogo{
	position: relative;
    height: 150px;
	width: 100%;
    overflow: hidden;
	padding: 30px 0 0 30px;
}
.toplogo img, a.img {
    max-width: 1920px;
}
}
@media only screen and (min-width: 620px) {
.toplogo{
	position: relative;
    height: 150px;
	width: 100%;
    overflow: hidden;
	padding: 30px 150px 0 30px;
}
.toplogo img, a.img {
    max-width: 1920px;
}
    }*/
/* ------------------------------------------------------------- Topimg --- */
img {
    max-width: 100%;
    height: auto;
}
#topimage {
    position: relative;
    max-width: 100%;
/*    min-height: 450px;*/
    object-fit: none;
    overflow: hidden;
}
/*#topimage .topimage {
    width: 100%;
}*/
#topimage img {
    overflow: hidden;
    align-self: center;
    min-height: 350px;
    width: 100%;
    object-fit: cover;
}
.quota {
    position: relative;
    max-width: 100%;
    border-left: 10px solid #FF9900;
    padding: 0 15px 0 30px;
    margin-bottom: 80px
}
@media only screen and (min-width: 1320px) {
    #topimage .topimage img {
        width: 1920px;
    }
    .quota {
    border-left: 10px solid #FF9900;
    padding: 0 85px 0 30px;
}
}
.flex-container {
    position: relative;
    display: block;
}
.drittel {
    position: relative;
    display: block;
    width: 100%;
    margin: 0 10px;
}
.drittel {
font-size: 75%;
color: #666;
}
.drittel a{
text-decoration: none;
color: #2E2E2E;
}
.drittel a:hover{
color: #000;
}
.drittel img{
    display: block;
/*    max-width: 300px;*/
    top: 0;
    margin-bottom: 25px;
}

@media only screen and (min-width: 1020px) {
/*    .flex-container {
    display: inline-flex;
}*/
    .drittel {
    position: relative;
    display: flex;
    width: 33%;
    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
    margin: 0 20px;
}
}
@media only screen and (min-width: 800px) {
    .flex-container {
    display: inline-flex;
}
    .drittel {
    position: relative;
    display: flex;
    width: 40%;
    justify-content: space-between;
    align-items: flex-start;
    align-content: flex-start;
    flex-wrap: wrap;
    margin: 0 20px;
}
}
footer {
width: 100%;
background-color: #555555;
margin-top: 80px;
    color:#CCCCCC
    }
footer a{
    color:#CCCCCC;
    text-decoration: none;
    }
footer a:hover{
    color:#fff;
    text-decoration: none;
    }
#footer-content {
    max-width: 1320px;
    position: relative;
    display: block;
    margin:0 auto;
    padding: 15px 20px 30px 20px;
    font-size: 90%;
    }
/*#footer-content .company svg.company-icon {
    fill: #ccc;
    height: 20px;
    width: 20px;
    padding-right: 5px;
    padding-top: 5px;
    }*/
.halbe {
    position: relative;
    display: flex;
    width: 40%;
    min-width: 330px;
    justify-content: flex-start;
    align-items: flex-start;
    align-content: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    padding-top: 15px;
}
@media only screen and (min-width: 1400px) {
#footer-content {
    padding: 15px 0px 70px 0;
    }
}
   