body {
  font-family: "Titillium Web", sans-serif;
  font-weight: 300;
}

:root {
    --cardmenu-gap: 2rem;
    --cardmenu-columns: 1;
    --cardgroup-gap: 2.5rem;
}

.red {
    color: #bf2940;
}

p,
li {
    hyphens: auto;
    font-size: 1.03rem;
    font-weight: 300;
    letter-spacing: 0.03em;
}


.card-product p,.card-product li {
    font-size: 0.98rem;
}

.card-product h2 {
  font-size: 1.225rem;
}



strong {
    font-weight: 600;
}

h1,
h2,
h3,
h4,
h5,
h6,
.nav-link {
    font-family: "Titillium Web", "Fira Sans Extra Condensed", sans-serif;
    font-weight: 400;
}

.nav-link {
    /*text-transform: uppercase;*/
    font-weight: 300;
}

#nav-item-1644 span {
    text-transform: uppercase;
    color: #ffffff;
    background-color: rgba(191, 41, 64, 1);
    padding-left: 3px;
    padding-right: 3px;
}

.nav {
    --bs-nav-link-padding-x: 0.925rem;
    --bs-nav-link-padding-y: 0.5rem;
}

.slick-prev,
.slick-next {
    z-index: 1;
}

.slick-next,
.slick-prev {
    width: 3rem !important;
    height: 3rem !important;
}

.slick-next::before,
.slick-prev::before {
    font-size: 2rem !important;
    text-shadow: 0px 0px 6px #777;
}

.kesearch_pagebrowser ul.pagination {
    display: inline ruby;
}

.card-body {
    padding: 0.5rem 0rem 0rem 0rem;
}

.layout_5 .card-product {
    background-color: #ffffff;
}

.card-product {
    background-color: #ececeb;
    height: 100%;
}

.card.card-product {
    --bs-card-border-width: 0;
}

.card-product .card-img-top {
    box-sizing: border-box;
    padding: 1rem 1rem 0 1rem;
}

.card-product .card-body {
    box-sizing: border-box;
    padding: 1rem;
}

.card.card-v2 .card-body,
.card.card-product-weiss .card-body {
    padding-left: 0;
}

.card.card-v2,
.card.card-product-weiss {
    --bs-card-border-color: #ffffff;
}

.card.card-product-weiss a {
    text-decoration: none;
}

a.card-link {
    text-decoration: none;
    color: rgb(33, 33, 33) !important;
}

h2.card-title {
    font-weight: 600;
}

.card.card-startseite {
    --bs-card-border-width: 0;
}

.card-startseite h2.card-title {
    font-size: 1.225rem;
    font-weight: 600;
    text-align: left;
}

.card.card-startseite-image {
    --bs-card-border-width: 0;
}

.card-startseite-image h2.card-title {
    font-weight: 400;
    text-align: center;
}

.card.card-startseite-image .card-body {
    padding-top: 0;
}

.card-img-top-small img {
    display: block;
    margin: auto;
    width: 60px;
}


.card-group-element-item {
    margin-bottom: 0;
}









.pfeilred {
    color: #bf2940;
    letter-spacing: 0rem;
    font-size: 1.1rem;
}

.btn-light {
    background-color: #ffffff;
}

.shopbutton {
    margin-bottom: 10px;
    margin-top: 10px;
}

.btn-group-vertical {
    position: fixed;
    top: 35%;
    right: 0px;
    transform: translateY(-50%);
    transform: scale(1) !important;
    transform-origin: top right;
    /* Ändert die Transformationsorigin auf die rechte obere Ecke */
    transition: transform 0s ease-in-out;
    z-index: 1100;
    background-color: rgb(225, 225, 225, 0.7);
    padding: 1rem 0.5rem 0.5rem 0.75rem;
    border-top-left-radius: 20px;
    /* Radius der oberen linken Ecke */
    border-bottom-left-radius: 20px;
    /* Radius der unteren linken Ecke */
}

.btn-group-vertical .btn-light {
    background-color: initial;
}

.btn-group-vertical>.btn {
    margin-bottom: 0.5rem;
}

.btn-group-vertical li {
    margin-bottom: 0.5rem;
    list-style: none;
    text-transform: uppercase;
}

.btn-group-vertical .active {
    color: #bf2940;
}

.offcanvas {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0s ease-in-out;
    position: fixed;
    top: 0;
    /* Change top to 0 */
    right: 0;
    height: 50vh;
    /* Set height to 100% of viewport height */
}

.offcanvas.offcanvas-end {
    display: block;
    top: 50%;
    transform: translateY(-50%) !important;
    transition: initial;
    right: 55px;
    height: 120px;
}

.offcanvas.active {
    transform: translateX(90px);
}

img.socialicon {
    margin-left: 6px;
    margin-right: 6px;
}

.card:hover {
    transform: scale(1.02);
    position: initial;
    z-index: 111;
}

figure.video {
    margin-bottom: 1.5rem;
    border: 1px solid black;
}

.gs-4 {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
}

.card-group-element-columns-4 {
    --cardgroup-gap: 1.5rem;
}

.ce-tab-pane .gallery-item .image img {
    border: 1px solid #ccc;
}

.gallery-item .image img {
    border: 0px solid #ccc;
}

.gallery-item figure .caption {
    display: grid;
    text-align: center;
}

.ce-tabpanel .frame-container {
    position: relative;
    --bs-gutter-x: 20px;
}

.ce-tabpanel .frame-container .container-fluid {
    position: relative;
    --bs-gutter-x: 20px;
}

.frame-type-menu_card_dir .card-title {
    font-size: 1.225rem;
}

.frame-type-menu_card_dir p {
    font-size: 0.98rem;
}

.ce-tabpanel.tabpanel {
    padding-top: 1rem;
}

.tx-powermail {
    font-weight: 300;
}

.powermail_form .form-label {
    margin-bottom: 0;
}   

.tx-powermail .powermail_form .powermail_fieldset .row {
  margin-top: 1rem;
}

.tx-powermail .powermail_form .powermail_fieldset .row:first-of-type {
  margin-top: 0;
}

.tx-powermail .powermail_fieldwrap {
  padding-left:0.7rem;
  padding-right:0.7rem;
}



.tab-navigation .nav-link {
    font-weight: 400;
}

.navbar-mainnavigation .dropdown-menu-mega > .dropdown-nav > .nav-item > .nav-link {
  font-weight: 600;
}

.frame-type-text li {
    padding-bottom: 1rem;
}

.frame-type-text ol {
    padding-left: 1rem;
}

.frame-space-after-extra-small,
.ce-tab-pane.tab-pane .frame-background-none {
    padding-bottom: 0;
}

.btn-danger {
  background-color: #BF2940;
  border-color: #BF2940;
}

.btn-danger:hover {
  background-color: #A32336;
  border-color: #A32336;
}

.btn-startpage_1 {
    min-width: 12rem;
    font-weight: 600;
    --bs-btn-color: #ffffff;
    --bs-btn-bg: #0069b4;
    --bs-btn-border-color: #0069b4;
    --bs-btn-hover-color: #ffffff;
    --bs-btn-hover-bg: #005490;
    --bs-btn-hover-border-color: #005490;
    --bs-btn-focus-shadow-rgb: 39, 86, 114;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #005490;
    --bs-btn-active-border-color: #012a43;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #013859;
    --bs-btn-disabled-border-color: #013859;
}

.btn-startpage_2 {
    min-width: 12rem;
    font-weight: 600;
    --bs-btn-color: #000000;
    --bs-btn-bg: #ffffff;
    --bs-btn-border-color: #013859;
    --bs-btn-hover-color: #000000;
    --bs-btn-hover-bg: #cccccc;
    --bs-btn-hover-border-color: #012d47;
    --bs-btn-focus-shadow-rgb: 39, 86, 114;
    --bs-btn-active-color: #ffffff;
    --bs-btn-active-bg: #012d47;
    --bs-btn-active-border-color: #012a43;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #ffffff;
    --bs-btn-disabled-bg: #013859;
    --bs-btn-disabled-border-color: #013859;
}

.pfeilunten,
.pfeiloben {
    background: center bottom/2rem no-repeat;
}

.pfeilunten {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>");
}

.pfeiloben {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'><path fill-rule='evenodd' d='M14.4,11.4c-0.2,0.2-0.5,0.2-0.7,0c0,0,0,0,0,0L8,5.7l-5.6,5.6c-0.2,0.2-0.5,0.2-0.7,0s-0.2-0.5,0-0.7l6-6 c0.2-0.2,0.5-0.2,0.7,0c0,0,0,0,0,0l6,6C14.5,10.8,14.5,11.2,14.4,11.4C14.4,11.4,14.4,11.4,14.4,11.4z'/></svg>");
}

div #ausfahren {
    height: 15rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    -webkit-mask-image: linear-gradient(to bottom,
        rgba(0, 0, 0, 1) 60%,
        rgba(0, 0, 0, 0) 100%);
    -webkit-mask-size: 100% 85%;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: top, bottom;
}

div #einfahren {
    transition: height 2s ease;
    height: auto;
    overflow: auto;
    background-position: right bottom;
}

.Fussnote {
    font-size: 0.8rem;
}

.footer_1 ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

.footer_1 ul li {
    display: inline-block;
}

.footer_1 ul li a {
    text-decoration: none;
    color: #000000 !important;
    font-weight: 600;
}

.footer_1 ul li:not(:last-child):after {
    content: "|";
    font-weight: 600;
    margin: 0 5px;
    color: #000000;
    /* Farbe des Trennzeichens */
}

.frame-space-before-extra-small {
    padding-top: 0rem;
    margin-top: 0rem;
}

.frame-space-after-extra-small {
    padding-bottom: 0;
    margin-bottom: 0;
}

.frame-space-before-small {
    padding-top: 0.5rem;
    margin-top: 0;
}

.frame-space-after-small {
    padding-bottom: 0.5rem;
    margin-bottom: 0;
}

.frame-space-before-medium {
    padding-top: 1rem;
    margin-top: 0;
}

.frame-space-after-medium {
    padding-bottom: 1rem;
    margin-bottom: 0;
}

.frame-space-before-large {
    padding-top: 1.5rem;
    margin-top: 0;
}

.frame-space-after-large {
    padding-bottom: 1.5rem;
    margin-bottom: 0;
}

.frame-space-before-extra-large {
    padding-top: 2rem;
    margin-top: 0;
}

.frame-space-after-extra-large {
    padding-bottom: 2rem;
    margin-bottom: 0;
}

.icon-btn-phone {
    background-image: url("/fileadmin/Startseite/ICON_Telefon.svg");
    /* Pfad zum SVG-Icon */
}

.icon-btn-email {
    background-image: url("/fileadmin/Startseite/ICON_Email.svg");
    /* Pfad zum SVG-Icon */
}

.icon-btn-kontakt {
    background-image: url("/fileadmin/Startseite/ICON_Standort.svg");
    /* Pfad zum SVG-Icon */
}

.icon-btn-ort {
    background-image: url("/fileadmin/Startseite/ICON_Standort.svg");
    /* Pfad zum SVG-Icon */
}

.icon-btn-shop {
    background-image: url("/fileadmin/Startseite/ICON_Shop.svg");
    /* Pfad zum SVG-Icon */
}

.icon-btn-suche {
    background-image: url("/fileadmin/Startseite/ICON_Suche.svg");
    /* Pfad zum SVG-Icon */
}

.icon-btn-youtube {
    background-image: url("/fileadmin/Startseite/ICON_YouTube_rot.svg");
    /* Pfad zum SVG-Icon */
}

/* Standarddefinitionen, die du bereits hast */
.icon-btn-phone,
.icon-btn-email,
.icon-btn-kontakt,
.icon-btn-ort,
.icon-btn-shop,
.icon-btn-suche,
.icon-btn-youtube {
    height: 1.5rem;
    /* Höhe des Buttons anpassen */
    background-size: cover;
    /* SVG-Icon an die Größe des Buttons anpassen */
    background-repeat: no-repeat;
    /* Icon nicht wiederholen */
    border: none;
    /* Rand entfernen */
    cursor: pointer;
    /* Mauszeiger zu einem Zeiger machen */
    opacity: 1;
    transition:
        transform 0.3s ease,
        opacity 0.3s ease;
    /* sanfte Übergänge */
}

/* Hover-Effekt */
.icon-btn-phone:hover,
.icon-btn-email:hover,
.icon-btn-kontakt:hover,
.icon-btn-ort:hover,
.icon-btn-shop:hover,
.icon-btn-suche:hover,
.icon-btn-youtube:hover {
    transform: scale(1.1);
    /* Button wird beim Hovern leicht größer */
    opacity: 0.8;
    /* Icon wird leicht transparenter */
}

/* Optional: Fokus-Effekt für Tastatur-Navigation */
.icon-btn-phone:focus,
.icon-btn-email:focus,
.icon-btn-kontakt:focus,
.icon-btn-ort:focus,
.icon-btn-shop:focus,
.icon-btn-suche:focus,
.icon-btn-youtube:focus {
    outline: 2px solid #0056b3;
    /* Optional: farbiger Rand für Tastatur-Navigation */
    transform: scale(1.1);
    /* Button wird auch bei Fokus-Effekt leicht größer */
    opacity: 0.8;
}

li.nav-item.Sprache-1 {
    margin-bottom: 0;
}

li.nav-item.Sprache-2 {
    margin-bottom: 0.2rem;
}

.breadcrumb-section a {
    text-decoration: none;
}

.btn-startpage_1 {
    min-width: 1rem;
    font-size: 0.97rem;
}

.btn-startpage_2 {
    min-width: 1rem;
    font-size: 0.97rem;
}

.btn-group-vertical ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#c40865 {
    position: sticky;
    top: 60px;
    z-index: 100;
    background-color: white;
    padding-bottom: 25px;
}

.carousel .carousel-content {
    height: inherit;
}

.carousel .carousel-indicators {
    display: none;
}

.carousel .carousel-content-inner {
    height: inherit;
}

.carousel-control {
    display: none;
}

.carousel-small .item {
    height: inherit;
    padding-left: 0px;
    padding-right: 0px;
}

.tx-kesearch-pi1 {}

/* Clearer */
.tx-kesearch-pi1 .clearer {
    display: block;
    height: 1px;
    line-height: 1px;
    clear: both;
}

/* formElements */
.tx-kesearch-pi1 form {
    border: 0 none;
    margin: 0 0 20px 0;
}

.tx-kesearch-pi1 form fieldset {
    margin: 0;
    padding: 0;
}

.tx-kesearch-pi1 .kesearch_searchbox {
    border: none;
}

.tx-kesearch-pi1 input[type="search"],
.tx-kesearch-pi1 select,
.tx-kesearch-pi1 textarea {
    padding: 0.3em 0.3em 0.3em 0.4em;
    background: white;
    border: 1px solid #bbbbbb;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    color: #2b2b2b;
}

.tx-kesearch-pi1 input[type="search"]:focus,
.tx-kesearch-pi1 input[type="search"]:hover,
.tx-kesearch-pi1 select:focus,
.tx-kesearch-pi1 select:hover,
.tx-kesearch-pi1 textarea:focus,
.tx-kesearch-pi1 textarea:hover {
    box-shadow: 0 0 3px #bbbbbb;
    border: 1px solid #b2b2b2;
    color: #000;
}

/* Buttons */
a.kesGreyButt,
span.resetbutt a,
span.submitbutt input,
input.kesGreyButt,
span.kesGreyButt {
    font-size: 1em;
    padding: 5px 10px;
    margin: 0 10px 10px 0;
    display: block;
    cursor: pointer;
    min-width: 70px;
    max-width: 140px;
    -moz-user-select: none;
    background-color: #f5f5f5;
    background-image: -moz-linear-gradient(center top, #f6f6f6, #f0f0f0);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 2px;
    color: #444;
    text-align: center;
    text-decoration: none;
}

/* fix firefox button size (line-height is not working in firefox submit button)*/
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

li.checkboxButtonSubmit span,
span.submitbutt input,
input.kesGreyButt[type="submit"] {
    min-width: 169px;
    max-width: 220px;
}

span.resetbutt {
    float: left;
}

span.resetbutt a:hover,
span.submitbutt input:hover,
input.kesGreyButt:hover,
span.kesGreyButt:hover {
    text-decoration: none;
    cursor: pointer;
    background-color: #f8f8f8;
    background-image: -moz-linear-gradient(center top, #f8f8f8, #f1f1f1);
    border: 1px solid #c6c6c6;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
    color: #222;
}

span.kesGreyButt a {
    text-decoration: none;
    color: #444;
    text-shadow: 0px 1px 0px #ffffff;
}

span.kesGreyButt a:hover {
    text-decoration: none;
    color: #000;
    text-shadow: 0px -1px 0px #ffffff;
}

/* buttFixes */
#kesearch_filters .list li.checkboxButton,
#kesearch_filters .list li.checkboxButtonSubmit {
    text-decoration: none !important;
    padding-bottom: 5px;
}

#kesearch_filters .list li.checkboxButtonSubmit {
    margin-bottom: 1px;
}

#kesearch_filters .list li.checkboxButtonSubmit {
    padding-bottom: 0;
}

/* SearchBox */
div.kesearchbox {
    position: relative;
    height: 35px;
    margin: 0 0 10px 0;
}

#ke_search_sword {
    position: absolute;
    top: 1px;
    width: 100%;
    height: auto;
    padding: 8px 40px 7px 9px;
    margin: 0;
    display: inline;
}

#kesearch_submit {
    position: absolute;
    top: 3px;
    left: 237px;
    height: 28px;
    width: 28px;
    border: 0 none;
    padding: 0;
}

#kesearch_submit:focus,
#kesearch_submit:hover {
    box-shadow: 0 0 0 white;
    border: 0 none;
    cursor: pointer;
}

/* Filters */
#kesearch_filters select {
    margin: 0 0 10px 0;
}

#kesearch_filters .list {
    border: 1px solid #cfcfcf;
    margin-bottom: 10px;
}

#kesearch_filters .list .head {
    display: block;
    border-bottom: 1px solid #cfcfcf;
    padding: 5px;
}

#kesearch_filters .list ul {
    padding: 10px;
    margin: 0;
    list-style-type: none;
}

#kesearch_filters .list ul.expanded {
    display: block;
}

#kesearch_filters .list ul.closed {
    display: none;
}

#kesearch_filters .list li {
    display: block;
    list-style-type: none;
    margin: 0 0 10px 0;
    line-height: 16px;
    color: #444;
}

#kesearch_filters .list li a {
    color: #444;
}

#kesearch_filters .list a.kesGreyButt {
    margin-left: 10px;
}

#kesearch_filters .list li:hover,
#kesearch_filters .list li a:hover {
    text-decoration: none;
    color: #444;
    cursor: pointer;
}

#kesearch_filters .list li.selected {
    font-weight: bold;
}

#kesearch_filters .list li.parent0,
#kesearch_filters .list li.level0 {
    margin-left: 14px;
}

#kesearch_filters .list li.parent1,
#kesearch_filters .list li.level1 {
    margin-left: 21px;
}

#kesearch_filters .list li.parent2,
#kesearch_filters .list li.level2 {
    margin-left: 28px;
}

#kesearch_filters .list li.parent3,
#kesearch_filters .list li.level3 {
    margin-left: 35px;
}

#kesearch_filters .list li.parent0,
#kesearch_filters .list li.parent1,
#kesearch_filters .list li.parent2,
#kesearch_filters .list li.parent3 {
    font-weight: bold;
    list-style-position: outside;
}

/* Checkboxes */
#kesearch_filters .list ul.checkboxList {
    padding-bottom: 1px;
}

#kesearch_filters .list li.optionCheckBox {
    float: left;
    width: 200px;
    text-decoration: none;
    margin-bottom: 4px;
}

#kesearch_filters .list li.optionCheckBox input[type="checkbox"] {
    float: left;
    margin: 0 5px 0 0;
}

#kesearch_filters .list li.clearer {
    font-size: 0;
    line-height: 0;
    float: none;
    margin: 0 !important;
}

#kesearch_filters label {
    display: block;
    font-weight: bold;
    color: #353535;
    margin: 0 0 4px 0;
}

#kesearch_filters .list li.region {
    font-weight: bold;
    margin-top: 5px;
}

#kesearch_filters .list li.noclick {
    cursor: default !important;
}

#kesearch_filters .list li.country {
    margin-left: 7px;
}

/* SPECIAL CSS CLASS */
#kesearch_filters .small {
    display: block;
    height: 65px;
    max-height: 65px;
    overflow-y: auto;
    overflow-x: hidden;
}

#kesearch_filters .larger {
    display: block;
    height: 130px;
    max-height: 130px;
    overflow-y: auto;
    overflow-x: hidden;
}

/* Results */
#kesearch_num_results {
    color: #898989;
    float: left;
}

#kesearch_results .result-list-item {
    clear: both;
    margin: 20px 0 30px 0;
    padding: 0;
}

#kesearch_results .result-list-item .result-number,
#kesearch_results .result-list-item .result-title {
    font-size: 1.2em;
}

#kesearch_results {
    clear: both;
    margin-top: 20px;
}

#kesearch_results .result-list-item .result-teaser {
    color: #707070;
}

.tx-kesearch-pi1 #kesearch_results .result-list-item-type-page {}

.tx-kesearch-pi1 #kesearch_results .teaser_icon img {
    float: left;
    margin-top: 2px;
    margin-right: 5px;
}

.tx-kesearch-pi1 #kesearch_results .result-list-item .hit {
    color: #bf2940;
    font-weight: bold;
}

.frame a[class=""],
.frame a:not([class]) {
    color: #bf2940;
}

.tx-kesearch-pi1 #kesearch_results .result-list-item .add-info {}

.tx-kesearch-pi1 #kesearch_results .result-list-item .scoreBar {
    border: 1px solid #d3d3d3;
    display: block;
    float: right;
    height: 10px;
    width: 48px;
}

.tx-kesearch-pi1 #kesearch_results .result-list-item .scoreBar .score {
    background-color: #d3d3d3;
    border: 1px solid #898989;
    display: block;
    height: 10px;
    margin: -1px 0 0 -1px;
}

/* Query time */
.tx-kesearch-pi1 #kesearch_query_time {
    font-style: italic;
    text-align: center;
    font-size: 80%;
}

/* Searchbox */
.tx-kesearch-pi1 .searchbox {
    margin-bottom: 5px;
}

.tx-kesearch-pi1 .searchbox input {
    margin-left: 0;
    width: 145px;
}

.tx-kesearch-pi1 .searchbox input.submit {
    width: 18px;
    height: 18px;
    border: none;
    background: none;
    vertical-align: middle;
}

.tx-kesearch-pi1 form.static .searchbox input.submit {
    margin-top: -16px;
}

.tx-kesearch-pi1 form.ajax .searchbox input.submit {
    margin-top: -4px;
}

.tx-kesearch-pi1 .searchbox .search_input {
    float: left;
    margin-right: 5px;
}

/* General Message */
.tx-kesearch-pi1 .general-message {
    padding: 5px;
}

.tx-kesearch-pi1 .general-message .image {
    float: left;
    vertical-align: middle;
    margin-right: 10px;
}

/* Pagebrowser */
.kesearch_pagebrowser ul {
    display: inline;
    margin: 0;
    padding: 0;
    -webkit-margin-before: 0;
    -webkit-margin-after: 0;
    -webkit-margin-start: 0;
    -webkit-margin-end: 0;
    -webkit-padding-start: 0;
}

.kesearch_pagebrowser ul li {
    list-style-type: none;
    display: inline;
    margin: 0;
}

#kesearch_pagebrowser_top,
#kesearch_pagebrowser_bottom {
    text-align: center;
    word-wrap: break-word;
    color: #707070;
}

#kesearch_pagebrowser_top .pages_total,
#kesearch_pagebrowser_bottom .pages_total {
    padding: 8px 0;
    background: #fff;
    margin-bottom: 15px;
}

#kesearch_pagebrowser_top .pages_total {
    border-bottom: 1px solid #cccccc;
}

#kesearch_pagebrowser_bottom .pages_total {
    border-top: 1px solid #cccccc;
}

#kesearch_pagebrowser_top div.result_txt,
#kesearch_pagebrowser_bottom div.result_txt {
    margin: 0 0 5px 0;
}

#kesearch_pagebrowser_top .kesearch_pagebrowser,
#kesearch_pagebrowser_bottom .kesearch_pagebrowser {
    margin: 0 auto 0;
}

#kesearch_pagebrowser_top a,
#kesearch_pagebrowser_bottom a {
    padding: 3px;
}

#kesearch_pagebrowser_top a:hover,
#kesearch_pagebrowser_bottom a:hover {
    cursor: pointer;
}

#kesearch_pagebrowser_top a.current,
#kesearch_pagebrowser_bottom a.current {
    font-weight: bold;
    color: #000;
    text-decoration: none;
}

#kesearch_pagebrowser_top .browser,
#kesearch_pagebrowser_bottom .browser {
    border: 1px solid;
}

/* Ordering */
.tx-kesearch-pi1 #kesearch_ordering span.down {
    display: inline-block;
    width: 0;
    height: 0;
    border-color: #ff0000 transparent;
    border-style: solid solid none;
    border-width: 4px 4px 0;
}

.tx-kesearch-pi1 #kesearch_ordering span.up {
    display: inline-block;
    width: 0;
    height: 0;
    border-color: transparent transparent #ff0000;
    border-style: none solid solid;
    border-width: 0 4px 4px;
}

.tx-kesearch-pi1 #kesearch_ordering div.ordering {
    float: right;
    max-width: 300px;
}

.tx-kesearch-pi1 #kesearch_ordering ul {
    display: inline-block;
    height: 20px;
    list-style-type: none;
    margin: 0 0 10px;
    padding: 0;
}

.tx-kesearch-pi1 #kesearch_ordering ul li {
    float: left;
    margin-right: 10px;
}

.tx-kesearch-pi1 #kesearch_ordering div.clearer {
    clear: left;
}

.cglayout-12 .card-startseite h2.card-title {
    font-weight: 400;
}

/* needed for autocomplete */
ul.ui-autocomplete li a {
    font-size: 12px;
}

.navbar-brand {
    width: 210px;
    /* Breite des <a>-Tags */
    display: inline-block;
}

.navbar-brand img {
    max-width: 100%;
    /* Bild passt sich der Breite des Containers an */
    height: auto;
    /* Höhe bleibt proportional */
}


/* News CSS */

.news-list-view .card {
    border-width: 0;
}

.news-list-view .card a {
    text-decoration: none;
}

.news-list-view ul.f3-widget-paginator {
    padding-top: 2rem;
}

.news-list-view article.card {
    padding-bottom: 2rem;
}

.news.news-single .btn.btn-primary.mb-3 {
    margin-top: 2rem;
}

/* X-Small devices (portrait phones, less than 576px)
// No media query for `xs` since this is the default in Bootstrap */

.card-group-element-columns-4.cglayout-9 {
    --cardgroup-columns: 2;
}

.card-group-element-columns-4.cglayout-4 {
    --cardgroup-columns: 1;
}

.card-group-element-columns-4.cglayout-12 {
    --cardgroup-columns: 2;
}

.cglayout-12 .card-startseite h2.card-title {
    font-size: 0.925rem;
}

.ce-slider h2 a {
    text-decoration: none;
    color: #212121 !important;
    font-size: 1.225rem;
}

.swiper-button-next,
.swiper-button-prev {
    color: #212121 !important;
}

.swiper-button-next::after,
.swiper-button-prev::after {
    font-size: 1.75rem !important;
}


.swiper-pagination-bullet-active {
    background: #bf2940 !important;
}


.accordion-button:not(.collapsed) {
    color: #ffffff;
    background-color: rgba(191, 41, 64, 1);
    ;
}

.accordion {
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

@media (max-width: 576px) {
    .cglayout-12 .card-group-element-item .card-body {
        position: relative;
        bottom: 0;
        left: 0;
        background-color: #ffffff;
        padding: 5px 10px;
    }

    .cglayout-12 .card-startseite h2.card-title {
        font-weight: 400;
    }

    .cglayout-12 .card-group-element-item .card-title {
        margin: 0;
        color: #212121;
        text-align: left;
    }

    .ce-slider h2 a {
        font-size: 0.75rem;
    }

    .ce-slider .frame-header {
        margin-bottom: 0.5rem;
    }

    .swiper-horizontal>.swiper-pagination-bullets,
    .swiper-pagination-bullets.swiper-pagination-horizontal,
    .swiper-pagination-custom,
    .swiper-pagination-fraction {
        bottom: var(--swiper-pagination-bottom, 0px) !important;
    }

    .ce-slider .frame-container {
        --bs-gutter-x: 15px;
    }


}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
    .card-menu-columns-2 {
        --cardmenu-columns: 2 !important;
    }

    .card-menu-columns-4 {
        --cardmenu-columns: 2 !important;
    }

    .btn-startpage_1 {
        min-width: 4rem;
    }

    .btn-startpage_2 {
        min-width: 4rem;
    }

    #nav-item-1644 span {
        background-color: rgba(191, 41, 64, 1);
        padding-left: 5px;
        padding-right: 5px;
    }

    .carousel-small .item {
        height: inherit;
    }

    .cglayout-12 .card-startseite h2.card-title {
        font-size: 1.225rem;
    }

}


/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    .card-menu-columns-3 {
        --cardmenu-columns: 2 !important;
    }

    .card-menu-columns-4 {
        --cardmenu-columns: 2 !important;
    }

    .btn-startpage_1 {
        min-width: 6rem;
    }

    .btn-startpage_2 {
        min-width: 6rem;
    }

    .carousel-small .item {
        height: inherit;
    }

    .card-group-element-columns-3 {
        --cardgroup-columns: 2;
    }

    .card-group-element-columns-4.cglayout-4 {
        --cardgroup-columns: 2;
    }

    .card-group-element-columns-4 .cglayout-12 {
        --cardgroup-columns: 4;
    }

    .cglayout-12 .card-group-element-item .card-body {
        position: relative !important;
        padding: .5rem 0rem 0rem 0rem !important;
        background-color: inherit;
    }

    .cglayout-12 .card-group-element-item .card-title {
        margin: 0 !important;
        color: black !important;
        text-align: left !important;
    }

    .navbar-brand {
        width: 280px;
        /* Breite des <a>-Tags */
    }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    #mainnavigation .nav-link {
        font-size: 0.87rem;
        padding: var(--bs-nav-link-padding-y) 0.15rem;
    }

    #nav-item-1644 span {
        background-color: rgba(191, 41, 64, 1);
        color: #ffffff;
        padding-left: 3px;
        padding-right: 3px;
    }

    #mainnavigation .nav-link .nav-link-toggle {}

    #mainnavigation .nav-langm a.nav-link {
        text-transform: uppercase;
        padding-left: 0rem;
        padding-right: 0rem;
    }

    #mainnavigation .dropdown-menu-mega a.nav-link {
        padding-left: 1rem;
    }

    .navbar-default-transition:not(.navbar-transition),
    .navbar-inverse-transition:not(.navbar-transition) {
        background: #ebebeb !important;
        background: -webkit-gradient(linear,
            left top,
            left bottom,
            from(rgba(0, 0, 0, 0.7)),
            to(rgba(10, 10, 10, 0))) !important;
        background: -moz-linear-gradient(top,
            rgba(0, 0, 0, 0.7),
            rgba(10, 10, 10, 0)) !important;
        background: linear-gradient(to bottom,
            rgba(0, 0, 0, 0.7),
            rgba(10, 10, 10, 0)) !important;
    }

    .btn-startpage_1 {
        min-width: 10rem;
    }

    .btn-startpage_2 {
        min-width: 10rem;
    }

    /*
#mainnavigation li.nav-item:nth-child(5) {
    display: none;
}
*/

    #mainnavigation li.Sprache-1 {
        padding-left: 1rem !important;
    }

    .nav-langm {
        display: none !important;
    }

    .footer_1 ul {
        text-align: right;
    }

    .btn-group-vertical {
        transform: scale(1) !important;
    }

    .carousel-small .item {
        height: inherit;
    }

    .card-group-element-columns-4.cglayout-7 {
        --cardgroup-columns: 3;
    }

    .card-group-element-columns-4.cglayout-9 {
        --cardgroup-columns: 4;
    }

    .card-group-element-columns-4.cglayout-12 {
        --cardgroup-columns: 3;
    }

    .card-group-element-columns-4.cglayout-4 {
        --cardgroup-columns: 3;
    }

    .card-group-element-columns-3 {
        --cardgroup-columns: 3;
    }

    /*.navbar-nav > li:nth-child(6), */
    .navbar-nav>li:nth-child(7) {
        display: none;
    }

    .navbar-brand {
        width: 280px;
        /* Breite des <a>-Tags */
    }
}

/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .card-menu-columns-4 {
        --cardmenu-columns: 1 !important;
    }

    .card-group-element-columns-4.cglayout-12 {
        --cardgroup-columns: 4;
    }

    #mainnavigation .nav-link {
        font-size: 1.125rem;
    }

    #mainnavigation li.nav-item:nth-child(5) {
        display: flex;
    }

    #mainnavigation li.Sprache-1 {
        padding-left: 2rem !important;
    }

    .nav-langm {
        display: none !important;
    }

    #nav-item-1644 span {
        background-color: rgba(191, 41, 64, 1);
        padding-left: 5px;
        padding-right: 5px;
    }

    .btn-group-vertical {
        transform: scale(1.2) !important;
    }

    .btn-startpage_1 {
        min-width: 12rem;
    }

    .btn-startpage_2 {
        min-width: 12rem;
    }

    .carousel-small .item {
        height: inherit;
    }

    .card-group-element-columns-4.cglayout-4 {
        --cardgroup-columns: 4;
    }
}

/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
    #mainnavigation li.Sprache-1 {
        padding-left: 3rem !important;
    }

    .nav-langm {
        display: none !important;
    }

    .btn-group-vertical {
        transform: scale(1.25) !important;
    }

    .carousel-small .item {
        height: inherit;
    }

    .navbar-brand {
        width: 360px;
        /* Breite des <a>-Tags */
    }

}


/* ------------------------------------------
   Text/Bild mit .textpic-md-two-col
   < 992px = 1-spaltig (mit Abstand),
   >= 992px = 2-spaltig (Grid 50/50)
   ------------------------------------------ */

/* Handy + Tablet: einspaltig, Bild oben, Text unten mit Abstand */
@media (max-width: 991.98px) {
  .frame.frame-textpic-md-two-col .textpic {
    display: block !important;
  }

  .frame.frame-textpic-md-two-col .textpic-item {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }

  /* Abstand Überschrift/Text vom Bild, wenn alles untereinander ist */
  .frame.frame-textpic-md-two-col .textpic-item.textpic-text {
    margin-top: 1.5rem !important;
  }
}

/* Desktop: zweispaltig (50/50), Bild + Text nebeneinander */
@media (min-width: 992px) {
  .frame.frame-textpic-md-two-col .textpic {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 2rem;
    align-items: start;
  }

  .frame.frame-textpic-md-two-col .textpic-item {
    width: auto !important;
    max-width: none !important;
    float: none !important;
  }

  /* Sicherheit: keinen extra Abstand oben beim Text, wenn nebeneinander */
  .frame.frame-textpic-md-two-col .textpic-item.textpic-text {
    margin-top: 0 !important;
  }
}

/* Startseiten-Highlights: Text an den Bildkanten ausrichten. */
@media (max-width: 767.98px) {
    .pagelevel-0 .cglayout-12 .card-startseite .card-body {
        padding: 0.5rem 0 0;
    }

    .pagelevel-0 .cglayout-12 .card-startseite h2.card-title {
        font-size: 1.125rem;
        line-height: 1.25;
        margin-bottom: 0.375rem;
    }
}

/* Magazin: H2-Semantik bei unveränderter Gestaltung der Artikeltitel. */
.news-list-view h2.card-title { font-weight: 400; }

/* Footer: spacing is controlled on the two-column element in Appearance. */
#c36920, #c40490 { padding-bottom: 0; }
#c36919, #c40494 { padding-bottom: 0; }
#c43654, #c43655 { padding-block: 0; margin-block: 0; }
.footer_1 #c36917, .footer_1 #c40493,
.footer_1 #c36918, .footer_1 #c40492,
.footer_1 #c44757, .footer_1 #c44762,
.footer_1 #c47072, .footer_1 #c47073 {
    padding-block: 0;
    margin-block: 0;
}
.footer_1.frame-space-before-extra-large { padding-top: 2.5rem; }
.footer_1.frame-space-after-extra-large { padding-bottom: 5rem; }

/* Let the main Slick image fill the available column; keep the thumbnail strip unchanged. */
.slick-slider.slickdefault:not(.slick-sync) .slick-slide picture img {
    width: 100%;
    height: auto;
}
