/* ==========================================================================
   1. FONTS & FONTAWESOME
   ========================================================================== */
/* Roboto */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/roboto-v30-latin-300.woff2') format('woff2');
}
@font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 300;
    src: url('../fonts/roboto-v30-latin-300italic.woff2') format('woff2');
}
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/roboto-v30-latin-regular.woff2') format('woff2');
}
@font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 400;
    src: url('../fonts/roboto-v30-latin-italic.woff2') format('woff2');
}
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/roboto-v30-latin-500.woff2') format('woff2');
}
@font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 500;
    src: url('../fonts/roboto-v30-latin-500italic.woff2') format('woff2');
}
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/roboto-v30-latin-700.woff2') format('woff2');
}
@font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 700;
    src: url('../fonts/roboto-v30-latin-700italic.woff2') format('woff2');
}

.fa {
    font-weight: var(--fa-style, 400);
}



/* ==========================================================================
   2. GLOBAL BASIS / RESET
   ========================================================================== */
html {
    height: 100%;
}

body {
    font-family: "Roboto", Arial, Helvetica, Verdana, sans-serif;
    font-size: 13px;
    line-height: 18px;
    padding: 0 !important;
    margin: 0 !important;
    background-size: 100% auto;
    color: #000000;
}

body.print {
    background: #fff !important;
}

input,
button,
select,
textarea {
    font-family: "Roboto", Arial, Helvetica, Verdana, 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;
}

/* Links */
a {
    text-shadow: none !important;
}

a,
a:hover,
a:active {
    outline: 0;
}

a, a:hover, #page a {
    color: #000000;
}

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 !important;
}

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 !important;
}



/* ==========================================================================
   3. 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: 600 !important;
    line-height: 32px;
    padding-bottom: 0px;
}

h2 {
    font-size: 18px;
    font-weight: bold;
}

h3 {
    font-size: 16px;
    padding: 0;
    margin: 0;
}

h3 a {
    color: #000 !important;
}

h3 a:hover {
    color: #000;
}

h3 i {
    font-size: 15px;
}

h3 small, h4 small {
    font-size: 14px;
}

h3 small, h4 small, h5 small {
    color: #444;
}

h3 span i {
    color: #FFFFFF;
}

h4 {
    font-size: 17px;
    background: #F7F7F7;
    padding: 5px 10px;
    border-right: 3px solid #E9E9E9;
    border-left: 3px solid #E9E9E9;
}

h5 {
    font-size: 12px;
    font-weight: 600;
}

h6 {
    font-size: 11.9px;
}

h1 small {
    font-size: 24.5px;
}

h2 small {
    font-size: 17.5px;
}

h1.block, h2.block, h3.block,
h4.block, h5.block, h6.block {
    padding-bottom: 10px;
}

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;
    letter-spacing: 2px;
    font-weight: normal;
}

h4.kategorie span {
    letter-spacing: 0;
    text-transform: none;
    font-size: 12px;
    font-weight: normal;
}

.page-headline {
    font-size: 24px;
    margin: 10px 0;
    padding-bottom: 5px;
    font-weight: bold;
}

.page-headline-filter {
    margin-bottom: 20px;
}

.pressecenter {
    color: #888888;
    font-size: 20px;
    line-height: 30px;
    display: none;
}

.companies {
    font-size: 12px;
    line-height: 18px;
    color: #777777;
}

.section-text-short,
.section-text-long {
    font-size: 16px;
    line-height: 22px;
}

p.detail {
    font-size: 14px;
    line-height: 24px;
    padding: 0 13px 30px 13px;
}

p.unternehmen {
    font-size: 13px;
    line-height: 22px;
    padding: 0 13px 30px 3px;
}

p.list {
    font-size: 14px;
    line-height: 24px;
    padding: 0 13px 30px 13px;
    margin: 0 0 20px 0;
    border-bottom: 1px solid #EDEDED;
}

p.list-full {
    font-size: 13px;
    line-height: 18px;
    padding: 0 13px 0 0;
    margin: 0;
}

p.topmeldung {
    font-size: 12px;
    line-height: 16px;
    padding: 10px 0 0 0;
}

/* Icons 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 !important; }
a.icon-big { font-size: 16px !important; }
a:hover i { text-decoration: none; }



/* ==========================================================================
   4. LAYOUT MAIN STRUCT
   ========================================================================== */
.page-wrapper {
    max-width: 1200px; /* style_client.css überschreibt 1250px */
    margin: 0 auto;
    background: transparent !important; /* style_client.css überschreibt #FFFFFF */
}

/* Wichtig: Verhindert, dass die Login-Klasse reguläre Wrapper stört */
body:not(.login) .page-wrapper {
    max-width: 1200px !important;
    background: transparent !important;
}


#container {
    background: #FFFFFF;
}

#body {
    margin-top: 0;
    margin-left: 215px;
    min-height: 800px;
}

.skip-links {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    margin: 0 !important;
    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 !important;
    font-weight: 400 !important;
}



/* ==========================================================================
   5. ISOTOPE ENGINE & GRID ELEMENT FORMATTING (CRITICAL FIXED)
   ========================================================================== */
/* Verhindert, dass Kacheln vertikal untereinander kleben bleiben */
.isotope,
.isotope .isotope-item {
    -webkit-transition-duration: 0.8s;
       -moz-transition-duration: 0.8s;
        -ms-transition-duration: 0.8s;
         -o-transition-duration: 0.8s;
            transition-duration: 0.8s;
}

.isotope {
    -webkit-transition-property: height, width;
       -moz-transition-property: height, width;
        -ms-transition-property: height, width;
         -o-transition-property: height, width;
            transition-property: height, width;
}

.isotope .isotope-item {
    -webkit-transition-property: -webkit-transform, opacity;
       -moz-transition-property:    -moz-transform, opacity;
        -ms-transition-property:     -ms-transform, opacity;
         -o-transition-property:      -o-transform, opacity;
            transition-property:         transform, opacity;
}

.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
    -webkit-transition-duration: 0s;
       -moz-transition-duration: 0s;
        -ms-transition-duration: 0s;
         -o-transition-duration: 0s;
            transition-duration: 0s;
}

.isotope-item .span7 div {
    line-height: 18px;
}


/* Element-Anpassungen für News-Kacheln */
.page-headline-filter ul, 
ul.suche-user {
    list-style-type: none !important;
    margin: 25px 0 0 0;
    padding: 0;
}

/* Zwingt die Jahreszahlen-Filter-Elemente (Isotope-Trigger) in die Reihe */
.page-headline-filter ul li {
    display: inline-block !important;
    margin-right: 15px !important;
    margin-bottom: 10px !important;
}

.page-headline-filter ul li a {
    font-weight: bold;
    text-decoration: none;
}

/* News-Grid Spaltenkorrekturen */
.page-news #body ul,
.page-news-detail #body ul {
    list-style-type: none !important;
}

.meldungen-full .isotope-item {
    border-bottom: 1px solid #DDDDDD;
    padding: 20px 0;
    overflow: hidden;
    margin-left: 0;
}

#portfolio-wrapper div {
    margin-left: 0px;
}

#portfolio-wrapper div > .left {
    padding-right: 20px;
}

#portfolio-wrapper:last-child {
    margin-bottom: 35px;
}

.row-fluid-custom3 [class*="span"] {margin-right:1.9%; margin-top:5px;}
.row-fluid-custom3 .span3 {width:23%;}
/*.row-fluid-custom3 [class*="span"]:first-child {margin-left:0.75%; margin-right:0.75%; padding-left:5px; padding-right:5px;}*/

.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%;}



/* ==========================================================================
   6. HEADER & NAVBAR
   ========================================================================== */
#header {
    position: relative;
}

#header.navbar {
    min-width: 0;
    background: transparent;
    margin: 0 !important;
    height: 80px;
    overflow: visible;
}

#header .navbar-inner {
    top: 0;
    width: 100%;
    margin: 0 !important;
    margin-bottom: -2px !important;
    border-top: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    padding: 0;
    border-radius: 0;
    min-height: 0;
}

#header a.brand {
    margin: 15px 0 0 0 !important;
    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: 20px;
    text-transform: uppercase;
    color: #333333;
}

#header .navbar-inner .nav > li.dropdown {
    margin: 0 5px;
}

.navbar-inner .nav > li.dropdown > a {
    padding-left: 5px !important;
    padding-right: 5px !important;
}

#header .navbar-inner .nav > li.dropdown > a,
#header .navbar-inner .nav > li.dropdown > button {
    padding: 6px 8px 3px 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 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    display: inline-block !important;
}

#header.navbar-inverse .navbar-inner {
    margin: 0 !important;
}

#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: 22px;
}

.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: 6px 11px 5px 10px;
    height: 36px;
    box-sizing: border-box;
    color: #fff !important;
    min-width: 42px;
}

a#main_menu_trigger span.fa-bars {
    font-size: 21px;
}

.breadcrumb {
    border-radius: 0px;
    box-shadow: none !important;
    padding-right: 30px;
    padding-top: 65px;
    margin-bottom: 20px;
    margin-top: 20px;
    text-shadow: none !important;
    border: 0px !important;
    border-bottom: 1px solid #ddd !important;
}



/* ==========================================================================
   7. SIDEBAR & NAVIGATION SYSTEM
   ========================================================================== */
#sidebar.closed {
    display: none;
}

#sidebar .navbar-search {
    border: 0;
    box-shadow: none !important;
}

#sidebar .search-query {
    width: 100%;
    height: auto;
    box-sizing: border-box;
}

#sidebar .menu-bottom-search .search-query {
    padding-right: 14px !important;
}

#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 & Interactions */
#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 10px 10px 15px;
    border-radius: 0 !important;
    text-decoration: none;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    background: #333;
    color: #fff !important;
    font-weight: normal;
    border-bottom: 1px solid #666666;
}

#sidebar > ul > li > a:last-child {
    border-bottom: none;
}

#sidebar > ul > li a i {
    color: #999 !important;
    font-size: 18px;
}

#sidebar > ul > li > a:hover {
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
    background: #F5F5F5;
}

#sidebar > ul > li.active > a {
    font-weight: bold;
    color: #FFFFFF !important;
    border: none !important;
}

#sidebar > ul > li.active a i {
    color: #FFFFFF !important;
}

#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 {
    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 {
    margin: 0;
    background: #FFFFFF;
}

#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 !important;
    padding: 0;
    list-style-type: none;
}

#sidebar > ul > li > ul.sub > li > a {
    display: block;
    position: relative;
    margin: 0;
    padding: 8px 15px 8px 15px;
    text-decoration: none;
    font-size: 12px;
    font-weight: normal;
    border-bottom: 1px solid #EEEEEE;
    color: #555555;
    text-shadow: 0 1px 1px #000;
}

#sidebar > ul > li > ul.sub > li > ul.subsub > li > a {
    display: block;
    position: relative;
    margin: 0;
    padding: 4px 13px 4px 25px; /* Von client.css angepasst */
    text-decoration: none;
    font-size: 12px;
    font-weight: normal;
    background: none !important;
    color: #333333 !important;
    text-shadow: 0 1px 1px #000;
}

/* Sidebar Sidebar Hover/Focus Override */
#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 {
    color: #FFF !important;
    background-color: #555 !important;
}

#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;
}



/* ==========================================================================
   8. SEARCH, USER AREA & SEARCH BOXES
   ========================================================================== */
#header .search-query,
#sidebar .search-query {
    padding-right: 30px !important;
}

#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 {
    font-size: 20px;
    padding: 5px 5px 5px 8px;
    color: #000;
}

.full-width .search-input-icon {
    max-width: 100%;
}

.suche-user-container {
    margin: 100px 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;
}

#header .search-input-icon i.fa-search {
    font-size: 20px;
    padding: 5px 5px 5px 8px;
    color: #000;
}

.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;
}



/* ==========================================================================
   9. FILTERS YEARS & MONTHS
   ========================================================================== */

#filters {
    display: block;
}

#filters ul {
    margin: 0px;
    padding: 0px;
}

#filters ul li {
    display: inline;
}

#filters a {
    background: #FFFFFF;
    border: 1px solid #DDDDDD;
    color: #555;
    display: inline-block;
    margin: 0 4px 10px 0;
    padding: 4px 7px;
    transition: all 0.1s ease-in-out 0s;
}



/* ==========================================================================
   10. 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;
}

.tab-custom {
    border: 0 !important;
    border-top: 1px solid #dddddd !important;
    padding: 10px 0 !important;
}

.tab-custom {
    border: 0px !important;
    padding: 0px !important;
}

.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 !important;
}

.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 !important;
}

.sperrfrist {
    background: red;
    text-align: center;
    color: #FFFFFF;
    line-height: 18px;
    margin-top: 10px;
}

.sperrfrist p {
    padding: 8px 20px;
}

.sperrfrist b {
    font-weight: bold;
}



/* ==========================================================================
   11. UTILITY CLASSES (GLOBAL)
   ========================================================================== */
.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: 11px !important;
    color: #000;
    font-weight: bold;
}

.block-margin-bottom-5 {
    display: inline-block;
    margin-bottom: 5px;
}

.phone-margin-top-5:before {
    display: block;
    margin-top: 5px;
}

/* Spacers & Utility Buttons */
.space5 { display: block; height: 5px !important; clear: both; }
.space7 { height: 7px !important; clear: both; }
.space10 { height: 10px !important; clear: both; }
.space12 { height: 12px !important; clear: both; }
.space15 { height: 15px !important; clear: both; }
.space20 { height: 20px !important; clear: both; }

.right { float: right; }
.left { float: left; }
.text-right { text-align: right !important; }
.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 !important; }
.square { border-radius: 4px !important; }
.dd-icon { font-size: 20px !important; }
.btn { font-size: 13px !important; }

.page-title {
    font-size: 22px;
    display: block;
    font-weight: normal !important;
    margin: 13px 0 8px 0;
}

.page-title small {
    font-size: 14px;
}

.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;
}

/* Fancybox inside style_default */
.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: 0px;
}



/* ==========================================================================
   12. FOOTER
   ========================================================================== */
#footer {
    padding: 18px 20px 20px 20px;
    font-size: 12px;
    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 a.btn {
    color: inherit;
}

#footer .container-fluid {
    padding-left: 0;
}



/* ==========================================================================
   13. LOGIN PAGE ONLY STYLES (Ex-login.css)
   ========================================================================== */
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: 450px; margin-left: 0; }
body.login .container-fluid { padding: 0; }
body.login #page { padding-bottom: 0 !important; }

#login {
    margin: 30px auto 0px auto;
    background: #cacaca;
    padding: 20px;
    width: 100%;
    box-sizing: border-box;
}

	   
.logo { margin-bottom: 4px; }
 
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 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;
}



/* ==========================================================================
   14. 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;
}



/* ==========================================================================
   15. MEDIA QUERIES (RESPONSIVE STYLES)
   ========================================================================== */

/* Large desktop & notebooks */
@media (min-width: 980px) {
    #sidebar {
        position: absolute;
        width: 215px;
    }

    #sidebar > ul{
        margin-top: 25px;
        width: 215px;
    }

    #body {
        margin-top: 0 !important;
    }

    .fixed-top #body {
        margin-top: 20px;
    }
}

/* Tablets and phones (max 979px) */
@media (min-width: 768px) and (max-width: 979px) {
    body {
        padding-top: 0;
    }

    #body {
        margin: 7px !important;
        position: initial !important;
    }

    #sidebar {
        margin: 0 7px 10px 7px !important;
    }

    #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;
    }
}

/* Landscape phones and down (max 767px) */
@media (min-width: 676px) and (max-width: 767px) {
    figure {
        background: #EFEFEF;
        padding-top: 15px;
    }
}

@media (max-width: 767px) {
    .text-right {
        text-align: left !important;
    }
}

/* Sondergröße 3 (min 431px) */
@media (min-width: 431px) {
    .suche-user-container {
        margin-left: 215px;
    }

    .suche-user-container.full-width  {
        margin-left: 227px;
    }
}

/* Sondergröße 2 (max 1024px) */
@media (max-width: 1024px) {
    #footer {
        margin-left: 0;
        padding-left: 25px;
    }
}

/* Desktop / Tablet-Übergang aus login.css */
@media (max-width: 1030px) {
    .login .page-wrapper {
        width: calc(100% - 120px);
    }
}

/* Tablets and phones (max 979px / All Inclusive) */
@media (max-width: 979px) {
    #header .brand img {
        margin-left: 25px;
    }

    #sidebar {
        margin-top: 9px !important;
    }

    #header .navbar-inner li.dropdown i {
        display: inline-block;
        position: relative;
    }

    #header.navbar {
        margin-bottom: 0 !important;
        height: 80px;
    }

    .navbar-inner {
        height: 80px;
    }

    .container-fluid {
        padding-left: 20px;
    }

    .suche-user-container.full-width {
        margin-left: 5px !important;
    }

    .top-row .suchfeld {
        width: calc(100% - 245px);
    }

    .page-title {
        margin: 4px 0 7px 0 !important;
    }

    .fixed-top #body {
        margin-top: 0;
    }

    #container {
        margin-top: 0 !important;
    }

    .fixed-top #container {
        margin-top: 0 !important;
    }

    #sidebar .sidebar-toggler {
        display: none;
    }

    #sidebar.in {
        margin-top: 9px !important;
        margin-bottom: -50px !important;
    }

    #sidebar > ul {
        width: 100%;
        padding-top: 65px !important;
    }

    .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 !important;
    }

    #sidebar > ul > li:last-child > a {
        border-bottom: 0 !important;
    }
}

/* Extra small phones (max 385px) */
@media (max-width: 385px) {
    .navbar-inner {
        margin-bottom: 0 !important;
    }
    .logo-container {
        width: 135px;
    }
    .logo-container img {
        max-width: 130px;
        margin-left: 5px;
    }
    .suche-user-container {
        margin-left: 135px !important;
    }
    .user.data {
        width: 100% !important;
        padding: 10px 0 0 0 !important;
    }
    .logo-container {
        width: auto;
    }
    .logo-container img {
        max-width: auto;
        margin: 0;
    }
    #container.row-fluid:before, #container.row-fluid:after {
        display: table;
    }
    .user-data {
        padding-top: 20px;
    }
    #header .sub-title {
        font-size: 13px;
        line-height: 20px;
        bottom: 20px !important;
    }
}







/*.main-img-copyright {
    color: #999999;
    font-size: 11px;
    font-style: italic;
    padding: 5px 0 0px 0;
}*/

.download-list span,
.download-list-middle span {
    padding: 0 10px 0 0;
}

.download-list {
    line-height: 18px;
    margin: 10px 0 0 0;
}

.page-news article .text-short {
    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;
}

.label-info-custom {
    background: none !important;
    color: #333333;
    font-size: 16px !important;
    top: -1px !important;
    padding: 0px;
}

.span4 section > header,
.article-aside section > header {
    margin-bottom: 7px;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: bold;
}


.btn {
    display: inline-block;
    padding: 4px 12px;
    margin-bottom: 0;
    font-size: 14px;
    line-height: 20px;
    color: #000;
    text-align: center;
    vertical-align: middle;
    cursor: pointer;
    background-color: #fff;
    border: 1px solid #909090;
    border-radius: 4px;
}

.btn-primary {
    color: #000000 !important;
    background: #E6E6E6;
}
    .btn-primary:hover,
    .btn-primary:focus,
    .btn-primary:active,
    .btn-primary.active,
    .btn-primary.disabled,
    .btn-primary[disabled] {
        color: #000000;
        background: #FFFFFF;
        text-decoration: none;
    }

.btn-inverse {
    color: #fff !important;
    background: #000000;
}

    .btn-inverse:hover,
    .btn-inverse:focus,
    .btn-inverse:active,
    .btn-inverse.active,
    .btn-inverse.disabled,
    .btn-inverse[disabled] {
        color: #FFFFFF;
        background: #333333;
        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;
}


.rueckfrage img {
    margin-bottom: 15px;
}

#topmeldungen article h3 {
    margin: 5px 0;
}
#topmeldungen article .topmeldung {
    margin-top: 5px;
}

#loading_1 {
    padding: 15px 0 30px 0;
    color: #555;
    margin-left: 0px;
    clear: both;
}

.hl_footer {
    text-transform: uppercase;
    font-size: 14px;
    line-height: 28px;
    font-weight: bold;
}

.contact-form {
    display: none;
}

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;
}

ul.meldungen,
ul.meldungen-full {
    padding: 0px;
    margin: 0 0 0 0px;
}

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 {
    margin-left: 0px;
}

aside {
    margin: 0 0 30px 0;
}

.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;
}

.img-subline {
    background: #EFEFEF;
    padding: 3px 8px;
    font-size: 10px;
    color: #999999;
    position: relative;
    font-style: italic;
}
.fancybox-inner .img-subline {
    background: none;
    padding: 0px;
}
.filecopyright {
    padding: 3px 5px;
    font-size: 10px;
    color: #999999;
    position: relative;
    font-style: italic;
    text-align: center;
}

.print-mail {
    font-size: 14px;
    border-top: 1px solid #EDEDED;
    border-bottom: 1px solid #EDEDED;
    padding: 5px;
    margin: 15px 0;
    height: 35px;
}
    .print-mail span {
        line-height: 35px;
    }

.image-main {
    background: #EEEEEE;
    text-align: center;
    margin-top: 10px;
}

.download-list-middle {
    line-height: 18px;
    margin: 10px 0 10px 0;
    text-align: center;
}

.download-list span,
.download-list-middle span {
    padding: 0 10px 0 0;
}

.date {
    color: #777777;
    padding-bottom: 10px;
}

.media-contentdesc {
    border-top: 1px dotted #ccc;
    border-bottom: 1px dotted #ccc;
    margin: 6px 0px;
    font-size: 14px;
    line-height: 20px;
    color: #000;
    display: grid;
    grid-template-columns: 90px auto;
}

.media-contentdesc dt {
    font-weight: normal;
    grid-column-start: 1;
    padding: 4px;
}

.media-contentdesc dd {
    grid-column-start: 2;
    padding: 4px;
}



.table-bilder {
    border-bottom: 1px dotted #DDDDDD;
}
.table-advance {
    margin-bottom: 10px !important;
}
.table-advance thead {
    color: #999;
}
.table-advance thead tr th {
    background: #DDD;
    color: #555;
}
.radio-table {
    text-align: center;
    width: 35px;
    max-width: 35px;
}
.table-bilder td {
    vertical-align: middle;
    line-height: 30px;
    font-size: 13px !important;
}
.table th, .table td {
    padding: 5px 8px;
    line-height: 20px;
    text-align: left;
    vertical-align: top;
    border-top: 1px dotted #DDDDDD;
}
.table-advance tr td:first-child {
    border-left-width: 1px !important;
}
td.size {
    color: #555;
}
.table-advance tr td {
    border-left-width: 0px;
}
.table-advance tr td:first-child {
    border-left-width: 1px !important;
}

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: -moz-inline-box;
    display: inline-block;
    zoom: 1;
    vertical-align: middle;
}
.radio, .checkbox {
    padding-left: 0px !important;
}
.radio, .checkbox {
    min-height: 20px;
    padding-left: 20px;
}
.attachments input {
    padding: 0px 5px;
    line-height: 30px;
    height: 30px !important;
}

.item-description {
    background: none repeat scroll 0 0 #EEEEEE;
    border-bottom: 2px solid #E5E5E5;
    padding: 5px 10px 2px 10px;
    transition: all 180ms ease-in-out 0s;
    text-align: center;
}
    .item-description .titel {
        font-size: 13px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-weight: bold;
        min-height: 18px;
    }
    .item-description .fileinfo {
        font-size: 11px;
    }

article figcaption {
    margin-top: 5px;
}

.tabbable-custom {
    margin-bottom: 25px;
}





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;
    }

.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");
}





/* Variante: 1. Bild sichtbar und groß */
/* Container vorbereiten, damit Floats gecleart werden */
.remaining-images-container {
    display: block;
    clear: both;
}

/* Verhindert das Überlappen nachfolgender Elemente in der rechten Spalte */
.remaining-images-container::after {
    content: "";
    display: table;
    clear: both;
}

/* Sicherheits-Fix für direkt nachfolgende Boxen (wie .widget, .kontakt, etc.) */
.remaining-images-container + div,
.remaining-images-container + section,
.remaining-images-container + .widget,
.remaining-images-container + fieldset {
    clear: both !important;
    margin-top: 20px; /* Gibt der Kontaktbox etwas Abstand nach den Bildern */
}

/* Grundeinstellung für die Galerieelemente */
.remaining-images-container .remaining-images-item {
    float: left;
    box-sizing: border-box;
}

/* Das 1. Bild nimmt die volle Breite ein */
.remaining-images-container .remaining-images-item:nth-child(1) {
    width: 100%;
    float: none;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 15px; /* Optionaler Abstand nach unten */
}

/* Alle Elemente ab Bild 2 sind zweispaltig (Breite 48.5% + 3% Abstand = 100%) */
.remaining-images-container .remaining-images-item:nth-child(n+2) {
    width: 48.5%;
    margin-bottom: 15px;
}

/* Linke Spalte in den Zweierreihen (Bild 2, Bild 4, etc.) */
.remaining-images-container .remaining-images-item:nth-child(even) {
    margin-left: 0%;
    clear: left; /* Erzwingt eine neue Zeile für die linke Spalte */
}

/* Rechte Spalte in den Zweierreihen (Bild 3, Bild 5, etc.) */
.remaining-images-container .remaining-images-item:nth-child(odd) {
    margin-left: 3%;
}

/* Ab Bild 6 ausblenden (wie gehabt) */
.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 */
/* erstes Bild ausblenden */
/*.remaining-images-container .remaining-images-item:nth-child(1) {
    display: none;
}*/
/* 2. Bild groß (technisch 1. und 2., aber 1. ist ausgeblendet */
/*.remaining-images-container .remaining-images-item:nth-child(-n+2) {
    width: 100%;
    margin-left: 0% !important;
}*/
/* ab dem x-ten Bild ausblenden: n+7 blendet ab dem 6. Bild aus; mit ausgeblendetem 1. Bild bleiben 5 Bilder übrig */
/*.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%;
}*/