

/*--------------------------------------------------------------
# Module
--------------------------------------------------------------*/


/* Modul */
.modul .item-box { position:relative; z-index:1;}
.modul {overflow: hidden;}

/* hero Module Above the fold */
.hero-content                                        { overflow:hidden; }
.home .hero-content,
.hero-video-active .hero-content { height:100vh; }
.home .hero-content .item-box,
.hero-video-active .hero-content .item-box {  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;}


@media (min-width:790px) {
  .hero-content.no-image { min-height:inherit; }
 }

.hero-content .content-box                           { position:relative; z-index:2; max-width:1024px; width:calc(100% - 6rem); margin: auto; height:100%; }


@media (max-height:680px) {
  .home .hero-content,
  .hero-video-active .hero-content { height:auto;  }
  .hero-content .content-box { display:block; }
}

@media (max-width:660px) {
  .home .hero-content,
  .hero-video-active .hero-content { height:auto;  }
  .hero-content .content-box { display:block; }
}

.simple-hero  .content-box { padding-top:11rem;}
.hero-content .content-box .content-box-item         { position:relative; max-width:960px; padding-bottom:7rem; }
.hero-content.simple-hero .content-box .content-box-item     { max-width:100%; width:100%; }
.arrow-down                                          {
  position:absolute;
  width:50px;
  height:50px;
  -webkit-transform: perspective(1px) translateZ(0);
transform: perspective(1px) translateZ(0);
-webkit-animation-name: up-down;
animation-name: up-down;
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-timing-function: ease-in-out;
animation-timing-function: ease-in-out;
-webkit-animation-iteration-count: 4;
animation-iteration-count: 4;
display: inline-block;
background:url(../images/mouse.png) top center no-repeat;
background-color:transparent;
bottom:3rem;
left:50%;
margin-left:-25px;
z-index: 11;
cursor:pointer;
display:inline-block;
}
.home .arrow-down,
.hero-video-active .arrow-down  {bottom:4rem;}
.imgright .text-content { order:1; }
.imgright .image-item { order:2; }

.imgleft .text-content { order:2; }
.imgleft .image-item { order:1; }

.simple-hero .col-box { display: -webkit-box; display: -ms-flexbox; display: flex; }

@media (max-width:790px) {
  .simple-hero .col-box .col-item { width:100%; }
  .imgleft .text-content { order:1; }
  .imgleft .image-item { order:2; }
 }

.hero-content .content-box .content-box-item         { padding:15rem 0; }

@media (min-width:660px) {
  .simple-hero  .content-box { padding-top:20rem;}
}
@media (min-width:790px) {
  .home .arrow-down,
  .hero-video-active .arrow-down      { bottom:6rem; }
  .arrow-down      { bottom:3rem; }
 }



.hero-content .image-box                             { position:absolute; top:0; left:0; width:100%; height:100%; z-index:1;  }
.hero-content.full-width-height                      { height: 100vh; }
.hero-content.full-width-height  .content-box        { height:100%; }
.hero-content.full-width-height  .content-box .content-box-item        { margin:auto 0; }
.hero-content .text-box a { color:inherit; text-decoration:none; }
.hero-content .col-item .text-box { padding-top:1rem;}
.hero-content .col-item-wrapper {margin:auto 0}


.backlink  { display:inline-block; position:relative; color:#000; text-decoration: none; margin-bottom:3rem; padding-left: 5rem; }
.backlink:hover {color:#8bb631; }
.backlink  span { display:inline-block; height:30px; width:35px; transform:rotate(180deg); position:absolute; top:-3px; left:0; }
.backlink  span svg { width:100%; }
.backlink  span svg path { fill:#8bb631; }
@media (min-width:790px) {
  .hero-content.full-width-height   { min-height:600px; }
 }

/*simulating background images background:cover with flex-box*/
.hero-content .image-box,
.bg-image.fullwidth .image-box,
.home .teaser-modul .image-box  {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align:center;
     -ms-flex-align:center;
              align-items:center;
  -webkit-box-pack:center;
     -ms-flex-pack:center;
   justify-content:center;
}
.hero-content .image-box img,
.home .teaser-box .image-box img,
.bg-image img { flex-shrink: 0; /* internet Explorer Weirndess */}


.bg-image .image-box { position:relative; z-index:1; height:100%; width:100%; }
.home .teaser-modul .image-box { height: 200px; overflow:hidden; position: relative;}

.image-item .image-box img { width:auto; max-width:100%; height:auto;  }
.bg-image { position:absolute; z-index:0; height: 100%; top:0; }
.noscale .bg-image{  width: 100%;}
.bg-image.bg-top-left { top:0; left:0; }
.bg-image.bg-top-right { top:0; right:0; left:inherit;}

.hero-content .image-box img,
.bg-image img.
.home .teaser-modul .image-box img  {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
min-height: 100%;
width: auto;
z-index: 1;
max-width: inherit;
}

/* Combining it with object fit..*/
@supports (object-fit: cover) {

  .hero-content .image-box,
  .object-fit           { position:absolute; top:0; left:0; width:100%; height:100%; z-index:1;   }
  .bg-image,
  .hero-content .bg-image { position:absolute; top:0; left:0; width:50%; height:100%;  }

  .simple-modul .bg-image { position:absolute; top:0; left:0; width:100%; height:100%;  }
  .hero-content .image-box img,
  .simple-modul .bg-image img,
  .object-fit img,
  .home .teaser-modul .image-box img { object-fit: cover; object-position:50% 50%;  height: 100%; width: 100%; transform:none; left:0; top:0; min-height:inherit; }
  .noscale .bg-image img { object-fit: contain;  object-position:50% 50%; }
   .hero-content .bg-image img {   object-position:top right; }

  .bg-image.bg-top-left img { object-fit: cover; object-position:top right;  height: 100%; width: 100%; transform:none; left:0; top:0; }
  .bg-image.bg-top-right img { object-fit: cover; object-position:top left;  height: 100%; width: 100%; transform:none; left:0; top:0; }
  @media (max-width:790px) {
    .bg-image {  width:100%;  }
    .bg-image.bg-top-left img,
    .bg-image.bg-top-right img {  object-position:top right; }
    .noscale .bg-image img { object-fit: cover;  object-position:50% 50%; }
  }

}

@media (max-width:790px) {
  .bg-image {  width:100%;  }
}


/* Bubble Boxed */
.bg-boxed .item-box { max-width:760px; min-height:760px; background:url('../images/bg-bubble-circle.png') 0 0 no-repeat; background-size:contain; display: -webkit-box; display: -ms-flexbox; display: flex;  }
.bg-boxed .item-box .item-box-item { width:70%; max-width: 450px; margin:auto; }

@media (max-width:790px) {
  .bg-boxed .item-box .item-box-item { width:70%; max-width: 450px; margin:10rem auto 10rem auto; min-height: 450px;}
 }
@media (max-width:660px) {
 .bg-boxed .item-box {
     max-width: 100%;
     min-height: inherit;
     background-size: cover;
     background-position:top center ;
     overflow: visible;
     margin: 0;
     width: 100%;
 }
 .bg-boxed .pos-right-bottom { bottom: 0; }
}


.bg-image-active .simple-content-box { padding-bottom:5rem; }

/* Accordio */
.accordion-item-title                 { position:relative;  cursor:pointer; color:#8bb631; padding:5px 20px 5px 40px;  border-bottom:1px solid #cccccc;     user-select: none; /* supported by Chrome and Opera */
   -webkit-user-select: none; /* Safari */
   -khtml-user-select: none; /* Konqueror HTML */
   -moz-user-select: none; /* Firefox */
   -ms-user-select: none; /* Internet Explorer/Edge */}
.accordion-item-title h2                 {margin: 0; padding: 2rem 0; }
.accordion-item-title  .arrow-single-svg { position:absolute; left:0; top:40px;  -webkit-transform: rotate(0); transform: rotate(0);}
.accordion-item-title  .arrow-single-svg svg path { fill:#8bb631;}
.accordion-item-content .col-item { padding:3rem 0; }

.accordion-item-title.active span  {  -webkit-transform: rotate(90deg); transform: rotate(90deg); }
.accordion-box { border-top:1px solid #cccccc;}
.bg-1 .accordion-item-title,
.bg-2 .accordion-item-title,
.bg-3 .accordion-item-title,
.bg-4 .accordion-item-title,
.bg-5 .accordion-item-title,
.bg-6 .accordion-item-title,
.bg-7 .accordion-item-title .arrow-single-svg svg path           { color:#fff; }
.bg-1 .accordion-item-title .arrow-single-svg svg path,
.bg-2 .accordion-item-title .arrow-single-svg svg path,
.bg-3 .accordion-item-title .arrow-single-svg svg path,
.bg-4 .accordion-item-title .arrow-single-svg svg path,
.bg-5 .accordion-item-title .arrow-single-svg svg path,
.bg-6 .accordion-item-title .arrow-single-svg svg path,
.bg-7 .accordion-item-title .arrow-single-svg svg path           { fill:#fff; }

.accordion-item-title strong::-moz-selection { background: transparent; }
.accordion-item-title strong::selection      { background: transparent; }

.accordion-item-content               { max-height:0; overflow: hidden; -webkit-transition: all .3s ease-in-out; transition: all .3s ease-in-out; margin-bottom:1rem; }

.accordion-item-title.active + .accordion-item-content      { max-height:299rem; }

.bg-1 .accordion-item-content {color:#fff; }




@-webkit-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:1; } }
@keyframes fadeIn { from { opacity:0; } to { opacity:1; } }




/* News Box */
#blog-section .col-item { margin-bottom:4rem; }
#blog-section .button-item { margin:-1.6rem 0 0 3rem;}
.blog-item-wrapper {
  height:100%;
  background-color:#fff;
  position:relative;
  webkit-box-shadow: 0 0 18px -3px rgba(0,0,0,0.2);
-moz-box-shadow:  0 0 18px -3px rgba(0,0,0,0.2);
box-shadow:  0 0 18px -3px rgba(0,0,0,0.2);
 padding:0;
 height:100%;
 position:relative;
 padding-bottom: 1rem;
 /*margin-bottom:4rem;*/
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}
.blog-item-wrapper:hover { -webkit-transform:scale(1.02); transform:scale(1.02);}
.teaser-modul h5.cl-black { padding-right:9rem; }

.button-box { margin:0 0 0 auto;}

.blog-item-wrapper .content-box { padding:3rem; }
.news-item-link { position:absolute; top:0; left:0; width:100%; display:block; height:100%; z-index:11; }
.arrow-single-svg {
  width: 30px;
  height:30px;
display: inline-block;
position: absolute;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
position:absolute;
top:3px;
right:0;
}
.blog-item-wrapper .more svg path { fill:#8bb631; }
.blog-item-wrapper:hover .more { color:#8bb631; }
.blog-item-wrapper:hover .more svg path { fill:#8bb631; }

.blog-item-wrapper .more {
  color:#9b9b9b;
  position: absolute;
bottom: 0;
left: 3rem;
display: block;
padding: 0 3rem 1rem 0;
font-size:2rem;
color:#000;
}
.meta-info { color:#1d1d1b; font-size:1.6rem;padding-bottom:1rem; font-weight:300; }
.intro-box { padding-bottom:6rem; }
.home .blog-item { height:100%; }
.home .blog-item .post-title { margin-bottom: 0; }

@media (max-width:790px) {
  .intro-box.flex-box { display:block!important;padding-bottom:3rem;}
  #blog-section .button-item { margin: 0 }
  .blog-box { margin-bottom:0; }
  .blog-item { margin-bottom:3rem; }
  .blog-item-wrapper { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align:stretch; -ms-flex-align:stretch; align-items:stretch;  padding: 0; margin: 0;}
  .blog-item-wrapper .image-box {
    max-width: 250px;
    overflow: hidden;
    width:45%;
    }
  .home .teaser-modul .image-box { height:100%; }
  .blog-item-wrapper .content-box { width:55%; }
    .blog-item .image-box img {
        max-width:inherit;
        width: auto;
        height: 100%;
    }
    .blog-item-wrapper .more { left:inherit; right:2rem; }
    @supports (object-fit: cover) {
      .blog-item .image-box           { position:relative; overflow:hidden;    }
      .blog-item .image-box img { object-fit: cover; object-position:50% 50%;  height: 100%; width: 100%; transform:none; left:0; top:0; min-height:inherit; }
}
}

@media (max-width:460px) {
  .blog-item-wrapper { display:block; }
  .blog-item-wrapper .content-box { max-width:100%; width:100%; }
  .blog-item-wrapper .image-box { max-width:100%; width:100%; }
    .home .teaser-modul .image-box { height:auto; }
}


/* Single news */
.shadow-box {-webkit-box-shadow: 0px 4px 13px -3px rgba(0,0,0,0.2);
-moz-box-shadow: 0px 4px 13px -3px rgba(0,0,0,0.2);
box-shadow: 0px 4px 13px -3px rgba(0,0,0,0.2);}
.single-post { margin-bottom:5rem;}
.single-content { padding:2rem 1rem; }


@media (min-width:560px) {
  .single-content { padding:3rem 6rem; }
}
.single-post .social-links .label { margin:2px 5px 0 0; display:block;  }
.single-post svg path { fill:#8bb631; }


/* Form */
.wpforms-field.wpforms-field-hp,
.wpforms-label-hide{ display:none; }
.wpforms-field { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap:wrap; flex-wrap:wrap; -webkit-flex-wrap: wrap; margin-bottom:3rem; }
.wpforms-field label { order:1; width: 100%; font-weight: 700;padding-bottom: 1rem; }
.wpforms-field-description { order:1; width: 100%;padding-bottom: 1rem; }
.wpforms-field ul { order:3; width: 100%; }
.wpforms-field label + .wpforms-field-description { order:2; }

.wpforms-field-label label { font-weight:700;}
.wpforms-field-container ul { padding:0; margin:0; display: -webkit-box; display: -ms-flexbox; display: flex; }
.wpforms-field-container ul li { padding:0; margin:0; list-style-type:none; margin:0 3px 3px 0; }
.wpforms-field-container ul li label { display:inline-block; font-weight:400; background-color:#ededed; color:#000; padding:1.5rem; height:100%; }
.wpforms-field-container ul li input:checked + label { color:#fff; background-color:#0e8b94; }
.wpforms-field-container ul li input[type="radio"] { opacity:0; position:absolute; z-index:-1;}

.wpforms-field-radio label {cursor:pointer;}


.wpforms-field-checkbox ul li { display: -webkit-box; display: -ms-flexbox; display: flex; }
 .wpforms-field-checkbox ul li label { background-color:transparent!important; color:#000!important;  }

.wpforms-field-textarea textarea { width:100%; max-width:550px; height:200px; border:1px solid #ccc; }
.wpforms-error { color: #f00;
font-weight: 400;
padding: 1rem;
display: inline-block;
}
@media (max-width:660px) {
.wpforms-field,
.wpforms-field-container ul { display:block; }
}



.contact-form .left-row input { width:100%; background-color:#dfdddd; border:1px solid #dfdddd; padding: 1rem; }
.contact-form .left-row,
.contact-form .right-row { width:100%;  margin:0 0 1rem 0; }
.contact-form .fullsize-row { width:100%; float:none; clear:both;}
.contact-form  .wpforms-field-checkbox { display: -webkit-box; display: -ms-flexbox; display: flex; padding:2rem 0 1rem 0;}
.contact-form  .wpforms-field-checkbox ul {order:1; width:30px; display:block; padding-top:5px; }
.contact-form  .wpforms-field-checkbox .wpforms-field-description { width:calc(100% - 30px);}
.contact-form  .wpforms-field-checkbox ul li label { display:none; }
.contact-form .wpforms-field-textarea textarea { height:220px; background-color:#dfdddd; border:1px solid #dfdddd; padding:1rem; }

@media (min-width:660px) {
  .contact-form .left-row { width:calc(50% - 1rem);  margin:0 1rem 1rem 0; float:left; }
  .contact-form .right-row { width:calc(50% - 1rem);  margin:0 0 1rem 1rem; float:right;}
}


/* Col Border 4 col items */
.col-border { margin:0; }
.col-border .col-item { min-height:350px; border-style:solid; border-width:1px; margin:0; }
.col-border .col-item .col-item-wrapper { padding:3rem; }
.col-border .col-item {  border-color:transparent transparent #ccc transparent; }

@media (max-width:860px) {
.col-border .col-item .col-item-wrapper { padding: 0; }
}
@media (max-width:860px) {
  .col-border .col-item .text-box span { font-size:4rem!important; }
}
@media (min-width:790px) {
.col-border .col-item {  width:50%;}
.col-border .col-item:nth-of-type(1),
.col-border .col-item:nth-of-type(3) {  border-color:transparent #ccc #ccc transparent; }
.col-border .col-item:nth-of-type(2),
.col-border .col-item:nth-of-type(4) {  border-color:transparent transparent #ccc transparent; }
}
/* Iframe responsive */
.hero-iframe-wrapper {
  position:absolute;
  top: 0;
  left: 1;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}
.hero-content .image-box.hero-image  { z-index:0; }
.hero-iframe-wrapper iframe {
  width: 100vw;
height: 56.25vw;
min-height: 100vh;
min-width: 177.77vh;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}


@media (max-height:680px) {
  .hero-iframe-wrapper iframe {
      top: 0;
      transform: translate(-50%, 0);
      min-width: 200vh;
  }
}


.iframe-wrapper {
  position: relative;
  padding-bottom: 56.25%; /* ratio 16x9 */
  height: 0;
  overflow: hidden;
  width: 100%;
  height: auto;
}
.iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
/* ratio 4x3 */
.iframe-wrapper.ratio4x3 {
  padding-bottom: 75%;
}

.iframe-wrapper:after { content:''; position: absolute; bottom:0; height:40px; width:100%; z-index:-1; background-color:#000;}

/* Social Link List*/
.social-links,
.social-links li               { list-style-type:none; margin:0; padding:0;}

.add-social-box li { display:inline-block; }
.add-social-box li a { display:inline-block; margin-top: 3px;  }
.add-social-box li span { display:inline-block;}

.social-links .label         { display:none; }
/* Icons */
[class^="icon-"]         { display:flex; min-width:30px; min-height:35px; margin-left:0.5rem; position:relative;  }

[class^="icon-"] svg { height:23px; width:auto;  margin:auto 0;}
.icon-email   { margin-top:2px; }
.single-content .social-links svg path  {fill:#8bb631;  }

/* Gallery*/
@media (min-width:790px) {
.gallery-modul .col-box { margin-left:-2rem; }
.gallery-modul .col-item { margin:0 0 2rem 2rem; }
.gallery-modul .col-4 .col-item{width: calc(25% - 2rem); }
}
/* Footer */
footer                            { color:#000; font-size:1.7rem;  border-top:1px solid #c9c9c9; }
footer .menu,
footer .menu li                   { display:inline-block; margin:0; padding:0; position:relative; }
footer a,
#colophon .menu a                 { text-decoration:none; color:#000; font-weight: 400;}
#colophon .menu a:hover { color:#4a4091; }
footer section                    { padding:3rem 0 15rem 0; }
.copyright                        { padding:3rem 0;  }
footer .social-links              { position: absolute; right: 0; top: 0; }

footer [class^="icon-"]           { min-width: 25px; min-height: 25px; }
footer [class^="icon-"] svg       { height: 19px; }
footer .social-links a:hover svg path      { fill:#4a4091; }
footer [class^="icon-"] svg path           { fill:#494949;  }
nav .social-links .social-links a:hover svg path      { fill:#fff; }
.follow-us { margin:0.8rem 1rem 0 0; }
[class^="icon-"] svg path           { fill:#fff;  }
footer .social-links .label { display:none!important; }
#menu-footer-menu li a:after           { content:'>'; position: relative; width:auto;  height:100%; display:inline-block; margin: 0 10px 0 3px;}
.additional { padding-top:3rem; }
.additional .custom-html-widget p { margin:0 0 1rem 0;}
.additional .consent { padding:5px 0 15px 0; }

.additional  .custom-html-widget { width:100%; }

@media (max-width:760px) {
  footer .social-links     { position: relative; right: inherit; top: inherit; margin-top:1rem;  }
  footer .flex-box         { display:block; padding-bottom:2rem; }
  footer .social-links li  { display:inline-block; }
}
@media (min-width:660px) {
 .additional  .custom-html-widget,
 .additional  .col-item  { margin:0 0 2rem 4rem; width:calc(50% - 4rem);}
}
/* Animations */

@-webkit-keyframes up-down {
    17% {
        -webkit-transform: translateY(8px);
    }
    33% {
        -webkit-transform: translateY(-6px);
    }
    50% {
        -webkit-transform: translateY(4px);
    }
    66% {
        -webkit-transform: translateY(-2px);
    }
    83% {
        -webkit-transform: translateY(1px);
    }
    100% {
        -webkit-transform: translateY(0);
    }
}

@keyframes up-down {
    17% {
                -webkit-transform: translateY(8px);
                        transform: translateY(8px);
    }
    33% {
                -webkit-transform: translateY(-6px);
                        transform: translateY(-6px);
    }
    50% {
                -webkit-transform: translateY(4px);
                        transform: translateY(4px);
    }
    66% {
                -webkit-transform: translateY(-2px);
                        transform: translateY(-2px);
    }
    83% {
                -webkit-transform: translateY(1px);
                        transform: translateY(1px);
    }
    100% {
                -webkit-transform: translateY(0);
                        transform: translateY(0);
    }
}

.page-id-333 .hero-content.simple-hero .center-center { -webkit-box-align:flex-start; -ms-flex-align:start; align-items:flex-start; }
