@media all {
  .navigation { position: relative; line-height: 1; font-weight: 400; }
  .navigation:after { content: "."; display: block; clear: both; font-size: 0; height: 0; visibility: hidden; }
  .navigation ul, .navigation li { list-style-type: none; margin: 0; padding: 0; font-size: 1em; line-height: 1; }
  .navigation li a { color: #3A3A3A; }
  .navigation li a:hover, .navigation li a:focus, .navigation li.active a { color: #CB1417; }

  .navigation.navigation--horizontal ul { display: inline-block; }
  .navigation.navigation--horizontal li { display: inline; float: left; }
  .navigation.navigation--horizontal li a { display: inline-block; width: auto; line-height: 1.5; margin: 0 0.5em; padding: 0.25em 1em; }
  .navigation.navigation--horizontal li:first-child a { margin-left: 0; }
  .navigation.navigation--horizontal li:last-child a { margin-right: 0; }

  .navigation.navigation--vertical { margin: 0 0 1.5em; }
  .navigation.navigation--vertical ul { overflow: hidden; }
  .navigation.navigation--vertical ul ul { padding: 0 0 0 1em;  }
  .navigation.navigation--vertical li a { display: inline-block; margin: 0.5em 0; line-height: 1.2; }
  .navigation.navigation--vertical li a:hover, .navigation.navigation--vertical li a:focus, .navigation.navigation--vertical li.is--active > a { color: #CB1417; }
  
  #langnav { margin-left: 1.5em; }
  #langnav li a { display: block; width: 1.5em; height: 1.5em; margin: 0.25em; padding: 0; border-radius: 50%; text-indent: -999999px; overflow: hidden; opacity: 0.85; }
  #langnav li a.is--disabled { opacity: 0.25 !important; }
  #langnav li a.is--active, #langnav li a:hover, #langnav li a:focus { opacity: 1; }
  .flag { display: block; width: 100%; height: 100%; background: none no-repeat scroll 50% 50% transparent; background-size: cover; }
  .flag.de { background-image: url(/fileadmin/gfx/flags/flag-de.jpg); }
  .flag.en { background-image: url(/fileadmin/gfx/flags/flag-en.jpg); }
  
  #metanav { margin: 3em 0 1.5em; }
  #metanav ul { display: block; }
  #metanav li { display: block; float: none; }
  #metanav li + li { margin: 1.5em 0 0; }
  #metanav li a { display: block; font-size: 1.5em; font-style: italic; color: #fff; background: #333; margin: 0; padding: 0.25em 1.5em; }
  #metanav li a:hover, #metanav li a:focus { text-decoration: none; color: #fff; background: #CB1417; }
  
  .sitemaps { overflow: hidden; }
  .sitemap { float: left; width: 16.666%; padding: 0 3em 1.5em 0; }
  .sitemap:nth-child(6n+1) { clear: both; }
  .sitemap ul, .sitemap ul li { list-style-type: none; margin: 0; padding: 0; }
  .sitemap ul ul ul { padding-left: 1em; }
  .sitemap li a { display: inline-block; font-size: 1.25em; line-height: 1.2; margin: 0.25em 0; color: #fff; }
  .sitemap li a:hover, .sitemap li a:focus { color: #fff; text-decoration: underline; }
  .sitemap li li a { font-size: 1em; }
  
  [class*="frame-type-menu_"] { margin: 0 0 1.5em; }
  [class*="frame-type-menu_"] ul, [class*="frame-type-menu_"] li { list-style-type: none; margin: 0; padding: 0; }
  [class*="frame-type-menu_"] li a { display: block; margin: 0.5em 0; padding: 0.25em 1em; color: #fff; font-size: 2em; line-height: 1.5; text-align: center; background: #CB1417; }
  [class*="frame-type-menu_"] li a:hover, [class*="frame-type-menu_"] li a:focus { background-color: rgba(203,20,23,0.5); }
}
