@font-face {
    font-family: "PT Sans";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../Fonts/PTSans/pt-sans-v18-latin-regular.woff2") format("woff2");
}

@font-face {
    font-family: "PT Sans";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../Fonts/PTSans/pt-sans-v18-latin-700.woff2") format("woff2");
}

:root {
    --hofbauer-red-dark: #742626;
    --hofbauer-red: #9a0000;
    --hofbauer-red-bright: #e92121;
    --hofbauer-gray: #4d4d4d;
    --hofbauer-gray-light: #f1f1f1;
    --hofbauer-white: #ffffff;
    --hofbauer-content-width: 1100px;
    --standardtransition: ease all 0.3s
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--hofbauer-gray);
    background: var(--hofbauer-white);
    font-family: "PT Sans", Arial, sans-serif;
    font-size: 14px;
}

.frame {
    display: flow-root;
    width: 100%;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.frame > .rahmen {
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

strong {
    font-weight: 700;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
}

#oben,
#header,
#inhaltsbereich,
#footer {
    width: 100%;
}

.ce-textpic {
    display: flow-root;
    width: 100%;
}

.site-shell {
    min-height: 100vh;
    background: var(--hofbauer-white);
}

.site-topbar__inner,
.footer-inner {
    width: 80%;
    max-width: var(--hofbauer-content-width);
    margin-right: auto;
    margin-left: auto;
}

.footer-inner {
    padding: 0;
}

/* Header / Navigation */
#oben.site-topbar {
    position: fixed;
    top: 0;
    z-index: 50;
    background: var(--hofbauer-red);
    box-shadow: 0 0 2px var(--hofbauer-gray);
}

.site-topbar__inner {
    position: relative;
    display: block;
    max-width: none;
    width: 100%;
    padding: 0;
}

.site-brand {
    width: 100%;
    min-height: 65px;
}

.site-brand .frame,
.site-brand .frame > .rahmen,
.site-brand .ce-textpic,
.site-brand .ce-bodytext {
    margin: 0;
    padding: 0;
    width: 100%;
    max-width: none;
}

.site-brand p {
    margin: 0;
}

.site-brand a {
    display: inline-block;
    margin-left: 2%;
    padding-top: 12px;
    color: var(--hofbauer-white);
    font-size: 30px;
    line-height: 1.3;
    text-decoration: none;
}

/* Hero */
#header {
    position: relative;
    max-height: 650px;
    margin-top: 105px;
    padding: 0;
    overflow: hidden;
    border-bottom: 1px solid var(--hofbauer-red);
    background: transparent;
}

#header .frame-type-textmedia {
    position: relative;
    width: 100%;
    max-width: none;
}

#header .frame,
#header .frame > .rahmen,
#header .ce-textpic,
#header .ce-gallery,
#header .ce-row,
#header .ce-column,
#header .image {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

#header .ce-textpic {
    position: relative;
    max-height: 650px;
}

#header .frame:not(:first-child),
#header .frame:not(:first-child) .ce-textpic {
    position: absolute;
    inset: 0;
    z-index: 3;
    max-height: none;
    pointer-events: none;
}

#header .ce-gallery {
    position: relative;
    margin-bottom: 0;
}

#header .ce-gallery::after {
    content: "";
    position: absolute;
    left: 0vw;
    bottom: -25vw;
    width: 100vw;
    height: 60vw;
    background: var(--hofbauer-white);
    opacity: 0.2;
    pointer-events: none;
    transform: skewY(25deg);
}

#header .ce-gallery img {
    width: 100%;
    min-height: 0;
    max-height: none;
    height: auto;
    object-fit: initial;
}

#header .ce-bodytext {
    position: absolute;
    right: 0;
    bottom: 80px;
    z-index: 4;
    color: var(--hofbauer-white);
    font-size: 24px;
    text-align: right;
    pointer-events: auto;
}

#header .ce-bodytext p {
    float: right;
    clear: both;
    margin: 0 0 24px;
    padding: 15px 30px;
}

#header .ce-bodytext p:first-child {
    background: var(--hofbauer-red);
}

#header .ce-bodytext p:last-child {
    margin-top: 0;
    background: var(--hofbauer-red-bright);
    font-size: 36px;
}

/* Content */
#inhaltsbereich {
    min-height: calc(100vh - 362px);
    padding: 0;
    color: var(--hofbauer-gray);
    background: var(--hofbauer-white);
}

#oben + #inhaltsbereich{
    margin-top: 105px;
}

#inhaltsbereich > .frame,
#inhaltsbereich > .tx_cn-multicontent {
    margin: 70px 0;
    padding: 0 !important;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

#inhaltsbereich > .frame-space-before-none{
    margin-top: 0 !important; 
}
#inhaltsbereich > .frame-space-after-none{
    margin-bottom: 0 !important; 
}

#inhaltsbereich > .frame > .rahmen,
#inhaltsbereich > .tx_cn-multicontent > .rahmen {
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

#inhaltsbereich > .frame > .rahmen,
#inhaltsbereich .tx_cn-multicontent > .rahmen {
    width: 80%;
    max-width: var(--hofbauer-content-width);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}

#inhaltsbereich .tx_cn-multicontent .frame .rahmen{
    width: 100%;
    display: flex;
    flex-direction: column;
}


#inhaltsbereich .rahmen > header > *:last-child{
    margin-bottom: 40px;
}

#inhaltsbereich a {
    color: var(--hofbauer-gray);
    font-weight: 700;
    text-decoration: none;
}

#inhaltsbereich a.link-internal,
#inhaltsbereich .link-internal {
    display: inline-block;
    padding: 5px 25px;
    border: 1px solid var(--hofbauer-red);
    background: var(--hofbauer-white);
    transition: color 0.3s linear, background-color 0.3s linear;
}

#inhaltsbereich ul {
    list-style: none;
    padding-left: 1.6rem;
}

#inhaltsbereich ul li {
    position: relative;
    margin: 10px 0;
}

#inhaltsbereich ul li::before {
    content: "";
    position: absolute;
    left: -1.35rem;
    top: 0.55em;
    width: 0.55rem;
    height: 0.55rem;
    border-right: 2px solid var(--hofbauer-red);
    border-bottom: 2px solid var(--hofbauer-red);
    transform: rotate(-45deg);
}

#inhaltsbereich > .frame-layout-1 {
    margin: 0;
    padding: 70px 0;
    background: var(--hofbauer-gray-light);
}

#inhaltsbereich > .frame-type-header {
    margin-bottom: 0;
}

#inhaltsbereich > .frame-type-header:not(.frame-space-after-none) + .frame {
    margin-top: 50px;
}
#inhaltsbereich > .frame-layout-1.frame-space-after-none + .frame-layout-1 ,
#inhaltsbereich > .frame-layout-1 + .frame-layout-1.frame-space-before-none {
    padding-top: 0 !important;
}

#inhaltsbereich > .frame-default h1,
#inhaltsbereich > .frame-default h2,
#inhaltsbereich > .frame-default .ce-headline-primary,
#inhaltsbereich > .frame-bildslider h1,
#inhaltsbereich > .frame-bildslider h2,
#inhaltsbereich > .frame-bildslider .ce-headline-primary,
#inhaltsbereich > .frame-leistungen .ce-headline-primary,
#inhaltsbereich > .frame-umrandung h1,
#inhaltsbereich > .frame-umrandung h2,
#inhaltsbereich > .frame-umrandung .ce-headline-primary {
    float: left;
    clear: both;
    margin: 0 0 0 -115px;
    padding: 10px 30px;
    background: var(--hofbauer-red-bright);
    color: var(--hofbauer-white);
    font-size: 14px;
    line-height: 1.25;
}

#inhaltsbereich > .frame-default h1 + h2,
#inhaltsbereich > .frame-default h3:not(.ce-headline-primary),
#inhaltsbereich > .frame-default .ce-headline-secondary,
#inhaltsbereich > .frame-bildslider h1 + h2,
#inhaltsbereich > .frame-bildslider h3:not(.ce-headline-primary),
#inhaltsbereich > .frame-bildslider .ce-headline-secondary,
#inhaltsbereich > .frame-leistungen .ce-headline-secondary,
#inhaltsbereich > .frame-umrandung h1 + h2,
#inhaltsbereich > .frame-umrandung h3:not(.ce-headline-primary),
#inhaltsbereich > .frame-umrandung .ce-headline-secondary {
    float: left;
    clear: both;
    margin: 10px 0 0 -30px;
    padding: 10px 30px;
    background: var(--hofbauer-red);
    color: var(--hofbauer-white);
    font-size: 24px;
    line-height: 1.25;
}

#inhaltsbereich > .frame-default .ce-headline-primary a,
#inhaltsbereich > .frame-bildslider .ce-headline-primary a,
#inhaltsbereich > .frame-leistungen .ce-headline-primary a,
#inhaltsbereich > .frame-umrandung .ce-headline-primary a,
#inhaltsbereich > .frame-default h1 + h2 a,
#inhaltsbereich > .frame-default h3:not(.ce-headline-primary) a,
#inhaltsbereich > .frame-default .ce-headline-secondary a,
#inhaltsbereich > .frame-bildslider h1 + h2 a,
#inhaltsbereich > .frame-bildslider h3:not(.ce-headline-primary) a,
#inhaltsbereich > .frame-bildslider .ce-headline-secondary a,
#inhaltsbereich > .frame-leistungen .ce-headline-secondary a,
#inhaltsbereich > .frame-umrandung h1 + h2 a,
#inhaltsbereich > .frame-umrandung h3:not(.ce-headline-primary) a,
#inhaltsbereich > .frame-umrandung .ce-headline-secondary a {
    color: var(--hofbauer-white);
}

/* Taetigkeitsbereich heading */
#inhaltsbereich > .frame-leistung {
    margin-bottom: 0;
}

#inhaltsbereich > .frame-leistung + .frame {
    margin-top: -70px;
}

.frame-leistung .ce-textpic {
    margin-left: -115px;
}

#inhaltsbereich .frame-leistung .ce-bodytext h2 {
    float: left;
    clear: both;
    margin: 0;
    padding: 10px 30px;
    background: var(--hofbauer-red-bright);
    color: var(--hofbauer-white);
    font-size: 14px;
}

#inhaltsbereich .frame-leistung .ce-bodytext h1 {
    float: left;
    clear: both;
    margin: 10px 0 0 85px;
    padding: 10px 30px;
    background: var(--hofbauer-red);
    color: var(--hofbauer-white);
    font-size: 24px;
}

/* Text mit roter Linie */
#inhaltsbereich .frame-linie {
    position: relative;
    margin: 0;
    padding: 95px 0 54px;
}

#inhaltsbereich .frame-linie::after {
    content: "";
    display: block;
    clear: both;
}

#inhaltsbereich .frame-linie > .rahmen {
    position: relative;
    padding: 70px 0;
}

.frame-linie > .rahmen::before {
    content: "";
    position: absolute;
    left: 160px;
    top: 0;
    z-index: 0;
    width: 1px;
    height: 100%;
    background: var(--hofbauer-red-dark);
}

.frame-linie header{
    background: var(--hofbauer-white);
}

.frame-linie header,
.frame-linie .ce-bodytext {
    position: relative;
    z-index: 1;
}

.frame-linie h1,
.frame-linie h2,
.frame-linie .ce-headline-primary {
    margin-bottom: 0;
    font-size: 36px;
}

.frame-linie h1 + h2,
.frame-linie h3:not(.ce-headline-primary),
.frame-linie .ce-headline-secondary {
    margin-top: 0.5em;
    color: var(--hofbauer-red);
    font-size: 14px;
}

.frame-linie header > *:last-child {
    margin-left: 60px;
    padding-bottom: 40px;
    background: var(--hofbauer-white);
}

.frame-linie .ce-bodytext {
    margin-left: 180px !important;
}

/* Flipboxen */
.frame-flip {
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 70px 0;
    background:
        linear-gradient(164deg, transparent 0 52%, #717171 52% 78%, transparent 78%),
        linear-gradient(146deg, var(--hofbauer-red-dark) 0 34%, var(--hofbauer-gray) 34% 82%, var(--hofbauer-red) 82%);
    color: var(--hofbauer-white);
}

#inhaltsbereich > .frame-flip {
    margin: 0;
    padding: 70px 0 !important;
    background:
        linear-gradient(164deg, transparent 0 52%, #717171 52% 78%, transparent 78%),
        linear-gradient(146deg, var(--hofbauer-red-dark) 0 34%, var(--hofbauer-gray) 34% 82%, var(--hofbauer-red) 82%);
    color: var(--hofbauer-white);
}

#inhaltsbereich > .frame-flip .row .frame,
#inhaltsbereich > .frame-flip .row .frame > .rahmen{
    width: 100%;
    margin: 0;
}

#inhaltsbereich .frame-flip .rahmen > header {
    margin-bottom: 0px;
}

#inhaltsbereich > .frame-layout-1,
#inhaltsbereich > .frame-bildslider {
    padding: 70px 0 !important;
}

.frame-flip .frame,
.frame-flip .frame > .rahmen,
.frame-leistungen .frame,
.frame-leistungen .frame > .rahmen,
.frame-bildslider .frame,
.frame-bildslider .frame > .rahmen {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

.frame-flip .frame > .rahmen,
.frame-leistungen .frame > .rahmen,
.frame-bildslider .frame > .rahmen {
    width: 100%;
    max-width: none;
}

.frame-flip > .rahmen {
    position: relative;
    z-index: 2;
    background: transparent;
}

.frame-flip .tx_cn-multicontent > .rahmen,
.frame-flip .tx_cn-columns .row {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    gap: 40px;
    background: transparent;
}

.frame-flip .tx_cn-columns,
.frame-flip .tx_cn-columns .row > div {
    width: auto;
}

.frame-flip .frame-default {
    width: 230px;
    color: var(--hofbauer-white);
}

.frame-flip .frame-default > .rahmen {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.frame-flip .tx_cn-columns {
    width: 100%;
}

.frame-flip .tx_cn-columns .row {
    width: 100%;
}

.frame-flip .tx_cn-columns .row .col-33 {
    width: 230px;
    float: none;
}

.frame-flip .tx_cn-columns[data-cols="3"] .row > div > div,
.frame-leistungen .tx_cn-columns[data-cols="3"] .row > div > div {
    width: auto;
    margin: 0;
}

.frame-flip h2,
.frame-flip p {
    color: var(--hofbauer-white);
}

.frame-flip header {
    order: 2;
    text-align: center;
}

.frame-flip h2 {
    position: relative;
    z-index: 2;
    margin-top: 20px;
    font-size: 24px;
    font-weight: 400;
    text-align: center;
}

.frame-flip .ce-textpic {
    position: relative;
    z-index: 2;
    order: 1;
    width: 230px;
    height: 230px;
    flex: 0 0 230px;
    border: 3px solid var(--hofbauer-white);
    border-radius: 50%;
    overflow: hidden;
    background: transparent;
}

.frame-flip .ce-gallery {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    opacity: 1;
    transition: opacity 0.2s linear;
}

.frame-flip .ce-gallery,
.frame-flip .ce-gallery img {
    width: 90px !important;
    margin: 0 auto;
}

.frame-flip .ce-bodytext {
    position: absolute;
    left: 0;
    top: 0;
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    opacity: 0;
    text-align: center;
    transition: opacity 0.2s linear;
    line-height: normal;
}

.frame-flip .ce-bodytext p{
    margin: 0;
}

.frame-flip .frame-default:focus-within .ce-bodytext,
.frame-flip .frame-default.is-touch-active .ce-bodytext {
    opacity: 1;
}

.frame-flip .frame-default:focus-within .ce-gallery,
.frame-flip .frame-default.is-touch-active .ce-gallery {
    opacity: 0;
}

.frame-flip::after,
.frame-flip::before,
.frame-flip > .rahmen::after {
    display: none;
}

/* Leistungen */
/* .frame-leistungen > .rahmen, */
/* .frame-leistungen .tx_cn-multicontent > .rahmen, */
#inhaltsbereich .frame-leistungen .tx_cn-columns .row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 60px;
    align-items: stretch;
    margin-top: 60px;
}


.frame-leistungen > .rahmen > header >*:last-child {
    grid-column: 1 / -1;
    margin-bottom: 50px;
}

.frame-leistungen .tx_cn-columns,
.frame-leistungen .tx_cn-columns .row > div {
    display: contents;
}

#inhaltsbereich .frame-leistungen .tx_cn-columns .row > div  {
    position: relative;
    grid-column: auto;
    display: block;
}

.frame-leistungen .frame-default {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-bottom: 0;
    padding: 40px 20px;
    border: 1px solid var(--hofbauer-red);
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    height: 100%;
}

#inhaltsbereich .frame-leistungen .frame-default > .rahmen{
    width: 100%;
}

.frame-leistungen strong {
    color: var(--hofbauer-red);
}

.frame-leistungen img {
    max-width: 90px !important;
    margin: 0 auto 20px;
}

#inhaltsbereich .frame-leistungen a {
    color: var(--hofbauer-gray);
    font-weight: 400;
    text-decoration: none;
}

.frame-flip .tx_cn-columns .row {
    display: flex;
}

.frame-leistungen .tx_cn-columns .row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 60px;
}

.linkoverlay {
    position: absolute;
    display: block;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    background: rgba(0,0,0,0);
    transition: all 0.3s ease;
}

.frame-style-slider header + .owl-carousel{
    margin-top: 40px;
}
/* Bildslider / Team */
#inhaltsbereich .frame-type-shortcut.frame-bildslider > .rahmen,
/* #inhaltsbereich .frame-bildslider .tx_cn-multicontent > .rahmen, */
#inhaltsbereich .frame-bildslider .owl-stage,
#inhaltsbereich .frame-bildslider .owl-carousel:not(.owl-loaded) {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 30px;
}

.frame-bildslider .frame-default {
    /* flex: 1 1 0; */
    min-width: 0;
    width: auto;
}

.frame-bildslider .frame-type-header + .frame-default{
    margin-top: 40px;
}

.frame-bildslider .image {
    position: relative;
    overflow: hidden;
}

.frame-bildslider .ce-gallery {
    padding-bottom: 30px;
}

.frame .ce-gallery figcaption{
    text-align: center;
    margin-top: 20px;
}

.frame-bildslider .ce-gallery figcaption {
    position: absolute;
    top: calc(100% - 70px);
    z-index: 2;
    width: 100%;
    height: 100%;
    padding: 10px;
    background: rgba(255, 255, 255, 0.8);
    text-align: center;
    font-weight: 400;
    transition: top 0.3s ease;
}

.frame-bildslider .ce-gallery figcaption::first-line {
    font-weight: 700;
}

.fett {
    font-weight: 700;
}

.owl-dots {
    width: 100%;
    text-align: center;
    margin-top: 30px;
}

#inhaltsbereich .owl-carousel button.owl-dot span{
    display: inline-block;
    width: 18px;
    height: 4px;
    background: var(--hofbauer-red-dark);
    margin: 0 2px;
    border: none !important;
    border: none;
}

#inhaltsbereich .owl-carousel button.owl-dot.active span {
    background: var(--hofbauer-red-bright);
}

/* Roter Rahmen */
.frame-umrandung .ce-textpic {
    /* width: calc(100% - 40px); */
    margin-top: 70px;
    padding: 40px 20px;
    border: 1px solid var(--hofbauer-red);
}

.frame-umrandung .ce-left .ce-gallery {
    margin-right: 25px;
}

.frame-umrandung .ce-right .ce-gallery {
    margin-left: 25px;
}

@media (hover: hover) and (pointer: fine) {
    .frame-flip .frame-default:hover .ce-bodytext {
        opacity: 1;
    }

    .frame-flip .frame-default:hover .ce-gallery {
        opacity: 0;
    }

    .frame-leistungen .linkoverlay:hover + div .ce-textpic strong {
        color: var(--hofbauer-gray);
    }

    .frame-leistungen .linkoverlay:hover + div .ce-textpic .ce-gallery {
        filter: grayscale(1) brightness(2.2);
    }

    .frame-bildslider .image:hover figcaption {
        top: -20px;
    }

    #inhaltsbereich a.link-internal:hover,
    #inhaltsbereich .link-internal:hover,
    .powermail_submit:hover,
    #inhaltsbereich button:hover,
    #inhaltsbereich .btn:hover {
        color: var(--hofbauer-white);
        background: var(--hofbauer-red);
    }

    #footer a:hover {
        font-weight: 700;
    }
}

/* Akkordeon / Anwalt */
.tx_cn-multicontent .col-75 .tx_cn-multicontent {
    margin-left: 0;
}

#inhaltsbereich > .tx_cn-multicontent .ui-corner-top {
    position: relative;
    /* width: calc(100% - 62px); */
    width: 100%;
    max-width: 100%;
    margin: 5px 0 0;
    padding: 10px 50px 10px 10px;
    border: 1px solid var(--hofbauer-red);
    background: none;
    font-size: 14px;
    cursor: pointer;
    outline: none;
    font-weight: 700;
    text-align: left;
}

#inhaltsbereich > .tx_cn-multicontent .ui-corner-top:hover{
    background: var(--hofbauer-red);
    color: var(--hofbauer-white);
}

#inhaltsbereich > .tx_cn-multicontent .ui-corner-top:hover::after{
    color: var(--hofbauer-white);
}

.ui-corner-top::after {
    content: "+";
    position: absolute;
    right: 3%;
    top: 6px;
    color: var(--hofbauer-gray);
    font-size: 20px;
}

.ui-accordion-header-active::after {
    content: "-";
}

.ui-accordion-content {
    margin-bottom: 40px;
    padding: 20px;
    background: var(--hofbauer-gray-light);
}

#inhaltsbereich > .frame-anwalt.frame-type-textmedia .ce-gallery {
    max-width: 25%;
}

/* Vollbreite Bildbuehne */
#inhaltsbereich > .frame-vollbreite {
    position: relative;
    height: 300px;
    min-height: 300px;
    margin-top: 0;
    overflow: hidden;
    isolation: isolate;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
}

#inhaltsbereich > .frame-vollbreite > .rahmen {
    position: relative;
    width: 100%;
    max-width: none;
    min-height: 300px;
    margin: 0;
}

.frame-vollbreite .ce-textpic {
    min-height: 300px;
}

.frame-vollbreite .ce-gallery {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    margin: 0;
}

.frame-vollbreite .ce-gallery .ce-row,
.frame-vollbreite .ce-gallery .ce-column,
.frame-vollbreite .ce-gallery figure,
.frame-vollbreite .ce-gallery picture {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
}

.frame-vollbreite img {
    width: 100%;
    height: 100%;
    min-height: 300px;
    object-fit: cover;
    display: block;
}

.frame-vollbreite header,
.frame-vollbreite .ce-bodytext {
    position: relative;
    z-index: 1;
}

@supports (hanging-punctuation: first) and (font: -apple-system-body) and (-webkit-appearance: none) {
    #inhaltsbereich > .frame-vollbreite {
        background-attachment: scroll !important;
        background-size: cover !important;
        background-repeat: no-repeat !important;
        background-position: center center !important;
    }
}

/* Formulare */
.powermail_fieldset {
    width: 100%;
    padding: 0;
    border: 0;
}

.powermail_fieldwrap {
    display: inline-block;
    width: 49%;
    margin-bottom: 30px;
    vertical-align: top;
}

.powermail_fieldwrap:nth-child(odd) {
    margin-right: 1%;
}

.powermail_fieldwrap:nth-child(even) {
    margin-left: 1%;
}

.powermail_input,
.powermail_textarea,
.powermail_captcha,
#inhaltsbereich input,
#inhaltsbereich textarea,
#inhaltsbereich select {
    width: 100%;
    padding: 5px 10px;
    border: 0;
    background: #e3e3e3;
    color: var(--hofbauer-gray);
    font: inherit;
    resize: vertical;
    outline: none;
}

.powermail_submit,
#inhaltsbereich button:not(.owl-dot),
#inhaltsbereich .btn {
    padding: 5px 25px;
    border: 1px solid var(--hofbauer-red);
    max-width: calc(100% - 50px);
    border-radius: 0;
    background: var(--hofbauer-white);
    color: #231f20;
    font: inherit;
    cursor: pointer;
    transition: color 0.3s linear, background-color 0.3s linear;
}

#inhaltsbereich .parsley-errors-list {
    margin: 0;
    padding: 0;
    color: var(--hofbauer-red-bright);
    list-style: none;
}

#inhaltsbereich .frame-keinabstand {
    margin: 0;
}

a.link-download {
    position: relative;
    display: block;
    padding: 4px 0 4px 30px;
}

a.link-download::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 25px;
    height: 25px;
    background: url("../Icons/pdf.svg") center center / contain no-repeat;
}

table td {
    padding-right: 20px;
}

/* Footer */
#footer {
    position: relative;
    overflow: hidden;
    padding: 30px 0;
    background: var(--hofbauer-gray);
    color: var(--hofbauer-white);
}

#footer .frame > .rahmen{
    width: 96%;
    margin: 0 2%;
    max-width: 96%;
}

#footer a {
    color: var(--hofbauer-white);
    text-decoration: none;
}

#footer .ce-bodytext {
    position: relative;
    z-index: 3;
    max-width: 50%;
}

#footer .ce-gallery {
    position: relative;
    z-index: 2;
    margin-top: 70px;
}

#footer::after,
#footer::before {
    content: "";
    position: absolute;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
}

#footer::after {
    bottom: 0;
    border-width: 200px 370px 0 0;
    border-color: transparent var(--hofbauer-red) transparent transparent;
}

#footer::before {
    top: 0;
    border-width: 440px 0 0 270px;
    border-color: var(--hofbauer-red-dark) transparent transparent transparent;
}

.qnavi {
    list-style-type: none;
    padding: 0;
    margin: 0;
    position: absolute;
    text-align: right;
    right: 2%;
    top: 50px;
    z-index: 2;
}

/* Medien-Consent */
.mediaconsent {
    position: relative;
    overflow: hidden;
    margin: 30px 0 50px;
}

.mediaconsent iframe {
    position: relative;
    z-index: 1;
}

.mapsoverlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(245, 245, 245, 0.6);
    text-align: center;
    cursor: pointer;
}

.cookie_only-this {
    margin: 5px;
    padding: 11px 20px 10px;
    border: 0;
    border-radius: 3px;
    background: #6c757d;
    color: var(--hofbauer-white);
    font: inherit;
    cursor: pointer;
}
