@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;}
}

.col-xs-5ths,
.col-sm-5ths,
.col-md-5ths,
.col-lg-5ths {
    position: relative;
    min-height: 1px;
    padding-right: 2px;
    padding-left: 2px;
}

.col-xs-5ths {
    width: 20%;
    float: left;
}

@media (min-width: 768px) {
    .col-sm-5ths {
        width: 20%;
        float: left;
    }
}

@media (min-width: 992px) {
    .col-md-5ths {
        width: 20%;
        float: left;
    }
}

@media (min-width: 1200px) {
    .col-lg-5ths {
        width: 20%;
        float: left;
    }
}
.row-eq-height {
  display: -ms-flexbox;
  display:         flex;
}

body,
html {
    margin: 0;
    padding: 0;
    width: 100%;
   font-family: "Open Sans"; 
    font-weight: 400;
    font-size: 15px; 
    line-height:inherit;
}

.ce-bodytext ul {list-style: none;}
.ce-bodytext ul li::before {
    content: "\25A0\A0";
    margin-left: -25px;
    vertical-align: 1px;
    color: #1F487C;
    font-family:'Glyphicons Halflings';
}

.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';
}

.ce-bodytext {line-height: 25px;}

.logo a:focus img {outline-width: 2px;}

table {width: 100%;}
/* Helper */
    .is-table-row {
        display: table;
        width: 100%;
    }
    .is-table-row [class*="col-"] {
        display: table-cell;
        vertical-align: bottom;
    }
    
div.ce-gallery[data-ce-columns="2"] .ce-column {width: 49%;}
.ce-gallery img, .ce-gallery figure {max-width: 100%; height: auto !important;}

.header {background-color: #B8CCE4; border-bottom: 2px solid #fff;}
.header {position: fixed !important; z-index: 10; right: 0; left: 0; top:0;}
em {color: #333 ;padding-right: 3px; font-size: 12px;}

h1, .breaker [class*="col-"] h1 {font-size: 28px; color: #1F487C; font-family: "Open Sans"; font-weight:300; margin-bottom:15px;}
h2 {font-size: 21px; font-family: "Open Sans"; margin-bottom: 20px;}
h3 {font-size: 17px; color: #B8CCE4; font-family: "Open Sans"; line-height: 24px; font-weight:300; }
h4 {font-size: 20px; color: #B62C2C; font-family: "Open Sans"; font-weight:400}
h5 {font-size: 19px; color: #B8CCE4; font-family: "Open Sans"; font-weight:300;}
h1.news {margin:-10px 0 15px -25px; background-color: #B62C2C; color: #fff !important; display: inline-block; padding: 5px 25px; }

b, strong {
    font-weight: 600;
}

.container {position: relative;
}
.main {border-top: 2px solid #fff; padding-bottom: 30px;}
.mainwrapper {height: 100vh; height: auto !important; min-height: 100vh; padding-top: 0; transition: all ease 0.5s; position: relative; overflow-x: hidden;}
 h1.pageheader {text-align: center; color: #000 ;margin-top:40px; margin-bottom:30px;  }

.row {position: relative;}

.logo img {padding: 25px 0px 0px 0; width: 300px;}
.logo a {position: relative;
z-index: 5;}
.transition  { -webkit-transition: all 0.7s ease-in-out;
   -moz-transition: all 0.7s ease-in-out ;
   -ms-transition: all 0.7s ease-in-out ;
   -o-transition: all 0.7s ease-in-out ;
   transition: all 0.7s ease-in-out ; }

.shrink img {width: 225px;
padding: 10px 0px 0px 0px;
margin-bottom: -15px;}
.opacity {background-color: rgba(254,254,254,1);}

.mainmenu {background-color: #87953F; border-bottom: 2px solid #fff;}

.topstripe {position: absolute; top:0; bottom: 47px; left:0; right: 0; background-color: rgba(254,254,254,0.85); border-bottom: 4px solid #fff;}
.bottomstripe {position: absolute; left:0; right: 0; height: 50px; background-color: rgba(254,254,254,0.4); border-bottom: 2px solid #fff;}

/* Drop Down Menu */

.navi {position:relative; height: 100%; padding:0; float:right; margin-top: -15px;}
.navi ul {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}
.navi ul li {
    display: block;
    margin:0;
    float: left;
    text-align: center;
    border-right: 1px solid #fff;
}

.navi ul li li {border: none;}

.navi ul li a { 
    text-decoration: none;
    color: #fff;
    width: 100%;
    display:block;
    padding: 10px;
    padding-right: 15px;
    padding-left: 15px;
}

.navi ul li a:hover, .navi ul li a:focus, .navi ul li.active a, .navi .sf-menu span:hover,.navi ul li.active span {background: #0071ae; color: #fff;}
.navi ul li.first {border-left: none;}
.navi .sf-menu li {background: none;}
.navi .sf-menu a, .navi .sf-menu span {background: #1F487C;
                                       color: #fff;
                                     font-family: "Open Sans"; 
                                       font-weight: 300;
                                       font-size:16px;
                                       display: block;
                                       border: 1px solid transparent;
                                       padding: 9px 20px;
                                       cursor: pointer;}
.navi ul li.first span {border-left: none;}
.navi .sf-menu {background: none; width:auto; float: right;}
.navi .sf-menu ul {
    padding-top: 0px;
    width: auto;}
.navi .sf-menu ul li {width: 100%; text-align: left;}
.navi .sf-menu ul li a {border: none; border-top: 1px solid #fff; background: #0071ae; color: #fff;}
.navi .sf-menu ul li a:hover, .navi .sf-menu ul li a:focus { background: #1F487C;}
.navi .sf-menu li.first a, .navi .sf-menu li.first span {
    border-left: none;
}
.navi .sf-menu li:hover,
.navi .sf-menu li.sfHover {
	background: #ac6e66;
        color: #fff;
}
.navi .sf-menu li:hover span,
.navi .sf-menu li.sfHover span {color: #fff;}

.sf-arrows > li > .sf-arrows > li:hover > .sf-with-ul::after, .sf-arrows > .sfHover > .sf-with-ul::after {
    border-top-color: white;
    border-left-color: transparent;
    margin-top: -3px;
}

.sf-arrows .sf-with-ul::after {border-top-color: #fff; right: 10px;}

.navi .sf-menu {font-family: "Open Sans";}

.container,
.container-fluid {
    position: relative;
}
.navi .sf-menu {
    float: right;
    width: auto;
}
.maincontent {padding-bottom: 300px; min-height: 300px;}
.mask {height: 100%; background-color: #fff;}
.navi .sf-menu li, .navi .sf-menu {
    background: none;
}

.menu {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
}
.navi .sf-menu a, .navi .sf-menu span {
    padding: 8px 30px;}


.sf-arrows > li > .sf-arrows > li:hover > .sf-with-ul::after, .sf-arrows > .sfHover > .sf-with-ul::after {
    border-top-color: white;
    border-left-color: transparent;
    margin-top: -3px;
}

/* News Styles */
.news-single .header {position: relative !important;} 
.news-single .header h3 {font-size: 20px; margin-bottom: 0 !important;}
.news .news-list-item h3 {margin: 0 0 5px 0; font-size: 17px;}
.news .news-list-item {background-color: #fff; margin: 15px;}
.news-list-item .article {margin-left: -15px; margin-right: -15px;}
.news .news-list-item .lead {padding: 10px 10px 50px 10px;}
.news .news-list-item .btn-default {position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%)}

.news h3 a {color: #333; line-height: 22px; font-weight: bold;}
 h6 {background-color: #87953f; padding: 5px 15px; margin-bottom: 5px; margin-top: 25px; color: #fff; font-family: Open Sans; font-weight:300; font-size:25px;}
.news a {color: #000;}
.news .thumbnail {padding:0; border: none;}
.news a:hover {text-decoration: none;}
.news .article .teaser-text {font-size: 16px;}
.news-single .article .header {background: none;}
.news-single .article .teaser-text {
    font-size: 16px;
    margin: 10px 0;
}

.news-list-item .extra {display: none;}

.news-single .article .footer {display: none;}
.news .mediaelement {display: inline-block;}
.news .article .news-img-wrap a {
    display: block;
    float: left;
    background: #fff;
}

.news-single .article h3 {
    margin-bottom: 15px;
}
.news .btn-read-more {   
margin: auto;
display: block;
margin-bottom: 5px;
}


.news .btn-read-more:hover {border: 1px solid #333;}

.news .lead {font-size: 15px; font-weight: 300; margin: 0;}

.news .btn-default {
    color: #333;
    background-color: #eee;
    border-color: #999;
}


/*News Energiespartipp */
.news .news-list-item.energiespartipp::before {display: none;}
.news .news-list-item.energiespartipp .newsbox {
    
    background-color: #B62C2C;
    padding: 25px 30px;
}
.news .news-list-item.energiespartipp .newsbox span {position: absolute; top: 0; right: 0; width:120px; padding: 0 10px;}
.vcenter {
    display: flex;
    align-items: center;
}
.news .news-list-item.energiespartipp a { color: #fff;}
.news .news-list-item.energiespartipp h1 {color: #fff; text-shadow: 2px 2px #000}
.news .news-list-item.energiespartipp h2 {margin-top: 0;}
.news .news-list-item.energiespartipp {color: #fff;}

 /* Galerie */
.thumb h4.name a {color: #000; font-size: 14px; font-weight: 300;}
.frame-indent {margin: 0; text-align:center;}
.frame-indent > img.img-responsive {display: inline-block;}

.sliderwrapper {position: relative;}
.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%; height: auto !important;}
.slider .slick-slide {margin-bottom: -5px;}

.slider  .claim {position: absolute; background-color: rgba(254,254,254,0.9);
bottom:40%;
left: 0;
font-family: "Open Sans";
font-weight: 300;
min-width: 40vw;
animation-duration: 0.6s; animation-fill-mode: forwards; opacity: 0;
}



.slider  .claim .title h1 {margin:0; padding:0; background-color: #144478; color: #fff; padding: 5px 15px;}
.slider  .claim .description{font-size: 18px; line-height: 26px; padding: 15px;}
.slider  .claim .morelink {padding: 15px; float: right;}
.slider  .claim .morelink a {color: #B8CCE4; font-weight: 500;}
.home .sliderwrapper  .slogan {bottom: 0;}


.sliderwrapper .copyright {position: absolute; right: 0px; bottom: 0px; background-color: rgba(254,254,254,0.8);padding:2px 5px;}

.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: 40px; color: #fff; opacity: .5; text-shadow: 1px 1px #000;  }

.slick-dots {bottom: 25px;} 
.slider span {color:#404040;}

.slider p { color: #000; font-size: 38px; line-height: 42px;
            padding: 17px 15px 0px 15px;
            font-family: "Open Sans";
            font-weight: 300;
}

.slidercontent {position: absolute; top:0; left:0; right: 0; bottom: 0;}
.sliderwrapper .container {position:relative;}
.slogan {
position: absolute;
background: rgba(80,80,80,0.8);
text-align: center;
left: 15px;
right: 15px;
padding-left: 15px;
padding-right: 15px;
border-bottom: none;
bottom: 0;
}
.mobilepic {display: none;}
.slogan {color:#fff; font-size:30px; text-align: left; font-weight: 400; padding: 10px 25px;}
.slogan h1 img, .slogan img {
    display: inline-block;
    max-width: 180px;
    height: 50px;
    padding-bottom: 0px;
    margin-left: 5px;
}
/* Mobilemenu */
a.mobilemenu {
  display: block;
  width: 25px;
  height: 20px;
  position: absolute;
  top: 10px;
  left: 15px;
  display: none;
  z-index: 200;
  background:linear-gradient(to bottom, #000 0%, #000 20%, transparent 20%, transparent 40%, #000 40%, #000 60%, transparent 60%, transparent 80%, #000 80%, #000 100%);
} 

a.mobilemenu:hover {text-decoration: none; color: #000;}

nav#mobilemenu {display: none;}


.breaker {
  left: 50%;
  margin-left: -50vw;
  position: relative;
  width: 100vw;
  padding: 25px 0;
}
.breaker .background {   
    position: absolute;
    top: 0;
    left: 0; 
    right: 0; 
    bottom: 0;
}
.coverbg {background: no-repeat center center fixed;   -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover; }

.breaker .col {background-color: #fff; padding: 25px; padding-top:10px; height: 100%;}

.breaker .container {position: relative; z-index: 1;}

.darkblue-bg .background {background-color: #1F487C; color: #fff;}
.darkblue-bg a {color: #fff;}

.black-bg .background {background-color: #000; color:#fff;}
.blue-bg .background {background-color: #B8CCE4; color: #000;}
 
 
 .red-bg h1, .blue-bg h1 {color:#1F487C !important; font-size: 44px;}
 .red-bg h4, .blue-bg h4 {color:#fff !important; font-size: 20px;}
 
 .btn-image {width: 180px; height: auto;}
 .btn-image img {border: 1px solid #fff; padding: 10px;}
 a.btn-image:hover {background-color: #B8CCE4;}
/* Contentbox */
.contentbox {margin:15px 0px; 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;
}

.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%);}

/* Icon Überschriften */
.boxheader h1 a, .boxheader h1 a:hover, .boxheader h1 a:visited, .boxheader h1 a:active {text-decoration: none; color: #fff;}
h1.icon {background-color: #676766; position: relative; padding-left:130px;  padding-top: 8px; padding-bottom: 8px; font-size: 22px; color: #fff; margin-bottom: 35px;}
h1.icon img {position:absolute; top: -18px; left: 20px; margin-bottom: -20px; border: 5px solid #fff; width: 90px; height: 90px;}



h1.icon4 {background-color: #676766; position: relative; padding-left:130px;  padding-top: 13px; height: 50px; color: #fff; margin-bottom: 40px; font-size:23px;}

.language-menu {position: absolute; right: 15px; top: 0; list-style: none; padding:0; margin:0;z-index: 100; padding: 5px;} 
.language-menu li {display: inline-block; padding: 5px; font-family: "Open Sans Condensed";}
.language-menu li:first-child {border-right: 2px solid #afb1b2;}
.language-menu li a, .language-menu li {color: #afb1b2; font-size: 24px;}
.language-menu li a:hover, .language-menu li.active a {color: #000; font-size: 24px; text-decoration: none;}


/*contactbox*/
.contactbox .boxtext {background-color: #eee; padding: 15px;}
.contactbox h1 {background-color: #ac6e66; margin-bottom: 0; color: #fff; padding: 12px; font-size: 20px; font-weight: normal;}
  

.slick-next {
    right: 0px;
}

.slick-prev {
    left: 0px;
}


.slick-next::before {
    font-family: 'Glyphicons Halflings'; 
    content: "\e080";
}
.slick-prev::before {
    content: "\e079";
    font-family: 'Glyphicons Halflings';
}


#footer {
    min-height: 30px;
    background-color: #000;
    margin-top: -30px;
    border-top: 2px solid #fff;
}

.footermenu {float: right; list-style: none;}
.footermenu li {display: inline; border-right: 1px solid #fff;}
.footermenu li a {padding: 0 5px;}
.footermenu li:last-child {border: none;}
#footer {color: #ffffff; padding: 15px; font-size: 14px; position:relative;}
.footercontent img {padding: 0px 0px;}
.footercontent a {color:#fff;}
#footer span {
    display: inline-block;
    color: #fff;
    font-size: 14px;
    padding: 5px 15px;
}


.topmenu {position: absolute; right: 15px; top: 10px; z-index: 100;}
.topmenu ul {list-style: none; margin:0; float:left;}
.topmenu li {display: inline-block; border-right: 1px solid #000;}
.topmenu li.last {border: none;}
.topmenu li a{ display: inline-block; color: #1F487C; font-size: 14px; padding: 5px 15px;}




.btn-default {
    font-family: "Open Sans";
   color: #000000;
   background: #F2F2F2;
   border-color: #A2A2A2;
   margin-top:20px;
   padding:4px;
   font-size: 15px;
   width:130px;
   transition: background ease 0.3s;
}
 


.fm_button {text-align:center; display: inline-block; margin-top:15px; position: relative; width: auto; float: right; margin-bottom: 10px; padding: 5px 10px;}



.btn-default:hover {background-color: #676766; border-color: #676766; color:#FFF;}


   
 textarea.form-control {height: 180px;}
.btn-primary { color: #ffffff; background-color: #B62C2C; border-color: #B62C2C; font-size:16px!important;text-align:center!important;}
.btn-primary:hover { color: #ffffff; background-color: #676766; border-color: #676766; 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: 20px!important;}
 .ce-uploads li a {color: #000;line-height:20px;}
 .ce-uploads li { padding: 5px 5px; margin: 4px 0; background:#dddddd;}


.accordion h1 {cursor: pointer;
  
        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: #1F487C;
        color:#FFFFFF !important;
        font-size: 18px !important;
        width:100%;
        display: inline-block;
        font-style:normal;
        line-height:25px !important;
}
.accordion h1::before, h1.externalLink:before {
    content: "\e092";
    font-family: 'Glyphicons Halflings';
    font-size: 13px;
    float: left;
    margin-top: -1px;
    margin-left: -3px;
    margin-right: 8px;
    color: #fff;
}
.over h1 { background-color: #B8CCE4; color: #1F487C !important;}
.on h1 { background-color: #B8CCE4; color: #1F487C !important;}
.on h1::before {
    content: "\e094";
    font-family: 'Glyphicons Halflings';
    font-size: 12px;
    float: left;
    margin-top: 0px;
    margin-left: -3px;
    margin-right: 8px;
    color: #1F487C;
}
.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 {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;}

ul.tx-indexedsearch-browsebox {
    padding-left: 0;
    list-style: none;
    margin-top: 25px;
}



.tx-indexedsearch-browsebox li {display:inline-block;}
 .tx-indexedsearch-browsebox li a {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #000;
    background-color: #fff;
    border: 1px solid #000;
}
.tx-indexedsearch-search-submit, .tx-indexedsearch-form {display:inline-block;}
#tx_indexedsearch legend{display: none;}
.tx-indexedsearch-searchbox {margin-bottom: 15px;}
li.tx-indexedsearch-browselist-currentPage a {background-color: #1F487C; color: #fff;}
.tx-indexedsearch-browsebox li:first-child a
 {
    margin-left: 0;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}
.tx-indexedsearch-browsebox li:last-child a
 {
    margin-left: 0;
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    border-left: none;
}
.tx-indexedsearch-description strong {color: #B62C2C;}
.ce-uploads-description {font-style: italic; font-size:13px;margin-top:3px;}

.searchbox {display: block; float: right;}
.searchbox input {
    background-color: #fff;
    border: 1px solid #1F487C;
    border-radius: 4px;
} 
.searchbox button {background-color: transparent;
border: none;

}
.searchbox button:hover i {color: #000;}
.searchbox i {color: #1F487C;}
.sixty h1 {font-size: 36px !important;}




 
 
