{"id":12,"date":"2023-04-18T15:26:44","date_gmt":"2023-04-18T13:26:44","guid":{"rendered":"https:\/\/bunkr-karlstejn.cz.ars11.vas-server.cz\/?page_id=12"},"modified":"2024-07-10T11:18:06","modified_gmt":"2024-07-10T09:18:06","slug":"ubytovani","status":"publish","type":"page","link":"https:\/\/bunkr-karlstejn.cz\/en\/ubytovani\/","title":{"rendered":"Accommodation"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"12\" class=\"elementor elementor-12\">\n\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<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\t\t<span class=\"elementor-heading-title elementor-size-default\"><div class=\"title-block font-hero\">\n<span class=\"title title-first-row font-hero\">ACCOMMODATION<\/span>\n<div><\/span>\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<\/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<div class=\"elementor-element elementor-element-b235946 elementor-widget elementor-widget-hello_world_widget_2\" data-id=\"b235946\" 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\t\t<style>\r\n\r\n\r\n.number-input {\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n  text-transform: uppercase;\r\n}\r\n.number-input input {\r\n  width: 26px;\r\n  text-align: center;\r\n  font-size: 18px;\r\n  border: none;\r\n\tcolor: black !important;\r\n\tpadding: 0;\r\n}\r\n.number-input button {\r\n  transition: 250ms;\r\n  background-color: transparent;\r\n  border: none;\r\n\tcolor: black;\r\n  padding: 5px;\r\n  font-size: 18px;\r\n  cursor: pointer;\r\n}\r\n\r\n.number-input button:hover {\r\n  background-color: #eee;\r\n}\r\n\r\n.form_search{\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n\tflex-wrap: wrap;\r\n}\r\n\r\n.form_search > *{\r\n\tmargin: 0 6px;\r\n}\r\n\r\n.form_search > button{\r\n\tborder: none;\r\n\tborder-radius: 0;\r\n\tbackground-color: black;\r\n\twidth: 50px;\r\n\theight: 50px;\r\n}\r\n\r\n#date-picker{\r\n\tpadding: 12px 38px 12px 12px;\r\n\tbackground-image: url(\"https:\/\/siestacloudlivestorage.azureedge.net\/default\/e239dd8a-0399-4af2-a514-65acb176fd42.svg\");\r\n\tbackground-repeat: no-repeat;\r\n\tbackground-position: calc(100% - 12px);\r\n\tbackground-size: 21px 19.2px;\r\n\tfont-weight: bold;\r\n\twidth: 28ch !important;\r\n}\r\n\r\n#date-picker,#room-picker{\r\n\tmargin: 0 7.5px;\r\n\ttext-transform:uppercase;\r\n\twidth: min-content;\r\n\tborder: none;\r\n\tborder-radius: 0;\r\n\tbackground-color: white;\r\n\tcolor: black;\r\n}\r\n\r\n#date-picker::placeholder, #room-text {\r\n    font-weight: bold;\r\n    color: #1c1c1c;\r\n\t\tletter-spacing: 1px;\r\n}\r\n\r\n#room-range{\r\n\tz-index: 1;\r\n\tbackground-color: white;\r\n  display: none;\r\n  flex-direction: column;\r\n  width: 290px;\r\n  padding: 20px;\r\n  justify-content: space-evenly;\r\n  position: absolute;\r\n\ttop: calc(100%);\r\n\tleft: 0;\r\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);\r\n}\r\n\r\n#room-range > button{\r\n\tcolor: white;\r\n\tbackground-color: black;\r\n\tborder: none;\r\n\tborder-radius: 0;\r\n}\r\n\r\n.room-container{\r\n  position: relative;\r\n\tbackground-color: white;\r\n\tpadding: 12px;\r\n}\r\n\r\n#room-output > img{\r\n\theight: 12px !important;\r\n\twidth: auto;\r\n}\r\n\r\n#date-form{\r\n\tpadding: 30px !important;\r\n\tdisplay: inline-flex;\r\n\tjustify-content: center;\r\n\talign-items: flex-start;\r\n\tflex-direction: column;\r\n\tbackground-color: #2C2D2C;\r\n\toverflow: hidden;\r\n\ttransform: translateY(-10px);\r\n}\r\n\r\n#date-form label{\r\n\tfont-size: 22px;\r\n\tcolor: white;\r\n\t\r\n}\r\n\r\n#date-form hr{\r\n\twidth:150%;\r\n\tmargin-top: 0 !important;\r\n\ttransform: translateX(-30px);\r\n\tborder: 1px solid white;\r\n}\r\n\r\n#date-form input::-webkit-input-placeholder {color:black !important;}\r\n#date-form input::-moz-placeholder          {color:black !important;}\r\n#date-form input:-moz-placeholder           {color:black !important;}\r\n#date-form input:-ms-input-placeholder      {color:black !important;}\r\n\r\n\/*Start & End select date*\/\r\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{\r\n\tborder-radius: 0;\r\n\tborder: 1px solid #aca083 !important;\r\n}\r\n\r\n.flatpickr-day.today{\r\n\tborder: 1px solid black;\r\n\tborder-radius: 0;\r\n}\r\n\r\n.flatpickr-day.inRange{\r\n\tbox-shadow: none;\r\n\tcolor: rgba(0,0,0,.87) !important;\r\n\tborder: 1px solid #aca083 !important;\r\n\tborder-radius: 0;\r\n}\r\n<\/style>  \r\n\r\n\r\n<script src=\"https:\/\/npmcdn.com\/flatpickr\/dist\/flatpickr.min.js\"><\/script>\r\n<script src=\"https:\/\/npmcdn.com\/flatpickr\/dist\/l10n\/cs.js\"><\/script>\r\n\r\n<form class=\"form_search\" action=\"\">\r\n    <input id=\"date-picker\" name=\"date\" type=\"date\" placeholder=\"ARRIVAL - DEPARTURE\" \/>\r\n    <div class=\"room-container\">\r\n        <div id=\"room-output\"><span id=\"room-text\">GUESTS<\/span> <img decoding=\"async\" src=\"https:\/\/siestacloudlivestorage.azureedge.net\/default\/e239dd8a-0399-4af2-a514-65acb176fd42.svg\" alt=\"\" \/><\/div>\r\n        <input id=\"room-picker\" name=\"occupancies\" type=\"hidden\" value=\"none\" \/>\r\n        <div id=\"room-range\" style=\"display: none\">\r\n            <div class=\"number-input\">\r\n                <label for=\"guest\">Po\u010det host\u016f:<\/label>\r\n                <div class=\"button-container\">\r\n                    <button class=\"decrement\" type=\"button\">-<\/button>\r\n                    <input id=\"guest-count\" class=\"number\" name=\"guest\" type=\"text\" value=\"2\" \/>\r\n                    <button class=\"increment\" type=\"button\">+<\/button>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"number-input\">\r\n                <label for=\"room\">Pokoj:<\/label>\r\n                <div class=\"button-container\">\r\n                    <button class=\"decrement\" type=\"button\">-<\/button>\r\n                    <input id=\"room-count\" class=\"number\" name=\"room\" type=\"text\" value=\"1\" \/>\r\n                    <button class=\"increment\" type=\"button\">+<\/button>\r\n                <\/div>\r\n            <\/div>\r\n            <button type=\"button\" id=\"peopleSelectorButton\">POU\u017d\u00cdT<\/button>\r\n        <\/div>\r\n    <\/div>\r\n    <button type=\"submit\" id=\"submitForm\"><img decoding=\"async\" src=\"https:\/\/siestacloudlivestorage.azureedge.net\/default\/e2f9e58c-d032-49ec-986c-29d2c9503f2c.svg\" alt=\"\" \/><\/button>\r\n<input type=\"hidden\" name=\"trp-form-language\" value=\"en\"\/><\/form>\r\n\r\n<script>\r\n    WUBOOK_ID = \"1621593770\";\r\n\r\n    CALENDAR_CONFIG = {\r\n        mode: \"range\",\r\n        dateFormat: \"j. M y\",\r\n        locale: \"cs\",\r\n        minDate: new Date(),\r\n        defaultDate: [new Date().fp_incr(1), new Date().fp_incr(2)],\r\n    };\r\n\r\n    class PeopleSelectorBar {\r\n        constructor() {\r\n            this.init();\r\n        }\r\n\r\n        datePicker;\r\n\r\n        init() {\r\n            this.datePicker = flatpickr(\"#date-picker\", CALENDAR_CONFIG);\r\n\r\n            document.getElementById(\"room-output\").addEventListener(\"click\", () => this.onRoomOutputClick());\r\n            document.getElementById(\"peopleSelectorButton\").addEventListener(\"click\", () => this.onPeopleSelectorClick());\r\n            document.getElementById(\"submitForm\").addEventListener(\"click\", (event) => this.submitForm(event));\r\n\r\n            const numberInputs = document.querySelectorAll(\".number-input\");\r\n\r\n            numberInputs.forEach((numberInput) => {\r\n                const decrementBtn = numberInput.querySelector(\".decrement\");\r\n                const incrementBtn = numberInput.querySelector(\".increment\");\r\n                const inputField = numberInput.querySelector(\".number\");\r\n\r\n                decrementBtn.addEventListener(\"click\", () => {\r\n                    let value = parseInt(inputField.value);\r\n                    if (value > 1) {\r\n                        value--;\r\n                        inputField.value = value;\r\n                    }\r\n                });\r\n\r\n                incrementBtn.addEventListener(\"click\", () => {\r\n                    let value = parseInt(inputField.value);\r\n                    value++;\r\n                    inputField.value = value;\r\n                });\r\n            });\r\n        }\r\n\r\n        submitForm(event) {\r\n            event.preventDefault();\r\n            const dfrom = this.datePicker.selectedDates[0] ? flatpickr.formatDate(this.datePicker.selectedDates[0], \"d\/m\/Y\") : \"today\";\r\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\");\r\n            let guestCount = document.getElementById(\"guest-count\").value;\r\n            let numRooms = document.getElementById(\"room-count\").value;\r\n            window.open(`https:\/\/wubook.net\/wbkd\/wbk\/?lcode=${WUBOOK_ID}&dfrom=${dfrom}&dto=${dto}&occupancies=${guestCount}`, \"_blank\");\r\n        }\r\n\r\n        onRoomOutputClick() {\r\n            this.tooglePeopleSelectorBar();\r\n        }\r\n\r\n        onPeopleSelectorClick() {\r\n            this.tooglePeopleSelectorBar();\r\n            this.dataToString();\r\n        }\r\n\r\n        tooglePeopleSelectorBar() {\r\n            const roomParameters = document.getElementById(\"room-range\");\r\n            console.log(roomParameters);\r\n            if (roomParameters.style.display === \"none\") {\r\n                roomParameters.style.display = \"flex\";\r\n            } else {\r\n                roomParameters.style.display = \"none\";\r\n            }\r\n        }\r\n\r\n        dataToString() {\r\n            let guestCount = document.getElementById(\"guest-count\").value;\r\n            let numRooms = document.getElementById(\"room-count\").value;\r\n            let roomText = document.getElementById(\"room-picker\");\r\n            let roomOutput = document.getElementById(\"room-text\");\r\n\r\n            if (guestCount > numRooms) {\r\n                \/\/TODO: if guests are more than rooms\r\n            }\r\n            const [roomAssignments, roomString, guestString] = this.splitGuestsIntoRooms(guestCount, numRooms);\r\n\r\n            roomText.value = roomAssignments;\r\n            roomOutput.innerHTML = guestString + \", \" + roomString;\r\n        }\r\n\r\n        splitGuestsIntoRooms(guestCount, numRooms) {\r\n            const roomParameters = document.getElementById(\"room-range\");\r\n            let guestsPerRoom = Math.floor(guestCount \/ numRooms);\r\n            let remainingGuests = guestCount % numRooms;\r\n            let roomAssignments = [];\r\n\r\n            for (let i = 0; i < numRooms; i++) {\r\n                const roomSize = guestsPerRoom + (remainingGuests > 0 ? 1 : 0);\r\n                roomAssignments.push(roomSize);\r\n                remainingGuests--;\r\n            }\r\n\r\n            let guestString = `${guestCount} ${guestCount == 1 ? \"HOST\" : \"HOST\u00c9\"}`;\r\n            let roomString = `${numRooms} ${numRooms == 1 ? \"POKOJ\" : \"POKOJE\"}`;\r\n            roomParameters.style.display = \"none\";\r\n            return [roomAssignments.join(\"_\"), roomString, guestString];\r\n        }\r\n    }\r\n    new PeopleSelectorBar();\r\n<\/script>\r\n\r\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<\/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<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<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\t\t\t\t\t\t<h1 style=\"text-align: center;\">Accommodation\u00a0<\/h1><hr \/><div><p><span style=\"font-weight: 400;\">Penzion m\u00e1 k dispozici 5 pokoj\u016f s vlastn\u00ed koupelnou. V druh\u00e9 budov\u011b &#8222;Modr\u00fd d\u016fm&#8220; vz\u00e1dlen\u00fdm cca 200m jsou 3 apartm\u00e1ny vybaven\u00e9 kuchy\u0148sk\u00fdm koutem a 2 pokoje.\u00a0<\/span><\/p><p>V are\u00e1lu penzionu se nach\u00e1z\u00ed tak\u00e9 Bunkr typu \u0159op\u00edk, kter\u00fd byl sou\u010d\u00e1st\u00ed opevn\u011bn\u00ed za druh\u00e9 sv\u011btov\u00e9 v\u00e1lky. Penzion je nov\u011b po rekonstrukci a v\u0161echny pokoje jsou vybaveny nov\u00fdm n\u00e1bytkem.<\/p><\/div><div><span style=\"font-family: Poppins;\">\u00a0<\/span><\/div><div>Check &#8211; in:\u00a014.\u00b0\u00b0 &#8211; 20<span style=\"font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); font-size: 1rem;\">.\u00b0\u00b0<\/span><span style=\"font-family: var( --e-global-typography-text-font-family ), Sans-serif; font-weight: var( --e-global-typography-text-font-weight ); font-size: 1rem;\">\u00a0hod.<\/span><\/div><div>Check out: 10 AM<\/div><div><span style=\"font-family: Poppins;\">\u00a0<\/span><\/div><div><b>Hotel equipment:<\/b><\/div><div>\u00a0<\/div><div>&#8211; sn\u00eddan\u011b ve form\u011b bufetu<br \/>&#8211; klimatizace v ka\u017ed\u00e9m pokoji<\/div><div>&#8211; wifi p\u0159ipojen\u00ed po cel\u00e9m hotelu<\/div><div>- bicycle storage<\/div><div>- credit card payment<\/div><div>\u00a0<\/div>\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<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<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\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"391\" src=\"https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/550958760.jpg\" class=\"attachment-large size-large wp-image-1533\" alt=\"\" srcset=\"https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/550958760.jpg 1024w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/550958760-300x146.jpg 300w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/550958760-768x375.jpg 768w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/550958760-18x9.jpg 18w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/550958760-600x293.jpg 600w\" sizes=\"(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<div class=\"elementor-element elementor-element-9d2b6fc elementor-widget elementor-widget-image\" data-id=\"9d2b6fc\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"450\" src=\"https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210701_080620-1024x576.jpg\" class=\"attachment-large size-large wp-image-1403\" alt=\"\" srcset=\"https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210701_080620-1024x576.jpg 1024w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210701_080620-300x169.jpg 300w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210701_080620-768x432.jpg 768w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210701_080620-1536x864.jpg 1536w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210701_080620-2048x1152.jpg 2048w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210701_080620-18x10.jpg 18w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210701_080620-600x338.jpg 600w\" sizes=\"(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<div class=\"elementor-element elementor-element-f21f669 elementor-widget elementor-widget-image\" data-id=\"f21f669\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"576\" height=\"1024\" src=\"https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210630_191251-576x1024.jpg\" class=\"attachment-large size-large wp-image-1402\" alt=\"\" srcset=\"https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210630_191251-576x1024.jpg 576w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210630_191251-169x300.jpg 169w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210630_191251-768x1365.jpg 768w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210630_191251-864x1536.jpg 864w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210630_191251-1152x2048.jpg 1152w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210630_191251-7x12.jpg 7w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210630_191251-600x1067.jpg 600w, https:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2024\/07\/20210630_191251-scaled.jpg 1440w\" sizes=\"(max-width: 576px) 100vw, 576px\" \/>\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<div class=\"elementor-element elementor-element-65ca8d3f elementor-widget elementor-widget-image\" data-id=\"65ca8d3f\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"http:\/\/bunkr-karlstejn.cz\/wp-content\/uploads\/2023\/04\/719e94e4-cbe2-40c7-b1b8-6bd961c96f7a.jpg\" title=\"\" alt=\"\" loading=\"lazy\" \/>\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<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\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<div class=\"elementor-element elementor-element-b670b51 elementor-widget elementor-widget-Vypis ubytovani\" data-id=\"b670b51\" data-element_type=\"widget\" data-widget_type=\"Vypis ubytovani.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\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    const roomsRaw = await fetchRooms().catch((error) => console.error);\r\n    if (!roomsRaw) return;\r\n    const roomsWitchPictures = await fetchPicturesFromRooms(roomsRaw).catch((error) => console.error);\r\n    if (!roomsWitchPictures) return;\r\n    const roomsHTML = mapHTMLWithRooms(roomsWitchPictures);\r\n    insertHTML(roomsHTML);\r\n}\r\ninit();\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\nfunction fetchRooms() {\r\n    return fetch(`${window.location.origin}\/wp-json\/wp\/v2\/room`).then((body) => body.json());\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 < 10) {\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\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<\/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<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\t\t\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=Karl%C5%A1tejn%20334%2C%20267%2018%20Karl%C5%A1tejn&#038;t=m&#038;z=14&#038;output=embed&#038;iwloc=near\"\n\t\t\t\t\ttitle=\"Karl\u0161tejn 334, 267 18 Karl\u0161tejn\"\n\t\t\t\t\taria-label=\"Karl\u0161tejn 334, 267 18 Karl\u0161tejn\"\n\t\t\t><\/iframe>\n\t\t<\/div>\n\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<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>UBYTOV\u00c1N\u00cd HOST\u00c9 A APARTM\u00c1NY Po\u010det host\u016f: &#8211; + Pokoj: &#8211; + POU\u017d\u00cdT Ubytov\u00e1n\u00ed\u00a0 Penzion m\u00e1 k dispozici 5 pokoj\u016f s vlastn\u00ed koupelnou. V druh\u00e9 budov\u011b &#8222;Modr\u00fd d\u016fm&#8220; vz\u00e1dlen\u00fdm cca 200m jsou 3 apartm\u00e1ny vybaven\u00e9 kuchy\u0148sk\u00fdm koutem a 2 pokoje.\u00a0 V are\u00e1lu penzionu se nach\u00e1z\u00ed tak\u00e9 Bunkr typu \u0159op\u00edk, kter\u00fd byl sou\u010d\u00e1st\u00ed opevn\u011bn\u00ed za druh\u00e9 sv\u011btov\u00e9 [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-12","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/bunkr-karlstejn.cz\/en\/wp-json\/wp\/v2\/pages\/12","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bunkr-karlstejn.cz\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bunkr-karlstejn.cz\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bunkr-karlstejn.cz\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bunkr-karlstejn.cz\/en\/wp-json\/wp\/v2\/comments?post=12"}],"version-history":[{"count":12,"href":"https:\/\/bunkr-karlstejn.cz\/en\/wp-json\/wp\/v2\/pages\/12\/revisions"}],"predecessor-version":[{"id":1539,"href":"https:\/\/bunkr-karlstejn.cz\/en\/wp-json\/wp\/v2\/pages\/12\/revisions\/1539"}],"wp:attachment":[{"href":"https:\/\/bunkr-karlstejn.cz\/en\/wp-json\/wp\/v2\/media?parent=12"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}