/***** RTE - Start *****/
.align-justify {
    display: flex;
    justify-content: center;
}
a.button {
    position: relative;
    display: inline-block;
    margin: 0 10px;
    padding: 6px 52px 7px 22px;
    font-weight: 400;
    color: #fff;
    text-decoration: none;
    background-color: rgb(var(--color-custom-3));
}
.content a.button {
    text-decoration: none;
}
a.button::before {
    content: '';
    position: absolute;
    top: calc(50% - 8px);
    right: 19px;
    width: 11px;
    height: 19px;
    background: url("../Images/bg-arrow-right-white.svg") no-repeat;
    background-size: contain;

    transition: all var(--transition-t1);
}
a.button:hover::before {
    right: 15px;
}
a.button:first-of-type {
    margin-left: 0;
}
a.button:last-of-type {
    margin-right: 0;
}

a.button-light {
    position: relative;
    display: inline-block;
    margin: 0 10px;
    padding: 6px 52px 7px 22px;
    font-weight: 400;
    color: rgb(var(--color-primary));
    text-decoration: none;
    background-color: rgb(var(--color-custom-4));
}
.content a.button-light {
    text-decoration: none;
}
a.button-light::before {
    content: '';
    position: absolute;
    top: calc(50% - 6px);
    right: 19px;
    width: 20px;
    height: 12px;
    background: url("../Images/bg-arrow-2-up.svg") no-repeat;
    background-size: contain;
    transform: rotate(90deg);

    transition: all var(--transition-t1);
}
a.button-light:hover::before {
    right: 15px;
}

a.anchor {
    position: relative;
    display: inline-block;
    margin: 0 10px;
    padding: 6px 52px 7px 0;
    font-weight: 400;
    color: rgb(var(--color-primary));
    text-decoration: none;
}
.content a.anchor {
    text-decoration: none;
}
a.anchor::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 38px;
    height: 42px;
    background: rgb(var(--color-custom-4)) url("../Images/bg-arrow-down-blue.svg") no-repeat center calc(50%);
    background-size: 21px auto;

    transition: all var(--transition-t1);
}
a.anchor:hover::before {
    background-position-y: calc(50% + 2px);
}

.text-center {
    text-align: center;
}
/***** RTE - End *****/

/***** TYPO3 - Start *****/
.frame-space-after-large {
    margin-bottom: 76px;
}
.frame-space-after-medium {
    margin-bottom: 40px;
}
/*.frame-type-textmedia {
    margin: 0 0 76px;
}
.container.layout-0 .frame-type-textmedia {
    margin-bottom: 0;
}
.container.layout-0 .col-md-8 + .col-md-4 .frame-type-textmedia {
    margin-bottom: 40px;
}*/
.ce-gallery figcaption {
    margin: 8px 0 0;
    color: rgb(var(--color-primary));
}
.content .frame-layout-100 .ce-uploads span.ce-uploads-fileName {
    display: none;
}
.frame-grid {
    margin-bottom: 76px;
}
.ce-intext.ce-left .ce-gallery {
    margin-right: 30px;
}
.ce-intext.ce-right .ce-gallery {
    margin-left: 30px;
}

.ce-uploads span {
    display: inline-block;
}
.ce-uploads li {
    display: flex;
}
.content ul.ce-uploads li {
    margin: 0 0 20px;
    padding: 0;
}
ul.ce-uploads li::before {
    display: none;
}
.ce-uploads span.ce-uploads-fileName {
    display: none;
}
.ce-uploads span.ce-uploads-title {
    color: rgb(var(--color-primary));
}
.ce-uploads span.download-icon.i-pdf {
    flex: 0 0 36px;
    width: 28px;
    height: 30px;
    background: url("../Images/bg-icon-pdf-blue.svg") no-repeat;
    background-size: contain;
}
.ce-uploads span.download-icon.i-zip {
    flex: 0 0 36px;
    width: 28px;
    height: 30px;
    background: url("../Images/bg-icon-zip-blue.svg") no-repeat;
    background-size: contain;
}
.ce-uploads span.download-icon.i-xls,
.ce-uploads span.download-icon.i-xlsx {
    flex: 0 0 36px;
    width: 28px;
    height: 30px;
    background: url("../Images/bg-icon-xls-blue.svg") no-repeat;
    background-size: contain;
}

table caption {
    padding: 10px 0;
    caption-side: bottom;
    font-style: italic;
    text-align: right;
}

.ce-bodytext a[href*=".PDF"],
.ce-bodytext a[href*=".pdf"] {
    position: relative;
    display: inline-block;
    padding: 0 0 0 46px;
    color: rgb(var(--color-primary));
    text-decoration: none;
}
.ce-bodytext a[href*=".PDF"]::before,
.ce-bodytext a[href*=".pdf"]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 32px;
    height: 38px;
    background: url("../Images/bg-icon-pdf-blue.svg") no-repeat;
    background-size: contain;
}
.ce-bodytext a[href*=".PDF"].button,
.ce-bodytext a[href*=".pdf"].button {
    background-color: transparent;
}
/***** TYPO3 - End *****/

/***** Überschriften - Start *****/

/***** Überschriften - End *****/

/***** Links - Start *****/
.content a {
    text-decoration: underline;
}
.content a:hover {
    text-decoration: none;
}
/***** Links - End *****/

/***** Pageimage - Start *****/
.header-image .item {
    position: relative;
}
/***** Pageimage - End *****/

/***** Pagetitle - Start *****/
.pagetitle {
    margin: -145px 0 76px;
}
.pagetitle .inner {
    position: relative;
    display: inline-block;
    max-width: 910px;
    min-height: 183px;
    padding: 40px 50px 48px;
    color: #fff;
    background-color: rgba(var(--color-secondary), .9);
    z-index: 2;
}
.page-layout-10 .pagetitle .inner {
    background-color: rgba(var(--color-primary), .9);
}
.page-layout-20 .pagetitle .inner {
    background-color: rgba(var(--color-custom-1), .9);
}
.pagetitle .layout-0 {
    margin: 0;
}
.pagetitle .headline-page {
    margin: 0 0 14px;
    font-size: 24px;
    font-weight: 300;
}
.pagetitle .headline-custom h1,
.pagetitle .headline-custom h2 {
    margin: 0;
    font-size: 38px;
    color: #fff;
}
.pagetitle .headline-custom .ce-textpic {
    display: none;
}
/***** Pagetitle - End *****/

/***** Contactperson - Start *****/
.contact-person {
    position: relative;
    margin: 0 0 40px;
    padding: 126px 24px 24px;
    color: #fff;
    text-align: center;
    background-color: rgb(var(--color-primary));
}
.contact-person::before {
    content: '';
    position: absolute;
    top: 36px;
    left: calc(50% - 36px);
    width: 73px;
    height: 66px;
    background: url("../Images/bg-icon-contact.svg") no-repeat;
    background-size: contain;
}
.contact-person.bg-0 {
    background-color: rgb(var(--color-primary));
}
.contact-person.bg-1 {
    background-color: rgb(var(--color-secondary));
}
.contact-person .title {
    font-weight: 600;
    margin: 0 0 20px;
}
.contact-person .name {
    font-weight: 600;
}
/***** Contactperson - End *****/

/***** Layout- und Rahmenklassen - Start *****/
.frame-layout-31 {
    margin: 0 0 76px;
    padding: 112px 0 96px;
    background-color: rgba(var(--color-custom-1), .09);
}
.frame-layout-32 {
    margin: 0 0 76px;
    padding: 112px 0 96px;
    background-color: rgba(var(--color-secondary), .09);
}
.frame-layout-33 {
    margin: 0 0 76px;
    padding: 112px 0 96px;
    background-color: rgba(var(--color-primary), .09);
}
.frame-layout-31 .video-embed,
.frame-layout-32 .video-embed,
.frame-layout-33 .video-embed {
    margin-bottom: 15px;
}

.frame-layout-110 {
    margin: 0 0 76px;
    text-align: center;
}
.frame-layout-110 .inner {
    position: relative;
    width: 742px;
    max-width: 100%;
    margin: 0 auto;
    padding: 30px 100px 30px 50px;
    color: #fff;
    background-color: rgba(var(--color-secondary));
}
.frame-layout-110 header .inner::before {
    content: '';
    position: absolute;
    top: 32px;
    right: 36px;
    width: 68px;
    height: 68px;
    background: url("../Images/bg-icon-info.svg") no-repeat;
    background-size: contain;
    z-index: 2;
}
.frame-layout-110 header .inner {
    padding-top: 35px;
    padding-bottom: 0;
}
.frame-layout-110 .inner h2 {
    margin: 0;
    color: #fff;
    font-weight: 600;
}

.header-layout-11 h2 {
    margin: 0 0 30px;
    font-size: 50px;
    color: rgb(var(--color-custom-1));
}
.header-layout-12 h2 {
    margin: 0 0 30px;
    font-size: 50px;
    color: rgb(var(--color-secondary));
}
.header-layout-13 h2 {
    margin: 0 0 30px;
    font-size: 50px;
    color: rgb(var(--color-primary));
}
.header-layout-14 h2 {
    margin: 0 0 30px;
    font-size: 50px;
    color: rgb(var(--color-custom-2));
}

.frame-layout-200 {
    margin: 0 0 76px;
    padding: 60px 0;
    background-color: rgba(var(--color-custom-5), .43);
}

.frame-layout-210 header {
    text-align: center;
}



.container.layout-0 {
    margin-bottom: 76px;
}
.col-md-4 .header-footer.layout-0 {
    margin: 0;
}

.layout-10 {
    text-align: center;
}
.layout-10.textmedia {
    margin: 0 0 76px;
}

/*
.frame-layout-32 {
    position: relative;
    margin: 0 0 40px;
    padding: 24px 24px 24px;
    color: #fff;
    font-weight: 300;
    text-align: center;
    background-color: rgb(var(--color-custom-2));
}
.frame-layout-32 h3 {
    margin: 0 0 10px;
    color: #fff;
}
.frame-layout-32 a.button {
    color: #fff;
    border: 2px solid #fff;
}
.frame-layout-32 a.button::before {
    background-image: url("../Images/bg-arrow-right-white.svg");
}
.container.nopadding.frame-layout-32 .layout-32 {
    margin: 0;
}
*/

.frame-layout-100 {
    position: relative;
    margin: 0 0 40px;
    color: #fff;
    font-weight: 300;
}
#page3 .frame-layout-100 {
    margin-bottom: 76px;
}
.frame-layout-100 .inner {
    position: relative;
    padding: 24px 216px 44px 232px;
    background-color: rgb(var(--color-custom-2));
}
.col-md-4 .frame-layout-100 .inner {
    position: relative;
    padding: 24px 24px;
    background-color: rgb(var(--color-custom-2));
}
.frame-layout-100 header .inner,
.col-md-4 .frame-layout-100 header .inner {
    padding-bottom: 1px;
    margin-bottom: -24px;
}
.frame-layout-100 .inner::before {
    content: '';
    position: absolute;
    top: -4px;
    left: 104px;
    width: 100px;
    height: 105px;
    background: url("../Images/bg-icon-megaphone.svg") no-repeat;
    background-size: 99px auto;
}
.frame-layout-100 header .inner::before {
    display: none;
}
.col-md-4 .frame-layout-100 .inner::before {
    display: none;
}
.col-md-4 .frame-layout-100 header .inner::before {
    display: block;
    content: '';
    position: absolute;
    top: 15px;
    left: 24px;
    width: 71px;
    height: 75px;
    background: url("../Images/bg-icon-megaphone.svg") no-repeat;
    background-size: 71px auto;
}
.frame-layout-100 h3 {
    margin: 20px 0 32px 0;
    font-size: 26px;
    color: #fff;
    font-weight: 500;
}
.col-md-4 .frame-layout-100 h3 {
    margin: 20px 0 40px 90px;
    font-weight: 400;
}

.content .frame-layout-100 ul li::before {
    background-color: #fff;
}
.frame-layout-100 a.button {
    position: relative;
    display: inline-block;
    padding: 6px 52px 7px 22px;
    color: #fff;
    text-decoration: none;
    border: 2px solid #fff;
    border-radius: 30px;
}
.frame-layout-100 a.button::before {
    content: '';
    position: absolute;
    top: 16px;
    right: 19px;
    width: 20px;
    height: 17px;
    background: url("../Images/bg-arrow-right-white.svg") no-repeat;
    background-size: contain;

    transition: all var(--transition-t1);
}
.frame-layout-100 a.button:hover::before {
    right: 15px;
}
.frame-layout-100 .ce-bodytext p:last-of-type {
    margin-bottom: 0;
}
.content .frame-layout-100 ul li:last-of-type {
    margin: 0;
}

/*.content .frame-layout-100 .ce-uploads span {
    display: inline-block;
}
.content .frame-layout-100 ul.ce-uploads li {
    display: flex;
    padding: 0;
}
.content .frame-layout-100 ul.ce-uploads li::before {
    display: none;
}
.ce-uploads span.download-icon.i-pdf {
    flex: 0 0 36px;
    width: 28px;
    height: 30px;
    background: url("../Images/bg-icon-pdf.svg") no-repeat;
    background-size: contain;
}

.frame-layout-110 {
    background-color: rgba(var(--color-table-bg), .11 );
}
.frame-layout-110 .header {
    padding-top: 40px;
}
.frame-grid.frame-layout-110 {
    margin-bottom: 76px;
    padding-bottom: 60px;
}*/
/***** Layout- und Rahmenklassen - End *****/

/***** Tabellen - Start *****/
.table-responsive {
    margin: 0 0 76px;
    overflow-x: auto;
}
.table.rm {
    border-collapse: collapse;
    width: 100%;
    font-size: 22px;
}
.table.rm th {
    text-align: left;
    font-weight: 500;
    color: #fff;
    background-color: rgb(var(--color-primary));
}
.table.rm tr {
    border-bottom: 2px solid #fff;
    background-color: rgba(var(--color-primary), .20);
}
.table.rm tr:nth-of-type(even) {
    background-color: rgba(var(--color-primary), .10);
}
.table.rm th,
.table.rm td {
    padding: 20px 20px 16px;
}
.table.rm td p {
    margin: 0;
}

/***** Tabellen - End *****/

/***** Video - Start **/
/*video {
    display: block;
}*/
video {
    display: block;
    width: 1296px;
    max-width: 100%;
    height: auto;
}
.video-embed {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: 0;
    padding-bottom: 56.25%;
}
/*.video video {
    width: 100%;
}*/
.video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/***** Video - End **/

/***** Sonderlocke: Mieterstrom - Start *****/
#c1205 .ce-gallery .ce-row .ce-column:nth-of-type(2) {
    display: none;
}
#c1205 .ce-gallery .ce-row:nth-of-type(2) {
    display: none;
}
/***** Sonderlocke: Mieterstrom - End *****/