/* ==========================================================================
   1. GLOBAL BASIS / RESET
   ========================================================================== */
html {
    height: 100%;
}

body {
    font-family: "Roboto", Arial, sans-serif;
    font-size: 14px;
    line-height: 20px;
    padding: 0;
    margin: 0;
    background-size: 100% auto;
    color: #000000;
}

input,
button,
select,
textarea {
    font-family: "Roboto", Arial, sans-serif;
}

hr {
    border: 0;
    border-top: 1px solid #E0DFDF;
    border-bottom: 1px solid #FEFEFE;
}

small {
    font-size: inherit;
}

figure,
figcaption {
    display: block;
    border: 0 none;
    font: inherit;
    margin: 0;
    padding: 0;
    vertical-align: baseline;
    position: relative;
}

img.center {
    text-align: center;
}

aside {
    margin: 0 0 30px 0;
}

legend {
    margin-bottom: -13px;
    margin-top: 10px;
    font-size: 14px;
    line-height: 22px;
    border-bottom: 0;
}

/* --- Links --- */
a,
a:hover,
a:active {
    outline: 0;
    text-shadow: none;
}

a/*,
#page a*/ {
    color: #000000;
}

a:hover {
    color: #000000;
    text-decoration: underline;
}

a:focus {
    outline: 1px solid rgba(82, 168, 236, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
    opacity: 1;
}

a:hover i {
    text-decoration: none;
}

/* --- Focus Styles --- */
select:focus,
input[type="file"]:focus,
input[type="checkbox"]:focus,
input[type="radio"]:focus,
button:focus,
.btn:focus {
    border-color: rgba(82, 168, 236, 0.8);
    outline: 0;
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%), 0 0 8px rgb(82 168 236 / 60%);
}

.checker > span:focus-within {
    outline: 1px solid rgba(82, 168, 236, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
    opacity: 1;
}

/* --- Bootstrap modifications of <blockquote>, <cite> and <q> back to browser defaults --- */

blockquote {
    padding: revert;
    margin: revert;
    border-left: revert;
    font-style: revert;
}

blockquote p {
    margin-bottom: 10px;
    font-weight: revert;
    line-height: 22px;
}

cite {
    font-style: revert;
}

q {
    font-style: revert;
}
q::before, q::after {
    content: revert;
}


/* ==========================================================================
   2. TYPOGRAPHY & HEADLINES
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
    margin: 10px 0;
    line-height: 1.2;
    color: inherit;
    text-rendering: optimizelegibility;
}

h1, h2, h6 {
    font-weight: normal;
}

h3, h4, h5 {
    font-weight: bold;
}

h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
    font-weight: normal;
    line-height: 1;
    color: #999;
}

h1,
h2#header-address {
    font-size: 28px;
    margin: 5px 0 7px 0;
    color: #000;
    font-weight: 700;
    line-height: 32px;
    padding-bottom: 0;
}

h1 small {
    font-size: 24.5px;
}

h2 {
    font-size: 18px;
    font-weight: bold;
}

h2 small {
    font-size: 17.5px;
}

h3 {
    font-size: 16px;
    padding: 0;
    margin: 0;
}

h3 a,
h3 a:hover {
    color: #000;
}

h3 i {
    font-size: 15px;
}

h3 span i {
    color: #FFFFFF;
}

h3 small,
h4 small {
    font-size: 14px;
}

h3 small,
h4 small,
h5 small {
    color: #444;
}

h4 {
    font-size: 17px;
    background: #F7F7F7;
    padding: 5px 10px;
    border-right: 3px solid #E9E9E9;
    border-left: 3px solid #E9E9E9;
}

h4 span,
h3 span {
    font-size: 12px;
    font-weight: normal;
}

h4 span.letters {
    font-size: 12px;
    color: #666666;
    font-weight: normal;
    font-style: normal;
    padding-left: 10px;
}

h4.kategorie {
    text-transform: uppercase;
    font-size: 11px;
    font-weight: normal;
}

h4.kategorie span {
    text-transform: none;
    font-size: 12px;
    font-weight: normal;
}

h4 .right {
    width: 65px;
    text-align: right;
}

h5 {
    font-size: 12px;
    font-weight: 500;
}

h6 {
    font-size: 11.9px;
}

h1.block, h2.block, h3.block,
h4.block, h5.block, h6.block {
    padding-bottom: 10px;
}

.h3-detail {
    margin-top: 0px;
}

/* --- Page Headings & Subheadings --- */
.page-headline {
    font-size: 24px;
    margin: 10px 0;
    padding-bottom: 5px;
    font-weight: bold;
}

.page-headline-filter {
    margin-bottom: 20px;
}

.page-title {
    font-size: 22px;
    display: block;
    font-weight: normal;
    margin: 13px 0 8px 0;
}

.page-title small {
    font-size: 14px;
}

.pressecenter {
    color: #888888;
    font-size: 20px;
    line-height: 30px;
    display: none;
}

.companies {
    font-size: 12px;
    line-height: 18px;
    color: #777777;
}

/* --- Content Text Sizes --- */
.section-text-short,
.section-text-long,
.section-text-short li,
.section-text-long li,
.text-short,
.text-long,
.text-short li,
.text-long li {
    font-size: 16px;
    line-height: 24px;
}

.page-news article .text-short,
.page-news article .text-short li,
.page-search article .text-short,
.page-search article .text-short li,
.page-contact article .text-short,
.page-contact article .text-short li {
    font-size: 14px;
    line-height: 20px;
}

.page-news-detail article .text-short {
    font-weight: bold;
    margin-bottom: 30px;
}

.page-news-detail article .text-long {
    margin-bottom: 30px;
}

.page-news-detail section.section-text-short header,
.page-news-detail section.section-text-long header {
    display: none;
}

.page-news aside .text-short,
.page-news-detail aside .text-short {
    margin-top: 5px;
    clear: both;
    font-size: 14px;
    line-height: 20px;
    font-weight: normal;
    margin-bottom: 0px;
}

.verwandt .download-list {
    display: none;
}

/* --- Icon Styles --- */
i.big        { font-size: 20px; }
i.warning    { color: #d12610; }
i.critical   { color: #37b7f3; }
i.normal     { color: #52e136; }
i.icon,
a.icon       { color: #999; }

a.icon:hover {
    text-decoration: none;
    transition: all 0.1s ease-in-out;
    opacity: 0.4;
}

a.icon.huge i  { font-size: 16px; }
a.icon-big     { font-size: 16px; }



/* ==========================================================================
   3. LAYOUT MAIN STRUCTURE
   ========================================================================== */
.page-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    background: transparent;
}

/* Verhindert, dass die Login-Klasse reguläre Wrapper stört */
body:not(.login) .page-wrapper {
    max-width: 1200px;
    background: transparent;
}

#container {
    background: #FFFFFF;
}

#body {
    margin-top: 0;
    margin-left: 215px;
    min-height: 800px;
}

div#body {
    padding-top: 65px;
}

#page {
    margin-bottom: 40px;
}

/* --- Skip Links (Accessibility) --- */
.skip-links {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    margin: 0;
    list-style: none;
    opacity: 0;
    transform: translateY(-100%);
    z-index: 1100;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 10px;
    padding: 8px 20px;
    transition-property: opacity, transform;
    transition-duration: 0.3s;
    transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
}

.skip-links:focus-within {
    opacity: 1;
    transform: translateY(0);
}

.skip-links li a {
    color: #333;
    font-weight: 400;
}



/* ==========================================================================
   4. ISOTOPE ENGINE & GRID ELEMENT FORMATTING
   ========================================================================== */
/* Verhindert, dass Kacheln vertikal untereinander kleben bleiben */
.isotope,
.isotope .isotope-item {
    transition-duration: 0.8s;
}

.isotope-item {
    z-index: 2;
    padding: 10px 0px;
}

.isotope {
    transition-property: height, width;
}

.isotope .isotope-item {
    transition-property: transform, opacity;
}

.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
    transition-duration: 0s;
}

/* --- News Grid Corrections --- */
.page-headline-filter ul,
ul.suche-user {
    list-style-type: none;
    margin: 25px 0 0 0;
    padding: 0;
}

/* Jahreszahlen-Filter (Isotope-Trigger) in einer Reihe –
   höhere Spezifität statt !important */
.page-headline-filter ul li {
    display: inline-block;
    margin-right: 15px;
    margin-bottom: 10px;
}

.page-headline-filter ul li a {
    font-weight: bold;
    text-decoration: none;
}

.page-news #body ul,
.page-news-detail #body ul {
    list-style-type: none;
}

.meldungen-full .isotope-item {
    border-bottom: 1px solid #DDDDDD;
    padding: 20px 0;
    overflow: hidden;
    margin-left: 0;
}


/* MASONRY KACHEL LAYOUT */
#portfolio-wrapper.layout-masonry {
  margin: 0 -1rem;
  width: auto;
  float: none;
  margin-top: 1rem;
}
@media (min-width: 768px) { 
    #portfolio-wrapper:not(.layout-masonry) div {margin-left:0px;}
    #portfolio-wrapper:not(.layout-masonry) div > .left {padding-right:20px;}
    #portfolio-wrapper:not(.layout-masonry):last-child {margin-bottom:35px;}
}

#portfolio-wrapper.layout-masonry .isotope-item {
  padding: 1rem;
  margin-left: 0;
}
#portfolio-wrapper.layout-masonry .isotope-item .left,
#portfolio-wrapper.layout-masonry .isotope-item .right {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}
#portfolio-wrapper.layout-masonry .isotope-item {
  width: 33.33%;
}
@media(max-width: 767px) {
  #portfolio-wrapper.layout-masonry .isotope-item {
    width: 50%;
  }
}
@media(max-width: 500px) {
  #portfolio-wrapper.layout-masonry .isotope-item {
    width: 100%;
  }
}
#portfolio-wrapper.layout-masonry .isotope-item h3 {
-webkit-hyphens: none; -ms-hyphens: none; -moz-hyphens: none; hyphens: none;
}
@media (min-width: 721px) and (max-width:979px) { 
    #portfolio-wrapper.layout-masonry .isotope-item {
      width: 50%;
    }
}
@media (max-width:720px) { 
    #portfolio-wrapper.layout-masonry .isotope-item {
      width: 100%;
    }
}

#portfolio-wrapper.layout-masonry .isotope-item .right {
    background:#F8F9FA;
    padding: 20px;
    flex-grow: 1;
}
/* */


#portfolio-wrapper {
    margin-bottom: 30px;
}

#portfolio-wrapper div {
    margin-left: 0;
}

#portfolio-wrapper div > .left {
    padding-right: 20px;
}

#portfolio-wrapper:last-child {
    margin-bottom: 35px;
}

.unread {
    background: #0000FF;
    color: #FFFFFF;
    font-size: 12px;
    text-transform: uppercase;
    padding: 0 3px 0 5px;
    margin-right: 10px;
}

.date-post time {
    padding-right:15px;
}



/* --- Custom Row Fluid Variants --- */
.row-fluid-custom3 [class*="span"]  { margin-right: 1.9%;  margin-top: 5px; }
.row-fluid-custom3 .span3           { width: 23%; }

.row-fluid-custom4img [class*="span"] { margin-right: 1.70%; padding-left: 5px; padding-right: 5px; margin-top: 5px; }
.row-fluid-custom4img .span4          { width: 31.5%; }
.row-fluid-custom4img .span3          { width: 23.2%; }
.row-fluid-custom4img .span2          { width: 14.9%; }

.row-fluid-custom4 [class*="span"]  { margin-right: 1.9%;  margin-top: 5px; }
.row-fluid-custom4 .span4           { width: 31.3%; }

.row-fluid-custom2 [class*="span"]  { margin-right: 2.1%;  margin-top: 5px; }
.row-fluid-custom2 .span2           { width: 14.5%; }

/* --- Remaining Images Gallery --- */
/* Container vorbereiten, damit Floats gecleart werden */
.remaining-images-container {
    display: block;
    clear: both;
}

.remaining-images-container::after {
    content: "";
    display: table;
    clear: both;
}

/* Sicherheits-Fix für direkt nachfolgende Boxen */
.remaining-images-container + div,
.remaining-images-container + section,
.remaining-images-container + .widget,
.remaining-images-container + fieldset {
    clear: both;
    margin-top: 20px;
}






 /* Original Code aus style_client.css */
     /* Variante: 1. Bild sichtbar und groß */
    .remaining-images-container {
        width: 100%;
    }
    .remaining-images-container .remaining-images-item {
        width: 47%;
        display: inline-block;
        margin-bottom: 10px;
    }
    /* 1. Bild groß */
    /* ab dem x-ten Bild ausblenden: n+6 blendet ab dem 5. Bild aus */
    .remaining-images-container .remaining-images-item:nth-child(n+6) {
        display: none;
    }

    .remaining-images-container .remaining-images-item:nth-child(even) {
        margin-left: 3%;
    }

    .remaining-images-container .remaining-images-item:nth-child(odd) {
        margin-left: 3%;
    }
    .remaining-images-container .remaining-images-item:nth-child(-n+1) {
        width: 100%;
        margin-left: 0% !important;
    }
 /* Ende Original Code aus style_client.css */







.remaining-images-container .remaining-images-item {
    float: left;
    box-sizing: border-box;
}

/* 1. Bild nimmt die volle Breite ein */
.remaining-images-container .remaining-images-item:nth-child(1) {
    width: 100%;
    float: none;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 15px;
}

/* Alle Elemente ab Bild 2: zweispaltig */
.remaining-images-container .remaining-images-item:nth-child(n+2) {
    /*width: 48.5%;*/
    width: 47%;
    margin-bottom: 15px;
}

/* Linke Spalte (Bild 2, 4, …) */
.remaining-images-container .remaining-images-item:nth-child(even) {
    margin-left: 0;
    clear: left;
}

/* Rechte Spalte (Bild 3, 5, …) */
.remaining-images-container .remaining-images-item:nth-child(odd) {
    margin-left: 3%;
}

/* Ab Bild 6 ausblenden */
.remaining-images-container .remaining-images-item:nth-child(n+6) {
    display: none;
}

/*
Variante: 1. Bild ausgeblendet, 2. Bild groß
ACHTUNG: Problem, wenn 1. Bild nur thumbnail ist

.remaining-images-container .remaining-images-item:nth-child(1)    { display: none; }
.remaining-images-container .remaining-images-item:nth-child(-n+2) { width: 100%; margin-left: 0; }
.remaining-images-container .remaining-images-item:nth-child(n+7)  { display: none; }
.remaining-images-container .remaining-images-item:nth-child(odd)  { margin-left: 0; }
.remaining-images-container .remaining-images-item:nth-child(even) { margin-left: 3%; }
*/



/* ==========================================================================
   5. HEADER & NAVBAR
   ========================================================================== */
#header {
    position: relative;
}

#header.navbar {
    min-width: 0;
    background: transparent;
    margin: 0;
    height: 80px;
    overflow: visible;
}

#header .navbar-inner {
    top: 0;
    width: 100%;
    margin: 0;
    margin-bottom: -2px;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    padding: 0;
    border-radius: 0;
    min-height: 0;
}

#header a.brand {
    margin: 15px 0 0 0;
    font-size: 30px;
}

#header .brand img {
    width: auto;
    max-height: 57px;
    margin: 5px 0 7px 0;
}

#header .logo-container {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    overflow: hidden;
}

#header .sub-title {
    position: absolute;
    right: 20px;
    top: 45px;
    font-size: 16px;
    line-height: 24px;
    text-transform: uppercase;
    color: #333333;
}

#header .navbar-inner .nav > li.dropdown {
    margin: 0 5px;
}

.navbar-inner .nav > li.dropdown > a {
    padding-left: 5px;
    padding-right: 5px;
}

#header .navbar-inner .nav > li.dropdown > a,
#header .navbar-inner .nav > li.dropdown > button {
    padding: 6px 8px 4px 8px;
    min-width: 42px;
}

#header .navbar-inner .nav > li.dropdown > a > .label,
#header .navbar-inner .nav > li.dropdown > button > .label {
    line-height: 20px;
    margin-left: 5px;
}

#header .navbar-inner li.dropdown .dropdown-toggle .label {
    position: relative;
    top: -3px;
    font-size: 11px;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    display: inline-block;
}

#header.navbar-inverse .navbar-inner {
    margin: 0;
}

#header.navbar-inverse .divider-vertical {
    height: 40px;
}

.navbar .divider-vertical {
    border: 0;
}

#header .top-nav .dropdown-menu {
    margin-top: 3px;
}

#header .nav .dropdown .lang-short {
    display: inline-block;
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
}

.navbar-inverse .brand,
.navbar-inverse .nav > li > a,
.navbar-inverse .nav > li span {
    color: #000000;
}

.navbar-inverse .nav > li > a:focus,
.navbar-inverse .nav > li > a:hover {
    color: #000000;
    background-color: transparent;
}

.navbar-inverse .btn-navbar {
    background: #000000;
}

.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret,
.navbar-inverse .nav li.dropdown > a:hover .caret,
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
    border-top-color: #000000;
    border-bottom-color: #000000;
}

a#main_menu_trigger {
    padding: 7px 11px 5px 10px;
    height: 35px;
    box-sizing: border-box;
    color: #fff;
    min-width: 42px;
}

a#main_menu_trigger span.fa-bars {
    font-size: 21px;
}

.breadcrumb {
    border-radius: 0;
    box-shadow: none;
    padding-right: 30px;
    margin-bottom: 20px;
    margin-top: 20px;
    text-shadow: none;
    border: 0;
    border-bottom: 1px solid #ddd;
    font-size: 12px;
}
.breadcrumb li a {
    color: #999999;
}



/* ==========================================================================
   6. SIDEBAR & NAVIGATION SYSTEM
   ========================================================================== */
#sidebar.closed {
    display: none;
}

#sidebar .navbar-search {
    border: 0;
    box-shadow: none;
}

#sidebar .search-query {
    width: 100%;
    height: auto;
    box-sizing: border-box;
}

#sidebar .menu-bottom-search .search-query {
    padding-right: 14px;
}

#sidebar .input-container {
    position: relative;
    box-sizing: border-box;
    background: transparent;
    height: 100%;
}

#sidebar .menu-bottom-search {
    width: 100%;
    height: 100px;
    overflow: hidden;
    margin: 20px 0 0 0;
}

#sidebar .menu-bottom-search button,
#sidebar .menu-bottom-search .btn {
    margin-top: 35px;
}

#sidebar .menu-bottom-search .input-wrap {
    max-width: 100%;
    position: absolute;
    left: 10px;
    right: 10px;
}

.sidebar-toggler {
    border-radius: 4px 0 0 4px;
    cursor: pointer;
    display: block;
    float: right;
    margin-top: 12px;
    width: 23px;
    height: 23px;
    background: #e9ebec;
    background-image: linear-gradient(to bottom, #e9ebec, #caced1);
    background-repeat: repeat-x;
}

.sidebar-toggler:before {
    margin: 2px 2px 7px 8px;
    display: block;
    font-size: 18px;
}

/* --- Navigation Lists --- */
#sidebar > ul {
    list-style: none;
    margin: 0;
    padding: 0;
    border-radius: 0;
}

#sidebar > ul > li {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
}

#sidebar > ul > li > a {
    display: block;
    position: relative;
    margin: 0;
    padding: 10px 15px 10px 15px;
    border-radius: 0;
    text-decoration: none;
    font-size: 14px;
    text-transform: uppercase;
    background: #333;
    color: #fff;
    font-weight: normal;
    border-bottom: 1px solid #666666;
}

#sidebar > ul > li > a:last-child {
    border-bottom: none;
}

#sidebar > ul > li a i {
    color: #999;
    font-size: 18px;
}

#sidebar > ul > li > a:hover {
    background: #F5F5F5;
}

#sidebar > ul > li.active > a {
    font-weight: bold;
    color: #FFFFFF;
    border: none;
}

#sidebar > ul > li.active a i {
    color: #FFFFFF;
}

#sidebar > ul > li.active > a .arrow,
#sidebar > ul > li.active > ul.sub > li.active > a .arrow {
    margin-right: 1px;
}

#sidebar > ul > li.active > a .arrow.open,
#sidebar > ul > li.active > ul.sub > li.active > a .arrow.open {
    margin-right: 0;
}

/* --- Arrows --- */
#sidebar ul > li > a .arrow {
    float: right;
    margin-top: 6px;
    margin-right: 5px;
    width: 0;
    height: 0;
    border-right: 5px solid #AAAAAA;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
}

#sidebar > ul > li > a .arrow.open {
    float: right;
    margin-top: 10px;
    margin-right: 3px;
    width: 0;
    height: 0;
    border-top: 5px solid #333333;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
}

#sidebar ul > li.active > a .arrow.open,
#sidebar ul > li.active.open > a .arrow,
#sidebar ul.sub > li.active > a .arrow.open,
#sidebar ul.sub > li.active.open > a .arrow {
    float: right;
    margin-top: 7px;
    margin-right: 3px;
    width: 0;
    height: 0;
    border-top: 5px solid #FFFFFF;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
}

/* --- Sidebar Levels & Nested Elements --- */
#sidebar > ul > li > ul.sub {
    display: none;
    list-style: none;
    clear: both;
    margin: 0;
    background: #DDDDDD;
}

#sidebar > ul > li > ul.sub > li > ul.subsub {
    list-style: none;
    clear: both;
    margin: 0;
    background: #EEEEEE;
}

#sidebar > ul > li > ul.sub > li > ul.subsub > li > ul.subsubsub,
#sidebar > ul > li > ul.sub > li > ul.subsub > li > ul.subsubsub > li > ul.subsubsubsub {
    margin: 0;
}

#sidebar > ul > li.active > ul.sub,
#sidebar > ul > li.active > ul.sub > li > ul.subsub > li.active {
    display: block;
}

#sidebar > ul > li > ul.sub > li,
#sidebar > ul > li > ul.sub > li > ul.subsub li {
    background: none;
    padding: 0;
    list-style-type: none;
}

#sidebar > ul > li > ul.sub > li > a {
    display: block;
    position: relative;
    margin: 0;
    padding: 8px 15px;
    text-decoration: none;
    font-size: 12px;
    font-weight: normal;
    border-bottom: 1px solid #EEEEEE;
    color: #000000;
}

#sidebar > ul > li > ul.sub > li > ul.subsub > li > a {
    display: block;
    position: relative;
    margin: 0;
    padding: 4px 13px 4px 25px;
    text-decoration: none;
    font-size: 12px;
    font-weight: normal;
    background: none;
    color: #333333;
}

#sidebar > ul > li > ul.sub > li > ul.subsub > li > ul.subsubsub > li > a {
    display: block;
    position: relative;
    margin: 0;
    padding: 4px 13px 4px 40px;
    text-decoration: none;
    font-size: 12px;
    font-weight: normal;
    background: none;
    color: #333333;
}

#sidebar > ul > li > ul.sub > li > ul.subsub > li > ul.subsubsub > li > ul.subsubsubsub > li > a {
    display: block;
    position: relative;
    margin: 0;
    padding: 4px 13px 4px 55px;
    text-decoration: none;
    font-size: 12px;
    font-weight: normal;
    background: none;
    color: #333333;
}



/* --- Sidebar Hover / Focus --- */
#sidebar > ul > li > a:hover,
#sidebar > ul > li > a:focus,
#sidebar > ul > li > ul.sub > li > a:hover,
#sidebar > ul > li > ul.sub > li > a:focus,
#sidebar > ul > li > ul.sub > li > ul.subsub > li > a:hover,
#sidebar > ul > li > ul.sub > li > ul.subsub > li > a:focus,
#sidebar > ul > li > ul.sub > li > ul.subsub > li > ul.subsubsub > li > a:hover,
#sidebar > ul > li > ul.sub > li > ul.subsub > li > ul.subsubsub > li > a:focus,
#sidebar > ul > li > ul.sub > li > ul.subsub > li > ul.subsubsub > li > ul.subsubsubsub > li > a:hover,
#sidebar > ul > li > ul.sub > li > ul.subsub > li > ul.subsubsub > li > ul.subsubsubsub > li > a:focus,
#sidebar > ul > li > ul.sub > li.active > a:hover,
#sidebar > ul > li > ul.sub > li.active > ul.subsub > li.active > a:hover,
#sidebar > ul > li > ul.sub > li.active > ul.subsub > li.active > ul.subsubsub > li.active > a:hover,
#sidebar > ul > li > ul.sub > li.active > ul.subsub > li.active > ul.subsubsub > li.active > ul.subsubsubsub > li.active > a:hover  {
    color: #FFF;
    background-color: #000000;
}

#sidebar > ul > li > ul.sub > li.active > a,
#sidebar > ul > li > ul.sub > li.active > ul.subsub > li.active > a,
#sidebar > ul > li > ul.sub > li.active > ul.subsub > li.active > ul.subsubsub > li.active > a,
#sidebar > ul > li > ul.sub > li.active > ul.subsub > li.active > ul.subsubsub > li.active > ul.subsubsubsub > li.active > a {
    color: #000;
    font-weight: bold;
}



/* ==========================================================================
   7. SEARCH, USER AREA & SEARCH BOXES
   ========================================================================== */
#header .search-query,
#sidebar .search-query {
    padding-right: 30px;
}

#quick_search {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    height: 36px;
}

.search-input-icon {
    width: 100%;
    max-width: 300px;
    position: relative;
}

.search-input-icon a {
    display: block;
    height: 30px;
    position: absolute;
    right: 0;
    top: 3px;
    width: 35px;
}

.search-input-icon i.fa-search,
#header .search-input-icon i.fa-search {
    font-size: 20px;
    padding: 5px 5px 5px 8px;
    color: #000;
}

.full-width .search-input-icon {
    max-width: 100%;
}

.suche-user-container {
    margin: 105px 0 0 10px;
    position: absolute;
    right: 15px;
    width: 100%;
    max-width: 460px;
}

.suche-user-container.full-width {
    width: auto;
    max-width: 100%;
    left: 0;
}

ul.suche-user {
    list-style-type: none;
    margin: 25px 0 0 0;
    padding: 0;
    float: right;
}

ul.suche-user li {
    display: inline-block;
}

.top-row {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 0 0 0 20px;
    box-sizing: border-box;
}

.top-row .suchfeld {
    min-width: 175px;
    width: calc(100% - 200px);
}

.top-row .user-data {
    display: flex;
    justify-content: flex-end;
}

.top-row .language-select {
    width: 100px;
    height: 36px;
}



/* ==========================================================================
   8. FILTERS (YEAR & MONTH)
   ========================================================================== */
#filters {
    display: block;
}

#filters ul {
    margin: 0;
    padding: 0;
}

#filters ul li {
    display: inline;
}

#filters a {
    background: #FFFFFF;
    border: 1px solid #DDDDDD;
    color: #000000;
    display: inline-block;
    margin: 0 4px 10px 0;
    padding: 4px 7px;
    transition: all 0.1s ease-in-out 0s;
}

#filters .selected {
    background: #000;
    color: #FFFFFF;
    text-decoration: none;
}



/* ==========================================================================
   9. WIDGETS & FUNCTIONAL CLASSES
   ========================================================================== */
.widget-list {
    border: 0;
    background: none;
    border-radius: 0;
}

.widget-list-right {
    border-bottom: 0;
    /*padding: 0 5px 5px 5px;*/
    border-radius: 0;
}

.widget-transparent {
    border: 0;
    background: none;
    border-left: 1px solid #e0dede;
    border-radius: 0;
}

.widget-body-transparent {
    border-bottom: 0;
    padding: 5px 5px 5px 25px;
    border-radius: 0;
}

.address-widget {
    border: 0;
    background: none;
    border-left: 1px solid #e0dede;
    border-radius: 0;
}

.address-widget-body {
    border-bottom: 0;
    padding: 0 5px 5px 25px;
    border-radius: 0;
}

.widget-title {
    background: #EFEFEF;
    background-image: linear-gradient(to bottom, #FDFDFD 0%, #EAEAEA 100%);
    border-bottom: 1px solid #e0dede;
    height: 36px;
    border-radius: 3px 3px 0 0;
}

.widget-title > h2 {
    color: #444;
    float: left;
    font-size: 13px;
    font-weight: bold;
    padding: 12px 11px 10px 15px;
    line-height: 12px;
    margin: 0;
}

.widget-title > h2 i {
    font-size: 14px;
    margin-right: 2px;
}

.widget-title span.tools {
    padding: 3px 5px 2px;
    float: right;
    margin: 6px 0 0 0;
}

.widget-title span.tools > a {
    display: inline-block;
    margin-right: 5px;
    color: #000000;
    font-size: 14px;
}

.widget-title span.tools > a:hover {
    text-decoration: none;
    transition: all 0.1s ease-in-out;
    opacity: 0.6;
}

.widget-title .btn-group {
    margin-right: 5px;
    margin-top: -2px;
}

.widget-title .btn-group .caret {
    margin-top: 8px;
    margin-left: 3px;
}

.widget-list-right .menue-logo {
    margin-bottom: 20px;
}

/* !important nötig um Bootstrap-Basisklassen zu überschreiben */
.tab-custom {
    border: 0 !important;
    padding: 10px 0 !important;
}

.tab-content {
    overflow: visible;
}

.sperrfrist {
    background: red;
    text-align: center;
    color: #FFFFFF;
    font-size: 16px;
    line-height: 24px;
    margin-top: 10px;
    margin-bottom: 30px;
}

.sperrfrist p {
    padding: 8px 20px;
}

.sperrfrist b {
    font-weight: bold;
}

.attachments {
    border-bottom: 1px solid #DDDDDD;
    margin: 0 0 20px 0;
    padding: 5px 0 25px 0;
}



/* ==========================================================================
   10. UTILITY CLASSES (GLOBAL)
   ========================================================================== */
/* Utilities brauchen !important – sie müssen immer gewinnen */
.hide            { display: none; }
.bold            { font-weight: bold; }
.italic          { font-style: italic !important; }
.no-padding      { padding: 0 !important; }
.no-margin       { margin: 0 !important; }
.no-bottom-space { padding-bottom: 0 !important; margin-bottom: 0 !important; }
.no-top-space    { padding-top: 0 !important; margin-top: 0 !important; }
.no-text-shadow  { text-shadow: none !important; }
.fix-margin      { margin-left: 0 !important; }
.btn-top-space   { margin-top: 5px !important; }
.login-email     { display: none !important; }
.border          { border: 1px solid #ddd; }

.small {
    font-size: 12px;
    line-height: 16px;
    color: #000;
    font-weight: bold;
}

/* --- Spacers --- */
.space5  { display: block; height: 5px;  clear: both; }
.space7  {                 height: 7px;  clear: both; }
.space10 {                 height: 10px; clear: both; }
.space12 {                 height: 12px; clear: both; }
.space15 {                 height: 15px; clear: both; }
.space20 {                 height: 20px; clear: both; }

/* --- Positioning & Alignment --- */
.right        { float: right; }
.left         { float: left; }
.text-right   { text-align: right; }
.right-fixed  { position: absolute; right: 4px; top: 4px; }
.pad0         { padding: 0; }
.pad-top-20   { padding-top: 20px; }
.mt10         { margin-top: 10px; }
.mb0          { margin-bottom: 0; }
.mb30         { margin-bottom: 30px; }
.tab-pad      { padding: 15px 0; }
.tab-pad0     { padding: 0; }
.gallery      { margin-left: 0; }
.square       { border-radius: 4px; }
.dd-icon      { font-size: 20px; }

.block-margin-bottom-5 {
    display: inline-block;
    margin-bottom: 5px;
}

.phone-margin-top-5:before {
    display: block;
    margin-top: 5px;
}

/* --- Buttons --- */
/* .btn font-size: Bootstrap überschreiben braucht !important hier */
.btn { font-size: 14px !important; }

.btn.btn-text {
    background: none;
    border: 0;
    outline: 0;
    cursor: pointer;
    color: inherit;
    font-family: inherit;
    font-size: inherit;
    padding: 0;
    margin: 0;
}

.btn.btn-text:hover {
    background: transparent;
    text-decoration: underline;
    color: inherit;
}

.btn {
    display: inline-block;
    padding: 8px 12px;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 20px;
    color: #333333;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    background-color: #fff;
    border: 1px solid #909090;
    border-radius: 4px;
}

.btn-primary {
    color: #FFFFFF;
    background: #000000;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled] {
    color: #FFFFFF;
    background: #333333;
    text-decoration: none;
}

.btn-inverse {
    color: #000000;
    background: #E6E6E6;
}

.btn-inverse:hover,
.btn-inverse:focus,
.btn-inverse:active,
.btn-inverse.active,
.btn-inverse.disabled,
.btn-inverse[disabled] {
    color: #000000;
    background: #DDDDDD;
    text-decoration: none;
}

.btn-primary.active,
.btn-inverse.active {
    color: rgba(255, 255, 255, 0.75);
}

.btn-block {
    display: block;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    box-sizing: border-box;
}

.btn-block + .btn-block {
    margin-top: 5px;
}

.btn-block > [class^="fa-"],
.btn-block > [class*=" fa-"],
.print-mail [class^="fa-"],
.print-mail [class*=" fa-"],
p.print [class^="fa-"],
p.print [class*=" fa-"] {
    margin-right: 10px;
}

.btn.disabled,
.btn[disabled] {
    cursor: default;
    background-image: none;
    opacity: .65;
    box-shadow: none;
}

/* --- Fancybox --- */
.fancybox-container h5,
.fancybox-container .fancybox-header {
    width: auto;
    max-width: 600px;
    font-weight: bold;
    margin-top: 6px;
    font-size: 13px;
    line-height: 18px;
}

.fancybox-inner img {
    max-height: 500px;
}

.fancybox-inner p {
    margin-bottom: 0;
}

.fancybox-nav {
    top: 30px !important;
    height: auto !important;
    bottom: 40px !important;
}

@keyframes btn-copied-anim {
    0% { opacity: 0; }
    25% { opacity: 1; }
    75% { opacity: 1; }
    100% { opacity: 0; }
}

.btn-copied {
    position: relative;
}

.btn-copied::before {
    content: '\f0ea';
    font-family: 'FontAwesome';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: #0c0;
    color: #fff;
    text-align: center;
    animation: btn-copied-anim 1s both;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
}


/* ==========================================================================
   11. FOOTER
   ========================================================================== */
#footer {
    padding: 18px 20px 20px 20px;
    font-size: 13px;
    line-height: 18px;
    border-top: 1px solid #cacaca;
    background: #EFEFEF;
}

#footer .footer-box {
    margin: 0 auto;
    max-width: 1200px;
}

#footer a:not(.btn) {
    color: #000000;
    text-decoration: underline;
    padding-top: 4px;
    padding-bottom: 4px;
    display: inline-block;
}

#footer .container-fluid {
    padding-left: 0;
}

.hl_footer {
    text-transform: uppercase;
    font-size: 14px;
    line-height: 28px;
    font-weight: bold;
}



/* ==========================================================================
   12. LOGIN PAGE STYLES
   ========================================================================== */
/* body.login überschreibt gezielt – !important ist hier semantisch korrekt,
   da ein konkreter Kontext (Loginseite) alle anderen Varianten dominieren muss */
body.login {
    background: #cacaca !important;
    background-size: cover !important;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

body.login .page-wrapper {
    max-width: 910px !important;
    background: rgba(255, 255, 255, 0.95) !important;
    clear: left;
    overflow: auto;
    padding: 40px;
}

body.login #container {
    background: none;
}

body.login #body {
    min-height: 250px;
    margin-left: 0;
    padding-top: 0;
}

body.login .container-fluid {
    padding: 0;
}

body.login #page {
    padding-bottom: 0;
    margin-bottom: 0;
}

body.login #footer {
    padding: 12px 0;
    background: transparent;
    border: 0;
    margin-top: 5px;
}

body.login #footer .footer-box {
    max-width: 900px;
    margin: 0 auto;
}

body.login #footer .span12 {
    text-align: center;
    font-size: 13px;
    min-height: 24px;
}

body.login #footer .span12 br {
    display: none;
}

body.login #footer .span12 a {
    padding: 0 5px;
    color: #333;
    text-decoration: none;
}

body.login #footer .span12 a:hover {
    color: #000;
    text-decoration: underline;
}

#login {
    margin: 30px auto 0 auto;
    background: #cacaca;
    padding: 20px;
    width: 100%;
    box-sizing: border-box;
}

.logo { margin-bottom: 4px; }

/* --- Login Form --- */
.login .control-group {
    margin: 0;
}

.custom-group {
    padding-bottom: 10px;
}

.controls-custom {
    margin-left: 160px;
}

.checkbox-behind {
    margin-top: -17px;
    margin-left: 24px;
}

.custom-label {
    width: 150px;
    text-align: left;
}

.form-horizontal .control-label {
    float: left;
    width: 160px;
    padding-top: 5px;
}

.login fieldset.control-group[id$="_div_main"]:has(.shift-left-head) {
    margin: 0 6px;
}

.login fieldset.control-group[id$="_div_main"]:has(.shift-left-head) .controls-custom {
    margin-left: 0;
}

.login fieldset.control-group[id$="_div_main"]:has(.shift-left-head) .controls-custom .checker {
    left: -160px;
}

.login fieldset > legend {
    font-size: 14px;
    line-height: 20px;
    margin: 12px 0 6px 0;
    border: none;
    color: #333;
}

form legend {
    margin: 15px 0 10px 0 !important;
}

fieldset > legend {
    font-size: 14px;
    line-height: 20px;
    margin: 12px 0 6px 0 !important;
    border: none;
    color: #333;
}

fieldset > legend.checkbox-group {
    line-height: 16px;
    margin: 4px 0 0 0 !important;
}


.div-error label,
.div-error input,
.div-error span,
.div-error a,
.div-error h4 {
    color: red;
}

.language-desktop {
    position: absolute;
    right: 0;
    top: 0;
}

.login ul.buttons {
    margin: 20px 0 0 0;
    overflow: hidden;
}

.login ul.buttons li {
    list-style-type: none;
    float: left;
    display: inline-block;
    margin: 0 10px 0 0;
}

.login #page select {
    margin-bottom: 10px;
}



/* ==========================================================================
   13. VISIBILITY TOGGLES (ICONS AUSBLENDEN)
   ========================================================================== */
.page-contact ul.breadcrumb li i,
.page-dataprotection ul.breadcrumb li i,
.page-eventeinladung ul.breadcrumb li i,
.page-imprint ul.breadcrumb li i,
.page-info ul.breadcrumb li i,
.page-media ul.breadcrumb li i,
.page-media-detail ul.breadcrumb li i,
.page-news ul.breadcrumb li i,
.page-news-detail ul.breadcrumb li i,
.page-search ul.breadcrumb li i,
.page-termsandconditions ul.breadcrumb li i,
.page-news-detail .blender-icon h3 > i,
.breadcrumb i,
.blender-icon i,
#sidebar ul li a i {
    display: none;
}



/* ==========================================================================
   14. FORMS & INPUT ELEMENTS
   ========================================================================== */
select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
    display: inline-block;
    height: 30px;
    padding: 4px 6px;
    margin-bottom: 10px;
    line-height: 20px;
    color: #333;
    border-color: #909090;
    border-radius: 4px;
    vertical-align: middle;
}

/* --- Checkboxes & Radios --- */
.radio,
.checkbox {
    min-height: 20px;
    padding-left: 20px;
}

/* Bootstrap-Override: padding-left zurücksetzen */
.radio,
.checkbox {
    padding-left: 0;
}

.radio input[type="radio"], 
.checkbox input[type="checkbox"] {
    margin-left: 0px;
}

div.radio {
    margin-right: 3px;
}

div.radio,
div.radio input,
div.radio span {
    width: 18px;
    height: 18px;
}

div.checker,
div.radio,
div.uploader {
    position: relative;
}

div.button, div.button *,
div.checker, div.checker *,
div.radio, div.radio *,
div.selector, div.selector *,
div.uploader, div.uploader * {
    margin: 0;
    padding: 0;
}

div.button,
div.checker,
div.radio,
div.selector,
div.uploader {
    display: inline-block;
    vertical-align: middle;
}

.attachments input {
    padding: 0 5px;
    line-height: 30px;
    height: 30px;
}

/* --- Labels & Info --- */
.label-info-custom {
    background: none;
    color: #333333;
    font-size: 16px;
    top: -1px;
    padding: 0;
}

.contact-form {
    display: none;
}



/* ==========================================================================
   15. CONTENT COMPONENTS
   ========================================================================== */
/* --- Badges --- */
.badge {
    vertical-align: middle;
    text-shadow: none;
    font-size: 12px;
    font-weight: bold;
    line-height: 10px;
    padding: 4px 9px;
    background: transparent;
    color: #333;
    border: 1px solid #777;
    position: relative;
    bottom: 1px;
}

/* --- Close Button --- */
.close {
    font-weight: bold;
    color: #000;
    font-size: 24px;
    line-height: 24px;
    opacity: 0.4;
    }

.close:focus,
.close:active {
  outline: 1px solid rgba(82, 168, 236, 0.6);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
  opacity: 1;
}

.close:hover {
  opacity: 1 !important;
}


/* --- Date / Media Metadata --- */
.date {
    color: #777777;
    padding-bottom: 10px;
}
.date-bottom {
    color: #777777;
    padding-top: 15px;
}

.media-contentdesc {
    border-top: 1px dotted #ccc;
    border-bottom: 1px dotted #ccc;
    margin: 15px 0 10px 0;
    font-size: 14px;
    line-height: 20px;
    color: #000;
    display: grid;
    grid-template-columns: 90px auto;
    background: #F7F7F7;
    clear: both;
}

.media-contentdesc dt {
    font-weight: normal;
    grid-column-start: 1;
    padding: 4px;
}

.media-contentdesc dd {
    grid-column-start: 2;
    padding: 4px;
    color: #666666;
}

/* --- Article / News --- */
ul.meldungen,
ul.meldungen-full {
    padding: 0;
    margin: 0;
}

ul.meldungen-full li {
    border-bottom: 1px dotted #DDDDDD;
    padding: 20px 0;
    list-style-type: none;
}

.page-contact ul.meldungen-full li .row-fluid div:first-child,
.page-contact ul.meldungen-full li .row-fluid div.span12 {
    margin-left: 0;
}

#topmeldungen article h3,
.verwandt article h3 {
    margin: 5px 0;
    font-size: 14px;
    line-height: 20px;
}

#loading_1 {
    padding: 0 0 30px 0;
    color: #000000;
    margin-left: 0;
    clear: both;
}

/* --- Images & Figures --- */
.image-main {
    background: #EEEEEE;
    text-align: center;
    margin-top: 10px;
}

.img-subline {
    background: #EFEFEF;
    padding: 0px 8px;
    font-size: 11px;
    line-height: 15px;
    color: #999999;
    position: relative;
    font-style: italic;
    overflow: hidden;
}

.fancybox-inner .img-subline,
.image-main .img-subline {
    background: none;
    padding: 0;
}
.page-news-detail .image-main .img-subline,
.page-info .image-main .img-subline {
    padding-bottom: 5px;
}

.filecopyright {
    padding-bottom: 10px;
    font-size: 11px;
    color: #999999;
    position: relative;
    font-style: italic;
    text-align: left;
    line-height: 15px;
    float: left;
    margin-top: 15px;
}

.tabbable .filecopyright {
    padding-left: 0;
}

.page-news-detail .tabbable .filecopyright,
.page-media-detail .tabbable .filecopyright,
.page-info .tabbable .filecopyright {
    text-align: center;
    padding-left: 0;
    width: 100%;
}

.page-media #portfolio-wrapper .filecopyright {
    text-align: center;
    width: 100%;
    padding: 10px 0 5px 0;
}

.page-search #portfolio-wrapper .filecopyright {
    text-align: left;
    width: 100%;
    padding: 5px 0 5px 0;
}


.page-news .filecopyright {
    padding-left: 0;
    padding-right: 0;
}

.page-news-detail section.attachments .filecopyright {
    text-align: left;
}

article figcaption {
    margin-top: 5px;
    padding: 0px;
    font-size: 12px;
    line-height: 18px;
    color: #666666;
}

figcaption a:hover {
    text-decoration: none;
    color: #222222;
}

figcaption div {
    color: #000000;
    font-size: 12px;
}

ul.audio figcaption,
ul.videos figcaption,
ul.dokumente figcaption {
    padding: 0px;
}

.page-media figcaption h2,
.page-media-detail figcaption h2 {
    font-size: 14px;
    margin: 0px;
}

.rueckfrage img {
    margin-bottom: 15px;
}

/* --- Portfolio / Lightbox --- */
figure > a.portfolio-item {
    width: 100%;
    padding-top: 100%;
    display: block;
    position: relative;
}

figure > a.portfolio-item .zoom {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
}

figure > a.portfolio-item img {
    max-height: 100%;
    max-width: 100%;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    margin: auto;
}

figure > a.portfolio-item .file-description {
    bottom: 0;
}

figure a:first-child {
    position: relative;
    display: block;
}

.media-next,
.media-prev {
  float: right !important;
  font-size: 16px;
}

.files-count {
    background-color: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5);
    position: absolute;
    z-index: 10;
    bottom: 35px;
    padding: 4px 10px;
    color: #FFFFFF;
}

.image-overlay-link,
.image-overlay-zoom {
    background: none no-repeat scroll 50% center rgba(0, 0, 0, 0.7);
    cursor: pointer;
    display: none;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 40;
}

.image-overlay-link { background-image: url("../images/overlay-icon-01.png"); }
.image-overlay-zoom { background-image: url("../images/overlay-icon-02.png"); }

.zoom {
    cursor: pointer;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 5;
}

.zoom .zoom-icon {
    background-image: url(../img/overlay-icon.png);
    background: #222;
    background-repeat: no-repeat;
    background-position: 50%;
    position: absolute;
    width: inherit;
    height: inherit;
    opacity: 0;
    z-index: 6;
    top: 0;
}

.item a:hover .zoom-icon {
    opacity: 0.5;
}

.file-description {
    background: rgba(0, 0, 0, 0.5);
    color: rgba(0, 0, 0, 0.5);
    position: absolute;
    z-index: 15;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
}

.file-description p {
    padding: 10px 15px;
    color: #FFFFFF;
    overflow: hidden;
}

.item-description {
    background: #EEEEEE;
    border-bottom: 2px solid #E5E5E5;
    padding: 5px 10px 5px 10px;
    transition: all 180ms ease-in-out 0s;
    text-align: center;
}

.item-description .titel {
    display: block;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: bold;
    min-height: 18px;
    margin: 0;
}

.item-description .fileinfo {
    font-size: 11px;
}

.item-description:hover {
    border-bottom: 2px solid #cacaca;
}

#tab_images #portfolio-wrapper a:hover {
    text-decoration: none;
}

/* --- Lightbox Table --- */
h2#lightbox-header {
    margin-bottom:0px;
    font-size: 18px;
}

.lightbox-button {
    clear: both;
    padding-top: 20px;
}

.lightbox-tr-img {
    /*text-align: center;*/
    width: 25%;
}

.lightbox-tr-img > img {
    max-width: 100px;
    max-height: 100px;
}

.lightbox-tr-data,
.lightbox-tr-data div {
    font-size:12px;
    line-height: 18px;
    color: #666666;
}

.lightbox-title {
    font-size: 14px;
    color: #000000;
}

.lightbox-info {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    font-size: 12px;
}

.lightbox-tr-del {
    width: 25px;
    text-align: center;
    vertical-align: middle;
    padding-right: 10px;
}

.lightbox-tr-del > a {
    font-size: 26px;
    opacity: 0.6;
    /*padding: 3px 8px;*/
}

.lightbox-tr-del > a:focus {
    outline: rgba(82, 168, 236, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
    opacity: 1;
}

.lightbox-tr-del > a:hover {
    opacity: 1;
    text-decoration: none;
}

/* --- Download Lists --- */
.download-list {
    line-height: 18px;
    margin: 10px 0 0 0;
    color: #999999;
}

.download-list-middle {
    line-height: 18px;
    margin: 10px 0;
    text-align: center;
}

.download-list span,
.download-list-middle span {
    padding: 0 10px 0 0;
}

ul.download-icons {
  margin: 0;
  padding: 0;
  float: right;
}

ul.download-icons li {
  list-style-type: none;
  display: inline-block;
}

ul.download-icons li.pdf,
ul.download-icons li.word {
  background: url(../img/icon_pdf4.png) no-repeat left top;
  padding: 0 20px 0 40px;
  line-height: 18px;
  font-size: 11px;
}

ul.download-icons li.word {
  background: url(../img/icon_word4.png) no-repeat left top;
  padding: 0 0 0 40px;
}

ul.videos,
ul.audio,
ul.dokumente,
ul.verwandt,
.bilder {
  padding: 0;
  margin: 0;
}

ul.videos li,
ul.audio li,
ul.dokumente li,
ul.verwandt li {
  list-style-type: none;
  /*border-bottom: 1px dotted #CCCCCC;*/
  /*margin: 0 0 10px 0;*/
  padding-bottom: 15px;
}

ul.videos li:last-child,
ul.audio li:last-child,
ul.dokumente li:last-child,
ul.verwandt li:last-child  {
  margin: 0;
  border-bottom: 0;
  padding: 0 !important;
}

ul.verwandt li {
  list-style-type: none;
  border-bottom: 1px dotted #CCCCCC;
  margin: 0 0 10px 0;
  padding: 0 0 10px 0;
}

ul.verwandt li:last-child {
  margin-bottom: 0;
  border-bottom: 0;
  padding-bottom: 0;
}

ul.verwandt li .datum {
  font-size: 11px;
  color: #666666;
  line-height: 14px;
}

ul.videos img {
  margin-bottom: 5px;
}

/* --- Tables --- */
.table th,
.table td {
    padding: 5px 8px;
    line-height: 20px;
    text-align: left;
    vertical-align: top;
    border-top: 1px dotted #DDDDDD;
}

.table-bilder {
    border-bottom: 1px dotted #DDDDDD;
}

.table-bilder td {
    vertical-align: middle;
    line-height: 30px;
    font-size: 13px;
}

.table-advance {
    margin-bottom: 10px;
}

.table-advance thead {
    color: #999;
}

.table-advance thead tr th {
    background: #DDD;
    color: #000000;
}

.table-advance tr td {
    border-left-width: 0;
}

.table-advance tr td:first-child {
    border-left-width: 1px;
}

.radio-table {
    text-align: center;
    width: 35px;
    max-width: 35px;
}

td.size {
    color: #000000;
}

/* --- Section Headers --- */
.span4 section > header,
.article-aside aside > header,
article aside header,
.print .widget header,
.span4 section > h2,
.article-aside aside > h2,
article aside h2,
.print .widget h2 {
    margin-bottom: 7px;
    margin-top: 0px;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: bold;
}

/* --- Print Mail Bar --- */
.print-mail {
    font-size: 14px;
    border-top: 1px solid #EDEDED;
    border-bottom: 1px solid #EDEDED;
    padding: 5px;
    margin: 15px 0 30px 0;
    height: 35px;
}

.print-mail span {
    line-height: 35px;
}



/* ==========================================================================
   16. CONSENT & EXTERNAL IFRAMES
   ========================================================================== */
.consent-dependent {
    color: #666;
    font-size: 12px;
    margin: 1em 0;
    z-index: 2;
}

.consent-dependent.consent-grantable .consent-on-unavailable {
    display: none;
}

.consent-dependent.consent-grantable.consent-granted .consent-on-granted {
    display: block;
    font-style: italic;
    background: #efefef;
    padding: 10px;
    line-height: 18px;
}

.consent-dependent.consent-grantable.consent-granted .consent-on-rejected {
    display: none;
}

.consent-dependent.consent-grantable:not(.consent-granted) .consent-on-granted {
    display: none;
}

.consent-dependent.consent-grantable:not(.consent-granted) .consent-on-rejected {
    display: block;
}

.consent-dependent:not(.consent-grantable) .consent-on-unavailable {
    display: block;
}

.consent-dependent:not(.consent-grantable) .consent-on-granted,
.consent-dependent:not(.consent-grantable) .consent-on-rejected {
    display: none;
}

.external-iframe-wrapper {
    font-weight: 400;
}

.external-iframe-wrapper.external-has-datasrc {
    position: relative;
    box-shadow: inset #ccc 0 0 2px 1px;
    padding: 30px 0;
}

.external-iframe-wrapper.external-has-datasrc > iframe {
    border: none;
    position: relative;
}

.external-iframe-wrapper.external-has-datasrc .consent-external {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
}



/* ==========================================================================
   17. COOKIE INFO BANNER
   ========================================================================== */
#cookie-info {
    width: 720px;
    margin-left: -360px;
    max-height: calc(100vh - 60px);
    overflow-y: auto;
    top: 30px;
}

.cookie-info__body {
    max-height: none;
}

.cookie-info__body a,
.cookie-info__body a:hover {
    color: #03c;
    text-decoration: underline;
}

.cookie-info__text {
    overflow: hidden;
}

.cookie-info__text h2 {
    font-size: 16px;
    font-weight: bold;
    background: transparent;
    padding: 0;
    border: none;
}

.cookie-info__options {
    margin: 0.75em 0 0 0;
}

.cookie-info__option {
    border-radius: 0;
    border: 1px solid #ccc;
    border-bottom: none;
    margin: 0;
}

.cookie-info__option:last-child {
    border-bottom: 1px solid #ccc;
}

.cookie-info__option .cookie-info__option--head {
    font-size: 15px;
    font-weight: normal;
    margin-bottom: 0;
}

.cookie-info__option .cookie-info__option--head i {
    /* Spezifität reicht aus */
    font-size: 14px;
    font-weight: normal;
    line-height: inherit;
    margin-right: 8px;
}

.cookie-info__option a.accordion-toggle,
.cookie-info__option a.accordion-toggle:hover {
    display: inline-block;
    max-width: calc(100% - 60px);
    padding: 8px 5px;
    color: #000;
    text-decoration: none;
}

.cookie-info__option a.accordion-toggle:not(.collapsed) i.fa-plus { display: none; }
.cookie-info__option .accordion-toggle:not(.collapsed) i.fa-minus { display: inline; }
.cookie-info__option .accordion-toggle.collapsed i.fa-plus         { display: inline; }
.cookie-info__option .accordion-toggle.collapsed i.fa-minus        { display: none; }

.cookie-info__option .cookie-info__switch {
    float: right;
    padding: 0 5px;
    position: relative;
}

.cookie-info__option .cookie-info__switch input {
    display: none;
}

.cookie-info__option .cookie-info__switch .cookie-info__switch--base {
    display: inline-block;
    width: 42px;
    height: 24px;
    background: #eee;
    border: 1px solid #ccc;
    border-radius: 12px;
    position: absolute;
    top: 6px;
    right: 10px;
}

.cookie-info__option .cookie-info__switch .cookie-info__switch--knob {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: #aaa;
    border: 1px solid #aaa;
    border-radius: 10px;
    position: absolute;
    left: 2px;
    top: 1px;
    transition: left 0.3s ease-in 0s;
}

.cookie-info__option .cookie-info__switch.switch-on .cookie-info__switch--base {
    border: 1px solid #37e;
}

.cookie-info__option .cookie-info__switch.switch-on .cookie-info__switch--knob {
    background: #37e;
    left: 18px;
}

.cookie-info__option .cookie-info__switch a.cookie-info__switch--base {
    cursor: pointer;
}

.cookie-info__option .cookie-info__switch a.cookie-info__switch--base:hover .cookie-info__switch--knob {
    border: 1px solid #333;
}

.cookie-info__body .accordion-inner {
    border-top: none;
    padding-top: 0;
}

.cookie-info__body .cookie-info__option--details .vendor {
    padding: 0;
    font-weight: normal;
    font-size: 12px;
    line-height: 14px;
    text-align: left;
    border: 1px solid #ddd;
    margin-top: 8px;
    background: rgba(0, 0, 0, 0.035);
}

.cookie-info__body .cookie-info__option--details p {
    padding: 6px;
    font-weight: normal;
    font-size: 12px;
    line-height: 15px;
    text-align: left;
    margin-bottom: 0;
}

.cookie-info__body .cookie-info__option--details table {
    font-size: 11px;
    line-height: 12px;
    width: 100%;
    margin-top: 4px;
}

.cookie-info__body .cookie-info__option--details table th {
    padding: 6px;
    font-weight: normal;
    font-style: italic;
    text-align: left;
    border-bottom: 1px solid #ccc;
}

.cookie-info__body .cookie-info__option--details table td {
    padding: 4px;
}

#cookie-info .modal-footer {
    padding: 8px 15px;
    display: flex;
    flex-direction: column;
}

.cookie-info__buttons {
    display: flex;
    flex-direction: row;
}

.cookie-info__buttons > .btn {
    margin: 0 .5em;
}

.cookie-info__buttons > .btn:first-child {
    margin-left: 0;
}

.cookie-info__links {
    margin-top: 12px;
    text-align: left;
    display: flex;
    flex-direction: row;
}

.cookie-info__links > a:not(:last-child):after {
    content: "|";
    margin: 0 0.5em;
}



/* ==========================================================================
   18. EVENT INVITATION (EVENTEINLADUNG)
   ========================================================================== */
.eventeinladung #page {
    margin-top: 100px;
}

.eventeinladung #page ul {
    margin-top: 10px;
}

.eventeinladung #page ul li {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 7px;
}

.eventeinladung #page ul li:last-of-type {
    margin-bottom: 0;
}

.eventeinladung .breadcrumb {
    display: none;
}

.invitation {
    padding: 0 25px 30px 25px;
    text-align: center;
    margin-bottom: 20px;
}

.invitation .header {
    border-bottom: 1px solid #CCCCCC;
    margin: 0 0 20px 0;
}

.invitation .header_text {
    font-size: 46px;
    line-height: 50px;
    padding: 20px 0 5px 0;
    margin: 0 0 20px 0;
    color: #000000;
    font-weight: normal;
}

.invitation .subline1 {
    font-size: 18px;
    padding: 10px 0 0 0;
}

.invitation .subline2 {
    font-size: 18px;
    margin: 20px 0 0 0;
}

.invitation .name {
    font-size: 24px;
    font-weight: bold;
    line-height: 30px;
    text-transform: uppercase;
}

.invitation .art-titel {
    font-size: 46px;
    line-height: 50px;
    margin: 15px 0 20px 0;
    color: #000000;
    font-weight: normal;
}

.invitation .art-subtitel {
    font-size: 18px;
    line-height: 18px;
    margin: 0 0 20px 0;
    color: #000000;
    font-weight: normal;
}

.invitation .date {
    font-size: 18px;
    color: #000000;
    margin: 0;
    padding: 10px 0 0 0;
}

.invitation .venue {
    font-weight: bold;
    font-size: 18px;
    margin: 10px 0;
}

.invitation .address {
    font-size: 18px;
    margin: 0;
    padding: 0;
}

.invitation .language1 {
    text-align: left;
    margin: 25px 0 20px 0;
    padding: 15px 0 10px 0;
    font-size: 16px;
    line-height: 24px;
}

.invitation .language2 {
    font-size: 16px;
    line-height: 24px;
}

.invitation h2.content,
.invitation h3.content {
    font-weight: normal;
    padding: 6px 0;
    font-size: 16px;
    margin-bottom: 7px;
    border-bottom: 1px solid #CCCCCC;
}

.invitation ul.anmeldung {
    text-align: left;
    list-style-type: none;
    background: #DDDDDD;
    padding: 20px;
    margin: 0 0 20px 0;
    border-radius: 0;
}

.invitation ul.anmeldung li {
    line-height: 26px;
}

.invitation .anmeldung-box {
    margin-top: 40px;
}

.invitation .radio span label {
    margin-left: 5px;
    margin-bottom: 5px;
    font-size: 16px;
    display: inline;
}

.invitation .radio {
    line-height: 0;
}

.invitation .commentary {
    text-align: left;
    margin: 0 0 10px 0;
}

.invitation .signin-date {
    margin: 20px 0 0 0;
    padding: 10px 0 0 0;
    text-align: center;
}

.invitation .signin-date-exceeded {
    margin: 20px 0 0 0;
    padding: 10px 0 0 0;
    text-align: center;
    color: #dd1100;
    font-weight: bold;
}

.invitation .print {
    margin: 10px 0;
    padding: 10px 0 0 0;
    border-top: 1px solid #CCCCCC;
}

.invitation .bestaetigung {
    padding-bottom: 20px;
    font-size: 24px;
    line-height: 28px;
    border-bottom: 1px solid #CCCCCC;
}

.invitation .expired {
    color: #e3040f;
    margin-bottom: 20px;
    font-size: 16px;
}

.invitation .subevent {
    text-align: left;
}

.invitation .subevent .row-fluid {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #DDDDDD;
    padding: 0 0 20px 0;
    margin: 20px 0;
}

.invitation .subevent_headline {
    font-weight: bold;
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 10px;
}

.invitation .subevent_text {
    font-size: 13px;
    line-height: 18px;
}



/* ==========================================================================
   19. PRINT STYLES
   ========================================================================== */
body.print {
    background: transparent;
    font-size: 14px;
    line-height: 20px;
}

body.print a {
    color: #000000;
    text-decoration: underline;
}

.print .page-wrapper {
    max-width: 720px;
    float: left;
    padding: 40px;
}

.print .dashboard {
    max-width: 650px;
}

.print .logo {
    background: #FFFFFF;
    margin: 0 0 40px 0;
}

.print .logo img {
    max-height: 100px;
}

.print .date {
    color: #666666;
}

.print .image-main {
    background: #FFFFFF;
    text-align: left;
    padding-left: 0;
    padding-right: 0;
}

.print .image-main p,
.print .image-main h5,
.print .image-main div {
    margin-left: 0;
    color: #999999;
    padding-left: 0;
    font-size: 13px;
    font-style: italic;
}

.print .image-main h5 {
    margin: 10px 0 0 0;
}

.print .rueckfrage {
    border-top: 1px solid #CCCCCC;
    margin-top: 15px;
    padding-top: 25px;
}

.print .span7 div {
    margin-left: 30px;
}

.print #company_image .span12 {
    margin-left: 0;
}

.print .companies {
    border-top: 1px solid #CCCCCC;
    margin-top: 45px;
    padding-top: 25px;
    font-size: 12px;
    line-height: 18px;
    color: #777777;
}

.print .widget {
    border: 0;
}

.print .widget-body-transparent {
    padding: 0;
}

.print .span12 {
    margin-left: 0;
}

.print .invitation {
    padding-left: 0;
    padding-right: 0;
}

.print .invitation .radio span label {
    display: block;
}

.print .invitation .signin-date {
    border-top: 0;
    text-align: left;
}



/* ==========================================================================
   20. NOT FOUND PAGE
   ========================================================================== */
#body.notfound {
    display: flex;
    justify-content: center;
    align-items: center;
}

#body.notfound #page {
    max-width: 450px;
    padding: 15px;
    text-align: center;
    font-size: 16px;
    line-height: 24px;
}



/* ==========================================================================
   21. MEDIA QUERIES (RESPONSIVE STYLES)
   ========================================================================== */

/* --- Large desktop & notebooks (min 980px) --- */
@media (min-width: 980px) {
    #sidebar {
        position: absolute;
        width: 215px;
    }

    #sidebar > ul {
        margin-top: 25px;
        width: 215px;
    }

    #body {
        margin-top: 0;
    }

    .fixed-top #body {
        /*margin-top: 20px;*/
    }
}

/* --- Tablets (768px – 979px) --- */
@media (min-width: 768px) and (max-width: 979px) {
    body {
        padding-top: 0;
    }

    #body {
        margin: 7px;
        position: initial;
    }

    #sidebar {
        margin: 0 7px 10px 7px;
    }

    #sidebar .btn-navbar.collapsed .arrow {
        display: none;
    }

    #sidebar .btn-navbar .arrow {
        position: absolute;
        right: 35px;
        width: 0;
        height: 0;
        top: 48px;
        border-bottom: 15px solid #282e36;
        border-left: 15px solid transparent;
        border-right: 15px solid transparent;
    }
}

/* --- Language mobile only (min 768px) --- */
@media (min-width: 768px) {
    .language-mobile {
        display: none;
    }
    .widget-list {
        padding-left: 20px;
    }
}

/* --- Landscape phones (676px – 767px) --- */
@media (min-width: 676px) and (max-width: 767px) {
    figure {
        background: #EFEFEF;
        padding-top: 15px;
    }
}

/* --- Small phones and below (max 767px) --- */
@media (max-width: 767px) {
    .suche-user-container .hidden-phone {
        display: block;
    }

    #footer section {
        margin-bottom: 40px;
    }

    .page-news article .text-short,
    .page-search article .text-short,
    .page-contact article .text-short {
        margin-top: 10px;
        clear: both;
    }

    #topmeldungen {
        display: none;
    }

    #portfolio-wrapper div > .left {
        padding-right: 0;
    }

    .btn-lightbox {
        padding-top: 10px;
    }

    .page-news-detail #tab_images section#portfolio-wrapper,
    .page-news-detail #tab_videos section#portfolio-wrapper,
    .page-news-detail #tab_audios section#portfolio-wrapper,
    .page-news-detail #tab_documents section#portfolio-wrapper {
        margin-top: 30px;
    }

    .page-news-detail #tab_images section#portfolio-wrapper .span3,
    .page-news-detail #tab_images section#portfolio-wrapper .span4,
    .row-fluid-custom3 .span3,
    .row-fluid-custom4 .span4 {
        width: 100%;
        margin-bottom: 15px;
    }

    .page-media figure,
    .page-media-detail figure {
        background: #EFEFEF;
    }

    .widget-list {
        margin-top: 40px;
    }

    .invitation {
        padding: 0 0 30px 0;
    }

    .fancybox-inner .title div[class*="span"] {
        float: left;
        width: 50%;
    }
}

@media (max-width: 450px) {
    .suchfeld,
    #header .sub-title {
        display: none;
    }
}

/* --- Sondergröße (min 431px) --- */
@media (min-width: 431px) {
    .suche-user-container {
        margin-left: 215px;
    }

    .suche-user-container.full-width {
        margin-left: 227px;
    }
}

/* --- Sondergröße (max 1024px) --- */
@media (max-width: 1024px) {
    #footer {
        margin-left: 0;
        /*padding-left: 25px;*/
    }
}

/* --- Desktop/Tablet-Übergang Login (max 1030px) --- */
@media (max-width: 1030px) {
    .login .page-wrapper,
    body.login .page-wrapper {
        /*width: calc(100% - 120px);*/
    }
}

/* --- Tablets and phones (max 979px) --- */
@media (max-width: 979px) {
    #header .brand img {
        margin-left: 25px;
    }

    #sidebar {
        margin-top: 9px;
    }

    #header .navbar-inner li.dropdown i {
        display: inline-block;
        position: relative;
    }

    #header.navbar {
        margin-bottom: 0;
        height: 80px;
    }

    .navbar-inner {
        height: 80px;
    }

    .container-fluid {
        padding-left: 20px;
        padding-right: 20px;
    }

    .suche-user-container.full-width {
        margin-left: 15px;
    }

    .top-row .suchfeld {
        width: calc(100% - 245px);
    }

    .page-title {
        margin: 4px 0 7px 0;
    }

    .fixed-top #body {
        margin-top: 0;
    }

    #container {
        margin-top: 0;
    }

    .fixed-top #container {
        margin-top: 0;
    }

    #sidebar .sidebar-toggler {
        display: none;
    }

    #sidebar.in {
        margin-top: 9px;
        margin-bottom: -50px;
    }

    #sidebar > ul {
        width: 100%;
        padding-top: 65px;
    }

    .top-nav .text {
        display: none;
    }

    .top-row {
        padding: 0 0 0 4px;
    }

    #sidebar .triangle {
        display: none;
    }

    #sidebar > ul > li:first-child > a {
        border-top: 0;
    }

    #sidebar > ul > li:last-child > a {
        border-bottom: 0;
    }
}

/* --- Extra small phones (max 550px) — Cookie Table --- */
@media (max-width: 550px) {
    .cookie-info__body .cookie-info__option--details table th,
    .cookie-info__body .cookie-info__option--details table td {
        padding: 4px;
        display: block;
    }

    .cookie-info__body .cookie-info__option--details table tr td:first-child {
        font-weight: bold;
    }

    .cookie-info__body .cookie-info__option--details table tr th:not(:first-child) {
        display: none;
    }
}

/* --- Cookie Buttons (max 600px) --- */
@media (max-width: 600px) {
    .cookie-info__buttons {
        flex-direction: column;
    }

    .cookie-info__buttons > .btn {
        margin: 0.25em 0;
    }
}

/* --- Cookie Info (max 767px) --- */
@media (max-width: 767px) {
    #cookie-info {
        width: calc(100% - 40px);
        max-height: calc(100vh - 100px);
        margin-left: 0;
        top: 20px;
    }
}

/* --- Cookie Links (max 400px) --- */
@media (max-width: 400px) {
    .cookie-info__links {
        text-align: center;
        flex-direction: column;
    }

    .cookie-info__links > a:not(:last-child):after {
        content: none;
        margin: 0;
    }
}

/* --- Login small phones (max 767px) --- */
@media (max-width: 767px) {
    .login .page-wrapper {
        padding: 20px 10px;
        width: calc(100% - 60px);
    }

    .language-desktop {
        display: none;
    }

    #body {
        margin: 0;
    }

    body.login .page-wrapper {
        padding: 20px;
    }
}

/* --- Extra small phones (max 385px) --- */
@media (max-width: 385px) {
    .navbar-inner {
        margin-bottom: 0;
    }

    .logo-container {
        width: auto;
    }

    .logo-container img {
        max-width: none;
        margin: 0;
    }

    .suche-user-container {
        margin-left: 135px;
    }

    .user-data {
        padding-top: 20px;
    }

    #header .sub-title {
        font-size: 13px;
        line-height: 20px;
        bottom: 20px;
    }
}






/* ===================================================================================
   22. SIDEBAR HORIZONTAL -> einkommentieren + SIDEBAR im Frontend.Master verschieben
   =================================================================================== */
    /*#body {
        margin-left: 0px;
    }

    #body > .container-fluid {
        padding-right: 0px;
        padding-left: 0px;
    }

    #sidebar {
        width: auto;
        margin-left: 190px;
        margin-top: 30px;
        z-index:10;
    }

    #sidebar > ul {
        margin: 0px;
        width: auto;
    }

    #sidebar > ul > li {
        float: left;
        position: relative;
        margin: 0 10px 0 0;
        padding: 0;
        border: 0px;
    }

    #sidebar > ul > li:hover > ul.sub {
        display: block !important;
    }

    #sidebar > ul > li > ul.sub {
        margin: 0;
        position: absolute;
        display: none !important;
        z-index: 10000;
        min-width: 100%;
        background: #ffffff;
        left: 0;
        white-space: nowrap;
        box-shadow: 0 4px 4px 1px rgba(0, 0, 0, 0.2);
        line-height: 22px;
        border-top: 1px solid #EEEEEE;
    }

    #sidebar > ul > li > a {
        padding: 10px 15px 10px 15px;
        font-size: 14px;
        background: transparent;
        color: #000000;
        font-weight: normal;
        border: 0px;
    }

    #sidebar > ul > li.active > a {
        font-weight: bold;
        color: #000000;
        border: none;
    }

    #sidebar > ul > li > a:hover,
    #sidebar > ul > li > a:focus {
        color: #000000;
        background: #EFEFEF;
        font-weight: bold;
    }

    #sidebar > ul > li > ul.sub > li > a:hover,
    #sidebar > ul > li > ul.sub > li > a:focus,
    #sidebar > ul > li > ul.sub > li > ul.subsub > li > a:hover,
    #sidebar > ul > li > ul.sub > li > ul.subsub > li > a:focus,
    #sidebar > ul > li > ul.sub > li > ul.subsub > li > ul.subsubsub > li > a:hover,
    #sidebar > ul > li > ul.sub > li > ul.subsub > li > ul.subsubsub > li > a:focus,
    #sidebar > ul > li > ul.sub > li > ul.subsub > li > ul.subsubsub > li > ul.subsubsubsub > li > a:hover,
    #sidebar > ul > li > ul.sub > li > ul.subsub > li > ul.subsubsub > li > ul.subsubsubsub > li > a:focus,
    #sidebar > ul > li > ul.sub > li.active > a:hover,
    #sidebar > ul > li > ul.sub > li.active > ul.subsub > li.active > a:hover,
    #sidebar > ul > li > ul.sub > li.active > ul.subsub > li.active > ul.subsubsub > li.active > a:hover,
    #sidebar > ul > li > ul.sub > li.active > ul.subsub > li.active > ul.subsubsub > li.active > ul.subsubsubsub > li.active > a:hover {
        color: #000000;
        background: #EFEFEF;
    }

    #sidebar .arrow {
        display: none;
    }

    .suche-user-container.full-width {
        margin-left: 0px !important;
    }

    .suche-user-container {
        right: 0px;
    }

    .top-row {
        padding: 0 0 0 0;
    }

    @media (max-width: 1250px) {
        body:not(.login) .page-wrapper {
            padding: 0 25px;
        }
    }

    @media (max-width: 979px) {
        #header.navbar {
            position: fixed;
            background: #FFFFFF;
            height: 160px;
            margin-left: 25px;
            margin-right: 25px;
        }

        #header .brand img {
            margin-left: 0px;
        }

        #sidebar.in {
            margin-top: 0px !important;
            margin-bottom: 0px !important;
            box-shadow: 0 10px 20px -10px rgba(0, 0, 0, .12);
        }

        #sidebar {
            position: fixed;
            left: 0;
            right: 0;
            top: 160px;
            margin: 0 !important;
            background: #FFFFFF;
            padding: 0 1rem;
            max-height: calc(100vh - 160px);    
            overflow-y: auto;                   
            overflow-x: hidden;                 
            -webkit-overflow-scrolling: touch;  
        }

        #sidebar > ul:first-child {
            padding: 0 !important;
        }

        #sidebar > ul li {
            float: none;
        }

        #sidebar > ul > li:first-child > a:hover,
        #sidebar > ul > li.active:first-child > a {
            border-top: 0px !important;
        }

        #sidebar > ul > li > ul.sub {
            display: block !important;
            position: static;
            box-shadow: none;
        }

        #page {
            margin-top: 30px;
        }
    }

    @media (max-width: 767px) {
        .hidden-phone {
            display: block !important;
        }
    }

    @media (max-width: 540px) {
        .hidden-phone {
            display: none !important;
        }
    }*/



/* --- Faktenbox bei Meldungen --- */
.abstract_facts {
    background-color: rgba(0, 0, 0, 0.05);
    box-shadow: 0px 0px 0px 10px rgba(0, 0, 0, 0.05);
    border-radius: 5px;
}

/* --- FAQs bei Meldungen --- */
.abstract_faqs {
}
    .abstract_faqs details {
    }
    .abstract_faqs details > summary {
        margin: 0.5rem 0;
        font-weight: bold;
        cursor: pointer;
    }
    .abstract_faqs details > p {
        margin-left: 1rem;
    }
