.row-eq-height {
  display: -ms-flexbox;
  display:  flex;
}

body,
html {
    margin: 0;
    padding: 0;
   font-family: "Open Sans", sans-serif; 
    font-weight: 400;
    font-size: 16px; 
    line-height:inherit;
}

.container, .container-fluid {position: relative;}
.mainwrapper {overflow-x: hidden;}

.ce-bodytext ul {list-style: none;}
.ce-bodytext ul li::before {
    content: "\25A0\A0";
    margin-left: -13px;
    vertical-align: 1px;
    color: rgb(232,65,44);
    font-family:'bootstrap-icons';
    margin-right: 5px;
}

.ce-bodytext {line-height: 25px;}
  
div.ce-gallery[data-ce-columns="2"] .ce-column {width: 49%;}
.ce-gallery img, .ce-gallery figure {max-width: 100%; height: auto !important;}
 
.header {position: absolute; top:0; left:0; right: 0; z-index: 15;}


h1, .breaker [class*="col-"] h1 {font-size: 35px; color: rgb(0,93,149); font-family: "Open Sans"; font-weight:400; margin-bottom: 20px;margin-top:20px;}
h2 {font-size: 25px; font-family: "Open Sans"; margin-bottom: 20px; margin-top:20px;}
h3 {font-size: 17px; color: rgb(0,93,149); font-family: "Open Sans"; line-height: 24px; font-weight:300; }
h4 {font-size: 18px; color: #000; font-family: "Open Sans"; font-weight:400}
h5 {font-size: 19px; color: #0071ae; font-family: "Roboto"; font-weight:300;}

b, strong {
    font-weight: 600;
}


.row {position: relative;}

.logo img {padding: 0; width: 250px;}
.logo a:focus  {
    outline: thin dotted #444;
    outline: 5px auto -webkit-focus-ring-color;
    outline-offset: 0px;
}

.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: 250px; padding: 15px 0px 0px 0px;}
.opacity {background-color: rgba(254,254,254,1);}

/* Mainmenu */
.mainmenu {position: absolute; z-index: 100; top:0; left:0; right: 0;}
.menu-wrapper a.logo-sm {width: auto; margin:0; padding: 0; display:none;}
.logo-sm img {
    height: auto;
  width: 50px;
  position: absolute;
  left: 15px;
  z-index: 100;
  opacity: 0;
  display: none;
}
.maincontent {padding-bottom: 300px; min-height: 300px;}
.border {border: none !important;}


.sliderwrapper {position: relative; overflow: hidden; margin:0; padding: 0;}
.sliderwrapper .container {position: relative;}
.sliderwrapper .wrapper {position: absolute;top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 10;}

.sliderwrapper img {min-width: 100%; }

.sliderwrapper .claim .row {margin:0;}
.sliderwrapper  .claim {
    display: flex;
    flex-direction: column;
  align-items: left;
  justify-content: center;
  height: 100%;
}
.sliderwrapper .container {height: 100%;}

.sliderwrapper  .claim h1 {text-align: left; margin:25px 0px; padding:0; color: #fff; font-weight: normal; font-size: 30px; font-family: "Open Sans", sans-serif; text-shadow: 2px 2px 3px #000; }
.sliderwrapper  .claim h2 {text-align: left; margin:0; padding:0; color: #fff; font-weight: normal; font-size: 60px; font-family: "Open Sans", sans-serif; text-shadow: 2px 2px 3px #000;}
.sliderwrapper  .claim h3 {text-align: left; margin:0; padding:0; color: #fff; font-weight: normal; font-size: 20px; font-family: "Open Sans", sans-serif; font-weight: bold; margin-top: 50px; }
.sliderwrapper  .claim a {text-align: center; font-weight: 400; background-color: rgb(232,65,44); color: #fff; text-decoration: none; padding: 10px 25px; border-radius: 5px;}
.sliderwrapper .claim a:hover {background-color: rgb(0,93,149);}


.sliderwrapper .container {position:relative;}

.slide img.bg {max-height: 750px; object-fit: cover;}

/* Mobilemenu */
mm-burger {position: absolute; color: #fff; z-index: 1000; right: 15px; top: 15px;}


.breaker {
  width: 100svw;
  position: relative;
  left: calc(-1 * (100svw - 100%) / 2);
  padding: 15px 0px;
}

.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; }

.breaker .col {background-color: rgba(254,254,254,0.8); padding: 25px; padding-top:10px; height: 100%; border-radius: 15px;}

.breaker .container {position: relative; z-index: 1;}

.grey-bg .background {background-color: #eee; color: #000;}
.red-bg .background {background-color: #B62C2C; color:#fff;}
.blue-bg .background {background-color: #D5DCE8; color: #fff;}
 
 
 .red-bg h1, .blue-bg h1 {color:#000; !important; font-size: 44px;}
 .red-bg h4, .blue-bg h4 {color:#fff !important; font-size: 20px;}
 

.red-bg .btn-default {border-color: #fff; background-color: transparent; padding: 10px;color:#fff; font-size:20px;}
.red-bg .btn-default:hover {background-color: #0071ae; border-color: #fff; color:#FFF;}
.fm_button {
           text-align:center; 
           display: block; 
           margin:auto;
           margin-top:15px; 
           position: relative; 
           width: 200px; 
                      }



.btn-default:hover {background-color: #676766; border-color: #676766; color:#FFF;}


.bereiche {margin-top: 4px;}

/* Subpages Menü */

.frame-type-menu_subpages h1, .right .frame-type-menu_pages h1 {
    display: inline-block;
    font-size: 20px;
    background-color: #0071ae;
    padding: 10px;
    width: 100%;
    color: #fff;
    font-weight: normal;
    margin-bottom: 0;
}
.frame-type-menu_subpages ul, .right  .frame-type-menu_pages ul{
    padding: 0;
    margin: 0;
    list-style: none;
    padding-top: 2px;
}
.frame-type-menu_subpages ul li, .right .frame-type-menu_pages ul li {
    color: #FFF;
    display: inline-block;
    background-color: #B62C2C;
    width: 100%;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-bottom: 1px;
    font-size: 17px;
}
.frame-type-menu_subpages ul li:hover, .frame-type-menu_pages ul li:hover  {background: #0071ae;}
.frame-type-menu_subpages ul li.active, .frame-type-menu_pages ul li-active  {background: #0071ae;}
.frame-type-menu_subpages ul li a, .frame-type-menu_pages ul li a {
    background-repeat: no-repeat;
    background-position: 8px 11px;
    color: #FFF;
    width: 100%;
    display: inline-block;
    padding: 10px 10px 10px 30px;     
}
.frame-type-menu_subpages ul li a:hover, .frame-type-menu_pages ul li a:hover {
    text-decoration: none;
   }
   
/* Menü Variante */
.frame-type-menu_subpages .variant ul li a, .frame-type-menu_pages .variant ul li a {color: #fff;}
.frame-type-menu_subpages .variant h1, .frame-type-menu_pages .variant h1 {
    background-color: #376a92;
}

.frame-type-menu_subpages .variant ul li, .frame-type-menu_pages .variant ul li {
    background-color: #919191;
    color: #fff;
}
.frame-type-menu_subpages .variant ul li:hover, .frame-type-menu_pages .variant ul li:hover  {background: #626262; color: #fff;}
.frame-type-menu_subpages .variant ul li.active, .frame-type-menu_pages .variant ul li-active  {background: #144478; 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-border img, .ce-border iframe {
    border-radius: 50%;
    border-color: transparent;}
.ce-textpic {position: relative;}
.ce-border {  position: absolute;
              top:0;
              bottom:0;
              right:0;
              display: flex;
  align-items: center;
  justify-content: center;}
.boxcontent h1 {line-height:20px;height:54px; padding-top:18px;}

 .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; font-weight: 400;}
 .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: rgb(0,93,149);
        color:#FFFFFF !important;
        font-size: 18px !important;
        width:100%;
        display: inline-block;
        font-style:normal;
        line-height:25px !important;
        margin: 2px !important;
}
.accordion h1::before, h1.externalLink:before {
    content: "\F231";
    font-family: 'bootstrap-icons';
    font-size: 13px;
    float: left;
    margin-top: -1px;
    margin-left: -3px;
    margin-right: 8px;
    color: #fff;
}
.over h1 { background-color: rgb(232,65,44); color: #FFF;}
.on h1 { background-color: rgb(232,65,44); color: #FFF;}
.on h1::before {
    content: "\F229";
    font-family: 'bootstrap-icons';
    font-size: 12px;
    float: left;
    margin-top: 0px;
    margin-left: -3px;
    margin-right: 8px;
    color: #fff;
}
.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%;
  cursor: default;
   }

.ka-content {  
   width: 100%;
  padding-left: 15px;
  padding-top: 15px;
  padding-bottom: 10px;
  padding-right:15px;
  background:#fff;
  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;}
 

 .sidebar {position: fixed; top: 50%; right:0px; z-index: 100; transition: all ease .5s; transform: translatex(100%); cursor: pointer;}
 .sidebar table {background-color: #F04F36; color: #fff; border: 1px solid #fff; border-right: none; font-size: 18px;}
 .sidebar:hover {transform: translatex(0%);}
 .sidebar::before {font-family: 'Glyphicons Halflings'; 
         content: "\e182"; 
         position: absolute; 
         left: -65px; 
         border: 1px solid #fff;
         border-right: none;
         top: 50%; 
         transform: translatey(-50%);
         background-color: #F04F36; 
         color:#fff; 
        font-size: 40px;
height: 75px;
width: 65px; 
 padding: 5px;
 text-align: center;}
  .sidebar::after{content: "Notrufe"; 
                  position: absolute;
                  left: -65px;
                  top: 50%; 
                  width: 65px;
                transform: translatey(-50%);
                color: #fff;
                padding-top: 50px;
                text-align: center;
                white-space: pre;
  }
  
.titleWrapper {display: none;}
.addressWrapper {display: none;} 
.infoWindowContent h2 {margin-top: 0; color: #B62C2C;}   
.sidebar td:nth-child(2) {text-align: right; font-weight: 400;}
 .threecol .col {padding: 0 0 15px 0;}
 .threecol .col .ce-bodytext {padding: 15px;}
 .ce-bodytext a {color:#000;}
.projekte {padding: 25px 50px 25px 50px;}
.projekte .slick-prev {left: 10px; }
.projekte .slick-next {right: 15px; }
.projekte .slick-next::before, .testimonials .slick-next::before {content: "\e080"; font-family: 'Glyphicons Halflings'; font-size: 30px;}
.projekte .slick-prev::before, .testimonials .slick-prev::before {content: "\e079"; font-family: 'Glyphicons Halflings'; font-size: 30px;}
.slick-prev, .slick-next {width: 30px; height: auto;}

#leftmenu ul {margin:0; padding: 0;}
#leftmenu ul li {list-style-image: url('fileadmin/template/grafiken/bullet.png'); width: 100%; display: block; margin-bottom: 1px; }

#leftmenu ul li a {background-color: #ddd; color: #000; display: block; width: 100%; padding: 5px;}


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: #B62C2C; 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;
}
.news-text-wrap {line-height: 22px;}
.tx-indexedsearch-description strong {color: #B62C2C;}
.ce-uploads-description {font-style: italic; font-size:13px;margin-top:3px;}

.frame-type-felogin_login .row, .tx-fe-change-pwd .row {margin-bottom: 5px;}
.frame-type-felogin_login form, .tx-fe-change-pwd form {margin-bottom: 25px;}
.frame-type-felogin_login legend, .tx-fe-change-pwd legend {margin-top: 15px;}

ul.f3-widget-paginator {list-style: none;}
ul.f3-widget-paginator li {display: inline-block; border: 1px solid #ddd;
padding: 5px 10px; background-color: #fff;}
ul.f3-widget-paginator li.current {background-color: #B62C2C; color: #fff;}
ul.f3-widget-paginator li:hover {background-color: #eee; color: #000;}
ul.f3-widget-paginator li a:hover {background: transparent !important; color: #000 !important;}
ul.f3-widget-paginator li a {color: #000;}

.home .breaker .col {background:none; height:auto;}
.home .twocol7030 div[class*="col-"]:first-child .col {background-color: rgba(254,254,254,0.5); border-radius: 15px;}
.home .twocol7030 div[class*="col-"]:nth-child(2) {margin-top: -250px;}

.breaker .onecol .col {background-color: rgba(254,254,254,0.5); border-radius: 15px;}
.rightbg [class*="col-"]:nth-child(2) .col {background-color: #D5DCE8; height: 100%; border-radius: 50px 50px 0px 50px; position: relative;}
.rightbg [class*="col-"] {margin: 25px 0 100px 0;}
.rightbg .col { padding: 35px;}
.rightbg [class*="col-"]:nth-child(2) .col:after {content: "";
  width: 100%;
  height: 80px;
  background: #fff;
  display: inline-block;
  margin-top: 50px;
  position: absolute;
  bottom: -80px;
  right: 9px;
  border-radius: 0 80px 0px 0;} 

.rightbg [class*="col-"]:nth-child(2) .col:before {content: "";
  width: 100%;
  height: 80px;
  background: #D5DCE8;
  position: relative;
  display: inline-block;
  margin-top: 50px;
  position: absolute;
  bottom: -80px;
  right: 0;} 

.leftbg [class*="col-"]:first-child .col {background-color: #D5DCE8; height: 100%; border-radius: 50px 50px 0px 50px; position: relative;}
.leftbg [class*="col-"] {margin: 25px 0 100px 0;}
.leftbg .col { padding: 35px;}
.leftbg [class*="col-"]:first-child .col:after {content: "";
  width: 100%;
  height: 80px;
  background: #fff;
  display: inline-block;
  margin-top: 50px;
  position: absolute;
  bottom: -80px;
  right: 9px;
  border-radius: 0 80px 0px 0;} 

.leftbg [class*="col-"]:first-child .col:before {content: "";
  width: 100%;
  height: 80px;
  background: #D5DCE8;
  position: relative;
  display: inline-block;
  margin-top: 50px;
  position: absolute;
  bottom: -80px;
  right: 0;} 


.bubble {
    width: 300px;
    background-color: #99AFCD;
    position: relative;
    border-radius: 50px 50px 0 50px;
    margin: auto;
    padding: 40px 15px 40px 15px;
    margin-bottom: 50px;
    text-align: center;
    color: #fff;
}

.bubble h1 {color: #fff; text-transform: uppercase; font-size: 45px; font-weight: bold;}

.bubble:after {
    content: url(/fileadmin/template/grafiken/bubblecorner.svg);
    position: absolute;
    right:0;
    bottom: -50px;
    width: 50px;
    height: 50px;
    }
.bubble svg {width: 100px; filter: invert(100) grayscale(100);}   
.bubble img {width: 100px; filter: invert(100) grayscale(100);}   

.nobg .col {background-color: transparent;}   

.home .ce-textpic, .home .ce-image, .home .ce-nowrap .ce-bodytext, .home .ce-gallery, .home .ce-row {overflow: inherit !important;}

.qrcode {background-color: rgb(232,65,44); color: #fff; padding: 15px; border-radius: 15px; margin: 15px 0;}
.qrcode div[class*="col-"] {margin: 0px!important;}
.qrcode a {color: #fff; font-weight: bold; text-decoration: underline;}


.back_to_top {
  position: fixed;
  bottom: 80px;
  right: 40px;
  z-index: 9999;
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  color: rgb(0,93,149);
  cursor: pointer;
  border-radius: 2px;
  display: none;
  text-decoration: none;
}
.back_to_top:before {
    content: "\F139";
    font-family: "bootstrap-icons";
    opacity: 0.7;
    font-size: 40px;
    text-shadow: 0px 0px 5px #fff;
}

.back_to_top:hover {
    color: rgb(232,65,44);
}

.back_to_top-show {
  display: block;
}

.footer {background-color: rgb(0,93,149); text-align: center; color: #fff;}
.footer a {color: #fff; text-decoration: none;}
.footer ul {list-style: none; margin:0; font-size: 14px;}
.footer li {display: inline-block; padding: 5px 15px; margin: 0;}
.footer a:hover {text-decoration: underline;}