:root {
  --color1: #ee1c25; /* rot */
  --color2: #2f2f2f;  /* grau */
}

@font-face {
        font-family: 'Raleway Bold';
        src: url('../fonts/Raleway-Bold.ttf')  format('truetype') ;
}

@font-face {
        font-family: 'Raleway Light';
        src: url('../fonts/Raleway-Light.ttf')  format('truetype') ;
}

@font-face {
        font-family: 'Raleway Regular';
        src: url('../fonts/Raleway-Regular.ttf')  format('truetype') ;
}

body { font-family: 'Raleway Light', sans-serif; color:#2f2f2f; font-size: 16px;}

#slider h1 { font-size: 50px; font-family: 'Raleway Bold', sans-serif; /*text-transform: uppercase;*/ }

h1 { font-size: 30px; margin: 0 0 20px ; padding: 0 0 10px 0; font-family: 'Raleway Bold', sans-serif; line-height: 1.2; /*text-transform: uppercase;*/ }
h2 { font-size: 18px; margin: 0 0 10px ; padding: 0 0 10px 0; text-transform: none; font-family: 'Raleway Bold', sans-serif; /*text-transform: uppercase;*/ }
h3 { font-size: 16px; margin: 0 0 10px ; padding: 0 0 10px 0; font-family: 'Raleway Bold', sans-serif; }
h4 { font-size: 14px; font-family: 'Raleway Bold', sans-serif; margin: 0 0 10px 0; padding: 0 0 10px 0;line-height: 1.3; }

.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: 'Raleway Regular'; color: #353535; font-size: 14px; /*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;  }

.content-slider a.btn { padding: 15px 20px; font-size: 16px; font-family: 'Raleway Regular';  }
.content-slider h1 {
  font-size: 50px;
  font-family: 'Raleway Bold';
  /*text-transform: uppercase;*/
}
.content-slider p {
  color: #fff;
  font-size: 16px;
}

.slider-control a, .slider-control .slider-menu { color: #fff; }



#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 { position: relative; }
.mainnavi .level_1 { text-align:center; }
.mainnavi .level_1 a, .mainnavi .level_1 strong {
    display: flex;
    padding: 6px 20px;
    color: #2F2F2F;
    /*text-transform: uppercase;*/
    font-family: 'Raleway Bold';
    align-items: center;
}
#footer input, #footer textarea { background: #222222; border-color: #000; border: 0 none; color: rgba(255,255,255,0.6);
-moz-transition: background .5s;
-webkit-transition: background .5s;
transition: background .5s;
}
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; }

#footer h3 { color: #494949; border-bottom: 1px solid #222222; padding-bottom: 10px; }

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; }

p.more, p.back {display: inline-block; background: #e7e7e7; font-size: 14px; margin-top: 10px; }
.mod_eventlist div.header a, p.more a, p.back a, p.info a { color: #353535; display: inline-block; padding: 3px 10px; font-size: 11px; }
.mod_eventlist div.header, p.info {padding: 0 0 5px; font-size: 14px; display: 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; float: left; padding: 10px; margin: 0 1px;}

input.text, textarea, select { }
input.text:active, textarea, select:active  {  }
input.text:focus, textarea, select:focus  { }

footer .footercontainer, footer .footercontainer  .container  { background: #2F2F2F; margin-bottom:0!important; }

.footercontainer {
    padding: 20px 0;
}

/* ========================== */
#slider h3 { /*text-transform: uppercase;*/ margin: 0!important; padding: 0; }
#slider p { color: #fff; font-size: 16px; }
.bangb1 { width: 100%; background: #fff; border-bottom: 1px solid rgba(0, 0, 0, 0.1); padding: 20px 0; }
.fixedTop {  position: fixed; z-index:99; top: 0;}
.fixedTop .logo { margin: 10px 0!important; }
/*.fixedTop .logo img { width: 70%; } */
.fixedTop .ce_form ,
.fixedTop .mainnavi { margin-top: 10px!important; }

.devider { border-bottom: 1px solid #ccc; padding-bottom: 50px; margin-bottom: 50px; }


.ContentStripe {padding: 50px 0; }
.ContentStripe .image_container { display:inline-block; margin-bottom: 20px;
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
}

.InsideOut,
.OutsideIn { padding: 80px 0; }

.OutsideIn h1, .OutsideIn h2, .OutsideIn h3 { color: #fff; }

.InsideOut  h1, .InsideOut  h2, .InsideOut  h3 { /*text-transform: uppercase;*/ font-family: 'Raleway Regular';   }
.InsideOut .image_container:hover { background: none!important; }


ul.level_2 a.trail,
ul.level_2 strong.forward,
ul.level_2 strong.active
{ color: white!important; }

.footersocials  { 
        position: fixed; 
        padding: 0;
        width: 40px; 
        right: 34px; bottom: 100px; 
        z-index:999; 
        background: rgba(255, 255, 255, .7); 
}
.footersocials p {margin: 0}

.footersocials a {
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
        display: block;
        margin: .5rem 0;
}


.footersocials a:hover  { background: none!important; }


p.footerIcons a:after {
        -moz-opacity: .5;
        -webkit-opacity: .5;
        opacity: .5;

        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
}

p.footerIcons a:after   { font-size: 18px; padding-right: 0!important }

input.submit { padding: 5px 10px; }
input.submit,
p.info a:hover,
p.more a:hover,
p.back a:hover { color: white; }

.content-slider a.btn:before,
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 strong: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,

.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:"\f073";}
p.back a:before { content:"\f053"; }
.ce_accordion .toggler:hover:after,
.ce_accordion .toggler.active:after
{ content:"\F279"}
.ce_accordion .toggler:after { content:"\F27B"; float:right;}

.ce_accordion .toggler:after,
.btn:before { 
        padding: 0 5px 0 ; font-size: 14px;
        -moz-transition: all .5s;
        -webkit-transition: all .5s;
        transition: all .5s;
}
 /*
.content-slider a.btn:before {
  bottom: 10px;
  content: "\f103";
  display: block;
  font-size: 20px;
  left: 42%;
  line-height: 12px;
  position: absolute;
}  */

.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:"\F1E2";}

p.footerIcons  em { display: none; }

.footer-fb:after {
  content: "\F344";
}

.footer-tw:after {
  content: "\F5EF";
}

.footer-pi:after {
  content: "\F663";
}

.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:"\F115"; display: block; text-indent:0; padding: 10px 20px; font-size: 25px;}
.scrolltop a:hover:after  { color:white; }

footer { margin-top: 50px; }

.formbody { position: relative; }
input.submit { position: ; right: 0px; height: 33px; 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; }
.quote-position { }

.mainnavi ul.level_1 > .active, .mainnavi ul.level_1 > .trail, .mainnavi ul.level_1 > .forward { background: white; }

#main { padding-top: 50px; }
body.home #main { padding-top: 0; }

.topnavi ul { margin: 25px 0!important; padding: 0; }
.topnavi li a, .topnavi li strong { /*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  { line-height:0;}
.ce_gallery figure img:hover {
        -webkit-transform: scale(1.1);
        -moz-transform: scale(1.1);
        -ms-transform: scale(1.1);
        -o-transform: scale(1.1);
        transform: scale(1.1);
}
ul.ce_gallery {
    padding: 0;
}


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;
}

.white-hover figure figcaption {
    opacity: 0; 
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    /*text-transform: uppercase;*/
    font-family: 'Raleway Bold';
    background: rgba(255, 255, 255, .1);
    pointer-events: none;
    transition: all .2s;
    transform: scale(1.2);
}

.white-hover figure:hover figcaption { 
        transform: scale(1.0);
        opacity: 1;
        background: rgba(255, 255, 255, .9); 
}
 
/* -- foter events + footer news -- */ 
footer h4 { /*text-transform: uppercase;*/ padding: 0; margin: 20px 0; }
footer .mod_navigation li a, footer .mod_navigation li strong { color: white; }

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 strong,
footer .mod_newslist > div,
footer .mod_eventlist > div { padding: 0 0 5px; margin: 0 0 5px; border-bottom: 1px dotted rgba(255, 255, 255, .1); display: block; }

footer .mod_navigation li strong { color: white; font-family: 'Raleway Regular';  }

footer .mod_newslist a,
footer .mod_eventlist a
{ color: white; display: block ; }

.copyright { border-top: 1px dotted rgba(255, 255, 255, .1); padding-top: 12px; margin-top: 20px; }
.formbody label { font-size: 12px; /*text-transform: uppercase;*/ }



.slider-Bg  h1 {color: white;}
.slider-Bg {  text-shadow: 0 0 2px rgba(0, 0, 0, .5); }


#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; }
.white-hover .image_container:hover figcaption {
  background: rgba(255, 255, 255, 0.8) none repeat scroll 0 0;
  bottom: 0;
  color: #2f2f2f;
  font-size: 15px;
  height: 100%;
  line-height: normal;
  opacity: 1;
  position: absolute;
  /*text-transform: uppercase;*/
  width: 100%;
  padding: 95px 43px;
  -moz-transition: all .2s;
        -webkit-transition: all .2s;
        transition: all .2s;
}

.formbody input.text { padding: 7px 10px; color: rgba(0,0,0,0.6); }

header .ce_form  input.text {border: 0 none; background: rgba(0, 0, 0, .1); font-size: 11px; text-shadow: 0 none;}

a.btn, .submit { position: relative; }

a.btn:after {
  border-top: 3px solid rgba(0, 0, 0, 0.3) !important;
  content: "";
  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%;
}

.mod_subscribe .submit {
  position: absolute;
  right: 0;
  top: 0;
}



#slider a.btn { padding-bottom: 25px; }
#slider a.btn:before { content:"\f103 "; font-size: 20px; display: block; line-height: 12px; position: absolute; left: 42%; bottom: 8px; }
#slider a.btn:hover:before { bottom: 6px; }

.mainnavi > ul.level_1 > li.submenu > span:nth-last-child(2):after,
.mainnavi > ul.level_1 > li.submenu > a:nth-last-child(2):after {
        display: inline-block;
        content: "\F279";
        margin-left: 8px;
        font-family: 'bootstrap-icons';
        font-size: 14px;
}

@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;
        }
}

.bgStyle h1 {color: white; text-shadow: 0 0 5px #666; }
.bgStyle {
  background-size: cover;
  padding: 10% 0;
  background-position: center;
}
.overflow { overflow: hidden; }

#header .mainnavi ul.level_2 li a { font-family: 'Raleway Regular'; }

.footercontainer a.btn, .footercontainer .submit { padding: 8px 12px; }

.mod_eventlist div.header a, p.more a, p.back a, p.info a a.btn {
  color: white;
  padding: 10px 15px;
   border: 0 none;
  border-radius: 0;
  color: #353535;
  font-size: 12px;
  font-family: 'Raleway Regular';
  padding: 0;
  /*text-transform: uppercase;*/
  transition: all 0.5s ease 0s;
  padding: 8px 12px;
}

.mod_eventlist h2, .mod_newslist h2 { margin: .5rem 0; min-height:40px }

.ce_accordion div{
   -moz-transition: none;
    -webkit-transition: none;
    -o-transition: color 0 ease-in;
    transition: none;
}

.p6 { padding-top: 10px; }

footer a { color: #fff; }


/*** improvements contao 5 */
a { text-decoration:none; }
figure { margin:0 }
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';
}

/** align left-right **/
.media.media--left .blockInner,
.media.media--right .blockInner { display:flex; gap:1rem }

.media.media--left .blockInner  { flex-direction: row;}
.media.media--right .blockInner { flex-direction: row-reverse; }
.media.media--above .blockInner { flex-direction: column; }
.media.media--below .blockInner { flex-direction: column-reverse; }


.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 {
    padding: 5px;
    background: white;
    margin: 0.1rem 0;
    font-size: .75rem;
}

/***************/

.checklist em { font-size:2rem }
.checklist h3 { display:flex; align-items:center; }
form.search .formbody { display: flex;    align-items: stretch;}
form.search .widget { margin: 0;}
form.search button { height: 100%; padding: 0 .6rem;}


#header .mod_navigation ul.level_1  {
        display: flex; flex-wrap: wrap;
}

.content-text h2 { margin:1rem 0 .5rem } 