*, *::after, *::before {
    box-sizing: border-box;
    margin:0;
    padding:0;
}

body{
  font-family: 'Ropa Sans', sans-serif;
  color:#525f6c;
  font-weight:400;
  font-size:28px;
}

a{
  color:fff;
  text-decoration:none;
}

a:hover{
  
}

p{
  margin-bottom:5px;
}

h1{    
    font-size: 110px;
    font-style: italic;
    letter-spacing: 0.035em;
    line-height: 1.2em;
    margin-bottom:10px;
}

.ta_center{
  text-align:center;
}

.italic_gross{
  font-style:italic;
  font-size:36px;
}

.red_button {
    background: #c8102e none repeat scroll 0 0;
    border-radius: 4px;
    margin: 30px auto;
    width: 200px;
    cursor:pointer;
}

.red_button a{
  color:#fff;
}

.no_mg{
  margin:0!important;
}          

.ta_center.bg_startslider{
    background:url("../bilder/platzhalter_2.jpg");
    padding:420px 20px;
    color:#fff;
}
.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

.inner_container{
  width:100%;
  max-width:1380px;
  padding-left:20px;
  padding-right:20px;
  margin:0 auto;
}

.mw_760{
  max-width:760px;
  margin:0 auto;
}

.fl_right{
  float:right;
}

.fl_left{
  float:left;
}


ul.auflistung {
    padding-left: 27px;
}


/* menu */
#upper_menu{
  position:fixed;
  width:100%;
  background:#fff;
  z-index:90;
  color:#fff;
}

#menu_leistungen{
  cursor:pointer;
}

#menu_leistungen:hover{
  color:#651d28;
}                  


#menu_icon_open{
  cursor:pointer;
  width:51px;
  font-size:16px;
  color:#525f6c;
  float:left;     
  margin-top:92px;
}
#menu_icon img{width:100%}

#menu_logo{
  float:right;
  margin-top:60px;
  margin-bottom:35px;
}

#menu_logo img{
  height:105px;
}

.mobile_show{
  display:none;
}


#menu_hidden{
  background:#c8102e;
  position:absolute;
  width:100%;
  top:-550px;
  transition: top 1s;
}

#menu_hidden.active{
  top:0;
}

#menu_logo_center{
  width:105px;
  position:absolute;
  left:50%;
  transform:translateX(-52px);
  top:72px;
}

#menu_icon_close, #submenu_leistungen_close{    
  cursor:pointer;
  font-size:16px;
  float:left;     
  margin-top:92px;
  width:110px;
  color:#fff;
  margin-bottom:140px;
}

#submenu_leistungen_links > div {
    padding-right: 5px;
}

#menu_icon_close img{            
  height:31px;
  width:31px;
}

#menu_hidden  #submenu_leistungen_close img{
  height:21px;
  width:21px;
}

#submenu_leistungen_close  {
    left: 20px;
    position: absolute;
    top: -52px;
 }

#navigation {
    display: flex;
    margin-bottom: 185px;
    position: relative;
    width: 100%;
    justify-content:space-between;
}       

#navigation a{
  color:#fff;
}

#navigation a:hover{
  color:#651d28;
}                  

#submenu_leistungen{
  display:none;
  position:relative;
  bottom:130px;          
  width: 100%;
  justify-content:space-between;
  font-size:20px;
}       

#submenu_leistungen.active{
  display:flex;
}



#submenu_leistungen a{
  color:#fff;
}        

#submenu_leistungen a:hover{
  color:#651d28;
}                

#submenu_leistungen_links {
    display: flex;
    justify-content: space-between;
    width: 100%;
    flex-wrap:wrap;
}  

#page_up {
    background: #651d28 none repeat scroll 0 0;
    border-radius: 5px 0 0 5px;
    cursor: pointer;
    float: right;
    height: 28px;
    margin-bottom: 20px;
    padding: 8px 2px 1px 4px;
    position: relative;
    right: 0;
    width: 22px;
}

#page_up > img {
    vertical-align: top;
}



/* end menu */

.page_content{
  padding-top:202px;
  width:100%;
  overflow:hidden;
}

.page_content > div{
  position:relative;
}

#kontakt_link{
   background: #c8102e none repeat scroll 0 0;
    border-radius: 8px 8px 0 0;
    cursor: pointer;
    padding: 9px 53px 17px;
    position: absolute;
    right: -74px;
    top: 140px;
    transform: rotate(-90deg);
    z-index: 10;
}

#kontakt_link.kontakt_index{
  top:322px;
}


#kontakt_link a{
  color:#fff;
}
.hidden_bg > img{
  width:100%;
}

.hidden_bg .real_content{
  position:absolute;
  width:100%;
  color:#fff;
  line-height:1.2em;
  vertical-align:center;
  top: 50%;
  transform: translateY(-50%);
} 


/* slider */

.slider {
  position:relative;
}

.slider > div.hidden_bg{
  opacity:0;
  transition: opacity 1s;
}
.slider > div.hidden_bg.active{
  opacity:1;
}



/* footer */
#page_footer{
  margin-top:8px;
  background:#c8102e;
  padding:60px 0;
  color:#fff;
  font-size:18px;
  display:table;
  width:100%;
}


#page_footer .fl_left{
  padding-right:130px;
}

#page_footer .ueberschrift{
  font-size:28px;
  font-style:italic;
  margin-bottom:18px;
}

#page_footer a{
  color:#651d27;
}
#page_footer a:hover{
  color:#fff;
}

#page_footer img{
  height:106px;
  margin-right:20px;           
  vertical-align:top;
}

#page_footer img.mh_65{
  max-height:65px;
  margin-top:4px!important;
}

#page_footer .italic_gross{
  line-height:1em;
}

#footer_white{
  width:100%;
  padding: 16px 0;
  font-size:18px;
  margin-bottom:20px;
}

#footer_white a{
  color:#53606d;
}

#footer_white > div > div{
  float:right;
  margin-left:35px;
  
}

/* Allgemein */
.einleitung_wrapper{
  text-align:center;
  
}                   
.einleitung_wrapper h1{
  color:#c8102e;
  font-size:80px;      
  margin-top:55px;
}
       
.einleitungstext{
  font-size:32px;
  color:#852633;
  line-height:1.2em;
  margin-bottom:60px;    
  line-height:1.2em;
}       

.cont_50pct{
  width:50%;
  margin-bottom:50px;
  float:left;
  line-height:1.2em;
}

.cont_50pct img{
  width:100%;
}

.cont_50pct.div_right{
  padding-left:20px;
}
.cont_50pct.div_left{
  padding-right:20px;
}

.container_even .cont_50pct{
  float:right;
}


.container_even .cont_50pct.div_right{
  padding-right:20px;
}
.container_even .cont_50pct.div_left{
  padding-left:20px;
}

.cont_60pct{
  width:60%;
  margin-bottom:50px;
  float:left;     
  line-height:1.2em;
}

.cont_40pct{     
  width:40%;
  margin-bottom:50px;
  float:left;     
  line-height:1.2em;
}

.cont_40pct.div_right{
  padding-left:20px;
}
.cont_60pct.div_left{
  padding-right:20px;
}

.spacer_bottom{
  height:270px;
}

.font_red{
  color: #c8102e;
}


.font_italic{font-style:italic;}

a.dark_red{
   color:#525f6c;
}

a.dark_red:hover{
   color:#651d27;
}

.text_center{
  text-align:center;        
  line-height:1.2em;
}

/* KONTAKT */



.kontakt_label{
  float:left;
  width:144px;
  color:#c8102e;
  padding-top:7px;
  font-size:28px;
  font-weight:600;
}

.kontakt_input{
  float:left;
  width:calc(100% - 144px);
  margin-bottom:10px;
}
    
.kontakt_input input, .kontakt_input textarea{
  width:100%;
  border:1px solid #525f6c;
  color:#525f6c;
  margin-top:6px;
  height:32px;
  font-size:28px;
  padding:0 5px;
  font-family: "Ropa Sans",sans-serif;
}     

.kontakt_input textarea{height:140px;}

.kontakt_form_wrapper_right h2 {
    margin-bottom: 25px;
}

.kontakt_form_wrapper_right h2.second {
    margin-top: 60px;
}

.kontakt_btn_wrapper{
    margin-left:144px;
}

.kontakt_btn{    
    background: #c8102e none repeat scroll 0 0;
    color: #fff;
    cursor: pointer;
    float: left;
    font-size: 24px;
    font-weight: 600;
    height: 35px;
    letter-spacing: 0.08em;
    margin-right: 25px;     
    margin-top:50px;
    padding-top: 5px;
    text-align: center;
    text-transform: uppercase;
    width: 200px;
    line-height:1em;
}

/* #################################################################################### */
                           
@media( max-width: 1280px ){

    #kontakt_link{top:95px;}

    #page_footer .fl_left {
        padding-right: 8%;
    }
      
    #page_footer .fl_right {
        float: left;
    }
}

@media( max-width: 1024px ){
    .ta_center.bg_startslider {
        padding: 120px 20px;
    }
}
                        
/* #################################################################################### */
                   
@media( max-width: 900px ){

  #page_footer{
    padding: 4px 0 33px;
  }
  
  #navigation a, #menu_leistungen {
     font-size:28px;
  }
  
  #page_footer .fl_left {
   padding:0!important;
   width:100%;
   font-size:9px;
  }
  
    #page_footer img {
        height: 53px;
        margin-right: 6px;
    }
    
    #page_footer img.mh_65 {
        margin-top: 0;
        max-height: 30px;
    }
  
  #page_footer .ueberschrift{
    font-size:16px;
    margin-bottom:5px;
    margin-top:26px;
  }
  
  #page_footer .italic_gross {
    font-size: 21px;
  }
  
  
  body{
    font-size:12px;
  }

  h1 {
    font-size: 40px;
  }
  
  .hidden_bg .real_content{
    padding:0 20px;
  }
  
  .ta_center.bg_startslider {
    padding: 40px 20px;
    }
    
    .red_button{
        padding: 3px;
        width: 97px;
    }

    .cont_50pct, .cont_60pct, .cont_40pct{                 
	font-size:15px;
	line-height:1.3em;
  }
  .cont_50pct h2, .cont_60pct h2, .cont_40pct h2{
  	line-height:1.5em;
  }

  #kontakt_link{
    right:-38px;       
    padding: 9px 25px 17px;
    top:40px;
  }
 #kontakt_link.kontakt_index { 
  top: 246px;
  }
}

/* #################################################################################### */

@media( max-width: 600px ){



#menu_icon_close_mobile{font-size:8px;}

#kontakt_link_mobile {
    background: #c8102e none repeat scroll 0 0;
    border-radius: 5px;
    cursor: pointer;
    display: block;
    padding: 9px 15px 4px 5px;
    position: absolute;
    right: -11px;
    top: 14px;
    z-index: 10;
}

#kontakt_link_mobile.kontakt_index{
    top:140px;
}

ul.auflistung {
    padding-left: 12px;
}
    
  .mobile_show {
      display: block;
  }

  #submenu_leistungen_links {
    display: block;
    }
    
    #submenu_leistungen_links > div {
        padding-right: 0px;
    }
    
  #menu_logo{
    margin-top:6px;
    margin-bottom:16px;
  }

  #menu_logo img{
    height: 60px;
  }
  #menu_icon_open {
    width:25px;
    margin-top:30px;
  }
  
  #menu_icon_close {
    margin-top:30px;
    font-size: 8px;
  }
  
  #menu_logo_center {
    top: 15px;
    transform: translateX(-26px);
    width: 52px;
}

  #navigation {
    display: inline-block;
    position:relative;
    top:0;                    
    transform:translateY(-100px);
    }    
    
    
 
  #navigation div{
    text-align:center;
    padding-bottom:20px;
  }
 
   #navigation a, #menu_leistungen {
      font-size:24px;
   } 
   
  #menu_hidden{
    top:-650px;
  } 
   
  #menu_hidden #menu_icon_close img {
    width:20px;
    height:20px;
  }
  
#submenu_leistungen {
    background: #651d28 none repeat scroll 0 0;
    display: block;
    height: 100%;
    left: -600px;
    position: absolute;
    top: 0;
    z-index: 20;           
    transition: left 1s;
}

#submenu_leistungen.active{   
    left: 0px;

}

#submenu_leistungen_logo {
    left: 50%;
    position: absolute;
    transform: translateX(-26px);
}

#submenu_leistungen #menu_icon_close{
  margin-left:20px;
}

#submenu_leistungen_ueberschrift{    
    color: #c8102e;
    font-size: 28px;
    position: absolute;
    width:100%;
    text-align: center;
    top: 116px;
}

#submenu_leistungen_logo > img {
    height: 52px;
    width: 52px;
    margin-top:17px;
}

#submenu_leistungen_links {
    line-height: 2em;
    margin: 0;
    padding: 0;
    position: absolute;
    text-align: center;
    top: 154px;
    width: 100%;
    font-size:18px;
}
  
#submenu_leistungen_links a:hover{
    color: #c8102e;
}  
  .page_content {
    padding-top: 82px;
  }
  
  #kontakt_link{
    display:none;
  }
  
  .einleitungstext {
    font-size:16px;
    margin-bottom:45px;
  }
  
  .einleitung_wrapper h1 {
    font-size:33px;
  }
  
  .spacer_bottom {
    height: 13px;
  }
  
  .cont_50pct, .cont_60pct, .cont_40pct{
    width:100%;
    float:inherit;
    padding:0!important;
    margin-bottom:33px;
	
  }
  

  
  .kontakt_label{
    font-size:18px;
    width:86px;
    padding-top:11px;
  }
  
  .kontakt_input {
    width: calc(100% - 86px);
}

.kontakt_input input, .kontakt_input textarea {
  font-size:18px;
}

.kontakt_btn_wrapper {
    margin: 0;
    padding-left: 86px;
    width: 100%;
}

.kontakt_btn {
    float: right;
    font-size: 18px;
    height: inherit;
    margin: 14px 0 0;
    padding: 5px;
    width: 100%;
}

  #page_footer{
    padding: 4px 0 33px;
  }
  
  #page_footer .fl_left {
   padding:0!important;
   width:100%;
   font-size:9px;
  }
  
  #page_footer .fl_right {
    float: left;
    margin-top:10px;
}
  
  #page_footer .ueberschrift{
    font-size:16px;
    margin-bottom:5px;
    margin-top:26px;
  }
  
  #page_footer .italic_gross {
    font-size: 21px;
  }
  

  #footer_white {
    font-size: 9px;
  }
  #footer_white > div > div {
    margin-left: 20px;
  }

}
