@keyframes headeranimationin {
    from   {opacity: 0; left: -50vw}
    to {opacity: 1; left: 0;}
}

@keyframes headeranimationout {
    0%   {opacity: 1;}
    25%  {opacity: 0; left: -50vw;}
    50%  {opacity: 0;}
    100% {opacity: 0;}
}

body,
html {
    font-family: "Lato"; 
    font-weight: 400;
    line-height:inherit;
}

.mainheader {position:fixed; top: 0; left:0; right: 0; background-color: #fff; z-index: 100;}
.content {padding-top: 165px;}

.searchbar {position:relative;}
.searchbar a {font-size: 20px;
vertical-align: -2px; text-decoration: none; color: #777;}
.searchbar .searchform {position:absolute; 
            white-space: nowrap; 
            transform: translateX(-50%);
            background-color: #fff;
            padding: 25px 25px 15px 25px;
            display: none;
            visibility: hidden;
            top: 68px; box-shadow: 5px 5px 8px 0px rgba(0,0,0,.4);
            transition: all ease 0.5s; 
            opacity: 0;}

.searchbar .searchform:before {  content: "";
  height: 25px;
  width: 100%;
  position: absolute;
  top: -25px;
  background: inherit;
  left:0;
  z-index: 2;}

.searchbar .searchform.show {    display: block;
    visibility: visible;
    opacity: 1;
    animation: fade 1s;}

@keyframes fade {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.tx-indexedsearch-form-quick button {border: 1px solid #858588;
background-color: #fff;
padding: 2px;
margin-left: 5px;}

.tx-indexedsearch-form-quick button:hover {background-color: #444; color: #fff;}

.img-responsive {
  max-width: 100%;
  height: auto;
}

.ce-bodytext ul {list-style: none;line-height: 1.5rem;}
.ce-bodytext ul li::before {
    content: "\F287\A0";
    margin-left: -25px;
    margin-right: 8px;
    vertical-align: 1px;
    color: #78b948;
    font-family:'bootstrap-icons';
    font-size: 10px;
}

.ce-bodytext ol {list-style: none; padding-right:10px}
.ce-bodytext ol li::before {
    content: "\E013\A0";
    margin-left: -31px;
    vertical-align: -1px;
    color: #ac6e66;
    font-family:'Glyphicons Halflings';
}


   
div.ce-gallery[data-ce-columns="2"] .ce-column {width: 49%;}
.ce-gallery img, .ce-gallery figure {max-width: 100%; height: auto !important;}

h1 {color: #78b948; font-family: "Montserrat";  hyphens: auto; font-size: 2.4rem; font-weight: normal; margin-bottom:15px;}
h2 {font-family: "Montserrat"; color: #000 !important; hyphens: auto; font-size: 1.4rem; margin-bottom:20px; font-weight: normal;}
h3 {color: #78b948; font-family: "Montserrat"; font-weight:300; font-size: 1.3rem; margin:20px 0px 20px;}
h4 {color: #000; font-family: "Montserrat"; font-weight:300; font-size:20px;margin-top:15px; margin-bottom:15px;}

.breaker h1 {color: #fff; font-family: "Montserrat";  hyphens: auto; font-size: 2.4rem; font-weight: normal; margin-bottom:15px;}
.breaker h2 {color: #fff!important; font-family: "Montserrat";  hyphens: auto; font-size: 1.6rem; font-weight: normal; margin-bottom:15px;}

p {line-height:1.5rem;}
.container, .container-fluid {position: relative;}

.mainwrapper {transition: all ease 0.5s; position: relative; overflow-x: hidden;}
.main { padding-top: 0px;}

.row {position: relative;}

.logo img {padding: 15px 0px 15px 0px;}
.logo a {position: relative;
z-index: 5;}
.transition  { -webkit-transition: all 0.4s ease-in-out;
   -moz-transition: all 0.4s ease-in-out ;
   -ms-transition: all 0.4s ease-in-out ;
   -o-transition: all 0.4s ease-in-out ;
   transition: all 0.4s ease-in-out ; }


.opacity {background-color: rgba(254,254,254,1);}

/* Drop Down Menu */
.menu {position: relative;}
.navi {background-color: #78b948;
text-align: center;
}
.navi .sf-menu a, .navi .sf-menu span {color: #fff; padding: 12px 15px;}
.menu span {background: #78b948; position: absolute; left: 50%; right: 0; top:0; bottom: 0;}
.navi .sf-menu {background: #78b948; font-family: "Montserrat"; float: none;}
.navi .sf-menu li {background: #78b948;}

.navi .sf-menu li.first a {border-left: none;}
.navi .sf-menu li.active, .navi .sf-menu li:hover, .navi .sf-menu li.sfHover {background: #198754;}
.navi .sf-menu ul {box-shadow: none;}
.navi .sf-menu ul li.first {border-radius: 0;}
.navi .sf-menu ul li {background: #78b948;}
.navi .sf-menu ul li a {border-left: none !important;}
.navi .sf-menu li ul li:hover, .navi .sf-menu li ul li.sfHover {background: #198754;}
.navi .sf-menu a, .navi .sf-menu span {border-right: none;}

.carousel-cell {
    width: 100vw;
    height: 800px;
}

.object-fit-cover {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: 100%;
    width: 100%;
    object-fit: cover;
}

/* Mobilemenu */


a.mobilemenu:hover {text-decoration: none; color: #000;}



/* FM CEs */
.breaker {
  left: 50%;
  margin-left: -50vw;
  position: relative;
  width: 100vw;
  padding: 25px 0;
  border-top: 1px solid white;  
}
.breaker .background {   
    position: absolute;
    top: 0;
    left: 0; 
    right: 0; 
    bottom: 0;
}
.coverbg {background: no-repeat center center;   -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover; }

.ce-background .col {background-color: #fff;}
.ce-background .frame {background-color: #fff;}
.ce-background .twocol.frame {background-color: transparent;}



.breaker .col {padding: 50px; padding-top:10px; height: 100%;}
.twocol .col {position: relative;}
.twocol .col .colbg {position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: -1;}

.breaker .container {position: relative; z-index: 1;}
.orange-bg {color: #000; font-size: 1.2rem;}
.orange-bg blockquote {color: #000;}
.orange-bg .background {background-color: #78b948; color: #000;}

.lightorange-bg .background {background-color: #198754; color: #000;}
.red-bg .background {background-color: #00a0e3; color: #fff;} 
  
 

 
.centerright .frame-indent {height: 100%; margin-left: 15%;
margin-right: 0;} 
.centerright .frame-indent .ce-center {height: 100%; display: flex !important;} 
.centerright .frame-indent .ce-center .ce-gallery {align-self: center !important;}
 
/* Contentbox */
.contentbox { line-height:24px;}
.col-md-6 .contentbox div[class^="col-"], .col-md-4 .contentbox div[class^="col-"] {width: 100%;}
.contentbox .child {position: absolute; top: -5px; left: -5px; right: -5px; bottom: -5px;}
.contentbox .parent {position: absolute;
top: 0;
right: 15px;
bottom: 0;
left: 15px;
overflow: hidden;
}

.contentbox.imagefloat .parent{left: 50%; margin-left: -50vw; right: 0px;}
.contentbox.imagefloat .right .parent
{width: 50vw; 
 left: 50vw; 
}

.ce-border img {border-radius: 50%; border-color: transparent;}

.imagefloat .fm_button {
margin: auto;
color: #fff !important;
border: 1px solid #fff;
margin-top: auto;
}
.imagefloat .fm_button:hover {color: #fff !important; background-color: #FBC07E !important;}

.parent img {  position: absolute;
  top: 50%;
  left: 50%;

  width: auto;
  height: auto;

  max-height: none;
  max-width: none;

  min-height: 100%;
  min-width: 100%;
 
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);}

.contentbox .boxtext {padding: 15px 35px;}
.contentbox .button {width: 100%;}

/* Linkbox */
.linkbox .icon {position: relative;
bottom: -40px;
left: 50%;
transform: translateX(-50%); z-index: 5;
width: 100px;}

.linkbox {margin-bottom: 15px; display:flex; height: 100%; flex-direction: column;}
.linkbox .header { margin-top: 5px; width: 100%;
display: inline-block; padding: 15px 10px; transition: all ease 0.5s; display: flex;
align-items: stretch;
flex: 1;
border: 1px solid #ccc;
margin-bottom: 5px;}
.linkbox .header h1 {margin: 0; font-size: 20px; hyphens: auto; transition: all ease 0.5s; text-transform: none;}
.linkbox h4 {color: #fff;}
.linkbox .header img {margin: auto;}
.linkbox h4:before {content: " ";
background-color: #072D79;
display: block;
width: 20px;
height: 16px;
float: left;
line-height: 1;
position: relative;
left: -15px;
top: 6px;}

.linkbox .more {
        text-align: center; color: #fff; padding: 5px; transition: all ease 0.5s; background: #78b948;}
.linkbox .boxcontent {position: relative; transition: all ease 0.5s; display: flex;
flex-direction: column;
align-items: stretch;
flex: 1;}

.linkbox img {transition: all ease 0.5s;}
.linkbox .boximage {position: relative;}
.linkbox a {text-decoration: none; position:relative;}
.linkbox span {position: absolute; top:0; left:0; right: 0; bottom: 0; transition: all 0.5s ease;}
.linkbox a.transitionlink:hover span {background-color: rgba(254,254,254,0.5);}

.linkbox .transitionlink {display: flex;
height: 100%;
flex-direction: column;}
  



.slick-next {
    right: 0px;
}

.slick-prev {
    left: 0px;
}


.slick-next::before {
    font-family: "bootstrap-icons" !important;
    content: "\f285";
    font-size: 50px;
    font-weight: bold;
}
.slick-prev::before {
    content: "\f284";
    font-family: "bootstrap-icons" !important; 
    font-size: 50px;
    font-weight: bold;
}

/* Slider */
.object-fit-cover {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: 100%;
    width: 100%;
    object-fit: cover;
    margin-left: -1px;
}

.carousel-cell {
    width: 100vw;
    height: 700px;
    position: relative;
}

.sliderwrapper {position: relative; overflow: hidden; margin:0; padding: 0;}
.sliderwrapper .stripe {position: absolute; left: 0; right: 0; bottom: 0; background-color: #fff;}
.sliderwrapper hr {position: absolute; bottom: 80px; left:0; right: 0;z-index: 200; border-top: 1px solid #fff; margin: 0;}
.slider .container {position: relative; height: 100%; }
.slick-slide {position: relative; }
.slider .wrapper {position: absolute;top: 0;
bottom: 0;
left: 0;
right: 0;}

.slider img {min-width: 100%}
.slider .slick-slide {margin-bottom: -5px;}
.slider .claim .row {margin:0;}
.slider  .claim {position: absolute; background-color: rgba(254,254,254,0.7);
bottom:40%;
left: 0;
font-family: "Ubuntu";
font-weight: 300;
min-width: 40vw;
animation-duration: 0.6s; animation-fill-mode: forwards; opacity: 0;
padding: 25px;
border-right: 20px solid #78b948;
}



.slider  .claim h1 {text-align: left; margin:0; padding:0; color: #083475; padding: 10px 15px; font-weight: normal; font-size: 48px; font-family: "Montserrat"; padding-left: 80px;}
.slider  .claim h2 {text-align: left; margin:0; padding:0; color: #083475; padding: 10px 15px; font-weight: normal; font-size: 25px; font-family: "Montserrat", sans-serif; padding-left: 80px;}


.slick-dots li.slick-active button::before {color: #fff; opacity: 1;}
.slick-dotted.slick-slider {margin-bottom: 0px;}
.slick-dots li button::before {font-size: 16px; color: #fff; opacity: .5; text-shadow: 1px 1px #000;  }

.slick-dots {bottom: 25px;} 
.slider span {color:#404040;}

.slider p {padding: 0px; margin: 0;}

.slidercontent {position: absolute; left:0; right: 0; bottom: 0;}
.slidercontent a, .startboxes a {text-decoration: none; color: inherit; position:relative; display: block; height: 100%;}
.slidercontent a span {position: absolute; display: block; top:0; left:0; right: 0; bottom: 0; background-color: #000; opacity: 0; transition: all ease 0.5s; border-radius: 10px 10px 0px 0px;}
.slidercontent a:hover span {opacity: 1;}
.sliderwrapper .container {position:relative;}
.sliderbox {background-color: rgba(120, 185, 72, 0.8); border-radius: 10px 10px 0px 0px; padding: 15px; text-align: center; height: 100%; }
.sliderboximage, .sliderboxheader {position:relative; z-index: 20;}
.sliderboxheader {color: #fff; font-family: "Montserrat", sans-serif; font-size: 17px; text-transform: uppercase; margin-top: 10px;}
.startboxes .row {margin:0; }
.startboxtext {background-color: #fff; padding: 15px; height: 100%;}
.startboxes {background-color: #DDDDDD; padding-bottom: 15px;}
.startboxtext h2 {color: #000 !important; font-size: 16px; text-transform: uppercase;}
.mobilepic {display: none;}
.contactbox {text-align: right;}
.contactboxcontent {display:inline-block; text-align:left; background: #78b948; color: #fff; padding: 35px; border-radius: 15px;}
.contactbox h1 {color: #fff; font-weight: normal;}
.contactbox a {color: #fff; font-weight: bold; text-decoration: underline;}

.topmenu ul {list-style: none; padding:0; margin: 0;}
.topmenu ul li a {color: #777; text-decoration: none;}
.topmenu ul li {font-size: 20px; color: #777; display: inline-block;  padding: 5px 25px;}
.topmenu ul li i {font-size: 24px; vertical-align: -2px;}
.topmenu span.label {color: #777; font-size: 20px;}
.hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {background-color: #777;}
.mobilemenu {position:absolute; left: 15px; top: 15px; display: none; z-index: 50;}


.btn-default {
   color: #fff;
   background: #566374;
   margin-top:20px;
   padding:5px;
   width:130px;
   transition: background ease 0.3s;
}
 


.fm_button {text-align: center;
display: block;
margin: auto;
margin-top: 15px;
position: relative;
width: 200px;
border-color: transparent !important;
border-radius: 5rem;}

.btn_newsletter {color:#ffffff!important; border-color: #fff!important; text-decoration:none!important; background-color: #FBC07E!important; 
                 font-size:1.3rem!important;min-width: 250px!important;}
.btn_newsletter:hover {color:#ffffff!important; border-color: #566374!important; text-decoration:none!important; background-color: #566374!important; 
                 font-size:1.3rem!important;min-width: 250px!important;}


.btn-default:hover {background-color: #78b948; color:#FFF;}


   
 textarea.form-control {height: 180px;}
.btn-primary { color: #ffffff; background-color: #78b948; border-color: #78b948; text-align:center!important;}
.btn-primary:hover { color: #000000; background-color: #F3D32C; border-color: #F3D32C; text-align:center!important;}
#kontakt .input {width:95%}

 

.ce-textpic {position: relative;}

 .ce-uploads a {display:block; margin-top:6px!important;}
 .frame-type-uploads h1 {background-color: #5C605C; color: #FFF!important; padding: 2px 10px; margin-bottom: 0px !important; margin-top: 8px; font-weight: normal; font-size: 18px; }
 .ce-uploads li a {color: #000;line-height:20px;}
 .ce-uploads li { padding: 5px 5px; margin: 4px 0; background:#dddddd;}



.screen-reader-text {
    position: absolute;
    top: -9999em;
    left: -9999em;
}
.fab {font-size: 30px; padding: 10px; margin:2px; margin-left: 0; border-radius: 50%;margin-bottom: 5px;}

.accordion h1 {cursor: pointer;
        font-size: 18px;
        margin:0px;
        padding: 0px;
        width: auto;
        height:auto;
        min-height:40px;
        text-align: left;
        padding-top:10px;
        padding-bottom:8px;
        padding-left:10px;
        background-color: #78b948;
        color:#fff !important;
        width:100%;
        display: inline-block;
        font-style:normal;
        line-height:25px !important;
        text-transform: none;
}
.accordion h1::before, h1.externalLink:before {
    content: "\F5E3";
    font-family: 'bootstrap-icons';
    font-size: 13px;
    float: left;
    margin-top: -1px;
    margin-left: -3px;
    margin-right: 8px;
    color: #fff;
    transform: rotate(180deg);
    transition: all ease 0.5s;
}
.over h1 { background-color: #566374; color: #fff!important;}
.on h1 { background-color: #566374; color: #fff!important;}
.on h1::before {
    content: "\F5E3";
    font-family: 'bootstrap-icons';
    font-size: 12px;
    float: left;
    margin-top: 0px;
    margin-left: -3px;
    margin-right: 8px;
    color: #fff;
    transform: rotate(90deg);
}
.accordionButton {  
  width: 100%;
  border-top: 1px solid #000000;
  cursor: default;
  margin-top:10px;
  }
  
.accordionContent {  
  width: 100%;
  padding-left: 10px;
  padding-top: 20px;
  padding-bottom: 10px;
  padding-right:10px;
  }

.accordion{  
  width: 100%;
  border-top: 1px solid #FFFFFF;
  cursor: default;
   }

.ka-content {  
   width: 100%;
  padding-left: 15px;
  padding-top: 15px;
  padding-bottom: 10px;
  padding-right:15px;
  background:#EEEEEE;
  line-height: 24px;
  }
  
.ka-content h1 {font-size: 20px;}  
  
  hr {border-top: 1px solid #dddddd;}
  td {padding:5px;}
  tr {border-bottom: 1pt solid #DDDDDD;}
 .extra {margin-bottom:5px; margin-top:9px;} 
 
 
 
 label {font-weight:normal;}
.row-eq-height .col {width: 100%;
display: inline-block; height: 100%;}
 .threecol .col {padding: 0 0 15px 0;}
 .threecol .col .ce-bodytext {padding: 15px;}
 .threecol .ce-above .ce-gallery {
    border-bottom: 10px solid #fff;
}
 
.slick-prev, .slick-next {width: 30px; height: auto;}



.ce-uploads-description {font-style: italic; margin-top:3px;}


footer {background-color: #000; padding: 5px; color:#fff;}
footer ul {margin-bottom: 0;}
footer ul a {color: #fff;}
footer a {color: #fff; text-decoration:none}
footer ul a:hover {color: #fff; text-decoration: none;}
footer .ce-bodytext ul li::before {
  content: "\F285\A0";
  margin-left: -25px;
  vertical-align: -2px;
  color: #78b948;
  font-family: 'bootstrap-icons';
  font-size: 14px;
}

.footermenu {list-style: none; text-align: right;}
.footermenu li {display: inline-block; padding: 5px 0px 5px 25px;}
.footermenu li:before {content: "\F285";
color: #78b948;
font-family: "bootstrap-icons";
position: relative;
top: 2px;
font-size: 17px;
font-weight: bold;
right: 3px;}

.back-to-top-icon {
  width: 35px;
  height: 35px;
  color: #fff;
}

.back-to-top:hover {
  opacity: 60%;
}

.back-to-top {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  border-radius: 100%;
  background: #00a0e3;
  padding: 0.5rem;
  border: none;
  cursor: pointer;
  opacity: 100%;
  transition: opacity 0.5s;
  z-index: 100;
}

.hidden {
  opacity: 0%;
}

button, input, optgroup, select, textarea {margin-bottom:20px !important;opacity:0.9;}


 
  
