/* nbp.css */

/* ===================================================================================================================
 * Fonts :: 400..normal, 600..semi, 700..bold
 * ===================================================================================================================*/

@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 400;
    src: url(/portal/jakarta.faces.resource/fonts/open-sans/open-sans-v23-latin-ext-regular.woff2) format('woff2');
}
@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 400;
    src: url(/portal/jakarta.faces.resource/fonts/open-sans/open-sans-v23-latin-ext-italic.woff2) format('woff2');
}
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 600;
    src: url(/portal/jakarta.faces.resource/fonts/open-sans/open-sans-v23-latin-ext-600.woff2) format('woff2');
}
@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 600;
    src: url(/portal/jakarta.faces.resource/fonts/open-sans/open-sans-v23-latin-ext-600italic.woff2) format('woff2');
}
@font-face {
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 700;
    src:  url(/portal/jakarta.faces.resource/fonts/open-sans/open-sans-v23-latin-ext-700.woff2) format('woff2');
}
@font-face {
    font-family: 'Open Sans';
    font-style: italic;
    font-weight: 700;
    src: url(/portal/jakarta.faces.resource/fonts/open-sans/open-sans-v23-latin-ext-700italic.woff2) format('woff2');
}

/* ===================================================================================================================
 * Variablen
 * ===================================================================================================================*/

:root {
    /* Fonts */
    --nbp-font-family-text: "Open Sans", sans-serif;
    --nbp-font-size-text: 14px;
    --nbp-font-family-h: "Open Sans", sans-serif;
    --nbp-font-weight-h: 600;
    --nbp-font-weight-semi: 600;
    --nbp-letter-spacing-h: normal;
    --nbp-font-size-h1: 32px;
    --nbp-font-size-h2: 22px;
    --nbp-font-size-h3: 20px;
    --nbp-font-size-h4: 18px;
    --nbp-font-size-h5: 16px;
    --nbp-font-size-h6: 14px;
    /* Ueberschriften :: colorline */
    --nbp-colorline-display: block;
    /* Farben */
    --nbp-color-body-bg: #FFFFFF;
    --nbp-color-gray-pale: #F6F6F6;
    --nbp-color-gray-light: #F0F0F0;
    --nbp-color-border: #D3D3D3;
    --nbp-color-status: #666666;
    --nbp-color-text: #333333;
    --nbp-color-text-inverted: #FFFFFF;
    --nbp-color-content: #e3000b;
    --nbp-color-content-lighter: #ff030f;
    --nbp-color-content-pale: #ecdfe0;
    --nbp-color-user: #287bb3;
    --nbp-color-user-lighter: #2e8ccc;
    --nbp-color-header: #e3000b;
}


.weiss  { color: #FFFFFF; }   /* direkt: 72 (text: 43; background: 23) */
.grau11 { color: #F6F6F6; }   /* Teaser (bg), List:hover (bg) :: var: 19 */
.grau12 { color: #F0F0F0; }   /* Formbox (bg) :: var: 12 */
.grau14 { color: #D3D3D3; }   /* Border :: var: 41 */
.grau16 { color: #757575; }   /* 4,6 (4,0) direkt: 6 */
.grau18 { color: #666666; }   /* 5,7 (5,0) var: 14 */
.grau19 { color: #555555; }   /* 7,5 (6,5) direkt: 11 */

.grau21 { color: #CCCCCC; }   /* direkt: 1 */
.grau22 { color: #AAAAAA; }   /* direkt: 5 */
.grau23 { color: #888888; }   /* direkt: 1 */



/* Anpassungen für Open-Sans */
.nbp-std-layout {
    --nbp-letter-spacing-h: -.01em;
}

/* ===================================================================================================================
 * Standard-Schriften
 * ===================================================================================================================*/

html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    font-size: 87.5%;  /* 1 rem = 14px */
}
body {
    font-family: var(--nbp-font-family-text);
    font-size: var(--nbp-font-size-text);
    line-height: 1.5714;
    color: var(--nbp-color-text);
    background-color: var(--nbp-color-body-bg)
}

/* ===================================================================================================================
 * Überschriften
 * ===================================================================================================================*/

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    line-height: 1.2;
    margin-bottom: 0.5em;
    padding: 0;
    font-family: var(--nbp-font-family-h);
    font-weight: var(--nbp-font-weight-h);
    letter-spacing: var(--nbp-letter-spacing-h);
}

h1, .h1 {
    font-size: var(--nbp-font-size-h1);
}
h2, .h2 {
    font-size: var(--nbp-font-size-h2);
}
h3, .h3 {
    font-size: var(--nbp-font-size-h3);
}
h4, .h4 {
    font-size: var(--nbp-font-size-h4);
}
h5, .h5 {
    font-size: var(--nbp-font-size-h5);
}
h6, .h6 {
    font-size: var(--nbp-font-size-h6);
}

@media (max-width: 767px) {
    h1, .h1 {
        font-size: 24px;
    }
}


/* H1 :: Page */
.nbp-ueberschrift-page {
    margin-bottom: 25px;
}
/* H2 :: Page-Sub */
.nbp-ueberschrift-page-sub {
    margin-bottom: 25px;
}

/* H2 :: Navispace */
.nbp-navispace-ueberschrift {
    margin-bottom: 20px;
}
.nbp-navispace-ueberschrift::after {
    max-width: 40px;
}

/* Colorline */
.nbp-colorline::after {
    display: var(--nbp-colorline-display);
    content: "";
    width: 0;
    margin-top: 4px;
    border-bottom: 2px solid;
    transition: width .3s;
}
body.ready .nbp-colorline::after {
    width: 68px;
}

h2.nbp-form-heading {
    margin: 20px 0;
}

h1 a, h2 a, h3 a, h4 a {
    text-decoration: none !important;
}

/* ===================================================================================================================
 * Skeleton
 * ===================================================================================================================*/

html, body {
    height: 100%;
}

/* s. BETDEV-487
* wird benötigt um das von Bootstrap genutzte "scroll-behavior: smooth" auf dem html-Element zu überschreiben
* führte zum hin und her Springen beim Eingeben von Text in Textareas, wenn man diese durch mehrere Zeilenumbrüche vergrößerte
*/
@media (prefers-reduced-motion: no-preference) {
    :root {
        scroll-behavior: auto;
    }
    body {
        scroll-behavior: smooth;
    }
}

html,
body,
.nbp-page-wrapper {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.nbp-page-wrapper {
    width: 100%;
    max-width: 100%;      /* kann für CM überschrieben werden */
    margin: 0 auto;
}

/* ========================================================
 * Fixed Footer
 * ========================================================*/

/* Flex-Container */
.nbp-page-wrapper {
    display: flex;
    flex-direction: column;
    /* height: 100%; */
    min-height: 100vh;
    overflow-x: hidden;  /* fix für Safari in Smartphone-View */
    position: relative;
    z-index: 0;          /* nötig für page-wrapper mit bg-color im Zusammenspiel mit bg-expand-Elementen */
}
/* Flexibler Bereich */
.nbp-main-wrapper {
    flex: 1 0 auto;
}
/* Fixer Bereich */
.footer {
    flex-shrink: 0;
}


/* ========================================================
 * Responsive
 * ========================================================*/

/* Desktop */
@media (min-width: 992px) {

    .nbp-contentarea {
        padding: 40px 0 50px;
    }
    .nbp-content-left {
        padding-top: 5px;
        padding-right: 20px;
    }

}
/* Tablet + Smartphone */
@media (max-width: 991px) {

    .nbp-content-left {
        padding-top: 30px;
    }
}
/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {

    .nbp-contentarea {
        padding: 40px 0;
    }
}
/* Smartphone */
@media (max-width: 767px) {

    .main-container {
        padding-left: 20px;
        padding-right: 20px;
    }
    .nbp-contentarea {
        padding: 30px 0 40px;
    }
    .nbp-content-left {
        padding-top: 0;
    }

}

/* ===================================================================================================================
 * Farben
 * ===================================================================================================================*/


/* Shortcuts */
.nbp-cc {
    color: var(--nbp-color-content);
}
.nbp-cc--on-hover:hover {
    color: var(--nbp-color-content);
}
.nbp-cu {
    color: var(--nbp-color-user)
}
.nbp-cu--on-hover:hover {
    color: var(--nbp-color-user);
}
.nbp-ct {
    color: var(--nbp-color-text);
}
.nbp-cst {
    color: var(--nbp-color-status);
}
.nbp-cw {
    color: var(--nbp-color-text-inverted);
}

.nbp-bg-expand.nbp-bg-expand--cc::after {
    background-color: var(--nbp-color-content);
    background-image: linear-gradient(113deg, var(--nbp-color-content-lighter), var(--nbp-color-content));
}
.nbp-bg-expand--cc h2,
.nbp-bg-expand--cc .h2,
.nbp-bg-expand--cc h3,
.nbp-bg-expand--cc .h3 {
    color: var(--nbp-color-text-inverted);
}

/* Verwendung */

body, .ui-widget-content {
    color: var(--nbp-color-text);
}

h1, h2, h3, h4, h5 {
    color: var(--nbp-color-content);
}
.nbp-navispace-ueberschrift {
    color: var(--nbp-color-text);
}
.nbp-form-heading {
    color: var(--nbp-color-text) !important;
}

.nbp-usercontent h1, .nbp-usercontent h2, .nbp-usercontent h3, .nbp-usercontent h4, .nbp-usercontent h5 {
    color: var(--nbp-color-user);
}
.nbp-usercontent a {
    color: var(--nbp-color-user);
}

/* ===================================================================================================================
 * Content :: Breiten
 * ===================================================================================================================*/

.nbp-content-max-width-lg {
    max-width: 750px;
}
/* Content-Expand :: Karten, Beteiligungsformate-Startseite */
.nbp-content-expand {
    display: block;
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
}
/* Background-Expand :: Beteiligung-Teaser, Mandant-Teaser, Banner-Startseite, Slider-Startseite */
.nbp-bg-expand {
    position: relative;
}
.nbp-bg-expand::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    z-index: -1;
    width: 100vw;
    transform: translateX(-50%);
    background: inherit;
}

/* ===================================================================================================================
 * Links
 * ===================================================================================================================*/

/* Color Content :: default */
a {
    color: var(--nbp-color-content);
}
/* Color User */
a.nbp-cu {
    color: var(--nbp-color-user);
}
/* Color Text */
a.nbp-ct {
    color: var(--nbp-color-text);
}

a {
    text-decoration: none;
    outline: medium none;
    text-underline-offset: .15em;
}
a:hover, a:focus {
    text-decoration: 1px underline solid;
}

/* Dotted Link */
.nbp-dotted-link, a.nbp-dotted-link {
    text-decoration: 1px underline dotted;
    text-underline-offset: .15em;
}
.nbp-dotted-link:hover, a.nbp-dotted-link:hover,
.nbp-dotted-link:focus, a.nbp-dotted-link:focus {
    text-decoration: 1px underline solid;
}
.nbp-dotted-link.ui-state-disabled {
    text-decoration: none;
}

a.nbp-link--no-text-decoration:hover, a.nbp-link--no-text-decoration:focus, a.nbp-link--no-text-decoration:active {
    text-decoration: none;
}
a.nbp-link-icononly:hover,
a.nbp-link-icononly:focus {
    text-decoration: none;
}
.ui-commandlink.ui-state-disabled {
    color: var(--nbp-color-status);
}
.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited {
    color: inherit;
}
.nbp-deaktiviert, .nbp-deaktiviert:hover {
    opacity: 0.5;
}

/* Iconlink */
.nbp-iconlink {
    padding-left: 0;
    display: inline-block;   /* verhindere Umbruch zwischen icon und link */
    outline-offset: 2px;
}
.nbp-iconlink:after {
    content: '\edde';         /* icon-arrow-right */
    font-family: 'icomoon';
    font-style: normal;
    font-weight: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-size: 14px;
    margin-left: 5px;
    width: 14px;
    transform: translateY(1px);
    text-align: left;
}

.nbp-stretched-link--before:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: "";
}

/* ===================================================================================================================
 * Focus
 * ===================================================================================================================*/

/* Buttons :: Reset */
button:focus,
.btn:focus {
    outline: none;
    box-shadow: none;
}
/* Buttons :: TAB-Focus */
.nbp-tabfocus-on .ui-button:focus,
.nbp-tabfocus-on .btn:focus {
    box-shadow: 0 0 0 3px rgba(41, 123, 179, 0.8);
    outline: none;
}

/* Inputs :: Reset */
.form-control:focus,
.form-select:focus,
.form-check-input:focus,
.form-check-input:focus:not(:checked) {
    outline: none;
    box-shadow: none;
}
/* Inputs :: TAB-Focus */
.nbp-tabfocus-on .form-control:focus,
.nbp-tabfocus-on .form-select:focus,
.nbp-tabfocus-on .form-check-input:focus,
.nbp-tabfocus-on .nbp-cke-wrapper .cke_chrome.cke_focus,
.nbp-tabfocus-on .ui-inputfield:focus {
    box-shadow: 0 0 0 3px rgba(41, 123, 179, 0.8);
}

/* Focus :: Links */
.nbp-tabfocus-on a:focus {
    outline: 2px dotted;
}
/* Focus :: Link-Buttons */
.nbp-tabfocus-on a.btn:focus {
    outline: 0;
}
.nbp-tabfocus-on button:focus {
    outline: 2px dotted;
}

.nbp-tabfocus-on .nbp-tabfocus:focus {
    outline: 2px dotted !important;
}

/* Outline-Offset */
a {
    outline-offset: 1px;
}
.nbp-tabfocus-on .nbp-tabfocus-inset {
    outline-offset: -3px;
}



/* ===================================================================================================================
 * Misc
 * ===================================================================================================================*/

/* Schriftgrößen *****/
.ui-widget {
    font-size: inherit;
}
textarea {
    font-family: inherit;
    font-size: inherit;
}

body, div, fieldset {
    margin: 0;
    padding: 0;
}
img, fieldset {
    border: 0;
}
p {
    padding: 0;
    margin-top: 0;
    margin-bottom: 1rem;
}
ol, ul {
    padding: 0;
    list-style-type: none;
    list-style-image: none;
}

hr {
    border: 0;
    height: 0;
    border-bottom: 1px solid var(--nbp-color-border);
}

table {
    border-collapse: collapse;
}

figure > video {
    border: 1px solid var(--nbp-color-gray-pale);
}
figure > figcaption {
    font-size: 12px;
}

::placeholder {
    color: #757575; /* Kontrast 4.6 */
    opacity: 1; /* fix fuer Firefox */
}


/* ===================================================================================================================
 * Portalelemente
 * ===================================================================================================================*/

/* ========================================================
 * List-Links
 * ========================================================*/

.list-links li {
    padding: 10px 0;
    border-bottom: 1px dotted var(--nbp-color-border);
}
.list-links li:first-child {
    border-top: 1px dotted var(--nbp-color-border);
}

.list-links.list-links-xs {
    margin: 0;
}
.list-links.list-links-xs li {
    border: none;
}

/* ========================================================
 * Sitemap
 * ========================================================*/

.sitemap > .list-links li {
    padding: 0 0 0 20px;
    list-style-image: none;
}
.sitemap > .list-links > li {
    padding: 0;
}
.sitemap > .list-links li > a {
    display: block;
    padding: 10px 0;
}
.sitemap > .list-links li:last-child {
    border-bottom: none;
}
.sitemap > .list-links {
    border-bottom: 1px dotted var(--nbp-color-border);
}

/* ========================================================
 * Sprungmarke
 * ========================================================*/

.nbp-sprungmarke {
    display: flex;
    align-items: baseline;
    margin-bottom: 10px;
}
.nbp-sprungmarke .nbp-fonticon {
    margin-right: .5em;
    flex-shrink: 0;
    transform: translateY(1px);
}
.nbp-sprungmarke a {
    display: block;
}

/* ========================================================
 * Back-to-Top
 * ========================================================*/

a.nbp-back-to-top,
a.nbp-back-to-top-offcanvas {
    box-sizing: border-box;
    position: fixed;
    bottom: 30px;
    right: 30px;
    opacity: 0.75;
    background-color: var(--nbp-color-content);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    padding: 7px;
    z-index: 100;
    display: none;
    font-size: 16px;
    line-height: 1em;
    color: var(--nbp-color-text-inverted);
    text-decoration: none !important;
}
.nbp-back-to-top:hover,
.nbp-back-to-top:focus,
.nbp-back-to-top-offcanvas:hover,
.nbp-back-to-top-offcanvas:focus {
    outline: none;
    opacity: 1;
}
@media (max-width: 991px) {
    .nbp-back-to-top,
    .nbp-back-to-top-offcanvas {
        display: none !important;
    }
}

/* ===================================================================================================================
 * Allgemeine Elemente
 * ===================================================================================================================*/


/* Formulare :: Breiten *****/
.size1of1 {width: 100%;}
.size1of2 {width: 50%;}
.size1of3 {width: 33%;}
.size2of3 {width: 66%;}
.size1of4 {width: 25%;}
.size3of4 {width: 75%;}
.size1of5 {width: 20%;}
.size2of5 {width: 40%;}
.size3of5 {width: 60%;}
.size4of5 {width: 80%;}
.size1of6 {width: 16.65%;}
.size1of8 {width: 12.5%;}
.size3of8 {width: 37.5%;}

/* Clearfix */
.nbp-clearfix:after {
    content: ".";
    visibility: hidden;
    display: block;
    height: 0;
    clear: both;
}

/* Buttonline */
.nbp-buttonline {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 25px 25px;
    padding-top: 5px;
    padding-bottom: 5px;
}


.nbp-linie {
    margin: 8px 0;
    border-bottom: 1px solid var(--nbp-color-border);
}
.nbp-linie.nbp-linie-lg {
    margin: 20px 0;
}
.nbp-linie.nbp-linie-sm {
    margin: 5px 0;
}

.nbp-downloadinfo {
    white-space: nowrap;
}

body.nbp-progress, body.nbp-progress * {
    cursor: progress !important;
}

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

/* Base :: Horizontale Liste ***/
ul.nbp-list-inline,
ul.nbp-list-inline li {
    display: inline-block;
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ========================================================
 * Base :: Boxen
 * ========================================================*/

/* Box :: Default-Content */
.nbp-box {
    border: 1px solid var(--nbp-color-gray-light);
    border-radius: 4px;
    padding: 15px 20px;
}
/* Box :: Navispace-Box */
.nbp-box.nbp-navispace-box {
    padding: 10px 0 0 0;
    border: 0;
}
/* Responsive :: Mobile :: Tablet + Smartphone */
@media (max-width: 991px) {
    .nbp-box.nbp-navispace-box {
        padding: 0;
    }
}
/* Responsive :: Smartphone */
@media (max-width: 767px) {
    .nbp-box.nbp-navispace-box {
        margin-top: 50px;
    }
}
/* Box :: Formular-Box */
.nbp-form-box {
    background: var(--nbp-color-gray-light);
}
.nbp-box.nbp-form-box {
    padding: 20px;
}
/* Box :: Flatbox */
.nbp-flatbox {
    background: var(--nbp-color-gray-light);
    padding: 20px;
}
.nbp-flatbox.nbp-flatbox-small {
    padding: 10px 20px;
}
/* Responsive :: Smartphone */
@media (max-width: 767px) {
    .nbp-flatbox {
        padding: 15px;
    }
    .nbp-flatbox.nbp-flatbox-small {
        padding: 10px 15px;
    }
}



/* ===================================================================================================================
 * Base :: Media (Bild, Video)
 * ===================================================================================================================*/

/* figure */
.nbp-media-preview {
    margin: 0;
}
.nbp-media-preview a {
    display: block;
}
.nbp-media-preview img {
    width: 100%;
}

/* Bild / Video auf Beteiligungs-Detailseite */
.nbp-beteiligung-inhalt .nbp-media-preview {
    width: 30%;
    float: left;
    margin: 4px 20px 8px 0;
}
/* Bild / Video an Beitrag und Meldung */
.nbp-aeusserung-inhalt .nbp-media-preview {
    width: 20%;
    float: left;
    margin: 4px 20px 8px 0;
}
/* Responsive */
@media (max-width: 767px) {
    .nbp-beteiligung-inhalt .nbp-media-preview {
        width: 40%;
    }
    .nbp-aeusserung-inhalt .nbp-media-preview {
        width: 40%;
    }
}

/* Bildunterschrift */
.nbp-media-preview .nbp-media-caption {
    display: inline-block;
    margin-top: 5px;
}

/* Gegenstand :: Bild, Video, Dokument */
.nbp-beteiligung-gegenstand .nbp-media-preview {
    width: 100%;
}
/* Gegenstand :: Dokument :: Dummy-Preview */
.nbp-media-preview .nbp-gegenstand-preview-default {
    height: 140px;
    width: 200px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.nbp-image-wrapper--border {
    border: 1px solid var(--nbp-color-gray-pale);
}

/* Image in Aspect-Ratio 1:1 */
.nbp-image--ar-default {
    position: relative;
    display: block;
    height: 0;
    padding-bottom: 100%;
    overflow: hidden;
    margin: 0;
}
/* Image in Aspect-Ratio 16:9 */
.nbp-image--ar-16x9 {
    position: relative;
    display: block;
    height: 0;
    padding-bottom: 56.25%;
    overflow: hidden;
    margin: 0;
}
.nbp-image--ar-default img,
.nbp-image--ar-16x9 img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Background-Image in Aspect-Ratio 1:1 */
.nbp-image--bg--ar-default {
    position: relative;
    display: block;
    margin: 0;
    width: 100%;
    height: 100%;
    padding-bottom: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}

/* Background-Image in Aspect-Ratio 16:9 */
.nbp-image--bg--ar-16x9 {
    position: relative;
    display: block;
    margin: 0;
    width: 100%;
    height: 100%;
    padding-bottom: 56.25%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}

/* nbp-image--hover-icon :: siehe common.css */

/* Preview-Dummy mit Font-Icon ***/
.nbp-preview-dummy {
    position: relative;
    text-align: center;  /* center vertikal */
    background-color: #CCCCCC;
    color: var(--nbp-color-text-inverted);
}
.nbp-preview-dummy .nbp-fonticon {
    position: absolute;
    top: 50%;            /* center horizontal */
    left: 0;
    width: 100%;         /* center vertikal */
}
.nbp-preview-dummy .nbp-fonticon {
    font-size: 64px;
    margin-top: -32px;   /* center horizontal */
}

/** DSGVO :: Video/Chart-Preview mit DSGVO Hinweis und Link **/
.nbp-preview-dsgvo {
    position: relative;
    text-align: center;
    background-color: var(--nbp-color-gray-light);
}
.nbp-preview-dsgvo-trigger {
    display: block;
    color: var(--nbp-color-user);
    outline-offset: 0;
}
.nbp-preview-dsgvo-trigger:hover .nbp-preview-dsgvo-link,
.nbp-preview-dsgvo-trigger:focus .nbp-preview-dsgvo-link {
    text-decoration: underline;
    text-underline-color: var(--nbp-color-user);
}
.nbp-preview-dsgvo .nbp-preview-dsgvo-icon .nbp-fonticon {
    position: absolute;
    width: 100%;
    left: 0;
    /* font size 16px */
    top: calc(50% - 8px);
}
.nbp-preview-dsgvo .nbp-preview-dsgvo-icon {
    font-size: 16px;
    color: var(--nbp-color-text-inverted);
    background-color: var(--nbp-color-user);
    border-radius: 100px;
    width: 40px;
    height: 40px;
    position: relative;
}
.nbp-preview-dsgvo p {
    margin-top: 8px;
    font-size: 14px;
}
.nbp-preview-dsgvo .nbp-preview-dsgvo-link {
    color: var(--nbp-color-user);
    margin-bottom: 0;
}
.nbp-preview-dsgvo .nbp-preview-dsgvo-content {
    position: absolute;
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.nbp-preview-dsgvo .nbp-preview-dsgvo-content {
    padding: 10px 25px;
}
.nbp-preview-dsgvo .nbp-preview-dsgvo-logo img {
    position: relative;
    height: 20px;
    width: auto;
}
@media (max-width: 767px) {
    /* mobile state */
    .nbp-preview-dsgvo .nbp-preview-dsgvo-content {
        padding: 0;
    }
}
@media (max-width: 1219px) {
    /* desktop, tablet state */
    .nbp-preview-dsgvo .nbp-preview-dsgvo-content {
        padding: 0 10px;
    }
    .nbp-preview-dsgvo .nbp-preview-dsgvo-content .nbp-preview-dsgvo-logo {
        margin-top: 20px;
    }
}
/** DSGVO :: Sizing **/
/* Extra-Small (-xs) */
.nbp-preview-dsgvo-xs .nbp-preview-dsgvo-content .nbp-preview-dsgvo-logo {
    margin-top: 24px;
}
.nbp-preview-dsgvo-xs .nbp-preview-dsgvo-content .nbp-preview-dsgvo-link-long {
    display: none;
}
@media (max-width: 991px) {
    /* tablet state */
    .nbp-preview-dsgvo-xs .nbp-preview-dsgvo-content .nbp-preview-dsgvo-link-short {
        display: none;
    }
}
@media (max-width: 1219px) {
    /* desktop, tablet state */
    .nbp-preview-dsgvo-xs .nbp-preview-dsgvo-content .nbp-preview-dsgvo-logo {
        display: none;
    }
}
/* Small (-sm) */
.nbp-preview-dsgvo-sm .nbp-preview-dsgvo-content .nbp-preview-dsgvo-logo {
    margin-top: 24px;
}
.nbp-preview-dsgvo-sm .nbp-preview-dsgvo-content .nbp-preview-dsgvo-link-long {
    display: none;
}
@media (max-width: 1219px) {
    /* desktop, tablet state */
    .nbp-preview-dsgvo-sm .nbp-preview-dsgvo-content .nbp-preview-dsgvo-logo {
        display: none;
    }
}
/* Medium (-md) */
.nbp-preview-dsgvo-md .nbp-preview-dsgvo-content .nbp-preview-dsgvo-logo {
    margin-top: 40px;
}
.nbp-preview-dsgvo-md .nbp-preview-dsgvo-content .nbp-preview-dsgvo-link-short {
    display: none;
}
@media (max-width: 767px) {
    /* mobile state */
    .nbp-preview-dsgvo-md .nbp-preview-dsgvo-content .nbp-preview-dsgvo-link-short {
        display: block;
    }
    .nbp-preview-dsgvo-md .nbp-preview-dsgvo-content .nbp-preview-dsgvo-link-long,
    .nbp-preview-dsgvo-md .nbp-preview-dsgvo-content .nbp-preview-dsgvo-logo {
        display: none;
    }
}
/* Large (-lg) */
.nbp-preview-dsgvo-lg .nbp-preview-dsgvo-content {
    padding: 0 100px;
}
.nbp-preview-dsgvo-lg .nbp-preview-dsgvo-content img {
    height: 32px;
}
.nbp-preview-dsgvo-lg .nbp-preview-dsgvo-content .nbp-preview-dsgvo-logo {
    margin-top: 40px;
}
.nbp-preview-dsgvo-lg .nbp-preview-dsgvo-content .nbp-preview-dsgvo-link-short {
    display: none;
}
@media (max-width: 767px) {
    /* Mobile */
    .nbp-preview-dsgvo-lg .nbp-preview-dsgvo-content img {
        height: 20px;
    }
    .nbp-preview-dsgvo-lg .nbp-preview-dsgvo-content .nbp-preview-dsgvo-logo {
        margin-top: 24px;
    }
    .nbp-preview-dsgvo-lg .nbp-preview-dsgvo-content {
        padding: 10px;
    }
}
@media (max-width: 575px) {
    /* Mobile small */
    .nbp-preview-dsgvo-lg .nbp-preview-dsgvo-content .nbp-preview-dsgvo-logo {
        display: none;
    }
}
/* Charts (-charts) */
.nbp-preview-dsgvo h3 {
    margin-top: 32px;
    margin-bottom: 0;
    color: var(--nbp-color-text);
}
@media (max-width: 767px) {
    .nbp-preview-dsgvo h3 {
        margin-top: 10px;
    }
}
/* Aspect Ratio */
.nbp-preview-dsgvo--ar-default {
    padding-bottom: 100%;
}
.nbp-preview-dsgvo--ar-4x3 {
    padding-bottom: 75%;
}
.nbp-preview-dsgvo--ar-16x9 {
    padding-bottom: 56.25%;
}
/* Information-/Gegenstand-Übersicht */
.nbp-element-teaser-header .nbp-preview-dsgvo {
    padding-bottom: 0;
    height: 100%;
    background-color: var(--nbp-color-body-bg);
}
/* Videos in Ordnern -> immer nur Schloss anzeigen */
.nbp-element-teaser-list .nbp-preview-dsgvo-content .nbp-preview-dsgvo-link-short,
.nbp-element-teaser-list .nbp-preview-dsgvo-content .nbp-preview-dsgvo-link-long,
.nbp-element-teaser-list .nbp-preview-dsgvo-content .nbp-preview-dsgvo-logo {
    display: none;
}
/* Slider */
.nbp-slider .nbp-teaser-image a {
    position: absolute;
    width: 100%;
    height: 100%;
}
.nbp-slider .nbp-preview-dsgvo {
    width: 100%;
    height: 100%;
    padding-bottom: 0;
}
/* pers. Bereich -> immer Logo ausblenden */
.nbp-aktivitaet-list .nbp-preview-dsgvo-content .nbp-preview-dsgvo-logo {
    display: none;
}
.nbp-aktivitaet-list .nbp-preview-dsgvo-content {
    padding: 0 10px;
}
/* Gegenstand Detail -> weißer Hintergrund */
.nbp-beteiligung-gegenstand .nbp-preview-dsgvo .nbp-preview-dsgvo-content {
    background-color: var(--nbp-color-body-bg);
}
/* Portaltext */
.nbp-portaltext .nbp-preview-dsgvo-content img {
    height: 32px !important;
}
@media (max-width: 767px) {
    /* Mobile */
    .nbp-portaltext .nbp-preview-dsgvo-content img {
        height: 20px !important;
    }
}

/* DSGVO :: Popup */
.nbp-dsgvo-popup-highlighter {
    top: -8px;
    position: absolute;
    left: -10px;
    padding-bottom: 34px;
    padding-right: calc(100% + 10px);
    border-radius: 3px;
    border: 1px solid transparent;
    pointer-events: none;
}
.nbp-dsgvo-popup-highlight .nbp-dsgvo-popup-highlighter {
    border-color: var(--nbp-color-user);
}
.nbp-dsgvo-popup-input {
    position: relative;
}


/* Bilder aus CKEditor */
.nbp-image-editor {
    max-width: 100%;
}

.nbp-preview-slideshow-indikator {
    position: absolute;
    bottom: 5px;
    right: 5px;
    display: block;
    padding: 3px 5px;
    background-color: rgba(0, 0, 0, 0.6);
    color: var(--nbp-color-text-inverted);
    font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;;
    line-height: 1;
    font-size: 12px;
}

/* ===================================================================================================================
 * Base :: Lightbox :: Fancybox
 * ===================================================================================================================*/

/* Backdrop */
.fancybox__backdrop {
    background-color: var(--nbp-color-body-bg);
}
/* Caption */
.fancybox__caption {
    color: var(--nbp-color-text);
    text-align: center;
}
/* Toolbar */
.fancybox__toolbar {
    background: none;
    text-shadow: none;
    color: #757575;
}
/* Buttons */
.carousel__button svg {
    stroke: #757575;
    filter: none;
}
.carousel__button:hover svg,
.carousel__button:focus svg {
    stroke: var(--nbp-color-text);
}
.nbp-tabfocus-on .carousel__button:focus {
    outline: 2px dotted var(--nbp-color-text);
}

/* Content :: Karten */
.fancybox__carousel .fancybox__slide.has-map .fancybox__content {
    height: 90%;
}


/* ===================================================================================================================
 * NBP Portalelemente
 * ===================================================================================================================*/

/* ========================================================
 * Cards
 * ========================================================*/

.row.card-row-50 {
    margin-right: -25px;
    margin-left: -25px;
}
.row.card-row-50 .col-12 {
    padding-right: 25px;
    padding-left: 25px;
}
.row.card-row-40 {
    margin-right: -20px;
    margin-left: -20px;
}
.row.card-row-40 .col-12 {
    padding-right: 20px;
    padding-left: 20px;
}



/* ========================================================
 * Liste - Striped
 * ========================================================*/

.nbp-list--striped .nbp-teaser:nth-child(odd) {
    background-color: var(--nbp-color-gray-pale);
}


/* ===================================================================================================================
 * Portal :: Startseite
 * ===================================================================================================================*/

/* Startseite :: Beteiligungsformate */
.nbp-beteiligungsformate {
    padding: 0;
}
.nbp-beteiligungsformate .nbp-teaser {
    padding: 20px 20px 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: background-color 0.2s;
}
.nbp-beteiligungsformate .nbp-fonticon {
    font-size: 32px;
    display: block;
    padding: 0 0 20px 10px;
}
.nbp-beteiligungsformate .nbp-teaser h3 {
    margin: 0 0 10px;
}
.nbp-beteiligungsformate .nbp-teaser-header {
    position: relative;
}
.nbp-beteiligungsformate .nbp-teaser-content {
    flex: 1 1 auto;
}
.nbp-beteiligungsformate .nbp-teaser-count {
    position: absolute;
    top: 0;
    right: 10px;
    font-size: 14px;
    font-weight: bold;
    border: 1px solid var(--nbp-color-border);
    background: var(--nbp-color-body-bg);
    border-radius: 26px;
    padding: 0 8px;
    min-width: 26px;
    height: 26px;
    text-align: center;
    line-height: 24px;
}
/* Active */
.nbp-beteiligungsformate .nbp-teaser.active:hover {
    background-color: var(--nbp-color-gray-pale);
}
/* Inactive */
.nbp-beteiligungsformate .nbp-teaser.inactive .nbp-teaser-count,
.nbp-beteiligungsformate .nbp-teaser.inactive .nbp-iconlink {
    display: none;
}
/* Responsive */
@media (min-width: 768px) {
    .nbp-beteiligungsformate {
        padding: 0 20px;
    }
}
@media (min-width: 1220px) {
    .nbp-beteiligungsformate {
        padding: 0 40px;
    }
}

@media (max-width: 991px) {
    .nbp-beteiligungsformate .nbp-teaser {
        padding: 20px;
    }
}
@media (max-width: 575px) {
    .nbp-beteiligungsformate {
        text-align: center;
        padding: 0 10px;
    }
    .nbp-beteiligungsformate .nbp-fonticon {
        padding-left: 0;
    }
    .nbp-beteiligungsformate .nbp-teaser p {
        display: none;
    }
}

/* Startseite :: Banner Empty-State */
.nbp-banner-startseite {
    padding: 40px 0;
}
.nbp-banner-startseite .bg-image {
    background: no-repeat center center;
    background-size: contain;
    height: 400px;
}
.nbp-banner-startseite h2 {
    padding-top: 90px;
    margin-bottom: 30px;
}
@media (max-width: 767px) {
    .nbp-banner-startseite .bg-image {
        height: 300px;
    }
    .nbp-banner-startseite h2 {
        padding-top: 60px;
    }
}


/* Startseite :: Infoboxen */
.nbp-startseite-box {
    padding: 0;
}
.nbp-startseite-box--info h3 {
    margin-top: 1em;
}
.nbp-startseite-box--info .nbp-iconlink {
    transform: translateY(-0.25em);
}
.nbp-startseite-box--howto h3 {
    padding-left: 40px;
}
.nbp-startseite-box--howto h3 .nbp-fonticon::before {
    margin-left: -40px;
}
.nbp-startseite-box--howto p {
    margin-left: 40px;
}


/* ===================================================================================================================
 * Beteiligung :: Assets
 * ===================================================================================================================*/

.nbp-teaser {
    padding: 20px;
}
.nbp-teaser.nbp-bg-expand {
    padding: 20px 0;
}
.nbp-teaser--light {
    background-color: var(--nbp-color-body-bg);
}
.nbp-teaser--big {
    padding: 0;
}

/* Beteiligung :: Teaser :: Taglist (Beteiligungstyp, Mandant, Thema) */
.nbp-teaser .nbp-teaser-taglist {
    margin-bottom: 1rem;
}
.nbp-teaser-taglist .btn {
    padding: .14rem .5rem;
    margin: 0.15rem 0;
    border: 1px solid #d8d8d8;
    text-align: left;
    font-size: .857rem;
    border-radius: 0.2rem;
    display: inline-block;
    line-height: 1.5;
    pointer-events: none; /* deaktiviert */
}
.nbp-teaser-taglist .btn .nbp-fonticon {
    margin-right: 5px;
}
.nbp-teaser-taglist .btn:hover {
    color: #555555;
    background: var(--nbp-color-body-bg)
}


/* Beteiligung :: Teaser :: Statusliste */
.nbp-beteiligung-status {
    display: block;
    margin: 0;
    padding: 0;
}
.nbp-beteiligung-status li {
    display: flex;
    align-items: baseline;
    padding-bottom: 2px;
}
.nbp-beteiligung-status li:last-child {
    padding-bottom: 0;
}
.nbp-beteiligung-status .nbp-fonticon {
    font-size: 16px;
    width: 20px;
    margin-right: 10px;
    flex-shrink: 0;
}
.nbp-bt-status-icon {
    color: #AAAAAA;
    transform: translateY(1px);
}
.nbp-bt-status-icon.nbp-bt-status-vorschau,
.nbp-bt-status-icon.nbp-bt-status-ankuendigung {
    color: #F0C600;
}
.nbp-bt-status-icon.nbp-bt-status-aktiv {
    color: #59a814;
}
.nbp-bt-status-icon.nbp-bt-status-kuerzlich-beendet,
.nbp-bt-status-icon.nbp-bt-status-beendet {
    color: #AAAAAA;
}
.nbp-bt-status-icon.nbp-bt-status-abgesagt {
    color: #dd4b39;
}
.nbp-bt-status-icon.nbp-bt-status-beschluss {
    color: #22699A;
}

/* Beteiligung :: Teaser :: Titel */
.nbp-teaser h3 a {
    color: #313131;
    transition: color .2s;
    outline-offset: 2px;
}
.nbp-teaser h3 {
    font-weight: var(--nbp-font-weight-semi);
    margin-bottom: 10px;
}
.nbp-teaser h3 a:hover {
    text-decoration: none;
}
/* Responsive :: Smartphone */
@media (max-width: 767px) {
    .nbp-teaser h3 {
        font-size: var(--nbp-font-size-h5);
    }
}

/* Beteiligung :: Teaser :: Text */
.nbp-teaser-text p {
    margin-bottom: .5em;
}
.nbp-teaser-text p:last-child {
    margin-bottom: 0;
}

/* ===================================================================================================================
 * Beteiligungen :: Slider
 * ===================================================================================================================*/

.nbp-slider-wrapper {
    padding: 60px 0;
}
.nbp-teaser.nbp-slider-slide .row::after {
    content: "";
}
.nbp-slider-teaser--headline {
    margin: -10px 0 35px;
}
.nbp-slider-teaser .nbp-teaser {
    overflow: hidden;
}
.nbp-slider-teaser .nbp-teaser-image {
    border: none;
    height: 100%;
    padding-bottom: 50%;
}
.nbp-slider-teaser .nbp-teaser-col-text {
    position: relative;
}
.nbp-slider-teaser .nbp-triangle {
    position: absolute;
    top: 50%;
    left: -15px;
    z-index: 1000;
    width: 0;
    height: 0;
    border-top: 12px solid transparent;
    border-right: 15px solid var(--nbp-color-body-bg);
    border-bottom: 12px solid transparent;
    transform: translateY(-50%);
}

.nbp-slider-teaser .nbp-teaser-text {
    padding-right: 10px;
}

.nbp-teaser-overflow {
    position: relative;
    height: 100%;
    overflow: hidden;
}
@media (min-width: 768px) {
    .nbp-teaser-overflow:before {
        content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 30px;
        background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,1));
        z-index: 1;
    }
}

@media (min-width: 768px) {
    .nbp-slider-teaser .nbp-teaser-col-text {
        padding: 20px;
        margin-left: -10px;
    }
}
@media (max-width: 767.98px) {
    .nbp-slider-teaser .nbp-teaser > .row {
        display: block;
        position: relative;
        height: 400px;
    }
    /* Image-Col */
    .nbp-slider-teaser .nbp-teaser-col-image {
        position: absolute;
        top: 0;
    }
    .nbp-slider-teaser .nbp-teaser-image {
        padding-bottom: 200px;
    }
    /* Text-Col */
    .nbp-slider-teaser .nbp-teaser-col-text {
        position: absolute;
        bottom: 0;
        z-index: 2;
        background: var(--nbp-color-body-bg);
        min-height: 200px;
        padding: 15px 20px;
    }
    .nbp-slider-teaser .nbp-teaser-taglist .btn {
        padding: 1px 6px;
    }
    .nbp-slider-teaser .nbp-teaser-text {
        display: none;
    }
    .nbp-slider-teaser .nbp-triangle {
        top: -25px;
        left: unset;
        right: 50%;
        border-right: 13px solid transparent;
        border-bottom: 15px solid var(--nbp-color-body-bg);
        border-left: 13px solid transparent;
        transform: translateX(50%);
    }
}

/* Focus */
.nbp-tabfocus-on .slick-prev:focus,
.nbp-tabfocus-on .slick-next:focus,
.nbp-tabfocus-on .slick-dots button:focus {
    outline: 2px dotted;
}
.slick-active:focus {
    outline: none;
}
.nbp-tabfocus-on .slick-active:focus {
    outline: 2px dotted var(--nbp-color-text-inverted);
    outline-offset: 2px;
}

/* Verhindere Anzeige aller Slides, bevor JavaScript initialisiert ist */
.nbp-slider-teaser .nbp-teaser {
    display: none !important;
}
.nbp-slider-teaser .nbp-teaser:first-child {
    display: inline-block !important;
}


/* ===================================================================================================================
 * Beteiligung :: Widgets
 * ===================================================================================================================*/

.widget-wrapper {
    background: var(--nbp-color-body-bg); /* kann in mandant.css überschrieben werden */
}

.nbp-widget .nbp-teaser {
    padding: 0;
}

/* Widget-Liste :: Aktuelle Beteiligungen */
.nbp-widget-beteiligung-datalist .nbp-teaser {
    padding: 20px 0;
    border-bottom: 1px solid var(--nbp-color-border);
}
.nbp-widget-beteiligung-datalist .nbp-teaser:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.nbp-widget-beteiligung-datalist .nbp-teaser:first-child {
    padding-top: 0;
}

/* ===================================================================================================================
 * Veranstaltung :: Widgets
 * ===================================================================================================================*/


/* Widget-Liste :: Aktuelle Veranstaltungen */
.nbp-widget-veranstaltung-datalist .nbp-teaser {
    padding: 20px;
}
.nbp-widget-veranstaltung-datalist .nbp-teaser:nth-child(2n+1) {
    background-color: var(--nbp-color-gray-pale);
}

/* Widget :: Aktuelle Veranstaltung */
.nbp-widget-veranstaltung-datalist .nbp-teaser .nbp-teaser-title {
    font-size: 18px;
}
.nbp-widget-veranstaltung-datalist .nbp-teaser .nbp-statistik--laufzeit {
    display: none;
}

/* Widget-Liste :: Lfulg Veranstaltungen */
.nbp-lfulg-widget-content {
    min-height: 300px;
}

/* Widget Filter */
.nbp-widget-filter.ui-inputfield {
    width: 100%;
    border-radius: 3px;
    padding: 3px 40px 3px 6px;
    background-color: var(--nbp-color-body-bg);
    background-clip: padding-box;
    margin: 0;
    outline: medium none;
    font-weight: normal;
    color: #333;
    border: 1px solid #a8a8a8;
}
.nbp-widget-form .btn.ui-button-icon-only.nbp-freitext-filter-reset {
    margin-left: -40px;
}


/* ===================================================================================================================
 * Beteiligung :: Detailansicht
 * ===================================================================================================================*/

/* Beteiligung :: Kopfzeile */
.nbp-detail-header {
    margin-bottom: 1em;
}

/* Beteiligung :: Navigation (zurück zur Übersicht) */
.nbp-themen-navigation {
    padding: 0 0 7px;
}

/* Beteiligung :: Titel */
.nbp-detail-titel .nbp-ct {
    color: var(--nbp-color-text);
    display: block;
}
.nbp-detail-titel a.nbp-ct:hover,
.nbp-detail-titel a.nbp-ct:focus {
    color: var(--nbp-color-content);
}

/* Beteiligung :: Mobile :: Toggle für Gegenstands-Übersicht */
.ui-button.ui-button-icon-only.nbp-gegenstand-menu-button {
    width: 50px;
    height: 50px;
}

/* Beteiligung :: Text Hauptseite :: Einspaltig für Desktop */
@media (min-width: 768px) {
    .nbp-beteiligung-inhalt .nbp-beteiligung-text {
        overflow: hidden;
    }
}
/* Beteiligung :: Text Hauptseite :: volle Breite per js-marker */
.nbp-beteiligung-inhalt.nbp-beteiligung-inhalt--w100 .nbp-beteiligung-text {
    overflow: visible;
}
/* Beteiligung :: Text Hauptseite :: Kein Bild per js-marker */
.nbp-beteiligung-inhalt.nbp-beteiligung-inhalt--hide-image .nbp-media-preview {
    display: none;
}
/* Beteiligung :: Inhalt :: mehr/weniger anzeigen Link */
.nbp-readmore {
    overflow: hidden;
}
.nbp-readmore-link a {
    display: block;
    text-align: center;
}
@media (min-width: 768px) {
    .nbp-readmore-link a {
        margin-left: 30%;
    }
}
.nbp-readmore-link a .nbp-fonticon {
    margin-right: 5px;
    transform: translateY(1px);
}
.nbp-readmore-link-more {
    width: 100%;
    position: relative;
    background-image: linear-gradient( to bottom, transparent 0, white 30px );
    padding-top: 30px;
    margin-top: -30px;
    margin-bottom: 10px;
}
.nbp-readmore-link-more a {
    padding-top: 10px;
}

/* Beteiligung :: Status Hauptseite */
.nbp-beteiligung-status-panel {
    padding: 10px 0;
    border-top: 1px dotted var(--nbp-color-border);
    border-bottom: 1px dotted var(--nbp-color-border);
}
.nbp-beteiligung-status-panel .nbp-beteiligung-status {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
}

@media (min-width: 768px) {
    .nbp-beteiligung-status-panel .nbp-beteiligung-status .nbp-fonticon {
        margin-right: 5px;
    }
    .nbp-beteiligung-status-panel .nbp-beteiligung-status li {
        padding-bottom: 0;
    }
}
@media (max-width: 767px) {
    .nbp-beteiligung-status-panel .nbp-beteiligung-status {
        flex-direction: column;
        gap: 0;
    }
    .nbp-beteiligung-status-panel .nbp-beteiligung-status li {
        padding-bottom: 5px;
    }
    .nbp-beteiligung-status-panel .nbp-beteiligung-status li:last-child {
        padding-bottom: 0;
    }
}

/* Beteiligung :: Gegenstand :: Detailansicht */
.nbp-gegenstand-detail-box {
    background: var(--nbp-color-gray-light);
    padding: 50px;
    margin-bottom: 20px;
}
@media (max-width: 767px) {
    .nbp-gegenstand-detail-box {
        padding: 10px;
    }
}

/* Beteiligung :: Gegenstand :: Inhaltsverzeichnis Strukturierter Text */
.nbp-gegenstand-verzeichnis-panel {
    background-color: var(--nbp-color-gray-light);
    padding: 12px 20px 10px;
    max-height: 250px;
    overflow-y: auto;
}
.nbp-gegenstand-verzeichnis ul {
    padding-left: 2rem;
}
.nbp-gegenstand-verzeichnis .nbp-verzeichnis-list-0,
.nbp-gegenstand-verzeichnis .nbp-verzeichnis-list-1 {
    padding-left: 0;
}
.nbp-verzeichnis-item-selected {
    font-weight: bold;
}
.nbp-verzeichnis-item {
    display: block;
    padding: 5px 0;
}
.nbp-gegenstand-verzeichnis-desktop .nbp-accordion.nbp-accordion-beteiligung {
    margin-top: 0;
}
@media (max-width: 767px) {
    .nbp-verzeichnis-item {
        padding: 9px 0;
    }
}

/* Beteiligung :: Gegenstand :: Detailansicht Dokument */
.nbp-gegenstand-detail-box.nbp-gegenstand-dokument .nbp-media-preview {
    width: fit-content;
}
.nbp-gegenstand-detail-box.nbp-gegenstand-dokument .nbp-media-preview .nbp-preview-image {
    max-height: 600px;
    object-fit: contain;
}
.nbp-gegenstand-detail-box.nbp-gegenstand-dokument .nbp-gegenstand-detail-meta {
    margin-top: 2em;
}

/* Beteiligung :: Gegenstand :: Detailansicht Behördenbeteiligung */
.nbp-behoerdenbeteiligung .nbp-gegenstand-dokument .nbp-media-preview .nbp-preview-image {
    max-width: 275px;
    max-height: 275px;
    object-fit: contain;
}
@media (min-width: 768px) {
    .nbp-behoerdenbeteiligung .nbp-gegenstand-dokument {
        padding: 30px;
    }
    .nbp-behoerdenbeteiligung .nbp-gegenstand-dokument {
        display: flex;
    }
    .nbp-behoerdenbeteiligung .nbp-gegenstand-dokument .nbp-gegenstand-detail-meta {
        margin-top: 0;
        margin-left: 30px;
    }
}
@media (max-width: 767px) {
    .nbp-behoerdenbeteiligung .nbp-gegenstand-dokument {
        padding: 20px;
    }
}

/* ===================================================================================================================
 * Beteiligung :: Detailansicht :: Linkliste Gegenstände und Informationen
 * ===================================================================================================================*/

.nbp-elementliste {
}
.nbp-elementliste a {
    display: flex;
    align-items: baseline;
    outline-offset: -2px;
    font-size: var(--nbp-font-size-h6);
    font-family: var(--nbp-font-family-h);
    font-weight: var(--nbp-font-weight-semi);
    transition: background-color .2s;
}
.nbp-elementliste a,
.nbp-elementliste .nbp-elementliste-item {
    padding: 10px;
    border-bottom: 1px dotted var(--nbp-color-border);
}
.nbp-elementliste > li:first-child > a,
.nbp-elementliste > li:first-child > .nbp-elementliste-item {
    border-top: 1px dotted var(--nbp-color-border);
}
.nbp-elementliste a .nbp-fonticon {
    width: 20px;
    margin-right: 5px;
    flex-shrink: 0;
}
.nbp-elementliste a:hover {
    background: var(--nbp-color-gray-pale);
}
.nbp-elementliste a.active,
.nbp-elementliste a.selected {
    color: var(--nbp-color-text-inverted);
    background: var(--nbp-color-content);
}
/* Einrückung 1. Ebene */
.nbp-elementliste li ul li a {
    padding-left: 25px;
}

.nbp-elementliste .nbp-elementliste-item.nbp-elementliste-keyvalue strong,
.nbp-elementliste .nbp-elementliste-item.nbp-elementliste-keyvalue span {
    display: inline-block;
}

/* ===================================================================================================================
 * Beteiligung :: Detailansicht :: Übersicht Gegenstände und Informationen
 * ===================================================================================================================*/

.nbp-elemente-uebersicht {
    background: var(--nbp-color-gray-light);
    padding: 40px;
}
.nbp-elemente-uebersicht h2 {
    margin-bottom: 20px;
}
.nbp-elemente-uebersicht-tags {
    margin-bottom: 15px;
}
.nbp-element-teaser {
    position: relative;
    display: flex;
    background: transparent;
    transition: background-color .2s;
}
.nbp-element-teaser:hover {
    background-color: var(--nbp-color-gray-pale);
}
.nbp-element-teaser-header {
    height: 70px;
    width: 70px;
    min-width: 70px;
    margin: 10px 5px;
}
.nbp-element-teaser-header a {
    display: block;
    height: 100%;
    width: 100%;
    outline-offset: 0;
}
.nbp-element-teaser-media figure,
.nbp-element-teaser-media .nbp-preview-dummy {
    margin: 0;
    height: 100%;
    width: 100%;
}
.nbp-element-teaser-media img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.nbp-element-teaser-media.nbp-element-teaser-dokument img {
    object-position: top center;
}
.nbp-element-teaser-header .nbp-image--hover-icon::before {
    width: 40px;
    height: 40px;
    font-size: 18px;
    line-height: 40px;
}
.nbp-element-teaser-header .nbp-preview-dummy .nbp-fonticon {
    font-size: 32px;
    margin-top: -16px;
}

/* Main :: Untere Hälfte */
.nbp-element-teaser-main {
    position: relative;
    width: 100%;
    min-height: 70px;
    margin: 10px 10px 10px 12px;
}
.nbp-element-teaser-title {
    font-size: var(--nbp-font-size-h6);
    font-family: var(--nbp-font-family-h);
    font-weight: var(--nbp-font-weight-semi);
    line-height: 1.3;
    margin-bottom: 5px;
}
.nbp-element-teaser-title--large {
    font-size: var(--nbp-font-size-h4);
    margin-bottom: 1em;
}
.nbp-element-teaser-meta {
    color: #555555;
    font-size: 12px;
    align-self: center;
}
.nbp-element-teaser-status {
}
.nbp-element-teaser-nav {
    /* Icon */
    font-size: 24px;
    opacity: 0;
    transition: opacity .5s;
    margin-top: auto;
}
.nbp-element-teaser-main:hover .nbp-element-teaser-nav,
.nbp-element-teaser-nav-hover:hover .nbp-element-teaser-nav {
    opacity: 1;
}
.nbp-element-teaser-main a {
    display: inline-block;
}
.nbp-element-teaser-main a:hover {
    text-decoration: none;
}
/* Fokus für Stretched-Link */
.nbp-element-teaser .stretched-link:focus {
    outline: none;
}
.nbp-tabfocus-on .nbp-element-teaser .stretched-link:focus::after {
    outline: 2px dotted var(--nbp-color-text);
    outline-offset: 0;
}

/* Element-Teaser Listenansicht */
.nbp-element-teaser-list .nbp-element-teaser {
    border-bottom: 1px dotted var(--nbp-color-border);
}
.nbp-element-teaser-list .nbp-element-teaser:first-child {
    border-top: 1px dotted var(--nbp-color-border);
}
.nbp-element-ordner-list {
    margin-left: 10px;
    margin-bottom: 30px !important;
}

/* Responsive :: Smartphone */
@media (max-width: 767px) {
    .nbp-elemente-uebersicht {
        padding: 25px;
    }
    .nbp-element-teaser-nav {
        display: none;
    }
}


/* ===================================================================================================================
 * Beteiligung :: Detailansicht :: Kampagne
 * ===================================================================================================================*/

.nbp-kampagne-list {
    margin-top: 20px;
}
.nbp-kampagne-list > li {
    display: flex;
    position: relative;
}
.nbp-kampagne-list > li:not(:last-child)::after {
    position: absolute;
    top: 10px;
    left: 13px;
    height: 100%;
    content: "";
    border-right: 1px dashed var(--nbp-color-border);
}
.nbp-kampagne-list .nbp-step-number {
    flex-shrink: 0;
    z-index: 5;
}
.nbp-kampagne-list .nbp-step-number.nbp-step-number-active {
    background-color: var(--nbp-color-user);
    color: var(--nbp-color-text-inverted);
}
.nbp-kampagne-teaser {
    flex-grow: 1;
    margin-left: 20px;
}
.nbp-kampagne-list > li:not(:last-child) .nbp-kampagne-teaser {
    padding-bottom: 20px;
    border-bottom: 1px dotted var(--nbp-color-border);
    margin-bottom: 20px;
}

.nbp-kampagne-teaser h3 {
    padding-top: 3px;
    font-weight: var(--nbp-font-weight-semi);
}
.nbp-kampagne-teaser .nbp-teaser-taglist {
    /* margin-bottom: 10px; */
}

.nbp-kampagne-teaser .nbp-beteiligung-status strong {
    /* font-weight: normal; */
}
.nbp-kampagne-teaser .nbp-beteiligung-status .nbp-bt-status-icon {
    font-size: 14px;
}


/* ===================================================================================================================
 * Beteiligung :: Äußerung :: Erstellen
 * ===================================================================================================================*/

/* Äußerung erstellen :: Kopfzeile */
.nbp-form-box-header {
}
.nbp-form-box-header strong {
    font-size: var(--nbp-font-size-h2);
    font-family: var(--nbp-font-family-h);
    font-weight: var(--nbp-font-weight-semi);
    letter-spacing: var(--nbp-letter-spacing-h);
    color: var(--nbp-color-user);
    display: inline-block;
    margin-right: 5px;
}
.nbp-form-box-close {
}
.nbp-form-box-close a {
    color: #555555;
    /* beeinflusst den Focusring beim Tastaturfocus */
    display: block;
    line-height: 1;
}
.nbp-form-box-close a:hover,
.nbp-form-box-close a:focus {
    color: var(--nbp-color-user);
}
.nbp-form-box-close .nbp-fonticon {
    font-size: 20px;
}


/* ===================================================================================================================
 * Beteiligung :: Äußerung :: Anzeige
 * ===================================================================================================================*/

/* Äußerung-Box */
.nbp-box.nbp-aeusserung-box {
    padding: 0;
    border-radius: 0;
    border: 1px solid transparent;
    border-bottom: 0;
    overflow: hidden;   /* verhindert Überlauf des Backgrounds von Header und Footer */
}
/* Äußerung-Box :: Active */
.nbp-box.nbp-aeusserung-box.nbp-box-focus {
    border: 1px solid var(--nbp-color-user);
}

/* Äußerung-Box :: Kopfzeile */
.nbp-aeusserung-box .nbp-box-header {
    padding: 12px 20px;
    background: var(--nbp-color-gray-light);
    border-bottom: 1px solid transparent;
}
/* Äußerung-Box :: Inhaltsbereich */
.nbp-aeusserung-box .nbp-box-main {
    padding: 20px;
    background: none transparent;
}
.nbp-box-no-footer .nbp-box-main {
    padding-bottom: 10px;
}
/* Äußerung-Box :: Fußzeile */
.nbp-box-footer {
    padding: 10px 20px;
    border-top: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
}
/* Äußerung :: Fußzeile :: Bewerten */
.nbp-aeusserung-bewertungen button.ui-button-icon-only,
.nbp-aeusserung-bewertungen .nbp-fonticon {
    display: inline-block;
    border: none;
    background: transparent;
    font-size: 20px;
    height: 20px;
    width: 20px;
    vertical-align: middle;
    overflow: visible;
}
.nbp-aeusserung-bewertungen .nbp-aeusserung-bewertung {
    font-weight: bold;
    vertical-align: middle;
    margin: 0 4px;
}
.nbp-aeusserung-bewertungen button .ui-icon.nbp-fi {
    border-radius: 10px !important;
}
.nbp-aeusserung-bewertungen button:hover .ui-icon.nbp-fi {
    color: var(--nbp-color-text-inverted);
    background-color: var(--nbp-color-user) !important;
    box-shadow: 0 0 0 2px var(--nbp-color-user);
}

/* Äußerung :: Bearbeiten */
.nbp-aeusserung-inline-actions {
}
/* Äußerung :: Änderungsnotiz */
.nbp-aenderungsnotiz {
    color: #555555;
    font-style: italic;
    font-size: 13px;
    margin: 1em 0 0 0;
}

/* Äußerung :: Beteiligung */
.nbp-aeusserung-beteiligung h3 {
    font-size: var(--nbp-font-size-h5);
    margin: 0 0 10px;
}
/* Äußerung :: Betreff */
.nbp-aeusserung-betreff {
}
/* Betreff :: Beitrag: h3, Kommentar: h4 */
.nbp-aeusserung-betreff h3,
.nbp-aeusserung-betreff h4 {
    color: var(--nbp-color-text);
    display: inline-block;
    font-size: var(--nbp-font-size-h5);
    font-weight: var(--nbp-font-weight-semi);
    margin: 0 0 10px 0;
}

/* Äußerung :: Inhalt */
.nbp-aeusserung-inhalt {
}
/* Äußerung :: Inhalt :: Text */
p.nbp-aeusserung-text {
    white-space: pre-wrap;
    margin-bottom: 0;
}

.nbp-aeusserung-text a {
    color: var(--nbp-color-user);
    text-decoration: 1px underline dotted;
}
.nbp-aeusserung-text a:hover,
.nbp-aeusserung-text a:focus {
    text-decoration: 1px underline solid;
}
.nbp-aeusserung-text p {
    margin-bottom: .5em;
}
.nbp-aeusserung-text p:last-child {
    margin-bottom: 0;
}
.nbp-aeusserung-text > br {
    display: none;
}
.nbp-aeusserung-text ul,
.nbp-aeusserung-text ol {
    display: table;
    margin: .5em 0;
    padding: 0 2em 0;
}
.nbp-aeusserung-text ul {
    list-style: disc outside none;
}
.nbp-aeusserung-text ol {
    list-style: decimal outside none;
}
.nbp-aeusserung-text ul li,
.nbp-aeusserung-text ol li {
    list-style: inherit;
    padding: 0.1em 0;
}
/* Behördenbeteiligung :: Anschreiben */
p.nbp-anschreiben-text {
    white-space: pre-line;
    margin-bottom: 0;
    hyphens: auto;
}
/* Zitate */
.nbp-aeusserung-text blockquote {
    border-left-width: 2px;
    padding-left: 20px;
    padding-right: 8px;
}
blockquote {
    display: table;
    border-color: #AAAAAA;
    border-style: solid;
    border-width: 0;
    font-style: italic;
    padding: 2px 0;
}


/* ===================================================================================================================
 * Beteiligung :: Dialog :: Beitrag/Kommentar
 * ===================================================================================================================*/

/* Kommentar-Box :: Inhaltsbereich */
.nbp-kommentar-box .nbp-box-main {
    padding-bottom: 10px;
}
/* Kommentar-Box :: Fußzeile */
.nbp-kommentar-box .nbp-box-footer,
.nbp-box-no-footer .nbp-box-footer {
    padding: 0 20px 10px;
    border-top: 1px solid transparent;
}

/* Liste der Kommentare */
.nbp-kommentare-list {
    padding: 0 0 0 30px;
}
/* Kommentar-Box im Beitrag-Subpanel :: Kopfzeile  */
.nbp-kommentare-list .nbp-kommentar-box .nbp-box-header {
    background: var(--nbp-color-body-bg);
    border-bottom: 1px solid transparent;
    padding: 0 20px;
}

/* Beitrag :: Fußzeile :: Button Kommentieren */
.nbp-box-footer .btn.nbp-btn-sm {
    padding: 2px 15px;
}

/* Form-Boxen im Dialog-Bereich */
.nbp-beitraege-list .nbp-form-box {
    border-radius: 0;
}

/* Beitrag erstellen :: Bild anfügen ***/
.nbp-fileupload-label-col {
    display: inline-block;
    width: calc(100% - 40px);
}

/* Kommentar erstellen :: Radio-Buttons für Bewertung */
.nbp-kommentar-bewertung .form-group .form-label {
    display: inline-block;
    margin-bottom: 0;
}
.nbp-kommentar-bewertung .form-check-inline {
    margin-right: 10px;
}


/* Sidebar :: Aktuelle Beiträge */
.nbp-aktuelle-beitraege-box .nbp-aktueller-beitrag {
    position: relative;
    padding: 10px 0 10px 10px;
    border-bottom: 1px dotted var(--nbp-color-border);
    transition: background-color .2s;
}
.nbp-aktuelle-beitraege-box .nbp-aktueller-beitrag:first-of-type {
    border-top: 1px dotted var(--nbp-color-border);
}
.nbp-aktuelle-beitraege-box .nbp-aktueller-beitrag:hover {
    background-color: var(--nbp-color-gray-pale);
}
.nbp-aktuelle-beitraege-box .nbp-aktueller-beitrag a {
    font-size: var(--nbp-font-size-h6);
    font-family: var(--nbp-font-family-h);
    font-weight: var(--nbp-font-weight-semi);
    line-height: 1.3;
    margin-bottom: 5px;
}


/* ===================================================================================================================
 * Beteiligung :: Meldeverfahren :: Meldung
 * ===================================================================================================================*/

/* Meldung :: Status */
.nbp-status-green {
    color: #5eb115;
}
.nbp-status-orange {
    color: #ff7f00;
}
.nbp-status-red {
    color: #dd4b39;
}
.nbp-status-gray {
    color: #999;
}

/* Meldung :: Tags */
.nbp-tag {
    display: inline-block;
    text-align: left;
    vertical-align: middle;
    color: #555555;
    background: var(--nbp-color-body-bg);
    border: 1px solid #d8d8d8;
    border-radius: 3px;
    margin-bottom: 4px;
}
.nbp-tag .nbp-fonticon {
    transform: translateY(1px);
    margin-right: 0.25em;
}
.nbp-tag.nbp-tag-sm {
    padding: 2px 7px;
    font-size: 12px;
    line-height: 1.5
}
.nbp-tag.nbp-tag-sm.nbp-tag-rounded {
    border-radius: 12px;
}

.nbp-aeusserung-adresse {
    margin-bottom: 10px;
}
.nbp-aeusserung-rueckmeldung {
    margin-top: 20px;
    padding-left: 30px;
}
.nbp-aeusserung-vermerk {
    padding: 12px 0;
    border-bottom: 1px solid #e6e6e6;
}
.nbp-aeusserung-rueckmeldung .nbp-aeusserung-vermerk:last-of-type {
    padding-bottom: 0;
    border-bottom: 0;
}
.nbp-aeusserung-vermerk--ersteller {
    font-weight: bold;
}

/* Meldung Erstellen */
.nbp-box.nbp-meldung-erstellen-box {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    /* Extra-Padding für Map Collapse Button */
    /* padding-top: 45px; */
}

/* ===================================================================================================================
 * Beteiligung :: Verfahren :: Stellungnahme
 * ===================================================================================================================*/


/* Stellungnahme für zusammengefasste Gegenstände */
.nbp-stn-erstellen-inline-wrapper {
    margin: .5em 0;
}

/* Stellungnahme-Button für zusammengefasste Gegenstände */
a.nbp-stn-erstellen-link {
    display: inline-block;
    padding: 4px 10px;
    font-size: .928em;
    color: var(--nbp-color-status);
    border: 1px solid var(--nbp-color-status);
    border-radius: 3px;
    text-decoration: none !important;
}
a.nbp-stn-erstellen-link.nbp-active {
    color: var(--nbp-color-user);
    border: 1px solid var(--nbp-color-user);
}
a.nbp-stn-erstellen-link:hover,
a.nbp-stn-erstellen-link:focus {
    color: var(--nbp-color-text-inverted);
    background: none var(--nbp-color-user);
    border: 1px solid var(--nbp-color-user);
}

/* Persönlicher Bereich :: Stellungnahme bearbeiten */
.nbp-stn-mapimage {
    max-width: 100%;
}


/* ===================================================================================================================
 * Beteiligung :: Umfrage :: Statistik
 * ===================================================================================================================*/

.fb-statistik-meta {
    margin: 20px 0 30px;
}
.fb-statistik-row span {
    padding-right: 10px;
}


/* ===================================================================================================================
 * Beteiligung :: Veranstaltung
 * ===================================================================================================================*/

/* Veranstalungs-Übersicht (2-spaltige Ansicht) */
.nbp-va-list .nbp-va-list--item {
    padding: 10px 0;
    border-bottom: 1px dotted var(--nbp-color-border);
}
.nbp-va-list .nbp-va-list--item:first-child {
    border-top: 1px dotted var(--nbp-color-border);
}
.nbp-va-list--key {
    display: flex;
    margin-bottom: .25rem;
    font-weight: bold;
}
.nbp-va-list--key .nbp-fonticon {
    font-weight: normal;
    width: 28px;
}
.nbp-va-list--action {
    text-align: right;
}
/* Responsive :: Smartphone */
@media (max-width: 767px) {
    .nbp-va-list--action {
        margin-top: .25rem;
        text-align: left;
    }
}
.nbp-va-list--value.nbp-va-list--text-only {
    padding-left: 28px;
    padding-right: 28px;
    max-width: 850px;
}

.nbp-va-uebersicht.nbp-va-list .nbp-va-list--item:last-child {
    border-bottom: none;
    margin-bottom: -20px;
}

/* Partnerlogos */
.nbp-partnerlogo-panel {
    position: relative;
    height: 120px;
    border: 1px solid #eee;
}
.nbp-partnerlogo {
    position: absolute;
    max-height: 95%;
    max-width: 95%;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}
.nbp-partnerlogo-label {
    margin: 10px 0 20px;
    text-align: center;
}

/* Buchungsformular */
.nbp-va-buchung h4 {
    color: var(--nbp-color-text);
    display: inline-block;
    line-height: 28px;
}
.nbp-va-buchung-hinweis {
    font-size: 13px;
}
/* Buchungsformular :: Buchungspakete */
.nbp-va-buchung .nbp-buchungspaket {
    margin-bottom: 20px;
}
.nbp-va-buchung .nbp-buchungspaket .form-label {
    margin-bottom: 10px;
}
.nbp-va-buchung .nbp-buchungspaket-select {
    border: 1px solid var(--nbp-color-border);
    margin-bottom: -1px;
    position: relative;
    padding: 15px 20px 15px 45px;
}
.nbp-va-buchung .nbp-buchungspaket-select:hover,
.nbp-va-buchung .nbp-buchungspaket-select.nbp-selected {
    background: #F5F5F5;
}
.nbp-va-buchung .nbp-buchungspaket-select.nbp-selected {
    border-color: var(--nbp-color-user);
    z-index: 1;
}
.nbp-va-buchung .nbp-buchungspaket-select:hover,
.nbp-va-buchung .nbp-buchungspaket-select label:hover {
    cursor: pointer;
}
.nbp-buchungspaketoption-bezeichnung {
    font-weight: bold;
}
.nbp-buchungspaketoption-beschreibung {
    display: block;
    margin-top: 8px;
}
/* Ausgebucht */
.nbp-buchungspaketoption-ausgebucht {
    color: var(--nbp-color-status);
}
.nbp-va-buchung .nbp-buchungspaket-select.nbp-buchungspaketoption-ausgebucht:hover,
.nbp-va-buchung .nbp-buchungspaket-select.nbp-buchungspaketoption-ausgebucht label:hover{
    background: transparent;
    cursor: default;
}
.nbp-buchungspaketoption-ausgebucht .nbp-buchungspaketoption-gebuehr {
    text-decoration: line-through;
}
.nbp-buchungspaketoption-ausgebucht-hinweis {
    position: absolute;
    top: 50%;
    height: 24px;
    margin-top: -12px;
    left: 23%;
    border: 1px solid var(--nbp-color-status);
    background: var(--nbp-color-status);
    color: var(--nbp-color-text-inverted);
    font-size: 13px;
    line-height: 1;
    padding: 4px 10px;
}


/* ===================================================================================================================
 * Beteiligung :: Terminvereinbarung
 * ===================================================================================================================*/

/* Wizard :: Step-Title */
.nbp-wizard .ui-wizard-step-title {
    font-size: 15px;
    border: 0;
    border-radius: 0;
    background-color: var(--nbp-color-gray-light);
    padding: 5px 25px;
    margin: 0 3px 5px 0;
}
.nbp-wizard .ui-wizard-step-title.ui-state-highlight {
    color: var(--nbp-color-text-inverted);
    background-color: var(--nbp-color-user);
}
/* Responsive :: Smartphone */
@media (max-width: 767px) {
    .nbp-wizard .ui-wizard-step-title {
        padding: 5px 10px;
    }
}

/* Wizard :: Content */
.nbp-wizard .ui-wizard-content {
    margin: 20px 0 0;
}
.nbp-wizard .ui-wizard-content h3 {
    margin-bottom: 20px;
}

.nbp-tv-button-row {
    min-height: 35px;
}

/* Wizard :: Tabs */
.nbp-steps {
    margin: 30px 0 20px 0;
}
.nbp-step {
    margin-right: 30px;
}
.nbp-steps .nbp-step:last-of-type {
    margin-right: 0;
}
a.nbp-step {
    color: var(--nbp-color-text);
    text-decoration: none !important;
}
a.nbp-step:not(.nbp-step-nav) {
    pointer-events: none; /* deaktiviert */
}
.nbp-step-number {
    display: inline-block;
    width: 26px;
    height: 26px;
    text-align: center;
    font-size: 14px;
    line-height: 1;
    font-weight: bold;
    border: 1px solid transparent;
    background-color: var(--nbp-color-gray-light);
    border-radius: 50%;
    padding: 5px;
    margin: 0 5px 5px 0;
}
.nbp-step.nbp-step-active .nbp-step-number,
a.nbp-step.nbp-step-nav:hover .nbp-step-number {
    color: var(--nbp-color-text-inverted);
    background-color: var(--nbp-color-user);
}
.nbp-step-title {
    font-size: var(--nbp-font-size-h6);
    font-family: var(--nbp-font-family-h);
    font-weight: var(--nbp-font-weight-semi);
}
/* Responsive :: Smartphone */
@media (max-width: 767px) {
    .nbp-step {
        margin-right: 15px;
    }
}


.nbp-tv-datepicker .ui-datepicker {
    width: 100%;
    padding: 0;
    margin-top: 6px;
    margin-bottom: 20px;
}
.nbp-tv-datepicker .ui-datepicker-calendar {
    font-size: 1em;
}
.nbp-tv-datepicker .ui-datepicker td {
    padding: 2px;
}
.nbp-tv-datepicker .ui-datepicker td span,
.nbp-tv-datepicker .ui-datepicker td a {
    padding: 8px;
}
.nbp-tv-datepicker .ui-datepicker-calendar a.ui-state-default {
    color: var(--nbp-color-text-inverted);
    background-color: #59a814; /* gruen = buchbarer Termin */
    border-radius: 3px;
}
.nbp-tv-datepicker .ui-datepicker-calendar a.ui-state-default:hover {
    color: var(--nbp-color-text-inverted);
    background-color: #4B8D11; /* gruen = buchbarer Termin :: hover */
}
.nbp-tv-datepicker .ui-datepicker-calendar a.ui-state-default.ui-state-active {
    color: var(--nbp-color-text-inverted);
    background-color: var(--nbp-color-user);
}
.nbp-tv-datepicker .ui-datepicker-calendar span.ui-state-disabled {
    color: var(--nbp-color-text);
}

/* Calendar */
.ui-datepicker .ui-datepicker-header {
    border-top: 1px dotted var(--nbp-color-border);
    border-bottom: 1px dotted var(--nbp-color-border);
    padding: 5px 0;
}
.ui-datepicker .ui-datepicker-title {
    font-weight: bold;
}
.ui-datepicker-header .ui-datepicker-prev,
.ui-datepicker-header .ui-datepicker-next {
    /* Icomoon */
    font-family: 'icomoon';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    /* Icon */
    font-size: 16px;
    line-height: 1;
    top: 3px;
    background: transparent;
    border: none;
    text-decoration: none;
    color: var(--nbp-color-status)
}
.ui-datepicker-header .ui-datepicker-prev .ui-icon,
.ui-datepicker-header .ui-datepicker-next .ui-icon {
    display: none;
}
.ui-datepicker-header .ui-datepicker-prev:before {
    content: "\ede2"; /* icomoon-arrow-left8 */
}
.ui-datepicker-header .ui-datepicker-next:before {
    content: "\edde"; /* icomoon-arrow-right8 */
}
.ui-datepicker-header .ui-datepicker-prev {

}
.ui-datepicker-header .ui-datepicker-next {
    text-align: right;
}
.ui-datepicker-header .ui-datepicker-prev:hover,
.ui-datepicker-header .ui-datepicker-next:hover {
    color: var(--nbp-color-user);
}
.ui-datepicker-header .ui-datepicker-prev.ui-state-disabled,
.ui-datepicker-header .ui-datepicker-next.ui-state-disabled {
    display: none;
}
/* Webportal: Fix PF-Datepicker on Touch Devices (p:datepicker mit inline=true) */
.p-datepicker .ui-datepicker-inline.ui-datepicker-touch-ui {
    position: relative;
    top: 0;
    left: 0;
    min-width: 0;
    width: 100%;
    transform: none;
}

/* Terminangebot */
a.nbp-terminangebot {
    display: block;
    position: relative;
    text-decoration: none;
    cursor: pointer;
    padding: 5px 15px;
    color: var(--nbp-color-text);
    border: 1px solid var(--nbp-color-border);
    border-radius: 3px;
    margin-bottom: -1px;
}
a.nbp-terminangebot:hover {
    border-color: var(--nbp-color-user);
    z-index: 1;
}
a.nbp-terminangebot.ui-state-active {
    color: var(--nbp-color-text-inverted);
    background-color: var(--nbp-color-user);
    border-color: var(--nbp-color-user);
    z-index: 1;
}
a.nbp-terminangebot .nbp-fonticon {
    color: var(--nbp-color-border);
    transform: translateY(.5px);
    margin-right: 7px;
}
a.nbp-terminangebot:hover .nbp-fonticon {
    color: var(--nbp-color-user);
}
a.nbp-terminangebot.ui-state-active .nbp-fonticon {
    color: var(--nbp-color-text-inverted);
}

.ui-button.nbp-tv-buchen-dl-next {
    margin-top: 27px;
    padding: 3.5px 20px;
}

.nbp-tv-buchen-status {
    margin-bottom: 20px;
}

/* ===================================================================================================================
 * Beteiligung :: Behördenbeteiligung
 * ===================================================================================================================*/

.nbp-bhb-teaser-list .nbp-bhb-teaser {
    position: relative;
    padding: 10px 0;
    border-bottom: 4px solid var(--nbp-color-gray-pale);
}
.nbp-bhb-teaser-list .nbp-bhb-teaser:first-of-type {
    border-top: 4px solid var(--nbp-color-gray-pale);
}

/* ===================================================================================================================
 * Beteiligung :: Petitionsverfahren
 * ===================================================================================================================*/

.nbp-petition-beteiligung .ui-messages > div {
    margin-bottom: 30px;
}

/* Informationen */
@media (min-width: 992px) {
    .nbp-petition-informationen {
        padding-left: 20px;
        margin-top: -40px;
    }
    .nbp-petition-beteiligung {
        padding-right: 20px;
    }
}

/* Form */
.nbp-petition-form .col {
    margin: 0;
}

/* Link "mehr anzeigen" */
@media (min-width: 768px) {
    .nbp-petition-beteiligung .nbp-readmore-link a {
        margin-left: 0;
    }
}

/* Petition Card */
.nbp-petition-card {
    height: 250px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    background-color: var(--nbp-color-gray-light);
    padding: 20px 15px;
    position: relative;
}
.nbp-petition-card:hover,
.nbp-petition-card:focus {
    text-decoration: none;
}
.nbp-petition-card:hover .nbp-petition-betreff h3,
.nbp-petition-card:focus .nbp-petition-betreff h3 {
    text-decoration: underline;
}
/* Card-Betreff */
.nbp-petition-betreff {
    flex-grow: 1;
    line-height: 1.2em;
    font-size: 18px;
    font-weight: bold;
    overflow: hidden;
}
/* Card-Footer */
.nbp-petition-footer {
    font-size: 12px;
}
.nbp-petition-footer .col {
    display: flex;
    align-items: center;
    color: var(--nbp-color-text);
}
.nbp-petition-footer-no-pie .nbp-petition-footer-statistik {
    flex-direction: column;
    align-items: start;
}
.nbp-petition-footer-no-pie .nbp-petition-footer-statistik-anzahl {
    margin-bottom: 4px;
}
/* Mini Pie-Chart */
.nbp-petition-pie-wrapper {
    width: 28px;
    height: 28px;
    place-content: center;
    position: relative;
    background-color: var(--nbp-color-user);
    margin-right: 8px;
    border-radius: 100%;
}
.nbp-petition-pie {
    content: "";
    position: absolute;
    border-radius: 50%;
    inset: 0;
}
/* Grid */
.nbp-petition-grid .ui-g {
    margin: 0 -0.5em;
}
/* Umschaltung auf zweispaltiges Grid */
@media (max-width: 991px) {
    .nbp-petition-grid .ui-datagrid-column {
        width: 50% !important;
    }
}
/* Umschaltung auf einspaltiges Grid */
@media (max-width: 767px) {
    .nbp-petition-grid .ui-g .ui-datagrid-column {
        width: 100% !important;
    }
    .nbp-petition-card {
        height: auto;
    }
}

/* Petition Statistik - Status */
.nbp-pt-status-icon {
    color: #AAAAAA;
    transform: translateY(1px);
}
.nbp-pt-status-icon.nbp-pt-status-in-bearbeitung,
.nbp-pt-status-icon.nbp-pt-status-in-pruefung,
.nbp-pt-status-icon.nbp-bt-status-aktivierung-ausstehend {
    color: #F0C600;
}
.nbp-pt-status-icon.nbp-pt-status-in-mitzeichnung {
    color: #59a814;
}
.nbp-pt-status-icon.nbp-pt-status-abgelehnt {
    color: #dd4b39;
}
.nbp-pt-status-icon.nbp-bt-status-abgeschlossen {
    color: #AAAAAA;
}
/* Petition Rueckmeldung */
.nbp-petition-rueckmeldung {
    padding: 0;
}


/* ===================================================================================================================
 * Portal :: Filtern :: Beteiligung, Portale, Meldungen, Äußerungen
 * ===================================================================================================================*/

/* Beteiligungen :: Filtern */
.nbp-filter .nbp-filter-placeholder {
    display: block;
    margin-bottom: 5px;
    color: var(--nbp-color-status);
}
.nbp-filter-row {
    margin-left: -6px;
    margin-right: -6px;
}
.nbp-filter .nbp-filter-col {
    margin-top: 15px;
    padding-left: 6px;
    padding-right: 6px;
}
.nbp-filter .nbp-filter-buttons {
    display: flex;
    /* vertikales Alignment */
    align-items: flex-end;
    /* horizontales Alignment */
    justify-content: space-between;
}
.nbp-filter .ui-button.ui-button-icon-only {
    flex-grow: 1;
    margin: 0;
}
/* Responsive :: Smartphone */
@media (max-width: 767px) {
    .nbp-filter .ui-button.ui-button-icon-only {
        width: 47.5%;
    }
}

.nbp-filter select,
.nbp-filter input,
.nbp-filter .ui-button.ui-button-icon-only {
    height: 34px;
}

/* Beteiligungen :: Filtern :: Autocomplete */
.nbp-filter .ui-autocomplete {
    width: 150px;
}
.nbp-filter .ui-autocomplete-input {
    height: 34px;
    width: 150px;
}

/* Mandanten :: Filtern */
.nbp-filter.nbp-filter-portale .ui-autocomplete {
    width: 300px;
    max-width: 100%;
}

.nbp-freitext-filter .ui-autocomplete-input {
    height: 34px;
    padding-right: 66px;
}

.btn.ui-button-icon-only.nbp-freitext-filter-reset {
    margin-left: -62px;
    height: 34px;
    width: 26px;
    border-radius: 0;
    background: transparent;
    border-color: transparent;
    text-shadow: none;
    color: var(--nbp-color-status);
    vertical-align: top;
}
.btn.ui-button-icon-only.nbp-freitext-filter-reset.ui-state-hover,
.btn.ui-button-icon-only.nbp-freitext-filter-reset.ui-state-focus {
    color: var(--nbp-color-text)
}
.btn.ui-button-icon-only.nbp-freitext-filter-submit {
    margin: 0;
    height: 34px;
    width: 36px;
    border-radius: 0 3px 3px 0;
    vertical-align: top;
}

.nbp-beteiligung-suche .ui-autocomplete {
    width: 420px;
    max-width: 100%;
}

.nbp-filter-calendar {
    margin: 0;
}
.nbp-filter-label {
    font-weight: bold;
    display: inline-block;
    margin-top: 20px;
}
.nbp-filter .nbp-filter-label-inline {
    margin: 0;
    font-weight: bold;
}

/* Filtertags */
button.nbp-filter-tag {
    margin: 3px 6px 3px 0;
    border-color: var(--nbp-color-text) !important;
}

/* ===================================================================================================================
 * Portale (Mandanten) :: Liste
 * ===================================================================================================================*/

/* Mandant :: Teaser :: Statusliste */
.nbp-mandant-teaser--statuslist {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
}
.nbp-mandant-teaser--statuslist li {
    display: block;
    margin: 5px 15px 0 0;
}
.nbp-mandant-teaser--statuslist .nbp-fonticon {
    font-size: 16px;
    transform: translateY(1px);
    margin-right: 5px;
}
@media (max-width: 767.98px) {
    .nbp-mandant-teaser--statuslist li {
        width: 100%;
    }
}
/* Mandant :: Teaser :: Logo */
.nbp-mandant-teaser--logo-wrapper {
    display: block;
    background: var(--nbp-color-body-bg);
    padding: 10px;
    border: 1px solid var(--nbp-color-gray-pale);
}
.nbp-mandant-teaser--logo {
    position: relative;
    margin: 0;
    width: 100%;
    height: 0;
    padding-bottom: 76px;
    overflow: hidden;
}
.nbp-mandant-teaser--logo img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/* Mandant :: Teaser :: Logo :: Dummy-Logo */
.nbp-mandant-teaser .nbp-preview-dummy {
    margin: 0;
    padding-bottom: 76px;
}
.nbp-mandant-teaser .nbp-preview-dummy .nbp-fonticon {
    font-size: 50px;
    margin-top: -25px;
}

/* ===================================================================================================================
 * Persönlicher Bereich
 * ===================================================================================================================*/


/* ===================================================================================================================
 * Persönlicher Bereich :: Benutzerprofil
 * ===================================================================================================================*/

.nbp-profil h4 {
    color: var(--nbp-color-status);
    margin: 0;
    line-height: 1;
}
.nbp-title-divider {
    position: relative;
    text-align: left;
    margin: 15px 0;
}
.nbp-title-divider-heading {
    position: relative;
    display: inline-block;
    padding: 0 1em 0 0;
    background: var(--nbp-color-body-bg);
}
.nbp-title-divider:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 0;
    border-top: 1px solid var(--nbp-color-border);
    left: auto;
    top: 50%;
    right: 0;
}

/* ===================================================================================================================
 * Persönlicher Bereich :: Mitarbeiter
 * ===================================================================================================================*/

.nbp-mitarbeiter-teaser {
    padding: 10px 0;
    border-bottom: 4px solid var(--nbp-color-gray-pale);
}
.nbp-mitarbeiter-list .nbp-mitarbeiter-teaser:last-of-type {
    border-bottom: 0;
}

/* ===================================================================================================================
 * Listen von Stellungnahmen (Persönlicher Bereich, Gegenstand Detailseite)
 * ===================================================================================================================*/

.nbp-stn-detail {
    padding: 20px 15px;
    border: 2px solid transparent;
    border-bottom: 4px solid var(--nbp-color-gray-pale);
}
.nbp-stn-detail.nbp-stn-detail-active {
    border: 2px solid var(--nbp-color-gray-pale);
}
.nbp-stn-detail-panel {
    padding: 20px;
    background-color: var(--nbp-color-gray-pale);
}
.nbp-stn-content {
    padding: 15px;
    margin-bottom: 10px;
    background-color: var(--nbp-color-body-bg);
}
.nbp-stn-content-buttonline {
    padding: 15px;
    background-color: var(--nbp-color-body-bg);
}
.nbp-stn-content-inhalt {
    max-height: 500px;
    overflow-y: auto;
}

.nbp-abwaegung-label {
    font-weight: bold;
    font-style: italic;
    color: #555555;
}
.nbp-abwaegung-teilstn-einleitung {
    font-weight: bold;
    font-style: italic;
    font-size: 15px;
}
.nbp-abwaegung-ueberschrift {
    line-height: 1;
    margin-bottom: 15px;
}

.nbp-stn-meta {
    font-size: var(--nbp-font-size-h5);
    font-family: var(--nbp-font-family-h);
    font-weight: var(--nbp-font-weight-semi);
}

/* ===================================================================================================================
 * Profil :: Registrieren, Kontaktformular
 * ===================================================================================================================*/

/* Captcha */
.nbp-captcha-img {
    max-width: 240px;
    max-height: 60px;
    margin-top: 5px;
}

/* ===================================================================================================================
 * Portaltexte :: Allgemein
 * ===================================================================================================================*/

/* Links in Portaltexten */
.nbp-portaltext p a {
    text-decoration: 1px underline dotted;
}
.nbp-portaltext p a:hover,
.nbp-portaltext p a:focus {
    text-decoration: 1px underline solid;
}
/* Listen in Portaltexten */
.nbp-portaltext ol,
.nbp-portaltext ul {
    padding-left: 2em;
}
.nbp-portaltext ol {
    list-style-type: decimal;
}
.nbp-portaltext ul {
    list-style-type: disc;
}
/* Bilder in Portaltexten */
.nbp-portaltext img {
    max-width: 100% !important;
    height: auto !important;
}
/* Figures in Portaltexten */
.nbp-portaltext figure figcaption {
    display: inline-block;
    margin-top: 5px;
}


/* ===================================================================================================================
 * Portaltexte :: Hilfeseiten, Datenschutz, Leichte Sprache
 * ===================================================================================================================*/

/* Sprungliste (FAQ, Regeln) *****/
.nbp-portaltext ul.inhaltsverzeichnis {
    list-style-image: none;
    list-style-type: none;
    margin: 20px 0 30px;
    padding: 0;
    text-align: left;
}
.nbp-portaltext ul.inhaltsverzeichnis li {
    list-style: none outside none;
    line-height: 1.5;
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px dotted var(--nbp-color-border);
}
.nbp-portaltext ul.inhaltsverzeichnis li:first-child {
    border-top: 1px dotted var(--nbp-color-border);
}
.nbp-portaltext ul.inhaltsverzeichnis li a {
    display: block;
    outline-offset: 3px;
}

/* Hilfebereich :: (FAQ, Regeln) :: H3 */
.nbp-portaltext.nbp-hilfebereich h3 {
    margin: 20px 0 10px;
    color: var(--nbp-color-text);
}


/* ===================================================================================================================
 * Faces :: Inputs
 * ===================================================================================================================*/

/* Checkbox-RO */
.nbp-boolean {
    font-size: 16px;
    width: 1em;
    position: relative;
    margin: 0;
}
.nbp-boolean-on {
    color: green;
}
.nbp-boolean-off {
    color: #8E9094;
}

/* Hover-State */
select:enabled:hover, input:enabled:hover {
    border-color: #7096ab;
}

/* ===================================================================================================================
 * Primefaces :: Inputs
 * ===================================================================================================================*/

input, select, textarea, .ui-inputfield, .ui-selectonemenu {
    box-sizing: border-box;
    border-color: #909499;
    transition: border-color 0.2s, box-shadow 0.2s;
}
select, .ui-inputfield {
    height: 30px;
}
/* Text-Input :: Background */
.ui-inputfield {
    background-color: var(--nbp-color-body-bg);
    background-clip: padding-box;  /* für Safari */
    padding: 3px 6px;
}


/* ===================================================================================================================
 * Primefaces :: Autocomplete :: Overlay
 * ===================================================================================================================*/

/* Overlay Large */
.ui-autocomplete-panel {
    background: var(--nbp-color-body-bg);
    margin: 0 20px;   /* Mindestabstand horizontal Smartphone */
    padding: 11px 0;
    border: 1px solid rgba(0, 0, 0, 0.15);
    min-width: 280px;
}
.ui-autocomplete-panel .ui-autocomplete-list {
    border: 0;
    padding: 0;
}
.ui-autocomplete-list .ui-autocomplete-item {
    background: var(--nbp-color-body-bg);
    color: var(--nbp-color-text);
    font-size: 1em;
    padding: 11px 20px;
    border-radius: 0;
}
.ui-autocomplete-list .ui-autocomplete-item.ui-state-highlight {
    background: #eee;
}
.ui-autocomplete-empty-message {
    padding: 6px 20px;
}
.ui-autocomplete-empty-message + .ui-autocomplete-list {
    display: none;
}

.ui-autocomplete-panel .ui-autocomplete-group {
    border-bottom: 1px solid var(--nbp-color-border);
    margin: 0 20px 4px 20px;
    padding: 4px 0;
    font-size: 12px;
    font-weight: bold;
}

/* ===================================================================================================================
 * Primefaces :: Autocomplete :: formOneAutocomplete
 * ===================================================================================================================*/

.ui-autocomplete {
    width: 100%;
}
.ui-autocomplete .ui-autocomplete-input {
    width: 100%;
    border-radius: 3px;
}
.ui-autocomplete .ui-autocomplete-input.ui-autocomplete-dd-input {

}
.ui-autocomplete .ui-autocomplete-dropdown.ui-button {
    border-radius: 0 3px 3px 0;
    border: 1px solid #909499;
    background-color: var(--nbp-color-body-bg);
    width: 30px;
    right: 0;
    /* Pfeil überschreiben */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%2334495E' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-size: 8px;
    background-position: right 10px center;
}
.ui-autocomplete .ui-autocomplete-dropdown .ui-icon {
    /* von PF gesetztes Icon ausblenden - important, weil sonst ui-state-loading das icon überschreibt */
    display: none !important;
}
.ui-autocomplete .ui-autocomplete-dropdown.ui-button.ui-state-focus,
.ui-autocomplete .ui-autocomplete-dropdown.ui-button:hover {
    border: 1px solid #7096ab
}
.ui-autocomplete .ui-autocomplete-input.ui-state-error,
.ui-autocomplete .ui-autocomplete-input.ui-state-error + .ui-autocomplete-dropdown.ui-button {
    border: 1px solid #cd0a0a;
}

/* Overlay Medium */
.nbp-autocomplete-panel-md.ui-autocomplete-panel {
    padding: 5px 0;
}
.nbp-autocomplete-panel-md.ui-autocomplete-panel .ui-autocomplete-list .ui-autocomplete-item {
    padding: 5px 10px;
}

/* ===================================================================================================================
 * Primefaces :: CK-Editor
 * ===================================================================================================================*/

.nbp-cke-wrapper textarea {
    box-sizing: border-box;
    height: 242px;
    width: 100%;
}
.nbp-form-box .cke, .nbp-cke-wrapper .cke {
    box-sizing: border-box;
    width: 100%;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.nbp-cke-wrapper .cke_chrome {
    border-color: #909499;
    box-shadow: none;
}
.nbp-cke-wrapper .cke_top,
.nbp-cke-wrapper .cke_bottom {
    background: none var(--nbp-color-gray-light);
}
/* CK-Editor :: Error-State */
.nbp-cke-ta.ui-state-error + .cke {
    border: 1px solid #cd0a0a;
}
.nbp-cke-wrapper {
    position: relative;
}
.nbp-cke-wrapper .nbp-cke-hilfe-link {
    color: var(--nbp-color-user);
    cursor: pointer;
    position: absolute;
    right: 12px;
    top: 12px;
    z-index: 10;
    outline-offset: 3px;
}
.nbp-cke-wrapper .nbp-cke-hilfe-link .nbp-fonticon {
    vertical-align: text-top;
    margin-right: 5px;
    cursor: pointer;
}
.nbp-cke-wrapper .nbp-cke-hilfe-link {
    outline: none;
}
.nbp-tabfocus-on .nbp-cke-wrapper .nbp-cke-hilfe-link:focus {
    outline: 2px dotted;
}
/* Touch Devices :: Hilfe-Link nicht anzeigen */
@media (pointer:coarse) {
    .nbp-cke-wrapper .nbp-cke-hilfe-link {
        display: none;
    }
}
.nbp-cke-wrapper .nbp-cke-hilfe-pop {
    display: none;
    position: absolute;
    right: 12px;
    top: 43px;
    width: 40em;
    z-index: 11;
    padding: 12px 16px;
    background: #F8F8F8;
    color: #555555;
    border: 1px solid var(--nbp-color-border);
    border-radius: 6px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.nbp-cke-wrapper .nbp-cke-hilfe-pop p {
    margin-bottom: .5em;
}
/* Responsive :: Smartphone */
@media (max-width: 767px) {
    .nbp-cke-wrapper .nbp-cke-hilfe-link {
        display: none;
    }
}

/* ===================================================================================================================
 * Buttons
 * ===================================================================================================================*/

/* Buttons :: Default */
.btn {
    border-radius: 3px;
    overflow: hidden;
    font-weight: normal;
    vertical-align: middle;
    line-height: 1.5;
    margin: 0;
    color: var(--nbp-color-text-inverted);
    border: 1px solid var(--nbp-color-user-lighter);
    background: linear-gradient(var(--nbp-color-user-lighter), var(--nbp-color-user));
    padding: 0.375rem 1rem;
    transition: background 0s;
}
.btn-light {
    color: #555555;
    background: var(--nbp-color-body-bg)
}

/* Buttons :: States */
/* Hover / Active */
.btn:hover,
.btn:active {
    color: var(--nbp-color-text-inverted);
    background: var(--nbp-color-user);
    text-decoration: none;
}
.btn:hover,
.btn:focus {
    text-decoration: none;
}
/* Disabled */
.btn.ui-state-disabled {
    opacity: 0.65;
}

/* Buttons :: Icons */
.btn .nbp-fonticon {
    transform: translateY(.5px);
}
.btn.ui-button-icon-only {
    padding: 0.375rem;
}
/* Primefaces-Buttons :: Primefaces-Icons */
.btn.ui-button-icon-only .ui-icon,
.btn.ui-button-text-icon-left .ui-icon,
.btn.ui-button-text-icon-right .ui-icon {
    position: static;
    display: inline-block;
    vertical-align: middle;
    margin-top: -.25em;
    margin-left: 0;
}
.btn.ui-button-text-icon-left .ui-icon {
    margin-right: 6px;
}
.btn.ui-button-text-icon-right .ui-icon {
    margin-left: 6px;
}
.ui-button .ui-icon {
    background-image: url(/portal/jakarta.faces.resource/images/ui-icons_ffffff_256x240.png?ln=primefaces-nbp-ext&v=15.0.1&e=15.0.1);
}
/* Primefaces-Buttons :: Fonticons in Buttons */
/* siehe common.css */
/* Button :: Icon-Only :: rechteckig */
.btn.ui-button-icon-only {
    padding: 0.375rem;
    width: 2.4em;
}
/* Button :: Icon-Only :: rund :: medium */
.btn.ui-button-icon-only.nbp-btn-round-md {
    height: 28px;
    width: 28px;
    border-radius: 50%;
    font-size: 12px;
}
/* Button :: Icon-Only :: rund :: small */
.btn.ui-button-icon-only.nbp-btn-round-sm {
    height: 24px;
    width: 24px;
    border-radius: 50%;
    font-size: 12px;
}

/* muss überschrieben werden, da spezielles pf-css im Responsive-Fall existiert */
.nbp-fileupload .ui-fileupload-choose {
    padding: 0.375rem 1.5rem;
}
/* Buttons :: Text */
.btn .ui-button-text {
    display: inline-block !important;
    font-weight: normal;
    padding: 0;
    line-height: 1.5;
}
.btn.ui-button-icon-only .ui-button-text {
    text-indent: -9999999px;
    width: 0;
}

/* Buttons :: Sizing */
.nbp-btn-lg {
    padding: 7px 30px;
}
.nbp-btn-md {
    padding: 3px 10px;
    font-size: .928em;
}
.nbp-btn-sm {
    padding: 2px 8px;
    font-size: .857em;
}
.btn.nbp-btn-sm.nbp-btn-rounded {
    border-radius: 12px;
}

/* Buttons :: Color */
/* Button :: Color User */
.btn.nbp-btn-cu {
    color: var(--nbp-color-text-inverted);
    border: 1px solid var(--nbp-color-user);
    background: linear-gradient(var(--nbp-color-user-lighter), var(--nbp-color-user));
}
.btn.nbp-btn-cu:hover {
    border: 1px solid var(--nbp-color-user);
    background: var(--nbp-color-user);
}
/* Button :: Color User :: Light */
.btn.nbp-btn-cu-light {
    color: var(--nbp-color-user);
    border: 1px solid var(--nbp-color-user);
    background: var(--nbp-color-body-bg);
}
.btn.nbp-btn-cu-light:hover {
    color: var(--nbp-color-text-inverted);
    border: 1px solid var(--nbp-color-user);
    background: var(--nbp-color-user);
}
/* Button :: Color Content */
.btn.nbp-btn-cc {
    color: var(--nbp-color-text-inverted);
    border: 1px solid var(--nbp-color-content);
    background: linear-gradient(var(--nbp-color-content-lighter), var(--nbp-color-content));
}
.btn.nbp-btn-cc:hover {
    border: 1px solid var(--nbp-color-content);
    background: var(--nbp-color-content);
}
/* Button :: Color Content :: Light */
.btn.nbp-btn-cc-light {
    color: var(--nbp-color-content);
    border: 1px solid var(--nbp-color-content);
    background: var(--nbp-color-body-bg);
}
.btn.nbp-btn-cc-light:hover {
    color: var(--nbp-color-text-inverted);
    border: 1px solid var(--nbp-color-content);
    background: var(--nbp-color-content);
}
.btn.nbp-btn-cc-light:hover .nbp-fonticon {
    color: var(--nbp-color-text-inverted);
}
/* Button :: Color Text */
.btn.nbp-btn-ct {
    color: var(--nbp-color-text);
    border: 1px solid var(--nbp-color-border);
    background: var(--nbp-color-body-bg);
}
.btn.nbp-btn-ct:hover {
    background: var(--nbp-color-gray-pale);
}

/* ===================================================================================================================
 * Primefaces :: FileUpload
 * ===================================================================================================================*/

.ui-fileupload-buttonbar {
    border: none;
    padding: 0.5em 0;
}
.nbp-fileupload .ui-button {
    margin: 0;
}
/* Upload-Panel ***/
.ui-fileupload-content {
    padding: 0;
}
.ui-fileupload-content .ui-messages .ui-messages-close {
    display: none;
}
.nbp-fileupload-panel a {
    color: var(--nbp-color-text);
}
.nbp-fileupload-infomessage {
    /* margin-top: -3em; */
}
.nbp-fileupload-messages .ui-messages-error {
    margin-top: 1em;
}
.ui-fileupload .ui-messages {
    margin-bottom: 1em;
}
/* PF-Fileupload Advanced :: Bereich für Fortschrittsbalken - ausgeblendet, da nicht responsive */
.nbp-fileupload .ui-fileupload-content .ui-fileupload-files {
    display: none;
}
/* Upload-Button :: versteckter input type=file */
.nbp-fileupload .ui-fileupload-choose input {
    width: 0;   /* wenn der input über dem button liegt, ändert sich der cursor nicht */
    height: 0;
}


/*** Fileupload mit + Button */

.nbp-fileupload.nbp-fileupload-round {
    display: inline;
}
/* PF-Fileupload Advanced :: Bereich für Upload-Button */
.nbp-fileupload.nbp-fileupload-round .ui-fileupload-buttonbar {
    float: right;
    padding: 3px 0;
}
/* PF-Fileupload Advanced :: Bereich für Messages und Fortschrittsbalken */
.nbp-fileupload.nbp-fileupload-round .ui-fileupload-content {
}
/* PF-Fileupload Advanced :: Bereich für Messages */
.nbp-fileupload.nbp-fileupload-round .ui-fileupload-content .ui-fileupload-messages {
    margin: 0;
    width: 100%;
}
.nbp-fileupload.nbp-fileupload-round .ui-fileupload-content .ui-fileupload-messages .ui-messages-error {
    margin: 10px 0 5px 0;
}
/* Upload-Button - rund */
.nbp-fileupload.nbp-fileupload-round .ui-fileupload-choose {
    padding: 0;
    height: 28px;
    width: 28px;
    border-radius: 14px !important;
    font-size: 12px;
    box-sizing: border-box;
}
/* Upload-Button :: Icon */
.nbp-fileupload.nbp-fileupload-round .ui-fileupload-choose .ui-icon {
    /* reset */
    background: none repeat scroll 0 0 transparent !important;
    text-indent: 0;
    border-radius: 0;
    margin: 0;
    /* position */
    transform: translate(0, 0);
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -0.5em;
    margin-left: -0.5em;
    width: 1em;
    height: 1em;
    line-height: 1em;
}
.nbp-fileupload.nbp-fileupload-round .ui-fileupload-choose .ui-icon::before {
    content: "\ed5b"; /* icomoon-plus2 */
    font-family: 'icomoon';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
/* Upload-Button :: text */
.nbp-fileupload.nbp-fileupload-round .ui-fileupload-choose .ui-button-text {
    padding: 0;
    text-indent: -9999999px;
}


/* ===================================================================================================================
 * Primefaces :: AccordionPanel
 * ===================================================================================================================*/

/* Accordion */
.nbp-accordion.ui-accordion {
    line-height: inherit;
}
/* Accordion :: Header */
.nbp-accordion.ui-accordion .ui-accordion-header {
    color: #888888;
    font-weight: normal;
    background: none;
    border: none;
    margin: 0;
    padding: 10px 0;
    outline: none;
}
.nbp-accordion.ui-accordion .ui-accordion-header h2,
.nbp-accordion.ui-accordion .ui-accordion-header h3 {
    margin: 0;
    padding: 0;
    display: inline-block;
}
/* Accordion :: Content */
.nbp-accordion.ui-accordion .ui-accordion-content {
    padding: 10px 0;
    overflow: hidden;
    line-height: inherit;
}
/* Accordion :: Font-Icons */
.nbp-accordion.ui-accordion .ui-accordion-header .ui-icon {
    font-family: 'icomoon';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
    font-size: 12px;
    position: absolute;
    left: inherit;
    right: 0;
    top: 0;
    background: none;
    text-indent: 0;
}
.nbp-accordion.ui-accordion .ui-accordion-header .ui-icon:before {
    content: "\edc0";
    display: inline-block;
    transition: transform .3s ease-out;
    transform: rotateY(180deg);
    transform-origin: center center;
}
.nbp-accordion.ui-accordion .ui-accordion-header.ui-state-active .ui-icon:before {
    transform: rotate(180deg);
}

/*.nbp-accordion.ui-accordion .ui-icon-triangle-1-s:before {*/
/*    content: "\ed5d";   !*  icomoon-arrow-up3 *!*/
/*}*/
/*.nbp-accordion.ui-accordion .ui-icon-triangle-1-e:before {*/
/*    content: "\ed5d";   !* icomoon-arrow-down3 *!*/
/*}*/


/* Accordion :: Zusatzangaben Meldung ---------------------------------------------------------- */

/* Accordion :: Zusatzangaben */
.nbp-accordion.nbp-accordion-meldung .ui-accordion-header {
    padding: 0;
}
.nbp-accordion.nbp-accordion-meldung .ui-accordion-content {
    padding: 0;
}
.nbp-accordion.nbp-accordion-meldung .ui-accordion-header .ui-icon {
    display: none;
}
/* Accordion :: Zusatzangaben :: State :: Tab-Focus */
.nbp-tabfocus-on .nbp-accordion.nbp-accordion-meldung .ui-accordion-header.ui-tabs-outline .nbp-dotted-link {
    outline: 2px dotted;
    outline-offset: 5px;
}
/* Accordion :: Zusatzangaben :: Unterschiedliche Header für offen und geschlossen */
.nbp-accordion .nbp-accordion-title-default,
.nbp-accordion .nbp-accordion-title-active {
    color: var(--nbp-color-user);
    display: inline-block;
}
.nbp-accordion .nbp-accordion-title-active {
    display: none;
}
.nbp-accordion .ui-state-active .nbp-accordion-title-default {
    display: none;
}
.nbp-accordion .ui-state-active .nbp-accordion-title-active {
    display: inline-block;
}

/* Accordion :: Beteiligung -------------------------------------------------------------------- */

/* Accordion :: Beteiligung */
.nbp-accordion.nbp-accordion-beteiligung {
    margin-top: 20px;
    border-bottom: 1px dotted var(--nbp-color-border);
}
.nbp-accordion.nbp-accordion-beteiligung .ui-accordion-header {
    padding: 20px 0;
    border-top: 1px dotted var(--nbp-color-border);
    transition: color .2s;
}
.nbp-accordion.nbp-accordion-beteiligung h2 {
    line-height: 1;
}
/* Accordion :: Beteiligung :: State :: Hover */
.nbp-accordion.nbp-accordion-beteiligung .ui-accordion-header:hover {
    color: var(--nbp-color-content);
}
/* Accordion :: Beteiligung :: State :: Tab-Focus */
.nbp-tabfocus-on .nbp-accordion.nbp-accordion-beteiligung .ui-accordion-header:focus {
    color: var(--nbp-color-content);
}
.nbp-tabfocus-on .nbp-accordion.nbp-accordion-beteiligung .ui-accordion-header.ui-tabs-outline h2 {
    outline: 2px dotted;
    outline-offset: 5px;
}
/* Accordion :: Beteiligung :: Icon */
.nbp-accordion.nbp-accordion-beteiligung .ui-accordion-header .ui-icon {
    font-size: 22px;
    width: 24px;
    height: 24px;
    overflow: visible;
    margin-top: 20px;
    line-height: 1;
}
/* Accordion :: Beteiligung :: Colorline im Header dynamische ein- und ausblenden */
.nbp-accordion .ui-accordion-header .nbp-colorline::after {
    display: none;
}
.nbp-accordion .ui-accordion-header.ui-state-active .nbp-colorline::after {
    display: var(--nbp-colorline-display);
}
/* Accordion :: Beteiligung :: Content */
.nbp-accordion.nbp-accordion-beteiligung .ui-accordion-content {
    padding: 10px 0 20px;
}

/* Accordion :: Beteiligung :: Veranstaltung */
.nbp-accordion.nbp-accordion-beteiligung.nbp-accordion-va .ui-accordion-header:first-child.ui-state-active {
    border-color: transparent;
}

/* Responsive :: Smartphone */
@media (max-width: 767px) {
    .nbp-accordion.nbp-accordion-beteiligung h2 {
        font-size: var(--nbp-font-size-h3);
    }
    .nbp-accordion.nbp-accordion-beteiligung .ui-accordion-header .ui-icon {
        font-size: 20px;
        margin-top: 22px;
    }
}

/* Accordion :: Petition -------------------------------------------------------------------- */

.nbp-accordion.nbp-accordion-petition .ui-accordion-header h3 {
    font-size: 18px;
    color: var(--nbp-color-text);
}
.nbp-accordion.nbp-accordion-petition .ui-accordion-header .ui-icon {
    font-size: 18px;
    height: 20px;
}
.nbp-accordion.nbp-accordion-petition .ui-accordion-header:hover {
    color: var(--nbp-color-text);
}


/* ===================================================================================================================
 * Primefaces :: Dialoge (PopUps) :: Anmelden, Confirm
 * ===================================================================================================================*/

.ui-dialog.nbp-dialog {
    background: var(--nbp-color-body-bg);
    border: 10px solid var(--nbp-color-body-bg);
    max-height: 80%;
    max-width: 80%;
}
.ui-dialog.nbp-dialog .ui-dialog-titlebar {
    background: var(--nbp-color-body-bg);
    padding: 0;
    min-height: 26px;
}
.ui-dialog.nbp-dialog .ui-dialog-title {
    /* Titel optisch ausblenden (visually-hidden) */
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
/* Dialog-Schliessen */
.ui-dialog.nbp-dialog .ui-dialog-titlebar-close {
    float: none;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0;
    margin: 4px;
    border: none;
    text-decoration: none;
    color: var(--nbp-color-text);
    outline-offset: 0;
    outline: none;
}
.ui-dialog.nbp-dialog .ui-dialog-titlebar-close:hover {
    color: var(--nbp-color-user);
}
.nbp-tabfocus-on .ui-dialog.nbp-dialog .ui-dialog-titlebar-close:focus {
    outline: 1px dotted;
}
/* Dialog-Scliessen :: Fonticon */
.ui-dialog.nbp-dialog .ui-dialog-titlebar-close .ui-icon {
    font-family: 'icomoon';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: normal;
    font-size: 18px;
    line-height: 18px;
    text-indent: 0;
    overflow: visible;
    background-image: none;
}
.ui-dialog.nbp-dialog .ui-dialog-titlebar-close .ui-icon::before {
    content: "\ed6d"; /* icomoon-cross2 */
}

.ui-dialog.nbp-dialog .ui-dialog-content,
.ui-dialog.nbp-dialog .ui-dialog-buttonpane {
    background: var(--nbp-color-body-bg);
}
.ui-dialog.nbp-dialog .ui-dialog-content {
    margin: 0;
    padding: 40px;
    padding-top: 0;
}
.ui-dialog.nbp-dialog .nbp-buttonline {
    padding: 0;
}
.ui-dialog.nbp-dialog .nbp-buttonline button {
    margin: 0;
    min-width: 6em;
}
.ui-dialog.nbp-dialog h3 {
    margin: 0 0 15px 0;
}
.ui-dialog.nbp-dialog .nbp-dialog-header {
    color: var(--nbp-color-text);
    margin-bottom: 15px;
}
.ui-dialog.nbp-dialog .nbp-dialog-message {
    margin-bottom: 25px;
}

/* Primefaces :: Confirm Dialog ------------------------------------------------------------------------------------- */

.ui-dialog.ui-confirm-dialog.nbp-dialog .ui-dialog-title {
    position: initial;
    width: auto;
    height: auto;
    white-space: normal;
    color: var(--nbp-color-text);
    font-size: var(--nbp-font-size-h2);
    font-family: var(--nbp-font-family-h);
    font-weight: var(--nbp-font-weight-h);
    letter-spacing: var(--nbp-letter-spacing-h);
    padding: 20px 20px 10px 40px;;
    margin: 0;
}
.ui-dialog.ui-confirm-dialog.nbp-dialog .ui-dialog-content {
    margin: 0;
    padding: 0 40px 25px;
}
.ui-dialog.nbp-dialog .ui-dialog-buttonpane {
    margin: 0;
    padding: 0 40px 20px;
}
.ui-dialog.ui-confirm-dialog.nbp-dialog .ui-icon.ui-confirm-dialog-severity {
    display: none;
}

/* Responsive :: Smartphone */
@media (max-width: 767px) {
    .ui-dialog.nbp-dialog {
        top: 10px !important;
        max-width: 90%;
        max-height: 95%;
    }
    .ui-dialog.nbp-dialog .ui-dialog-content {
        margin: 0;
        padding: 0 20px 20px;
    }
    .ui-dialog.ui-confirm-dialog.nbp-dialog .ui-dialog-title {
        padding: 20px 20px 10px 20px;
    }
    .ui-dialog.ui-confirm-dialog.nbp-dialog .ui-dialog-content {
        padding: 0 20px 20px;
    }
    .ui-dialog.nbp-dialog .ui-dialog-buttonpane {
        padding: 0 20px 20px;
    }
}


/* ===================================================================================================================
 * Primefaces :: Messages
 * ===================================================================================================================*/

.ui-messages {
    /* margin-bottom: 2em; */
}
.ui-messages a.ui-messages-close {
    border-bottom: none;
}
.ui-messages a,
.ui-messages a:visited {
    color: inherit;
    border-bottom: 1px dotted;
    text-decoration: none;
}
.ui-messages a:hover {
    border-bottom: 1px solid;
}
.ui-messages-info, .ui-messages-warn, .ui-messages-error, .ui-messages-fatal {
    border: 1px solid;
    margin: 0 0 1em 0;
    padding: 0.6em 1em;
}
.nbp-messages-m-0 .ui-messages-info, .nbp-messages-m-0 .ui-messages-warn, .nbp-messages-m-0 .ui-messages-error, .nbp-messages-m-0 .ui-messages-fatal {
    margin: 0;
}
.ui-messages-info-icon, .ui-messages-warn-icon, .ui-messages-error-icon, .ui-messages-fatal-icon {
    display: none;
}
.ui-messages ul {
    margin: 0;
}
.ui-messages ul li {
    list-style-image: none;
    margin: 0;
}
.ui-messages-info-summary, .ui-messages-warn-summary, .ui-messages-error-summary, .ui-messages-fatal-summary,
.ui-message-info-summary, .ui-message-warn-summary, .ui-message-error-summary, .ui-message-fatal-summary {
    margin: 0;
    font-weight: normal;
}

.ui-messages-info, .ui-message-info {
    background-color: #EBF4FE;
    border-color: #287BB3;
    color: var(--nbp-color-text);
}
.ui-messages-warn, .ui-message-warn {
    background-color: #FFF3CB;
    border-color: #D9BD6C;
    color: var(--nbp-color-text);
}
.ui-messages-error, .ui-message-error,
.ui-messages-fatal, .ui-message-fatal {
    background-color: #FFEEEE;
    border-color: #cd0a0a;
    color: var(--nbp-color-text);
}

.ui-messages-info p:first-child {
    margin-top: .6em;
}
.ui-messages-info p:last-child {
    margin-bottom: 0;
}

.ui-messages-info ul li ul {
    margin-left: 2.5em;
}
.ui-messages-info ul li ul li {
    list-style-image: none;
    list-style-type: disc;
}

.nbp-fg-error-message .ui-messages-error {
    background: transparent;
    border-color: transparent;
    color: inherit;
    padding: 0;
    margin: 0;
}
.nbp-fg-error-message .ui-messages-error .ui-messages-error-detail {
    margin-left: 0;
}

/* ===================================================================================================================
 * Primefaces :: DataList und DataTable
 * ===================================================================================================================*/

/* DataList *****/
.ui-widget .ui-datalist-content {
    border: none;
}
.ui-datalist .ui-datalist-empty-message {
    padding: 0;
}

/* DataTable *****/
.nbp-datatable .ui-widget-content {
    border: none;
}
.nbp-datatable tr th,
.nbp-datatable tr td {
    text-align: left;
    padding: 4px 10px 4px 0;
    border: none;
}
.nbp-datatable tr th {
    background: none repeat scroll 0 0 transparent;
}

/* Paginator *****/
.nbp-paginator .ui-paginator {
    margin-top: 30px;
    padding: 0;
    border: none;
    background: none;
    font-weight: normal;
}
.nbp-paginator .ui-paginator .ui-paginator-page,
.nbp-paginator .ui-paginator .ui-paginator-first,
.nbp-paginator .ui-paginator .ui-paginator-prev,
.nbp-paginator .ui-paginator .ui-paginator-next,
.nbp-paginator .ui-paginator .ui-paginator-last {
    padding: 6px;
    margin: 0 6px 0 6px;
    font-weight: normal;
    height: 34px;
    width: 34px;
    line-height: 20px;
}
.nbp-paginator .ui-paginator .ui-paginator-first {
    margin-left: 0;
}
.nbp-paginator .ui-paginator .ui-paginator-last {
    margin-right: 0;
}
.nbp-paginator .ui-paginator button.ui-state-focus {
    outline: 0;
}
.nbp-paginator .ui-paginator button.ui-state-default {
    border-radius: 50%;
    border: 1px solid var(--nbp-color-border);
    background: none;
    color: var(--nbp-color-user);
}
.nbp-paginator .ui-paginator button.ui-state-disabled {
    border: 1px solid var(--nbp-color-border);
    color: var(--nbp-color-status);
}
.nbp-paginator .ui-paginator button.ui-state-hover,
.nbp-tabfocus-on .nbp-paginator .ui-paginator button.ui-state-focus {
    border: 1px solid var(--nbp-color-user);
    background: linear-gradient(var(--nbp-color-user-lighter), var(--nbp-color-user));
    color: var(--nbp-color-text-inverted);
}
.nbp-paginator .ui-paginator button.ui-state-active {
    background: none;
    color: var(--nbp-color-user);
    cursor: default;
}
.nbp-paginator .ui-paginator .ui-paginator-pages {
    display: inline-block;
}
.nbp-paginator .ui-paginator .ui-paginator-current {
    margin: 0;
}

/* Color Content */
.nbp-paginator.nbp-paginator-cc .ui-paginator button.ui-state-default {
    color: var(--nbp-color-content);
    border: 1px solid var(--nbp-color-border);
}
.nbp-paginator.nbp-paginator-cc .ui-paginator button.ui-state-disabled {
    color: var(--nbp-color-status);
    border: 1px solid var(--nbp-color-border);
}
.nbp-paginator.nbp-paginator-cc .ui-paginator button.ui-state-hover,
.nbp-tabfocus-on .nbp-paginator.nbp-paginator-cc .ui-paginator button.ui-state-focus,
.nbp-paginator.nbp-paginator-cc .ui-paginator button:hover,
.nbp-tabfocus-on .nbp-paginator.nbp-paginator-cc .ui-paginator button:focus{
    color: var(--nbp-color-text-inverted);
    background: linear-gradient(var(--nbp-color-content-lighter), var(--nbp-color-content));
    border: 1px solid var(--nbp-color-content);
}
.nbp-paginator.nbp-paginator-cc .ui-paginator button.ui-state-active {
    color: var(--nbp-color-user);
    border: 1px solid var(--nbp-color-border);
}

/* Fonticons */
.ui-paginator button {
    font-family: 'icomoon';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: normal;
    font-size: 12px;
    line-height: 20px;
}
.ui-paginator button > span { display: none; }
.ui-paginator-first:before { content: "\edb5"; }   /* icomoon-first2 */
.ui-paginator-prev:before  { content: "\edc3"; }   /* icomoon-arrow-left */
.ui-paginator-next:before  { content: "\edbb"; }   /* icomoon-arrow-right */
.ui-paginator-last:before  { content: "\edb6"; }   /* icomoon-last2 */


/* Responsive :: Smartphone */
@media (max-width: 320px) {
    .nbp-paginator .ui-paginator .ui-paginator-current {
        float: left;
        width: 100%;
        margin-top: 10px;
    }
}

.nbp-beteiligung-list .ui-paginator {
    margin-top: 15px;
    margin-bottom: 10px;
}

/* Sorter *****/
.nbp-datalist-header .ui-datalist-header {
    border: none;
    background: none;
    font-weight: normal;
    text-align: center;
    padding: 0;
}
.nbp-sort-container {
    margin-top: 30px;
    text-align: left;
}
.nbp-sort-container .nbp-sort-container-label {
    font-weight: 600;
    margin-right: 5px;
}
.nbp-sorter {
    display: inline-block;
    margin: 5px 10px 5px 0;
    line-height: 1.3;
}
.nbp-sort-container .nbp-sorter:last-of-type {
    margin-right: 0;
}
.nbp-sorter .nbp-fonticon {
    font-size: 16px;
    vertical-align: -.1em;
}
.nbp-sorter .ui-commandlink {
    display: inline-block;
}


/* ===================================================================================================================
 * NBP :: NavTabs
 * ===================================================================================================================*/

/* Tab-Bereich inklusive Tab-Inhalt */
.nbp-tabs {
    margin: 20px 0;
}
/* alle Tabs **/
.nbp-tabs .nbp-tablist {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
/* ein Tab **/
.nbp-tabs .nbp-tab {
    margin: 4px 20px 4px 0;
    padding: 0;
}
.nbp-tabs .nbp-tab:last-of-type {
    margin-right: 0;
}
/* ein Tab :: Link **/
.nbp-tabs .nbp-tab a {
    display: block;
    padding: 0;
    margin: 0;
    text-decoration: none;
    color: inherit;
    outline-offset: 3px;
    outline: 0;
}
/* ein Tab :: Link :: Text **/
.nbp-tabs .nbp-tab .nbp-tab-text {
    display: block;
    margin: 0;
    border-bottom: 2px solid;
    transition: color .2s, border-color .2s;
    font-size: var(--nbp-font-size-h3);
    font-family: var(--nbp-font-family-h);
    font-weight: var(--nbp-font-weight-h);
    letter-spacing: var(--nbp-letter-spacing-h);
    line-height: 1.6;
    text-align: left;
    white-space: nowrap;
}

/* Tab State default */
.nbp-tabs .nbp-tab .nbp-tab-text {
    color: #757575;
    border-color: transparent;
}
/* Tab State hover */
.nbp-tabs .nbp-tab:hover .nbp-tab-text {
    color: var(--nbp-color-text);
    border-color: var(--nbp-color-text);
}
/* Tab State active :: Color Content */
.nbp-tabs .nbp-tab.nbp-tab-active .nbp-tab-text {
    color: var(--nbp-color-content);
    border-color: var(--nbp-color-content);
}

/* Tab State active :: Color User */
.nbp-tabs.nbp-tabs-cu .nbp-tab.nbp-tab-active .nbp-tab-text {
    color: var(--nbp-color-user);
    border-color: var(--nbp-color-user);
}

/* Tab State focus */
.nbp-tabfocus-on .nbp-tabs .nbp-tab a:focus {
    outline: 2px dotted;
}
.nbp-tabfocus-on .nbp-tabs .nbp-tab:not(.nbp-tab-active) a:focus .nbp-tab-text {
    color: var(--nbp-color-text);
    border-color: var(--nbp-color-text);
}

/* ===================================================================================================================
 * Primefaces :: TabView
 * ===================================================================================================================*/

/* Tab-Bereich inklusive Tab-Inhalt */
.nbp-tabview.ui-tabs {
    margin: 20px 0;
    padding: 0;
}
/* alle Tabs **/
.nbp-tabview.ui-tabs .ui-tabs-nav {
    margin: 0;
    padding: 0;
    background: none;
}
/* ein Tab **/
.nbp-tabview.ui-tabs .ui-tabs-nav li {
    top: 0;
    border: 0;
    margin: 4px 20px 4px 0;
    border-radius: 0;
}
.nbp-tabview.ui-tabs .ui-tabs-nav > li:last-child {
    margin-right: 0;
}
/* ein Tab :: Text */
.nbp-tabview.ui-tabs .ui-tabs-nav li a {
    display: inline-block;
    padding: 0;
    font-size: var(--nbp-font-size-h3);
    font-family: var(--nbp-font-family-h);
    font-weight: var(--nbp-font-weight-h);
    letter-spacing: var(--nbp-letter-spacing-h);
    line-height: 1.6;
    border-bottom: 2px solid;
    transition: color .2s, border-color .2s;
}
/* Tab State default */
.nbp-tabview.ui-tabs .ui-tabs-nav li a {
    color: #757575;
    border-color: transparent;
}
/* Tab State hover */
.nbp-tabview.ui-tabs .ui-tabs-nav li.ui-state-hover a {
    color: var(--nbp-color-text);
    border-color: var(--nbp-color-text);
}
/* Tab State selected :: Color User */
.nbp-tabview.ui-tabs .ui-tabs-nav li.ui-tabs-selected a,
.nbp-tabview.ui-tabs .ui-tabs-nav li.ui-tabs-selected.ui-state-hover a {
    color: var(--nbp-color-user);
    border-color: var(--nbp-color-user);
}
/* Tab State focus */
.nbp-tabview.ui-tabs .ui-tabs-nav li.ui-tabs-outline {
    outline: none;
}
.nbp-tabfocus-on .nbp-tabview.ui-tabs .ui-tabs-nav li.ui-tabs-outline {
    outline: 2px dotted;
    outline-offset: 3px;
}
.nbp-tabfocus-on .nbp-tabview.ui-tabs .ui-tabs-nav li.ui-tabs-outline:not(.ui-state-active) a {
    color: var(--nbp-color-text);
    border-color: var(--nbp-color-text);
}

/* Tab-Contentbereich */
.nbp-tabview.ui-tabs .ui-tabs-panel {
    padding: 20px 0 0 0;
}
.nbp-tabview.ui-tabs .ui-tabs-panel.ui-helper-hidden {
    display: none;
}

/* ===================================================================================================================
 * Primefaces :: Shadow
 * ===================================================================================================================*/

.ui-shadow {
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}


/* ===================================================================================================================
 * NBP :: Komponenten :: Dropdowns :: formSelectManyCheckbox, formSelectOneRadio, gegenstandSelect
 * ===================================================================================================================*/

/* Toggle */
.nbp-select .dropdown-toggle::after {
    display: none;
}
.nbp-select .dropdown-toggle {
    height: 34px;
    text-align: left;
    padding: 3px 30px 3px 10px !important;
    line-height: 1;
}
.nbp-select .dropdown-toggle.disabled {
    background-color: #F6F6F9;
}
.nbp-select .dropdown-toggle:focus {
    outline: none;
}
.nbp-select .dropdown-toggle:hover {
    background-color: var(--nbp-color-gray-pale);
}
.nbp-select .dropdown-toggle.show,
.nbp-select .dropdown-toggle.show:hover {
    color: var(--nbp-color-text-inverted);
    background-color: var(--nbp-color-content);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='%23ffffff' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e");
    border: 1px solid var(--nbp-color-content);
}
.nbp-filter-meldungen .nbp-select .dropdown-toggle.show,
.nbp-filter-meldungen .nbp-select .dropdown-toggle.show:hover,
.nbp-filter-beitraege .nbp-select .dropdown-toggle.show,
.nbp-filter-beitraege .nbp-select .dropdown-toggle.show:hover {
    background-color: var(--nbp-color-user);
    border: 1px solid var(--nbp-color-user);
}
/* Dropdown Menu */
.nbp-select .dropdown-menu {
    width: 320px;
    max-height: 305px;
    z-index: 10000;
    overflow-y: auto;
    /* Shadow */
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    padding: 11px 0;
}
.nbp-select.nbp-select-dropdown-sm .dropdown-menu {
    width: 200px;
}
/* Dropdown Item */
.nbp-select .dropdown-item {
    color: var(--nbp-color-text);
    padding: 0;
    line-height: 1.3;
    outline: none;
}
.nbp-select .dropdown-item .nbp-select-option.disabled {
    pointer-events: none;
    color: #757575;
}
/* State :: Focus :: (das erste Dropdown-Item wird in nbp.js beim Aufklappen automatisch fokussiert!) */
.nbp-select .dropdown-item .nbp-select-option:focus {
    background-color: transparent;
}
.nbp-tabfocus-on .nbp-select .dropdown-item .nbp-select-option:focus {
    background-color: #e9ecef;
}
/* State :: Hover */
.nbp-select .dropdown-item:hover {
    background: transparent;
}
.nbp-select .dropdown-item .nbp-select-option:hover,
.nbp-select .dropdown-item .nbp-select-option:hover {
    background-color: #e9ecef;
}
.nbp-select .dropdown-item[aria-disabled="true"] {
    background-color: transparent;
}
.nbp-select .form-check-label:hover,
.nbp-select .nbp-select-count:hover {
    cursor: pointer;
}
.nbp-select .dropdown-item[aria-disabled="true"] .nbp-select-option:hover {
    cursor: default;
}
.nbp-select .nbp-select-option {
    display: flex;
    padding: 0 20px;
    min-height: 0;
    margin-bottom: 0;
}
/* Select mit Inputs :: formSelectOneRadio, formSelectManyCheckbox */
/* Label für Option */
.nbp-select .form-check-label,
.nbp-select .nbp-select-link {
    overflow: hidden;
    white-space: normal;
    padding: 11px 10px 11px 0;
    margin-bottom: 0;
    flex-grow: 1;
}
/* Input */
.nbp-select .form-check .form-check-input {
    margin-left: 0;
    margin-top: 12px;
    min-width: 16px;
}
/* Label für Anzahl */
.nbp-select-count {
    padding: 11px 12px 11px 0;
}

/* Select ohne Input :: GegenstandSelect */
/* Eingerückte Option */
.nbp-select .nbp-select-option-nested {
    padding-left: 40px;
}
/* Link */
.nbp-gegenstand-select .nbp-select-link {
    display: flex;
    align-items: baseline;
    padding: 11px 0;
    font-size: var(--nbp-font-size-h6);
    font-family: var(--nbp-font-family-h);
    font-weight: var(--nbp-font-weight-semi);
}
.nbp-gegenstand-select .nbp-select-link .nbp-fonticon {
    flex-shrink: 0;
    margin-right: 10px;
}
.nbp-elementliste a .nbp-gegenstand-marker,
.nbp-gegenstand-select .nbp-select-link .nbp-gegenstand-marker {
    margin-left: auto;
    padding-left: 5px;
}
.nbp-elementliste a .nbp-gegenstand-marker-icon,
.nbp-gegenstand-select .nbp-select-link .nbp-gegenstand-marker-icon {
    width: auto;
    margin-right: 0;
    color: lightgrey;
}


/* ===================================================================================================================
 * Bootstrap Popup - Fußnoten Tooltips
 * ===================================================================================================================*/

.nbp-bs-tooltip.show {
    font-size: 13px;
    line-height: 1.35em;
    padding: 0;
    border: 1px solid var(--nbp-color-border);
    border-radius: 6px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    background-clip: padding-box;
    opacity: 1;
}
.nbp-bs-tooltip .tooltip-inner {
    padding: 8px 12px;
    background-color: #F8F8F8;
    color: #555555;
    opacity: 1;
}
.nbp-bs-tooltip .tooltip-arrow {
    display: none;
}


/* ===================================================================================================================
 * Bootstrap-Plugins :: Offcanvas
 * ===================================================================================================================*/

/* MDA :: Offcanvas */
.nbp-offcanvas {
    min-width: 33%;
    width: 600px;
    border: 0;
}
.nbp-offcanvas .offcanvas-header,
.nbp-offcanvas .offcanvas-body {
    padding: 40px;
}
.nbp-offcanvas .offcanvas-body {
    padding-top: 0;
}
.nbp-offcanvas .offcanvas-title {
    margin: 0;
}


/* ===================================================================================================================
 * Karten :: OpenLayers
 * ===================================================================================================================*/

/* Wrapper für Toggle-Button */
.nbp-map-toggle-wrapper {
    position: absolute;
    left: 50%;
    bottom: 20px;
    z-index: 5;
    box-shadow: 0 1px 5px rgba(0, 0, 0, 0.5);
    border-radius: 3px;
    display: block;
    margin-left: -60px;
    transition: opacity 0.4s;
    opacity: 1;
}
.nbp-map-toggle-wrapper.hidden {
    opacity: 0;
}
/* Toggle-Button */
.nbp-map-toggle {
    color: #555555;
    background: var(--nbp-color-body-bg);
    padding: 6px 15px;
    min-width: 120px;
    height: 35px;
}
.nbp-map-toggle:hover {
    background: var(--nbp-color-body-bg);
    color: inherit;
}
.nbp-map-toggle-shrink {
    top: auto;
    bottom: -35px;
    z-index: 3;
}
.nbp-map-toggle-shrink .nbp-map-toggle {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.nbp-map-toggle .nbp-fonticon {
    margin-right: 5px;
}
/* Map-Collapse */
.ol-map {
    z-index: 3;
    transition: height .3s;
}
.ol-map.collapsed {
    z-index: 1;
    height: 80px;
}
/* Map-Collapse :: Alle anderen Bedienelemente ein- und ausblenden */
.ol-overlaycontainer-stopevent {
    transition: opacity .3s;
}
.ol-map.collapsed .ol-overlaycontainer-stopevent {
    opacity: 0;
    height: 0 !important;
}
/* Map-Collapse :: Overlay */
.nbp-map-toggle-overlay {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    background-color: transparent;
    transition: background-color .5s;
}
.nbp-map-toggle-overlay.active {
    z-index: 2;
    background-color: rgba(52, 58, 64, 0.33);
}


/* ===================================================================================================================
 * NBP :: Komponente :: Charts (Primefaces Chart.js)
 * ===================================================================================================================*/

.nbp-chartwrapper {
    width: 100%;
    margin-bottom: 50px;
}
.nbp-chartwrapper h3 {
    padding: 0;
    margin: 0 0 15px 0;
    color: var(--nbp-color-text);
    font-size: var(--nbp-font-size-h5);
    font-weight: var(--nbp-font-weight-semi);
}
.nbp-chartwrapper h3 strong {
    font-weight: var(--nbp-font-weight-semi);
}
.nbp-chartwrapper h3 .nbp-topheading {
    display: block;
    margin-bottom: 1em;
}
/* Chart + Legende */
.nbp-chart-and-legend {
    display: flex;
    flex-wrap: wrap;
    background: var(--nbp-color-body-bg);
    border: 1px solid var(--nbp-color-border);
}
/* Chart */
.nbp-chart {
    width: 50%;
}
.nbp-chart {
    position: relative;
}
.nbp-bar-chart canvas {
    padding-right: 20px;
}
/* Pie-Chart */
.nbp-chart-pie-chart {
    height: 200px;
}
/* Bar-Chart */
.nbp-chart-bar-chart {
    padding-right: 20px;
}
/* Legende */
.nbp-legend {
    box-sizing: border-box;
    font-size: 12px;
    line-height: 1.4;
    padding: 20px 15px 12px 15px;
    width: 50%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
}
.nbp-legend table {
    border-collapse: separate;
    border-spacing: 0 2px;
}
.nbp-legend td {
    vertical-align: text-bottom;
}
.nbp-legend-color-col {
    width: 20px;
    min-width: 20px;
}
.nbp-legend-number-col {
    text-align: right;
    padding-right: .5em;
    color: #555555;
}
/* Optional :: Kommentar */
.fb-statistik-kommentar {
    margin-top: -20px;
    margin-bottom: 50px;
}

/* Tooltip */
.nbp-tooltip {
    padding: 6px 10px;
    font-size: 12px;
    max-width: 300px;
    font-weight: normal;
    line-height: 1.4;
    overflow: hidden;
    hyphens: auto;
    word-wrap: break-word;
    overflow-wrap: break-word;
    background-color: var(--nbp-color-body-bg);
    border: 1px solid grey;
    position: absolute;
    transition: all 0.1s ease 0s;
    box-shadow: 0 2px rgba(215, 215, 215, 0.6);
    z-index: 1000;
}
.nbp-tooltip ul {
    margin: 0;
    padding: 0;
}
.nbp-tooltip ul li {
    list-style: none none;
    padding: 4px 0;
}
.nbp-tooltip span {
    font-weight: normal;
    margin-right: 4px;
    display: inline-block;
}
.nbp-tooltip.nbp-tooltip-timelinechart span {
    width: 46px;
}
/* https://github.com/google/google-visualization-issues/issues/2162 */
div.google-visualization-tooltip {
    pointer-events: none;
}

.nbp-chartwrapper h3,
.fb-statistik-kommentar {
    width: 80%;
}

@media (max-width: 767px) {
    .nbp-legend {
        width: 100%;
    }
    .nbp-chart {
        width: 100%;
    }
    .nbp-chartwrapper h3,
    .fb-statistik-kommentar {
        width: 100%;
    }
}
@media (max-width: 400px) {
    .nbp-tooltip {
        max-width: 320px;
    }
}


/* ===================================================================================================================
 * Anmelden - Slideout
 * ===================================================================================================================*/

.nbp-nutzermenu {
    position: absolute;
    right: 0;
    padding: 0;
    background: var(--nbp-color-body-bg);
    color: var(--nbp-color-text);
    text-shadow: none;
    /* border: 1px solid var(--nbp-color-border); */
    box-shadow: 0 10px 15px rgba(0,0,0,0.20);
    z-index: 100;
    max-width: 100%;
    width: 350px;
}
/* Responsive :: Small Smartphone */
@media (max-width: 575px) {
    .nbp-nutzermenu {
        width: 100%;
    }
}

.nbp-nutzermenu-panel {
    padding: 25px;
}
.nbp-nutzermenu-panel .nbp-login-accountname {
    font-weight: bold;
    font-size: 16px;
}

/* ===================================================================================================================
 * Suche - Slideout
 * ===================================================================================================================*/

.nbp-suchemenu {
    position: absolute;
    padding: 0;
    background: var(--nbp-color-body-bg);
    color: var(--nbp-color-text);
    text-shadow: none;
    /* border: 1px solid var(--nbp-color-border); */
    box-shadow: 0 10px 15px rgba(0,0,0,0.20);
    z-index: 100;
    max-width: 100%;
    min-width: 140px;
    width: 400px;
}
/* Responsive :: Small Smartphone */
@media (max-width: 575px) {
    .nbp-suchemenu {
        width: 100%;
    }
}

.nbp-suchemenu-panel {
    padding: 25px;
}


/* ===================================================================================================================
 * NBP Base Header
 * ===================================================================================================================*/

.nbp-baseheader {
    color: var(--nbp-color-text);
}
.nbp-header-container {
    position: relative;
}

/* Header :: Title + Logo */
.nbp-header-branding {
    position: relative;
    align-content: center;
    padding: 10px 0;
    min-height: 90px;
}

/* Header :: Title */
.nbp-header-col-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: right;
}
/* Switch :: Kein Logo */
.nbp-header-no-logo .nbp-header-col-logo {
    display: none;
}
.nbp-header-no-logo .nbp-header-col-title {
    text-align: left;
}
/* Switch :: Logo Hochformat */
.nbp-header-logo-portrait .nbp-header-col-title {
    text-align: left;
}
/* Switch :: Logo Querformat */
.nbp-header-logo-landscape .nbp-header-col-title {
    text-align: right;
}
.nbp-header-title-container {
    font-size: 18px;
}
.nbp-header-title {
    font-weight: bold;
    line-height: 1.5;
}
.nbp-header-title a {
    color: inherit;
}
.nbp-header-title-sub {
    line-height: 1.3;
}

/* Header :: Logo */
.nbp-header-col-logo img {
    max-height: 70px;
    max-width: 100%;
    vertical-align: top;
}
.nbp-header-col-logo a {
    display: block;
}

/* Bar :: Navi + Buttons */
.nbp-header-buttonbar {
    background-color: var(--nbp-color-header);
}
.nbp-header-navi-col {
    margin-left: -25px;
}
.nbp-header-button-col {
    margin-right: 0;
}

.nbp-header-slideout-row {
    position: relative;
}
/* Anmelden-Slideout */
.nbp-baseheader .nbp-nutzermenu {
    right: 10px;
}
/* Suche-Slideout */
.nbp-baseheader .nbp-suchemenu {
    right: 66px;
}

/* Responsive :: Desktop */
@media (min-width: 992px) {
}
/* Responsive :: Mobile :: Tablet + Smartphone */
@media (max-width: 991px) {
    .nbp-header-navi-col {
        margin-left: 0;
    }
}
/* Responsive :: Smartphone */
@media (max-width: 767px) {
    .nbp-header-title-container {
        font-size: 16px;
    }
    .nbp-header-button-col {
        margin-right: -10px;
    }
    .nbp-header-navi-col {
        margin-left: -10px;
    }
    /* Anmelden-Slideout */
    .nbp-baseheader .nbp-nutzermenu {
        right: 0;
    }
    /* Suche-Slideout */
    .nbp-baseheader .nbp-suchemenu {
        right: 56px;
    }
    /* MOBILE :: Branding */
    .nbp-header-branding-mobile {
        background-color: rgba(0,0,0,0.07);
    }
    .nbp-header-branding-mobile .nbp-header-title-container {
        padding: 12px 8px;
    }
    /* Farbschema Hell */
    .nbp-header-theme-light .nbp-header-branding-mobile {
        background-color: transparent;
        border-bottom: 1px solid rgba(0,48,100,0.1)
    }
    /* Switch :: Kein Logo */
    .nbp-header-no-logo .nbp-header-branding {
        display: none;
    }
}
/* Responsive :: Tablet + Desktop */
@media (min-width: 768px) {
    /* Farbschema Medium :: Navi einrücken */
    .nbp-header-theme-medium .nbp-header-navi-col {
        margin-left: 0;
    }
}
/* Responsive :: Small Smartphone */
@media (max-width: 575px) {
    /* Suche-Slideout */
    .nbp-baseheader .nbp-suchemenu {
        right: 0;
        width: 100%;
    }
}

/* ===================================================================================================================
 * NBP Base-Header :: Buttons
 * ===================================================================================================================*/

/* Buttons */
.nbp-header-button {
    display: block;
    width: 56px;
    height: 56px;
    cursor: pointer;
    background-color: transparent;
    color: var(--nbp-color-text-inverted);
    font-size: 22px;
    line-height: 32px;
    border: 0;
    padding: 0;
    margin: 0;
    position: relative; /* siehe :before und :after */
    outline-offset: -2px;
}
.nbp-tabfocus-on .nbp-header-button:focus {
    z-index: 1;
}
.nbp-header-button .nbp-fonticon {
    cursor: inherit;
}
/* Buttons :: Hover */
.nbp-header-button .nbp-header-button-content {
    width: 100%;
    height: 100%;
    /* Center Icons */
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: transparent;
    transition: background-color .3s;
}
.nbp-header-button:hover .nbp-header-button-content,
.nbp-header-button:focus .nbp-header-button-content,
.nbp-header-button:active .nbp-header-button-content,
.nbp-header-button[aria-expanded="true"] .nbp-header-button-content {
    background-color: rgba(0, 0, 0, 0.15);
}
/* Farbschema Dunkel */
.nbp-baseheader.nbp-header-theme-dark .nbp-header-button:hover .nbp-header-button-content,
.nbp-baseheader.nbp-header-theme-dark .nbp-header-button:focus .nbp-header-button-content,
.nbp-baseheader.nbp-header-theme-dark .nbp-header-button:active .nbp-header-button-content,
.nbp-baseheader.nbp-header-theme-dark .nbp-header-button[aria-expanded="true"] .nbp-header-button-content {
    background-color: rgba(255, 255, 255, 0.15);
}

/* Button :: Navi */
.nbp-header-button.nbp-header-button-navi {
    font-size: 26px;
    width: 105px;
}
.nbp-header-button.nbp-header-button-navi .nbp-header-button-text {
    display: inline-block;
    margin-left: 10px;
    font-size: 12px;
    letter-spacing: .15em;
    text-transform: uppercase;
}

/* Border */
.nbp-header-button {
    border-left: 1px solid rgba(255,255,255,0.1);
}
.nbp-header-button:last-of-type {
    border-right: 1px solid rgba(255,255,255,0.1);
}

/* ==========================================================================
/* NBP Base-Nav
 * ==========================================================================*/

/* Header :: Navigation */
.nbp-basenav-wrapper {
}
.nbp-basenav {
    margin: 0;
}
.nbp-basenav.collapse:not(.show) {
    display: none;
}
.nbp-basenav.collapsing {
    transition-duration: .3s;
}
.nbp-basenav-list {
    margin: 0;
    padding: 0;
}
.nbp-basenav-listitem {
    padding: 0;
}
.nbp-basenav-link {
}
.nbp-basenav-icon {
}

/* ==========================================================================
/* NBP Base-Header :: Base-Nav
 * ==========================================================================*/

.nbp-baseheader .nbp-basenav-icon {
    display: none;
}

/* Responsive :: Desktop */
@media (min-width: 992px) {
    .nbp-baseheader .nbp-basenav {
        display: block !important;
    }
    .nbp-baseheader .nbp-basenav-listitem {
        float: left; /* float statt flexbox wegen IE11 */
    }
    .nbp-baseheader .nbp-basenav-link {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .nbp-baseheader .nbp-basenav-link {
        color: var(--nbp-color-text-inverted);
        background-color: transparent;
        height: 56px;
        font-size: 16px;
        white-space: nowrap;
        padding: 0 25px;
        padding-top: 2px;
        outline-offset: -2px;
        transition: background-color .3s;
    }
    .nbp-baseheader .nbp-basenav-link:hover,
    .nbp-baseheader .nbp-basenav-link:focus {
        text-decoration: none;
        background-color: rgba(0, 0, 0, 0.15);
    }
    .nbp-baseheader .nbp-basenav-link::after {
        content: '';
        display: block;
        margin-top: -1px;
        height: 1px;
        background-color: var(--nbp-color-body-bg);
        width: 0;
        transition: width .3s;
    }
    .nbp-baseheader .nbp-basenav-link.active::after {
        width: 100%;
    }
}
/* Responsive :: Mobile :: Tablet + Smartphone */
@media (max-width: 991px) {
    .nbp-baseheader .nbp-basenav-wrapper {
        position: relative;
    }
    .nbp-baseheader .nbp-basenav {
        display: block;
        position: absolute;
        width: 350px;
        z-index: 100;
        background-color: var(--nbp-color-body-bg);
        box-shadow: 0 10px 15px rgba(0,0,0,0.20);
    }
    .nbp-baseheader .nbp-basenav-link {
        display: block;
        color: var(--nbp-color-text);
        font-size: 14px;
        line-height: 1;
        font-weight: 600;
        /* text-transform: uppercase; */
        padding: 20px;
        border-top: 1px solid rgba(0,0,0,0.1);
        outline-offset: -2px;
        transition: background-color .3s;
    }
    .nbp-baseheader ul.nbp-basenav-list li:first-of-type .nbp-basenav-link {
        border-top: 0;
    }
    .nbp-baseheader .nbp-basenav-link:hover,
    .nbp-baseheader .nbp-basenav-link:focus,
    .nbp-baseheader .nbp-basenav-link.active {
        background-color: var(--nbp-color-gray-pale);
        text-decoration: none;
    }
    .nbp-baseheader .nbp-basenav-link.active {
        text-decoration: 1px underline;
        text-underline-offset: 4px;
    }
}
/* Responsive :: Small Smartphone */
@media (max-width: 575px) {
    .nbp-baseheader .nbp-basenav {
        width: 100vw;
    }
}


/* ==========================================================================
/* NBP Base-Header :: Farbschemas
 * ==========================================================================*/

/* Farbschema Medium :: Buttons abdunkeln */
.nbp-header-dim35 .nbp-header-button,
.nbp-header-dim35 .nbp-basenav-listitem {
    background-color: rgba(0, 0, 0, 0.35);
}
.nbp-header-dim25 .nbp-header-button,
.nbp-header-dim25 .nbp-basenav-listitem {
    background-color: rgba(0, 0, 0, 0.25);
}
.nbp-header-dim20 .nbp-header-button,
.nbp-header-dim20 .nbp-basenav-listitem {
    background-color: rgba(0, 0, 0, 0.20);
}
.nbp-header-dim10 .nbp-header-button,
.nbp-header-dim10 .nbp-basenav-listitem {
    background-color: rgba(0, 0, 0, 0.10);
}
/* Farbschema Hell + Weiss */
.nbp-header-theme-light .nbp-header-button,
.nbp-header-theme-white .nbp-header-button {
    color: var(--nbp-color-text);
}
/* Farbschema Weiss */
.nbp-header-theme-white .nbp-header-buttonbar {
    background-color: transparent;
}
.nbp-header-theme-white .nbp-header-buttonbar::after {
    border-top: 1px solid rgba(0,48,100,0.1);
    border-bottom: 1px solid rgba(0,48,100,0.1);
}

/* Responsive :: Desktop */
@media (min-width: 992px) {
    /* Farbschema Dunkel */
    .nbp-baseheader.nbp-header-theme-dark .nbp-basenav-link:hover,
    .nbp-baseheader.nbp-header-theme-dark .nbp-basenav-link:focus {
        background-color: rgba(255, 255, 255, 0.15);
    }
    /* Farbschema Hell + Weiss */
    .nbp-baseheader.nbp-header-theme-light .nbp-basenav-link,
    .nbp-baseheader.nbp-header-theme-white .nbp-basenav-link {
        color: var(--nbp-color-text);
    }
    .nbp-baseheader.nbp-header-theme-light .nbp-basenav-link::after,
    .nbp-baseheader.nbp-header-theme-white .nbp-basenav-link::after {
        background-color: var(--nbp-color-text);
    }
    /* Farbschema Weiss */
    .nbp-baseheader.nbp-header-theme-white .nbp-basenav-link {
        font-weight: 600;
    }
    .nbp-baseheader.nbp-header-theme-white .nbp-basenav-link::after {
        height: 2px;
    }
}
/* Responsive :: Mobile :: Tablet + Smartphone */
@media (max-width: 991px) {
    /* Abdunkeln NICHT für Mobile-Navi */
    .nbp-baseheader .nbp-basenav-listitem {
        background-color: transparent;
    }
}

/* ===================================================================================================================
 * NBP Base-Footer
 * ===================================================================================================================*/

.nbp-footer {
    background-color: var(--nbp-color-gray-pale);
    border-top: 1px solid #e6e6e6;
    overflow: hidden;
}
.nbp-footer-container {
    padding-top: 5px;
    padding-bottom: 40px;
    font-size: 13px;
    line-height: 1.38461538;
}

/* ==========================================================================
/* Footer :: Links
 * ==========================================================================*/

.nbp-footer a {
    color: inherit;
}
.nbp-footer a:hover,
.nbp-footer a:focus {
    color: var(--nbp-color-content);
    text-decoration: underline;
}

/* ==========================================================================
/* Footer :: Columns
 * ==========================================================================*/

.nbp-footer-col {
    position: relative;
}

.nbp-footer-heading h2 {
    margin-top: 30px;
    margin-bottom: 20px;
}
/* Footer :: h2 ODER Button */
.nbp-footer-heading h2,
.nbp-footer-heading .h2 {
    font-size: 15px;
    font-weight: var(--nbp-font-weight-semi);
    line-height: 1;
    color: var(--nbp-color-text);
}

.nbp-footer-panel {
}
@media (max-width: 767px) {
    .nbp-footer-panel {
        padding: 10px;
        border-bottom: 1px solid #aeaeae;
    }
}

/* ==========================================================================
/* Footer :: Columns :: Toggle
 * ==========================================================================*/

/* Toggle :: NBP :: Bootstrap-Collapse */
@media (min-width: 768px) {
    .nbp-footer-row .collapse {
        display: block
    }
}

/* Footer :: Mobile :: Toggle-Buttons */
.nbp-btn-footer {
    display: block;
    width: 100%;
    margin: 0;
    padding: 14px 10px;
    font-weight: 400;
    text-align: left;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    background-color: transparent;
    background-image: none;
    border: 0;
    border-radius: 0;
    white-space: nowrap;
    font-size: 14px;
    line-height: 1.65;
}

.nbp-btn-footer:focus,
.nbp-btn-footer:hover {
    text-decoration: none;
    outline: 0;
}
.nbp-btn-footer.collapsed {
    border-bottom: 1px solid var(--nbp-color-border);
}

/* Footer :: Mobile :: Toggle-Buttons :: Fonticons */
.nbp-btn-footer:before {
    font-family: 'icomoon';
    content: '\edb9';       /* icomoon-arrow-up3 */
    font-style: normal;
    font-weight: normal;
    display: inline-block;
    font-size: 12px;
    position: absolute;
    top: 15px;
    right: 19px;
    transition: transform .3s ease-out;
    transform: rotateY(180deg);
    transform-origin: center center;
}
.nbp-btn-footer.collapsed:before {
    transform: rotate(180deg);
}

/* ==========================================================================
/* Footer :: Linklisten
 * ==========================================================================*/

.nbp-footer-links {
    margin: 0;
    padding: 0;
}
.nbp-footer-links li {
    margin: 0;
    padding: 0;
    border-bottom: 1px dotted #aeaeae;
}
@media (max-width: 767px) {
    .nbp-footer-links li {
    }
    .nbp-footer-links li:last-child {
        border-bottom: none
    }
}

/* Footer :: Linklisten :: Links */
.nbp-footer-links li > a,
.nbp-footer-links li > span {
    display: block;
    padding-top: 15px;
    padding-bottom: 15px;
}

@media (min-width: 768px) {
    .nbp-footer-links {
        margin-top: -5px;
    }
    .nbp-footer-links li > a,
    .nbp-footer-links li > span {
        padding-top: 5px;
        padding-bottom: 5px;
    }
}
.nbp-footer-links li > a:active,
.nbp-footer-links li > a:focus,
.nbp-footer-links li > a:hover {
    color: var(--nbp-color-content);
}

.nbp-footer-links a.social {
    padding-left: 20px;
}
/* Footer :: Social :: Fonticons */
.nbp-footer-links a.social .social-icon {
    display: inline-block;
    font-size: 16px;
    margin-left: -20px;
    width: 28px;
    vertical-align: top;
    line-height: 1;
    text-align: left;
}
/* Footer :: Social :: Facebook */
.nbp-footer-links a.social-facebook .social-icon {
    color: #3B5998;
}
/* Footer :: Social :: X (Twitter) */
.nbp-footer-links a.social-twitter .social-icon {
    background-image: url('data:image/svg+xml;utf8,<svg width="1200" height="1227" viewBox="0 0 1200 1227" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill="black" d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z"/></svg>');
    height: 16px;
    width: 16px;
    margin-right: 12px;
    background-size: cover;
}
/* Footer :: Social :: E-Mail */
.nbp-footer-links a.social-mail .social-icon {
    color: var(--nbp-color-status);
}

/* ==========================================================================
/* Footer :: Herausgeber
 * ==========================================================================*/

.publisher {
    display: flex;
    margin-bottom: 20px;
}
/* Logo Herausgeber */
.publisher-logo {
    padding-right: 10px;
    margin-top: 2px;
    margin-bottom: 10px;
    flex-shrink: 0;
}
.publisher-logo img {
    width: 42px;
    height: auto;
}

.publisher-address {
    margin-bottom: 10px;
}
/* Link Herausgeber */
.publisher-address a {
    display: block;
    text-decoration: 1px underline dotted;
    line-height: 1.5;
}
.publisher-address .adr {
    display: block;
    margin-top: 5px;
}
/* Tel, Fax, E-Mail */
.publisher-contact {
}
.publisher-contact .tel,
.publisher-contact .contact-row {
    display: flex;
    flex-wrap: nowrap;
}
.publisher-contact .type,
.publisher-contact .contact-label {
    white-space: nowrap;
    padding-right: 3px;
}
.publisher-contact .value,
.publisher-contact .email {
    word-break: break-all;
}

/* Responsive :: Tablet */
@media (min-width: 768px) and (max-width: 991px) {
    .publisher-text {
        display: flex;
        align-items: flex-start;
        flex-grow: 1;
    }
    .publisher-text .publisher-address {
        margin-right: 10px;
        width: 33%
    }
}


/* ==========================================================================
/* Footer :: Provider
 * ==========================================================================*/

.provider {
    margin-bottom: 10px;
    display: flex;
}
.provider-logo {
    flex-shrink: 0;
    margin-right: 10px;
}
.provider-logo a {
    display: block;
}
.provider-logo img {
    max-width: 100%;
    max-height: 30px;
    margin-top: 4px;
}
.provider-slogan {
}




/* ===================================================================================================================
 * Responsive
 * ===================================================================================================================*/

/* Responsive :: Large Desktop */
@media (min-width: 1220px) {
}
/* Responsive :: Desktop */
@media (min-width: 992px) {
}
/* Responsive :: Smartphone */
@media (max-width: 767px) {

    /* Mobile Safari :: prevent auto-zoom on inputs */
    input, input:focus,
    textarea, textarea:focus,
    select, select:focus {
        font-size: 16px !important;
    }
    /* Responsive Bilder */
    .nbp-image-responsive {
        width: 100% !important;
    }
}
/* Responsive :: Tablet */
@media (min-width: 768px) and (max-width: 991px) {
}
/* Responsive :: Mobile :: Tablet + Smartphone */
@media (max-width: 991px) {
}

/* Aufräumen - Neue Styles bitte hier einfügen ----------------------------------------------------------------------- */
