/* =============================================================================
   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;  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; }              
    
  .container { width: 100%; max-width: 100%; margin: 0 auto; padding: 0;  }        
   html { min-height: 100%; overflow-y: scroll; overflow-x: hidden; }
   body { min-height: 100%; background: url() top center no-repeat #000; }   
   #wrap { min-height: 100%; background: transparent; }
   
/* =============================================================================
   Font Styles  
   #e6e6e6 
   #ffffff 
   #000000 
   #373737 
   300 light 400 regular 600 semibold 700 bold 900 black
   ========================================================================== */     
                              
   a, a:link, a:hover, a:active, a:visited, a:focus { color: #fff; text-decoration: none; }
    body, input, button, select, textarea { font-family: 'proxima-nova', sans-serif; font-weight: 600; line-height: 1em;}      
    body, p, li { font-size: 13px; line-height: 19px; color: #fff; } 
    .h1, .h2, .textitem.teaser, .textitem.hteaser, label, .slogan, .textitem ol li strong { font-family: 'metronic-slab', serif; font-weight: 700; line-height: 1em; margin: 0; padding: 0; }   
    
    .h1 { font-size: 55px; line-height: 54px; color: #fff; padding-bottom: 60px; }    
    .h2, .textitem.hteaser, .textitem.hteaser p { font-size: 30px; line-height: 35px; color: #fff; }  
    .gf { font-size: 9px; line-height: 10px; color: #fff; }  
                                                                   
    p { margin: 0; padding: 0 0 19px 0; }       
    .textitem.teaser, .textitem.teaser p, .textitem.teaser li, label { font-size: 15px; line-height: 19px; color: #fff; }      
    .xform label, .formgen label { color: #000; background: #fff;  } 
    
    .navi-content a { font-size: 15px; line-height: 15px; color: #000; text-transform: uppercase;  }    
    .navi-content a.active { color: #fff; }  
    
    .textitem.initialen p:first-child:first-letter, .textitem.zweispalteninitialen p:first-child:first-letter { float:left; color:#fff; font-size:46px;    line-height: 1em;    padding: 3px 6px 0px 0px;  }
    
    .logo { font-weight: 300; font-size: 35px; line-height: 35px; color: #fff; }    
    .logo span { font-weight: 900; font-size: 35px; line-height: 35px; color: #fff; }  
    .slogan { font-weight: 700; font-size: 15px; line-height: 15px; color: #fff; }  
    .slogan span { display: block; float: left; width: 33%; margin: 5px auto 0 0; border-top: 1px solid #fff; }
    
    hr { margin: 0; padding: 45px 0; border: 0; background: url('../files/pfeil-linie.png') center center no-repeat transparent; background-size: 120px auto; height: auto; }
    .h1, .h2, .h3, .textitem.teaser, .textitem.hteaser, hr { clear: both; }           
     .h2 { text-align: center; padding: 0 0 19px 0; }
   
/* =============================================================================
   Allgemeine Positionen
   ========================================================================== */    
   /*  
   header { z-index: 900; position: fixed; top: 0; left: 0; right: 0; height: 108px; background: #52708a; background: rgba(83,112,138,0.8); background: url('../files/header_blau.png') top left transparent; background-size: 100% 100%; }  
   .navi-head { position: relative; height: 108px; }     
   .logo { position: absolute; left: 50%; top: 22px; height: 64px; width: 149px; margin-left: -75px; background: url('../files/business_logo_header.png') top center no-repeat transparent; background-size: 100% auto; }
   .logo a { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }    
   .navi-fullcontent { display: none; }
   #menutoggle span { }     
   .navi-fullcontent { z-index: 910; }    
   .navi-fullcontent { position: absolute; top: 0; left: 0; width: 500px; height: 630px; background: url('../files/menu_desktop.png') top center no-repeat transparent; background-size: 100% auto; }
   .navi-content { padding: 130px 0 0 50px; }
   .navi-bottom { padding: 50px 0 0 0; }
   .navi-content ul, .navi-content ul li { list-style: none; margin: 0; padding: 0; }
   .navi-content ul li a { display: block; padding: 0; }   
   
   #wrap { z-index: 1; position: relative; width: 100%; max-width: 100%; padding: 108px 0 0 0; margin: 0 auto; }   
   #mainrow { width: 100%; max-width: 1020px; padding: 0 20px 40px; margin: 0 auto; }      
   .leftcontent { float: left; width: 50%; padding-right: 40px; margin-top: 492px; }  
   .realcontent { float: right; width: 50%; padding-left: 0; margin-top: 50px; padding-bottom: 50px; }    
   
                                                       
   */ 
   body { background: url() top right no-repeat #000; background-attachment: fixed; }
   body.bildposunten { background-position: bottom right; }
   
   #background_wrap {
        z-index: -1;
        position: fixed;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background-position: top right;   
        background-repeat: no-repeat;
    }   
   body.bildposunten #background_wrap  { background-position: bottom right; }
                                           
   .navi-content { overflow: hidden; }
   .navi-content ul, .navi-content ul li { list-style: none; margin: 0; padding: 0; }
   .navi-content ul li a { display: inline-block; width: auto; background: #1e1e1e; color: #fff; padding: 4px 10px 3px 15px; margin-bottom: 5px; white-space: nowrap; }      
   .navi-content ul li a:hover {}     
   .navi-content ul li a.active, .navi-content ul li a.active:hover { background: transparent; color: #fff; }   
   
   @keyframes navismooth {
      from {padding-right: 10px;}
      to {padding-right: 25px;}
  }
  .navi-content ul li a:hover {
    padding-right: 25px;
    animation-name: navismooth;
    animation-duration: 0.5s;
  }  
  
  .navi-content ul li a { position: relative; height: 22px; padding-right: 3px; }
  .arrow{ display: block; position: absolute; top: 0; right: -11px; width:0; height:0; border-top: 11px solid transparent; border-bottom: 11px solid transparent; border-left:11px solid #1e1e1e; }
  .navi-content ul li a.active .arrow { display: none; }
   
                                                                                                         
   header { z-index: 100; position: absolute; width: 330px; padding: 0; margin: 0 auto 0 0; top: 0; left: 0; overflow-y: auto; }  
   #wrap { z-index: 1; position: relative; width: 100%; max-width: 100%; padding: 0; margin: 0 auto; }   
                                                                                                             
   #menutoggle, #menuclose { position: absolute; cursor: pointer; height: 35px; width: 40px; padding: 0 0 0 0; background: url('../files/menu_oeffnen_desktop.png') top right no-repeat transparent; top: 15px; right: 15px; }         
   #menuclose { position: fixed; background: url('../files/menu_schliessen_desktop.png') top right no-repeat transparent; }
   #menutoggle, #menuclose { display: none; }
   .logolink { margin: 40px 0 0 30px; }
   div.slogan { float: left; width: auto; border-top: 1px solid #fff; padding: 5px 0; margin: 4px auto 0 0;}
   
   #languages { padding-left: 30px; width: auto; float: left; }
   #languages a img { width: 33px; height: auto; }
   
   
   #social { margin-left: 33px; width: auto; float: left; }
   #social a img { width: 33px; height: auto; }
   
   #menutoggle  { background-size: 24px auto; }
   #menuclose { background-size: 20px auto; }

/* =============================================================================
   Allgemeine Module
   ========================================================================== */   
   
    /*    
   .galerie { margin: 15px -15px; }            
   .galerie a { display: block; float: left; padding: 15px; min-height: 30px; position: relative; }     
   .mediaitem { padding: 0; }
   .galerie a img { width: 100%; max-width: 100%; height: auto; border-radius: 0; border: 10px solid #fff; } 
   
   .galerie a { width: 50%; }                           
   .galerie a span.desc { display: block; position: absolute; height: 32px; overflow: hidden; line-height: 14px; padding-top: 4px; }     
   .galerie.ohnebeschriftung a span.desc { display: none; }         
    
    div.zusatzbox, a.zusatzbox:link { display: block; max-width: 290px; text-align: center; padding: 10px 12px; margin: 10px auto; color: #fff; background: #52708a; }    
    a.zusatzbox.active { background: #ed6c95; }  
    a.zusatzbox:link, a.zusatzbox:active, a.zusatzbox:visited , a.zusatzbox:focus { color: #fff; }    
    
    .blogentry, .blogitem { margin: 0 0 15px 0; padding: 15px 0; border-bottom: 6px solid #52708a; }  
    .bloglist .blogitem:first-child {border-top: 6px solid #52708a; }    
    .blogentry .btn-verlinkung { padding-right: 0; }   
    
    .blognavi { padding-top: 70px; text-align: center; }
    .blognavi a { display: block; width: auto; padding: 55px 0 10px 0; margin: 15px auto; }
    .blognavi a.prev { background: url('../files/naechster_artikel.png') top center no-repeat transparent; }
    .blognavi a.next { background: url('../files/vorheriger_artikel.png') top center no-repeat transparent; }
    .blognavi a.ov { background: url('../files/zurueck_uebersicht.png') top center no-repeat transparent; }    
    
    p.blogautor { text-transform: uppercase; font-size: 14px; line-height: 19px; margin: 0; font-weight: bold; }    
    .blogitem h4 { font-weight: bold; font-size: 19px;  }   
    */     
    
    .bilditem img { max-width: 100%; height: auto; }           
   
    .textitem ul, .textitem ul li { margin: 0; padding: 0; list-style: none; }   
    .textitem ul { margin: 0 0 19px 0; }
    .textitem ul li { padding-left: 1.2em; }
    .textitem ul li:before { display: inline-block; content: "»"; color: #fff; font-size: 0.9em; text-align: left; width: 1.1em; margin-left: -1.2em; }         
   
    .textitem ol, .textitem ol li { margin: 0; padding: 0; list-style: none; }   
    .textitem ol { margin: 19px 0; }
    .textitem ol li { background: url('../files/dreieck.png') top center no-repeat transparent; background-size: 20px auto; padding: 30px 0 19px 0; }
    
    .textitem.teaser { padding-bottom: 19px; }     
    .textitem.hteaser { }        
    .textitem.centered { text-align: center; }  
    
    .partnerliste { margin: 0 -10px; }
    .partnerlogo { display: block; }
    .partnerlogo a { display: block; margin: 10px; }      
    .partnerlogo a img { width: 100%; height: auto; }
    
/* =============================================================================
   Form Styles 
   ========================================================================== */    
    .formgen{ position: relative; text-align: left; font-size: 15px; line-height: 18px;  }
    label, select, input[type=checkbox], input[type=radio], input[type=button], input[type=submit]{cursor:pointer; }
    .formgen form{ }
    .formgen .formblock{ }     
    .formgen fieldset { border: 0; margin: 0; padding: 0;  }
    .forminfo{ margin: 0 0 1em 0; background: #52708a; color: #fff; padding: 15px;}
    .formhinweis {  text-align: left; text-transform: none; font-size: 1em; line-height: 1em; padding: 8px 0 20px 0; }
    #form-module-thanks { margin: 1em 0; background: #52708a; color: #fff; padding: 15px; border-radius: 0; }
    #form-module-thanks p, #form-module-thanks p strong { color: #fff; }
    .formgen br{ display: none; }  
    .formgen .formnote { }                                                                               
    
    .rex_375_text, .formgen .formtextfield, .formgen .formtext, .formgen .formselect, .formgen input[type="file"] {display: block; padding: 0 5px; margin: 0 0 1% 0; border: 0; float:none; width: 100%;  border-radius: 0; box-shadow: 0; }   
    .formgen input[type="file"], .formgen input[type="file"]:hover, .formgen input[type="file"]:focus { }   
    .formgen div.formtext { }           
    .formgen div.formtext:after { content: ""; display: table; clear:both; }  
    .formgen .formselect{ padding: 2px 2px 2px 0; width: 35%; margin-right: 40%; }   
    .formgen input:focus,.formgen input:hover, .formgen select:focus,.formgen select:hover,.formgen textarea:focus,.formgen textarea:hover{ }
    .xform label, .formgen label { text-transform: none; width: 100%; display: block; position: relative; }   
    .formgen legend { text-transform: none; width: 100%; display: block; border: 0; }    
    span.checkspan { margin-left: 0; }   
    span.checkspan:after { content: ""; display: table; clear:both; }                                                                                                                     
    .formgen .checkspan input {width: auto;clear:left;float:left; border-color: #fff; }   
    .formgen input[type="checkbox"], .formgen input[type="checkbox"]:focus { outline: 0; outline-offset: 0; line-height: 1.6em; }
    .formgen .checkspan label {width: 93%;clear:left;float:right; height: auto; padding: 0 0 2px 0; margin: 0; font-weight: 400; border-bottom: 0; text-transform: none; font-size: 1em; line-height: 1.6em; }    
    .formgen .checkspan input[type="radio"], .formgen .checkspan input[type="checkbox"] { margin-top: 6px; }                      
    .formgen input.formradio {margin-left: 0; 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; border-bottom: 0;}
    
    
    .rex_375_text, .formgen .formtextfield, .formgen .formtext, .formgen .formselect, .formgen input[type="file"] {float: right; width: 70%; border: 0; border-left: 0;  height: 22px; line-height: 22px; background: #f5f5f5; color: #461432; border-radius: 0; text-align: left;}   
    .formgen input[type="file"], .formgen input[type="file"]:hover, .formgen input[type="file"]:focus { float:right; width: 70%; height: 22px; line-height: 22px; }  
    .xform label, .formgen label { float:left; width: 30%; border: 0; border-right: 0; padding: 0 5px; clear: both; height: 22px; line-height: 22px;  background: #fff; border-radius: 0; text-align: left; text-transform: none; color: #000; font-weight: bold; }  
    .formgen textarea.formtextfield { border: 0; background-size: 100% 100%; resize: none; height: 100px; border-radius: 0; }
    
    .formgen .checkspan label { background: transparent; font-size: 17px;color: #2a394a; }
    .formgen label.formradio { position: relative; clear: right; float: none; background: transparent; display: inline-block; width: auto; margin-right: 30px; padding-right: 25px; height: auto; line-height: 1em; padding-bottom: 15px; padding-left: 8px;  }   
    .formgen label.formradio input { position: absolute; right: 0; top: 0; }
    label.radiotop { display: none; }
    
    /* Sende-Button */
    .formgen .formsubmit { display: block; clear: both; cursor: pointer; float: right; background: #fff; width: 70%; height: auto; margin: 0; padding: 5px 5px; text-align: center; text-transform: none; border: 0; color: #000; font-weight: bold; overflow: hidden; border-radius: 0; }
    .formgen .formsubmit:hover { }    
    
    div.pflichtfelder { clear: both; text-align: right; font-size: 0.8em; padding: 5px 0 0 0; }
/* =============================================================================
   Special Form Styles 
   ========================================================================== */    
    
    /* all placeholder */
    ::-webkit-input-placeholder { color: #fff !important; }
    :-moz-placeholder { color: #fff !important; }
    ::-moz-placeholder { color: #fff !important;  }
    :-ms-input-placeholder { color: #fff !important;  }   
    
    /* Alerts */
    .alert-success { background: #000; border-color: #000; color: #fff; border-radius: 0; }           
   
/* =============================================================================
   Media Styles 
   ========================================================================== */     
   
   #article-14, #article-14 p, #article-14 li { font-size: 10px; line-height: 13px; }                 
   
  @media only screen and (min-width: 980px) {   
	   /* pc stuff */                                            
    .desktoponly { display: block; }              
    .mobilonly, #mobhead { display: none !important; }                    
    
    #wrap { padding: 0 220px 0 480px; }   
    #mainrow { padding: 160px 0 40px 0; }           
    
    header { position: fixed; }
   .navi-content ul li a { padding: 4px 10px 3px 30px; margin-bottom: 20px; } 
   .navi-content ul li a { padding-right: 3px; }
   .navi-fullcontent { padding-top: 50px; }              
    
    #triangletop { position: fixed; top: 0; left: 0; width: 320px; bottom: auto; }    
    #trianglebottom { position: fixed; top: auto; left: 0; width: 320px; bottom: 0;  }
    .svg-triangle{ margin: 0; width: 320px; height: auto; }
    .svg-triangle polygon { fill:#373737; stroke:#373737; stroke-width:0; }    
     
  }
   
  @media only screen and (min-width: 768px) {   
	   /* pc stuff */                               
   
   .h1 { margin-left: -60px; padding-bottom: 120px; } 
   .textitem.zweispalteninitialen {
        -moz-column-count: 2;        
        -webkit-column-count: 2;  
        column-count: 2;
        -moz-column-gap: 30px;
        -webkit-column-gap: 30px;
        column-gap: 30px;
    }
    .textitem.linkespalte { clear: both; float: left; width: 50%; padding-right: 10px;}     
    .textitem.rechtespalte { clear: right; float: right; width: 50%; padding-left: 10px;}
    .textitem.teaser { padding-left: 15%; padding-right: 15%; }                       
    .textitem.hteaser {}    
    .textitem.centered { padding-left: 15%; padding-right: 15%; }    
    
    form.formgen { max-width: 400px; }   
    .xform label, .formgen label { width: 29%; }
    
    .partnerlogo { width: 33.33%; float: left; }
    .inhaltlinkespalte { float: left; width: 30%; }
    .inhaltrechtespalte { float: right; width: 65%; }
    
    #article-12 #wrap { padding-right: 0; margin-right: 0; }    
    #article-12 #mainrow { padding-top: 0; }   
    #article-12 #mainrow .inhaltlinkespalte { padding-top: 160px; }
    #article-12 #mainrow .inhaltrechtespalte form.formgen  { margin: 0 auto; }
    
  }                 
                     
  @media only screen and (max-width: 1179px) and (min-width: 980px) {   
	   /* small pc  stuff */          
    #wrap { padding: 0 160px 0 420px; }   
  }                         
                     
  @media only screen and (max-width: 979px) {   
	   /* smartphone  stuff */       
       
     #menutoggle { display: block; }  
     header.aktiv #menutoggle { display: none; }   
     .logolink { margin: 32px 0 0 15px; width: 200px; }
     header.aktiv #menuclose { display: block; }
     .navi-fullcontent { display: none; padding-top: 40px; }
     .navi-menu ul li a {} 
     #languages { display: block; padding-left: 15px; }
     #social { display: none; }
     header.aktiv #social { display: block; position: absolute; top: 104px; left: 15px; padding: 0; margin: 0;  }
     
     #mainrow { padding: 180px 20px 40px 20px; }
     body { background-size: 100%; }
     body.xxold { background: url() top right no-repeat #000; background-attachment: fixed; background-size: 150%; }    
     #background_wrap{ background-size: 100%; }
     
     header { position: fixed; width: 100%; margin: 0; }  
     header { 
      background: rgba(0,0,0,0.5);                                         
      background: linear-gradient(top,  rgba(0, 0, 0, 0.9),  rgba(0, 0, 0, 0));
      background: -moz-linear-gradient(top,  rgba(0, 0, 0, 0.9),  rgba(0, 0, 0, 0));  
      background: -webkit-linear-gradient(top,  rgba(0, 0, 0, 0.9),  rgba(0, 0, 0, 0));  
     }
     header.aktiv { bottom: 0; background: #373737; }
     
     #leftarrow, #rightarrow { width: 200px; height: 200px; position: fixed; background: #373737; transform: rotate(45deg); }     
     #leftarrow  { top: -110px; left: -110px; }     
     #rightarrow  { top: -110px; right: -110px;  }    
              
     .logo { font-size: 24px; line-height: 24px; }    
     .logo span { font-size: 24px; line-height: 24px; }    
     .slogan { font-size: 10px; line-height: 10px; }    
     
     #rightarrow { display: none; }
  }                    
                     
  @media only screen and (max-width: 979px) and (min-width: 768px) {   
	   /* small pc  stuff */          
    #wrap { padding: 0 60px 0 120px; }   
    #article-12 #wrap { padding-right: 0; margin-right: 0; }    
    #mainrow { padding-right: 0; margin-right: 0; }  
    #article-12 #mainrow .inhaltrechtespalte form.formgen  { padding-right: 30px; }  
  }   
                     
  @media only screen and (max-width: 767px) {   
	   /* smartphone  stuff */      
                                                                                
     .h1 { font-size: 30px; line-height: 35px; color: #fff; padding-bottom: 40px; text-align: center; }  
     .textitem.hteaser, .textitem.hteaser p { font-size: 15px; line-height: 19px; color: #fff; }      
     
     
    .xform label, .formgen label { width: 30%; margin-right: 70%; float: none; }
    .rex_375_text, .formgen .formtextfield, .formgen .formtext, .formgen .formselect, .formgen input[type="file"]  { width: 100%; float: none; margin: 5px 0 10px 0; }
    .formgen .formsubmit { width: 100%; float: none;  }
    
    div.map { margin: 0 -20px 20px; height: 320px; position: relative;  }    
    div.map iframe { height: 320px; width: 100%;  }        
    .textitem.linkespalte ul { margin-bottom: 0; }
      
   
  }                
                     
  @media only screen and (max-width: 479px) {   
	   /* small smartphone  stuff */   
  }     
  @media only screen and (max-width: 767px) and (orientation: landscape) { 
  }
                   
                     
  @media only screen and (max-height: 860px) {   
  }                         
                     
  @media only screen and (screen-orientation: landscape) {  
  }                     
                     
  @media only screen and (min-width: 1800px) {  
    #mainrow { max-width: 70%; margin: 0 auto; } 
    #article-12 #mainrow { max-width: 85%; margin: 0 0 0 auto;}    
    
    body, p, li { font-size: 17px; line-height: 24px; color: #fff; }  
    .textitem.teaser, .textitem.teaser p, .textitem.teaser li { font-size: 20px; line-height: 28px; color: #fff; }  
    .h1 { font-size: 75px; line-height: 75px; }    
    .h2, .textitem.hteaser, .textitem.hteaser p { font-size: 40px; line-height: 48px; }  
  }                 
  @media only screen and (min-width: 320px) and (max-width: 360px) {        
	   /* test */   
    /* body, #background_wrap{ background-size: 360px auto; }     */
  }  