{"id":2099,"date":"2023-07-12T14:35:19","date_gmt":"2023-07-12T12:35:19","guid":{"rendered":"https:\/\/lakesidevillage.cz\/?page_id=2099"},"modified":"2025-02-06T12:09:18","modified_gmt":"2025-02-06T11:09:18","slug":"houses","status":"publish","type":"page","link":"https:\/\/lakesidevillage.cz\/en\/houses\/","title":{"rendered":"Houses"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"2099\" class=\"elementor elementor-2099\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-57651c8f elementor-section-full_width elementor-section-height-min-height elementor-section-stretched elementor-section-height-default elementor-section-items-middle\" data-id=\"57651c8f\" data-element_type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-cddc697\" data-id=\"cddc697\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-75ecc5ef elementor-widget elementor-widget-heading\" data-id=\"75ecc5ef\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.15.0 - 31-07-2023 *\/\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><span class=\"elementor-heading-title elementor-size-default\"><div class=\"title-block font-hero\">\n<span class=\"title title-first-row font-hero\">Homes<\/span>\n<div><\/span>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c018b73 elementor-section-full_width elementor-section-height-min-height elementor-section-stretched search-bar elementor-section-height-default elementor-section-items-middle\" data-id=\"c018b73\" data-element_type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ea7b5a6\" data-id=\"ea7b5a6\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ba1d4ba elementor-widget elementor-widget-hello_world_widget_2\" data-id=\"ba1d4ba\" data-element_type=\"widget\" data-widget_type=\"hello_world_widget_2.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\n\n\n.number-input {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  text-transform: uppercase;\n}\n.number-input input {\n  width: 26px;\n  text-align: center;\n  font-size: 18px;\n  border: none;\n\tcolor: black !important;\n\tpadding: 0;\n}\n.number-input button {\n  transition: 250ms;\n  background-color: transparent;\n  border: none;\n\tcolor: black;\n  padding: 5px;\n  font-size: 18px;\n  cursor: pointer;\n}\n\n.number-input button:hover {\n  background-color: #eee;\n}\n\n.form_search{\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tflex-wrap: wrap;\n}\n\n.form_search > *{\n\tmargin: 0 6px;\n}\n\n.form_search > button{\n\tborder: none;\n\tborder-radius: 0;\n\tbackground-color: black;\n\twidth: 50px;\n\theight: 50px;\n    cursor: pointer;\n        display: flex;          \/* Zarovn\u00e1n\u00ed obr\u00e1zku na st\u0159ed *\/\n        align-items: center;\n        justify-content: center;\n        padding: 0;             \/* Odstran\u00ed vnit\u0159n\u00ed okraj, kter\u00fd zmen\u0161uje ikonu *\/\n        transition: background-color 0.3s;\n    }\n\n    .form_search > button:hover {\n        background-color: #333; \/* Jemn\u00e1 zm\u011bna barvy p\u0159i najet\u00ed *\/\n    }\n\n    .form_search > button img {\n        width: 40px;            \/* Uprav si velikost ikony podle pot\u0159eby *\/\n        height: 40px;           \/* Zachov\u00e1n\u00ed pom\u011bru stran *\/\n        object-fit: contain;\n        display: block;\n    }\n\n#date-picker{\n\tpadding: 12px 38px 12px 12px;\n\tbackground-image: url(\"https:\/\/siestacloudlivestorage.azureedge.net\/default\/e239dd8a-0399-4af2-a514-65acb176fd42.svg\");\n\tbackground-repeat: no-repeat;\n\tbackground-position: calc(100% - 12px);\n\tbackground-size: 21px 19.2px;\n\tfont-weight: bold;\n\twidth: 28ch !important;\n}\n\n#date-picker,#room-picker{\n\tmargin: 0 7.5px;\n\ttext-transform:uppercase;\n\twidth: min-content;\n\tborder: none;\n\tborder-radius: 0;\n\tbackground-color: white;\n\tcolor: black;\n}\n\n#date-picker::placeholder, #room-text {\n    font-weight: bold;\n    color: #1c1c1c;\n\t\tletter-spacing: 1px;\n}\n\n#room-range{\n\tz-index: 1;\n\tbackground-color: white;\n  display: none;\n  flex-direction: column;\n  width: 290px;\n  padding: 20px;\n  justify-content: space-evenly;\n  position: absolute;\n\ttop: calc(100%);\n\tleft: 0;\n\tbox-shadow: 0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);\n}\n\n#room-range > button{\n\tcolor: white;\n\tbackground-color: black;\n\tborder: none;\n\tborder-radius: 0;\n}\n\n.room-container{\n  position: relative;\n\tbackground-color: white;\n\tpadding: 12px;\n}\n\n#room-output > img{\n\theight: 12px !important;\n\twidth: auto;\n}\n\n#date-form{\n\tpadding: 30px !important;\n\tdisplay: inline-flex;\n\tjustify-content: center;\n\talign-items: flex-start;\n\tflex-direction: column;\n\tbackground-color: #2C2D2C;\n\toverflow: hidden;\n\ttransform: translateY(-10px);\n}\n\n#date-form label{\n\tfont-size: 22px;\n\tcolor: white;\n\t\n}\n\n#date-form hr{\n\twidth:150%;\n\tmargin-top: 0 !important;\n\ttransform: translateX(-30px);\n\tborder: 1px solid white;\n}\n\n#date-form input::-webkit-input-placeholder {color:black !important;}\n#date-form input::-moz-placeholder          {color:black !important;}\n#date-form input:-moz-placeholder           {color:black !important;}\n#date-form input:-ms-input-placeholder      {color:black !important;}\n\n\/*Start & End select date*\/\n.flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange,.flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange{\n\tborder-radius: 0;\n\tborder: 1px solid #aca083 !important;\n}\n\n.flatpickr-day.today{\n\tborder: 1px solid black;\n\tborder-radius: 0;\n}\n\n.flatpickr-day.inRange{\n\tbox-shadow: none;\n\tcolor: rgba(0,0,0,.87) !important;\n\tborder: 1px solid #aca083 !important;\n\tborder-radius: 0;\n}\n<\/style>  \n\n\n<script src=\"https:\/\/npmcdn.com\/flatpickr\/dist\/flatpickr.min.js\"><\/script>\n<script src=\"https:\/\/npmcdn.com\/flatpickr\/dist\/l10n\/cs.js\"><\/script>\n\n<form class=\"form_search\" action=\"\">\n    <input id=\"date-picker\" name=\"date\" type=\"date\" placeholder=\"Arrival - departure\" \/>\n    <div class=\"room-container\">\n        <div id=\"room-output\"><span id=\"room-text\">GUESTS AND APARTMENTS<\/span> <img decoding=\"async\" src=\"https:\/\/siestacloudlivestorage.azureedge.net\/default\/e239dd8a-0399-4af2-a514-65acb176fd42.svg\" alt=\"\" \/><\/div>\n        <input id=\"room-picker\" name=\"occupancies\" type=\"hidden\" value=\"none\" \/>\n        <div id=\"room-range\" style=\"display: none\">\n            <div class=\"number-input\">\n                <label for=\"guest\">Number of guests:<\/label>\n                <div class=\"button-container\">\n                    <button class=\"decrement\" type=\"button\">-<\/button>\n                    <input id=\"guest-count\" class=\"number\" name=\"guest\" type=\"text\" value=\"2\" \/>\n                    <button class=\"increment\" type=\"button\">+<\/button>\n                <\/div>\n            <\/div>\n            <div class=\"number-input\">\n                <label for=\"room\">Room:<\/label>\n                <div class=\"button-container\">\n                    <button class=\"decrement\" type=\"button\">-<\/button>\n                    <input id=\"room-count\" class=\"number\" name=\"room\" type=\"text\" value=\"1\" \/>\n                    <button class=\"increment\" type=\"button\">+<\/button>\n                <\/div>\n            <\/div>\n            <button type=\"button\" id=\"peopleSelectorButton\">USE<\/button>\n        <\/div>\n    <\/div>\n    <button type=\"submit\" id=\"submitForm\"><img decoding=\"async\" src=\"https:\/\/lakesidevillage.cz\/wp-content\/uploads\/2026\/02\/Gemini_Generated_Image_1rukvt1rukvt1ruk.png\" alt=\"\" \/><\/button>\n<input type=\"hidden\" name=\"trp-form-language\" value=\"en\"\/><\/form>\n\n<script>\n    WUBOOK_ID = \"1552653018\";\n\n    CALENDAR_CONFIG = {\n        mode: \"range\",\n        dateFormat: \"j. M y\",\n        locale: \"cs\",\n        minDate: new Date(),\n        defaultDate: [new Date().fp_incr(1), new Date().fp_incr(2)],\n    };\n\n    class PeopleSelectorBar {\n        constructor() {\n            this.init();\n        }\n\n        datePicker;\n\n        init() {\n            this.datePicker = flatpickr(\"#date-picker\", CALENDAR_CONFIG);\n\n            document.getElementById(\"room-output\").addEventListener(\"click\", () => this.onRoomOutputClick());\n            document.getElementById(\"peopleSelectorButton\").addEventListener(\"click\", () => this.onPeopleSelectorClick());\n            document.getElementById(\"submitForm\").addEventListener(\"click\", (event) => this.submitForm(event));\n\n            const numberInputs = document.querySelectorAll(\".number-input\");\n\n            numberInputs.forEach((numberInput) => {\n                const decrementBtn = numberInput.querySelector(\".decrement\");\n                const incrementBtn = numberInput.querySelector(\".increment\");\n                const inputField = numberInput.querySelector(\".number\");\n\n                decrementBtn.addEventListener(\"click\", () => {\n                    let value = parseInt(inputField.value);\n                    if (value > 1) {\n                        value--;\n                        inputField.value = value;\n                    }\n                });\n\n                incrementBtn.addEventListener(\"click\", () => {\n                    let value = parseInt(inputField.value);\n                    value++;\n                    inputField.value = value;\n                });\n            });\n        }\n\n        submitForm(event) {\n            event.preventDefault();\n            const dfrom = this.datePicker.selectedDates[0] ? flatpickr.formatDate(this.datePicker.selectedDates[0], \"d\/m\/Y\") : \"today\";\n            const dto = this.datePicker.selectedDates[0] ? flatpickr.formatDate(this.datePicker.selectedDates[1], \"d\/m\/Y\") : flatpickr.formatDate(new Date().fp_incr(1), \"d\/m\/Y\");\n            let guestCount = document.getElementById(\"guest-count\").value;\n            let numRooms = document.getElementById(\"room-count\").value;\n            window.open(`https:\/\/wubook.net\/wbkd\/wbk\/?lcode=${WUBOOK_ID}&dfrom=${dfrom}&dto=${dto}&occupancies=${guestCount}`, \"_blank\");\n        }\n\n        onRoomOutputClick() {\n            this.tooglePeopleSelectorBar();\n        }\n\n        onPeopleSelectorClick() {\n            this.tooglePeopleSelectorBar();\n            this.dataToString();\n        }\n\n        tooglePeopleSelectorBar() {\n            const roomParameters = document.getElementById(\"room-range\");\n            console.log(roomParameters);\n            if (roomParameters.style.display === \"none\") {\n                roomParameters.style.display = \"flex\";\n            } else {\n                roomParameters.style.display = \"none\";\n            }\n        }\n\n        dataToString() {\n            let guestCount = document.getElementById(\"guest-count\").value;\n            let numRooms = document.getElementById(\"room-count\").value;\n            let roomText = document.getElementById(\"room-picker\");\n            let roomOutput = document.getElementById(\"room-text\");\n\n            if (guestCount > numRooms) {\n                \/\/TODO: if guests are more than rooms\n            }\n            const [roomAssignments, roomString, guestString] = this.splitGuestsIntoRooms(guestCount, numRooms);\n\n            roomText.value = roomAssignments;\n            roomOutput.innerHTML = guestString + \", \" + roomString;\n        }\n\n        splitGuestsIntoRooms(guestCount, numRooms) {\n            const roomParameters = document.getElementById(\"room-range\");\n            let guestsPerRoom = Math.floor(guestCount \/ numRooms);\n            let remainingGuests = guestCount % numRooms;\n            let roomAssignments = [];\n\n            for (let i = 0; i < numRooms; i++) {\n                const roomSize = guestsPerRoom + (remainingGuests > 0 ? 1 : 0);\n                roomAssignments.push(roomSize);\n                remainingGuests--;\n            }\n\n            let guestString = `${guestCount} ${guestCount == 1 ? \"HOST\" : \"HOST\u00c9\"}`;\n            let roomString = `${numRooms} ${numRooms == 1 ? \"POKOJ\" : \"POKOJE\"}`;\n            roomParameters.style.display = \"none\";\n            return [roomAssignments.join(\"_\"), roomString, guestString];\n        }\n    }\n    new PeopleSelectorBar();\n<\/script>\n\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2deaf47a section-content elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2deaf47a\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2b753f1d content-box\" data-id=\"2b753f1d\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-4a36c0e3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4a36c0e3\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-294a95e3 text-box-left text-box\" data-id=\"294a95e3\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2bfb74cd text-box elementor-widget elementor-widget-text-editor\" data-id=\"2bfb74cd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.15.0 - 31-07-2023 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<p>Homes<\/p><hr \/><p>Spacious and fully equipped houses have everything you need for an undisturbed holiday. Wi-Fi, TV, fully equipped kitchen or terrace with barbecue is a matter of course. Some houses have a sauna and some can accommodate up to 10 people.<\/p><p>Cots and high chairs are available for rent at the reception. You can also buy coffee machine capsules, barbecue charcoal, pellets and wood.<\/p><p>The resort also has a Beach Bar, which offers a pleasant seating area with a beautiful view in high season.\u00a0<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-286596d2\" data-id=\"286596d2\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-67cd0fb2 elementor-widget elementor-widget-image\" data-id=\"67cd0fb2\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.15.0 - 31-07-2023 *\/\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"534\" src=\"https:\/\/lakesidevillage.cz\/wp-content\/uploads\/2023\/07\/53fb2058-938e-4114-85dc-8a67dfb307f2-1024x683.jpg\" class=\"attachment-large size-large wp-image-2110\" alt=\"\" srcset=\"https:\/\/lakesidevillage.cz\/wp-content\/uploads\/2023\/07\/53fb2058-938e-4114-85dc-8a67dfb307f2-1024x683.jpg 1024w, https:\/\/lakesidevillage.cz\/wp-content\/uploads\/2023\/07\/53fb2058-938e-4114-85dc-8a67dfb307f2-300x200.jpg 300w, https:\/\/lakesidevillage.cz\/wp-content\/uploads\/2023\/07\/53fb2058-938e-4114-85dc-8a67dfb307f2-768x512.jpg 768w, https:\/\/lakesidevillage.cz\/wp-content\/uploads\/2023\/07\/53fb2058-938e-4114-85dc-8a67dfb307f2-1536x1024.jpg 1536w, https:\/\/lakesidevillage.cz\/wp-content\/uploads\/2023\/07\/53fb2058-938e-4114-85dc-8a67dfb307f2-2048x1366.jpg 2048w, https:\/\/lakesidevillage.cz\/wp-content\/uploads\/2023\/07\/53fb2058-938e-4114-85dc-8a67dfb307f2-18x12.jpg 18w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-dad5715 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"dad5715\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b395a44\" data-id=\"b395a44\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-6b02224 elementor-widget elementor-widget-Vypis ubytovani\" data-id=\"6b02224\" data-element_type=\"widget\" data-widget_type=\"Vypis ubytovani.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\r\n#room-template{\r\n\tflex-direction: column !important;\r\n}\r\n.skeleton-container{\r\n\tflex-direction: column !important;\r\n    padding: 10px;\r\n}\r\n.skeleton{\r\n\tanimation: skeleton-loading 1s linear infinite alternate;\r\n\tborder-radius: 0.175rem;\r\n}\r\n.skeleton-img{\r\n\theight: 296px !important;\r\n\tmargin-bottom: 1rem;\r\n}\r\n.skeleton-title{\r\n\theight: 1.375rem;\r\n\tmargin: 0.25rem 0 0.5rem 0;\r\n\twidth: 90%;\r\n}\r\n.skeleton-text{\r\n\twidth: 100%;\r\n\theight: 0.5rem;\r\n\tmargin-bottom: 0.25rem;\r\n\tborder-radius: 0.125rem;\r\n}\r\n.skeleton-text:nth-child(5){\r\n\tmargin-bottom: 0;\r\n\twidth: 80% !important;\r\n}\r\n.skeleton-button{\r\n\theight: 1.75rem;\r\n\twidth: 50%;\r\n\tmargin: 0.9rem 0;\r\n}\r\n@keyframes skeleton-loading {\r\n\t0%{\r\n\t\tbackground-color: hsl(200,20%,70%);\r\n\t}\r\n\t\r\n\t100%{\r\n\t\tbackground-color: hsl(200,20%,95%);\r\n\t}\r\n}\r\n\t\r\n\r\n#rooms{\r\n\tdisplay:flex;\r\n\tflex-direction: row;\r\n\tflex-wrap: wrap;\r\n\twidth: 100%;\r\n\talign-items: flex-start;\r\n\tjustify-content: space-evenly;\r\n}\r\n\t\r\n#rooms .room-link{\r\n\tpadding:0;\r\n\ttransition: all .4s;\r\n\tflex-direction: column;\r\n\tdisplay:flex;\r\n\tcolor: black;\r\n\twidth: 29%;\r\n\tmin-width: 280px;\r\n\tmargin: 24px;\r\n}\r\n#rooms .room-link div{\r\n\tpadding: 12px\r\n}\r\n#rooms .room-link:hover{\r\n\tbox-shadow: 0 6.4px 12.9px rgba(0,0,0,.055), 0 51px 103px rgba(0,0,0,.11);\r\n}\r\n#rooms .room-link img, .room-img-placeholder {\r\n    width: 100%;\r\n    height: 296px;\r\n    object-fit: cover;\r\n}\r\n\t\r\n#rooms .room-link div {\r\n    padding: 12px;\r\n}\r\n\t\r\n#rooms h2 {\r\n    margin-bottom: 0;\r\n}\r\n\t\r\n#rooms p {\r\n    font-family: fontMainRegular;\r\n    font-size: 1rem;\r\n}\r\n\r\n#rooms a .button-link, #rooms .button-link {\r\n\r\n    color: white;\r\n    padding: 8px 16px;\r\n    transition: all 200ms;\r\n    border: 0;\r\n    display: inline-block;\r\n}\r\n<\/style>\r\n\r\n    <div id=\"rooms\"><\/div>\r\n\r\n<script>\r\n    async function init() {\r\n    const loadingHTML = createLoadingHTML();\r\n    insertHTML(loadingHTML);\r\n    let roomsRaw = await fetchRooms().catch((error) => console.error);\r\n    if (!roomsRaw) return;\r\n\r\n\t\t\troomsRaw = filter(roomsRaw, \"typ\", \"house\");\r\n\t\t\r\n    let roomsWithPictures = await fetchPicturesFromRooms(roomsRaw).catch((error) => console.error);\r\n    if (!roomsWithPictures) return;\r\n\troomsWithPictures = sortRooms(roomsWithPictures);\t\r\n    const roomsHTML = mapHTMLWithRooms(roomsWithPictures);\r\n    insertHTML(roomsHTML);\r\n}\r\ninit();\r\n\r\nfunction sortRooms(rooms){\r\nreturn rooms.sort(function (a, b) {\r\n  const numberA = parseInt(a.acf.name.match(\/\\d+\/), 10) || 0;\r\n  const numberB = parseInt(b.acf.name.match(\/\\d+\/), 10) || 0;\r\n\r\n  return numberA - numberB;\r\n});\r\n}\r\n\r\nfunction filter(roomsRaw, key, value){\r\n\tconsole.log(roomsRaw);\r\n\treturn roomsRaw.filter((room)=>room.acf[key] === value);\r\n}\r\n\r\nfunction mapHTMLWithRooms(rooms) {\r\n    let roomsHTML = \"\";\r\n    rooms.map((room) => {\r\n        roomsHTML += createHTMLDOM(room);\r\n    });\r\n    return roomsHTML;\r\n}\r\nfunction createHTMLDOM(room) {\r\n    const heroImageDOM = room?.hero_image ? `<img decoding=\"async\" src=\"${room?.hero_image}\">` : `<div class=\"room-img-placeholder\"><\/div>`;\r\n    const heroTitleDOM = room?.acf?.name ? `<h2>${room?.acf?.name}<\/h2>` : \"<h2>undefined<h2>\";\r\n    const countDOM = room?.acf?.guest_number ? `<p>Po\u010det host\u016f: ${room?.acf?.guest_number}<\/p>` :  \"\";\r\n    let roomLink = assignLinkLanguage(room?.link);\r\n\r\n    return `\r\n    <section class=\"room-link\">\r\n    ${heroImageDOM}\r\n    <div>\r\n        ${heroTitleDOM}\r\n        ${countDOM}\r\n        <a href=\"${roomLink}\">\r\n        <button class=\"button-link\">UK\u00c1ZAT POKOJ - REZERVOVAT<\/button>\r\n        <\/a>\r\n    <\/div>\r\n    <\/section>`;\r\n}\r\nfunction assignLinkLanguage(link) {\r\n    const currentUrl = document.URL;\r\n    const pattern = \/\\\/(en|de|sk|pl|ru)\\\/\/;\r\n    const match = currentUrl.match(pattern);\r\n\r\n    if (match) {\r\n        const language = match[1];\r\n        return link.replace(`${window.location.origin}\/`, `${window.location.origin}\/${language}\/`);\r\n    }\r\n\r\n    return link;\r\n}\r\n\r\nfunction fetchRooms() {\r\n\t\treturn fetch(`${window.location.origin}\/wp-json\/wp\/v2\/room?per_page=100`).then((body) => body.json()).catch((err)=>console.error)\r\n}\r\n\r\nasync function fetchPicturesFromRooms(roomsRaw) {\r\n    let asyncMap = roomsRaw.map(async (room) => {\r\n        if (!room[\"_links\"][\"wp:featuredmedia\"]) return { ...room, hero_image: null };\r\n        const image = await fetch(`${room[\"_links\"][\"wp:featuredmedia\"][0][\"href\"]}`).then((body) => body.json());\r\n        room.hero_image = image.source_url || null;\r\n        return room;\r\n    });\r\n    let result = await Promise.all(asyncMap);\r\n    return result;\r\n}\r\nfunction createLoadingHTML() {\r\n    let loadingHTML = \"\";\r\n    let i = 0;\r\n    while (i < 6) {\r\n        loadingHTML += `\r\n        <div id=\"room-template\" class=\"room-link skeleton-container\">\r\n            <div class=\"skeleton skeleton-img\"><\/div>\r\n            <div class=\"skeleton skeleton-title\"><\/div>\r\n            <div class=\"skeleton skeleton-text\"><\/div>\r\n            <div class=\"skeleton skeleton-button\"><\/div>\r\n\t    <\/div>\r\n        `;\r\n        i++;\r\n    }\r\n    return loadingHTML;\r\n}\r\nfunction insertHTML(html) {\r\n    document.getElementById(\"rooms\").innerHTML = html;\r\n}\r\n<\/script>\r\n\r\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9d3deb9 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"9d3deb9\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6cc40b46\" data-id=\"6cc40b46\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-489dc163 elementor-widget elementor-widget-google_maps\" data-id=\"489dc163\" data-element_type=\"widget\" data-widget_type=\"google_maps.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.15.0 - 31-07-2023 *\/\n.elementor-widget-google_maps .elementor-widget-container{overflow:hidden}.elementor-widget-google_maps .elementor-custom-embed{line-height:0}.elementor-widget-google_maps iframe{height:300px}<\/style>\t\t<div class=\"elementor-custom-embed\">\n\t\t\t<iframe loading=\"lazy\"\n\t\t\t\t\tsrc=\"https:\/\/maps.google.com\/maps?q=Miln%C3%A1%20%C4%8D.ev.%20400%2C%20382%2079%20Frymburk&#038;t=m&#038;z=14&#038;output=embed&#038;iwloc=near\"\n\t\t\t\t\ttitle=\"Miln\u00e1 No. 400, 382 79 Frymburk\"\n\t\t\t\t\taria-label=\"Miln\u00e1 No. 400, 382 79 Frymburk\"\n\t\t\t><\/iframe>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>Houses GUESTS AND APARTMENTS Number of guests: - + Room: - + USE Houses Spacious and fully equipped houses have everything you need for an undisturbed holiday. Wi-Fi, TV, fully equipped kitchen or terrace with barbecue is a matter of course. Some houses have a sauna and some can accommodate up to 10 people. At the reception we have [...]<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2099","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/lakesidevillage.cz\/en\/wp-json\/wp\/v2\/pages\/2099","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lakesidevillage.cz\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lakesidevillage.cz\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lakesidevillage.cz\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lakesidevillage.cz\/en\/wp-json\/wp\/v2\/comments?post=2099"}],"version-history":[{"count":10,"href":"https:\/\/lakesidevillage.cz\/en\/wp-json\/wp\/v2\/pages\/2099\/revisions"}],"predecessor-version":[{"id":2342,"href":"https:\/\/lakesidevillage.cz\/en\/wp-json\/wp\/v2\/pages\/2099\/revisions\/2342"}],"wp:attachment":[{"href":"https:\/\/lakesidevillage.cz\/en\/wp-json\/wp\/v2\/media?parent=2099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}