@charset "utf-8";
/* CSS Document

font-family: "havelock-titling-variable", sans-serif;
font-variation-settings: "wght" 300;
font-family: "din-2014", sans-serif;

*/

@import url("https://use.typekit.net/lzg5spx.css");

:root {
    --frame-link-color: #2D2D2B;
    --frame-link-hover-color: #2D2D2B;
    --bs-secondary: #2D2D2B;
    --bs-secondary-rgb: 231, 111, 81;
}


.frame-background-primary {
    --frame-color: #2D2D2B;
    --frame-background: #F5F4EF;
    --frame-link-color: #2D2D2B;
    --frame-link-hover-color: #2D2D2B;
}

.frame-background-dark {
    --frame-color: #ffffff;
    --frame-background: #000000;
    --frame-link-color: #FFFFFF;
    --frame-link-hover-color: #FFFFFF;
}

.frame-background-secondary {
    --frame-color: #ffffff;
    --frame-background: #2D2D2B;
    --frame-link-color: #ffffff;
    --frame-link-hover-color: #ffffff;
}


article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
    display: block;
}

audio, canvas, video {
    display: inline-block;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden] {
    display: none;
}

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

a:focus {
    outline: thin dotted;
}

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

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

abbr[title] {
    border-bottom: 1px dotted;
}

b, strong {
    font-weight: bold;
}

dfn {
    font-style: italic;
}

hr {
    -moz-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
}

mark {
    background: #ff0;
    color: #000;
}

code, kbd, pre, samp {
    font-family: monospace, serif;
    font-size: 1em;
}

pre {
    white-space: pre-wrap;
}

q {
    quotes: "\201C" "\201D" "\2018" "\2019";
}

small {
    font-size: 80%;
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border: 0;
}

svg:not(:root) {
    overflow: hidden;
}

figure {
    margin: 0;
}

fieldset {
    border: 0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

legend {
    border: 0;
    padding: 0;
}

button, input, select, textarea {
    font-family: inherit;
    font-size: 100%;
    margin: 0;
}

button, input {
    line-height: normal;
}

button, select {
    text-transform: none;
}

button, html input[type="button"], input[type="reset"], input[type="submit"] {
    -webkit-appearance: button;
    cursor: pointer;
}

button[disabled], html input[disabled] {
    cursor: default;
}

input[type="checkbox"], input[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

input[type="search"] {
    -webkit-appearance: textfield;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

button::-moz-focus-inner, input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
    vertical-align: top;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

* {
    margin: 0;
    padding: 0;
    border: 0;
}

input, textarea, select {
    border-radius: 2px;
    -webkit-border-radius: 2px;
}

* {
    -webkit-tap-highlight-color: transparent;
}

::selection {
    background: #CCCCCC;
    color: #FFFFFF;
}

::-moz-selection {
    background: #CCCCCC;
    color: #FFFFFF;
}

html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    font-weight: 300;
    line-height: 26px;
}

div#wrap {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    text-align: center;
}

/*#headerVideo {
	width: 100%;
	height: 60vh; !* volle Höhe des Viewports *!
	object-fit: cover; !* Video füllt den Container, ohne Verzerrung *!
}

!* Optional: Body & HTML auf 100% setzen *!
html, body {
	margin: 0;
	padding: 0;
	height: 100%;
}

@media screen and (min-width: 768px){
	#headerVideo {
		width: 100%;
		height: 100vh; !* volle Höhe des Viewports *!
		object-fit: cover; !* Video füllt den Container, ohne Verzerrung *!
	}

	!* Optional: Body & HTML auf 100% setzen *!
	html, body {
		margin: 0;
		padding: 0;
		height: 100%;
	}
}*/

/* sprache */
div#sprache {
    position: fixed;
    display: none;
    margin: 0;
    padding: 20px 0 0 0;
    right: 0;
    top: 0;
    z-index: 20;
    transition: 1s ease-in-out;
}

div#sprache .menu-language a {
    color: white;
    font-size: 16px;
    font-weight: 700;
    padding: 5px 5px 5px 5px;
    text-decoration: none;
    text-transform: unset;
    letter-spacing: 0;
    display: inline;
    transition: 0.2s ease-in-out;
}

@media screen and (min-width: 768px) {
    div#sprache {
        right: 10px;
    }

    div#sprache .menu-language a {
        font-size: 18px;
    }
}

@media screen and (min-width: 992px) {
    div#sprache {
        right: 100px;
        display: block;
        padding-top: 40px;
    }
}

@media screen and (min-width: 1200px) {
    div#sprache {
        right: 140px;
    }
}

main, #main {
    position: relative;
    width: 100%;
    float: left;
    z-index: 0;
}

.frame-type-html .frame-container {
    padding-right: 20px;
    padding-left: 20px;
    max-width: 100%;
}

.frame-type-text .frame-container {
    padding-right: 20px;
    padding-left: 20px;
    max-width: 100%;
}

.frame-type-textcolumn .frame-container {
    padding-right: 20px;
    padding-left: 20px;
    max-width: 100%;
}

.frame-type-accordion .frame-container {
    padding-right: 20px;
    padding-left: 20px;
    max-width: 100%;
}


@media (min-width: 768px) {
    .frame-type-html .frame-container {
        width: 100%;
        max-width: calc((100% - 80px) / 4 * 4);
        padding: 0;
    }

    .frame-type-text .frame-container {
        width: 100%;
        padding: 0 20px;
    }

    .frame-type-textcolumn .frame-container {
        width: 100%;
        padding: 0 20px;
    }
}

@media (min-width: 992px) {
    .frame-type-html .frame-container {
        width: 100%;
        max-width: calc((100% - 60px) / 8 * 6);
        padding: 0;
    }

    .frame-type-text .frame-container {
        width: 100%;
        max-width: calc((100% - 60px) / 8 * 6);
        padding: 0;
    }

    .frame-type-textcolumn .frame-container {
        width: 100%;
        max-width: calc((100% - 60px) / 8 * 6);
        padding: 0;
    }

    .frame-type-accordion .frame-container {
        width: 100%;
        padding: 0;
        max-width: calc((100% - 42px) / 6 * 6);
    }
}

@media (min-width: 1600px) {
    .frame-type-html .frame-container {
        width: 100%;
        max-width: calc((100% - 42px) / 12 * 12);
        padding: 0;
    }

    .frame-type-text .frame-container {
        width: 100%;
        max-width: calc((100% - 60px) / 8 * 6);
        padding: 0;
    }

    .frame-type-textcolumn .frame-container {
        width: 100%;
        max-width: calc((100% - 60px) / 8 * 6);
        padding: 0;
    }

    .frame-type-accordion .frame-container {
        width: 100%;
        max-width: calc((100% - 42px) / 12 * 8);
        padding: 0;
    }
}

@media (min-width: 1900px) {
    .frame-type-text .frame-container {
        width: 100%;
        max-width: calc((100% - 42px) / 12 * 8);
        padding: 0;
        padding-right: calc((100% - 42px) / 12 * 2);
    }

}

@media (min-width: 2200px) {
    .frame-type-html .frame-container {
        width: 100%;
        max-width: calc((100% - 480px) / 12 * 12);
        padding: 0;
    }
}


h1, p.h1 {
    position: relative;
    line-height: 36px;
    letter-spacing: 1px;
    font-weight: 700;
    padding: 0 0 15px 0;
    margin-bottom: 20px;
    font-size: 30px;
}

.frame-type-gridelements_pi1 h1 {
    padding-bottom: 0;
}

h2, p.h2 {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
    font-weight: 600;
    padding: 0 0 15px 0;
    margin-bottom: 30px;
}

h2.element-header {
    padding: 0;
}

h3, p.h3 {
    font-size: 20px;
    color: #A79C84;
    margin-bottom: 1rem;
}

h4, p.h4 {
    font-weight: 400;
    font-size: 28px;
    text-transform: uppercase;
    margin-top: 0;
    letter-spacing: 1px;
    padding-bottom: 0;
}

p {
    font-weight: 300;
    line-height: 24px;
    font-size: 0.9em;
}

p.two-columns {
    column-count: 1;
    column-gap: 2rem; /* Abstand zwischen den Spalten */
}

p.three-columns {
    column-count: 3;
    column-gap: 1.5rem;
}

ul {
    font-weight: 400;
    line-height: 26px;
    font-size: 0.8em;
}

p.bigfont {
    text-align: right;
    text-transform: lowercase;
    font-size: 50px;
    line-height: 50px;
    font-style: italic;
    font-family: monarcha, sans-serif;
    font-weight: 500;
}

.frame-type-text p {
    margin-bottom: 20px;
}

.text-rotdin2014 {
    color: #A79C84;
    font-family: "din-2014", sans-serif;
    text-decoration: none;
}

ul.list-normal li {
    list-style: none;
    background-image: url("/fileadmin/user_upload/Icon/list.svg");
    background-repeat: no-repeat;
    background-position: left 12px;
    padding-left: 15px;
    background-size: 6px 6px;
}

ol, ul {
    padding-left: 0rem;
}


@media (min-width: 768px) {
    p {
        font-size: 16px;
        line-height: 24px;
        font-weight: 300;
    }

    li {
        font-size: 16px;
        line-height: 24px;
        font-weight: 300;
    }

    ul {
        font-size: 16px;
        font-weight: 300;
    }

    ol {
        font-size: 16px;
        font-weight: 300;
    }

    p.two-columns {
        column-count: 2;
        column-gap: 2rem; /* Abstand zwischen den Spalten */
    }
}

@media screen and (min-width: 992px) {
    h1 {
        font-size: 30px;
        line-height: 36px;
    }

    h2, p.h2 {
        font-size: 20px;
        line-height: 31px;
        padding: 0;
        margin-bottom: 45px;
    }

    h3, p.h3 {
        color: #A79C84;
        font-size: 24px
    }

    p {
        font-size: 20px;
        line-height: 31px;
    }

    li {
        font-size: 20px;
        line-height: 31px;
    }

}


td {
    font-weight: 500;
    line-height: 26px;
    font-size: 0.8em;
    margin-bottom: 0;
}

a {
    text-decoration: none;
}

hr {
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 2px solid;
    display: block;
    height: 25px;
    border-color: #CABEB4;
}


.frame-type-div hr {
    margin-top: 20px;
    margin-bottom: 20px;
    border: 0;
    border-top: 2px solid;
    display: block;
    height: 25px;
    border-color: #CABEB4;
}

a.internal-link, a.mail, a.download {
    padding: 0 5px;
    text-transform: uppercase;
    display: inline-block;
    cursor: pointer;
    outline: 0;
    text-decoration: none;
    text-shadow: none !important;
    text-align: center;
    width: 50%;
    position: relative;
    margin: 24px 25%;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    -moz-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -moz-transform: translateZ(0);
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
}

a.link, a.internal_link {
    text-decoration: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    -moz-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -moz-transform: translateZ(0);
    -webkit-transform: translateZ(0);
    transform: translateZ(0);

}

a.external-link-new-window {
    text-decoration: none;
    color: #2D2D2B;
    font-weight: bold;
}

a.internal-link:hover, a.link:hover, a.internal_link:hover {
}

a[href^="tel:"] {
    text-decoration: none;
}


.gray {
    display: inline-block;
    filter: grayscale(100%)
}

.gray:hover {
    filter: grayscale(0)
}

.frame-container .btn-default {
    color: white;
    border: 0;
    border-bottom: 2px solid white;
    border-top: 2px solid white;
    font-family: "havelock-titling-variable", sans-serif;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 15px;
    padding: 0;
    line-height: 40px;
    box-shadow: none;
    letter-spacing: 1px;
    border-radius: 0;
    display: unset;
    padding-bottom: 10px;
    padding-right: 40px;
    background: transparent url("/fileadmin/user_upload/Icon/button_default.svg") no-repeat center right;
    transition: all 0.4s ease;
    text-decoration: none;
}

.frame-container .btn-default:hover {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    opacity: 1;
    background-color: transparent;
    padding-left: 15px;
}


.frame-container .btn-primary {
    padding: 10px 5px;
    border: 0 solid #2D2D2B;
    border-radius: 0;
    margin-bottom: 10px;
    min-width: 90px;
    font-family: 'din-2014', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #F0EFE6;
    background-color: #A79C84;
    box-shadow: none;
}


.frame-container .btn-primary:focus, .frame-container .btn-primary.focus {
    color: #2D2D2B;
    background-color: transparent;
}

.frame-container .btn-primary.disabled, .frame-container .btn-primary:disabled {
    color: #2D2D2B;
    background-color: transparent;
}

.frame-container .btn-primary:not(:disabled):not(.disabled):active, .frame-container .btn-primary:not(:disabled):not(.disabled).active,
.frame-container .btn-primary:hover {
    color: white;
    background-color: rgba(167, 156, 132, 0.8);
    opacity: 1;
}


@media (min-width: 992px) {
    .frame-container .btn-primary {
        padding: 10px 30px;
        border-radius: 0;
        min-width: 150px;
        font-size: 20px;
    }
}


/*image Anpassungen */
.gallery-item.gallery-item-size-1 img {
    width: auto;
    height: auto;
    max-height: 800px;
    max-width: 100%;
    opacity: 1;
}

.gallery-item.gallery-item-size-2 {
    padding-bottom: 14px;
}

.gallery-item.gallery-item-size-2 img {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transition: 0.9s ease-in-out;
    transition: 0.9s ease-in-out;
}

.gallery-item.gallery-item-size-2 img:hover {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}


/*ZimmerSlider und Angebotslider*/
.owl-carousel .owl-stage-outer {
    z-index: 1;
    margin: 0 10px;
}

.owl-carousel .owl-item {
    padding: 0;
}

.owl-carousel .owl-item img {
    display: block;
    width: 100%;
    height: auto;
    opacity: 0.7;
    background-color: black;
}

.owl-carousel .owl-nav {
    width: 100%;
    position: absolute;
    left: 0;
    top: 40%;
    display: none;
    justify-content: space-between;
    z-index: 0;
}

.owl-carousel .nav-btn {
    width: 10px;
    height: 18px;
    cursor: pointer;
    top: 0 !important;
}

.owl-carousel .owl-prev.disabled, .owl-carousel .owl-next.disabled {
    pointer-events: none;
    opacity: 0.2;
}

.owl-carousel .prev-slide {
    background: url("/fileadmin/user_upload/Icon/arrow-o-prev.svg") no-repeat scroll 0 0;
    background-size: 10px 18px;
    right: 0;
    margin: 10px 0;
}

.owl-carousel .next-slide {
    background: url("/fileadmin/user_upload/Icon/arrow-o-next.svg") no-repeat scroll 0 0;
    background-size: 10px 18px;
    right: 0;
    margin: 10px 0;
}

/* punkte ausgeblendet
.carousel-indicators {	display: none;} */

/* Kreisform für die Punkte */
.owl-theme .owl-dots .owl-dot span {
    background: #2D2D2B;
    display: block;
}

.owl-theme .owl-nav [class*=owl-]:hover {
    background: transparent;
    color: #FFF;
    text-decoration: none;
}

@media screen and (min-width: 768px) {
    .owl-carousel .owl-nav {
        display: flex;
    }

    .owl-carousel .nav-btn {
        width: 20px;
        height: 35px;
        cursor: pointer;
        top: 0 !important;
    }

    .owl-carousel .prev-slide {
        background-size: 20px 35px;
    }

    .owl-carousel .next-slide {
        background-size: 20px 35px;
    }

    .owl-carousel .owl-item {
        padding: 20px 0;
    }
}

@media screen and (min-width: 992px) {
    .owl-carousel .owl-stage-outer {
        z-index: 1;
        margin: 0 0;
    }

    .owl-carousel .owl-item {
        padding: 0 0;
    }
}

@media screen and (min-width: 1600px) {
    .owl-carousel .owl-stage-outer {
        z-index: 1;
        margin: 0 0;
    }

    .owl-carousel .owl-item {
        padding: 0 0;
    }
}


/*Frame-type-accordion*/


.accordion-item h3 {
    color: #2D2D2B;
}

.accordion-item:first-of-type {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.accordion-item:first-of-type .accordion-button {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    color: #2D2D2B;
}

.accordion-button:not(.collapsed) {
    color: #2D2D2B;
    background-color: transparent;
    box-shadow: inset 0 calc(-1 * 1px) 0 #2D2D2B;
}

.accordion-item {
    color: #2D2D2B;
    background-color: transparent;
    border-bottom: 1px solid #2D2D2B;
    border-left: 0;
    border-right: 0;
    border-top: 0;
}

.accordion-button {
    font-size: 20px;
    color: #2D2D2B;
    text-align: left;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0;
    background-color: transparent;
    padding: 10px 0;
}

.accordion-item:last-of-type {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.accordion-item:last-of-type .accordion-button.collapsed {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.frame-type-accordion .accordion-content-text ul {
    padding-left: 0;
}

.accordion-button:not(.collapsed)::after {
    background-image: url("/fileadmin/user_upload/Icon/arrow-up.svg");
}

.accordion-button::after {
    background-image: url("/fileadmin/user_upload/Icon/arrow-up.svg");
}

.accordion-body {
    padding-right: 0;
    padding-left: 0;
}


/* Erweiterung News Slider mit Verlinkung auf Detailseite*/

.frame-type-news_pi1 .frame-container {
    max-width: 100%;
    padding: 0;
    margin-right: 0;
    --bs-gutter-x: 0;
}

.frame-type-news_pi1.frame-layout-embedded .frame-group-container {
    max-width: 100%;
    padding: 0;
    margin-right: 0;
    --bs-gutter-x: 0;
}

.frame-type-news_pi1.frame-layout-embedded .frame-group-container .frame-group-inner {
    padding: 0 20px;
}

.frame-type-news_pi1.frame-layout-embedded .frame-group-container .frame-group-inner h2.element-header {
    font-size: 24px;
    font-weight: bold;
    border-bottom: 3px solid #2D2D2B;
    padding-bottom: 20px;
}

.frame-type-news_pi1.frame-layout-embedded .frame-group-container .frame-group-inner .item h1 {
    font-size: 16px;
    line-height: 22px;
    padding: 0;
    margin: 0;
    text-align: center;
}

.frame-type-news_pi1 .owl-carousel .owl-item {
    padding: 0;
}

.frame-type-news_pi1 .owl-carousel .owl-stage-outer {
    margin: 0;
}

.frame-type-news_pi1 .frame-container .slide-bg {
    width: 100%;
    height: 600px; /* fixe Höhe oder z. B. 100vh */
    background-size: cover; /* füllt den Bereich, cropped überstehendes */
    background-position: center; /* zentriert den Crop */
    display: flex; /* für zentrierten Text */
    align-items: center; /* vertikal mittig */
    justify-content: center; /* horizontal mittig */
    position: relative;
}


.frame-type-news_pi1 .frame-container .imagebuttonverlinkungimageover {
    position: absolute;
    top: 0;
    height: 100%;
    display: flex;
    margin-left: 0;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    width: calc((100% - 42px) / 4 * 4);
}

.frame-type-news_pi1 .frame-container .imagebuttonverlinkungimageover h1 {
    font-size: 15px;
    color: white;
    border-top: 3px solid white;
    padding-top: 10px;
    margin-bottom: 0;
    padding-bottom: 10px;
    text-align: left;
    width: 100%;
}

.frame-type-news_pi1 .frame-container .imagebuttonverlinkungimageover h1:last-child {
    border-bottom: 3px solid white;
}


/*Pfeile und Counter*/

.slider-controls {
    width: calc(100% - 42px);
    position: absolute;
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: grid;
    align-items: center;
    justify-content: end;
}

.frame-type-news_pi1.frame-layout-embedded .slider-controls {
    width: 100%;
    left: 0;
    transform: translateX(0);
    justify-content: unset;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    bottom: 20px;
}

/* Linke Seite: Counter + Dots */
.slider-controls .left {
    display: none;
    align-items: center;
    gap: 12px;
    justify-self: start;
}

/* Counter */
.slider-controls .counter {
    font-weight: bold;
    min-width: 40px;
    text-align: center;
    color: white;
    display: none;
}

/* Dots */
.slider-controls .dots {
    display: flex;
    gap: 20px;
    display: none;
}

.slider-controls .dots .owl-dot {
    display: block;
    width: 16px;
    height: 16px;
    border: 2px solid white;
    background-color: rgba(255, 255, 255, 0);
    border-radius: 0;
}

.slider-controls .dots .owl-dot.active {
    background-color: rgba(255, 255, 255, 1);
}

/* Pfeile */
.slider-controls .arrows {
    display: flex;
    gap: 75px;
    justify-self: center;
}

.frame-type-news_pi1.frame-layout-embedded .slider-controls .arrows {
    width: 100%;
    justify-content: space-between;
}


.slider-controls .arrows span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 15px;
    height: 31px;
    border: none;
    cursor: pointer;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.slider-controls .arrows .prev {
    background: url("/fileadmin/user_upload/Icon/arrow-o-prev.svg");
    background-size: 15px 31px;
    transition: all 0.4s ease;
}

.slider-controls .arrows .next {
    background: url("/fileadmin/user_upload/Icon/arrow-o-next.svg");
    background-size: 15px 31px;
    transition: all 0.4s ease;
}

.slider-controls .arrows .prev::before,
.slider-controls .arrows .next::before {
    content: none;
}

.slider-controls .arrows span {
    font-size: 0; /* Zeichen verschwinden */
}

.slider-controls .right {
    justify-self: end;
    display: none;
}

/* Link „alle Referenzen“ */
.slider-controls .all-references a {
    font-weight: 500;
}

/* Link „alle Referenzen Mobil“ */
.bottom-all-references {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
}

.bottom-all-references div {
    width: calc((100% - 42px) / 4 * 4);
    text-align: left;
    border-top: 2px solid #2D2D2B;
    border-bottom: 2px solid #2D2D2B;
    background: url(/fileadmin/user_upload/Icon/linklist.svg) right center no-repeat;
    display: block;
    transition: 1s ease-in-out;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 40px;
    padding-right: 60px;
    background-size: 46px 20px;
    margin-top: 20px;
}

.bottom-all-references div a {
    font-family: 'havelock-titling-variable', sans-serif;
    text-align: left;
    font-size: 14px;
}


.frame-type-news_pi1.frame-layout-embedded .slider-controls {
    top: 80px;
    height: 50px;
}

.frame-type-news_pi1.frame-layout-embedded .slider-controls .counter {
    color: black;
}

.frame-type-news_pi1.frame-layout-embedded .slider-controls .dots .owl-dot {
    background-color: rgba(0, 0, 0, 0);
    border: 2px solid black;
}

.frame-type-news_pi1.frame-layout-embedded .slider-controls .dots .owl-dot.active {
    background-color: rgba(0, 0, 0, 1);
}

.frame-type-news_pi1.frame-layout-embedded .slider-controls .arrows .prev {
    background: url("/fileadmin/user_upload/Icon/arrow-b-prev.svg");
    background-size: 15px 31px;
}

.frame-type-news_pi1.frame-layout-embedded .slider-controls .arrows .next {
    background: url("/fileadmin/user_upload/Icon/arrow-b-next.svg");
    background-size: 15px 31px;
}

.frame-type-news_pi1.frame-layout-embedded .btn-default {
    color: #2D2D2B;
    border-bottom: 2px solid #2D2D2B;
    border-top: 2px solid #2D2D2B;
    background: transparent url(/fileadmin/user_upload/Icon/button_defaultb.svg) no-repeat center right;
}


@media screen and (min-width: 768px) {
    .frame-type-news_pi1 .frame-container .imagebuttonverlinkungimageover h1 {
        font-size: 36px;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .bottom-all-references {
        display: none;
    }
}


@media screen and (min-width: 992px) {
    .slider-controls .arrows span {
        width: 32px;
        height: 56px;
    }

    .slider-controls .arrows .prev {
        background-size: 32px 56px;
    }

    .slider-controls .arrows .next {
        background-size: 32px 56px;
    }

    .frame-type-news_pi1.frame-layout-embedded .slider-controls {
        top: 110px;
        height: 80px;
    }

    .frame-type-news_pi1.frame-layout-embedded .slider-controls .arrows span {
        width: 86px;
        height: 35px;
    }

    .frame-type-news_pi1.frame-layout-embedded .slider-controls .arrows .prev {
        background: url("/fileadmin/user_upload/Icon/arrow-prev.svg");
        background-size: 86px 35px;
    }

    .frame-type-news_pi1.frame-layout-embedded .slider-controls .arrows .next {
        background: url("/fileadmin/user_upload/Icon/arrow-next.svg");
        background-size: 86px 35px;
    }

    .frame-type-news_pi1.frame-layout-embedded .frame-group-container .frame-group-inner {
        padding: 0;
    }

    .frame-type-news_pi1 .frame-container {
        max-width: calc((100% - 60px));
        margin-left: 30px;
        padding: 0;
        margin-right: 0;
        --bs-gutter-x: 0;
    }

    .frame-type-news_pi1 .frame-container .imagebuttonverlinkungimage .imagebuttonverlinkungimageover {
        position: absolute;
        top: 0;
        width: 75%;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-left: 10%;
    }

    .frame-type-news_pi1 .frame-container h1 {
        font-size: 30px;
    }


    .frame-type-news_pi1.frame-layout-embedded .frame-group-container .frame-group-inner h2.element-header {
        font-size: 70px;
        line-height: 80px;
    }

    .frame-type-news_pi1.frame-layout-embedded .frame-group-container .frame-group-inner .item h1 {
        font-size: 40px;
        line-height: 50px;
    }

    .frame-type-news_pi1.frame-layout-embedded .frame-group-container .frame-group-inner .item h1.sub {
        font-size: 15px;
    }

    .frame-type-news_pi1 .frame-container .imagebuttonverlinkungimageover {
        width: calc((100% - 42px) / 8 * 8);
    }

    .frame-type-news_pi1 .frame-container .imagebuttonverlinkungimageover h1 {
        font-size: 40px;
        border-top: 5px solid white;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .frame-type-news_pi1 .frame-container .imagebuttonverlinkungimageover h1:last-child {
        border-bottom: 5px solid white;
    }


    .slider-controls {
        width: calc((100% - 42px) / 8 * 8);
        grid-template-columns: 1fr auto 1fr;
        justify-content: center;
    }

    .slider-controls .left {
        display: flex;
    }

    .slider-controls .right {
        display: block
    }

}


@media screen and (min-width: 1200px) {
    .frame-type-news_pi1 .frame-container {
        max-width: 100%;
        margin-left: 0;
    }

    .frame-type-news_pi1.frame-layout-embedded .frame-group-container {
        margin-left: calc((100% + 40px) / 8 * 1);;
        max-width: calc((100% - 40px) / 8 * 6);
        padding: 0;
        --bs-gutter-x: 0;
    }

}


@media screen and (min-width: 1600px) {

    .frame-type-news_pi1.frame-layout-embedded .frame-group-container {
        margin-left: calc((100% + 40px) / 8 * 1);;
        max-width: calc((100% - 40px) / 8 * 6);
        padding: 0;
        --bs-gutter-x: 0;
    }

    .frame-type-news_pi1 .frame-container {
        width: 100%;
        max-width: 100%;
        padding: 0;
        margin: 0;
    }

    .frame-type-news_pi1 .owl-carousel .owl-item {
        padding: 0;
    }

    .frame-type-news_pi1 .frame-container h1 {
        font-size: 40px;
    }

    .frame-type-news_pi1 .frame-container .imagebuttonverlinkungimage {
        background-color: rgba(167, 156, 132, 1);
    }

    .frame-type-news_pi1 .frame-container .imagebuttonverlinkungimage img {
        opacity: 1;
    }

    .frame-type-news_pi1 .frame-container .imagebuttonverlinkungimage .imagebuttonverlinkungimageover {
        position: absolute;
        top: 0;
        height: 100%;
        display: flex;
        margin-left: 0;
        align-items: flex-start;
        justify-content: center;
        flex-direction: column;
        width: calc((100% - 42px) / 12 * 8);
    }

    .frame-type-news_pi1 .frame-container .imagebuttonverlinkungimageover {
        width: calc((100% - 42px) / 12 * 8);
    }

    .frame-type-news_pi1 .frame-container .imagebuttonverlinkungimageover h1 {
    }


    .frame-type-news_pi1.frame-layout-embedded .frame-group-container {
        margin-left: calc((100% + 60px) / 8 * 1);;
        max-width: calc((100% - 60px) / 8 * 6);
        padding: 0;
        --bs-gutter-x: 0;
    }

    .slider-controls {
        width: calc((100% - 42px) / 12 * 8);
    }

}

@media screen and (min-width: 1900px) {
    .frame-type-news_pi1.frame-layout-embedded .frame-group-container {
        margin-left: calc((100% + 40px) / 12 * 3);;
        max-width: calc((100% - 40px) / 12 * 7);
        padding: 0;
        --bs-gutter-x: 0;
    }
}


/* Linkliste */
.frame-type-mask_linklist .frame-container {
    padding-right: 20px;
    padding-left: 20px;
    max-width: 100%;
    background: none;
}

.frame-type-mask_linklist .frame-container li {
    border-top: 2px solid #2D2D2B;
}

.frame-type-mask_linklist .frame-container li:last-child {
    border-bottom: 2px solid #2D2D2B;
}

.frame-type-mask_linklist .frame-container li a {
    font-family: "havelock-titling-variable", sans-serif;
    background: url("/fileadmin/user_upload/Icon/linklist.svg") right center no-repeat;
    display: block;
    transition: 1s ease-in-out;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 40px;
    padding-right: 60px;
    background-size: 46px 20px;
}

.frame-type-mask_linklist .frame-container li a:hover {
    transform: scale(1.05)
}


@media (min-width: 768px) {
    .frame-type-mask_linklist .frame-container {
        width: 100%;
        max-width: calc((100% - 40px) / 4 * 4);
        padding: 0;
    }

    .frame-type-mask_linklist .frame-container li {
        border-top: 3px solid #2D2D2B;
        padding: 20px 0;
    }

    .frame-type-mask_linklist .frame-container li:last-child {
        border-bottom: 3px solid #2D2D2B;
    }

    .frame-type-mask_linklist .frame-container li a {
        font-size: 36px;
        line-height: 42px;
        background-size: 94px 34px;
        padding-right: 130px;
    }
}

@media (min-width: 992px) {
    .frame-type-mask_linklist .frame-container {
    }

    .frame-type-mask_linklist .frame-container {
        max-width: calc((100% - 60px) / 8 * 8);
        padding-right: calc((100% - 60px) / 8 * 1);
        padding-left: calc((100% - 60px) / 8 * 1);
        padding-bottom: 150px;
        background: url("/fileadmin/user_upload/Icon/linklist-bg.jpg") right bottom no-repeat;
    }

    .frame-type-mask_linklist .frame-container li {
        border-top: 5px solid #2D2D2B;
        padding: 30px 0;
    }

    .frame-type-mask_linklist .frame-container li:last-child {
        border-bottom: 5px solid #2D2D2B;
    }

    .frame-type-mask_linklist .frame-container li a {
        font-size: 52px;
        line-height: 57px;
        background-size: 127px 52px;
        padding-right: 130px;
    }
}

@media (min-width: 1600px) {

}

@media (min-width: 1900px) {
    .frame-type-mask_linklist .frame-container {
        max-width: calc((100% - 42px) / 12 * 12);
        padding-left: calc((100% - 42px) / 12 * 2);
        padding-right: calc((100% - 42px) / 12 * 2);
        padding-bottom: 150px;
    }

    .frame-type-mask_linklist .frame-container li {
        border-top: 7px solid #2D2D2B;
        padding: 40px 0;
    }

    .frame-type-mask_linklist .frame-container li:last-child {
        border-bottom: 7px solid #2D2D2B;
    }

    .frame-type-mask_linklist .frame-container li a {
        font-size: 70px;
        line-height: 75px;
    }
}


/* 3 Bildtext */

.frame-type-mask_3bildtext .frame-container {
}

.frame-type-mask_3bildtext .frame-container .gridContainer {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

.frame-type-mask_3bildtext .frame-container .contentLayer {
    display: contents;
}

.frame-type-mask_3bildtext .frame-container .contentItem1 {
    grid-column: 1 / 4;
    padding: 0;
    order: 2;
    margin-top: 50px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.frame-type-mask_3bildtext .frame-container .contentItem1 div:nth-child(1) {
    width: 100%;
    z-index: 1;
    margin-bottom: 20px;
    padding-left: 20px;
}

.frame-type-mask_3bildtext .frame-container .contentItem1 div:nth-child(2) {
    width: 100%;
    padding-left: 20px;
}

.frame-type-mask_3bildtext .frame-container .contentItem1 img {
    max-width: 100%;
    height: auto;
    opacity: 1;
}

.frame-type-mask_3bildtext .frame-container .contentItem2 {
    grid-column: 4 / 7;
    padding: 0;
    order: 3;
    z-index: 2;
    margin-top: 0;
}

.frame-type-mask_3bildtext .frame-container .contentItem2 h3 {
    color: #A79C84;
    font-weight: 700;
    font-family: "havelock-titling-variable", sans-serif;
}

.frame-type-mask_3bildtext .frame-container .contentItem2 div {
    margin-top: 0;
}

.frame-type-mask_3bildtext .frame-container .contentItem2 p {
    padding-left: 0;
    hyphens: auto;
    padding-right: 20px;
}

.frame-type-mask_3bildtext .frame-container .contentItem2 a {
    padding: 10px 0;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
    margin-top: 20px;
    background: url("/fileadmin/user_upload/Icon/linklist.svg") right center no-repeat;
    background-size: 28px 12px;
    padding-right: 35px;
    text-transform: uppercase;
    font-weight: 600;
    font-family: "havelock-titling-variable", sans-serif;
    font-size: 15px;
    display: inline-block;
    transition: 0.5s ease-in-out;
}

.frame-type-mask_3bildtext .frame-container .contentItem2 a:hover {
    transform: scale(1.05);
    color: #C42E2B;
}

.frame-type-mask_3bildtext .frame-container .contentItem2 img {
    max-width: 100%;
    height: auto;
    opacity: 1;
    padding-right: 20px;
}

.frame-type-mask_3bildtext .frame-container .contentItem2 h1 {
    background: url("/fileadmin/user_upload/Icon/quote.svg") top left no-repeat;
    line-height: 20px;
    margin-bottom: 10px;
    font-size: 14px;
    background-size: 56px 41px;
    padding-top: 50px;
    padding-left: 10px;
    padding-right: 10px;
    hyphens: auto;
    padding-bottom: 0;
    letter-spacing: 0;
}

.frame-type-mask_3bildtext .frame-container .contentItem3 {
    background: url(/fileadmin/user_upload/Icon/bglinienrot.svg) right bottom no-repeat;
    z-index: 1;
    background-size: 350px 98px;
    height: 100%;
    width: calc((100% - 42px) / 4 * 3);
    position: absolute;
    display: block;
}

#p5 .frame-type-mask_3bildtext .frame-container .contentItem3 {
    background: url(/fileadmin/user_upload/Icon/bgliniengold.svg) right bottom no-repeat;
    background-size: 350px 98px;
}

@media (min-width: 768px) {
    .frame-type-mask_3bildtext .frame-container {
        justify-content: center;
    }

    .frame-type-mask_3bildtext .frame-container .gridContainer {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 20px;
        margin: 0 auto;
        padding: 0;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem1 {
        grid-column: 1 / 4;
        order: 2;
        margin-top: 0;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem1 div:nth-child(1) {
        padding-left: 0;
        display: block;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem1 div:nth-child(2) {
        padding-left: 0;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 {
        grid-column: 4 / 7;
        order: 3;
        margin-top: 50px;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 div {
        margin-top: 0;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 h1 {
        background: url("/fileadmin/user_upload/Icon/quote.svg") top left no-repeat;
        background-size: 81px 62px;
        padding-top: 70px;
        line-height: 42px;
        font-size: 34px;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 p {
        padding-left: 0;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 img {
        max-width: 100%;
        height: auto;
        padding-right: 0;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 p,
    .frame-type-mask_3bildtext .frame-container .contentItem2 h1 {
        padding-left: 20px;
        padding-right: 20px;
        letter-spacing: 1px;
        padding-bottom: 15px;
        hyphens: unset;
    }


    .frame-type-mask_3bildtext .frame-container .contentItem3,
    #p5 .frame-type-mask_3bildtext .frame-container .contentItem3
    {
        background-size: 586px 165px;
        width: calc((100% - 42px) / 4 * 2.8);
        background-position: bottom right;
    }


}


@media (min-width: 992px) {
    .frame-type-mask_3bildtext .frame-container {
        justify-content: center;
    }

    .frame-type-mask_3bildtext .frame-container .gridContainer {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 30px;
        margin: 0 auto;
        padding: 0;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem1 {
        grid-column: 1 / 4;
        order: 2;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem1 div:nth-child(1) {
        width: 66%;
        display: block;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem1 div:nth-child(2) {
        padding-left: 20px;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 {
        grid-column: 4 / 6;
        order: 3;
        margin-top: 50px;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 img {
        max-width: 100%;
        height: auto;
        padding-right: 0;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 a {
        min-width: 230px;
    }


    .frame-type-mask_3bildtext .frame-container .contentItem3,
    #p5 .frame-type-mask_3bildtext .frame-container .contentItem3
    {
        background-size: 860px 240px;
    }



}

@media (min-width: 1280px) {
    .frame-type-mask_3bildtext .frame-container .contentItem2 div {
        margin-top: 50px;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 h1 {
        background-size: 132px 101px;
        padding-top: 120px;
        font-size: 28px;
        line-height: 36px;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem3 {
        background-size: 860px 240px;
    }



}

@media (min-width: 1600px) {
    .frame-type-mask_3bildtext .frame-container .gridContainer {
        display: grid;
        grid-template-columns: repeat(8, 1fr);
        gap: 30px;
        margin: 0 auto;
        padding: 0;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem1 {
        grid-column: 1 / 5;
        order: 2;
        margin-top: 0;
        margin-left: 30px;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 {
        grid-column: 5 / 8;
        order: 3;
        margin-top: 50px;
        margin-right: 30px;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 h1 {
        background-size: 132px 101px;
        padding-top: 120px;
        font-size: 34px;
        line-height: 48px;
    }
    .frame-type-mask_3bildtext .frame-container .contentItem3,
    #p5 .frame-type-mask_3bildtext .frame-container .contentItem3
    {
        background-size: 1100px 300px;
    }



}


@media (min-width: 1900px) {
    .frame-type-mask_3bildtext .frame-container .gridContainer {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        gap: 16px;
        width: 100%;
        margin: 0 auto;
        padding: 0;
        margin-bottom: 150px;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem1 {
        grid-column: 1 / 7;
        order: 2;
        position: relative;
        z-index: 2;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 {
        grid-column: 7 / 10;
        order: 3;
        position: relative;
        z-index: 2;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 p,
    .frame-type-mask_3bildtext .frame-container .contentItem2 h1 {
        padding-left: calc((100% - 42px) / 12 * 1);
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 a {
        min-width: 230px;
        border-top: 2px solid black;
        border-bottom: 2px solid black;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem2 img {
        max-width: 100%;
        height: auto;
        padding-right: 0;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem1 div:nth-child(1) {
        width: 50%;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem1 div:nth-child(2) {
        width: 80%;
    }

    .frame-type-mask_3bildtext .frame-container .contentItem3,
    #p5 .frame-type-mask_3bildtext .frame-container .contentItem3
    {
        z-index: 1;
        background-size: 1805px 500px;
        height: 100%;
        width: calc((100% - 42px) / 12 * 7);
        position: absolute;
        display: block;
        background-position: bottom right;
    }
}


/* 3 Bildtext */

.frame-type-mask_3bild .frame-container {
}

.frame-type-mask_3bild .frame-container .gridContainer {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

.frame-type-mask_3bild .frame-container .contentLayer {
    display: contents;
}

.frame-type-mask_3bild .frame-container .contentItem1 {
    grid-column: 1 / 4;
    padding: 0;
    order: 2;
    margin-top: 50px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
}

.frame-type-mask_3bild .frame-container .contentItem1 div:nth-child(1) {
    width: 100%;
    margin-bottom: 0;
    padding-left: 20px;
    z-index: 1;
}

.frame-type-mask_3bild .frame-container .contentItem1 div:nth-child(2) {
    width: 100%;
    padding-left: 20px;
}

.frame-type-mask_3bild .frame-container .contentItem1 img {
    max-width: 100%;
    height: auto;
    opacity: 1;
}

.frame-type-mask_3bild .frame-container .contentItem2 {
    grid-column: 4 / 7;
    padding: 0;
    order: 3;
    margin-top: 0;
}

.frame-type-mask_3bild .frame-container .contentItem2 div:nth-child(1) {
    margin-bottom: 30px;
}

.frame-type-mask_3bild .frame-container .contentItem2 img {
    max-width: 100%;
    height: auto;
    opacity: 0.9;
    padding-right: 20px;
}


.frame-type-mask_3bild .frame-container .contentItem3 {
    background: url(/fileadmin/user_upload/Icon/bglinienrot.svg) left bottom no-repeat;
    z-index: 1;
    background-size: 350px 100px;
    height: 100%;
    width: calc((100% - 42px) / 4 * 2.8);
    right: 0;
    position: absolute;
    display: block;
}

@media (min-width: 768px) {
    .frame-type-mask_3bild .frame-container {
        justify-content: center;
    }

    .frame-type-mask_3bild .frame-container .gridContainer {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 20px;
        margin: 0 auto;
        padding: 0;
    }

    .frame-type-mask_3bild .frame-container .contentItem1 {
        grid-column: 1 / 4;
        order: 2;
        margin-top: 0;
    }

    .frame-type-mask_3bild .frame-container .contentItem1 div:nth-child(1) {
        padding-left: 0;
        display: block;
    }

    .frame-type-mask_3bild .frame-container .contentItem1 div:nth-child(2) {
        padding-left: 0;
    }

    .frame-type-mask_3bild .frame-container .contentItem2 {
        grid-column: 4 / 7;
        order: 3;
    }

    .frame-type-mask_3bild .frame-container .contentItem2 div:nth-child(1) {
        margin-bottom: 50px;
    }

    .frame-type-mask_3bild .frame-container .contentItem2 img {
        max-width: 100%;
        height: auto;
        opacity: 1;
        padding-right: 0;
    }

    .frame-type-mask_3bild .frame-container .contentItem3 {
        background: url(/fileadmin/user_upload/Icon/bglinienrot.svg) left bottom no-repeat;
        z-index: 1;
        background-size: 586px 165px;
        height: 100%;
        width: calc((100% - 42px) / 4 * 2.8);
        right: 0;
        position: absolute;
        display: block;
    }

}


@media (min-width: 992px) {
    .frame-type-mask_3bild .frame-container {
        justify-content: center;
    }

    .frame-type-mask_3bild .frame-container .gridContainer {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 30px;
        margin: 0 auto;
        padding: 0;
    }

    .frame-type-mask_3bild .frame-container .contentItem1 {
        grid-column: 1 / 4;
        order: 2;
    }

    .frame-type-mask_3bild .frame-container .contentItem1 div:nth-child(1) {
        width: 66%;
        display: block;
    }

    .frame-type-mask_3bild .frame-container .contentItem1 div:nth-child(2) {
        padding-left: 20px;
    }

    .frame-type-mask_3bild .frame-container .contentItem2 {
        grid-column: 4 / 6;
        order: 3;
    }

    .frame-type-mask_3bild .frame-container .contentItem2 img {
        max-width: 100%;
        height: auto;
        opacity: 1;
        padding-right: 0;
    }

}


@media (min-width: 1280px) {
    .frame-type-mask_3bild .frame-container .gridContainer {
        margin-bottom: 150px;
    }

    .frame-type-mask_3bild .frame-container .contentItem3 {
        background: url(/fileadmin/user_upload/Icon/bglinienrot.svg) left bottom no-repeat;
        z-index: 1;
        background-size: 1005px 200px;
        height: 100%;
        width: calc((100% - 42px) / 12 * 7);
        right: 0;
        position: absolute;
        display: block;
    }
}


@media (min-width: 1600px) {
    .frame-type-mask_3bild .frame-container .gridContainer {
        margin-bottom: 150px;
    }

    .frame-type-mask_3bild .frame-container .contentItem3 {
        background-size: 1305px 300px;
        height: 100%;
        width: calc((100% - 42px) / 12 * 7);
    }
}


@media (min-width: 1900px) {
    .frame-type-mask_3bild .frame-container .gridContainer {
        display: grid;
        grid-template-columns: repeat(12, 1fr);
        gap: 16px;
        width: 100%;
        margin: 0 auto;
        padding: 0;
        margin-bottom: 150px;
    }

    .frame-type-mask_3bild .frame-container .contentItem1 {
        grid-column: 1 / 7;
        order: 2;
        position: relative;
        z-index: 2;
    }

    .frame-type-mask_3bild .frame-container .contentItem2 {
        grid-column: 7 / 10;
        order: 3;
        position: relative;
        z-index: 2;
    }

    .frame-type-mask_3bild .frame-container .contentItem2 img {
        max-width: 100%;
        height: auto;
        opacity: 1;
        padding-right: 0;
    }

    .frame-type-mask_3bild .frame-container .contentItem1 div:nth-child(1) {
        width: 50%;
    }

    .frame-type-mask_3bild .frame-container .contentItem1 div:nth-child(2) {
        width: 80%;
    }

    .frame-type-mask_3bild .frame-container .contentItem3 {

        background: url(/fileadmin/user_upload/Icon/bglinienrot.svg) left bottom no-repeat;
        z-index: 1;
        background-size: 1805px 500px;
        height: 100%;
        width: calc((100% - 42px) / 12 * 7);

        position: absolute;
        display: block;
    }
}


.footer {
    position: relative;
    width: 100%;
    height: auto;
    padding: 20px 0;
    margin: 0;
    float: left;
    color: #F0EFE6;
    z-index: 0;
}

.footer .frame-container {
    background-color: #2D2D2B;
}

.footer .frame-container .gridContainer {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

.footer .frame-container .contentItem1 {
    grid-column: 1 / 5;
    padding: 0;
    padding-left: 10px;
    padding-top: 50px;
}

.footer .frame-container .contentItem1 img {
    width: 240px;
    height: auto;
}

.footer .frame-container .contentItem1 span.footercon {
    font-size: 21px;
    line-height: 24px;
}

.footer .frame-container .contentItem1 a.footersocial {
    display: inline-block;
    width: 127px;
    min-width: 127px;
    font-size: 13px;
    color: white;
    border-bottom: 1px solid white;
    font-weight: bold;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 5px 0;
    transition: 0.5s ease-in-out;
}

.footer .frame-container .contentItem1 a.footersocial:hover {
    color: #C42E2B;
    transform: scale(1.05);
}

.footer .frame-container .contentItem2 {
    grid-column: 1 / 5;
    padding: 0;
    padding-left: 10px;
    padding-bottom: 50px;
}

.footer .frame-container .contentItem2 p {
    font-size: 11px;
    line-height: 20px;
    letter-spacing: 1px;
    column-count: 2;
    column-gap: 2rem;
    width: 100%
}

.footer .frame-container .contentItem3 {
    grid-column: 1 / 5;
    padding: 0;
}

.footer .frame-container .contentItem3 iframe {
    filter: grayscale(1);
}

.footer a {
    color: #FFFFFF;
    text-decoration: none;
    transition: 0.2s ease-in-out;
}

.footer a:hover {
    text-decoration: none;
    transform: scale(1.05);
    color: #C42E2B;
}

/* Telefonnummern-Links (tel:) */
.footer a[href^="tel"] {
    color: #FFFFFF;
    text-decoration: none;
}

/* Mailto-Links (mailto:) */
.footer a[href^="mailto"] {
    color: #FFFFFF;
    text-decoration: none;
}

/* iOS Safari spezielle Steuerung */
.footer a[href^="tel"],
.footer a[href^="mailto"],
.footer a[href^="sms"] {
    -webkit-text-fill-color: #FFFFFF;
    text-decoration: none;
}

.footer a[href^="tel"]:hover,
.footer a[href^="mailto"]:hover,
.footer a[href^="sms"]:hover {
    text-decoration: none;
    transform: scale(1.05);
    color: #C42E2B;
}

.footer button {
    background-color: transparent;
    color: #FFFFFF;
    transition: 0.2s ease-in-out;
    text-align: left;
}

.footer button:hover {
    background-color: transparent;
    color: #C42E2B;
}

.footerlogos { padding: 15px;}

@media screen and (min-width: 768px) {

    .footer .frame-container .contentItem1 {
        padding-left: 30px;
        padding-right: 30px;
    }

    .footer .frame-container .contentItem1 img {
        width: 314px;
        height: auto;
    }

    .footer .frame-container .contentItem1 span.footercon {
        font-size: 26px;
        line-height: 32px;
    }

    .footer .frame-container .contentItem2 {
        padding-left: 30px;
        padding-right: 30px;
    }

    .footer .frame-container .contentItem2 p {
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 0px;
    }

}

@media screen and (min-width: 992px) {
    .footer .frame-container .gridContainer {
        grid-template-columns: repeat(8, 1fr);
        gap: 30px;
    }

    .footer .frame-container .contentItem1 {
        grid-column: 2 / 5;
        padding: 0;
        padding-left: 30px;
        padding-top: 50px;
    }

    .footer .frame-container .contentItem2 {
        grid-column: 5 / 8;
        padding-bottom: 20px;
        padding-left: 0;
        padding-right: 0;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        justify-content: flex-end;
    }

    .footer .frame-container .contentItem3 {
        grid-column: 1 / 9;
        padding: 0;
    }

}


@media screen and (min-width: 1920px) {
    .footer .frame-container .gridContainer {
        grid-template-columns: repeat(12, 1fr);
        gap: 30px;
    }

    .footer .frame-container .contentItem1 {
        grid-column: 2 / 5;
        padding: 0;
        padding-left: 30px;
        padding-top: 50px;
    }

    .footer .frame-container .contentItem2 {
        grid-column: 5 / 9;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        justify-content: flex-end;
    }

    .footer .frame-container .contentItem3 {
        grid-column: 9 / 13;
        padding: 0;
    }
}


.footer2 {
    position: relative;
    width: 100%;
    text-align: center;
    height: auto;
    padding: 20px 0;
    margin: 0;
    float: left;
    color: #2D2D2B;
    z-index: 0;
}

@media screen and (min-width: 992px) {
    .footer2 {
        padding: 45px 45px;
    }
}


/*
------------------------------------------------------------------------------------------------------
Scroll to top button
------------------------------------------------------------------------------------------------------
*/
#totop {
    position: fixed;
    width: 40px;
    background-color: #FFFFFF;
    right: 0;
    height: auto;
    padding: 0;
    margin: 0;
    margin-right: 15px;
    bottom: 80px;
    z-index: 200;
}

#totop:hover {
    background-color: #FFFFFF;
}

.cd-top {
    padding: 10px;
    height: 40px;
    width: 40px;
    border-radius: 0;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    content: url(/fileadmin/user_upload/Icon/arrow-up.svg);
    display: none;
    opacity: 1;
    -webkit-transition: opacity .3s 0s, visibility 0s .3s;
    -moz-transition: opacity .3s 0s, visibility 0s .3s;
    transition: opacity .3s 0s, visibility 0s .3s;
    z-index: 100000;
}

.cd-top svg {
    fill: #000000;
}

.cd-top.cd-is-visible, .cd-top.cd-fade-out, .no-touch .cd-top:hover {
    -webkit-transition: opacity .3s 0s, visibility 0s 0s;
    -moz-transition: opacity .3s 0s, visibility 0s 0s;
    transition: opacity .3s 0s, visibility 0s 0s;
    display: block;
}

.cd-top.cd-is-visible {
    opacity: 1;
}

.cd-top.cd-fade-out {
    opacity: 1;
}

.no-touch .cd-top:hover {
    opacity: 1;
}

@media only screen and (min-width: 768px) {
    .cd-top {
        right: 20px;
        bottom: 20px;
    }
}


.tab-wrapper .scroller img {
    width: 11px;
    height: 22px;
}

.nav {
    --bs-nav-link-padding-x: 3px;
    --bs-nav-link-color: #2D2D2B;
    --bs-nav-link-hover-color: #C42E2B;
}


.nav-tabs {
    --bs-nav-tabs-border-width: 2px;
    --bs-nav-tabs-border-color: #2D2D2B;
    --bs-nav-tabs-border-radius: 0;
    --bs-nav-tabs-link-active-border-color: #2D2D2B #2D2D2B #fff;
    --bs-nav-tabs-link-hover-border-color: #2D2D2B #2D2D2B #fff;

}

.nav-tabs .nav-item {
    min-width: 102px;

}

.frame-layout-embedded .news .nav a {
    float: left;
    display: flex;
    justify-content: center;
}


.nav-link {
    padding: 5px;
    color: #2D2D2B;
    font-size: 15px;
}

.nav-item img.tabimg {
    margin-top: 2px;
    background-color: transparent;
    width: 15px;
}

.owl-carousel .owl-item .scroller img {
    background-color: transparent;
    height: 20px;
}

@media screen and (min-width: 992px) {
    .tab-wrapper .scroller img {
        width: 11px;
        height: 22px;
    }

    .nav-link {
        padding: 10px;
        font-size: 20px;
    }

    .nav-item img.tabimg {
        margin-top: 3px;
        background-color: transparent;
        width: 20px;
    }
}


/* Faden */


.faden {
    position: relative;
    bottom: 50px;
    right: 0;
    display: block;
    z-index: -1; /* ggf. erhöhen, falls andere Layer darüber liegen */
    width: 100%;
    height: 100px;
    margin-bottom: -50px;
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 350px 98px; /* Desktop Default, kleiner Breakpoint anpassen */
}

/* Roter Faden */
.faden--rot, .faden--gold {
    background-image: url('/fileadmin/user_upload/Icon/bglinienrot.svg');
    width: calc((100%) / 4 * 3);

}
/* Roter Faden */
.faden--rotrechts, .faden--goldrechts {
    background-image: url('/fileadmin/user_upload/Icon/bglinienrot.svg');
    width: calc((100%) / 4 * 3.8);
    margin-left: calc((100%) / 4 * 0.2);

}

/* Gold Faden */
.faden--gold {
    background-image: url('/fileadmin/user_upload/Icon/bgliniengold.svg');
}
.faden--goldrechts, .faden--goldrechts {
    background-image: url('/fileadmin/user_upload/Icon/bgliniengold.svg');
}


/* Media Queries für responsive */
@media (min-width: 768px) {

    .faden {
        height: 165px;
        bottom: 100px;
        margin-bottom: -100px;
        background-size: 586px 165px;
    }

}

@media (min-width: 1280px) {
    .faden {
        height: 240px;
        bottom: 100px;
        margin-bottom: -100px;
        background-size: 860px 240px;
    }

    /* Roter Faden */
    .faden--rot, .faden--gold {
        width: calc((100%) / 8 * 5);

    }
    /* Roter Faden */
    .faden--rotrechts, .faden--goldrechts {
        width: calc((100%) / 8 * 7.8);
        margin-left: calc((100%) / 8 * 0.2);
    }

}


@media (min-width: 1600px) {
    .faden {
        height: 300px;
        bottom: 120px;
        margin-bottom: -120px;
        background-size: 1100px 300px;
    }
}

@media (min-width: 1900px) {
    .faden {
        height: 500px;
        bottom: 120px;
        margin-bottom: -120px;
        background-size: 1805px 500px;
    }

    /* Roter Faden */
    .faden--rot, .faden--gold {
        width: calc((100%) / 12 * 8);

    }
    /* Roter Faden */
    .faden--rotrechts, .faden--goldrechts {
        background-position: bottom left;
        width: calc((100%) / 12 * 8);
        margin-left: calc((100%) / 12 * 4);
    }

}



