body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
.cookiebar{box-sizing:border-box;position:fixed;left:0;width:100%;padding:.6em 1.2em;background-color:#4b4b4b;color:#fff;font-size:1em;text-align:center;z-index:10}.cookiebar *{box-sizing:border-box}.cookiebar--active{display:flex!important;justify-content:center;align-items:center;flex-wrap:wrap}.cookiebar--position-top{top:0}.cookiebar--position-bottom{bottom:0}.cookiebar__message,.cookiebar__text{margin-right:1.5em}.cookiebar__link{color:#fff;text-decoration:underline}.cookiebar__link:hover{text-decoration:none}.cookiebar__button{margin:0;padding:.6em 1.2em;border:none;border-radius:0;background-color:#4ea55e;color:#fff;font-weight:700;cursor:pointer}.cookiebar__button:hover{background-color:#3e824a}.cookiebar__analytics{margin-right:1.5em}.cookiebar__analytics-label{cursor:pointer}.cookiebar__analytics-checkbox{margin-right:5px}
/* raleway-200 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 200;
  src: local(''),
       url('../../files/theme/fonts/raleway-v22-latin-200.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../../files/theme/fonts/raleway-v22-latin-200.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* raleway-300 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 300;
  src: local(''),
       url('../../files/theme/fonts/raleway-v22-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../../files/theme/fonts/raleway-v22-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* raleway-regular - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: local(''),
       url('../../files/theme/fonts/raleway-v22-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../../files/theme/fonts/raleway-v22-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* raleway-600 - latin */
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 600;
  src: local(''),
       url('../../files/theme/fonts/raleway-v22-latin-600.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
       url('../../files/theme/fonts/raleway-v22-latin-600.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

html {
  scroll-behavior: smooth;
}

* {
    box-sizing: border-box;
}

body {
    font-family:'Raleway',Trebuchet,sans-serif;
    line-height:1.3;
    font-weight: 300;
    font-size: 1rem;
    font-size: 16px;
}
/* listen: margin und padding entfernen */
ol,
ul {
    margin:0;
    padding:0;
}

strong {
    color:#186198;
    letter-spacing:.5px;
}

img {
  vertical-align:bottom;
}

/* Layout */

#wrapper {
  max-width: 100%;
  margin: 0;
}

#container {
  background-color:rgba(183,191,193,.4);
  line-height:1.5;
  font-size: 14px;
  font-size: 0.875rem;
}

#header .inside,
.custom #intro .inside,
.custom #philosophie .inside,
.custom #headline .inside,
#main .inside,
#footer .inside {
  max-width: 960px;
  margin: 0 auto 0 auto;
  padding: 0 1em 1em 1em;
}

.produkte #main .inside {
  max-width: 1440px;
}

#footer .inside {
  overflow: auto;
  padding-top: 2em;
  padding-bottom: 4em;
}

.custom #headline .inside {
  padding-bottom: 0;
}

#main .inside {
  padding: 3em 1em 2em 1em;
}

.produkte #main .inside {
  padding: 0;
}

.anfahrt #main .inside {
  padding: 0 0 0 1em;
}

.custom #intro {
  background-color:rgba(178,202,67,1);
  text-align: center;
  font-size: 20px;
  font-size: 1.25rem;
  padding: 2em 0 1em 0;
}

.custom #philosophie {
  background-color:rgba(178,202,67,.5);
  text-align: center;
  font-size: 20px;
  font-size: 1.25rem;
  padding-bottom: 1em;
}

.custom #headline {
  background-color:rgba(183,191,193,1);
  text-align: center;
}

#footer .float {
  min-width: 150px;
  line-height: 1.8;
  float: left;
}

.box-wrapper {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.box3 { /* 3spaltige box */
  width: 30%;
  min-width: 200px;
  text-align: center;
}

.box3 img {
  width: 80px;
}

#main .inside a.box3 {
  border-bottom: none;
  color:#000; }

#main .inside a.box3 h2:hover {
  color: #000;
  }

#main .inside a.box3:hover {
    border-bottom: none;
    color:#186198;
  }

.box2 { /* 2spaltige box */
  width: 45%;
  min-width: 300px;
}

.box1-3 {
  width: 30%;
  min-width: 200px;
  text-align: left
}

.box2-3 {
  width: 60%;
  min-width: 300px;
}

iframe {
  width: 60%;
  min-width: 300px;
}

#footer {
  background-color:rgba(183,191,193,.7);
  font-size:.8rem;
}

#header #logo img {
    width:280px;
    margin-top:1em;
    padding:0;
}

/* Quick-Contact im Header */

.quick-contact {
    float: right;
    margin-top: 1.5em;
    font-size: .8rem;
    padding: 0;
}
.quick-contact ul {
    list-style-type:none;
}

.quick-contact a {
  font-weight: 600;
  color: #00629c;
  text-decoration: none;
  display: inline-block;
  width: 100%;
  border: 2px solid #CFD7DC;
  border-radius: 4px;
  padding: 8px 10px;
  margin-top: 6px;
}
.quick-contact a:hover {
  background-color: rgba(183,191,193,.5);
  border: 2px solid rgba(183,191,193,1);
}
.quick-contact .icon {
    display:none;
    width: 20px;
}

/* Links im Hauptbereich */
#main .inside a {
    border-bottom:1px dotted #186198;
    text-decoration:none;
    color:#186198;
}

#main .inside a:hover,
#main .inside a:focus {
    border-bottom:1px dotted #000;
    text-decoration:none;
    color:#000;
}

/* Seite "Home" andere Farbe */
.home #container {
    background-color:rgba(24,97,152,.35);
}

/* Typografie */
h1 {
  color:#186198;
  text-transform:uppercase;
  letter-spacing:2px;
  font-weight: 300;
  font-size: 40pt;
  font-size: 2.5rem;
}

h2 {
    color:#186198;
    font-weight: 300;
    font-size: 24px;
    font-size: 1.5rem;
    margin-bottom: 0;
}
h3 {
  color:#186198;
  font-weight: 600;
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 0;
}

h4 {
  color:#000;
  font-weight: 600;
  font-size: 16px;
  font-size: 1rem;
  margin-bottom: 0;
}

/* Navigationen */
nav.mod_navigation {
    margin-top:-1.1em;
    text-align:right;
}
nav.mod_navigation ul,
nav.mod_customnav ul {
    padding:0;
    font-size:.8rem;
    list-style-type:none;
    font-weight: 600;
}
nav.mod_navigation li {
    display:inline-block;
    margin:0;
    padding-left:3%;
}
nav.mod_navigation li a,
nav.mod_navigation li strong,
nav.mod_customnav li a,
nav.mod_customnav li strong {
    display:block;
    text-decoration:none;
    color:#000;
}
nav.mod_navigation .active,
nav.mod_navigation a:hover,
nav.mod_navigation a:focus,
nav.mod_customnav .active,
nav.mod_customnav a:hover,
nav.mod_customnav a:focus   {
    color:#186198;
}


/* ------------------------------ */
/*          Akkordeon             */
/* ------------------------------ */

/* .ce_accordion {
  padding: 1rem 1rem;
  cursor: pointer;
}

.ui-accordion-header {
  color:#186198;
  font-weight: 300;
  font-size: 24px;
  font-size: 1.5rem;
  margin-bottom: 0;
}

.ui-accordion-header:hover {
  color:#000;
  cursor: pointer;
}

.ui-accordion-content {
  color:#000;
  line-height:1.5;
  font-size: 14px;
  font-size: 0.875rem;
  margin-bottom: 0;
}

.ce_accordionSingle.gruen{
  background-color: rgba(178,202,67,1);
}

.ce_accordionSingle.blau{
  background-color: #99b5c9;
}

.ce_accordionSingle.hgruen {
  background-color: #c9d793;
}

.ce_accordionSingle.orange {
  background-color: rgba(245,152,5,1);
} */

/* ------------------------------ */
/*          FORMULAR              */
/* ------------------------------ */

form#kontaktformular {
    line-height:1;
}
#kontaktformular label {
    display:block;
    margin:1em 0 .3em .1em;
    cursor: pointer;
}
#kontaktformular .checkbox_container label {
    display:inline;
}

/* Abstand vor und nach Checkbox */
#kontaktformular .checkbox_container {
    margin-top:1.5em;
    margin-bottom:1em;
}

/* Eingabefelder */
#kontaktformular input[type="text"],
#kontaktformular input[type="email"],
#kontaktformular textarea {
    padding:.25em;
    border:1px solid rgba(183,191,193,1);
}
#kontaktformular input,
#kontaktformular textarea {
  width: 100%;

}
form .widget button {
    margin-top:2em;
    font-family:'Raleway',Trebuchet,sans-serif;
    padding: 3px 10px;
}

#kontaktformular .widget-captcha input[type="text"] {
    width:4em;
    display:inline;
}
#kontaktformular .widget-captcha label {
    margin-top:2em;
    margin-bottom:.5em;
}
#kontaktformular .widget-captcha .captcha_text {
    margin-right:.5em;
}
#main p.error {
    margin-bottom:.25em;
    padding:1em;
    background-color:#ffc0cb;
    border:1px solid #f00;
    color:#000;
}

/* Cookiebar */

.cookiebar {
    background-color:#000;
    font-size:.875rem;
    font-weight: 600;
    color:#fff;
}
.cookiebar button {
    background-color:rgba(245, 152, 5, 1);
    border-radius:3px;
    font-weight:normal;
    padding: 5px 10px;
    behavior:url('assets/css3pie/1.0.0/PIE.htc');
}
.cookiebar button:hover {
    background-color:rgba(245, 152, 5, 0.7);
}
button.cookiebar__button {
  font-family: 'Raleway',Trebuchet,sans-serif;
  font-size:.875rem;
  font-weight: 600;
}
.cookiebar span {
    margin-right:0;
}


/*---------------*/
/* MEDIA-QUERIES */
/*---------------*/

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

  h1 {
    margin-bottom: 0.5 em;
    line-height: 1.5; }

  h2 {
      font-size: 18px;
      font-size: 1.25rem; }

    /* #main .ui-accordion-header {
      font-size: 18px;
      font-size: 1.25rem; } */
}

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

  .custom #headline .inside {
    padding-bottom: 0; }

  .home #main .inside {
    padding: 1em; }

  .quick-contact li {
    display: inline-block; }

  .quick-contact .label {
    display: none; }

  .quick-contact .icon {
    display: block; }

  .custom #intro {
    padding: 0; }

  .custom #philosophie {
    background-color:rgba(178,202,67,.5);
    text-align: center;
    font-size: 20px;
    font-size: 1.25rem;
    padding-bottom: 1em; }

  .home .ce_text {
    padding: 1em 0 1em 0;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5; }

  .box3 { /* 3spaltige box */
    width: 100%;
    padding:0 1em 0 1em; }

  .box3 img {
    width: 60px; }

  .box2 { /* 2spaltige box */
    width: 100%; }

  .anfahrt #main .inside {
    padding: 0 1em 0 1em;
    }

  .box1-3, .box2-3, iframe {
    width: 100%;
    }

  .box1-3 {
    padding-bottom: 1em;
  }

  #main .ui-accordion-content {
      font-size: 14px;
        font-size: 0.875rem; }
}

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

  #header {
    height: 12.5em; }

  #header .inside {
    position: relative;
    text-align: center; }

  #header #logo img {
    width: 240px;
    position: relative;
    margin-top: 1em; }

  #header .mod_navigation {
    top: 2em;
    position: relative;
    margin: 0 auto;
    text-align: center; }

  #header .mod_navigation ul {
    padding: 0;
    font-size: 18px;
    font-size: 1.2rem; }

  .quick-contact ul {
    margin: 0 auto;
    padding: 0;
    position: absolute;
    top: 10px;
    right: 10px;
    background: #fff;
    z-index: 100; }
}

