/***  respons_1 created by nordicweb.com ***/

/* === START of EINBINDEN DER FONT VON Z.B. GOOGLE FONTS === */
@import url('');

/* Open Sans Regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local(''),
      url('/fonts/open-sans/open-sans-v29-latin-regular.woff2') format('woff2'),
      /* Chrome 26+, Opera 23+, Firefox 39+ */
      url('/fonts/open-sans/open-sans-v29-latin-regular.woff') format('woff');
      /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* Open Sans Bold - latin */
@font-face {
  font-family: 'Open Sans Bold';
  font-style: normal;
  font-weight: bold;
  src: local(''),
      url('/fonts/open-sans/open-sans-v29-latin-600.woff2') format('woff2'),
      /* Chrome 26+, Opera 23+, Firefox 39+ */
      url('/fonts/open-sans/open-sans-v29-latin-600.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* Lato Regular - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: local(''),
      url('/fonts/lato-v24/lato-v24-latin-regular.woff2') format('woff2'),
      /* Chrome 26+, Opera 23+, Firefox 39+ */
      url('/fonts/lato-v24/lato-v24-latin-regular.woff') format('woff');
  /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* Lato Bold - latin */
@font-face {
    font-family: 'Lato Bold';
    font-style: normal;
    font-weight: bold;
    src: local(''),
        url('/fonts/lato-v24/lato-v24-latin-700.woff2') format('woff2'),
        /* Chrome 26+, Opera 23+, Firefox 39+ */
        url('/fonts/lato-v24/lato-v24-latin-700.woff') format('woff');
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* Roboto Regular - latin */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    src: local(''),
        url('/fonts/roboto-v30/roboto-v30-latin-regular.woff2') format('woff2'),
        /* Chrome 26+, Opera 23+, Firefox 39+ */
        url('/fonts/roboto-v30/roboto-v30-latin-regular.woff') format('woff');
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* Roboto Bold - latin */
@font-face {
    font-family: 'Roboto Bold';
    /* font-style: normal; */
    font-weight: bold;
    src: local(''),
        url('/fonts/roboto-v30/roboto-v30-latin-500.woff2') format('woff2'),
        /* Chrome 26+, Opera 23+, Firefox 39+ */
        url('/fonts/roboto-v30/roboto-v30-latin-500.woff') format('woff');
    /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* === END of EINBINDEN DER FONT VON Z.B. GOOGLE FONTS === */

/* === START of JQUERY PRELOADER === */
#preloader {
  position:fixed;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background-color:#fff; /* change if the mask should have another color then white */
  z-index:99; /* makes sure it stays on top */
}

#status {
  width:200px;
  height:200px;
  position:absolute;
  left:50%; /* centers the loading animation horizontally one the screen */
  top:50%; /* centers the loading animation vertically one the screen */
  background-image:url("../img/loading_lightbox_gallery.gif"); /* path to your loading animation */
  background-repeat:no-repeat;
  background-position:center;
  margin:-100px 0 0 -100px; /* is width and height divided by two */
}
/* === END of JQUERY PRELOADER === */

/* === START of BODY & ALLGEMEINE AUSZEICHNUNGEN === */

:root {
  --main-color: #0169b9;
  --sec-color: #99cc00;
  --light-color: #fff;
  --dark-color: #000;
  --foot-color: #d0d5d9;
}
* {
  margin:0;
  padding:0;
}

*, *::before, *::after { box-sizing: inherit; }

html, body {
  height: 100%;
  width: 100%;
}
html {
  box-sizing: border-box;
  font-size: 100%; 
}

html body, table  {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Oswald", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  font-size: 16px;
  line-height: 150%;
  color: #0a0a0a;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body h1, body h2, body h3, body h4, body h5, body h6,
body .h1, body .h2, body .h3, body .h4, body .h5, body .h6 {
  font-family: "Lato Bold", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: var(--main-color);
  text-rendering: optimizeLegibility;
  text-transform: uppercase;
}
body h1,
body .h1 {
  font-size: 2.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; 
}
body h2,
body .h2 {
  font-size: 2.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; 
}
body h3,
body .h3 {
  font-size: 2rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; 
}
body h4,
body .h4 {
  font-size: 1.75rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; 
}
body h5,
body .h5 {
  font-size: 1.5rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; 
}
body h6,
body .h6 {
  font-size: 1.25rem;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 0.5rem; 
}

body strong {
  font-family: "Oswald Medium", Helvetica, Roboto, Arial, sans-serif;
}

body .mainColor,
body .mainColor a {
  color: var(--main-color);
}
body .secColor,
body .secColor a {
  color: var(--sec-color);
}
body .lightColor,
body .lightColor a {
  color: var(--light-color);
}
body .darkColor,
body .darkColor a {
  color: var(--dark-color);
}
body .footColor,
body .footColor a {
  color: var(--foot-color);
}

.content a, .content a:visited {
  line-height: inherit;
  color: var(--main-color);
  text-decoration: none;
  cursor: pointer;
}
.content a:hover, .content a:focus { 
  color: var(--sec-color) !important; 
  text-decoration: underline;
}
a img { border: 0; }

p {
  margin-bottom: 1rem;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
}

hr {
  clear: both;
  max-width: 75rem;
  height: 0;
  margin: 1.25rem auto;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #cacaca;
  border-left: 0; 
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; 
}

.site_inner {}

.fullWidth {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: initial;
}

.scrollup {
  background: url('../img/top_btn.png') no-repeat #ddd;
  width: 35px;
  height: 35px;
  position: fixed;
  bottom: 1rem;
  z-index: 1;
  right: 1rem;
  opacity: 0.69;
  display: none;
}

.mean-bar { display: none; }
/* === END of BODY & ALLGEMEINE AUSZEICHNUNGEN === */

/* === START of HEADER & LOGO === */
.header {
    position: absolute;
    width: 100%;
}
.header .row {}

.header .row .logo-container {
  position: relative;
  z-index: 11;
  top: 0px;
  text-align: center;
}

.header .row .logo-container img {
  max-height: 225px;
  padding: 1rem 0;
}
/* === END of HEADER & LOGO === */

/* === START of STICKY & TOP-BAR === */
.sticky {
  background: none;
  z-index: 5 !important;
}
.sticky.is-at-top { /* transition: padding .5s; */ }
.sticky {
  background: rgba(255, 255, 255, .62);
  /* transition: padding .5s; */
  padding: 0;
  z-index: 11 !important;
  box-shadow: 0px 0px 5px 0px #252525;
}
.sticky.is-stuck .top-bar .logo-container {
  display: inline-block;
  /* margin: 0 -.5rem; */
  /* top: 5px; */
}

.sticky.is-stuck .top-bar .logo-container img {max-height: 60px;height: 100%;width: auto;}

.sticky .top-bar {
  display: flex;
  padding: 0!important;
  background: 0;
  width: 100%;
  max-width: 75rem;
  margin: 0 auto;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
}

.sticky .top-bar .logo-container {/* display: none; */}
.sticky .top-bar .bar-txt { display: none; }

.top-bar .columns {
  float: none;
  width: auto;
  min-width: 0;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0px;
}
.top-bar .shrink {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  max-width: 100%;
}
/* === END of STICKY & TOP-BAR === */

/* === START of NAVIGATION === */
.sticky .nav {
  position: relative;
  line-height: 0;
  min-width: 60px;
}
.menu .menu_inner ul {
  display: block;
  /* text-align: justify; */
  -ms-text-justify: distribute-all-lines;
  text-justify: distribute-all-lines;
  width: 100%;
  margin: 0;
  padding-left: 0;
  margin-left: 0;
  background: none;
}
.menu .menu_inner ul li {
  position: relative;
  float: none;
  background: none;
  list-style: none;
  padding-left: 0px;
  vertical-align: middle;
  display: inline-block;
  width: auto;
}
.menu .menu_inner ul li:first-child a {
  text-align: left;
}
.menu .menu_inner ul li:last-child {
  border: 0 none;
}
.menu .menu_inner > ul > li:nth-last-child(2) {
  position: unset;
}
.menu .menu_inner > ul > li:nth-last-child(2) ul.sub_menu {
  right: 0;
}

.menu .menu_inner ul li:hover {}
.menu .menu_inner ul li.active {}

.menu .menu_inner > ul > li > a {
  /* border: 1px solid transparent; */
  display: flex;
  background: 0;
  font-size: 13px;
  height: 60px;
  position: relative;
  color: var(--main-color);
  text-decoration: none;
  /* padding: 12px 10px 20px 7px; */
  padding-left: 10px;
  padding-right: 10px;
  text-transform: uppercase;
  transition: all .3s ease-in-out;
  align-items: center;
  font-family: 'Oswald Medium';
}
.menu .menu_inner ul > li > a:after {
    content: '';
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 7px;
    background-color: var(--main-color);
    transform: scaleX(0);
    transition: transform .35s ease;
}

.menu .menu_inner ul > li > a:hover:after,
.menu .menu_inner ul > li > a.active:after {
    transform: scaleX(1);
}
.menu .menu_inner ul li ul {
  position: absolute;
  width: auto;
  /* background: var(--main-color); */
}
.menu .menu_inner ul li ul li {
  float: none;
  background: var(--main-color);
  list-style: none;
  display: block;
  padding-left: 0px;
  border-bottom: 1px solid #ccc;
}

.menu .menu_inner ul li:hover ul {}
.menu .menu_inner ul li ul li.active {}

.menu .menu_inner ul li ul li a {
  display: block;
  background: 0;
  font-size: 13px;
  text-align: left;
  color: #fefefe;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  padding: 10px 30px 10px 20px;
}
.menu .menu_inner ul li ul li a:hover,
.menu .menu_inner ul li ul li a.active {
  border: 0 none;
  color: #fefefe;
  /* padding: 10px 30px 10px 20px; */
}
.menu .menu_inner ul li ul li ul {
  display: none;
  width: 200px;
  right: -200px;
  top: 0;
  position: absolute;
}

.menu .menu_inner ul li ul li:hover ul { display: block; }

.menu .menu_inner ul li ul li ul li {
  border: none;
  list-style: none;
}

.menu .menu_inner ul li ul li ul li a { text-transform: none; }

.menu .menu_inner ul li ul li ul:last-child {
  border: none;
  /* padding-bottom: 30px; */
}

.menu .menu_inner li ul { display: none; }
.menu .menu_inner ul.main_menu li.active {/* display: block; */}
.menu .menu_inner ul.main_menu ul.sub_menu li ul.subsub_menu { display: none; }
.menu .menu_inner ul.main_menu ul.sub_menu li ul.subsub_menu li a.active { color: black; }
.menu .menu_inner ul.main_menu ul.sub_menu li.active { display: block; }
.menu .menu_inner ul.main_menu ul.sub_menu li.active ul.subsub_menu { /* display: block; */ }
.menu .menu_inner ul.main_menu ul.sub_menu li.active ul.subsub_menu li.active { display: block; }

.stretcher {
  width: 100%;
  display: inline-block;
  font-size: 0;
  line-height: 0;
}

/* === END of NAVIGATION === */

/* START of NAVIGATION ARROW === */
.menu .menu_inner ul.main_menu .nav-arrow > a:before,
.menu .menu_inner ul.main_menu .nav-arrow > a:after {
  content: "";
  position: absolute;
  border: 5px solid transparent;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  transition: all 0.3s linear;
}
.menu .menu_inner ul.main_menu .nav-arrow > a:before {
  border-right: 5px solid transparent;
  top: calc(50% - 5px);
  left: -10px;
}
.menu .menu_inner ul.main_menu .nav-arrow > a:after {
  border-left: 5px solid #fff;
  top: calc(50% - 5px);
  right: 0px;
}
.menu .menu_inner ul.main_menu .nav-arrow > a:hover:before {
  border-left: 5px solid #fff;
  left: 5px;
}
.menu .menu_inner ul.main_menu .nav-arrow > a:hover:after {
  border-left: 5px solid #fff;
  right: -15px;
}
/* === END of NAVIGATION ARROW === */

/* === START of MENU-TOGGLE === */
.menu-toggle {
  display: block;
  position: absolute;
  right: 0;
  float: right;
  z-index: 100000;
  margin: 0.8rem;
  color: #000;
}
.menu-toggle:hover,
.menu-toggle:visited {
  color: #000;
}
/* === END of MENU-TOGGLE === */

/* === START of OFF-CANVAS-NAVIGATION === */
.site .off-canvas * { -webkit-backface-visibility: hidden; }
.site .off-canvas .menu_inner { display: block!important; }

.site .js-off-canvas-exit {
  z-index: 100 !important;
  background: rgba(0, 0, 0, 0.75) !important;
}
.site .off-canvas .menu_inner ul.sub_menu,
.site .off-canvas .menu_inner ul.subsub_menu {
  display: none;
}
.site .off-canvas.position-right {
  height: 100%;
  border-top: 8px solid var(--foot-color);
}
.site .off-canvas {
  background: #fff;
  height: auto;
}

.site .off-canvas .menu_inner {/* z-index: 10; */}

.site .off-canvas .menu_inner ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

.site .off-canvas .menu_inner ul li {}

.site .off-canvas .menu_inner ul li a {
  padding: 10px 20px;
  width: 100%;
  color: #929292;
  outline: none;
  display: block;
  border-bottom: 1px solid #ccc;
}
.site .off-canvas .menu_inner ul li a.active {
  padding: 10px 15px;
  color: var(--main-color);
  border-left: 5px solid var(--main-color);
  text-decoration: none;
}
.site .off-canvas .menu_inner ul li ul li {
  background: #fefefe;
}
.site .off-canvas .menu_inner ul li ul li a {
  /* color: #fff; */
  padding-left: 30px;
}
.site .off-canvas .menu_inner ul li ul li a.active {
  color: #252525;
  border-left: 5px solid #143d95;
  padding-left: 20px;
}

.site .off-canvas .menu_inner ul li ul li ul li a {
  padding-left: 35px;
}
.site .off-canvas .menu_inner ul li ul li ul li a.active {
  padding-left: 30px;
}

.site .off-canvas .menu_inner ul li a.tog,
.site .off-canvas .menu_inner ul li a.sub-tog {
  padding: 10px 15px !important;
  width: 40px;
  position: relative;
  display: block;
  border-left: 1px solid #ccc !important;
  float: right;
  z-index: 10000;
}

.site .off-canvas-content, .off-canvas-content {
  overflow: hidden;
}
/* === END of OFF-CANVAS-NAVIGATION === */

/* === START of SLIDESHOW === */
.full-width-slideshow-bg {
  width: 100%;
  position: relative;
  /* max-height: 35rem; */
  overflow: hidden;
}
.full-width-slideshow-bg:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 50%;
  background: #fff;
  background: linear-gradient(to top, #fff, transparent);
}
#slideshow img {
  width: 100%;
  object-fit: cover;
  object-position: center;
  position: relative !important;
  display: block !important;
  transition: all .5s ease-in-out;
  /* height: 500px!important; */
}
#slideshow {
  position: relative;
}
#slideshow .picture:first-child {
  position: relative !important;
  display: block !important;
}
#slideshow .picture {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
/* === END of SLIDESHOW === */

/* === START of STARTBILD FueR SMARTPHONE === */
.mobilstart_img {
  display: block;
  width: 100%;
  /* height: 450px; */
  background: url('...') no-repeat;
}

.mobilstart_img_inner {}
/* === END of STARTBILD FueR SMARTPHONE === */

/* === START of CONTENT === */
#content_sec {}

.content {
  margin-top: 0px;
  width: 100%;
}
.content:before, .content:after {
  content: " ";
  display: table;
}

.content:after {
  clear: both;
}
.modul_extra {
  max-width: 75rem;
  margin: 0 auto;
}
.module_textblock {
  padding: 3rem 0 2rem;
}
/* === END of CONTENT === */

/* === START of FOOTER === */
div.site_foot {
  display: none;
}
div.foot {
  display: none;
}
div.foot_inner {
  position:relative;
  font-size: 11px;
}
div.foot, div.foot a {
  color:#666;
}
/* === END of FOOTER === */

/* === START of CONTENT-INNER-FOOTER === */
.content_inner_footer {
  position: relative;
  background: var(--foot-color);
  color: #000;
  height: auto;
  bottom: 0;
  width: 100%;
}
.content_inner_footer > .row {
  padding: 2.5rem 0 1rem;
}
.content_inner_footer a {
  color: #000;
  text-decoration: none;
}
.content_inner_footer p {
  overflow: hidden;
}
.content_inner_footer img {
   filter: drop-shadow(0px 1000px 0 var(--main-color));
   transform: translateY(-1000px);
   max-width: 20px;
}
.content_inner_footer a:hover {
  color: #000;
  text-decoration: underline;
}
.content_inner_footer .fullWidth {
  background: var(--light-color);
  padding: 10px 0 10px 0;
}
/* === END of CONTENT-INNER-FOOTER === */

/* === START of MEDIA QUERIES === */

/* fuer alle Smartphones */
@media only screen {
  a.menu-toggle.menu-icon {display: block;}
    .sticky .nav .menu { display: none; }
}

/* Tablet Hochformat */
@media only screen and (min-width: 40.063rem) {}

/* Smartphones im Querformat */
@media only screen and (min-width: 40.1rem) and (max-width: 51.483rem) and (orientation: landscape) {}

/* Tablets Querformat */
@media only screen and (min-width: 50.063rem) and (max-width: 64rem) and (orientation: landscape) {}

/* Normaler PC-Monitor */
@media only screen and (max-width: 64.063em) {
  /* Loeschen, wenn der Header ohne Sticky genommen wird */
  .sticky { padding-top: 0; }
  .sticky.is-stuck { transition: padding .5s; }
  .sticky.is-stuck .top-bar .bar-txt {
    display: inline-block;
    color: #fff;
    margin: 0 -1rem;
  }
  .sticky.is-stuck .top-bar .bar-txt p { margin: 0.35rem 0; }
  .content_inner_footer .columns {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }
  /* END of Header-Sticky */
}

/* fuer Standardbildschirme */
@media only screen and (min-width: 64.1rem) {
  /* Loeschen, wenn der Header ohne Sticky genommen wird */
  .sticky.is-stuck .top-bar .logo-container {
    /* margin: 0 -1rem; */
    /* top: 5px; */
  }
  .sticky.is-stuck .top-bar .logo-container img {max-height: 60px;}
  /* END of Header-Sticky */
  
  a.menu-toggle.menu-icon { display: none; }
    .sticky .nav .menu {display: block;}
}

/* fuer Grosse Bildschirm */
@media only screen and (min-width: 90rem) {}

/* === END of MEDIA QUERIES === */

/* === ALTERNATIVE MEDIA QUERIES === */

/* Smartphonegroesse */
@media only screen and (max-width: 40.063rem) {
  body h1,
  body .h1 {
    font-size: 1.5rem;
  }
  body h2,
  body .h2 {
    font-size: 1.25rem;
  }
  body h3,
  body .h3 {
    font-size: 1.1875rem;
  }
  body h4,
  body .h4 {
    font-size: 1.125rem;
  }
  body h5,
  body .h5 {
    font-size: 1.0625rem;
  }
  body h6,
  body .h6 {
    font-size: 1rem;
  }
}

/* Tabletgroesse - Querformat - falls nicht funktioniert, auslagern und an erster Stelle in der layout.css setzten */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 1) {}

/* Groesse ungefaehr MacBook (Pro) */
@media screen and (min-device-width: 1200px) and (max-device-width: 1600px) and (-webkit-min-device-pixel-ratio: 2) and (min-resolution: 192dpi) {}