/********************************************************************/
/* Allgemeines Styling												*/
/* ******************************************************************/

* {
    padding: 0;
    margin: 0;
    color:#000;
    font-family: "Fira Sans", Verdana, Arial, Helvetica, sans-serif;
    font-size:16px;
    line-height: 24px;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
}

.invisible {
    display: none;
    visibility: hidden;
}

p {
    padding-bottom: 12px;
    margin-bottom: 0;
}

p.emphasized {
    color: #333333;
    margin: 0;
    font-weight: 600;
    font-size: 15px;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    padding-bottom: 12px;
    margin-bottom: 0;
    padding-top: 24px;
    hyphens: none;
}

h1,
.mod_Grid-Content .box-1 h2 {
    font-size: 30px;
    line-height: 38px;
    font-weight: 500;
}



h2, h3 {
    font-size: 20px;
    line-height: 26px;
    font-weight: 500;
    color: #000000;
    margin-bottom: 0;
}

a {
    text-decoration: none;
    color: #2384c6;
}

strong, b {
    font-weight: 500;
}

hr {
    height: 20px;
    background-color: #eceded;
    border: none;
    margin-top: 24px;
    margin-bottom: 24px;
}

p.back {
    margin-top: 30px;
}

p.back a {
    font-weight: 400;
}

p.back a:before {
    content: "\f0d9";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    margin-right: 10px;
    font-size: 20px;
    vertical-align: bottom;
}

a.more:after,
a.terminlister_kurz_alle_termine:after {
    content: " ...";
    font-size: 20px;
    vertical-align: bottom;
}

ul {
    list-style: disclosure-closed;
    margin-left: 15px;
    margin-bottom: 15px;
}

.float_left {
    float: left;
    margin-right: 20px;
    margin-bottom: 15px;
}

.float_right {
    float: right;
    margin-left: 20px;
    margin-bottom: 15px;
}

@media (max-width: 600px) {
    .float_left,
    .float_right {
        float: none;
        margin-right: 0;
        margin-left: 0;
    }
}






/********************************************************************/
/* Basislayout											            */
/* ******************************************************************/

body.vollbild {

}

#wrapper {
    background-color: #eceded;
}

header .inside,
#container,
footer .inside {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

#container {
    font-size: 0;
}

#main {
    width: calc(100% - 325px);
    display: inline-block;
    vertical-align: top;
    background-color: #fff;
}

#main .inside {
    padding: 0 0 50px 0;
    min-height: calc(100vh - 118px);
    position: relative;
}

#right {
    width: 300px;
    margin-left: 25px;
    display: inline-block;
    vertical-align: top;
}

@media (max-width: 1240px) {
    header .inside,
    #container,
    footer .inside {
        width: calc(100% - 40px);
        margin-left: 20px;
        margin-right: 20px;
    }
}

@media (max-width: 1000px) {
    #main {
        width: 100%;
    }

    #right {
        display: none;
    }
}


/********************************************************************/
/* Header												            */
/* ******************************************************************/
header {
    height: 62px;
    background-color: #fff;
    padding: 28px 0;
}

header .inside {
    font-size: 0;
}

header #hauptnavigation {
    display: inline-block;
    width: calc(100% - 440px);
    vertical-align: bottom;
    overflow: visible;
    margin-bottom: -15px;
}

header #hauptnavigation ul {
    list-style: none;
    margin-left: 0;
}

header #hauptnavigation li {
    display: inline-block;
    padding-top: 5px;
}

header #hauptnavigation li:not(:last-of-type) {
    margin-right: 30px;
}

header #hauptnavigation li a span {
    text-transform: uppercase;
    font-weight: 500;
    font-size: 24px;
}

header #hauptnavigation li.active span,
header #hauptnavigation li.trail span,
header #hauptnavigation li.is_active span {
    color: #2484c6;
}

header #hauptnavigation ul.level_1 {
    position: relative;
}

header #hauptnavigation .level_2_box {
    display: none;      /* Standardmäßig ausgeblendet */
    position: absolute;
    background-color: #fff;
    padding: 0 0 28px 0;
    top: 40px;
    z-index: 100000;
    min-width: 480px;
    max-width: 100%;
    font-size: 0;
    box-shadow: 2px 4px 3px 1px #9f9f9f;
}

header #hauptnavigation .level_2_box .level_2_col {
    display: inline-block;
    padding: 0 20px;
    vertical-align: top;
    width: calc(50% - 40px);
}

header #hauptnavigation ul.level_2 li {
    display: block;
    margin-top: 28px;
    padding-top: 0;
}

header #hauptnavigation ul.level_2 li a span {
    color: #000;
    text-transform: none;
    font-weight: 500;
    font-size: 14px;
    line-height: 20px;
    display: inline-flex;
    text-wrap: balance;
}

header #hauptnavigation ul.level_3 li {
    margin-left: 30px;
    margin-top: 0;
}

header #hauptnavigation ul.level_3 li a span {
    color: #676767;
    font-weight: 400;
    font-size: 14px;
}

header #hauptnavigation ul.level_2 li a.active span,
header #hauptnavigation ul.level_3 li a.active span {
    color: #2484c6;
    font-weight: 400;
}

header #nav_toggle {
    display: none;      /* Standardmäßig ausgeblendet */
    width: 30px;
    height: 100%;
    margin-top: 17px;
    margin-right: 20px;
    text-align: center;
    vertical-align: top;
}

header #nav_toggle:before {
    content: "\f0c9";
    font-family: "Font Awesome 5 Pro";
    font-size: 30px;
    line-height: 32px;
    color: #2484c6;
    font-weight: 700;
}

header #header_search {
    display: inline-block;
    width: 30px;
    height: 32px;
    margin-top: 30px;
    margin-right: 20px;
    text-align: center;
    vertical-align: bottom;
    position: relative;
}

header #search_toggle {
    display: inline-block;
    width: 30px;
    height: 32px;
    margin-top: 0;
    margin-right: 20px;
    text-align: center;
    vertical-align: bottom;
}

header #search_toggle:before {
    content: "\f002";
    font-family: "Font Awesome 5 Pro";
    font-size: 26px;
    line-height: 30px;
    color: #2484c6;
    font-weight: 700;
}

header #search {
    position: absolute;
    right:0;
    top: 60px;
    width: 280px;
    text-align: justify;
    background-color: #fff;
    padding: 10px 20px;
    z-index: 90000;
    display: none;      /* Standardmäßig ausgeblendet */
}

header #search input[type="search"] {
    display: inline-block;
    width:56%;
    height: 100%;
    font-size: 17px;
    padding: 3px 2%;
    margin-top:unset;
}

header #search input[type="submit"] {
    display: inline-block;
    margin-left:2%;
    padding-left: 10px;
    padding-right: 10px;
    margin-top: 0;
    margin-bottom: 0;
    width:34%;
    float: right;
}

header .header_rechts {
    display: inline-block;
    width: 120px;
    text-align: center;
    margin-right: 20px;
    height: 32px;
    vertical-align: bottom;
}

header .header_rechts .ce_hyperlink {
    display: inline-block;
    width: 30px;
    height: 30px;
}

header .header_rechts .ce_hyperlink a {
    font-size: 0;
}

header .header_rechts .ce_hyperlink a:before {
    font-size: 30px;
    line-height: 30px;
    font-weight: 400;
    color: #000;
}

header #header_logo {
    display: inline-block;
    width: 250px;
    height: 62px;
    vertical-align: bottom;
    background-size: 90% auto;
    background-repeat: no-repeat;
    background-position: right bottom;
}

@media (max-width: 1240px) {

    header #hauptnavigation li:not(:last-of-type) {
        margin-right: 20px;
    }

    header #hauptnavigation li a span {
        font-size: 20px;
    }
}

@media (max-width: 1040px) {

    header {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    header #nav_toggle {
        display: inline-block;
    }

    header .header_rechts {
        margin-top: 17px;
        vertical-align: top;
    }

    header #header_search {
        width: 30px;
        height: 100%;
        margin-top: 17px;
        margin-right: 20px;
        vertical-align: top;
    }

    header #search_toggle {
        margin-top: 0;
    }

    header #search_toggle:before {
        font-size: 26px;
        font-weight: 700;
        line-height: 30px;
    }

    header #header_logo {
        width: calc(100% - 240px);
        background-size: auto 90%;
        background-position: right center;
    }

    header #hauptnavigation {
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        padding: 20px;
        background-color: #fff;
        z-index: 100000;
        width: calc(100% - 20px);
        box-shadow: 0 5px 4px 1px #d3d3d3;
    }

    header #hauptnavigation li {
        display: block;
        margin-right: 0;
        padding-top: 10px;
    }

    header #hauptnavigation .level_2_box {
        position: static;
        padding-top: 8px;
        min-width: 0;
        width: 100%;
        box-shadow: none;
    }

    header #hauptnavigation ul.level_2 li {
        margin-top: 0;
    }

    header #header_search {
        position: static;
    }

    header #search {
        top: 72px;
        left: 0;
        height: 35px;
        width: calc(100% - 20px);
        padding-left: 10px;
        padding-right: 10px;
    }
}
@media (max-width: 600px) {
    header #header_logo {
        background-size: 80% auto;
    }
}


@media (max-width: 480px) {
    header #hauptnavigation .level_2_box .level_2_col {
        display: block;
    }
}

@media (max-width: 350px) {
    header .header_rechts {
        display: none;
    }

    header #header_logo {
        width: calc(100% - 100px);
        background-size: 50% auto;
    }
}



/********************************************************************/
/* Rechte Spalte   										            */
/* ******************************************************************/

#right .mod_Grid-Content .individual-box.grid-werbung .werbung-wrapper {
    margin-bottom: 15px;
    text-align: center;
}

#right .mod_Grid-Content .individual-box.grid-werbung .werbung-wrapper img {
    width: auto;
    height: 40px;
}

#right .mod_Grid-Content .individual-box.grid-werbung .werbung-wrapper .text-wrapper {
    display: none;
}

#right .mod_Grid-Content .box-1 h2 {
    font-size: 20px;
}



/********************************************************************/
/* Footer       										            */
/* ******************************************************************/
footer {
    background-color: #eceded;
    margin-top: 20px;
    padding-bottom: 100px;
}

footer .inside {
    padding-top: 30px;
}

footer .navi_footer {
    display: inline-block;
    width: calc(100% - 190px);
    vertical-align: top;
}

footer .navi_footer ul {
    list-style-type: none;
    margin-left: 0;
}

footer .navi_footer li {
    display: inline-block;
    padding-right: 22px;
}

footer .navi_footer li a span {
    line-height: 40px;
    font-weight: 400;
    text-transform: uppercase;
}

footer .footer_rechts {
    display: inline-block;
    width: 170px;
    text-align: right;
    vertical-align: top;
}

footer .footer_rechts .ce_hyperlink {
    display: inline-block;
}

footer .footer_rechts .ce_hyperlink a {
    font-size: 0;
    margin-left: 15px;
}

footer .footer_rechts .ce_hyperlink a:before {
    font-size: 40px;
    line-height: 50px;
    font-weight: 400;
    color: #000;
}

header .header_rechts .ce_hyperlink.facebook_link  a:before,
footer .footer_rechts .ce_hyperlink.facebook_link  a:before {
    content: "\f082";
    font-family: "Font Awesome 5 Brands";
    color: #3b5998;
}

header .header_rechts .ce_hyperlink.instagram_link  a:before,
footer .footer_rechts .ce_hyperlink.instagram_link  a:before {
    content: "\f16d";
    font-family: "Font Awesome 5 Brands";
    color: #c13584;
}

header .header_rechts .ce_hyperlink.whatsapp_link  a:before,
footer .footer_rechts .ce_hyperlink.whatsapp_link  a:before {
    content: "\f40c";
    font-family: "Font Awesome 5 Brands";
    color: #25d366;
}

@media (max-width: 1000px) {
    footer .navi_footer,
    footer .footer_rechts {
        display: block;
        text-align: center;
        width: 100%;
    }

    footer .footer_rechts {
        margin-top: 30px;
    }
}



/********************************************************************/
/* Brotkrumen      										            */
/* ******************************************************************/

.mod_breadcrumb {
    margin-top: 10px;
    margin-bottom: 10px;
}

.mod_breadcrumb ul li {
    display: inline-block;
}

.mod_breadcrumb ul li:before {
    content: "\f054";
    font-family: "Font AweSome 5 Pro";
    color: #b0b0b0;
    font-weight: 700;
    font-size: 10px;
    display: inline-block;
    margin-left: 7px;
    margin-right: 7px;
}

.mod_breadcrumb ul li:first-of-type:before {
    margin-left: 0;
}

.mod_breadcrumb ul li a span {
    font-weight: 600;
    font-size: 14px;
    color: #b0b0b0;
}


/********************************************************************/
/* Content       										            */
/* ******************************************************************/

.mod_article>*:not(.full_width):not(.mod_newsreader),
.mod_article .mod_newsreader>*:not(.full_width) {
    padding-left: 30px;
    padding-right: 30px;
}




/********************************************************************/
/* Formular       										            */
/* ******************************************************************/

.ce_form .widget {
    margin-bottom: 10px;
}

.ce_form label {
    display: block;
    margin-bottom: 3px;
}

.ce_form label span.mandatory {
    color: #ff0000;
}

.ce_form input, form input[type=text], .text, .textarea {
    border: 1px solid #c6c6c6;
    padding: 4px 16px;
    width: calc(100% - 34px);
    margin: 0 0 5px 0;
    font-size: 16px;
}

.ce_form .widget-text.captcha input {
    width: 200px;
}

label {
    display: block;
    margin-bottom: 5px;
}

.ce_form button,
button,
input[type=submit] {
    font-size: 16px;
    font-weight: bold;
    background-color: #c6c6c6;
    border: 1px solid #c6c6c6;
    margin: 20px 0;
    padding: 4px 24px;
    color: white;
    text-transform: uppercase;
    cursor: pointer;
}

/* Styles für Selectmenu */
.ui-selectmenu-button.ui-button {
    background-color: #fff;
    border-radius: 0;
    border: 1px solid #c6c6c6;
    padding: 4px 4px 4px 16px;
}

.ui-selectmenu-button.ui-button .ui-selectmenu-text {
    line-height: 28px;
}

.ui-selectmenu-button.ui-button .ui-icon {
    background-image: none;
    text-indent: 0;
    height: 28px;
}

.ui-selectmenu-button.ui-button .ui-icon:before {
    content: "\f175";
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
    color: #2484c6;
    line-height: 28px;
}


/********************************************************************/
/* News/Grid     							    			        */
/* ******************************************************************/

#main .mod_Grid-Content {
    margin-top: 28px;
}

.news-container .category-wrapper {
    margin-bottom: 7px;
}

.news-container p.headline {
    margin-text-outline: 6px;
    margin-top: 6px;
    margin-bottom: 6px;
    display: none;
}

.news-container p.headline span {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 15px;
    color: #2484c6;
}

.mod_Grid-Content .grid-raster .box {
    overflow: hidden;
}

.mod_Grid-Content .box-1 h2 {
    padding-bottom: 10px;
}

.news-container .teaser p {
    padding-bottom: 0;
    margin-bottom: 0;
}

.news-container a.more-link:before {
    content: "";
    margin: 0;
    padding: 0;
}

.news-container a.more-link:after {
    content: " ...";
}

.mod_Grid-Content h2 {
    padding-top: 0;
    margin-top: 0;
}

.mod_Grid-Content .grid-raster .individual-box {
    padding: 15px 15px 15px 15px;
}

.mod_Grid-Content .individual-box h2 {
    font-weight: 500;
    text-transform: uppercase;
}

.mod_Grid-Content .individual-box .text-wrapper p:last-of-type {
    padding-bottom: 0;
    margin-bottom: 0;
}

.mod_Grid-Content .individual-box .text-wrapper img {
    max-width: 100%;
}

.mod_Grid-Content .individual-box .losung-ver {
    font-weight: 400;
    font-style: italic;
    font-size: 13px;
    margin-bottom: 10px;
}

.mod_Grid-Content .grid-raster .box .news-container .text-container {
    padding-bottom: 15px;
}

.mod_Grid-Content .individual-box .text-container .losung-ver:last-of-type {
    margin-bottom: 0;
}

.mod_Grid-Content .individual-box .soc_media_wrapper .ce_hyperlink a {
    font-size: 0;
}

.mod_Grid-Content .individual-box .soc_media_wrapper .ce_hyperlink:not(:first-of-type) a {
    margin-left: 8px;
}

.mod_Grid-Content .individual-box .soc_media_wrapper .ce_hyperlink a:before {
    font-size: 40px;
    line-height: 50px;
    font-weight: 400;
    color: #000;
}

.mod_Grid-Content .individual-box .kontakt_table,
.mod_Grid-Content .individual-box .kontakt_table td {
    border: none;
    vertical-align: bottom;
}

.mod_Grid-Content .individual-box .kontakt_table .facebook_link a,
.mod_Grid-Content .individual-box .kontakt_table .instagram_link a {
    font-size: 0;
    display: inline-block;
    margin-right: 20px;
}

.mod_Grid-Content .individual-box .kontakt_table .facebook_link a:before,
.mod_Grid-Content .individual-box .kontakt_table .instagram_link a:before {
    font-size: 46px;
    line-height: 56px;
}

.mod_Grid-Content .individual-box .kontakt_table .facebook_link a:before {
    content: "\f082";
    font-family: "Font Awesome 5 Brands";
    color: #3b5998;
}

.mod_Grid-Content .individual-box .kontakt_table .instagram_link a:before {
    content: "\f16d";
    font-family: "Font Awesome 5 Brands";
    color: #c13584;
}

.mod_Grid-Content .individual-box .kontakt_table p {
    margin-bottom: 4px;
    padding-bottom: 0;
}

.mod_Grid-Content .individual-box.grid-werbung {
    background-color: #fff;
}

.mod_Grid-Content .individual-box.grid-werbung .werbung-wrapper {
    margin-top: 30px;
}

.mod_Grid-Content .individual-box.grid-werbung h2 {
    display: none;
}

.mod_Grid-Content .individual-box.grid-werbung .image-wrapper a {
    text-align: center;
}

.mod_Grid-Content .individual-box.grid-werbung a img {
    width: auto;
    max-width: auto;
}


/* Anpassungen für Grid auf der Meldungen Seite */
.meldungen-grid.mod_Grid-Content .grid-raster {
    grid-template-columns: 1fr 1fr 1fr;
}

/* Anpassungen für masonary-grid Klasse */
.meldungen-grid.mod_Grid-Content.masonary-grid .grid-raster .box {
    width: calc(33% - 20px);
}
.meldungen-grid.mod_Grid-Content.masonary-grid .grid-raster .box-width-2 {
    width: calc(66% - 20px);
}

@media (max-width: 1200px) {

    .meldungen-grid.mod_Grid-Content .grid-raster {
        grid-template-columns: 1fr 1fr;
    }

    .meldungen-grid .grid-raster.grid-raster-default .box.box-width-2 {
        grid-column: span 2;
    }
}

@media (max-width: 1000px) {
    .grid-raster {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .grid-raster.grid-raster-default .box-2.box-width-2 {
        grid-column: span 1;
    }

}

@media (max-width: 800px) {
    .grid-raster {
        grid-template-columns: 1fr 1fr;
    }

    .grid-raster.grid-raster-default .box-2.box-width-2 {
        grid-column: span 2;
    }
}

@media (max-width: 600px) {
    .grid-raster {
        grid-template-columns: 1fr;
    }

    .grid-raster.grid-raster-default .box.box-width-2,
    .grid-raster.grid-raster-default .box-2.box-width-2{
        grid-column: span 1;
    }

    .meldungen-grid.mod_Grid-Content .grid-raster {
        grid-template-columns: 1fr;
    }

    .meldungen-grid.mod_Grid-Content .grid-raster.grid-raster-default .box.box-width-2 {
        grid-column: span 1;
    }

    .mod_Grid-Content.masonary-grid .grid-raster .box.box-width-2 {
        width: 280px;
    }


}

/********************************************************************/
/* News-Archiv     							    			        */
/* ******************************************************************/

.mod_newsarchive .newslister_archiv {
    position: relative;
    top: 1px;
    width: 100%;
    float: left;
    padding-bottom: 10px;
    margin-top: 10px;
    border-bottom: 1px solid #BABEBE;
    margin-bottom: 20px;
}

.mod_newsarchive .newslister_archiv .image_container {
    float: left;
    margin-top: 5px;
    display: inline-block;
    width: 40%;
    position: relative;
    padding-bottom: 26.66%;
    height: 0;
    overflow: hidden;
}

.mod_newsarchive .newslister_archiv .image_container img {
    position: absolute;
    z-index: 100;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.mod_newsarchive .newslister_archiv .news_text_container_aktuelles {
    position: relative;
    float: right;
    width: calc(60% - 20px);
    padding-bottom: 10px;
    padding-left: 20px;
}



.mod_newsarchive .news_text_container_aktuelles p.info {
    position: absolute;
    right: 0;
    top: 0;
}


@media (max-width: 600px) {

    .mod_newsarchive .newslister_archiv .image_container {
        float: unset;
        width: 100%;
        padding-bottom: 66.65%;
    }

    .mod_newsarchive .newslister_archiv .news_text_container_aktuelles {
        float: unset;
        width: 100%;
        padding-left: unset;
    }

}


/********************************************************************/
/* Kategorien   							    			         */
/* ******************************************************************/

.category-wrapper .category {
    display: inline-block;
}

.category-wrapper .category a {
    display: inline-block;
    padding: 3px 5px;
    color: #fff;
    background-color: #c0c0c0;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 15px;
}



/********************************************************************/
/* Pagination     							    			        */
/* ******************************************************************/

.pagination {
    margin-top: 20px;
    padding-top: 20px;
    text-align: center;
    background-color: #fff;
}
.pagination ul {
    list-style-type: none;
    margin-top: 10px;
    text-align: center;
}
.pagination ul li {
    display: inline-block;
    margin-right: 10px;
}

.pagination ul li span {
    font-size: 16px;
}

.pagination ul li span.active {
    font-weight: bold;
}

.pagination a:after {
    content: "\f105";
    font-family: "Font Awesome 5 Pro";
    font-size: 30px;
    background-color: #2484c6;
    font-weight: 700;
    color: #fff;
    padding: 6px 0;
    display: inline-block;
    width: 40px;
    text-align: center;
    border-radius: 4px;
    line-height: 30px;
}

.pagination a.first:after {
    content: "\f100";
}

.pagination a.previous:after {
    content: "\f104";
}

.pagination a.next:after {
    content: "\f105";
}

.pagination a.last:after {
    content: "\f101";
}



/********************************************************************/
/* News-Reader     							    			        */
/* ******************************************************************/

.mod_newsreader {
    margin-top: 30px;
}

.mod_newsreader .info {
    text-align: right;
    position: absolute;
    right: 0;
}

.mod_newsreader .info time {
    font-weight: 400;
}

    /* Bild im Landscape-Modus */
.mod_newsreader .teaserbild {
    display: block;
    margin-bottom: 16px;
    margin-top: 20px;
}

.mod_newsreader .teaserbild img {
    width: 100%;
}

/* Bild im Portrait-Modus */
.mod_newsreader .teaserbild.portrait {
    float: right;
    width: 33.33%;
    height: auto;
    margin-top: 30px;
}

.mod_newsreader .category-wrapper {
    display: inline-block;
    width: calc(100% - 200px);
}

.mod_newsreader .category-wrapper .category a {
    display: inline-block;
    padding: 3px 5px;
    color: #fff;
    background-color: #c0c0c0;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 15px;
}

.mod_newsreader h1:first-of-type {
    padding-top: 23px;
}

.mod_newsreader .module_tag {
    margin-top: 30px;
}

.mod_newsreader .module_tag .tag {
    display: inline-block;
    margin-right: 6px;
}

.mod_newsreader .module_tag .tag a {
    display: inline-block;
    padding: 3px 5px;
    color: #fff;
    background-color: #2484c6;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 15px;
}

@media (max-width: 600px) {
    .mod_newsreader .teaserbild.portrait {
        float: none;
        display: block;
        width: calc(100% - 60px);
    }
}



/********************************************************************/
/* Teilen-Buttons  							    			        */
/* ******************************************************************/

.social-media-teilen-container {
    font-size: 0;
    margin-top: 12px;
}

.social-media-teilen-container p.emphasized {
    margin-bottom: 12px;
    padding-bottom: 0;
}
.social-media-teilen-container .teilen-buttons {
    font-size: 0;
}


.social-media-teilen-container a {
    font-size: 0;
    margin-right: 6px;
}

.social-media-teilen-container a:before {
    font-size: 40px;
    line-height: 40px;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
}

.social-media-teilen-container a.facebook_link:before {
    content: "\f082";
    font-family: "Font Awesome 5 Brands";
    color: #3b5998;
}

.social-media-teilen-container a.whatsapp_link:before {
    content: "\f40c";
    font-family: "Font Awesome 5 Brands";
    color: #25d366;
}

.social-media-teilen-container a.twitter_link:before {
    content: "\f081";
    font-family: "Font Awesome 5 Brands";
    color: #1DA1F2;
}

.social-media-teilen-container a.email_link:before {
    content: "\f199";
    color: #c5cace;
}

.social-media-teilen-container a.share_link:before {
    content: "\f1e1";
    color: #14171A;
}


/********************************************************************/
/* Inhaltselemente      							                */
/* ******************************************************************/
.video_wrapper {
    aspect-ratio: 16/9;
    box-shadow: none !important;
}

iframe {
    width: calc(100% - 60px);
    aspect-ratio: 16/9;
}

.video_wrapper iframe {
    width: 100%;
}

.image_container {
    position: relative;
}

.image_container img {
    max-width: 100%;
    height: auto;
}

.image_container .image_link_lupe {
    display: none;  /* Generell ausgeblendet */
    position: absolute;
    right: 15px;
    bottom: 5px;
}

/*
.image_container .image_link_lupe:before {
    content: "\f002";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    font-size: 17px;
    color: #2384c6;
    display: inline-block;
    width: 30px;
    height: 30px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 30px;
    text-align: center;
    line-height: 30px;
}
*/



/********************************************************************/
/* Caroufredsel-Galerie 								            */
/* ******************************************************************/
.caroufredsel_wrapper .image_container img {
    width: calc(100% - 10px);
}

.caroufredsel_skin {
    position: relative;
}

.caroufredsel_controls {
    position: absolute;
    top: calc(50% - 30px);
    transform: translateY(-50%);
    width: 100%
}

.caroufredsel_controls .caroufredsel_navi {
    position: relative;
}

.caroufredsel_controls .caroufredsel_navi .caroufredsel_prev span,
.caroufredsel_controls .caroufredsel_navi .caroufredsel_next span {
    font-size: 0;
}

.caroufredsel_controls .caroufredsel_navi .caroufredsel_prev {
    position: absolute;
    left: 5px;
}

.caroufredsel_controls .caroufredsel_navi .caroufredsel_next {
    position: absolute;
    right: 15px;
}

.caroufredsel_controls .caroufredsel_navi .caroufredsel_prev:before,
.caroufredsel_controls .caroufredsel_navi .caroufredsel_next:before {
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    font-size: 20px;
    color: #2384c6;
    display: inline-block;
    width: 30px;
    height: 30px;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 30px;
    text-align: center;
    line-height: 30px;
}

.caroufredsel_controls .caroufredsel_navi .caroufredsel_prev:before {
    content: "\f104";
}

.caroufredsel_controls .caroufredsel_navi .caroufredsel_next:before {
    content: "\f105";
}

.caroufredsel_skin .caroufredsel_controls .caroufredsel_navi,
.caroufredsel_skin .image_container .image_link_lupe {
    display: none;
}

.caroufredsel_skin:hover .caroufredsel_controls .caroufredsel_navi,
.caroufredsel_skin:hover .image_container .image_link_lupe {
    display: block;
}


    /********************************************************************/
/* Person/Adresse										            */
/* ******************************************************************/
.person {
    margin-bottom: 16px;
}

.person .person_img {
    width: 150px;
    float: left;
    margin-right: 20px;
}

.person .kontakt_box {
    display: inline-block;
    vertical-align: top
}

.person .kontakt_box p {
    padding-bottom: 0;
    margin-bottom: 0;
}

.person p.titel,
.person p.titel,
.person p.name,
.person p.gemeinde,
.person p.funktion {
    font-weight: 500;
}

.person p .icon {
    display: none;
}



/********************************************************************/
/* Accordion      							    			        */
/* ******************************************************************/
.ce_accordion .ui-accordion-header {
    font-weight: 400;
    padding: 8px 4px 8px 4px;
    border-top: 1px dotted #bfbfbf;
    cursor: pointer;
    background-color: transparent;
    border: none;
    border-radius: 0;
}

.ce_accordion .ui-accordion-header .ui-accordion-header-icon {
    background-image: none;
    text-indent: inherit;
    width: 20px;
    height: 20px;
    text-align: center;
}

.ce_accordion .ui-accordion-header .ui-accordion-header-icon:before {
    content: "\f175";
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
    color: #2484c6;
    margin-right: 5px;
    font-size: 20px;
}

.ce_accordion .ui-accordion-header.ui-state-active .ui-accordion-header-icon:before {
    content: "\f176";
}

.ce_accordion .ui-accordion-content {
    margin-left: 24px;
    margin-top: 5px;
    margin-right: 24px;
    border: none;
    border-radius: 0;
}

.ce_accordion .ui-state-active {
    background-color: transparent;
    color: #000;
}



/********************************************************************/
/* Galerie      							    			        */
/* ******************************************************************/

.ce_gallery > ul {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    list-style: none;
    margin-left: 0;
    overflow-x: hidden;
}

.ce_gallery img {
    height: auto;
    max-width: unset;
    min-width: 100%;

}

.ce_gallery .image_container > a {
    position: relative;
}

.ce_gallery .image_container .image_link_lupe {
    bottom: 10px;
    right: 10px;
}

.ce_gallery figcaption,
.ce_gallery figcaption a {
    font-size: .75rem;
    line-height: 1.4;
}



/********************************************************************/
/* Straßensuche    							    			        */
/* ******************************************************************/
.strassen-suche form {
    font-size: 0;
}

.strassen-suche #strassensuche_input {
    width: calc(100% - 224px);
    margin-right: 10px;
    display: inline-block;
    vertical-align: top;
}

.strassen-suche #strassensuche_button {
    width: 180px;
    margin-top: 0;
    margin-bottom: 0;
}

.strassen-suche .suchergebnisse {
    margin-top: 30px;
}

.strassen-suche .hinweis-wrapper {
    margin-top: 0;
}

.strassen-suche .person p {
    padding-bottom: 0;
    margin-bottom: 0;
}

.strassen-suche .person p.strasse_suchergebnis {
    font-weight: 400;
}

.strassen-suche .person p.gemeinde,
.strassen-suche .person p.name {
    font-weight: 300;
}

@media (max-width: 500px) {
    .strassen-suche #strassensuche_input {
        display: block;
        width: calc(100% - 34px);
    }

}


/********************************************************************/
/* Quicklinks quer 										            */
/* ******************************************************************/
#quicklinks_quer {
    display: block;
    background-color: #fff;
    padding: 24px 0 16px 0;
    text-align: center;
}

#quicklinks_quer .quicklinks_list {
    display: inline-block;
    text-align: center;
    width: 100%;
    max-width: 1000px;
    font-size: 0;
}

#quicklinks_quer .quicklinks_list .quicklinks_item {
    display: inline-block;
    width: calc(25% - 20px);
    text-align: center;
    vertical-align: top;
}

#quicklinks_quer .quicklinks_list .quicklinks_item:not(:last-of-type) {
    margin-right: 20px;
}

#quicklinks_quer .quicklinks_list .quicklinks_item .inner {
    text-align: center;
}

#quicklinks_quer .quicklinks_list .quicklinks_item img.icon {
    display: block;
    width: 50%;
    margin: 0 25% 0 25%;
    height: auto;
}

#quicklinks_quer .quicklinks_list .quicklinks_item span.label {
    font-size: 16px;
    display: block;
    margin-top: 14px;
}

@media (max-width: 600px) {
    #quicklinks_quer .quicklinks_list .quicklinks_item span.label {
        font-size: 12px;
    }
}



/********************************************************************/
/* Terminliste               							            */
/* ******************************************************************/

#terminlister_filter .suchbegriff_box {
    font-size: 0;
    margin-bottom: 30px;
}

#terminlister_filter .suchbegriff_box #termin_suche_input {
    margin-right: 20px;
    display: inline-block;
    width: calc(75% - 39px);
}

#terminlister_filter .suchbegriff_box .termin_button,
#terminlister_filter .button_box input {
    width: calc(25% - 15px);
    padding-left: 0;
    padding-right: 0;
    margin-top: 0;
    margin-bottom: 0;
}

#terminlister_filter .row_box {
    font-size: 0;
    margin-bottom: 20px;
}

#terminlister_filter .row_box .ui-selectmenu-button {
    width: calc(50% - 32px);
    margin: 0;
}

#terminlister_filter .row_box .ui-selectmenu-button:first-of-type {
    margin-right: 20px;
}

#terminlister_filter .button_box {
    text-align: right;
    font-size: 0;
}

#terminlister_filter .button_box input:not(:last-of-type) {
    margin-right: 20px;
}

#terminlister_pager {
    font-size: 0;
}

#terminlister_pager .terminlister_pager_links,
#terminlister_pager .terminlister_pager_rechts {
    display: inline-block;
    width: 50%;
}

#terminlister_pager #zeilen_pro_seite-button {
    width: auto;
}

#terminlister_pager .terminlister_pager_rechts {
    text-align: right;
}

#terminlister_liste .terminlister_block {
    border-top: 1px dotted #bfbfbf;
    padding: 12px 0;
}

#terminlister_liste .terminlister_header {
    position: relative;
    margin-bottom: 2px;
}

#terminlister_liste .terminlister_dropdown_arrow {
    position: absolute;
    top: 20px;
    right: 10px;
}

#terminlister_liste .terminlister_dropdown_arrow:before {
    content: "\f175";
    font-family: "Font Awesome 5 Pro";
    font-weight: 300;
    color: #2484c6;
    line-height: 28px;
}

#terminlister_liste p {
    padding-bottom: 0;
}

#terminlister_liste .terminlister_titel {
    font-weight: 500;
    color: #2484c6;
}

#terminlister_liste .terminlister_subtitle {
    font-style: italic;
}

#terminlister_liste .terminlister_termin_komplett {
    display: none;
}

#terminlister_liste .terminlister_termin_komplett>div {
    margin-bottom: 8px;
}

@media (max-width: 650px) {
    #terminlister_filter .row_box .ui-selectmenu-button,
    #terminlister_filter .row_box .ui-selectmenu-button:first-of-type {
        display: block;
        width: calc(100% - 20px);
        margin-right: 0;
        margin-bottom: 10px;
    }

    .suchbegriff_box .termin_button {
        display: none;
    }

    #terminlister_filter .suchbegriff_box #termin_suche_input {
        width: calc(100% - 34px);
        margin-right: 0;
    }

    #terminlister_filter .button_box input {
        width: calc(50% - 10px);
    }
}

@media (max-width: 500px) {
    #terminlister_filter .button_box input {
        width: 100%;
        margin-right: 0;
        margin-bottom: 10px;
    }

    #terminlister_pager .terminlister_pager_links,
    #terminlister_pager .terminlister_pager_rechts {
        width: 100%;
        text-align: center;
    }

    #terminlister_pager .terminlister_pager_links {
        margin-bottom: 15px;
    }
}





/********************************************************************/
/* Startseite     							    			        */
/* ******************************************************************/

.startseite .mod_breadcrumb {
    display: none;
}

.startseite #main {
    width: 100%;
    background-color: transparent;
}

.startseite #right {
    display: none;
}

.startseite .mod_Grid-Content {
    margin-top: 28px;
}

.startseite .mod_article>*:not(.full_width) {
    padding-left: 0;
    padding-right: 0;
}

.startseite #main .inside {
    padding-bottom: 0;
}

.startseite footer {
    margin-top: 0;
}

.startseite .pagination {
    width: 100vw;
    position: relative;
    left: calc(-50vw + 50%);
    padding-bottom: 70px;
}




/********************************************************************/
/* Suchergebnisse               							        */
/* ******************************************************************/

.search_list,
.mod_search p.header {
    padding-bottom: 20px;
    border-bottom: 1px solid #838383;
    margin-bottom: 0;
}

.search_list h3 {
    padding-top: 20px;
}

.search_list h3 a {
    font-weight: 700;
    color: #000;
}

.search_list .highlight {
    background-color: #8ec4e6;
    font-weight: 400;
    padding: 0 3px;
    border-radius: 2px;
}

.mod_search .widget {
    display: inline-block;
    margin-bottom: 20px;
    max-width: 100%;
}

.mod_search .widget input[type="search"] {
    width: 400px;
    max-width: 100%;
}

.mod_search .widget button {
    width: 200px;
}



/********************************************************************/
/* Infobox (aus TinyMCE Editor)		                                */
/********************************************************************/

.infobox,
.infobox-default,
.infobox-blue,
.infobox-termin {
    margin-bottom: 10px;
    padding: 15px 15px 0;
    background-color :#f5f5f5;
    border: 1px dashed #e5e5e5;
    min-width: 90%;
    min-height: 25px;
}

.infobox h3,
.infobox p:first-of-type,
.infobox strong:first-of-type,
.infobox-default h3,
.infobox-default p:first-of-type,
.infobox-default strong:first-of-type,
.infobox-blue h3,
.infobox-blue p:first-of-type,
.infobox-blue strong:first-of-type,
.infobox-termin h3,
.infobox-termin p:first-of-type,
.infobox-termin strong:first-of-type {
    font-weight: bold;
    color: #333;
    margin-top: -5px;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.infobox::before,
.infobox-default::before,
.infobox-blue::before,
.infobox-termin::before {
    float:left;
    margin-top: -5px;
    margin-right: 10px;
    font-size: 23px;
    font-family: "Font Awesome 5 Pro";
    content: "\f05a"
}


/** Infobox Blue **/
.infobox.blau,
.infobox-blue {
    border: 1px dashed #006fc5;
}

.infobox.blau::before,
.infobox-blue::before {
    color:#006fc5;
}

/** Infobox Termin **/
.infobox.termin,
.infobox-termin {
    background-color:#fff;
}

.infobox.termin::before,
.infobox-termin::before {
    font-size:60px;
    color:#006fc5;
    content:"\f073";
}


/********************************************************************/
/* Button blau (aus TinyMCE Editor)		                            */
/********************************************************************/

button.blau,
.button.blau,
.button-blue {
    background: #006fc5;
    color: white;
    margin: 10px auto;
    padding: 15px;
    font-weight: bold;
    width:35%;
    text-align:center;
}

button.blau a,
.button.blau a,
.button-blue a {
    color:#fff;
    background:none;
    padding:0;
    hyphens:none;
}

button.blau:hover,
.button:hover,
.button-blue:hover {
    box-shadow: 2px 2px 9px 0 black;
    transition: box-shadow 0.3s ease-in-out;
}



/********************************************************************/
/* Zitat (aus TinyMCE Editor)		                            	*/
/********************************************************************/

blockquote {
    position: relative;
    font-style: italic;
    margin: 12px 40px;
}

.ce_text blockquote p {
    color: #2484c6;
    font-size: 21px !important;
    line-height: 1.3;
    font-weight: 400;
}

blockquote p::before {
    content: "\f101";
    font-family: "Font Awesome 5 Pro";
    font-size: 20px;
    font-weight: 500;
    margin-right: 4px;
}


/********************************************************************/
/* Backgroundify	                                                */
/********************************************************************/
#backroundify_blur_filter_wrap {
    display: none;
}

.backgroundify-svg image {
    filter: blur(10px);
}

/********************************************************************/
/* Media	                                                */
/********************************************************************/
.media.media--left figure {
    padding-right: 14px;
}

.media.media--right figure {
    padding-left: 14px;
}

.media.media--above figure {
    padding-bottom: 14px;
}
.media.media--below figure {
    padding-top: 14px;
}





