.carousel-inner > .item.template-flats {
    background-color: #8a969b;
}

.flats-table {
    margin: 34px auto;
    width: 100%;
    min-width: 1786px;
}

.flats-table-cell {
    margin: 0;
    padding: 0 10px;
    width: 10%;
}

.flats-table-cell-lg {
    width: 12%;
}

.flats-wrapper {
    display: none;
}

    .flats-wrapper.flats-pane-active {
        display: block;
    }

.flats-wrapper,
.flats-floor-select {
    position: relative;
}

    .flats-wrapper:before,
    .flats-wrapper:after {
        content: ' ';
        display: table;
        clear: both;
    }

.flats-back {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    text-decoration: none;
}

.flats-back-text {
    height: 48px;
    padding-top: 2px;
    line-height: 48px;
    color: #fff;
    text-align: center;
}

    .flats-back-text svg {
        margin: -5px 4px 0 0;
        width: 20px;
        height: 20px;
        vertical-align: middle;
        fill: #fff;
    }

.flats-wrapper .item-inner {
    position: relative;
    overflow: visible;
    max-width: 1800px;
    margin: 48px auto;
    padding: 0 16px;
}

.template-flats .flats-wrapper-floor .item-inner {
    padding: 0;
}

.flats-floor .flats-floor-content {
    padding: 32px 15%;
}

.flats-floor .flats-floor-select {
    margin: 0 -15%;
}

.flats-box {
    padding: 32px;
    background-color: rgba(255, 255, 255, .975);
}

.flats-background {
    position: fixed;
    background-size: cover;
    transition: transform .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.flats-select-list {
    margin: 0 auto;
    width: 100%;
    max-width: 1300px;
}

    .flats-select-list h1 {
        margin: 0 0 1em;
        line-height: 1.3;
        font-size: 1.5em;
        color: #fff;
        text-align: center;
        font-weight: 500;
    }

    .flats-select-list ul {
        margin: 0;
        padding: 0;
        list-style: none;
        color: #fff;
    }

    .flats-select-list li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.25);
        background-color: rgba(0, 0, 0, 0.75);
    }

.flats-select-list-sold a {
    background-color: rgba(155, 72, 63, 0.6);
}

.flats-select-list a {
    display: block;
    padding: 24px 32px;
    text-decoration: none;
}

.flats-select-list li:last-child {
    border-bottom: 0;
}

.flats-select-list h2 {
    margin: 0;
    font-size: 1.25em;
}

.flats-select-list small {
    display: block;
    font-size: 12px;
    line-height: 1;
    font-weight: 500;
    opacity: 0.5;
}

.flats-select-container {
    padding: 48px 15%;
    background-color: rgba(0, 0, 0, 0.6);
}

.flats-select-outer {
    display: none;
    min-height: 100%;
    align-items: center;
    background-color: #8a969b;
}

    .flats-select-outer:first-child {
        margin-top: -56px;
        padding-top: 56px;
        box-sizing: content-box;
    }

    /*@media (min-height: 1184px) {*/
    .flats-select-outer .flats-select-image {
        max-height: 175vh;
    }

.flats-floor-select .flats-select-image {
    /* max-height: calc(100vh - 236px - 96px); */
}
/*}*/

.flats-select-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 80px 15% 32px;
}

.flats-select {
    position: relative;
    display: inline-block;
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.2);
    transition: box-shadow .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.flats-select-wrapper.active .flats-select {
    box-shadow: none;
}

.flats-select-overlay,
.flats-select-dummy {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.flats-select-overlay {
    transform: translateZ(0);
    will-change: transform;
}

.flats-select-image,
.flats-select-overlay-image {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}

.flats-select-overlay-image {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
}

.flats-select-status-overlay {
    opacity: 1;
}

.flats-select-overlay-image.active {
    opacity: 1;
}

.flats-select-map area:not([href]) {
    cursor: default;
}

.flats-select-headings {
    display: none;
}

.has-active .flats-select-heading {
    color: rgba(255, 255, 255, .35);
}

.flats-select-headings {
    position: absolute;
    top: 0;
    left: 0;
    width: 30%;
    transition: transform .5s cubic-bezier(0.645, 0.045, 0.355, 1);
}

.flats-select-wrapper.active .flats-select-headings {
    transform: translateX(-100%);
}

.flats-select-heading {
    position: absolute;
    left: 0;
    width: 100%;
    margin: 0;
    color: #fff;
    font-size: 1em;
    transform: translateY(-50%);
    text-align: right;
    transition: color .3s ease;
}

.flats-select-heading-sold-out.active {
    font: 0 a;
}

    .flats-select-heading-sold-out.active a:after {
        font-family: 'Avenir Next W01', 'Avenir Next', 'Avenir', 'Helvetica Neue', Helvetica, Arial, sans-serif;
        font-size: 24px;
        content: 'Verkauft';
    }

.flats-select-heading.active {
    color: #fff;
}

.flats-select-heading a {
    display: block;
    text-decoration: none;
    padding: 0 30px 0 0;
}

.flats-floor-select-wrapper {
    display: flex;
    justify-content: center;
    max-width: 90vh; /* Wohnungsnavigator skalieren, falls Planbilder zu groß sind */
}

.flats-floor-select {
    display: inline-block;
    margin: 48px;
}

.flats-select-areas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.flats-select-area {
    fill: rgba(0, 0, 0, 0);
}

    .flats-select-area:hover,
    .flats-select-area.active {
        fill: rgba(74, 144, 226, 0.4);
    }

.flats-select-area-reserved,
.flats-select-area-unavailable,
.flats-select-area-sold {
    fill: rgba(126, 139, 145, 0.5) !important;
}

.flats-select .flats-select-area-sold {
    fill: rgba(200, 72, 63, 0.5) !important;
}

.flats-select-status {
    position: absolute;
    line-height: 1.3;
    padding: 0.5em 0.75em;
    font-family: 'Avenir Next W01', 'Avenir Next', 'Avenir', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    text-align: center;
    color: #fff;
    transform: translate(-50%, -50%);
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
    pointer-events: none;
}

.flats-select-status-unavailable {
    background-color: rgba(126, 139, 145, 0.85);
}

.flats-select-status-reserved {
    background-color: rgba(243, 156, 18, 0.85);
}

.flats-select-status-sold {
    background-color: rgba(192, 57, 43, 0.85);
}

.flats-select .flats-select-status {
    background-color: #fff;
    border: 2px solid #867550;
    color: #000;
    box-shadow: 0 0 0.75em rgba(0, 0, 0, 0.125);
}

.flats-select-label {
    position: absolute;
    line-height: 1;
}

.flats-select-label-north,
.flats-select-label-south {
    left: 50%;
    transform: translateX(-50%);
}

.flats-select-label-east,
.flats-select-label-west {
    top: 50%;
}

.flats-select-label-north {
    top: -32px;
}

.flats-select-label-east {
    right: -48px;
    transform: rotate(90deg) translate(-50%, -100%);
}

.flats-select-label-south {
    bottom: -32px;
}

.flats-select-label-west {
    left: -48px;
    transform: rotate(-90deg) translate(50%, -100%);
}

.flat-header {
    margin-bottom: 24px;
}

.flat-header-top {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -16px;
}

.flat-heading .heading {
    margin-bottom: 0;
}

.flat-heading-details {
    margin: 0;
    font-size: 13px;
}

    .flat-heading-details a {
        text-decoration: underline;
    }

.flat-legend {
    margin: 0;
    padding: 0;
}

    .flat-legend h3 {
        margin: 0;
    }

    .flat-legend dt {
        float: left;
        width: 20px;
    }

    .flat-legend dd {
        margin-left: 20px;
    }

.flats-floor-header a:hover,
.flats-floor-header a:focus {
    text-decoration: underline;
}

.flats-floor-has-flats {
    display: flex;
}

    .flats-floor-has-flats .flats-floor-sidebar {
        margin-right: 32px;
    }

.flats-floor-content {
    flex: 1;
}

.flats-floor-tops-display {
    display: none;
}

.flats-floor-tops {
    margin: 0;
    padding: 32px 15%;
    list-style: none;
}

.flats-floor-top a {
    display: block;
    padding: 24px;
    line-height: 1;
    background-color: rgba(0, 0, 0, .75);
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
}

.flats-floor-top dd {
    font-size: 1.5em;
}

.flats-floor-top:last-child a {
    border-bottom: 0;
}

.flats-floor-top-unavailable {
    color: #d6dadc;
}

.flats-floor-top-reserved span,
.flats-floor-top-available span {
    float: right;
}

.flats-floor-top h2 {
    display: inline;
    margin: 0;
    line-height: 1;
}

.flats-floor-top span {
    margin-left: 12px;
    line-height: 29px;
}

.flat-details .stats .flat-commission {
    font-size: 12px;
    color: #777;
}

.flats-floor-top .stats {
    padding-top: 16px;
    font-size: 10px;
}

    .flats-floor-top .stats + .stats {
        margin-left: 10px;
    }

.flats-floor-top .stats-row {
    width: 100%;
    flex-wrap: wrap;
}

.flat-details {
    display: block;
    width: 100%;
    font-size: 10px;
}

    .flat-details .stats:not(:first-child) {
        margin-top: 28px;
    }

.flat-meta {
    margin-bottom: 24px;
}

    .flat-meta:last-child {
        margin-bottom: 0;
    }

.flat-cats {
    margin: 0 -16px;
}

.flat-btn {
    display: flex;
    margin: 0 16px 16px;
}

    .flat-btn:last-child {
        margin-bottom: 0;
    }

.flat-parking {
    margin: 24px 0 -24px;
    text-align: center;
    font-size: small;
}

.flat-plan {
    margin-bottom: 24px;
}

.flat-slider {
    margin: 0 -16px !important;
    padding: 0 !important;
}

@media (min-width: 768px) {
    .flats-select-container {
        padding: 48px 128px;
    }

    .flats-select-wrapper {
        padding-right: 128px;
        padding-left: 128px;
    }

    .flats-select-wrapper-headings {
        padding-right: 10%;
        padding-left: 30%;
    }

    .js .flats-select-headings {
        display: block;
    }

    .template-flats .item-inner {
        padding: 0 128px;
    }

    .flats-box {
        padding: 48px;
    }
}

@media (min-width: 900px) {
    .flats-select-heading {
        font-size: 1.25em;
    }
}

@media (min-width: 1200px) {
    .flat-details {
        display: flex;
        justify-content: space-around;
        width: auto;
    }

    .flat-heading-details {
        white-space: nowrap;
    }

    .flat-details .stats {
        margin-top: 0;
        width: auto;
    }

        .flat-details .stats + .stats {
            margin-top: 0;
            margin-left: 24px;
        }

    .flat-cats {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

    .flat-btn {
        margin: 0 16px;
    }

    .flat-content {
        display: flex;
    }

    .flat-slider {
        min-width: 0;
        margin: 0 0 0 24px !important;
        padding: 24px !important;
    }

    .flat-plan {
        flex: 1;
        margin: 0;
    }

    .flat-plan-legend {
        margin: 0 16px;
    }
}

@media (min-width: 1100px) {
    .flats-select-heading {
        font-size: 1.5em;
    }

    .flat-details .stats + .stats {
        margin-left: 48px;
    }
}

@media (min-width: 1200px) {
    .flats-select-container {
        padding: 0;
        height: 100%;
        background: none;
    }

    .flats-select-list-mobile {
        display: none;
    }

    .flats-select-list {
        display: none;
    }

    .flats-select-outer {
        display: flex;
        min-height: calc(100vh - 56px);
    }

    .flats-select-heading a {
        padding-right: 60px;
    }

    .flats-floor .flats-floor-select {
        margin: 24px;
    }

    .flats-floor .flats-floor-content {
        padding: 24px;
    }

    .template-flats .flats-wrapper-floor .item-inner {
        margin: 48px auto;
        padding: 0;
    }

    .flats-floor-tops {
        padding: 0;
        background: none;
    }

    .flats-select-fly {
        position: absolute;
        top: -9999%;
        left: -9999%;
        display: none;
        margin: 32px 0 0 32px;
        min-width: 360px;
        pointer-events: none;
    }

        .flats-select-fly a {
            padding: 32px 64px;
            white-space: nowrap;
            border-bottom: 0;
        }

    .flats-floor-top .stats {
        font-size: 11px;
    }

    .flats-floor-top dd {
        font-size: 2em;
    }

    .flats-floor-top .stats-row {
        height: 0;
        overflow: hidden;
    }

    .flats-floor-top.active .stats-row,
    .flats-floor-top:hover .stats-row {
        height: 60px;
    }

    .flats-floor-top.active {
        display: block;
    }

    .flats-floor-top:last-child a {
        border-bottom: 0;
    }
}

@media (min-width: 1456px) {
    .template-flats .item-inner {
        padding: 0;
    }
}

/* Flats select table */
.flats-table-wrapper li {
    background-color: rgba(0, 0, 0, 0.5);
}

.flats-table-wrapper h2,
.flats-table-wrapper h3,
.flats-table-wrapper h4,
.flats-table-status {
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
}

/*.flats-floor .flats-floor-content {
  display: none;
}

.flats-floor-top {
  position: static;
  display: block;
  margin: 0;
  pointer-events: auto;
}
*/
.flats-select-container {
    height: auto;
    background-color: rgba(0, 0, 0, 0.6);
}

.flats-table {
    color: #fff;
    background-color: rgba(0, 0, 0, 0.6);
}

    .flats-table .flats-table-row {
        display: flex;
        padding: 4px 0;
        /*border-bottom: 1px solid rgba(255, 255, 255, 0.15);*/
    }

.flats-table-row:hover,
.flats-table-row:focus {
    background-color: rgba(255, 255, 255, 0.2);
}

/*.flats-table-row-dimmed .flats-table-cell {
  opacity: 0.6;
}*/

.flats-table .flats-table-headings {
    padding-bottom: 6px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}

.flats-table-headings .flats-table-cell {
    font-size: 12px;
    /*font-weight: 700;*/
}

.flats-table-headings .sort {
    background-image: url('data:image/svg+xml, %3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"%3E%3Cpath d="M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z" fill="%23cacaca"/%3E%3C/svg%3E');
    background-size: 10px;
    background-repeat: no-repeat;
    background-position: right 8px center;
}

    .flats-table-headings .sort.asc {
        background-image: url('data:image/svg+xml, %3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"%3E%3Cpath d="M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z" fill="%23847058"/%3E%3C/svg%3E');
    }

    .flats-table-headings .sort.desc {
        background-image: url('data:image/svg+xml, %3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"%3E%3Cpath d="M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z" fill="%23847058"/%3E%3C/svg%3E');
    }

.flats-table-headings .flats-table-name {
    line-height: inherit;
}

.flats-table-story:empty {
    /* display: none; */
}

.flats-table-cell:not(:first-child) {
    text-align: center;
}

/* .flats-table-headings .flats-table-cell-status {
  width: 140px;
} */

.flats-table-cell:first-child {
    padding-left: 20px;
}

.flats-table-cell:last-child {
    padding-right: 20px;
}

.flats-table-name {
    /*flex: 1;*/
    margin: 0;
    font-size: 14px;
    line-height: 28px;
    line-height: 32px;
}

.flats-table-condition {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.flats-table-price {
    min-width: 140px;
    white-space: nowrap;
    box-sizing: content-box;
}

.flats-table-plan {
    position: relative;
    width: 70px;
    text-align: center;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

    .flats-table-plan svg {
        width: 20px;
        height: 20px;
        fill: currentColor;
        vertical-align: middle;
    }

    .flats-table-plan a {
        position: absolute;
        top: -4px;
        bottom: -4px;
        margin-left: -10px;
        padding: 4px 26px 4px 20px;
    }

.flats-table-status {
    display: inline-block;
    min-width: 70px;
    width: 100px;
    text-align: center;
    line-height: 1;
    font-size: 60%;
    padding: 6px;
    background-color: #aaa;
    font-family: 'Avenir Next W01', 'Avenir Next', 'Avenir', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 400;
    text-transform: uppercase;
}

.flats-table-status-available {
    background-color: #2ecc71;
}

.flats-table-status-unavailable {
    background-color: #aaa;
}

.flats-table-status-sold {
    background-color: #e74c3c;
}

.flats-table-status-rented {
    background-color: #e74c3c;
}
/* OC */
.flats-table-status-reserved {
    background-color: #f1c40f;
}

.flats-table-commission {
    margin: 16px auto 0;
}

@media (max-width: 1800px) {
    .flats-select-container {
        padding-top: 32px;
        padding-bottom: 32px;
        background-color: rgba(0, 0, 0, 0.75);
    }

    .flats-table-wrapper {
        padding: 0;
    }

    .flats-table {
        background: none;
    }

        .flats-table .flats-table-headings {
            display: none;
        }

        .flats-table .flats-table-row {
            flex-wrap: wrap;
            border-bottom: 1px solid rgba(255, 255, 255, 0.15);
        }

    .flats-table-cell {
        width: 33.33333%;
        padding: 0;
    }

        .flats-table-cell:empty {
            display: none;
        }

        .flats-table-cell::after {
            content: ' ' attr(data-label);
        }

        .flats-table-cell:first-child {
            padding-left: 0;
        }

        .flats-table-cell:last-child {
            padding-right: 0;
        }

    .flats-table-cell {
        width: 100%;
    }

        .flats-table-cell:last-child {
            display: none;
        }

    .flats-table-name {
        flex: 0 1 auto;
        width: 100%;
        width: calc(100% - 70px);
    }
}

.flats-table-cell-status {
    width: 70px;
    box-sizing: content-box;
}

@media (min-width: 1800px) {
    .flats-table-cell:empty::after {
        content: '-';
    }

    .flats-table-commission {
        width: 80%;
        text-align: center;
        color: #fff;
    }

    .flats-table-name {
        width: 300px;
    }
}

.flats-select-switch {
    position: absolute;
    top: 14px;
    left: 50%;
    display: none;
    justify-content: center;
    margin-left: -150px;
    padding: 16px 14px 13px;
    width: 300px;
    /*height: 60px;*/
    line-height: 1.2;
    color: #fff;
    cursor: pointer;
    z-index: 1;
}

    .flats-select-switch .nav-trigger-box {
        margin-right: 8px;
    }

.flats-select-state {
    display: none;
}

    .flats-select-state ~ .flats-select-switch:after {
        content: ' ' attr(data-list-text);
    }

    .flats-select-state:checked ~ .flats-select-switch:after {
        content: ' ' attr(data-select-text);
    }

    .flats-select-state:checked ~ .flats-select-outer,
    .flats-select-state:checked ~ .flats-select-floors {
        display: none;
    }

    .flats-select-state:checked ~ .flats-table-wrapper {
        display: block;
    }

.flats-table-plan {
    display: none;
}

@media (min-width: 1200px) {
    .flats-select-switch {
        display: flex;
    }

    .flats-table-wrapper {
        padding: 80px 0 24px;
    }

        .flats-table-wrapper.flats-select-list-only {
            display: block;
            padding-top: 32px;
        }
    /* .flats-table-name {
    width: 220px;
  } */

    .flats-table-plan {
        display: block;
    }

    .flats-table-outdoor {
        min-width: 140px;
    }

    .flats-table-condition {
        min-width: 200px;
    }
}

@supports (display: grid) or (display: -ms-grid) {
    @media (min-width: 1800px) {
        .flats-table {
            --flats-table-regular-column-count: 6;
            display: -ms-grid;
            display: grid;
            -ms-grid-columns: 1.5fr (1fr)[7] 4rem;
            grid-template-columns: 1.5fr repeat(7, 1fr) 4rem;
        }

            .flats-table .flats-table-row,
            .flats-table .list {
                display: contents;
            }

            .flats-table .flats-table-cell {
                padding: 4px 0;
                width: auto;
            }

                .flats-table .flats-table-cell:first-child {
                    padding-left: 1rem;
                }

                .flats-table .flats-table-cell:last-child {
                    padding-right: 1rem;
                }

        .flats-table-row:hover .flats-table-cell {
            background-color: rgba(255, 255, 255, 0.2);
        }

        .flats-table .flats-table-headings .flats-table-cell {
            background-color: transparent !important;
        }
        
        .flats-table-plan a {
            position: static;
            margin: -4px 0;
            padding: 4px 0;
        }
    }
}

/* Keine Sortierpfeile bei 'Zustand' */
.flats-table-headings .flats-table-condition,
.flats-table-headings .flats-table-condition.sort {
    background-image: none !important;
    padding-right: 0;
}

/* Mobile: Inhalt schmäler machen */
@media (max-width: 1800px) {
    /* Reduziert das 15%-Padding von Desktop auf fixe, kleine Werte */
    .flats-select-container,
    .flats-select-wrapper {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* Sicherheit: nicht breiter als der Viewport */
    .flats-table {
        max-width: 100%;
    }

        .flats-table .flats-table-row {
            margin-left: 0;
            margin-right: 0;
        }

    .flats-table {
        width: 90%;
        min-width: 8rem;
        margin: 0 auto;
    }
}

/* Wrapper zentriert, nutzt mehr Seitenbreite; überschreibt max-width der .flats-select-list  */
@media (min-width: 1800px) {
  
.flats-select-list.flats-table-wrapper {
    box-sizing: border-box;
    width: 100%;
    max-width: min(1800px, 96vw);
    padding: 48px 8px 24px;

    /* Horizontales Scrollen für die breite Tabelle 
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; */
}
}