/* CSS Document */


/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  font-display:swap;
  src: url('css/fonts/open-sans-v17-latin-300.eot');
  src: local('Open Sans Light'), local('OpenSans-Light'),
       url('css/fonts/open-sans-v17-latin-300.eot?#iefix') format('embedded-opentype'),
       url('css/fonts/open-sans-v17-latin-300.woff2') format('woff2'),
       url('css/fonts/open-sans-v17-latin-300.woff') format('woff'),
       url('css/fonts/open-sans-v17-latin-300.ttf') format('truetype'),
       url('css/fonts/open-sans-v17-latin-300.svg#OpenSans') format('svg');
}

/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  font-display:swap;
  src: url('css/fonts/open-sans-v17-latin-regular.eot'); 
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('css/fonts/open-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'),
       url('css/fonts/open-sans-v17-latin-regular.woff2') format('woff2'), 
       url('css/fonts/open-sans-v17-latin-regular.woff') format('woff'), 
       url('css/fonts/open-sans-v17-latin-regular.ttf') format('truetype'),
       url('css/fonts/open-sans-v17-latin-regular.svg#OpenSans') format('svg'); 
}
/* open-sans-600 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  font-display:swap;
  src: url('css/fonts/open-sans-v17-latin-600.eot'); 
  src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
       url('css/fonts/open-sans-v17-latin-600.eot?#iefix') format('embedded-opentype'),
       url('css/fonts/open-sans-v17-latin-600.woff2') format('woff2'), 
       url('css/fonts/open-sans-v17-latin-600.woff') format('woff'), 
       url('css/fonts/open-sans-v17-latin-600.ttf') format('truetype'), 
       url('css/fonts/open-sans-v17-latin-600.svg#OpenSans') format('svg');
}
/* open-sans-700 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  font-display:swap;
  src: url('css/fonts/open-sans-v17-latin-700.eot');
  src: local('Open Sans Bold'), local('OpenSans-Bold'),
       url('css/fonts/open-sans-v17-latin-700.eot?#iefix') format('embedded-opentype'), 
       url('css/fonts/open-sans-v17-latin-700.woff2') format('woff2'), 
       url('css/fonts/open-sans-v17-latin-700.woff') format('woff'), 
       url('css/fonts/open-sans-v17-latin-700.ttf') format('truetype'), 
       url('css/fonts/open-sans-v17-latin-700.svg#OpenSans') format('svg'); 
}
/* open-sans-800 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 800;
  font-display:swap;
  src: url('css/fonts/open-sans-v17-latin-800.eot'); 
  src: local('Open Sans ExtraBold'), local('OpenSans-ExtraBold'),
       url('css/fonts/open-sans-v17-latin-800.eot?#iefix') format('embedded-opentype'),
       url('css/fonts/open-sans-v17-latin-800.woff2') format('woff2'), 
       url('css/fonts/open-sans-v17-latin-800.woff') format('woff'), 
       url('css/fonts/open-sans-v17-latin-800.ttf') format('truetype'), 
       url('css/fonts/open-sans-v17-latin-800.svg#OpenSans') format('svg'); 
}


/*


font-family: 'Open Sans', sans-serif;
font-weight: 300,400,600,700,800


blau
color:#103250;

grün
color:#5A6816;




*/


* {
  margin:0;
  padding:0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  font-size:14px;
  background-color:#fff;
  color:#333;
  line-height:24px;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust:     100%;
}

.clearfix, .clear, .clearer {
  line-height:0px;
  height:0px;
  clear:both;
}

.cf:before, .cf:after { content: ""; display: table; }
.cf:after { clear: both; }

img {
  border: none;
  width:100%;
  height:auto;
  vertical-align:top;
}

p {
  margin:14px 0 14px 0;
}

p.small {
  font-size:12px;
  line-height:20px;
}


.success_message {
  padding: 15px;
  color:#767e3c;
  background: #d9deb9;
  margin: 0 0 20px 0;  

}



input {
  font-family: 'Open Sans', sans-serif;
  font-size:14px;
  line-height:20px;
}
textarea {
  font-family: 'Open Sans', sans-serif;
  font-size:14px;
  line-height:20px;
  background-color:#fafafa;
  border-color: #ddd;
  color: #999999;
  border-style: solid;
  border-width: 1px;
  vertical-align: middle;
	padding: 10px 10px 10px 10px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width:100%;
}
select {
  font-family: 'Open Sans', sans-serif;
  font-size:14px;
  line-height:20px;
  background-color:#fafafa;
  border-color: #ddd;
  color: #999999;
  border-style: solid;
  border-width: 1px;
  vertical-align: middle;
	padding: 10px 10px 10px 10px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width:100%;
}
input[type=text], input[type=password], input[type=email], input[type=tel] {
  background-color:#fafafa;
  border-color: #ddd;
  color: #999999;
  border-style: solid;
  border-width: 1px;
  vertical-align: middle;
	padding: 10px 10px 10px 10px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width:100%;
}

input[type=text]:hover, input[type=password]:hover, input[type=email]:hover, input[type=tel]:hover, select:hover, textarea:hover {
    background-color:#FFFFFF;
    border-color: #ccc;
    color: #666666;
}
input[type=text]:focus, input[type=password]:focus, input[type=email]:focus, input[type=tel]:focus, select:focus, textarea:focus {
    background-color:#FFFFFF;
    border-color: #ccc;
    color: #333333;
    outline: 0 none;
}


input.cssbutton,
input[type=button] {
  position:relative;
  font-family: 'Open Sans', sans-serif;
  display:block;
  width:100%;
  max-width:200px;
  text-align:center;
  padding: 8px 5px;
  font-size:14px;
  line-height:17px;
  font-weight:700;
  text-transform:uppercase;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  white-space:nowrap;
  text-decoration:none;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	border:1px solid #d82423;
	background-color:#d82423;
	color:#ffffff;
  cursor:pointer;
}
input.cssbutton:hover,
input[type=button]:hover {
	border:1px solid #b22120;
	background-color:#b22120;
}





h1 {
  color:#103250;
  font-size:34px;
  line-height:42px;
  margin:0px 0 30px 0;
  padding:0 0 0 0;
  font-weight:400;
}
h2 {
  color:#103250;
  font-size:26px;
  line-height:34px;
  margin:25px 0 10px 0;
  padding:0 0 0 0;
  font-weight:400;
}
h3 {
  color:#103250;
  font-size:18px;
  line-height:24px;
  margin:25px 0 10px 0;
  padding:0 0 0 0;
  font-weight:600;
}

h4 {
  font-size:14px;
  line-height:24px;
  margin:20px 0 10px 0;
  padding:0 0 0 0;
  font-weight:700;
}


a, a:link, a:visited, a:active, a:hover {
  background:transparent;
  text-decoration:none;
  outline:none;
  cursor:pointer;
}
a:link {
  color:#5A6816;
  outline:none;
}
a:visited {
  color:#5A6816;
  outline:none;
}
a:hover, a:active {
  color:#5A6816;
  outline:none;
}
a:hover {
  color:#818a41;
  outline:none;
}
a img {
  border:none;
  outline:none;
  text-decoration:none !important;
}

.red {
  color:#dd2400;
}
.blue {
  color:#103250;
}
.green {
  color:#5A6816;
}

.div_height_10 {
  display:block;
  height:10px;
}
.div_height_20 {
  display:block;
  height:20px;
}




.layout_wrap {
  overflow:hidden;
  width:100%;
  padding: 0px 0px;
  margin: 0px auto;
  min-height:600px;
  background:#fff;
}

.layout_header {
  width:100%;
  padding: 0px 0px;
  background:#eee;
}
.layout_header_inner {
  width:100%;
  max-width:1060px;
  margin: 0px auto;
  padding: 0px 0px;
  position:relative;
}

.layout_logo {
  position:absolute;
  top:20px;
  left:20px;
  width:200px;
  z-index:10;
}
.layout_logo img {
  width:100%;
  height:auto;
  vertical-align:top;
}


.layout_language {
  position:absolute;
  bottom:20px;
  right:20px;
  z-index:10;
}
.layout_language > div {
  float:left;
  margin: 0 0 0 10px;
  width:30px;
}
.layout_language > div a {
  display:block;
}
.layout_language > div img {
  float:left;
}



.layout_nav {
  width:100%;
  padding: 0px 0px;
  background:#103250;
}
.layout_nav_inner {
  width:100%;
  max-width:1060px;
  margin: 0px auto;
  padding: 0px 0px;
  position:relative;
}


.layout_content {
  width:100%;
  padding: 0px 10px;
  overflow:hidden;
}
.layout_content_inner {
  width:100%;
  max-width:1060px;
  margin: 0px auto;
  padding: 50px 0px 50px 0px;
  min-height:400px;
  position:relative;
}


.layout_subfooter {
  width:100%;
  padding: 0px 10px;
  background:#DFE1F6;
  overflow:hidden;
}
.layout_subfooter_inner {
  width:100%;
  max-width:1060px;
  margin: 0px auto;
  padding: 50px 0px 50px 0px;
  position:relative;
}


.layout_footer {
  width:100%;
  padding: 0px 10px;
  overflow:hidden;
  background:#103250;
}
.layout_footer_inner {
  width:100%;
  max-width:1060px;
  margin: 0px auto;
  padding: 50px 0px 50px 0px;
  position:relative;
}

.layout_footer_row {
  margin: 0px -20px;
}
.footer_col {
  float:left;
  width:25%;
  padding: 0px 20px;
  color:#ddd;
  font-weight:600;
  margin: 0 0 30px 0;
}

.footer_col_head {
  color: #5A6816;
  font-size:16px;
  line-height:24px;
}
ul.footer_col_content {
  list-style-type:none;
  margin: 10px 0px 0px 0px;
}
ul.footer_col_content li {
  color:#ddd;
  font-size:14px;
  line-height:24px;
}
ul.footer_col_content li a {
  color:#ddd;
}
ul.footer_col_content li a:hover {
  color:#fff;
  text-decoration:none;
}

.copyright {
  padding: 10px 0 0 0;
  font-size:12px;
  line-height:18px;
  text-align:center;
  color:#ddd;
}



.col4_row  {
  margin: 0px -20px 0px -20px;
  padding: 50px 0px 50px 0px;
}
.col4_item  {
  float:left;
  width:25%;
  padding:0px 20px;
  margin: 0 0 0px 0;
}

.col4_item_image {
  text-align:center;
  margin:0 0 25px 0;
}
.col4_item_image img {
  width:100%;
  max-width:270px;
  height:auto;
}
.col4_item_title {

}
.col4_item_title h3 {
  color: #5A6816;
  font-size:16px;
  line-height:22px;
  font-weight:400;
  margin: 15px 0px;
}

.col4_item_button  {
  margin: 10px 0 0 0;
}
.col4_item_button .far {
  margin: 0 5px 0 0;
}
.col4_item_button a {
  display:inline-block;
  padding: 6px 12px;
  background:#5A6816;
  color:#fff;
}
.col4_item_button a:hover {
  background:#818a41;
  text-decoration:none;
  color:#fff;
}




.learn_more {
  margin: 0 0 50px 0;
  text-align:center;
}
.learn_more .far {
  margin:0 5px 0 0;
}
.learn_more a {
  display:block;
  padding: 15px 5px;
  font-size:18px;
  line-height:26px;
  color:#103250;
  background:#fff;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  text-align:center;
}
.learn_more a:hover {
  text-decoration:none;
  background:#eee;
}




.col3_row  {
  margin: 0px -20px 0px -20px;
  padding: 50px 0px 50px 0px;
}
.col3_item  {
  float:left;
  width:33.3333%;
  padding:0px 20px;
  margin: 0 0 0px 0;
}
.col3_item_image {
  text-align:center;
  margin:0 0 25px 0;
}
.col3_item_image img {
  width:100%;
  max-width:270px;
  height:auto;
}



.col2_row  {
  margin: 0px -20px 0px -20px;
}
.col2_item  {
  float:left;
  width:50%;
  padding:0px 20px;
  margin: 0 0 40px 0;
}

.col2_item_33  {
  float:left;
  width:33.3333%;
  padding:0px 20px;
  margin: 0 0 40px 0;
}
.col2_item_66  {
  float:left;
  width:66.6666%;
  padding:0px 20px;
  margin: 0 0 40px 0;
}


.col2_image {
  border: 1px solid #ddd;
  padding:10px;
  margin: 15px 0 0 0;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.col2_image:hover {
  opacity:0.8;
}




.tech_table  {
  overflow-x:auto
}
.tech_table table {
  width:100%;
  border-spacing: 0;
  border-collapse:collapse;
  font-size:12px;
  line-height:20px;
}
.tech_table table td {
  width:33.3333%;
  padding:8px 8px;
  text-align:left;
  border: 1px solid #ddd;
  vertical-align:top;
}
.tech_table table th {
  padding:8px 8px;
  text-align:left;
  border: 1px solid #ddd;
  vertical-align:top;
}
.tech_table table tr:nth-child(even) td {
  background-color: #f2f2f2;
}
.tech_table table tr:hover td {
  background-color: #f4f5ed;
}

.marked {
  background: #f4f380;
  padding: 0px 4px;
}


.download_item {

}
.download_item a {
  display:block;
  border: 1px solid #ddd;
  background-color: #fff;
  font-size:12px;
  line-height:20px;
  padding:8px 8px;
}
.download_item a:hover {
  background-color: #f4f5ed;
  text-decoration:none;
}
.download_item .fas {
  margin: 0 5px 0 0;
}


.layout_formular {
  padding: 15px 20px 20px 20px;
  background: #f5f5f5;
}
.field_required {
  font-weight:700;
  color:#dd2400;
}

.fieldrow {
  margin: 5px 0px;
  padding: 5px 0px;
}
.field_text {
  font-size:12px;
  line-height:16px;
  font-weight:700;
  padding: 0 0 3px 0;
}
.field_input {
  
}
.field_textarea textarea {
  height:105px;
}
.field_spam {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
	-ms-flex-align: center;
	-webkit-align-items: center;
	-webkit-box-align: center;
	align-items: center;
}
.field_spam_image {
  width:170px;
  padding: 0 20px 0 0;
}
.field_spam_image img {
  width:147px;
  height:42px;
  width:auto;
  vertical-align:top;
}
.field_spam_input {
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.form_submit_button {

}
.form_submit_button button {
  font-family: 'Open Sans', sans-serif;
  font-weight: 700;
  font-size:14px;
  line-height:20px;
  background-color:#5A6816;
  border-color: #5A6816;
  color: #fff;
  border-style: solid;
  border-width: 1px;
  vertical-align: middle;
	padding: 10px 10px 10px 10px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width:100%;
  text-align:center;
  width:100%;
  max-width:300px;
  cursor:pointer;
}
.form_submit_button button .fas {
  margin: 0 5px 0 0;
}
.form_submit_button button:hover {
  background-color:#818a41;
  border-color: #818a41;
}



/* custom checkbox */
.cus_check_container {
  margin: 0 0 20px 0;
}
.cus_check_container .cus_check {
  float:left;
  width:33.3333%;
  padding: 0 10px 0 0;
}



.cus_check {
  margin: 10px 0px 0px 0px;
  font-size:14px;
  line-height:19px;
}
.cus_check input[type="checkbox"] {
  position: absolute !important;
  visibility:hidden;
  opacity: 0;
}
.cus_check input[type="checkbox"] ~ label {
  padding-left: 26px;
  position: relative;
  cursor: pointer;
  display: block;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 0 0px 0;
}
.cus_check input[type="checkbox"] ~ label:before {
  font-family: 'Font Awesome 5 Free';
  content: "\f0c8";
  font-weight:400;
  font-size: 14px;
  line-height:14px;
  position: absolute;
  top: 3px;
  left: 1px;
  color:#ccc;
  transition: background .15s;
}
.cus_check.cus_check_small input[type="checkbox"] ~ label:before {
  top: 2px;
}
.cus_check input[type="checkbox"]:disabled ~ label {
  color: #ccc;
}
.cus_check input[type="checkbox"]:disabled ~ label,
.cus_check input[type="checkbox"]:disabled ~ label:before,
.cus_check input[type="checkbox"]:disabled ~ label:after {
  cursor: not-allowed;
}
.cus_check input[type="checkbox"]:disabled,
.cus_check input[type="checkbox"]:disabled ~ label:before,
.cus_check input[type="checkbox"]:disabled:checked ~ label:before {
  opacity:0.5;
}
.cus_check input[type="checkbox"] ~ label:after {
  font-family: 'Font Awesome 5 Free';
  content: '\f14a';
  font-weight:900;
  font-size: 14px;
  line-height:14px;
  position: absolute;
  top: 3px;
  left: 1px;
  color: #5A6816;
  transition: transform .15s;
  transform: scale(0) rotate(90deg);
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.cus_check.cus_check_small input[type="checkbox"] ~ label:after {
  top: 2px;
}
.cus_check input[type="checkbox"]:checked ~ label:after {
  transform: scale(1) rotate(0deg);
}



/* Slider Startseite */

.carousel_slider {
  margin: 0 0 0px 0;
}               
.carousel_slider img {
  float:left;
  width:100%;
  height:auto;
  vertical-align:top;
}
.carousel_slider div {
  vertical-align:top;
}
.carousel_slider .slick-dots {
  bottom: -25px;
}
.carousel_slider .slick-prev,
.carousel_slider .slick-next,
.carousel_slider .slick-prev:focus,
.carousel_slider .slick-next:focus {
  width: 50px;
  height: 50px;
  background: #fff;
  z-index: 2;
  color: #333;
  opacity:0.4;
}
.carousel_slider .slick-prev:hover,
.carousel_slider .slick-next:hover {
  color: #333;
  outline: none;
  background: #fff;
  opacity:0.9;
}
.carousel_slider .slick-prev {
  left: 20px;
}
.carousel_slider .slick-next {
  right: 20px;
}



@media (max-width: 890px){
  .col4_item  { width:50%; margin: 0 0 40px 0; }
  .col4_item:nth-child(3n) { clear:both; }

  .col3_item  { width:50%; margin: 0 0 40px 0; }
  .col3_item:nth-child(3n) { clear:both; }

  .footer_col { width: 50%;  margin: 0 0 40px 0; }
  .footer_col:nth-child(3n) { clear:both; }

  .layout_formular { padding: 5px 10px 10px 10px; }

}

@media (max-width: 700px){
  .cus_check_container .cus_check { width: 50%;}

}

@media (max-width: 600px){
  .col2_item { float: left; width: 100%; padding: 0px 20px; margin: 0 0 40px 0; }

  .col2_item_33 { width: 100%; padding: 0px 20px; margin: 0 0 20px 0; }
  .col2_item_66 { width: 100%; padding: 0px 20px; margin: 0 0 40px 0; }

}




@media (max-width: 500px){
  .col4_item  { width:100%; margin: 0 0 40px 0; }
  .col4_item:nth-child(3n) { clear:both; }

  .col3_item  { width:100%; margin: 0 0 40px 0; }
  .col3_item:nth-child(3n) { clear:both; }

  .footer_col { width: 100%;  margin: 0 0 40px 0; }

}