/* =============================================================================
   Login Formular
   ========================================================================== */   
  .form-signin{max-width:380px;  padding:15px;  margin:0 auto;}
  .form-signin .form-signin-heading, .form-signin .checkbox{margin-bottom:10px;}
  .form-signin .checkbox{font-weight:normal;}
  .form-signin .form-control{position:relative;  font-size:16px;  height:auto;  padding:10px;  -webkit-box-sizing:border-box;     -moz-box-sizing:border-box;          box-sizing:border-box;}
  .form-signin .form-control:focus{z-index:2;}
  .form-signin input[type="text"]{margin-bottom:-1px;  border-bottom-left-radius:0;  border-bottom-right-radius:0;}
  .form-signin input[type="password"]{margin-bottom:10px;  border-top-left-radius:0;  border-top-right-radius:0;}
  

/* =============================================================================
   Standards
   ========================================================================== */   
  iframe { width: 100% !important; }           
  *:focus, a:focus { border: 0; outline: none; }              
    
  body{ background: #F0F0F0; color: #333; font-size: 14px; }
  #wrap { width: 100%; max-width: 980px; background: #fff; margin: 0 auto 10px auto; box-shadow: 0px 0px 30px 10px rgba(0,0,0,0.4); overflow: hidden;  }
  .container { width: 100%; max-width: 100%; }           
  footer > .container { width: 100%; max-width: 980px; margin: 0 auto; background: transparent; padding: 5px; }   

/* =============================================================================
   Font Styles
   ========================================================================== */   
    
    body, input, button, select, textarea { font-family:  'Open Sans', sans-serif; font-weight: 400; }
    h1, h2, h3 { font-family: 'Open Sans', sans-serif; font-weight: bold;  }            
    b, strong { font-weight: 600; }               
    .small { font-size: 0.8em; font-weight: 300; } 
    
    
    a, a:link, a:visited, a:active { color: #808080; }   
    a:hover { color: #000; text-decoration: none; } 
    #main a, #main a:link, #main a:visited, #main a:active { color: #808080; }  
    #main a:hover { color: #000; text-decoration: none; }  
    
    h1 { font-size: 2em; margin: 20px 0 40px 0; padding: 0; line-height: 1.1em; color: #333; font-weight: normal; }    
    h2 { font-size: 1.1em; margin: 20px 0 10px; padding: 0; line-height: 1.1em; color: #333; }       
    h3 { font-size: 1em; margin: 20px 0 10px; padding: 0; line-height: 1.1em; color: #333; }     
    
    #main a.btn-info, #main a.btn-info:link, #main a.btn-info:visited, #main a.btn-info:hover { color: #fff;}
    .btn-info { background: #333; border-color: #333; }
    .btn-info:hover { background: #000; border-color: #000; }    
                              
/* =============================================================================
   Navbar Styles
   ========================================================================== */   
   html, body { min-height: 100%; }       
   html { overflow-y: scroll; }
   #wrap { min-height: 90%; position: relative; padding-bottom: 60px; }
   #navi { width: 28%; padding: 0 30px 0 0; float: left; }  
   #main { width: 72%; padding: 0 50px 0 20px; float: left; }
   
   header { margin-bottom: 30px; }                                                                                       
   #navi ul { margin-top: 20px; }    
   #navi ul li a { font-size: 1.1em; padding: 6px 0 6px 30px; margin: 0 0 15px 0; font-weight: 400; text-transform: none; color: #808080; background: #fff; box-shadow: 0px 6px 8px 2px rgba(0,0,0,0.2); border: 0; border-radius: 0; }    
   #navi ul li a:hover { background: #fff; color: #CC0000; box-shadow: 0px 6px 8px 2px rgba(0,0,0,0.4);  }
   #navi ul li.active a { background: #fff; color: #CC0000; font-weight: 600;  }
   
   #terminabsprache { padding: 30px; font-size: 0.9em; }      
   #terminabsprache strong { font-size: 1.5em; }
   #terminabsprache a:link { color: #000 !important; }
   
   
   footer { text-align: center; position: relative; padding: 0; }  
   footer, footer span, footer a, footer a:hover, footer a:link, footer a:visited, footer a:active { color: #000; font-size: 10px; }  
   footer a { display: inline-block; padding: 0 0 0 0; text-transform: none; }   
   
   .logo { position: relative; width: 45%; float: left; padding: 25px 30px; }
   .slogan { position: relative; width: 45%; float: right; padding: 5px 10px; }
   .logo img, .slogan img { max-width: 100%; height: auto; }
   .trennlinie { width: 100%; clear: both; border-bottom: 2px dotted #CC0000; }
   
                              
/* =============================================================================
   Allgemeine Module
   ========================================================================== */     
   
   img.einzelbild, .textitem, .bilditem, .tableitem, .panel-default  { margin: 1.5em 0 2.5em 0;}    
   .textitem img, .bilditem img, .panel-default .pull-right img { max-width: 100%; }   
   .textitem .einzelbild { max-width: 45%; float: right; margin: 0 0 2em 2em; } 
   .panel-default .pull-right { max-width: 33%; } 
   .bilditem { text-align: left; }  
   .bilditem .imgdesc { font-size: 0.8em; }  
   
    .galerie  { margin-right: 0;}                                                                       
    .galerie a.firstbig { display: block; float: left; width: 63.0%; border: 0; margin: 0 0 0.78% 0; padding: 0;}  
    .galerie a { display: block; float: left; width: 18.5%; border: 0; margin: 0 0 0.78% 0; padding: 0 0 0 0.78%;}  
    .galerie a img { width: 100%; border: 0; margin: 0; padding: 0;}    
    
    .panel-default > .panel-heading { color: #fff; background-color: #333; border-radius: 0; }  
    .panel-default { border-color: #333; border-radius: 0; }  
    .panel-default > .panel-heading h3 { }      
    #main .panel-default > .panel-heading h3 a { color: #fff; display: block; text-decoration: none; }    
    #main .panel-default > .panel-heading h3 a:hover { color: #eee; }  
    
    .panel { border: 0; box-shadow: none; }
    .panel-body { padding: 0; }
    .panel-body .media .pull-left { width: 20%; margin: 0 20px 20px 0; }
    .panel-body .media .pull-left img { width: 100%; height: auto; }   
    .media-body h3 { margin-top: 0; }
    
    .table ul, .table ul li { padding-left: 0.5em; margin-left: 0.5em; }  
    
   
     #main ul, #main ul li { margin-left: 0; padding-left: 0; list-style: none; }  
     xx#main ul li { padding-left: 1.4em; padding-bottom: 6px; }
     xx#main ul li:before { display: inline-block; font-family:"Glyphicons Halflings"; content: "\e258"; color: #333; width: 1.3em; margin-left: -1.75em; font-size: 0.8em; }
     
     #main ul li { padding-left: 20px; padding-bottom: 6px; background: url('../files/check_icon.svg') 0px 2px no-repeat transparent; background-size: 15px auto; }   
     #main ul li ul { list-style: circle; padding: 8px 0; }                                                                                                                              
     #main ul li ul li { list-style: circle; margin-left: 25px; padding: 0; background: transparent; }
     
     
     #main ul.download li:before { display: none; }   
     #main ul.download li a { display: block; }     
     #main ul.download li a span { font-size: 1.8em; color: #999; }
     
     
    
/* =============================================================================
   Form Styles 
   ========================================================================== */    
      
    .formgen{font-size:1em;padding: 1em 0; margin: 30px 0; }
    label, select, input[type=checkbox], input[type=radio], input[type=button], input[type=submit]{cursor:pointer; }
    .formgen form{line-height:120%; }
    .formgen .formblock{margin-bottom:15px;margin-top:10px;padding-top:3px;padding-bottom:3px;padding-right:2px;padding-left:5px; }
    .forminfo{width: 100%;margin: 1em 0; padding: 6px 15px; background-color: #fb0909; border-radius: 4px; color: #fff; font-weight:bold; border: 0; }
    .formhinweis { padding: 0.5em 0; margin: 0.5em 0; border-top: 0; border-bottom: 0; text-align: right; font-size: 0.8em; }
    #form-module-thanks { border: 0; padding: 6px 1em; background: #A5B837; color: #fff;  border-radius: 0;}
    .formgen br{clear:both;}  
    .formgen .formnote { width:75%; text-align:left; float:right; margin: 1em 0; padding: 0; border: 0; font-size: 0.9em; }                                                                               
    
    .formgen .formtextfield, .formgen .formtext, .formgen .formselect, .formgen input[type="file"] {display: block; padding: 4px 5px; margin: 0 0 8px 0; background-color:#eee; color:#000; border: 0; float:right; width: 75%;  border-radius: 4px; box-shadow: none; }   
    .formgen .formselect { border-radius: 4px 0 0 4px; }
    .formgen input[type="file"], .formgen input[type="file"]:hover, .formgen input[type="file"]:focus {background-color: #eee; border-radius: 4px; color:#666; border: 0; float:right; width: 75%;}   
    .formgen div.formtext {background-color: transparent; color:#000; border: 0; font-size: 0.9em; }       
    .formgen .formselect{ padding: 2px 2px 2px 0; width: 35%; margin-right: 40%; }                                            
    .formgen textarea { height: 5em;}
    .formgen input:focus,.formgen input:hover, .formgen select:focus,.formgen select:hover,.formgen textarea:focus,.formgen textarea:hover{ background-color:#ddd;}
    .formgen label{width: 23%;clear:left;float:left; height: auto; padding: 2px 0; margin: 0; font-weight: 400;color:#333; border-bottom: 0;}  
    span.checkspan { margin-left: 30%; }                                                                                                                        
    .formgen .checkspan input {width: auto;clear:left;float:left; }   
    .formgen .checkspan label {width: 93%;clear:left;float:right; height: auto; padding: 2px 0; margin: 0; font-weight: 400; color:#000; border-bottom: 0;}                          
    .formgen input.formradio {margin-left: 170px; width: 20px; margin-top: 2px; }
    .formgen label.formradio {width:100%;clear:right;float:right; height: auto; padding: 0 0 2px 0; margin: 0; font-weight:normal;color:#000; border-bottom: 0;}
    /* Sende-Button */
    .formgen .formsubmit {width:75%; text-align:center; float:right; margin: 0 0 0 25%; margin-right: 0; padding: 8px; border: 0; border-radius: 4px; font-weight: bold; font-size: 1.1em; color: #fff; background: #333; text-transform: uppercase; }  
    .formgen .formsubmit:hover { color: #fff; background: #000;}
    /* Fieldsetbeschriftung */
    .formgen legend { border: 0; width: auto; padding: 0 10px; font-size: 1.1em; font-weight: 600; }
    .formgen .fieldset{margin-bottom: 30px; border: 1px solid #ddd; padding: 15px; border-radius: 4px; }
    /* -------------- AUSGABEN / Fehlermeldungen --------*/
    /* Markierung der Labels bei Fehler */
    .formgen .formerror{border-bottom-width:1px;color:#6A2D6C;}
    .formgen .formcaptcha{border:2px solid #F58220;vertical-align:top;float:left;margin-right:10px;}
    .formgen .formreq{color: #002506; font-weight: 300; }
    .formgen .formheadline{ padding-top:4px;padding-bottom:4px;margin-top:5px;margin-bottom:5px; }      
                     
           .cc_banner {
      background: #F0F0F0!important;
    }
    .cc_container {
        box-shadow: 0px 0px 30px 10px rgba(0,0,0,0.4);
        bottom: 30px!important;
    }
    .cc_message {
      font-family: MuseoSlab-500!important;
      font-weight: normal!important;
      font-style: normal!important;
      text-decoration: none!important;
      text-transform: none!important;
      font-size: 14px!important;
      color: #333!important;
      text-align: center!important;
    }
    .cc_message a {color: #333!important; text-decoration: underline!important;}
.cc_container .cc_btn {font-size: 15px;}
.cc_container .cc_btn, .cc_container .cc_btn:visited {background-color: #fff!important; color: #004f89;box-shadow: 0px 0px 10px 5px rgba(0,0,0,0.4);}              
/* =============================================================================
   Media Styles 
   ========================================================================== */  
   
   #menutoggle, #menuremove, .mobilslogan, .footerlinks { display: none; }  
   .logo a { display: block; }
   
    @media only screen and (max-width: 1270px) {    
      #wrap, footer > .container { width: 96%; }
    }     
   
    @media only screen and (max-width: 1080px) {   
      #wrap, footer > .container { width: 100%; }
    }          
    @media only screen and (max-width: 960px) {                                  
       #navi { width: 35%; }  
       #main { width: 65%; padding: 0 30px 0 0;  }   
    }          
    @media only screen and (min-width: 768px) {   
    }    
    @media only screen and (max-width: 767px) {    
                               
      body { background: #fff; }
      body, p , li { font-size: 12px; line-height: 20px; color: #000; }
      header img {}
      header { z-index: 1020; margin-bottom: 1px; position: fixed; top: 0; left: 0; right: 0; background: #fff; }                      
      #inhalt { z-index: 1; padding-top: 18%; }          
       #navi { width: 100%; float: none; padding: 0; }  
       #main { width: 100%; float: none; padding: 0 15px;  }   
      #wrap, footer > .container { width: 100%; }
      #wrap { box-shadow: none; padding-bottom: 10px; }
      .desktoponly { display: none; }
      
      
      .logo .titlebg { right: 50%;  }
      .logo a { bottom: 10px; left: 10px; font-size: 0.9em; }    
      .logo a span { margin: 0; line-height: 1em; }
                                                                                        
      #navi ul.nav { padding: 20px 35px 10px; background: #fff; }                                             
       #navi ul { margin-top: 0; }    
       #navi ul li a {  }    
       #navi ul li a:hover { }
       #navi ul li.active a { }
      #navi ul li a { text-align: center; font-size: 16px; line-height: 20px; color: #646464; padding: 10px 0; margin-bottom: 8px;  }
      #navi ul li:last-child a {}  
       #navi ul li a {  }
       #navi ul li a:before { }  
      
      #menutoggle, #menuremove { z-index: 1010; display: block; background: transparent; cursor: pointer; position: fixed; top: 0; left: 0; width: 40px; height: 50px; margin: 0; padding: 0;  }
      #menutoggle img, #menuremove img { width: 100%; height: auto; margin: 0; padding: 15px 0 0 15px; }
      xx#menuremove { padding: 15px 0 0 15px; font-size: 25px; line-height: 25px; color: #CC0000;   }
      #menuremove, #navi { display: none; }
      
      .slogan { display: none; }
      .logo { float: none; width: 100%; padding: 12px 30px 20px 70px; }
      .mobilslogan { display: block; width: 100%; text-align: center; }    
      .mobilslogan img { max-width: 100%; height: auto; margin: 0 auto; }  
      
      .footerlinks { display: block; text-align: center; font-size: 15px; line-height: 20px;  color: #646464; }   
      .footerlinks a { color: #646464; }
      
      h1 { font-size: 30px; margin: 30px 0 30px 0; padding: 0; line-height: 30px; color: #646464; font-weight: normal;text-align: center;  }    
      
      #terminabsprache { font-size: 10px; text-align: center; padding: 20px 30px; line-height: 1.4em; }
                                                 
      
      .formgen .formtextfield, .formgen .formtext, .formgen .formselect, .formgen input[type="file"] { float:none; width: 100%;}   
      .formgen input[type="file"], .formgen input[type="file"]:hover, .formgen input[type="file"]:focus { float:none; width: 100%;}   
      .formgen .formselect{ padding: 2px 2px 2px 0; width: 100%;}       
      .formgen label{width: 100%; float:none}  
      span.checkspan { margin-left: 0; }                                                                                                                                              
      .formgen input.formradio{margin-left: 170px; width: 20px; }
      .formgen .formsubmit{width:100%; float:none; padding: 5px 1%; margin: 0; } 
      .formgen .formnote {width:100%; float:none; margin: 0; }  
      .formgen br { display: none; }   
      
      .lb-nav a.lb-next, .lb-nav a.lb-prev { opacity: 1; }
               
    }    
    @media only screen and (max-width: 520px) {          
      .table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th { display: table-row; width: 100%; min-width: 100%; max-width: 100%; border: 0; }
      .table > tbody > tr { border-top: 1px solid #eee; }
      
      .textitem .einzelbild { float: none; width: 100%; max-width: 100%; margin: 0 0 30px 0; padding: 0; }
      .textitem > a { display: block; margin: 0 -15px; }                                              
      
        
      .galerie  { margin: 0 -15px 30px -25px; }   
      .galerie a { display: none; }                                                                    
      .galerie a.firstbig { display: block; float: left; width: 100%; border: 0; margin: 0 0 10px 0; padding: 0 0 0 10px;}  
      .galerie a { float: left; width: 50%; border: 0; margin: 0 0 10px 0; padding: 0 0 0 10px;}  
                                                            
      .mobilcopy .galerie a  { display: block; }
      .mobilcopy .galerie a.firstbig { display: none; }
    }  