﻿@keyframes spin {
    100% {
        transform: rotate(360deg);
    }
}

.detail-page-content.checkin-information-page .navigation {
    display: flex;
    align-items: center;
    padding: var(--container-margin) 0;
}

.detail-page-content.checkin-information-page h1 {
    font-size: 180%;
}

.detail-page-content .parking-information-container {
    display: flex;
}

    .detail-page-content .parking-information-container .parking-information-image {
        width: 50%;
        flex-shrink: 0;
        margin-left: var(--container-margin);
        overflow: hidden;
        border-radius: var(--container-border-radius);
    }

    .detail-page-content .parking-information-container .parking-information-image img {
        width: 100%;
        object-fit: cover;
        display: flex;
    }


@media screen and (max-width:630px) {
    .detail-page-content .parking-information-container {
        flex-direction:column;
    }

        .detail-page-content .parking-information-container .parking-information-description {
            order:1;
        }

        .detail-page-content .parking-information-container .parking-information-image {
            order: 0;
            margin-bottom: var(--container-margin);
            margin-left: 0;
            width: initial;
        }

}

    .detail-page-content .accommodation-details {
        display: flex;
        margin-top: var(--container-margin);
    }

        .detail-page-content .accommodation-details .accommodation-address {
            align-content: center;
        }

            .detail-page-content .accommodation-details .accommodation-address .accommodation-name {
                font-weight: 600;
            }

        .detail-page-content .accommodation-details .accommodation-image {
            margin-right: var(--container-margin);
        }

            .detail-page-content .accommodation-details .accommodation-image img {
                display: flex;
                width: 100px;
                height: 100px;
                border-radius: 50px;
                overflow: hidden;
            }

    .detail-page-content section:not(:first-child) {
        margin-top: var(--block-margin);
    }

    .detail-page-content {
        padding-bottom: var(--block-margin);
        --inline-title-width: 150px;
        --book-panel-width: 400px;
    }

@media screen and (max-width:630px) {
    .detail-page-content .accommodation-details .accommodation-image {
        display:none;
    }
}





    .detail-page-content.with-sidepanel .main-spacer {
        max-width: calc(var(--main-spacer-width) + var(--book-panel-width) - (var(--container-margin) * 4) - 4px);
    }

    @media screen and (max-width:1200px) {
        .detail-page-content {
            --book-panel-width: 385px;
        }
    }

    @media screen and (max-width:900px) {
        .detail-page-content section:last-child {
            padding-bottom: 50px;
        }
    }



        .detail-page-content .booking-panel .booking-panel-spacer {
            width: 100%;
            max-width: var(--main-content-width);
            margin-left: auto;
            margin-right: auto;
            height: 0;
        }

    .detail-page-content .internet-information .internet-description {
    }

    .detail-page-content .internet-information .internet-access-information {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-left: var(--container-margin);
    }

    .detail-page-content .internet-information .internet-details-container {
        display: flex;
    }


    .detail-page-content .internet-information .internet-access-information {
        width: 50%;
        max-width: 350px;
        flex-shrink: 0;
    }

    @media screen and (max-width:900px) {
        .detail-page-content .internet-information .internet-access-information {
            max-width: 250px;
        }
    }

    @media screen and (max-width:630px) {
        .detail-page-content .internet-information .internet-details-container {
            flex-direction: column;
        }

        .detail-page-content .internet-information .internet-access-information {
            width: 100%;
            max-width: initial;
            margin-top: var(--container-margin);
            margin-left: 0;
        }
    }

    .detail-page-content .internet-information .qr-code {
        width: 100%;
        display: flex;
        border: 1px solid black;
        border-radius: var(--container-border-radius);
    }


    .detail-page-content .internet-information .ssid {
        font-weight: 600;
        font-size: 125%;
        margin-top: var(--container-margin);
    }

    .detail-page-content .internet-information .password {
        font-weight: 600;
        font-size: 125%;
        margin-top: var(--element-margin);
    }

    .detail-page-content .checkin-information .self-checkin-code-container {
        position: relative;
        border-radius: var(--container-border-radius);
        display: flex;
        overflow: hidden;
        flex-shrink: 0;
        width: 450px;
        max-width: 50%;
    }

    .detail-page-content .checkin-information .self-checkin-directions {
        display: flex;
    }

    .detail-page-content .checkin-information .self-checkin-code-container {
        margin-right: var(--container-margin);
    }

        .detail-page-content .checkin-information .self-checkin-code-container img {
            width: 100%;
            display: flex;
        }

        .detail-page-content .checkin-information .self-checkin-code-container .code {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0,0,0,0.5);
            color: #fff;
            font-weight: 800;
            font-size: 400%;
            display: flex;
            justify-content: center;
            align-items: center;
            letter-spacing: 20px;
        }

    @media screen and (max-width:630px) {
        .detail-page-content .checkin-information .self-checkin-directions {
            flex-direction: column;
        }

        .detail-page-content .checkin-information .self-checkin-code-container {
            margin-right: 0;
            width: 100%;
            max-width: initial;
            margin-bottom: var(--container-margin);
        }

            .detail-page-content .checkin-information .self-checkin-code-container .code {
                font-size: 350%;
            }
    }


    .detail-page-content .booking-panel .booking-panel-content-container {
        background-color: #fff;
        box-sizing: border-box;
        width: calc(var(--book-panel-width) - var(--container-margin));
        margin-left: auto;
        margin-right: var(--container-margin);
        position: relative;
        top: -50px;
        box-shadow: var(--overlay-shadow);
        border-radius: var(--container-border-radius);
    }

    .detail-page-content .booking-panel .total-price-container {
        padding: var(--container-margin);
        padding-bottom: 0;
        font-size: 130%;
        font-weight: 500;
        color: var(--accent-color);
    }


        .detail-page-content .booking-panel .total-price-container .period-type-label {
            font-size: 80%;
            font-weight: 300;
        }

        .detail-page-content .booking-panel .total-price-container .from-price {
            position: relative;
        }

            .detail-page-content .booking-panel .total-price-container .from-price::before {
                border-top: 2px solid var(--accent-color);
                content: "";
                left: -3px;
                position: absolute;
                right: -3px;
                top: 42%;
                transform: rotate(-12deg);
            }

    .detail-page-content .booking-panel .period-selection {
        display: flex;
        padding: var(--container-margin);
        position: relative;
    }

        .detail-page-content .booking-panel .period-selection .period-selection-container .calendar {
            margin-top: var(--container-margin);
        }

        .detail-page-content .booking-panel .period-selection .period-selection-container .flatpickr-calendar .day-with-price {
            display: flex;
            flex-direction: column;
        }

            .detail-page-content .booking-panel .period-selection .period-selection-container .flatpickr-calendar .day-with-price .day {
                line-height: initial;
            }

            .detail-page-content .booking-panel .period-selection .period-selection-container .flatpickr-calendar .day-with-price .price {
                line-height: initial;
                font-size: 80%;
                font-weight: 600;
                color: var(--accent-color);
            }

        .detail-page-content .booking-panel .period-selection .period-selection-container:not(.has-dates) .flatpickr-calendar .day-with-price.check-out-only {
            opacity: 1;
        }

        .detail-page-content .booking-panel .period-selection .period-selection-container .flatpickr-calendar .day-with-price:hover .price,
        .detail-page-content .booking-panel .period-selection .period-selection-container .flatpickr-calendar .endRange.day-with-price .price,
        .detail-page-content .booking-panel .period-selection .period-selection-container .flatpickr-calendar .inRange.day-with-price .price,
        .detail-page-content .booking-panel .period-selection .period-selection-container .flatpickr-calendar .selected.day-with-price .price {
            color: #fff;
        }



        .detail-page-content .booking-panel .period-selection .period-selection-container {
            position: absolute;
            top: 0px;
            right: 0px;
            z-index: 2;
            max-width: 750px;
            background-color: #fff;
            box-shadow: var(--overlay-shadow);
            padding: var(--container-margin);
            width: 100vw;
            box-sizing: border-box;
            border-radius: var(--container-border-radius);
        }

            .detail-page-content .booking-panel .period-selection .period-selection-container .selected-dates {
                width: calc(var(--book-panel-width) - (var(--container-margin) * 2));
                margin-left: auto;
                padding-left: var(--container-margin);
                box-sizing: border-box;
                display: flex;
            }

            .detail-page-content .booking-panel .period-selection .period-selection-container .clear {
                border: none;
                background-color: transparent;
                font-weight: 500;
                font-size: 90%;
                cursor: pointer;
            }

            .detail-page-content .booking-panel .period-selection .period-selection-container .button-container {
                text-align: right;
                margin-top: var(--container-margin);
            }

        .detail-page-content .booking-panel .period-selection .period-selection-overlay {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 2;
        }

        .detail-page-content .booking-panel .period-selection button.select-period {
            border: none;
            background-color: transparent;
            padding: 0;
            cursor: pointer;
            font-weight: 300;
        }

    .detail-page-content .booking-panel .form-item {
        padding: var(--container-margin);
        padding-bottom: 0;
    }

    .detail-page-content .booking-panel .form-item-label {
        font-size: 90%;
        font-weight: 400;
        color: var(--accent-color);
    }

.detail-page-content .booking-panel .form-container {
    box-sizing: border-box;
    max-height: calc(100vh - 200px);
    border-radius: 0 0 var(--container-border-radius) var(--container-border-radius);
    background-color: #fff;
}

        .detail-page-content .booking-panel .form-container > :last-child {
            border-radius: 0 0 var(--container-border-radius) var(--container-border-radius);
        }

    .detail-page-content .booking-panel .booking-panel-content-container > :first-child {
        border-radius: var(--container-border-radius) var(--container-border-radius) 0 0;
    }

    .detail-page-content .booking-panel .booking-panel-content-container > :last-child {
        border-radius: 0 0 var(--container-border-radius) var(--container-border-radius);
    }

    .detail-page-content .booking-panel .guest-contact-information .form-item:first-child {
        padding-top: 0;
    }

    .detail-page-content .booking-panel .form-item input {
        outline: none;
        -webkit-appearance: none;
        border-radius: 0;
        width: 100%;
        box-sizing: border-box;
        border: none;
        border-bottom: 1px solid var(--accent-color);
        padding: var(--element-margin) 0;
        font-size: 100%;
        color: rgb(34, 34, 34);
    }

    .detail-page-content .booking-panel .guests-selection {
        padding: 0 var(--container-margin);
        padding-bottom: var(--container-margin);
    }

    .detail-page-content .booking-panel .price-details {
        padding: var(--container-margin);
        border-bottom: 1px solid rgb(213, 213, 213);
        margin-bottom: var(--container-margin);
        padding-top: 0;
        border-top: 1px solid rgb(213, 213, 213);
        padding-top: var(--container-margin);
    }

    .detail-page-content .booking-panel .not-charged-yet {
        text-align: center;
        margin-top: var(--element-margin);
        color: var(--accent-color);
        font-weight: 400;
        font-size: 90%;
    }

    .detail-page-content .booking-panel .guests-selector {
        list-style: none;
        padding: 0;
        margin: 0;
    }

        .detail-page-content .booking-panel .guests-selector li {
            display: flex;
            width: 100%;
            margin-bottom: var(--container-margin);
        }

            .detail-page-content .booking-panel .guests-selector li:last-child {
                margin-bottom: 0;
            }


            .detail-page-content .booking-panel .guests-selector li .guest-type {
                flex: 1;
            }

            .detail-page-content .booking-panel .guests-selector li .guest-type-description {
                font-size: 80%;
                font-weight: 500;
                color: var(--accent-color);
                line-height: 100%;
            }

            .detail-page-content .booking-panel .guests-selector li .guest-type-name {
                font-weight: 500;
            }

    .detail-page-content .booking-panel .check-in-date,
    .detail-page-content .booking-panel .check-out-date {
        flex: 1;
    }


    .detail-page-content .booking-panel .checker {
        cursor: pointer;
        display: flex;
        align-items: center;
        font-size: 90%;
    }


    .detail-page-content .booking-panel input:checked + .checker svg {
        background-color: var(--accent-color);
        border-color: var(--accent-color);
        fill: #fff;
    }

    .detail-page-content .booking-panel .checker svg {
        border: 1px solid gray;
        width: 16px;
        height: 16px;
        padding: 0px;
        margin-right: var(--element-margin);
        transition: all ease 0.1s;
        fill: transparent;
    }

    .detail-page-content .booking-panel .price-detail-list {
        padding: 0px;
        margin: 0px;
        font-size: 90%;
        font-weight: 400;
    }

        .detail-page-content .booking-panel .price-detail-list .price-detail-item {
            display: flex;
            width: 100%;
        }

            .detail-page-content .booking-panel .price-detail-list .price-detail-item:not(:last-child) {
                margin-bottom: 2px;
            }

            .detail-page-content .booking-panel .price-detail-list .price-detail-item .price-detail-label {
                flex: 1;
                text-align: left;
                padding-right: var(--element-margin);
            }

            .detail-page-content .booking-panel .price-detail-list .price-detail-item .price-detail-value {
            }

    .detail-page-content .booking-panel .coupon-code {
        padding-top: 0;
    }

        .detail-page-content .booking-panel .coupon-code .coupon-description {
            margin-top: var(--element-margin);
            display: flex;
            justify-content: center;
            color: var(--accent-color);
            font-weight: 600;
        }

        .detail-page-content .booking-panel .coupon-code .coupon-code-container {
            border: 1px solid rgb(213, 213, 213);
            border-radius: 4px;
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
            display: flex;
            height: 45px;
            letter-spacing: 1px;
            overflow: hidden;
        }

            .detail-page-content .booking-panel .coupon-code .coupon-code-container form {
                display: flex;
                width: 100%;
            }

            .detail-page-content .booking-panel .coupon-code .coupon-code-container input {
                flex: 1;
                padding: var(--element-margin);
                border: none;
            }

            .detail-page-content .booking-panel .coupon-code .coupon-code-container button {
                display: flex;
                border: none;
                background-color: transparent;
                align-items: center;
                justify-content: center;
                width: 43px;
                cursor: pointer;
            }

            .detail-page-content .booking-panel .coupon-code .coupon-code-container img {
                width: 24px;
                height: 24px;
            }

    .detail-page-content .booking-panel.loading .coupon-code .coupon-code-container img {
        animation: spin 0.6s linear infinite;
    }

    .detail-page-content .booking-panel .title-container {
        background-color: var(--accent-color);
        color: #fff;
    }

        .detail-page-content .booking-panel .title-container h2 {
            color: #fff;
            text-align: center;
            height: 50px;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 120%;
            font-weight: 400;
        }

    .detail-page-content .booking-panel .toggle-panel {
        display: none;
        width: 100%;
        border: none;
        font-size: 120%;
        padding: var(--element-margin);
        height: 50px;
        cursor: pointer;
        background-color: var(--accent-color);
        color: #fff;
    }

    .detail-page-content .booking-panel button.reserve {
        display: block;
        width: 100%;
        height: 50px;
        background-color: var(--accent-color);
        color: #fff;
        font-size: 120%;
        font-weight: 300;
        border: none;
        cursor: pointer;
        border-radius: 4px;
    }

        .detail-page-content .booking-panel button.reserve[disabled] {
            opacity: 0.5;
            cursor: not-allowed;
        }

    .detail-page-content .booking-panel .accommodation-rules {
        list-style: none;
        padding: 0;
        margin: 0;
    }

        .detail-page-content .booking-panel .accommodation-rules li {
            display: flex;
        }

            .detail-page-content .booking-panel .accommodation-rules li span {
                flex: 1;
                font-size: 90%;
            }

        .detail-page-content .booking-panel .accommodation-rules svg {
            width: 16px;
            height: 16px;
            align-self: center;
            margin-right: 8px;
            fill: var(--accent-color);
        }


    .detail-page-content .booking-panel .listing-price {
        color: var(--accent-color);
    }

        .detail-page-content .booking-panel .listing-price .from-price {
            position: relative;
        }

            .detail-page-content .booking-panel .listing-price .from-price:before {
                border-top: 2px solid var(--accent-color);
                content: "";
                left: -3px;
                position: absolute;
                right: -3px;
                top: 42%;
                transform: rotate(-10deg);
            }

.detail-page-content .booking-panel {
    font-size: 90%;
}

@media screen and (min-width:901px) {
    .detail-page-content .booking-panel {
                    top: 166px;
                    position: sticky;
                    height: 0px;
                    overflow: visible;
                    z-index: 10;
                    margin-top: 0 !important;
                }
            }


    @media screen and (max-width:900px) {
        .detail-page-content {
            --book-panel-width: 0px;
        }

            .detail-page-content.with-sidepanel {
                padding-bottom: calc(var(--block-margin) + 50px);
            }

            .detail-page-content .booking-panel .title-container h2 {
                display: none;
            }

            .detail-page-content .booking-panel {
                position: fixed;
                bottom: 0;
                width: 100%;
                margin: 0;
                padding: 0;
                transform: translateY(calc(100% - 50px));
                transition: transform ease 0.3s;
                z-index: 201;
                max-height: calc(100% - 30px);
                height: 615px;
                left: 0;
            }

                .detail-page-content .booking-panel .form-container {
                    overflow-y: auto;
                    height: 100%;
                    max-height: calc(100% - 50px);
                }

                .detail-page-content .booking-panel .toggle-panel {
                    display: block;
                }

                .detail-page-content .booking-panel.expanded {
                    transform: translateY(0);
                }

                .detail-page-content .booking-panel .booking-panel-spacer {
                    height: 100%;
                }

                .detail-page-content .booking-panel .booking-panel-content-container {
                    top: auto;
                    width: 100%;
                    height: 100%;
                }

                .detail-page-content .booking-panel .period-selection .period-selection-container .selected-dates {
                    width: 100%;
                    padding-left: 0;
                }

                .detail-page-content .booking-panel .period-selection .period-selection-container {
                    width: 100%;
                    max-width: auto;
                }

                .detail-page-content .booking-panel .form-container > :last-child {
                    border-radius: 0;
                }

                .detail-page-content .booking-panel .booking-panel-content-container > :first-child {
                    border-radius: 0;
                }

                .detail-page-content .booking-panel .booking-panel-content-container > :last-child {
                    border-radius: 0;
                }
    }

    .detail-page-content.with-sidepanel .main-spacer {
        padding-right: calc(var(--book-panel-width) + var(--container-margin));
        padding-left: var(--container-margin);
    }

    @media screen and (max-width: 450px) {
        .detail-page-content.with-sidepanel .main-spacer {
            padding-right: var(--element-margin);
            padding-left: var(--element-margin);
        }
    }

    section.basic-listing-information {
        margin-top: 0 !important;
        padding: var(--outer-container-margin) 0;
        background-color: #f5f5f5;
        border-top: 1px solid #fff;
    }

        section.basic-listing-information .title-container {
            display: flex;
        }

            section.basic-listing-information .title-container h1 {
                margin: 0;
                font-size: 200%;
                line-height: 120%;
                color: var(--accent-color);
            }

            section.basic-listing-information .title-container .tag-list {
                align-self: center;
                margin-top: 4px;
                margin-left: var(--container-margin);
            }

        section.basic-listing-information .feature-list {
            margin-top: calc(var(--container-margin) - var(--element-margin));
        }

        section.basic-listing-information .description-container {
            margin-top: var(--container-margin);
        }


        section.basic-listing-information .host-information {
            margin-top: var(--outer-container-margin);
            display: flex;
        }

            section.basic-listing-information .host-information .host-image-container {
                margin-right: var(--container-margin);
                align-self: center;
            }

            section.basic-listing-information .host-information .host-image {
                width: 100px;
                height: 100px;
                border-radius: 50px;
            }

            section.basic-listing-information .host-information .host-description-title {
                font-size: 125%;
            }

            section.basic-listing-information .host-information .host-name {
                font-weight: 600;
                font-size: 90%;
                margin-top: 4px;
            }

            section.basic-listing-information .host-information .host-description {
                margin-top: var(--element-margin);
            }

    .detail-page-content .inline-title-container {
        display: flex;
    }

        .detail-page-content .inline-title-container .inline-title {
            width: var(--inline-title-width);
            padding-right: var(--element-margin);
            box-sizing: border-box;
        }

        .detail-page-content .inline-title-container .inline-title-content {
            flex: 1;
        }

    section.basic-listing-information .title-container .tag-list li {
        margin-top: 0;
    }

    @media screen and (max-width:1300px) {


        section.basic-listing-information .title-container {
            flex-direction: column;
        }


            section.basic-listing-information .title-container .tag-list {
                margin-left: 0;
                align-self: flex-start;
            }

                section.basic-listing-information .title-container .tag-list li {
                    margin-top: var(--element-margin);
                }

        .detail-page-content .inline-title-container {
            display: flex;
            flex-direction: column;
        }

            .detail-page-content .inline-title-container .inline-title {
                width: auto;
                padding-right: 0;
            }

            .detail-page-content .inline-title-container .inline-title-content {
                flex: 1;
                margin-top: var(--container-margin);
            }
    }


    @media screen and (max-width:500px) {

        section.basic-listing-information .feature-list {
            flex-wrap: wrap;
        }

            section.basic-listing-information .feature-list li {
                margin-top: var(--element-margin);
            }

        section.basic-listing-information .host-information {
            flex-direction: column;
            margin-top: var(--container-margin);
        }

        section.basic-listing-information .host-image-container {
            display: none;
        }

        section.basic-listing-information .host-description-container {
            margin-top: 0;
        }
    }




    section.facilities-list .description-container {
        margin-top: var(--container-margin);
    }

    section.facilities-list .facilities-categories-container {
        display: flex;
        width: 100%;
    }

        section.facilities-list .facilities-categories-container .facility-category-container {
            flex: 1;
            margin-top: var(--outer-container-margin);
        }

    section.facilities-list .facility-list {
        list-style: none;
        padding: 0;
        margin: 0;
        margin-top: var(--container-margin);
    }

    section.facilities-list li {
        line-height: 105%;
        font-size: 90%;
        margin-top: var(--element-margin);
        display: flex;
        align-items: center;
    }

        section.facilities-list li span {
            flex: 1;
        }

        section.facilities-list li:first-child {
            margin-top: 0;
        }

        section.facilities-list li svg {
            width: 16px;
            height: 16px;
            align-self: center;
            margin-right: 8px;
            fill: var(--accent-color);
        }

    section.facilities-list .facilities-categories-container {
        display: flex;
        width: 100%;
    }


    @media screen and (max-width:750px) {
        section.facilities-list .facilities-categories-container {
            flex-direction: column;
        }

            section.facilities-list .facilities-categories-container .facility-category-container {
                margin-top: var(--outer-container-margin);
            }
    }




    .spaces {
        --title-width: 150px;
    }

        .spaces h2 {
            margin-bottom: 8px;
            line-height: 125%;
        }

        .spaces .inline-title-container h2 {
            width: var(--title-width);
        }

        .spaces .spaces-container {
            display: flex;
            flex-wrap: wrap;
            flex: 1;
        }

        .spaces .spaces-preview-container:not(.inline-title-container) .spaces-container {
            margin-top: var(--container-margin);
        }

        .spaces .spaces-container .space {
            margin-right: var(--container-margin);
            margin-top: var(--container-margin);
            width: calc(50% - (var(--container-margin) /2));
        }

        .spaces .description-container:not(:first-child) {
            margin-top: var(--outer-container-margin);
        }

    @media screen and (min-width:901px) {
        .spaces .spaces-container .space:nth-child(2n+0) {
            margin-right: 0;
        }

        .spaces .spaces-container .space:nth-child(-n+2) {
            margin-top: 0;
        }

        .spaces .inline-title-container h2 {
            box-sizing: border-box;
            padding-right: var(--element-margin);
        }
    }


    @media screen and (max-width:1300px) {
        .spaces .spaces-preview-container {
            display: block;
        }

        .spaces .description-container {
            padding: 0;
        }
    }


    @media screen and (min-width:651px) and (max-width:900px) {
        .spaces .spaces-container .space {
            margin-right: 16px;
            margin-top: 16px;
            width: calc(50% - 8px);
        }

            .spaces .spaces-container .space:nth-child(2n+0) {
                margin-right: 0;
            }

            .spaces .spaces-container .space:nth-child(-n+2) {
                margin-top: 0;
            }
    }

    @media screen and (max-width:650px) {
        .spaces .spaces-container .space {
            margin-right: 0;
            width: 100%;
        }

            .spaces .spaces-container .space:first-child {
                margin-top: 0;
            }
    }

    .space .preview-image-container {
        position: relative;
        padding-top: 66%;
    }

        .space .preview-image-container .preview-image {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

    .space .space-title {
        color: var(--accent-color);
        margin-top: var(--container-margin);
    }

    .space .space-description {
        margin-top: var(--element-margin);
    }

    .space .space-information {
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        width: 100%;
        color: #fff;
        text-align: center;
        z-index: 2;
    }

        .space .space-information .space-name {
            float: left;
            font-weight: 500;
        }

    .space .show-overlay {
        border: none;
        background-color: transparent;
        cursor: pointer;
        padding: 0;
        margin: 0;
        display: block;
        width: 100%;
        position: relative;
        font-size: 100%;
        border-radius: var(--container-border-radius);
        overflow: hidden;
    }

        .space .show-overlay .tag-list {
            position: absolute;
            top: var(--element-margin);
            left: var(--element-margin);
            z-index: 2;
        }

    .space .overlay {
        box-shadow: var(--overlay-shadow);
    }


        .space .overlay .image-navigation {
            position: absolute;
            bottom: 0;
            width: 100%;
            background-color: rgba(0,0,0,0.7);
            display: flex;
            padding: 4px var(--element-margin);
        }



            .space .overlay .image-navigation button {
                border: none;
                padding: var(--element-margin);
                cursor: pointer;
                background-color: transparent;
            }

    .space .image-navigation button svg {
        width: 32px;
        height: 32px;
        stroke-width: 2px;
        stroke: #fff;
    }

    .space .image-navigation .image-title {
        flex: 1;
        text-align: center;
        align-self: center;
        color: #fff;
        font-size: 110%;
        font-weight: 600;
    }

    .space .overlay .images-container {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

        .space .overlay .images-container .glide-track,
        .space .overlay .images-container .glide {
            height: 100%;
        }

        .space .overlay .images-container .images {
            height: 100%;
        }

            .space .overlay .images-container .images li {
                height: 100%;
            }

                .space .overlay .images-container .images li img {
                    width: 100%;
                    height: 100%;
                    object-fit: contain;
                    object-position: center center;
                }

    .space .overlay .close-container {
        text-align: right;
        padding: var(--container-margin);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        box-sizing: border-box;
        z-index: 2;
        background-color: rgba(0,0,0,0.7);
        display: flex;
        padding-left: 32px;
    }

        .space .overlay .close-container button {
            background-color: transparent;
            border: none;
            cursor: pointer;
        }

            .space .overlay .close-container button svg {
                width: 24px;
                height: 24px;
                fill: #fff;
            }

    .space .overlay .overlay-content-container {
        background-color: #000;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
        width: calc(100vw - 128px);
        max-height: calc(100vh - 128px);
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        max-width: 1800px;
        height: 100%;
        border-radius: var(--container-border-radius);
        overflow: hidden;
    }

        .space .overlay .overlay-content-container img.lazy.loading {
            background-color: #000;
            background-image: url(/assets/img/loader-light.svg);
        }

        .space .overlay .overlay-content-container .image-counter {
            flex: 1;
            color: #fff;
            justify-content: center;
            display: flex;
            font-weight: 600;
            font-size: 90%;
        }

    .space .overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 210;
        background-color: rgba(0,0,0,0.8);
    }

    .space .preview-image {
        width: 100%;
    }

    .space .overlay.active {
        display: block;
    }

    .space .overlay .glide__slides {
        padding: 0;
        margin: 0;
    }

    .space .overlay .glide__slide {
        width: 100%;
        display: block;
    }

    section.basic-listing-information + section.marker-on-map {
        margin-top: 0;
    }

    section.marker-on-map .map-container {
        height: 500px;
    }

    section.marker-on-map .map-open-link {
        display: flex;
        position: absolute;
        bottom: 0px;
        background-color: #000;
        padding: var(--container-margin);
        text-decoration: none;
        font-weight: 600;
        font-size: 115%;
        color: #fff;
        transform: translateY(50%);
    }

    section.marker-on-map .map-container .accommodation-marker {
        background-image: url(/assets/img/marker/accommodation.png);
        width: 60px;
        height: 60px;
        transform: translate(-50%, -50%) translate(881px, 250px) rotateX(0deg) rotateZ(0deg);
        background-size: 100%;
        background-size: contain;
    }

    section.marker-on-map .map-container .maplibregl-popup {
        z-index: 100;
        max-width: initial !important;
    }

    section.marker-on-map .map-container .mapboxgl-popup-content {
        padding: 0;
        overflow: hidden;
    }

    section.marker-on-map .map-container .maplibregl-popup-tip {
        display: none;
    }

    @media screen and (max-width:800px) {
        section .marker-on-map .map-container {
            height: 350px;
        }
    }


    section.general-text {
    }



    section.slideshow-large {
        overflow: hidden;
    }


        section.slideshow-large .listing-carroussel-container {
            width: calc(1116px * 3);
            margin-left: calc((100vw - 1116px) / 2);
        }

            section.slideshow-large .listing-carroussel-container .glide {
                overflow: visible;
            }

        section.slideshow-large .listing-header-images {
            padding: 0;
            margin: 0;
        }

        section.slideshow-large .listing-header-image {
            width: 100%;
            display: block;
        }

            section.slideshow-large .listing-header-image img {
                width: 100%;
            }

        section.slideshow-large .listing-header-image-container {
            position: relative;
            padding-top: 66%;
        }

            section.slideshow-large .listing-header-image-container img {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
                object-fit: cover;
            }

        section.slideshow-large .glide__slide:not(.glide__slide--active) {
            cursor: pointer;
        }

    @media screen and (max-width:1120px) {
        section.slideshow-large .listing-carroussel-container {
            width: 100%;
            margin-left: 0;
        }

        section.slideshow-large .listing-header-image {
            border-radius: 0;
        }
    }

    @media screen and (max-width:800px) {
        .space .overlay .overlay-content-container {
            width: 100%;
            height: 100%;
            max-width: 100%;
            max-height: 100%;
        }

        .space .images-container-spacer {
            padding-top: 0%;
            height: 100%;
        }
    }

    .space .overlay img.lazy {
        background-color: transparent;
    }

    section.reviews .review {
        margin-top: var(--outer-container-margin);
        width: 50%;
        box-sizing: border-box;
    }

        section.reviews .review:first-child:last-child {
            width: 100%;
        }

        section.reviews .review:nth-child(odd) {
            padding-right: calc(var(--container-margin) / 2);
        }

        section.reviews .review:nth-child(even) {
            padding-left: calc(var(--container-margin) / 2);
        }

        section.reviews .review:nth-child(-n+2) {
            margin-top: 0;
        }

        section.reviews .review .review-text {
            margin-top: var(--element-margin);
        }

    section.reviews .show-all-container {
        margin-top: var(--outer-container-margin);
    }

        section.reviews .show-all-container button {
            border: none;
            background-color: transparent;
            font-size: 90%;
            font-weight: 600;
            color: var(--accent-color);
            cursor: pointer;
            padding: 0;
        }

    section.reviews:not(.show-all) .review:nth-child(n+5) {
        display: none;
    }


    section.reviews .reviews-container {
        display: flex;
        margin-top: var(--container-margin);
        flex-wrap: wrap;
    }

    section.reviews .review .review-information {
        display: flex;
    }


    section.reviews .review .review-period {
        font-size: 80%;
        color: #c2c2c2;
    }




    .point-of-interest .inline-slide-navigation {
        transform: translateY(calc(-50% - 10px));
    }

    @media screen and (max-width:650px) {
        section.reviews .reviews-container {
            flex-direction: column;
        }

        section.reviews .review {
            width: 100%;
        }

            section.reviews .review:nth-child(odd) {
                padding-right: 0;
            }

            section.reviews .review:nth-child(even) {
                padding-left: 0;
            }

            section.reviews .review:nth-child(-n+3) {
                margin-top: var(--container-margin);
            }

            section.reviews .review:first-child {
                margin-top: 0;
            }

        section.reviews:not(.show-all) .review:nth-child(n+3) {
            display: none;
        }
    }







    .point-of-interest .image-container .image-navigation {
        position: absolute;
        top: 50%;
        width: 100%;
        transform: translateY(-50%);
        padding: 0 8px;
    }

    .glide .inline-slide-navigation {
        opacity: 0;
        transition: opacity ease 0.3s;
    }

    .glide:hover .inline-slide-navigation {
        opacity: 1;
    }

    .inline-slide-navigation {
        position: absolute;
        top: 50%;
        width: 100%;
        padding: 0 var(--container-margin);
        height: 0;
        transform: translateY(calc(-50% - 10px));
    }

        .inline-slide-navigation button:first-child {
            float: left;
        }

        .inline-slide-navigation button:last-child {
            float: right;
        }

        .inline-slide-navigation button {
            transform: translateY(-50%);
            border: none;
            width: 28px;
            height: 28px;
            padding: 4px;
            background-color: #fff;
            border-radius: 16px;
            cursor: pointer;
        }

            .inline-slide-navigation button svg {
                width: 100%;
                height: 100%;
                stroke-width: 3px;
                stroke: #9A9897;
            }

    section.affiliate .text-button {
        display: inline-flex;
        background-color: var(--accent-color);
        color: #fff;
        font-weight: 600;
        border: none;
        cursor: pointer;
        border-radius: 4px;
        padding: var(--element-margin) var(--container-margin);
        text-decoration: navajowhite;
        cursor: pointer;
    }

    section.affiliate .intro-text {
        margin-top: var(--container-margin);
        margin-bottom: var(--container-margin);
    }

    section.ota-list .ota-slider .main-spacer {
        padding-left: var(--container-margin) !important;
        padding-right: var(--container-margin) !important;
    }

    section.youtube-video .video-container {
        position: relative;
        padding-top: 50%;
        margin-left: auto;
        margin-right: auto;
        max-width: 800px;
    }

    .youtube-video .video-container iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0; /*! max-height: 600px; */
    }

    .nearby-items-query .nearby-items-container {
        display: flex;
        flex-wrap: wrap;
    }

    .nearby-items-query .component-intro {
        margin-bottom: 0;
    }

        .nearby-items-query .component-intro .component-intro-text {
            margin-top: var(--container-margin);
        }

    .nearby-items-query .nearby-items-container .nearby-items {
        margin-top: var(--outer-container-margin);
        box-sizing: border-box;
        flex: 0 0 50%;
    }

        .nearby-items-query .nearby-items-container .nearby-items .nearby-items-with-distance .nearby-item-with-distance:not(:first-child) {
            padding-top: var(--element-margin);
        }


        .nearby-items-query .nearby-items-container .nearby-items .nearby-items-with-distance {
            margin-top: var(--container-margin);
        }

            .nearby-items-query .nearby-items-container .nearby-items .nearby-items-with-distance .nearby-item-with-distance {
                display: flex;
                align-items: center;
                line-height: 105%;
            }

            .nearby-items-query .nearby-items-container .nearby-items .nearby-items-with-distance .nearby-item-name {
                margin-right: 0 var(--element-margin);
                flex: 1;
            }

                .nearby-items-query .nearby-items-container .nearby-items .nearby-items-with-distance .nearby-item-name a {
                    color: var(--font-color);
                    text-decoration: none;
                    font-size: 90%;
                }

                    .nearby-items-query .nearby-items-container .nearby-items .nearby-items-with-distance .nearby-item-name a:hover {
                        color: var(--accent-color);
                        font-weight: 600;
                    }

            .nearby-items-query .nearby-items-container .nearby-items .nearby-items-with-distance .nearby-item-distance {
                font-size: 90%;
            }

        .nearby-items-query .nearby-items-container .nearby-items:nth-child(odd) {
            padding-right: var(--container-margin);
        }

        .nearby-items-query .nearby-items-container .nearby-items:nth-child(2n) {
            padding-left: var(--container-margin);
        }


    @media screen and (max-width:1200px) {
        .nearby-items-query .nearby-items-container .nearby-items:nth-child(2n+1) {
            padding-right: 0;
        }

        .nearby-items-query .nearby-items-container .nearby-items:nth-child(2n) {
            padding-left: 0;
        }

        .nearby-items-query .nearby-items-container .nearby-items {
            flex: 0 0 100%;
        }
    }


.coupon-code-active .coupon-code-text {
    background-color: var(--accent-color);
    padding: var(--container-margin);
    color: #fff;
}

    .coupon-code-active .coupon-code-text .coupon-title {
        font-weight: 600;
    }

    .coupon-code-active .coupon-code-text .coupon-description {
        margin-top: var(--element-margin);
        font-size: 120%;
        line-height: 150%;
    }


@media screen and (max-width:1200px) {

    .coupon-code-active .coupon-code-text .coupon-title h2 {
        font-size:110%;
    }

    .coupon-code-active .coupon-code-text .coupon-description {
        font-size: 100%;
    }
}