@font-face {
        font-family: 'Merriweather Sans Bold';
        src: url('../fonts/MerriweatherSans-Bold.ttf')  format('truetype') ;
}

@font-face {
        font-family: 'Merriweather Sans Light';
        src: url('../fonts/MerriweatherSans-Light.ttf')  format('truetype') ;
}

@font-face {
        font-family: 'Merriweather Sans Regular';
        src: url('../fonts/MerriweatherSans-Regular.ttf')  format('truetype') ;
}

body { font-family: 'Merriweather Sans Light', sans-serif; color:#707778; font-size: 16px;}

#slider h1 { font-size: 40px; font-family: 'Merriweather Sans Bold'; text-shadow: 0 0 10px #0d0f0f }
#slider h2 { font-size: 30px; font-family: 'Merriweather Sans Light'; text-shadow: 0 0 10px #0d0f0f }

h1 { font-size: 30px; margin: 0 0 20px ; padding: 0 0 10px 0; font-family: 'Merriweather Sans Bold'; line-height: 1.2; }
h2 { font-size: 20px; margin: 0 0 10px ; padding: 10px 0 5px 0; text-transform: none; font-family: 'Merriweather Sans Light';  }
h3 { font-size: 18px; margin: 0 0 10px ; padding: 10px 0 5px 0; font-family: 'Merriweather Sans Regular'; }
h4 { font-size: 16px; font-family: 'Merriweather Sans Regular'; margin: 0 0 10px 0; padding: 10px 0 5px 0;line-height: 1.3; }

h1:after,
h3:after {
        content: "";
        width: 40px;
        height: 3px;
        display: block;
        margin-top: 1rem;

}

.text-center h1:after,
.text-center h3:after {
        margin-left: auto;
        margin-right: auto;
}
.text-end h1:after,
.text-end h3:after {
        margin-right: 0;
        margin-left: auto;
}

h1, h2 { font-family: 'Merriweather Sans Regular', sans-serif; }

p { font-size: 14px; }

.p1 { padding: 60px 0; }
.p2 { padding: 30px 0; }

.p-img { padding: 150px; }
.p-overlay { margin-top: 0px; }
.fullwidth  .ce_text { color: white; font-size: 16px; }
.fullwidth  h1 { color: #fff; }
a.btn,
.submit { border: 0; padding: 0; font-family: 'Merriweather Sans Light'; font-size: 13px; text-transform: uppercase;
        border-radius: 0;
        -moz-border-radius: 0;
        -webkit-border-radius: 0;

        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
}

a.btn, .submit { color: white; padding: 10px 15px 8px; margin-top: 4px;  }

#newsletter-50  h4 { font-size: 0px; }
#newsletter-50  input { text-align: center; }
#newsletter-50  input.text {margin: 0 0 10px }

#rosaslider { font-size: 20px; }
#rosaslider .slider-control { display: none; }

footer h3 { font-size: 16px; margin-bottom: 10px; padding-bottom: 10px; }

.logo img {     max-width: 100%; height: auto; }
.mainnavi-container .mainnavi-wrapper  { position: relative; padding: 7px 0; width: 100%; }
.mainnavi .level_1 { text-align:center; }
#header .mod_navigation ul { overflow: hidden; }
.mainnavi .level_1 a, .mainnavi .level_1 span { padding: 8px 10px 4px; display: inline-block; text-decoration:none; color: rgba(255, 255, 255, 0.6); font-family: 'Merriweather Sans Regular';  text-transform: uppercase; font-size: 13px; }
.mainnavi .level_1 a:hover, .mainnavi .level_1 span:hover { color: #fff; }
.mainnavi .level_1 li { }

#footer input, #footer textarea { background: none; border: none; border-bottom: 1px solid rgba(255, 255, 255, 0.3);
-moz-transition: background .5s;
-webkit-transition: background .5s;
transition: background .5s;
}

#footer input.submit { color: #fff; font-size: 14px;}
#footer input.submit:hover { background: #fff; color: #0D0F0F; }

header .ce_form input.text:hover, header .ce_form input.text:focus,
#footer input.text:hover, #footer textarea:hover, #footer input.text:focus, #footer textarea:focus { background: white; color: #666; }

header .ce_form input.text:hover, header .ce_form input.text:focus,

#footer a {
        -moz-transition: color .5s, background .5s;
        -webkit-transition: color .5s, background .5s;
        transition: color .5s, background .5s;
}

footer ul { list-style-type: none; margin: 0; padding: 0; }

.mod_login, .ce_comments { padding-top: 20px; padding-bottom: 20px; }

p.more, p.back {display: inline-block; font-size: 14px; margin-top: 8px; }

.mod_faqreader p.more, .mod_faqreader p.back {display: block; }

.mod_eventlist div.header a, p.more a, p.back a, p.info a { color: #fff; padding: 5px 10px; font-size: 13px; margin-top: 8px; }
.mod_eventlist div.header, .mod_eventlist .time, p.info {padding: 0 0 5px; font-size: 13px; display: inline-block; }

.comment_default .reply {margin-left: 50px; }


.mod_nl_list li { color: #666; font-size: 12px;  }
.mod_nl_list li a { font-size: 18px; margin-left: 5px;}

.multicell { border-top: 4px solid #ccc; }
.multicell .ce_text  { padding: 10px 0; margin: 10px 0; border-bottom: 1px solid #ccc; }
.multicell h2, .multicell h1, { margin-top:0; padding-top:0; }

.fullwidth .content-slider .ce_text { padding: 200px 0;  }
.socials a { display: block; margin: 0 1px; color: #191B1B; }

input.text, textarea, select { }
input.text:active, textarea, select:active  {  }
input.text:focus, textarea, select:focus  { }

footer .footercontainer, footer .footercontainer  .container  { margin-bottom:0!important; color: #9e9f9f!important;}


/* ========================== */
#slider h3 { text-transform: uppercase; margin: 0!important; padding: 0; }
#slider p { color: #fff; font-size: 16px; }
.bangb1 { width: 100%; background: #fff; }
.fixedTop {  position: fixed; z-index:99; top: 0;}
.fixedTop .logo { margin: 10px 0!important; }
.fixedTop .logo img { width: 80%; }
.fixedTop .ce_form ,
.fixedTop .mainnavi { margin-top: 0px!important; }
.fixedTop .mainnavi { width: 100%; left: 0; }

.fixedTop .searchbox { display: none!important; }

.devider { border-bottom: 1px solid rgba(255, 255, 255, 0.1); margin-top: 50px; margin: 30px 0;}

.grey { background: #ececec; }
.text-center .fa { margin:auto; }
.fa-white .fa { 
        width: 60px; 
        height: 60px; 
        color: #fff; 
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 2rem;
}
.fa-white .fa:before { text-indent:10px }

.fa-white .fa:hover { 
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
 }


.ContentStripe {padding: 50px 0; }
.ContentStripe .image_container { display:inline-block; margin-bottom: 20px;
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
}

.OutsideIn { padding: 4rem 0; }

.InsideOut h1, .InsideOut h2, .InsideOut h3, .InsideOut h4, .InsideOut p,
.InsideOut a { color: #fff; }

.OutsideIn p:hover {
-moz-transition: all .5s;
-webkit-transition: all .5s;
transition: all .5s;
 }

.InsideOut .image_container:hover { background: none!important; }

.footercontainer  { padding: 20px 0; ; }
.footersocials a {
        padding: 1px 5px 5px; margin: 0 5px;
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
}
p.footerIcons a:hover:after  { color: white; }


p.footerIcons a:after {
        color: white;
        background: none;
        display: inline-block;
        height: 30px;
        padding: 3px 7px;
        width: 30px;
        -moz-opacity: .5;
        -webkit-opacity: .5;
        opacity: .5;

        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
}

input.submit,
p.info a:hover,
p.more a:hover,
p.back a:hover { color: white; }

p.back a:before,
.ce_gallery a.cboxElement:before,
.slider-control a.slider-prev:before,
.slider-control a.slider-next:after,
.mod_newsreader p.info:before,
.topnavi li a:before,
.topnavi li span:before,
.quote:after ,
footer .mod_newslist time:before,
.reply p.info:before,
span.date:before,
span.time:before,
.mod_newslist p.info:before,
.mod_eventreader p.info:before,
p.footerIcons a:after,
.scrolltop a:after ,
footer .linkIcon a:before,
footer .linkIcon span:before,
footer a:before,
p.info a:before,
footer strong:before,

.ce_accordion .toggler:after
{        font-family: bootstrap-icons; padding-right: 5px;  }

.ce_accordion .toggler:hover:after {
        -moz-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        -webkit-transform: rotate(180deg);
}


p.info a:before {        content:"\f007";}
p.back a:before {        content:"\f053"; }
.ce_accordion .toggler:hover:after,
.ce_accordion .toggler.active:after
{ content:"\f282"}
.ce_accordion .toggler:after { content:"\f285"; float:right;}

footer .mod_navigation li a:before, footer strong:before,
footer .linkIcon a:before { content:"\f285"}

.ce_accordion .toggler:after,
.btn:before { padding: 0 5px 0 ; font-size: 14px;
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
}

.reply p.info:before {content:"\f112";}

span.time:before {content:"\f017";}


footer .mod_newslist time:before,
.mod_newsreader p.info:before,
.mod_newslist p.info:before,
.mod_eventreader p.info:before ,
span.date:before {content:"\f073";}

p.footerIcons  em { display: none; }
.footer-fb:after { content:"\F344"; }
.footer-tw:after { content:"\F5EF"; }
.footer-pi:after { content:"\F663"; }
.footer-db:after { content:"\F7ED"; }
.footer-ig:after { content:"\F437"; }
.footer-yt:after { content:"\F62B"; }

p.footerIcons a:hover:after {
        -moz-opacity: 1;
        -webkit-opacity: 1;
        opacity: 1;
}

.scrolltop a:after {content:"\F286"; display: block; text-indent:0; padding: 10px 20px; font-size: 25px; background: rgba(0,0,0,0.5); }
.scrolltop a:hover:after  { color:white; }

footer { margin-top: 50px; }

header .formbody { position: relative; }
.formbody { position: relative; }
.newsletter-bg .submit { position: absolute; right: 0px; height: 39px; bottom:0px }

.quote { padding: 20px; background: #e7e7e7; text-align:center; }
.quote:after { content:"\f10e"; font-size: 32px; margin: 10px 0 -10px; display: block; }
.quote-name { text-transform: uppercase; margin: 0; padding: 0; }


#main { padding-top: 50px; }
body.home #main { padding-top: 0; }

.topnavi ul { margin: 25px 0!important; padding: 0; }
.topnavi li a, .topnavi li span { text-transform: uppercase; font-size: 10px; float: left; margin-right: 10px; }

.topnavi li.login a:before,
.topnavi li.login span:before
{ content:"\f090"; font-size: 14px; }

.topnavi li.register a:before,
.topnavi li.register span:before
{ content:"\f007 "; font-size: 14px;}

.ce_gallery figure  {margin:0;}

image_container:hover .ce_gallery figure img {
-webkit-transform:scale(1);
transform:scale(1); }

image_container { overflow: hidden; }

.ce_gallery figure img { 
        -webkit-transform:scale(1.3);
        transform:scale(1.3);
        -webkit-transition: all 0.7s ease;
        transition: all 0.7s ease; 
}

a, span, img, figure
{
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
}


#kontakt-144 input, #kontakt-144 textarea { background: none; border: 1px solid #666; color: #e7e7e7 }
#kontakt-144 .fa { color: #666; }
.fa.pull-left { width: 55px; }

body.home footer { margin-top:0; }

.footersocials a:after {
  color: #787878;
  font-size: 18px;
}

#our-work li { width: 33.333%; float: left; }
#service em {
        -moz-border-radius: 50%;
        -webmit-border-radius: 50%;
        border-radius: 50%;

        width: 100px; height: 100px; line-height: 100px; text-indent: 15px;

        }

        figcaption { position:absolute; left:0; bottom:0; height:100%; background: none repeat scroll 0 0 rgba(255, 255, 255, 0.8); color: #2f2f2f; line-height: normal; font-family: 'Merriweather Sans Regular'; text-align:center; font-size: 15px; width: 100%; text-transform: uppercase; }

/* -- foter events + footer news -- */

footer h4 { color: white; font-size: 20px; font-family: 'Merriweather Sans Light';  }
footer .mod_navigation li a, footer .mod_navigation li span { color: #9e9f9f; }
footer a { color: #9e9f9f; }

footer { color: rgba(255, 255, 255, 0.5); }
footer .mod_newslist time,
footer .mod_eventlist span.date { text-transform: uppercase; font-size: 10px; line-height: normal; }

footer .mod_navigation li a,
footer .mod_navigation li span,
footer .mod_newslist > div,
footer .mod_eventlist > div { padding: 0 0 3px; margin: 0; display: inline-block; font-size: 14px; }

footer .mod_newslist a,
footer .mod_eventlist a
{ color: white; display: block ; }

.copyright { border-top: 1px dotted rgba(0, 0, 0, .4); padding-top: 10px }

.formbody label { font-family: 'Merriweather Sans Regular';  font-size: 12px; text-transform: uppercase; }

/*
.ce_gallery a.cboxElement { display: block; }
.ce_gallery a.cboxElement:before { position:absolute; top:0; width: 100%; height: 100%; background: rgba(255, 255, 255, .2); content:"\f00e "; text-align:center; display: block; padding-top: 100px; font-size: 50px; color: #fff; }
*/

.slider-Bg  h1, .slider-Bg  h2, .slider-Bg  h3, .slider-Bg  h4 {color: white;}

#service h2 { margin-top: 30px; }

#service em:hover { background: #00AE5F; transition: all 0.5s ease 0s; }

#projekte { overflow: hidden; }

#projekte .ce_image { float: left; width: 25%; }

#projekte .ce_image figure { border-radius: 0; }

#projekte .ce_image .caption::after { display: block; padding-top: 20px; }

#projekte .ce_image .caption { opacity: 0; }

#projekte .ce_image .caption:hover {
  background: none repeat scroll 0 0 rgba(250, 250, 250, 0.8);
  color: #2D2D2D;
  height: 100%;
  left: 0;
  padding-top: 50px;
  position: absolute;
  text-align: center;
  top: 0;
  transition: all 0.5s ease 0s;
  width: 100% !important;
  opacity: 1;
}

.formbody input.text { padding: 6px 10px; }

header .ce_form  input.text { background: none; font-size: 14px; text-shadow: 0 none;}

a.btn { position: relative;
 }

a.btn:after {
  display: block;
  height: 10px;
  left: 0;
  position: absolute;
  top: 0;
  width: 0%;

-moz-transition: all .5s;
-webkit-transition: all .5s;
transition: all .5s;
}

a.btn:hover:after {
  width: 100%;
}



.footersocials  { position: fixed; right: 34px; bottom: 100px; z-index:999; }
.footersocials  a { display: block; padding: 5px 5px 6px; margin: 1px 0;
-moz-transition: all .2s;
-webkit-transition: all .2s;
transition: all .2s;
}
.footersocials  a:hover:after { font-size: 25px; }


.mainnavi ul.level_1 > li > span:hover, .mainnavi ul.level_1 > li > a:hover { border-radius: 0; display: inline-block; }

.white-bg { background: white; overflow: hidden; padding: 44px 20px; box-shadow: 0 0 10px #aaa; }

.rightSlideNavi { position: fixed; top: 50%; right: 20px; z-index:999; background: rgba(0, 0, 0, .5); padding: 10px 6px 6px 10px;}
.rightSlideNavi ul { list-style-type: none; margin:0; padding:0; }
.rightSlideNavi ul li a em { font-size: 20px; }

.mainnavi > ul.level_1 > li.submenu > span:nth-last-child(2):after,
.mainnavi > ul.level_1 > li.submenu > a:nth-last-child(2):after {
        content:"\f107";
        margin-left: 5px;
        font-family: FontAwesome;
        font-size: 13px;
        line-height: 13px;
}

@media screen and (max-width: 767px) {
        .mainnavi > ul.level_1 > li.submenu > span:nth-last-child(2):after,
        .mainnavi > ul.level_1 > li.submenu > a:nth-last-child(2):after {
                content: "";
        }
        .mainnavi .level_1 span.aftrelink {
                display: none;
        }
}
.ce_accordion div{
   -moz-transition: none;
    -webkit-transition: none;
    -o-transition: color 0 ease-in;
    transition: none;
}

.flexible img { width: 100%; height:auto; }

.blockInner:hover .textInner {
    box-shadow: 0 0 1rem rgba(0,0,0, .1);
    top: -3.2rem;
}

.blockInner .textInner  {
    background: white;
    border-top: 3px solid #6AB509;
    margin: auto 2rem;
    box-shadow: 0 0 2rem rgba(0,0,0, .2);
    padding: 1rem;
    position: relative;
    top: -3rem;

    transition: .2s all;
}

/**** overlay navi ****/
body.noscroll { overflow: hidden; }
.button-menu { cursor:pointer;  }
.overlay-menu {
        display: none;
        position: fixed;
        left: 0;
        top: 0;
        background: white;
        width: 80%;
        height: 100vh;
        overflow-y: auto;
        padding: 1.5rem;
        color: #efefef;

}
.button-menu.button-close {
    display: inline-block;
    position: absolute;
    right: 2rem;
    font-size: 2rem;
    top: 1rem;
}
.overlay-menu .mobilenavi ul {
        margin: 0;
        padding: 0;
        list-style: none;
}
.overlay-menu .mobilenavi ul.level_2 {
    margin-left: 1rem;
}
em.bi.bi-list { font-size: 2rem; }
.mobilenavi a, .mobilenavi span { color: rgba(255, 255, 255, 0.6); }

.mobilenavi > ul.level_1 > li > span,
.mobilenavi > ul.level_1 > li > a {
    text-transform: uppercase;
}
.mobilenavi > ul.level_1 > li {
    margin-bottom: 1rem;
}

/*** improvements contao 5 */
a:hover { text-decoration:none; }
.img-responsive { 
  width:100%;
  max-width:100% ;
  height: auto;
}

.container-fluid {
    padding-left: 0;
    padding-right: 0;
}

.align-center .row { align-items:center; }



.flex-row {flex-direction: column!important; }

.bgStyle,
.banner-bg  { 
    width: 100%; 
}
.slider-control .slider-menu b { margin: 0 .4rem; }

.no-gutters .col, .no-gutters [class*=col-] {
    padding-right: 0;
    padding-left: 0;
}

/*---- downloads ---*/
.content-downloads ul { padding:0; list-style-type:none; }
.content-downloads li a {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.content-downloads  li a:before {
    content: "\F356";
    font-family: 'Bootstrap-Icons';
    font-size: 2rem;
    line-height: normal;
    display: block;
}

.mod_search .fa:before {
    content: "\F52A";
    font-family: 'Bootstrap-Icons';
}

.media.right-socials { flex-direction: column; }


table.calendar tbody tr > td {
    background: #e7e7e7;
    position: relative;
    height: 150px;
    width: 15%;
    vertical-align: top;
}
table.calendar tbody tr > td.today .header {
    font-weight: bold;
}
table.calendar .empty { background:white }
table.calendar .weekend { background:#efefef }

.events {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.mod_calendar .event a {
    text-align: left;
    padding: 5px;
    background: white;
    margin: 0.1rem 0;
    display: inline-block;
    font-size: .75rem;
}

.home .newsletter-bg h2 {    margin: 0; }
.home .newsletter-bg .widget { margin:0 }

.mainnavi.fixedTop {
    width: 100%;
}