{"id":698,"date":"2024-10-31T11:29:40","date_gmt":"2024-10-31T11:29:40","guid":{"rendered":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/?page_id=698"},"modified":"2026-06-03T07:58:51","modified_gmt":"2026-06-03T07:58:51","slug":"villas","status":"publish","type":"page","link":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/","title":{"rendered":"K5 Villas"},"content":{"rendered":"\n<div class=\"wp-block-cover alignfull is-light cover-hero wp-duotone-unset-1\" style=\"margin-top:0px;margin-bottom:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;min-height:430px;aspect-ratio:unset;\"><img loading=\"lazy\" decoding=\"async\" width=\"2000\" height=\"1499\" class=\"wp-block-cover__image-background wp-image-2394 size-full\" alt=\"K5 Villas Levill\u00e4 kes\u00e4ll\u00e4\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2025\/05\/Villas_kesa_hero.jpg\" data-object-fit=\"cover\" srcset=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2025\/05\/Villas_kesa_hero.jpg 2000w, https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2025\/05\/Villas_kesa_hero-300x225.jpg 300w, https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2025\/05\/Villas_kesa_hero-1024x767.jpg 1024w, https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2025\/05\/Villas_kesa_hero-768x576.jpg 768w, https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2025\/05\/Villas_kesa_hero-1536x1151.jpg 1536w\" sizes=\"auto, (max-width: 2000px) 100vw, 2000px\" \/><span aria-hidden=\"true\" class=\"wp-block-cover__background has-black-background-color has-background-dim-0 has-background-dim\"><\/span><div class=\"wp-block-cover__inner-container is-layout-flow wp-container-core-cover-is-layout-6e17fc20 wp-block-cover-is-layout-flow\">\n<p class=\"has-text-align-center has-large-font-size\"><\/p>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-group hiddenx is-layout-constrained wp-container-core-group-is-layout-72190d31 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">\n<div class=\"mews-booking-engine2-bg\" onclick=\"mewsCalendar.clickMewsCloseCalendar()\"><\/div>\n\n<div class=\"mews-booking-engine2-hero\" style=\"background-image: url('https:\/\/www.kassiopeia.fi\/hotel-levi-panorama\/wp-content\/uploads\/sites\/3\/2024\/10\/panorama_footer_bg2.png');\">\n    <div class=\"mews-booking-panel\">\n        <div class=\"mews-calendar-item\">\n\n            <!------------------------------>\n            <!-- Label                    -->\n            <!------------------------------>\n            <div class=\"mews-calendar-label\">\n                <img decoding=\"async\" src=\"https:\/\/www.kassiopeia.fi\/hotel-matts\/wp-content\/uploads\/sites\/2\/2025\/11\/varauskalenteri_matts.svg\">\n                <div class=\"mews-calendar-label__text\">\n                    Book accommodation:                <\/div>\n            <\/div>\n\n            <!------------------------------>\n            <!-- Input                   -->\n            <!------------------------------>\n            <div class=\"mews-calendar-input\">\n                <!--<input type=\"text\" id=\"mews-calendar-start\" disabled value=\"21.10.2025\"\/>-->\n                <div class=\"mews-calendar-input-field\" id=\"mews-calendar-start\" onclick=\"mewsCalendar.clickMewsOpenCalendar()\">\n                    <div class=\"mews-date-label\"><span id=\"mews-date-label-start\"><\/span> &#8211; <span id=\"mews-date-label-end\"><\/span><\/div>\n                    <div class=\"grid\">\n                        <div class=\"cell\"><\/div>\n                        <div class=\"cell\"><\/div>\n                        <div class=\"cell\"><\/div>\n                        <div class=\"cell\"><\/div>\n                        <div class=\"cell\"><\/div>\n                        <div class=\"cell\"><\/div>\n                        <div class=\"cell\"><\/div>\n                        <div class=\"cell\"><\/div>\n                        <div class=\"cell\"><\/div>\n                    <\/div>\n                <\/div>\n                <div class=\"mews-calendar-widget-container\">\n    <div id=\"mews-calendar-widget\">\n        <div class=\"mews-calendar-widget-close\" id=\"mews-calendar-close\" onclick=\"mewsCalendar.clickMewsCloseCalendar()\">\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"65\" height=\"65\" role=\"img\" aria-label=\"Close\">\n                <circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"none\"\/>\n                <path d=\"M8.5 8.5L15.5 15.5M15.5 8.5L8.5 15.5\" stroke=\"currentColor\" stroke-width=\"1.0\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"\/>\n            <\/svg>\n        <\/div>\n        <div class=\"mcw-inner\">\n            <div class=\"mcw-table-container\">\n                <div class=\"mcw-table mcw-table-l\">\n                    <div class=\"calendar-arrow calendar-arrow-l\" onclick=\"mewsCalendar.clickArrow(1)\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\">\n                            <path d=\"M15 5l-7 7 7 7\" fill=\"none\" stroke=\"white\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                        <\/svg>\n                    <\/div>\n                    <div class=\"calendar-title\" id=\"calendar-title-1\"><\/div>\n                    <div id=\"calendar-weekdays1\"><\/div>\n                    <div class=\"calendar-days\" id=\"calendar-days1\"><\/div>\n                <\/div>\n                <div class=\"mcw-table mcw-table-r\">\n                    <div class=\"calendar-arrow calendar-arrow-r\" onclick=\"mewsCalendar.clickArrow(2)\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\" aria-hidden=\"true\" focusable=\"false\">\n                            <path d=\"M9 5l7 7-7 7\" fill=\"none\" stroke=\"white\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n                        <\/svg>\n                    <\/div>\n                    <div class=\"calendar-title\" id=\"calendar-title-2\"><\/div>\n                    <div id=\"calendar-weekdays2\"><\/div>\n                    <div class=\"calendar-days\" id=\"calendar-days2\"><\/div>\n                <\/div>\n            <\/div>\n            <div class=\"mcw-button\">\n                <button class=\"btn-secondary\" id=\"mews-submit-button-calendar-desktop\" onclick=\"mewsCalendar.clickMewsCloseCalendar()\">\n                    Select dates                <\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>                <div class=\"mews-calendar-widget-container-mobile\">\n    <div id=\"mews-calendar-widget-mobile\">\n        <div class=\"mcw-top\">\n            <div>\n                Date            <\/div>\n            <div class=\"mews-calendar-widget-close\" onclick=\"mewsCalendar.clickMewsCloseCalendar()\">\n                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" width=\"50\" height=\"50\" role=\"img\" aria-label=\"Close\">\n                    <circle cx=\"12\" cy=\"12\" r=\"11\" fill=\"none\"\/>\n                    <path d=\"M8.5 8.5L15.5 15.5M15.5 8.5L8.5 15.5\" stroke=\"currentColor\" stroke-width=\"1.0\" stroke-linecap=\"round\" stroke-linejoin=\"round\" fill=\"none\"\/>\n                <\/svg>\n            <\/div>\n        <\/div>\n        <div class=\"mcw-content\" id=\"mcw-content-mobile\"><\/div>\n        <div class=\"mcw-bottom\">\n            <button class=\"btn-secondary\" id=\"mews-submit-button-calendar-mobile\" onclick=\"mewsCalendar.clickMewsCloseCalendar()\">\n                Select dates            <\/button>\n        <\/div>\n    <\/div>\n<\/div>            <\/div>\n        <\/div>\n        <input type=\"hidden\" id=\"mews-selected-start-year\" value=\"\">\n        <input type=\"hidden\" id=\"mews-selected-start-month\" value=\"\">\n        <input type=\"hidden\" id=\"mews-selected-start-day\" value=\"\">\n        <input type=\"hidden\" id=\"mews-selected-end-year\" value=\"\">\n        <input type=\"hidden\" id=\"mews-selected-end-month\" value=\"\">\n        <input type=\"hidden\" id=\"mews-selected-end-day\" value=\"\">\n        <button class=\"distributor-open\" id=\"mews-submit-button\">&#8230;<\/button>\n        <div id=\"mews-test\"><\/div>\n    <\/div>\n    <div class='mews-booking-engine2-hero__message'>\n        \n<p>Why book directly from us?\u00a0<a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/why-book-directly\/\">See all benefits!<\/a><\/p>\n    <\/div>\n<\/div>\n\n<script>\n\n    class MewsCalendar {\n        constructor() {\n            this.now = new Date(); \/\/Production\n            \/\/this.now = new Date('2027-12-28T10:00:00'); \/\/Testing\n            this.dayNow = this.now.getDate();\n            this.monthNow = this.now.getMonth() + 1;\n            this.yearNow = this.now.getFullYear();\n            this.monthNext = this.now.getMonth() + 2;\n            this.yearNext = this.now.getFullYear();\n            if (this.monthNow == 12) this.yearNext++;\n            this.monthNowSelected = this.monthNow;\n            this.yearNowSelected = this.yearNow;\n            this.monthNextSelected = this.monthNext;\n            this.yearNextSelected = this.yearNext;\n            if (this.monthNextSelected <= 0) this.monthNextSelected = 12;\n            if (this.monthNextSelected > 12) this.monthNextSelected = 1;\n            this.weekdayNames = ['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun'];this.monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];            this.generateCalendar(1);\n            this.generateCalendar(2);\n            this.generateMonthDays(1, this.monthNowSelected, this.yearNowSelected);\n            this.generateMonthDays(2, this.monthNextSelected, this.yearNextSelected);\n            let tomorrow = new Date();\n            tomorrow.setDate(tomorrow.getDate() + 1);\n            this.setDateLabels(this.dateToString(this.now), this.dateToString(tomorrow));\n            this.arrayDates = [];\n            this.arrayDatesSorted = [];\n            this.clickDayCount = 0;\n        }\n\n        setDateLabels(start, end) {\n            jQuery('#mews-date-label-start').html(start);\n            jQuery('#mews-date-label-end').html(end);\n        }\n\n        clickMewsOpenCalendar() {\n            jQuery('.mews-booking-engine2-bg').fadeIn(50);\n            jQuery('#mews-calendar-widget').fadeIn(50);\n            jQuery('#mews-calendar-widget-mobile').fadeIn(50);\n        }\n\n        clickMewsCloseCalendar() {\n\t\t\tjQuery('.mews-booking-engine2-bg').fadeOut(50);\n            jQuery('#mews-calendar-widget').fadeOut(50);\n            jQuery('#mews-calendar-widget-mobile').fadeOut(50);\n        }\n\n        generateCalendar(id) {\n            this.generateWeekdays(id);\n            let html = '';\n            for (let y=0; y<6; y++) {\n                html += '<div class=\"row\">';\n                    for (let x=0; x<7; x++) {\n                        let day = y*7+x+1;\n                        html += '<div class=\"day-square day-square-' + id + '\" id=\"' + id + '-day-' + day + '\" data-day=\"0\" onclick=\"mewsCalendar.clickDay(this)\">';\n                        html += '<div class=\"day-square-inner\">';\n                        html += '<div class=\"day-square-circle\"><\/div>';\n                        html += '<\/div>';\n                        html += '<\/div>';\n                    }\n                html += '<\/div>';\n            }\n            jQuery('#calendar-days' + id).html(html);\n        }\n\n        generateWeekdays(id) {\n            let html = '<div class=\"calendar-weekdays\">';\n            html += '<div>' + this.weekdayNames[0] + '<\/div>';\n            html += '<div>' + this.weekdayNames[1] + '<\/div>';\n            html += '<div>' + this.weekdayNames[2] + '<\/div>';\n            html += '<div>' + this.weekdayNames[3] + '<\/div>';\n            html += '<div>' + this.weekdayNames[4] + '<\/div>';\n            html += '<div>' + this.weekdayNames[5] + '<\/div>';\n            html += '<div>' + this.weekdayNames[6] + '<\/div>';\n            html += '<\/div>';\n            jQuery('#calendar-weekdays' + id).html(html);\n        }\n\n        clickArrow(dir) {\n            if (dir == 1) {\n                if (this.monthNow == this.monthNowSelected && this.yearNow == this.yearNowSelected) {\n                    \/\/Do nothing\n                } else {\n                    this.monthNowSelected--;\n                    if (this.monthNowSelected <= 0) {\n                        this.monthNowSelected = 12;\n                        this.yearNowSelected--;\n                    }\n                    this.monthNextSelected--;\n                    if (this.monthNextSelected <= 0) {\n                        this.monthNextSelected = 12;\n                        this.yearNextSelected--;\n                    }\n                }\n            }\n            if (dir == 2) {\n                this.monthNowSelected++;\n                if (this.monthNowSelected > 12) {\n                    this.monthNowSelected = 1;\n                    this.yearNowSelected++;\n                }\n                this.monthNextSelected++;\n                if (this.monthNextSelected > 12) {\n                    this.monthNextSelected = 1;\n                    this.yearNextSelected++;\n                }\n            }\n            this.generateCalendar(1);\n            this.generateCalendar(2);\n            this.generateMonthDays(1, this.monthNowSelected, this.yearNowSelected);\n            this.generateMonthDays(2, this.monthNextSelected, this.yearNextSelected);\n            this.markSelectedDates();\n        }\n\n        generateMonthDays(id, month, year) {\n            \/\/console.log('generateMonthDays', id, month, year);\n            const firstDay = new Date(year, month-1, 1);\n            const firstDayId = (firstDay.getDay() + 6) % 7 + 1;\n            const daysInMonth = new Date(year, month, 0).getDate();\n            let html = '';\n            \/\/jQuery('.day-square-' + id).html('');\n            jQuery('.day-square-' + id).data('day', 0);\n            jQuery('.day-square-' + id).removeClass('disabled');\n            jQuery('.day-square-' + id).removeClass('current');\n            for (let i=firstDayId; i<daysInMonth+firstDayId; i++) {\n                const day = i-firstDayId+1;\n                const dateStr = day + '.' + month + '.' + year;\n                \/\/console.log(dateStr);\n                \/\/jQuery('#' + id + '-day-' + i).html(day);\n                jQuery('#' + id + '-day-' + i + ' .day-square-circle').html(day);\n                jQuery('#' + id + '-day-' + i).data('day', day + '.' + month + '.' + year);\n                if (this.stringToDate(dateStr) < this.now) {\n                    jQuery('#' + id + '-day-' + i).addClass('disabled');\n                    \/\/console.log('disabled', this.now);\n                }\n                if (dateStr == this.dateToString(this.now)) jQuery('#' + id + '-day-' + i).addClass('current');\n            }\n            const monthName = this.monthNames[month-1];\n            jQuery('#calendar-title-' + id).html(monthName + ' ' + year);\n            this.removeEmptyRows(id);\n        }\n\n        removeEmptyRows(id) {\n            let count = 0;\n            let rowCount = 0;\n            let html = '';\n            jQuery('.day-square-' + id).each(function() {\n                count++;\n                html += jQuery(this).html();\n                if (count % 7 == 0) {\n                    rowCount++;\n                    if (html == '') {\n                        const first = (rowCount-1)*7+1;\n                        for (let i=first; i<first+7; i++) {\n                            jQuery('#' + id + '-day-' + i).remove();\n                        }\n                    }\n                    html = '';\n                }\n            });\n        }\n\n        clickDay = (event) => {\n            const id = jQuery(event).attr('id');\n            const str = jQuery(event).data('day');\n            \/\/console.log(id, str);\n            if (this.arrayDates[0] != undefined && this.arrayDates[1] != undefined) {\n                this.arrayDates = [];\n                this.arrayDatesSorted = [...this.arrayDates].sort((a, b) => a - b);\n                this.markSelectedDates();\n            }\n            if (this.arrayDates[0] != undefined && this.arrayDates[1] == undefined) {\n                this.arrayDates[1] = this.stringToDate(str);\n                this.arrayDatesSorted = [...this.arrayDates].sort((a, b) => a - b);\n                this.markSelectedDates();\n            }\n            if (this.arrayDates[0] == undefined && this.arrayDates[1] == undefined) {\n                this.arrayDates[0] = this.stringToDate(str);\n                this.arrayDatesSorted = [...this.arrayDates].sort((a, b) => a - b);\n                this.markSelectedDates();\n            }\n        }\n\n        markSelectedDates() {\n            const date1 = this.arrayDatesSorted[0];\n            const date2 = this.arrayDatesSorted[1];\n            const str1 = this.dateToString(date1);\n            const str2 = this.dateToString(date2);\n            jQuery('.day-square-1').removeClass('selected');\n            jQuery('.day-square-1').removeClass('selected-strong1');\n            jQuery('.day-square-1').removeClass('selected-strong2');\n            jQuery('.day-square-2').removeClass('selected');\n            jQuery('.day-square-2').removeClass('selected-strong1');\n            jQuery('.day-square-2').removeClass('selected-strong2');\n            if (str1.length > 1) {\n                this.setDateLabels(str1, str2);\n                jQuery('.day-square-1').each(function() {\n                    const dataDay = jQuery(this).data('day');\n                    if (dataDay.length > 1) {\n                        const [day, month, year] = dataDay.split('.').map(Number);\n                        const dataDayDate = new Date(year, month - 1, day);\n                        if (dataDayDate > date1 && dataDayDate < date2) {\n                            jQuery(this).addClass('selected');\n                        }\n                        if (dataDay == str1) jQuery(this).addClass('selected-strong1');\n                        if (dataDay == str2) jQuery(this).addClass('selected-strong2');\n                    }\n                });\n                jQuery('.day-square-2').each(function() {\n                    const dataDay = jQuery(this).data('day');\n                    if (dataDay.length > 1) {\n                        const [day, month, year] = dataDay.split('.').map(Number);\n                        const dataDayDate = new Date(year, month - 1, day);\n                        if (dataDayDate > date1 && dataDayDate < date2) {\n                            jQuery(this).addClass('selected');\n                        }\n                        if (dataDay == str1) jQuery(this).addClass('selected-strong1');\n                        if (dataDay == str2) jQuery(this).addClass('selected-strong2');\n                    }\n                });\n            } else {\n                jQuery('.day-square-1').removeClass('selected');\n                jQuery('.day-square-2').removeClass('selected');\n            }\n            if (str1.length > 1 && str2.length > 1) {\n                jQuery('#mews-selected-start-year').val(date1.getFullYear());\n                jQuery('#mews-selected-start-month').val(date1.getMonth());\n                jQuery('#mews-selected-start-day').val(date1.getDate());\n                jQuery('#mews-selected-end-year').val(date2.getFullYear());\n                jQuery('#mews-selected-end-month').val(date2.getMonth());\n                jQuery('#mews-selected-end-day').val(date2.getDate());\n            }\n            \/* Testing:\n            let startYear = jQuery('#mews-selected-start-year').val();\n            let startMonth = jQuery('#mews-selected-start-month').val(); \/\/0-11\n            let startDay = jQuery('#mews-selected-start-day').val();\n            let endYear = jQuery('#mews-selected-end-year').val();\n            let endMonth = jQuery('#mews-selected-end-month').val(); \/\/0-11\n            let endDay = jQuery('#mews-selected-end-day').val();\n            console.log('mews start1', startYear, startMonth, startDay);\n            console.log('mews end1', endYear, endMonth, endDay);*\/\n        }\n\n        stringToDate(str) {\n            if (str.length > 1) {\n                const [day, month, year] = str.split('.').map(Number);\n                return new Date(year, month - 1, day);\n            }\n            return '';\n        }\n\n        dateToString(date) {\n            if (!date) return ''; \/\/ null\/undefined -> empty string\n            \/\/ If input is a string in dd.mm.yyyy (or d.m.yyyy) format, parse manually\n            if (typeof date === 'string' && \/^\\d{1,2}\\.\\d{1,2}\\.\\d{4}$\/.test(date.trim())) {\n                const [d, m, y] = date.trim().split('.').map(Number);\n                \/\/ basic validation\n                if (!d || !m || !y) return '';\n                const dt = new Date(y, m - 1, d);\n                if (Number.isNaN(dt.getTime())) return '';\n                date = dt;\n            } else {\n                \/\/ try to coerce other inputs (Date object, ISO string, timestamp)\n                date = new Date(date);\n                if (Number.isNaN(date.getTime())) return '';\n            }\n            \/\/const day = String(date.getDate()).padStart(2, '0');\n            const day = String(date.getDate());\n            const month = String(date.getMonth() + 1);\n            const year = date.getFullYear();\n            return `${day}.${month}.${year}`;\n        }\n    }\n    const mewsCalendar = new MewsCalendar();\n<\/script><script>\n    class MewsCalendarMobile {\n        constructor() {\n            this.now = new Date();\n            this.dayNow = this.now.getDate();\n            this.monthNow = this.now.getMonth() + 1;\n            this.yearNow = this.now.getFullYear();\n            this.monthNext = this.now.getMonth() + 2;\n            this.yearNext = this.now.getFullYear();\n            this.weekdayNames = ['mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun'];this.monthNames = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];            this.arrayDates = [];\n            this.arrayDatesSorted = [];\n            this.generateAllCalendars();\n        }\n\n        generateAllCalendars() {\n            const date = new Date();\n            for (let i = 0; i < 13; i++) {\n                const year = date.getFullYear();\n                const month = date.getMonth() + 1; \/\/ getMonth() is 0-based\n                \/\/console.log(`${year}, ${month}`);\n                if (i < 12) {\n                    this.generateCalendar(i+1, year, month, false);\n                } else {\n                    this.generateCalendar(i+1, year, month, true);\n                }\n                this.generateMonthDays(i+1, year, month);\n                this.removeEmptyRows(i+1);\n                \/\/ Move to next month\n                date.setMonth(date.getMonth() + 1);\n            }\n        }\n\n        generateCalendar(id, year, month, addSpacer) {\n            let html = '';\n            html += '<div class=\"mcw-content-monthname\">' + this.monthNames[month-1] + ' ' + year + '<\/div>';\n            html += '<div class=\"m-calendar-weekdays\">';\n            html += '<div>' + this.weekdayNames[0] + '<\/div>';\n            html += '<div>' + this.weekdayNames[1] + '<\/div>';\n            html += '<div>' + this.weekdayNames[2] + '<\/div>';\n            html += '<div>' + this.weekdayNames[3] + '<\/div>';\n            html += '<div>' + this.weekdayNames[4] + '<\/div>';\n            html += '<div>' + this.weekdayNames[5] + '<\/div>';\n            html += '<div>' + this.weekdayNames[6] + '<\/div>';\n            html += '<\/div>';\n            html += '<div style=\"height: 10px;\"><\/div>';\n            for (let y=0; y<6; y++) {\n                html += '<div class=\"m-row\">';\n                    for (let x=0; x<7; x++) {\n                        let day = y*7+x+1;\n                        \/\/html += '<div class=\"m-day-square m-day-square-' + id + '\" id=\"' + id + '-m-day-' + day + '\" data-day=\"0\" onclick=\"mewsCalendarMobile.clickDay(this)\">' + day + '<\/div>';\n                        html += '<div class=\"m-day-square m-day-square-' + id + '\" id=\"' + id + '-m-day-' + day + '\" data-day=\"0\" onclick=\"mewsCalendarMobile.clickDay(this)\">';\n                        html += '<div class=\"m-day-square-inner\">';\n                        html += '<div class=\"m-day-square-circle\"><\/div>';\n                        html += '<\/div>';\n                        html += '<\/div>';\n                    }\n                html += '<\/div>';\n            }\n            html += '<div style=\"height: 30px;\"><\/div>';\n            if (addSpacer) html += '<div style=\"height: 150px;\"><\/div>';\n            jQuery('#mcw-content-mobile').append(html);\n        }\n\n        generateMonthDays(id, year, month) {\n            \/\/console.log('generateMonthDays', id, month, year);\n            const firstDay = new Date(year, month-1, 1);\n            const firstDayId = (firstDay.getDay() + 6) % 7 + 1;\n            const daysInMonth = new Date(year, month, 0).getDate();\n            let html = '';\n            \/\/jQuery('.m-day-square-' + id).html('');\n            jQuery('.m-day-square-' + id).data('day', 0);\n            jQuery('.m-day-square-' + id).removeClass('disabled');\n            jQuery('.m-day-square-' + id).removeClass('current');\n            for (let i=firstDayId; i<daysInMonth+firstDayId; i++) {\n                const day = i-firstDayId+1;\n                const dateStr = day + '.' + month + '.' + year;\n                \/\/jQuery('#' + id + '-m-day-' + i).html(day);\n                jQuery('#' + id + '-m-day-' + i + ' .m-day-square-circle').html(day);\n                jQuery('#' + id + '-m-day-' + i).data('day', day + '.' + month + '.' + year);\n                if (this.stringToDate(dateStr) < this.now) jQuery('#' + id + '-m-day-' + i).addClass('disabled');\n                if (dateStr == this.dateToString(this.now)) jQuery('#' + id + '-m-day-' + i).addClass('current');\n            }\n        }\n\n        removeEmptyRows(id) {\n            let count = 0;\n            let rowCount = 0;\n            let html = '';\n            jQuery('.m-day-square-' + id).each(function() {\n                count++;\n                html += jQuery(this).html();\n                if (count % 7 == 0) {\n                    rowCount++;\n                    if (html == '') {\n                        const first = (rowCount-1)*7+1;\n                        for (let i=first; i<first+7; i++) {\n                            jQuery('#' + id + '-m-day-' + i).remove();\n                        }\n                    }\n                    html = '';\n                }\n            });\n        }\n\n        clickDay = (event) => {\n            const id = jQuery(event).attr('id');\n            const str = jQuery(event).data('day');\n            if (this.arrayDates[0] != undefined && this.arrayDates[1] != undefined) {\n                this.arrayDates = [];\n                this.arrayDatesSorted = [...this.arrayDates].sort((a, b) => a - b);\n                this.markAllSelectedDates();\n            }\n            if (this.arrayDates[0] != undefined && this.arrayDates[1] == undefined) {\n                this.arrayDates[1] = this.stringToDate(str);\n                this.arrayDatesSorted = [...this.arrayDates].sort((a, b) => a - b);\n                this.markAllSelectedDates();\n            }\n            if (this.arrayDates[0] == undefined && this.arrayDates[1] == undefined) {\n                this.arrayDates[0] = this.stringToDate(str);\n                this.arrayDatesSorted = [...this.arrayDates].sort((a, b) => a - b);\n                this.markAllSelectedDates();\n            }\n        }\n\n        markAllSelectedDates() {\n            for (let i=1; i<=13; i++) {\n                this.markSelectedDates(i);\n            }\n        }\n\n        markSelectedDates(id) {\n            const date1 = this.arrayDatesSorted[0];\n            const date2 = this.arrayDatesSorted[1];\n            const str1 = this.dateToString(date1);\n            const str2 = this.dateToString(date2);\n            \/\/console.log(str1, str2);\n            jQuery('.m-day-square-' + id).removeClass('selected');\n            jQuery('.m-day-square-' + id).removeClass('selected-strong1');\n            jQuery('.m-day-square-' + id).removeClass('selected-strong2');\n            if (str1.length > 1) {\n                this.setDateLabels(str1, str2);\n                jQuery('.m-day-square-' + id).each(function() {\n                    const dataDay = jQuery(this).data('day');\n                    if (dataDay.length > 1) {\n                        const [day, month, year] = dataDay.split('.').map(Number);\n                        const dataDayDate = new Date(year, month - 1, day);\n                        if (dataDayDate > date1 && dataDayDate < date2) {\n                            jQuery(this).addClass('selected');\n                        }\n                        if (dataDay == str1) jQuery(this).addClass('selected-strong1');\n                        if (dataDay == str2) jQuery(this).addClass('selected-strong2');\n                    }\n                });\n            } else {\n                jQuery('.m-day-square-' + id).removeClass('selected');\n            }\n            if (str1.length > 1 && str2.length > 1) {\n                jQuery('#mews-selected-start-year').val(date1.getFullYear());\n                jQuery('#mews-selected-start-month').val(date1.getMonth());\n                jQuery('#mews-selected-start-day').val(date1.getDate());\n                jQuery('#mews-selected-end-year').val(date2.getFullYear());\n                jQuery('#mews-selected-end-month').val(date2.getMonth());\n                jQuery('#mews-selected-end-day').val(date2.getDate());\n            }\n            \/* Testing:\n            let startYear = jQuery('#mews-selected-start-year').val();\n            let startMonth = jQuery('#mews-selected-start-month').val(); \/\/0-11\n            let startDay = jQuery('#mews-selected-start-day').val();\n            let endYear = jQuery('#mews-selected-end-year').val();\n            let endMonth = jQuery('#mews-selected-end-month').val(); \/\/0-11\n            let endDay = jQuery('#mews-selected-end-day').val();\n            console.log('mews start1', startYear, startMonth, startDay);\n            console.log('mews end1', endYear, endMonth, endDay);*\/\n        }\n\n        setDateLabels(start, end) {\n            jQuery('#mews-date-label-start').html(start);\n            jQuery('#mews-date-label-end').html(end);\n        }\n\n        stringToDate(str) {\n            if (str.length > 1) {\n                const [day, month, year] = str.split('.').map(Number);\n                return new Date(year, month - 1, day);\n            }\n            return '';\n        }\n\n        dateToString(date) {\n            if (!date) return ''; \/\/ null\/undefined -> empty string\n            \/\/ If input is a string in dd.mm.yyyy (or d.m.yyyy) format, parse manually\n            if (typeof date === 'string' && \/^\\d{1,2}\\.\\d{1,2}\\.\\d{4}$\/.test(date.trim())) {\n                const [d, m, y] = date.trim().split('.').map(Number);\n                \/\/ basic validation\n                if (!d || !m || !y) return '';\n                const dt = new Date(y, m - 1, d);\n                if (Number.isNaN(dt.getTime())) return '';\n                date = dt;\n            } else {\n                \/\/ try to coerce other inputs (Date object, ISO string, timestamp)\n                date = new Date(date);\n                if (Number.isNaN(date.getTime())) return '';\n            }\n            \/\/const day = String(date.getDate()).padStart(2, '0');\n            const day = String(date.getDate());\n            const month = String(date.getMonth() + 1);\n            const year = date.getFullYear();\n            return `${day}.${month}.${year}`;\n        }\n    }\n    const mewsCalendarMobile = new MewsCalendarMobile();\n<\/script><script>\n    window.addEventListener('DOMContentLoaded', function() {\n\n        console.log(\"mews booking engine loaded\");\n\n        if (typeof Mews !== 'undefined') {\n\n            console.log(\"Mews is defined\");\n\n            Mews.Distributor(\n                {\n                    configurationIds: ['a96cd931-0e00-4bb1-abc9-b441008474b8'],\n                    \/\/openElements: '.distributor-open',\n                },\n                \n                function(api) {\n                    \/\/ you can call API functions on a booking engine instance here\n                    \/\/ set different start and end date\n\n                    const mewsSubmit = () => {\n                        const startYear = jQuery('#mews-selected-start-year').val();\n                        const startMonth = jQuery('#mews-selected-start-month').val(); \/\/0-11\n                        const startDay = jQuery('#mews-selected-start-day').val();\n                        const endYear = jQuery('#mews-selected-end-year').val();\n                        const endMonth = jQuery('#mews-selected-end-month').val(); \/\/0-11\n                        const endDay = jQuery('#mews-selected-end-day').val();\n                        \/\/console.log('mews start2', startYear, startMonth, startDay);\n                        \/\/console.log('mews end2', endYear, endMonth, endDay);\n                        api.setStartDate(new Date(startYear, startMonth, startDay));\n                        api.setEndDate(new Date(endYear, endMonth, endDay));\n\n                        api.setLanguageCode('en-GB');\n                        console.log('mews submit en-GB');\n                        api.open();\n                    }\n\n                    const enableSubmit = () => {\n                        console.log('enableSubmit'); \n                        const submitButton = document.getElementById('mews-submit-button');\n                        const submitButtonCalendarDesktop = document.getElementById('mews-submit-button-calendar-desktop');\n                        const submitButtonCalendarMobile = document.getElementById('mews-submit-button-calendar-mobile');\n                        submitButton.innerHTML = 'Check availability';\n                        \/\/submitButton.disabled = false;\n                        submitButton.addEventListener('click', function() {\n                            mewsSubmit();\n                        });\n                        submitButtonCalendarDesktop.addEventListener('click', function() {\n                            mewsSubmit();\n                        });\n                        submitButtonCalendarMobile.addEventListener('click', function() {\n                            mewsSubmit();\n                        });\n                    };\n                    enableSubmit();\n                }\n            );\n        }\n    });\n<\/script><\/div>\n\n\n\n<div class=\"wp-block-group alignfull hidden-mobile is-layout-constrained wp-container-core-group-is-layout-3165c0be wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)\">\n\n<div class=\"infobar-main\">\n                            <div class=\"infobar-item\">\n                            <a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/\"><img decoding=\"async\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/11\/mokkihuoneistot_ikoni.svg\" alt=\"16 cottage apartments\"><\/a>\n                            <div><a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/\">16 cottage apartments<\/a><\/div>\n                        <\/div>\n                                            <div class=\"infobar-item\">\n                            <a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/rooms\/\"><img decoding=\"async\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/11\/hotellihuone_ikoni.svg\" alt=\"35 hotel rooms\"><\/a>\n                            <div><a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/rooms\/\">35 hotel rooms<\/a><\/div>\n                        <\/div>\n                                            <div class=\"infobar-item\">\n                            <a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/restaurant-katka\/\"><img decoding=\"async\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/11\/ravintola_ikoni.svg\" alt=\"Restaurant services\"><\/a>\n                            <div><a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/restaurant-katka\/\">Restaurant services<\/a><\/div>\n                        <\/div>\n                                            <div class=\"infobar-item\">\n                            <img decoding=\"async\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/11\/hiihtoladut_ikoni.svg\" alt=\"Ski slopes nearby\">\n                            <div>Ski slopes nearby<\/div>\n                        <\/div>\n                                            <div class=\"infobar-item\">\n                            <a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/reindeer\/\"><img decoding=\"async\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/11\/poroaitaus_ikoni.svg\" alt=\"Reindeer fencing\"><\/a>\n                            <div><a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/reindeer\/\">Reindeer fencing<\/a><\/div>\n                        <\/div>\n                                            <div class=\"infobar-item\">\n                            <a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/info-2\/#parking\"><img decoding=\"async\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/11\/parkkihalli_ikoni.svg\" alt=\"Free parking\"><\/a>\n                            <div><a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/info-2\/#parking\">Free parking<\/a><\/div>\n                        <\/div>\n                    <\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull is-layout-constrained wp-container-core-group-is-layout-33ef6281 wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--60);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--80);padding-left:var(--wp--preset--spacing--40)\">\n<h1 class=\"wp-block-heading\" id=\"h-k5-villas-apartments\">K5 Villas Apartments<\/h1>\n\n\n\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:70%\">\n<p class=\"has-large-font-size\">K5 Villas apartments are located in a peaceful setting at the foot of K\u00e4tk\u00e4 Fell, yet close to the center of Levi. There are 16 apartments in total (8 semi-detached houses), with accommodations for 7-14 guests, depending on the apartment size.  K5 Villas are open all year round!<\/p>\n\n\n\n<div class=\"wp-block-group is-content-justification-left is-nowrap is-layout-flex wp-container-core-group-is-layout-b058e576 wp-block-group-is-layout-flex\">\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.facebook.com\/HotelK5Levi\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"200\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/12\/FB-K5.svg\" alt=\"\" class=\"wp-image-1793\" style=\"width:32px\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.instagram.com\/k5levi\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"200\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/12\/IG-K5.svg\" alt=\"\" class=\"wp-image-1795\" style=\"width:32px\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.youtube.com\/channel\/UCehSja2ltTKOvaGLzV98TEA\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"200\" height=\"200\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/12\/YT-K5.svg\" alt=\"\" class=\"wp-image-1797\" style=\"width:32px\"\/><\/a><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"padding-right:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40);flex-basis:30%\">\n\n<div class=\"block-openable-box\" id=\"block-openable-box-1738196941\">\n    \n<div class=\"wp-block-group box is-layout-constrained wp-container-core-group-is-layout-481dc8fc wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">\n<p class=\"has-text-align-center has-small-font-size\" style=\"margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0\"><strong>Hotel K5 Levi<\/strong><\/p>\n\n\n\n<div class=\"wp-block-group is-content-justification-center is-layout-flex wp-container-core-group-is-layout-83f4917f wp-block-group-is-layout-flex\" style=\"margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0\">\n<style>\n    \n<\/style>\n\n<span class=\"wp-block-acf-yhteystiedot-text\"><div style=\"padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;\" class=\"align wp-block-acf-yhteystiedot has-text-color has-black-color has-small-font-size\">K\u00e4tk\u00e4nrannantie 2<\/div><\/span>\n\n\n<p class=\"has-small-font-size\" style=\"margin-bottom:0;padding-right:var(--wp--preset--spacing--20);padding-bottom:0\">,<\/p>\n\n\n\n<div class=\"wp-block-group is-layout-flex wp-container-core-group-is-layout-a62be2ae wp-block-group-is-layout-flex\" style=\"margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;padding-left:0\">\n<style>\n    \n<\/style>\n\n<span class=\"wp-block-acf-yhteystiedot-text\"><div style=\"padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;\" class=\"align wp-block-acf-yhteystiedot has-text-color has-black-color has-small-font-size\">99130<\/div><\/span>\n\n\n<style>\n    \n<\/style>\n\n<span class=\"wp-block-acf-yhteystiedot-text\"><div style=\"padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;\" class=\"align wp-block-acf-yhteystiedot has-text-color has-black-color has-small-font-size\">Levi FI<\/div><\/span><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-22e35e9d wp-block-group-is-layout-flex\" style=\"margin-top:0;margin-bottom:0;padding-bottom:var(--wp--preset--spacing--30)\">\n<style>\n    \n<\/style>\n\n<span class=\"wp-block-acf-yhteystiedot-tel\"><a style=\"padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;\" class=\"align wp-block-acf-yhteystiedot has-text-color has-black-color has-small-font-size\" href=\"tel:+358 16 639 1100\">+358 16 639 1100<\/a><\/span>\n\n\n<style>\n    \n<\/style>\n\n<a style=\"padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;\" class=\"align wp-block-acf-yhteystiedot has-text-color has-black-color has-small-font-size\" href=\"mailto:k5@kassiopeia.fi\">k5@kassiopeia.fi<\/a>\n\n\n<style>\n    \n<\/style>\n\n<span class=\"wp-block-acf-yhteystiedot-text\"><div style=\"padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;\" class=\"align wp-block-acf-yhteystiedot has-text-color has-black-color has-small-font-size\">Reception 24\/7<\/div><\/span>\n\n\n\n<style>\n    #wp-block-acf-tietokentat-1216513928 p {\n        margin: 0px;\n        margin-bottom: 9px;\n        <br \/>\n<b>Warning<\/b>:  Undefined variable $textAlign in <b>\/var\/www\/kassiopeia.fi\/git-repo\/kassiopeia\/kassiopeia-custom-blocks\/blocks\/tietokentat\/block.php<\/b> on line <b>74<\/b><br \/>\n    }\n<\/style>\n\n<div class=\"align wp-block-acf-tietokentat has-text-color has-black-color\" id=\"wp-block-acf-tietokentat-1216513928\"><p style=\"text-align: center;\">Hotel K5 Levi is closed from 20 April to 8 November 2026.<br \/>\nK5 Villas\u00a0 apartments are open all year round!<\/p>\n<div class=\"z-0 flex min-h-[46px] justify-start\"><\/div>\n<div class=\"mt-3 w-full empty:hidden\">\n<div class=\"text-center\">\n<div>\n<div class=\"inline-flex border border-gray-100 dark:border-gray-700 rounded-xl\">\n<div class=\"bg-token-main-surface-tertiary w-px flex-1 self-stretch\"><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n<div class=\"wp-block-group extensible-container is-layout-constrained wp-container-core-group-is-layout-481dc8fc wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">\n<div class=\"wp-block-group extensible is-layout-constrained wp-container-core-group-is-layout-ee51b7c5 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--50);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)\">\n\n<style>\n    #wp-block-acf-tietokentat-1870174880 p {\n        margin: 0px;\n        margin-bottom: 9px;\n        <br \/>\n<b>Warning<\/b>:  Undefined variable $textAlign in <b>\/var\/www\/kassiopeia.fi\/git-repo\/kassiopeia\/kassiopeia-custom-blocks\/blocks\/tietokentat\/block.php<\/b> on line <b>74<\/b><br \/>\n    }\n<\/style>\n\n<div class=\"align wp-block-acf-tietokentat has-text-color has-black-color\" id=\"wp-block-acf-tietokentat-1870174880\"><p style=\"text-align: center;\"><a href=\"https:\/\/web.archive.org\/web\/20250713042633\/https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/restaurant-katka\/\">Read more about Restaurant K\u00e4tk\u00e4<\/a><br \/>\n<em>Restaurant services are closed from April 20 to November 8, 2026.<\/em><\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n    <div class=\"button\" onclick=\"infoboxHotelmatts1738196941.openInfobox()\">\n        Restaurant opening hours        <span class=\"arrow\" id=\"openable-box-arrow-1738196941\"><\/span>\n    <\/div>\n<\/div>\n\n<script>\n    class InfoboxHotelmatts1738196941 {\n        constructor(rand) {\n            this.rand = rand;\n        }\n\n        openInfobox() {\n            \/\/console.log('openInfobox', this.rand);\n            if (jQuery('#block-openable-box-' + this.rand).children('.extensible-container').children('.extensible').is(':visible')) {\n                jQuery('#block-openable-box-' + this.rand).children('.extensible-container').children('.extensible').hide();\n                jQuery('#openable-box-arrow-' + this.rand).css({'transform': 'rotate(45deg)'});\n            } else {\n                jQuery('#block-openable-box-' + this.rand).children('.extensible-container').children('.extensible').show();\n                jQuery('#openable-box-arrow-' + this.rand).css({'transform': 'rotate(-135deg)'});\n            }\n        }\n    }\n    const infoboxHotelmatts1738196941 = new InfoboxHotelmatts1738196941(1738196941);\n<\/script><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull hidden-desktop is-layout-constrained wp-container-core-group-is-layout-f8b235a5 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--70);padding-left:var(--wp--preset--spacing--40)\">\n\n<div class=\"infobar-main\">\n                            <div class=\"infobar-item\">\n                            <a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/\"><img decoding=\"async\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/11\/mokkihuoneistot_ikoni.svg\" alt=\"16 cottage apartments\"><\/a>\n                            <div><a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/\">16 cottage apartments<\/a><\/div>\n                        <\/div>\n                                            <div class=\"infobar-item\">\n                            <a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/rooms\/\"><img decoding=\"async\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/11\/hotellihuone_ikoni.svg\" alt=\"35 hotel rooms\"><\/a>\n                            <div><a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/rooms\/\">35 hotel rooms<\/a><\/div>\n                        <\/div>\n                                            <div class=\"infobar-item\">\n                            <a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/restaurant-katka\/\"><img decoding=\"async\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/11\/ravintola_ikoni.svg\" alt=\"Restaurant services\"><\/a>\n                            <div><a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/restaurant-katka\/\">Restaurant services<\/a><\/div>\n                        <\/div>\n                                            <div class=\"infobar-item\">\n                            <img decoding=\"async\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/11\/hiihtoladut_ikoni.svg\" alt=\"Ski slopes nearby\">\n                            <div>Ski slopes nearby<\/div>\n                        <\/div>\n                                            <div class=\"infobar-item\">\n                            <a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/reindeer\/\"><img decoding=\"async\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/11\/poroaitaus_ikoni.svg\" alt=\"Reindeer fencing\"><\/a>\n                            <div><a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/reindeer\/\">Reindeer fencing<\/a><\/div>\n                        <\/div>\n                                            <div class=\"infobar-item\">\n                            <a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/info-2\/#parking\"><img decoding=\"async\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/11\/parkkihalli_ikoni.svg\" alt=\"Free parking\"><\/a>\n                            <div><a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/info-2\/#parking\">Free parking<\/a><\/div>\n                        <\/div>\n                    <\/div>\n\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull is-layout-constrained wp-container-core-group-is-layout-2a480371 wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--50);padding-left:var(--wp--preset--spacing--40)\">\n<h2 class=\"wp-block-heading\" id=\"h-offers\">Offers<\/h2>\n\n\n<script>\n\/\/---------------------------------\n\/\/ Initialize the OffersImagesScroller if not present\n\/\/---------------------------------\nif (typeof offers_images_scroller === 'undefined') {\n    var offers_images_scroller = new OffersImagesScroller();\n    offers_images_scroller.init();\n}\n\n\/\/---------------------------------\n\/\/ Show more button on mobile\n\/\/---------------------------------\ndocument.addEventListener('DOMContentLoaded', function() {\n    if (typeof offers_images_scroller === 'undefined') {\n        var offers_images_scroller = new OffersImagesScroller();\n        offers_images_scroller.init();\n    }\n    document.querySelectorAll('.mobile-show-all-button').forEach(function(button) {\n        button.addEventListener('click', function(e) {\n            e.preventDefault();\n            const parent = button.closest('.kassiopeia-offer-items');\n            if (parent) parent.classList.add('show-all-on-mobile');\n        });\n    });\n});\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull has-k-5-levi-9-background-color has-background is-layout-constrained wp-container-core-group-is-layout-0c9c989a wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--70);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--70);padding-left:var(--wp--preset--spacing--40)\">\n<h2 class=\"wp-block-heading\" id=\"h-villas\">Villas<\/h2>\n\n\n\n  \n\n<!--<p>Id: <\/p>-->\n            <div class=\"hotel-rooms-main\">\n                                                <div class=\"hotel-rooms-container\" id=\"hotel-rooms-container-650\">\n                                    <input type=\"hidden\" id=\"hotel-rooms-images-count-650\" value=\"8\">\n                                    <div class=\"columns-s hotel-rooms-content\">\n                                        <div class=\"hotel-rooms-images-container\" id=\"hotel-rooms-images-container-650\">\n                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-650-0\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-650\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-650\" style=\"background-image: url(https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo.jpg);\" role=\"image\" aria-label=\"7-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-650-1\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo-ruokailuhuone.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-650\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-650\" style=\"background-image: url();\" role=\"image\" aria-label=\"7-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-650-2\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo-keittio.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-650\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-650\" style=\"background-image: url();\" role=\"image\" aria-label=\"7-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-650-3\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo-makuuhuone.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-650\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-650\" style=\"background-image: url();\" role=\"image\" aria-label=\"7-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-650-4\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo-parvi.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-650\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-650\" style=\"background-image: url();\" role=\"image\" aria-label=\"7-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-650-5\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo-wc.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-650\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-650\" style=\"background-image: url();\" role=\"image\" aria-label=\"7-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-650-6\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo-sauna.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-650\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-650\" style=\"background-image: url();\" role=\"image\" aria-label=\"7-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-650-7\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5villaslevi-pohjakuva-7-hlo.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-650\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-650\" style=\"background-image: url();\" role=\"image\" aria-label=\"7-Person Villa\"><\/div>\n                                                                                                                                        <div class=\"hotel-rooms-slider-buttons\" style=\"left: calc(50% - 80px);\">\n                                                <input type=\"hidden\" id=\"hotel-rooms-image-url-650-0\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-650\" id=\"hotel-rooms-slider-button-650-0\" onclick=\"hotelSingleRoom104134409.selectHotelRoomsImage(650, 0)\" style=\"background: white;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-650-1\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo-ruokailuhuone.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-650\" id=\"hotel-rooms-slider-button-650-1\" onclick=\"hotelSingleRoom104134409.selectHotelRoomsImage(650, 1)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-650-2\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo-keittio.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-650\" id=\"hotel-rooms-slider-button-650-2\" onclick=\"hotelSingleRoom104134409.selectHotelRoomsImage(650, 2)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-650-3\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo-makuuhuone.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-650\" id=\"hotel-rooms-slider-button-650-3\" onclick=\"hotelSingleRoom104134409.selectHotelRoomsImage(650, 3)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-650-4\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo-parvi.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-650\" id=\"hotel-rooms-slider-button-650-4\" onclick=\"hotelSingleRoom104134409.selectHotelRoomsImage(650, 4)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-650-5\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo-wc.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-650\" id=\"hotel-rooms-slider-button-650-5\" onclick=\"hotelSingleRoom104134409.selectHotelRoomsImage(650, 5)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-650-6\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-7-hlo-sauna.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-650\" id=\"hotel-rooms-slider-button-650-6\" onclick=\"hotelSingleRoom104134409.selectHotelRoomsImage(650, 6)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-650-7\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5villaslevi-pohjakuva-7-hlo.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-650\" id=\"hotel-rooms-slider-button-650-7\" onclick=\"hotelSingleRoom104134409.selectHotelRoomsImage(650, 7)\" style=\"background: none;\"><\/div>                                            <\/div>\n                                        <\/div>\n                                        \n                                        <div class=\"hotel-rooms-text\">\n                                            <h3 class=\"has-x-large-font-size\">7-Person Villa <\/h3>\n                                            <div class=\"hotel-rooms-details\">\n                                                 <img decoding=\"async\" class=\"hotel-rooms-person\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/themes\/k5levi-theme\/assets\/images\/person_icon.svg\"> <span class=\"person-number\">7 people<\/span>                                                <div class=\"hotel-rooms-size\">70 m\u00b2<\/div>\n                                            <\/div>\n                                            <p><p>This cozy two-story apartment accommodates 7 guests. The peaceful apartment is fully equipped and includes a private sauna. The ground floor has a double bedroom, while the loft offers a total of five beds.<\/p>\n<\/p>\n                                            <div style=\"height: 20px;\"><\/div>\n                                                                                            <a class=\"btn-primary\" href=\"https:\/\/app.mews.com\/distributor\/a96cd931-0e00-4bb1-abc9-b441008474b8?mewsRoute=rates&#038;mewsRoom=3e7d1bdc-4593-4dce-8caf-b44100848249&#038;language=en-US\">Book a Villa<\/a>\n                                                                                    <\/div>\n                                    <\/div>\n                                <\/div>\n                                        <\/div>\n            <script>\n                class HotelSingleRoom104134409 {\n                    constructor(currentPostId) {\n                        this.currentPostId = currentPostId;\n                        this.prevCount = 0;\n                        this.currentCount = 0;\n                        this.maxCount = 0;\n                        this.initSwipeDetection();\n                    }\n\n                    showHotelRoomsTab(post_id) {\n                        this.currentPostId = post_id;\n                        this.currentCount = 0;\n                        this.selectHotelRoomsImage(this.currentPostId, this.currentCount);\n                        \/\/console.log('showHotelRoomsTab', this.currentPostId);\n                        jQuery('.hotel-rooms-container').hide();\n                        jQuery('#hotel-rooms-container-' + this.currentPostId).show();\n                        jQuery('.hotel-rooms-tab').removeClass('active');\n                        jQuery('#hotel-rooms-tab-' + this.currentPostId).addClass('active');\n                    }\n                    \n                    initSwipeDetection() {\n                        \/\/console.log('initSwipeDetection');\n                        \/\/jQuery('.hotel-rooms-images-container')\n                        let xDown;\n                        let xUp;\n                        jQuery('#hotel-rooms-images-container-' + this.currentPostId)\n                            .on('mousedown', (e) => {\n                                xDown = e.pageX; \/\/For mouse\n                            })\n                            .on('mouseup', (e) => {\n                                xUp = e.pageX; \/\/For mouse\n                                let xDiff = xDown - xUp;\n                                if (xDiff > 50) {\n                                    this.swipeHotelRoomsImage(1);\n                                } else if (xDiff < -50) {\n                                    this.swipeHotelRoomsImage(-1);\n                                }\n                            })\n                            .on('touchstart', (e) => {\n                                if (e.changedTouches[0].pageX !== undefined) {\n                                    xDown = e.changedTouches[0].pageX; \/\/For touch\n                                }\n                            })\n                            .on('touchend', (e) => {\n                                if (e.changedTouches[0].pageX !== undefined) {\n                                    xUp = e.changedTouches[0].pageX; \/\/For touch\n                                }\n                                let xDiff = xDown - xUp;\n                                if (xDiff > 50) {\n                                    this.swipeHotelRoomsImage(1);\n                                } else if (xDiff < -50) {\n                                    this.swipeHotelRoomsImage(-1);\n                                }\n                            })\n                        ;\n                    }\n                    \n                    swipeHotelRoomsImage(step) {\n                        \/\/console.log('swipeHotelRoomsImage', this.currentPostId, step);\n                        this.prevCount = this.currentCount;\n                        this.currentCount = Number(this.currentCount) + Number(step);\n                        this.maxCount = Number(jQuery('#hotel-rooms-images-count-' + this.currentPostId).val()) - 1;\n                        \/\/console.log('currentPostId', this.currentPostId);\n                        \/\/console.log('maxCount', this.maxCount);\n                        \/\/console.log('currentCount1', this.currentCount);\n                        if (this.currentCount < 0) this.currentCount = this.maxCount;\n                        if (this.currentCount > this.maxCount) this.currentCount = 0;\n                        \/\/console.log('currentCount2', this.currentCount);\n                        this.changeHotelRoomsImage(step);\n                        this.activateHotelRoomsTab(this.currentCount);\n                    }\n                    \n                    selectHotelRoomsImage(post_id, count) {\n                        this.currentPostId = post_id;\n                        this.prevCount = this.currentCount;\n                        this.currentCount = count;\n                        \/\/console.log('selectHotelRoomsImage', this.currentPostId, this.currentCount);\n                        this.changeHotelRoomsImage(0);\n                        this.activateHotelRoomsTab(this.currentCount);\n                    }\n                    \n                    changeHotelRoomsImage(dir) {\n                        let urlOld = jQuery('#hotel-rooms-image-url-' + this.currentPostId + '-' + this.prevCount).val();\n                        let urlNew = jQuery('#hotel-rooms-image-url-' + this.currentPostId + '-' + this.currentCount).val();\n                        \/\/console.log(urlOld, urlNew);\n                        jQuery('#hotel-rooms-image-bottom-' + this.currentPostId).css('background-image', 'url(' + urlOld + ')');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('background-image', 'url(' + urlNew + ')');\n                        \/\/console.log(this.prevCount, this.currentCount, this.maxCount);\n                        if (this.prevCount != this.currentCount) {\n                            if (dir == 0) {\n                                if (this.prevCount == 0 && this.currentCount == 0) {\n                        \n                                } else if (this.currentCount == 0 && this.prevCount == this.maxCount) {\n                                    this.swipeFromRight();\n                                } else if (this.currentCount == this.maxCount && this.prevCount == 0) {\n                                    this.swipeFromLeft();\n                                } else if (this.prevCount > this.currentCount) {\n                                    this.swipeFromLeft();\n                                } else {\n                                    this.swipeFromRight();\n                                }\n                            } else {\n                                if (dir == 1) {\n                                    this.swipeFromRight();\n                                } else {\n                                    this.swipeFromLeft();\n                                }\n                            }\n                        }\n                    }\n                    \n                    swipeFromLeft() {\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('right', 'auto');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('left', '-100%');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).animate({\n                            left: '0'\n                        }, {\n                            duration: 300\n                        });\n                    }\n                    \n                    swipeFromRight() {\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('left', 'auto');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('right', '-100%');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).animate({\n                            right: '0'\n                        }, {\n                            duration: 300\n                        });\n                    }\n                    \n                    activateHotelRoomsTab(id) {\n                        jQuery('.hotel-rooms-slider-button-' + this.currentPostId).css('background', 'none');\n                        jQuery('#hotel-rooms-slider-button-' + this.currentPostId + '-' + id).css('background', 'white');\n                    }\n                }\n                const hotelSingleRoom104134409 = new HotelSingleRoom104134409(650);\n            <\/script>\n        \n\n\n\n  \n\n<!--<p>Id: <\/p>-->\n            <div class=\"hotel-rooms-main\">\n                                                <div class=\"hotel-rooms-container\" id=\"hotel-rooms-container-651\">\n                                    <input type=\"hidden\" id=\"hotel-rooms-images-count-651\" value=\"8\">\n                                    <div class=\"columns-s hotel-rooms-content\">\n                                        <div class=\"hotel-rooms-images-container\" id=\"hotel-rooms-images-container-651\">\n                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-651-0\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-olohuone-ruokatila.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-651\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-651\" style=\"background-image: url(https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-olohuone-ruokatila.jpg);\" role=\"image\" aria-label=\"8-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-651-1\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-olohuone.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-651\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-651\" style=\"background-image: url();\" role=\"image\" aria-label=\"8-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-651-2\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-keittio.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-651\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-651\" style=\"background-image: url();\" role=\"image\" aria-label=\"8-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-651-3\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-makuuhuone.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-651\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-651\" style=\"background-image: url();\" role=\"image\" aria-label=\"8-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-651-4\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-parvi.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-651\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-651\" style=\"background-image: url();\" role=\"image\" aria-label=\"8-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-651-5\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-wc.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-651\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-651\" style=\"background-image: url();\" role=\"image\" aria-label=\"8-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-651-6\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-sauna.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-651\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-651\" style=\"background-image: url();\" role=\"image\" aria-label=\"8-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-651-7\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-pohjapiirros.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-651\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-651\" style=\"background-image: url();\" role=\"image\" aria-label=\"8-Person Villa\"><\/div>\n                                                                                                                                        <div class=\"hotel-rooms-slider-buttons\" style=\"left: calc(50% - 80px);\">\n                                                <input type=\"hidden\" id=\"hotel-rooms-image-url-651-0\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-olohuone-ruokatila.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-651\" id=\"hotel-rooms-slider-button-651-0\" onclick=\"hotelSingleRoom242796321.selectHotelRoomsImage(651, 0)\" style=\"background: white;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-651-1\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-olohuone.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-651\" id=\"hotel-rooms-slider-button-651-1\" onclick=\"hotelSingleRoom242796321.selectHotelRoomsImage(651, 1)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-651-2\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-keittio.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-651\" id=\"hotel-rooms-slider-button-651-2\" onclick=\"hotelSingleRoom242796321.selectHotelRoomsImage(651, 2)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-651-3\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-makuuhuone.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-651\" id=\"hotel-rooms-slider-button-651-3\" onclick=\"hotelSingleRoom242796321.selectHotelRoomsImage(651, 3)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-651-4\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-parvi.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-651\" id=\"hotel-rooms-slider-button-651-4\" onclick=\"hotelSingleRoom242796321.selectHotelRoomsImage(651, 4)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-651-5\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-wc.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-651\" id=\"hotel-rooms-slider-button-651-5\" onclick=\"hotelSingleRoom242796321.selectHotelRoomsImage(651, 5)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-651-6\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-sauna.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-651\" id=\"hotel-rooms-slider-button-651-6\" onclick=\"hotelSingleRoom242796321.selectHotelRoomsImage(651, 6)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-651-7\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-8-hlo-pohjapiirros.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-651\" id=\"hotel-rooms-slider-button-651-7\" onclick=\"hotelSingleRoom242796321.selectHotelRoomsImage(651, 7)\" style=\"background: none;\"><\/div>                                            <\/div>\n                                        <\/div>\n                                        \n                                        <div class=\"hotel-rooms-text\">\n                                            <h3 class=\"has-x-large-font-size\">8-Person Villa <\/h3>\n                                            <div class=\"hotel-rooms-details\">\n                                                 <img decoding=\"async\" class=\"hotel-rooms-person\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/themes\/k5levi-theme\/assets\/images\/person_icon.svg\"> <span class=\"person-number\">8 people<\/span>                                                <div class=\"hotel-rooms-size\">127 m\u00b2<\/div>\n                                            <\/div>\n                                            <p><p>This cozy two-story holiday apartment accommodates 8 guests. The fully equipped apartment includes also a private sauna. There are four double bedrooms, with one on the ground floor and three upstairs.<\/p>\n<\/p>\n                                            <div style=\"height: 20px;\"><\/div>\n                                                                                            <a class=\"btn-primary\" href=\"https:\/\/app.mews.com\/distributor\/a96cd931-0e00-4bb1-abc9-b441008474b8?mewsRoute=rates&#038;mewsRoom=c8632671-7f61-4948-9312-b44100848249&#038;language=en-US\">Book a Villa<\/a>\n                                                                                    <\/div>\n                                    <\/div>\n                                <\/div>\n                                        <\/div>\n            <script>\n                class HotelSingleRoom242796321 {\n                    constructor(currentPostId) {\n                        this.currentPostId = currentPostId;\n                        this.prevCount = 0;\n                        this.currentCount = 0;\n                        this.maxCount = 0;\n                        this.initSwipeDetection();\n                    }\n\n                    showHotelRoomsTab(post_id) {\n                        this.currentPostId = post_id;\n                        this.currentCount = 0;\n                        this.selectHotelRoomsImage(this.currentPostId, this.currentCount);\n                        \/\/console.log('showHotelRoomsTab', this.currentPostId);\n                        jQuery('.hotel-rooms-container').hide();\n                        jQuery('#hotel-rooms-container-' + this.currentPostId).show();\n                        jQuery('.hotel-rooms-tab').removeClass('active');\n                        jQuery('#hotel-rooms-tab-' + this.currentPostId).addClass('active');\n                    }\n                    \n                    initSwipeDetection() {\n                        \/\/console.log('initSwipeDetection');\n                        \/\/jQuery('.hotel-rooms-images-container')\n                        let xDown;\n                        let xUp;\n                        jQuery('#hotel-rooms-images-container-' + this.currentPostId)\n                            .on('mousedown', (e) => {\n                                xDown = e.pageX; \/\/For mouse\n                            })\n                            .on('mouseup', (e) => {\n                                xUp = e.pageX; \/\/For mouse\n                                let xDiff = xDown - xUp;\n                                if (xDiff > 50) {\n                                    this.swipeHotelRoomsImage(1);\n                                } else if (xDiff < -50) {\n                                    this.swipeHotelRoomsImage(-1);\n                                }\n                            })\n                            .on('touchstart', (e) => {\n                                if (e.changedTouches[0].pageX !== undefined) {\n                                    xDown = e.changedTouches[0].pageX; \/\/For touch\n                                }\n                            })\n                            .on('touchend', (e) => {\n                                if (e.changedTouches[0].pageX !== undefined) {\n                                    xUp = e.changedTouches[0].pageX; \/\/For touch\n                                }\n                                let xDiff = xDown - xUp;\n                                if (xDiff > 50) {\n                                    this.swipeHotelRoomsImage(1);\n                                } else if (xDiff < -50) {\n                                    this.swipeHotelRoomsImage(-1);\n                                }\n                            })\n                        ;\n                    }\n                    \n                    swipeHotelRoomsImage(step) {\n                        \/\/console.log('swipeHotelRoomsImage', this.currentPostId, step);\n                        this.prevCount = this.currentCount;\n                        this.currentCount = Number(this.currentCount) + Number(step);\n                        this.maxCount = Number(jQuery('#hotel-rooms-images-count-' + this.currentPostId).val()) - 1;\n                        \/\/console.log('currentPostId', this.currentPostId);\n                        \/\/console.log('maxCount', this.maxCount);\n                        \/\/console.log('currentCount1', this.currentCount);\n                        if (this.currentCount < 0) this.currentCount = this.maxCount;\n                        if (this.currentCount > this.maxCount) this.currentCount = 0;\n                        \/\/console.log('currentCount2', this.currentCount);\n                        this.changeHotelRoomsImage(step);\n                        this.activateHotelRoomsTab(this.currentCount);\n                    }\n                    \n                    selectHotelRoomsImage(post_id, count) {\n                        this.currentPostId = post_id;\n                        this.prevCount = this.currentCount;\n                        this.currentCount = count;\n                        \/\/console.log('selectHotelRoomsImage', this.currentPostId, this.currentCount);\n                        this.changeHotelRoomsImage(0);\n                        this.activateHotelRoomsTab(this.currentCount);\n                    }\n                    \n                    changeHotelRoomsImage(dir) {\n                        let urlOld = jQuery('#hotel-rooms-image-url-' + this.currentPostId + '-' + this.prevCount).val();\n                        let urlNew = jQuery('#hotel-rooms-image-url-' + this.currentPostId + '-' + this.currentCount).val();\n                        \/\/console.log(urlOld, urlNew);\n                        jQuery('#hotel-rooms-image-bottom-' + this.currentPostId).css('background-image', 'url(' + urlOld + ')');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('background-image', 'url(' + urlNew + ')');\n                        \/\/console.log(this.prevCount, this.currentCount, this.maxCount);\n                        if (this.prevCount != this.currentCount) {\n                            if (dir == 0) {\n                                if (this.prevCount == 0 && this.currentCount == 0) {\n                        \n                                } else if (this.currentCount == 0 && this.prevCount == this.maxCount) {\n                                    this.swipeFromRight();\n                                } else if (this.currentCount == this.maxCount && this.prevCount == 0) {\n                                    this.swipeFromLeft();\n                                } else if (this.prevCount > this.currentCount) {\n                                    this.swipeFromLeft();\n                                } else {\n                                    this.swipeFromRight();\n                                }\n                            } else {\n                                if (dir == 1) {\n                                    this.swipeFromRight();\n                                } else {\n                                    this.swipeFromLeft();\n                                }\n                            }\n                        }\n                    }\n                    \n                    swipeFromLeft() {\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('right', 'auto');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('left', '-100%');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).animate({\n                            left: '0'\n                        }, {\n                            duration: 300\n                        });\n                    }\n                    \n                    swipeFromRight() {\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('left', 'auto');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('right', '-100%');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).animate({\n                            right: '0'\n                        }, {\n                            duration: 300\n                        });\n                    }\n                    \n                    activateHotelRoomsTab(id) {\n                        jQuery('.hotel-rooms-slider-button-' + this.currentPostId).css('background', 'none');\n                        jQuery('#hotel-rooms-slider-button-' + this.currentPostId + '-' + id).css('background', 'white');\n                    }\n                }\n                const hotelSingleRoom242796321 = new HotelSingleRoom242796321(651);\n            <\/script>\n        \n\n\n\n  \n\n<!--<p>Id: <\/p>-->\n            <div class=\"hotel-rooms-main\">\n                                                <div class=\"hotel-rooms-container\" id=\"hotel-rooms-container-652\">\n                                    <input type=\"hidden\" id=\"hotel-rooms-images-count-652\" value=\"10\">\n                                    <div class=\"columns-s hotel-rooms-content\">\n                                        <div class=\"hotel-rooms-images-container\" id=\"hotel-rooms-images-container-652\">\n                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-652-0\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-olohuone-ruokatila.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-652\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-652\" style=\"background-image: url(https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-olohuone-ruokatila.jpg);\" role=\"image\" aria-label=\"12-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-652-1\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-olohuone.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-652\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-652\" style=\"background-image: url();\" role=\"image\" aria-label=\"12-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-652-2\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-keittio.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-652\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-652\" style=\"background-image: url();\" role=\"image\" aria-label=\"12-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-652-3\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-makuuhuone.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-652\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-652\" style=\"background-image: url();\" role=\"image\" aria-label=\"12-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-652-4\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-makuuhuone-parvi.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-652\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-652\" style=\"background-image: url();\" role=\"image\" aria-label=\"12-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-652-5\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-takkahuone.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-652\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-652\" style=\"background-image: url();\" role=\"image\" aria-label=\"12-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-652-6\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-wc.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-652\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-652\" style=\"background-image: url();\" role=\"image\" aria-label=\"12-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-652-7\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-kylpyhuone.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-652\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-652\" style=\"background-image: url();\" role=\"image\" aria-label=\"12-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-652-8\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-sauna.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-652\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-652\" style=\"background-image: url();\" role=\"image\" aria-label=\"12-Person Villa\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-652-9\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-pohjapiirros.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-652\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-652\" style=\"background-image: url();\" role=\"image\" aria-label=\"12-Person Villa\"><\/div>\n                                                                                                                                        <div class=\"hotel-rooms-slider-buttons\" style=\"left: calc(50% - 100px);\">\n                                                <input type=\"hidden\" id=\"hotel-rooms-image-url-652-0\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-olohuone-ruokatila.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-652\" id=\"hotel-rooms-slider-button-652-0\" onclick=\"hotelSingleRoom1332590958.selectHotelRoomsImage(652, 0)\" style=\"background: white;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-652-1\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-olohuone.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-652\" id=\"hotel-rooms-slider-button-652-1\" onclick=\"hotelSingleRoom1332590958.selectHotelRoomsImage(652, 1)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-652-2\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-keittio.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-652\" id=\"hotel-rooms-slider-button-652-2\" onclick=\"hotelSingleRoom1332590958.selectHotelRoomsImage(652, 2)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-652-3\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-makuuhuone.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-652\" id=\"hotel-rooms-slider-button-652-3\" onclick=\"hotelSingleRoom1332590958.selectHotelRoomsImage(652, 3)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-652-4\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-makuuhuone-parvi.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-652\" id=\"hotel-rooms-slider-button-652-4\" onclick=\"hotelSingleRoom1332590958.selectHotelRoomsImage(652, 4)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-652-5\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-takkahuone.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-652\" id=\"hotel-rooms-slider-button-652-5\" onclick=\"hotelSingleRoom1332590958.selectHotelRoomsImage(652, 5)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-652-6\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-wc.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-652\" id=\"hotel-rooms-slider-button-652-6\" onclick=\"hotelSingleRoom1332590958.selectHotelRoomsImage(652, 6)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-652-7\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-kylpyhuone.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-652\" id=\"hotel-rooms-slider-button-652-7\" onclick=\"hotelSingleRoom1332590958.selectHotelRoomsImage(652, 7)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-652-8\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-sauna.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-652\" id=\"hotel-rooms-slider-button-652-8\" onclick=\"hotelSingleRoom1332590958.selectHotelRoomsImage(652, 8)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-652-9\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-12-hlo-pohjapiirros.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-652\" id=\"hotel-rooms-slider-button-652-9\" onclick=\"hotelSingleRoom1332590958.selectHotelRoomsImage(652, 9)\" style=\"background: none;\"><\/div>                                            <\/div>\n                                        <\/div>\n                                        \n                                        <div class=\"hotel-rooms-text\">\n                                            <h3 class=\"has-x-large-font-size\">12-Person Villa <\/h3>\n                                            <div class=\"hotel-rooms-details\">\n                                                 <img decoding=\"async\" class=\"hotel-rooms-person\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/themes\/k5levi-theme\/assets\/images\/person_icon.svg\"> <span class=\"person-number\">12 people<\/span>                                                <div class=\"hotel-rooms-size\">242 m\u00b2<\/div>\n                                            <\/div>\n                                            <p><p>This spacious and cozy three-story apartment accommodates up to 12 guests. The apartment features six double bedrooms.<\/p>\n<\/p>\n                                            <div style=\"height: 20px;\"><\/div>\n                                                                                            <a class=\"btn-primary\" href=\"https:\/\/app.mews.com\/distributor\/a96cd931-0e00-4bb1-abc9-b441008474b8?mewsRoute=rates&#038;mewsRoom=2ad978e2-532c-4c9e-9cf6-b44100848249&#038;language=en-US\">Book a Villa<\/a>\n                                                                                    <\/div>\n                                    <\/div>\n                                <\/div>\n                                        <\/div>\n            <script>\n                class HotelSingleRoom1332590958 {\n                    constructor(currentPostId) {\n                        this.currentPostId = currentPostId;\n                        this.prevCount = 0;\n                        this.currentCount = 0;\n                        this.maxCount = 0;\n                        this.initSwipeDetection();\n                    }\n\n                    showHotelRoomsTab(post_id) {\n                        this.currentPostId = post_id;\n                        this.currentCount = 0;\n                        this.selectHotelRoomsImage(this.currentPostId, this.currentCount);\n                        \/\/console.log('showHotelRoomsTab', this.currentPostId);\n                        jQuery('.hotel-rooms-container').hide();\n                        jQuery('#hotel-rooms-container-' + this.currentPostId).show();\n                        jQuery('.hotel-rooms-tab').removeClass('active');\n                        jQuery('#hotel-rooms-tab-' + this.currentPostId).addClass('active');\n                    }\n                    \n                    initSwipeDetection() {\n                        \/\/console.log('initSwipeDetection');\n                        \/\/jQuery('.hotel-rooms-images-container')\n                        let xDown;\n                        let xUp;\n                        jQuery('#hotel-rooms-images-container-' + this.currentPostId)\n                            .on('mousedown', (e) => {\n                                xDown = e.pageX; \/\/For mouse\n                            })\n                            .on('mouseup', (e) => {\n                                xUp = e.pageX; \/\/For mouse\n                                let xDiff = xDown - xUp;\n                                if (xDiff > 50) {\n                                    this.swipeHotelRoomsImage(1);\n                                } else if (xDiff < -50) {\n                                    this.swipeHotelRoomsImage(-1);\n                                }\n                            })\n                            .on('touchstart', (e) => {\n                                if (e.changedTouches[0].pageX !== undefined) {\n                                    xDown = e.changedTouches[0].pageX; \/\/For touch\n                                }\n                            })\n                            .on('touchend', (e) => {\n                                if (e.changedTouches[0].pageX !== undefined) {\n                                    xUp = e.changedTouches[0].pageX; \/\/For touch\n                                }\n                                let xDiff = xDown - xUp;\n                                if (xDiff > 50) {\n                                    this.swipeHotelRoomsImage(1);\n                                } else if (xDiff < -50) {\n                                    this.swipeHotelRoomsImage(-1);\n                                }\n                            })\n                        ;\n                    }\n                    \n                    swipeHotelRoomsImage(step) {\n                        \/\/console.log('swipeHotelRoomsImage', this.currentPostId, step);\n                        this.prevCount = this.currentCount;\n                        this.currentCount = Number(this.currentCount) + Number(step);\n                        this.maxCount = Number(jQuery('#hotel-rooms-images-count-' + this.currentPostId).val()) - 1;\n                        \/\/console.log('currentPostId', this.currentPostId);\n                        \/\/console.log('maxCount', this.maxCount);\n                        \/\/console.log('currentCount1', this.currentCount);\n                        if (this.currentCount < 0) this.currentCount = this.maxCount;\n                        if (this.currentCount > this.maxCount) this.currentCount = 0;\n                        \/\/console.log('currentCount2', this.currentCount);\n                        this.changeHotelRoomsImage(step);\n                        this.activateHotelRoomsTab(this.currentCount);\n                    }\n                    \n                    selectHotelRoomsImage(post_id, count) {\n                        this.currentPostId = post_id;\n                        this.prevCount = this.currentCount;\n                        this.currentCount = count;\n                        \/\/console.log('selectHotelRoomsImage', this.currentPostId, this.currentCount);\n                        this.changeHotelRoomsImage(0);\n                        this.activateHotelRoomsTab(this.currentCount);\n                    }\n                    \n                    changeHotelRoomsImage(dir) {\n                        let urlOld = jQuery('#hotel-rooms-image-url-' + this.currentPostId + '-' + this.prevCount).val();\n                        let urlNew = jQuery('#hotel-rooms-image-url-' + this.currentPostId + '-' + this.currentCount).val();\n                        \/\/console.log(urlOld, urlNew);\n                        jQuery('#hotel-rooms-image-bottom-' + this.currentPostId).css('background-image', 'url(' + urlOld + ')');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('background-image', 'url(' + urlNew + ')');\n                        \/\/console.log(this.prevCount, this.currentCount, this.maxCount);\n                        if (this.prevCount != this.currentCount) {\n                            if (dir == 0) {\n                                if (this.prevCount == 0 && this.currentCount == 0) {\n                        \n                                } else if (this.currentCount == 0 && this.prevCount == this.maxCount) {\n                                    this.swipeFromRight();\n                                } else if (this.currentCount == this.maxCount && this.prevCount == 0) {\n                                    this.swipeFromLeft();\n                                } else if (this.prevCount > this.currentCount) {\n                                    this.swipeFromLeft();\n                                } else {\n                                    this.swipeFromRight();\n                                }\n                            } else {\n                                if (dir == 1) {\n                                    this.swipeFromRight();\n                                } else {\n                                    this.swipeFromLeft();\n                                }\n                            }\n                        }\n                    }\n                    \n                    swipeFromLeft() {\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('right', 'auto');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('left', '-100%');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).animate({\n                            left: '0'\n                        }, {\n                            duration: 300\n                        });\n                    }\n                    \n                    swipeFromRight() {\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('left', 'auto');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('right', '-100%');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).animate({\n                            right: '0'\n                        }, {\n                            duration: 300\n                        });\n                    }\n                    \n                    activateHotelRoomsTab(id) {\n                        jQuery('.hotel-rooms-slider-button-' + this.currentPostId).css('background', 'none');\n                        jQuery('#hotel-rooms-slider-button-' + this.currentPostId + '-' + id).css('background', 'white');\n                    }\n                }\n                const hotelSingleRoom1332590958 = new HotelSingleRoom1332590958(652);\n            <\/script>\n        \n\n\n\n  \n\n<!--<p>Id: <\/p>-->\n            <div class=\"hotel-rooms-main\">\n                                                <div class=\"hotel-rooms-container\" id=\"hotel-rooms-container-653\">\n                                    <input type=\"hidden\" id=\"hotel-rooms-images-count-653\" value=\"8\">\n                                    <div class=\"columns-s hotel-rooms-content\">\n                                        <div class=\"hotel-rooms-images-container\" id=\"hotel-rooms-images-container-653\">\n                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-653-0\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-653\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-653\" style=\"background-image: url(https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2.jpg);\" role=\"image\" aria-label=\"14-Person Villa 192 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-653-1\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-ruokailutila.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-653\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-653\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 192 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-653-2\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-keittio.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-653\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-653\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 192 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-653-3\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-makuuhuone.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-653\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-653\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 192 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-653-4\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-kodinhoito.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-653\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-653\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 192 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-653-5\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-kylpyhuone.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-653\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-653\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 192 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-653-6\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-sauna.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-653\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-653\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 192 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-653-7\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-pohjapiirros.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-653\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-653\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 192 m\u00b2\"><\/div>\n                                                                                                                                        <div class=\"hotel-rooms-slider-buttons\" style=\"left: calc(50% - 80px);\">\n                                                <input type=\"hidden\" id=\"hotel-rooms-image-url-653-0\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-653\" id=\"hotel-rooms-slider-button-653-0\" onclick=\"hotelSingleRoom728657496.selectHotelRoomsImage(653, 0)\" style=\"background: white;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-653-1\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-ruokailutila.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-653\" id=\"hotel-rooms-slider-button-653-1\" onclick=\"hotelSingleRoom728657496.selectHotelRoomsImage(653, 1)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-653-2\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-keittio.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-653\" id=\"hotel-rooms-slider-button-653-2\" onclick=\"hotelSingleRoom728657496.selectHotelRoomsImage(653, 2)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-653-3\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-makuuhuone.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-653\" id=\"hotel-rooms-slider-button-653-3\" onclick=\"hotelSingleRoom728657496.selectHotelRoomsImage(653, 3)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-653-4\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-kodinhoito.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-653\" id=\"hotel-rooms-slider-button-653-4\" onclick=\"hotelSingleRoom728657496.selectHotelRoomsImage(653, 4)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-653-5\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-kylpyhuone.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-653\" id=\"hotel-rooms-slider-button-653-5\" onclick=\"hotelSingleRoom728657496.selectHotelRoomsImage(653, 5)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-653-6\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-sauna.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-653\" id=\"hotel-rooms-slider-button-653-6\" onclick=\"hotelSingleRoom728657496.selectHotelRoomsImage(653, 6)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-653-7\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-192m2-pohjapiirros.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-653\" id=\"hotel-rooms-slider-button-653-7\" onclick=\"hotelSingleRoom728657496.selectHotelRoomsImage(653, 7)\" style=\"background: none;\"><\/div>                                            <\/div>\n                                        <\/div>\n                                        \n                                        <div class=\"hotel-rooms-text\">\n                                            <h3 class=\"has-x-large-font-size\">14-Person Villa 192 m\u00b2 <\/h3>\n                                            <div class=\"hotel-rooms-details\">\n                                                 <img decoding=\"async\" class=\"hotel-rooms-person\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/themes\/k5levi-theme\/assets\/images\/person_icon.svg\"> <span class=\"person-number\">14 people<\/span>                                                <div class=\"hotel-rooms-size\">192 m\u00b2<\/div>\n                                            <\/div>\n                                            <p><p>This spacious and cozy two-story apartment accommodates up to 14 guests, making it ideal for larger groups. It includes seven double bedrooms, three on the ground floor and four upstairs.<\/p>\n<\/p>\n                                            <div style=\"height: 20px;\"><\/div>\n                                                                                            <a class=\"btn-primary\" href=\"https:\/\/app.mews.com\/distributor\/a96cd931-0e00-4bb1-abc9-b441008474b8?mewsRoute=rates&#038;mewsRoom=ebd4d866-d540-46c2-939d-b44100848249&#038;language=en-US\">Book a Villa<\/a>\n                                                                                    <\/div>\n                                    <\/div>\n                                <\/div>\n                                        <\/div>\n            <script>\n                class HotelSingleRoom728657496 {\n                    constructor(currentPostId) {\n                        this.currentPostId = currentPostId;\n                        this.prevCount = 0;\n                        this.currentCount = 0;\n                        this.maxCount = 0;\n                        this.initSwipeDetection();\n                    }\n\n                    showHotelRoomsTab(post_id) {\n                        this.currentPostId = post_id;\n                        this.currentCount = 0;\n                        this.selectHotelRoomsImage(this.currentPostId, this.currentCount);\n                        \/\/console.log('showHotelRoomsTab', this.currentPostId);\n                        jQuery('.hotel-rooms-container').hide();\n                        jQuery('#hotel-rooms-container-' + this.currentPostId).show();\n                        jQuery('.hotel-rooms-tab').removeClass('active');\n                        jQuery('#hotel-rooms-tab-' + this.currentPostId).addClass('active');\n                    }\n                    \n                    initSwipeDetection() {\n                        \/\/console.log('initSwipeDetection');\n                        \/\/jQuery('.hotel-rooms-images-container')\n                        let xDown;\n                        let xUp;\n                        jQuery('#hotel-rooms-images-container-' + this.currentPostId)\n                            .on('mousedown', (e) => {\n                                xDown = e.pageX; \/\/For mouse\n                            })\n                            .on('mouseup', (e) => {\n                                xUp = e.pageX; \/\/For mouse\n                                let xDiff = xDown - xUp;\n                                if (xDiff > 50) {\n                                    this.swipeHotelRoomsImage(1);\n                                } else if (xDiff < -50) {\n                                    this.swipeHotelRoomsImage(-1);\n                                }\n                            })\n                            .on('touchstart', (e) => {\n                                if (e.changedTouches[0].pageX !== undefined) {\n                                    xDown = e.changedTouches[0].pageX; \/\/For touch\n                                }\n                            })\n                            .on('touchend', (e) => {\n                                if (e.changedTouches[0].pageX !== undefined) {\n                                    xUp = e.changedTouches[0].pageX; \/\/For touch\n                                }\n                                let xDiff = xDown - xUp;\n                                if (xDiff > 50) {\n                                    this.swipeHotelRoomsImage(1);\n                                } else if (xDiff < -50) {\n                                    this.swipeHotelRoomsImage(-1);\n                                }\n                            })\n                        ;\n                    }\n                    \n                    swipeHotelRoomsImage(step) {\n                        \/\/console.log('swipeHotelRoomsImage', this.currentPostId, step);\n                        this.prevCount = this.currentCount;\n                        this.currentCount = Number(this.currentCount) + Number(step);\n                        this.maxCount = Number(jQuery('#hotel-rooms-images-count-' + this.currentPostId).val()) - 1;\n                        \/\/console.log('currentPostId', this.currentPostId);\n                        \/\/console.log('maxCount', this.maxCount);\n                        \/\/console.log('currentCount1', this.currentCount);\n                        if (this.currentCount < 0) this.currentCount = this.maxCount;\n                        if (this.currentCount > this.maxCount) this.currentCount = 0;\n                        \/\/console.log('currentCount2', this.currentCount);\n                        this.changeHotelRoomsImage(step);\n                        this.activateHotelRoomsTab(this.currentCount);\n                    }\n                    \n                    selectHotelRoomsImage(post_id, count) {\n                        this.currentPostId = post_id;\n                        this.prevCount = this.currentCount;\n                        this.currentCount = count;\n                        \/\/console.log('selectHotelRoomsImage', this.currentPostId, this.currentCount);\n                        this.changeHotelRoomsImage(0);\n                        this.activateHotelRoomsTab(this.currentCount);\n                    }\n                    \n                    changeHotelRoomsImage(dir) {\n                        let urlOld = jQuery('#hotel-rooms-image-url-' + this.currentPostId + '-' + this.prevCount).val();\n                        let urlNew = jQuery('#hotel-rooms-image-url-' + this.currentPostId + '-' + this.currentCount).val();\n                        \/\/console.log(urlOld, urlNew);\n                        jQuery('#hotel-rooms-image-bottom-' + this.currentPostId).css('background-image', 'url(' + urlOld + ')');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('background-image', 'url(' + urlNew + ')');\n                        \/\/console.log(this.prevCount, this.currentCount, this.maxCount);\n                        if (this.prevCount != this.currentCount) {\n                            if (dir == 0) {\n                                if (this.prevCount == 0 && this.currentCount == 0) {\n                        \n                                } else if (this.currentCount == 0 && this.prevCount == this.maxCount) {\n                                    this.swipeFromRight();\n                                } else if (this.currentCount == this.maxCount && this.prevCount == 0) {\n                                    this.swipeFromLeft();\n                                } else if (this.prevCount > this.currentCount) {\n                                    this.swipeFromLeft();\n                                } else {\n                                    this.swipeFromRight();\n                                }\n                            } else {\n                                if (dir == 1) {\n                                    this.swipeFromRight();\n                                } else {\n                                    this.swipeFromLeft();\n                                }\n                            }\n                        }\n                    }\n                    \n                    swipeFromLeft() {\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('right', 'auto');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('left', '-100%');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).animate({\n                            left: '0'\n                        }, {\n                            duration: 300\n                        });\n                    }\n                    \n                    swipeFromRight() {\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('left', 'auto');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('right', '-100%');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).animate({\n                            right: '0'\n                        }, {\n                            duration: 300\n                        });\n                    }\n                    \n                    activateHotelRoomsTab(id) {\n                        jQuery('.hotel-rooms-slider-button-' + this.currentPostId).css('background', 'none');\n                        jQuery('#hotel-rooms-slider-button-' + this.currentPostId + '-' + id).css('background', 'white');\n                    }\n                }\n                const hotelSingleRoom728657496 = new HotelSingleRoom728657496(653);\n            <\/script>\n        \n\n\n\n  \n\n<!--<p>Id: <\/p>-->\n            <div class=\"hotel-rooms-main\">\n                                                <div class=\"hotel-rooms-container\" id=\"hotel-rooms-container-654\">\n                                    <input type=\"hidden\" id=\"hotel-rooms-images-count-654\" value=\"9\">\n                                    <div class=\"columns-s hotel-rooms-content\">\n                                        <div class=\"hotel-rooms-images-container\" id=\"hotel-rooms-images-container-654\">\n                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-654-0\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-654\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-654\" style=\"background-image: url(https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2.jpg);\" role=\"image\" aria-label=\"14-Person Villa 281 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-654-1\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-keittio.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-654\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-654\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 281 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-654-2\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-takkahuone.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-654\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-654\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 281 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-654-3\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-makuuhuone.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-654\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-654\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 281 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-654-4\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-parvi.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-654\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-654\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 281 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-654-5\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-wc.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-654\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-654\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 281 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-654-6\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-kylpyhuone.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-654\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-654\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 281 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-654-7\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-sauna.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-654\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-654\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 281 m\u00b2\"><\/div>\n                                                                                                                                            <input type=\"hidden\" id=\"hotel-rooms-image-url-654-8\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-pohjapiirros.jpg\"> \n                                                <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-bottom-654\"><\/div>\n                                                                                                    <div class=\"hotel-rooms-image\" id=\"hotel-rooms-image-top-654\" style=\"background-image: url();\" role=\"image\" aria-label=\"14-Person Villa 281 m\u00b2\"><\/div>\n                                                                                                                                        <div class=\"hotel-rooms-slider-buttons\" style=\"left: calc(50% - 90px);\">\n                                                <input type=\"hidden\" id=\"hotel-rooms-image-url-654-0\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-654\" id=\"hotel-rooms-slider-button-654-0\" onclick=\"hotelSingleRoom265007781.selectHotelRoomsImage(654, 0)\" style=\"background: white;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-654-1\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-keittio.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-654\" id=\"hotel-rooms-slider-button-654-1\" onclick=\"hotelSingleRoom265007781.selectHotelRoomsImage(654, 1)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-654-2\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-takkahuone.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-654\" id=\"hotel-rooms-slider-button-654-2\" onclick=\"hotelSingleRoom265007781.selectHotelRoomsImage(654, 2)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-654-3\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-makuuhuone.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-654\" id=\"hotel-rooms-slider-button-654-3\" onclick=\"hotelSingleRoom265007781.selectHotelRoomsImage(654, 3)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-654-4\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-parvi.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-654\" id=\"hotel-rooms-slider-button-654-4\" onclick=\"hotelSingleRoom265007781.selectHotelRoomsImage(654, 4)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-654-5\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-wc.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-654\" id=\"hotel-rooms-slider-button-654-5\" onclick=\"hotelSingleRoom265007781.selectHotelRoomsImage(654, 5)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-654-6\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-kylpyhuone.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-654\" id=\"hotel-rooms-slider-button-654-6\" onclick=\"hotelSingleRoom265007781.selectHotelRoomsImage(654, 6)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-654-7\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-sauna.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-654\" id=\"hotel-rooms-slider-button-654-7\" onclick=\"hotelSingleRoom265007781.selectHotelRoomsImage(654, 7)\" style=\"background: none;\"><\/div><input type=\"hidden\" id=\"hotel-rooms-image-url-654-8\" value=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/k5-villas-14-hlo-281m2-pohjapiirros.jpg\"><div class=\"hotel-rooms-slider-button hotel-rooms-slider-button-654\" id=\"hotel-rooms-slider-button-654-8\" onclick=\"hotelSingleRoom265007781.selectHotelRoomsImage(654, 8)\" style=\"background: none;\"><\/div>                                            <\/div>\n                                        <\/div>\n                                        \n                                        <div class=\"hotel-rooms-text\">\n                                            <h3 class=\"has-x-large-font-size\">14-Person Villa 281 m\u00b2 <\/h3>\n                                            <div class=\"hotel-rooms-details\">\n                                                 <img decoding=\"async\" class=\"hotel-rooms-person\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/themes\/k5levi-theme\/assets\/images\/person_icon.svg\"> <span class=\"person-number\">14 people<\/span>                                                <div class=\"hotel-rooms-size\">281 m\u00b2<\/div>\n                                            <\/div>\n                                            <p><p>In our largest apartment, you can enjoy a stay with a large group! This apartment accommodates up to 14 guests, featuring seven double bedrooms\u2014two on the ground floor and five upstairs.<\/p>\n<\/p>\n                                            <div style=\"height: 20px;\"><\/div>\n                                                                                            <a class=\"btn-primary\" href=\"https:\/\/app.mews.com\/distributor\/a96cd931-0e00-4bb1-abc9-b441008474b8?mewsRoute=rates&#038;mewsRoom=b10a75eb-1283-445f-9c32-b44100848249&#038;language=en-US\">Book a Villa<\/a>\n                                                                                    <\/div>\n                                    <\/div>\n                                <\/div>\n                                        <\/div>\n            <script>\n                class HotelSingleRoom265007781 {\n                    constructor(currentPostId) {\n                        this.currentPostId = currentPostId;\n                        this.prevCount = 0;\n                        this.currentCount = 0;\n                        this.maxCount = 0;\n                        this.initSwipeDetection();\n                    }\n\n                    showHotelRoomsTab(post_id) {\n                        this.currentPostId = post_id;\n                        this.currentCount = 0;\n                        this.selectHotelRoomsImage(this.currentPostId, this.currentCount);\n                        \/\/console.log('showHotelRoomsTab', this.currentPostId);\n                        jQuery('.hotel-rooms-container').hide();\n                        jQuery('#hotel-rooms-container-' + this.currentPostId).show();\n                        jQuery('.hotel-rooms-tab').removeClass('active');\n                        jQuery('#hotel-rooms-tab-' + this.currentPostId).addClass('active');\n                    }\n                    \n                    initSwipeDetection() {\n                        \/\/console.log('initSwipeDetection');\n                        \/\/jQuery('.hotel-rooms-images-container')\n                        let xDown;\n                        let xUp;\n                        jQuery('#hotel-rooms-images-container-' + this.currentPostId)\n                            .on('mousedown', (e) => {\n                                xDown = e.pageX; \/\/For mouse\n                            })\n                            .on('mouseup', (e) => {\n                                xUp = e.pageX; \/\/For mouse\n                                let xDiff = xDown - xUp;\n                                if (xDiff > 50) {\n                                    this.swipeHotelRoomsImage(1);\n                                } else if (xDiff < -50) {\n                                    this.swipeHotelRoomsImage(-1);\n                                }\n                            })\n                            .on('touchstart', (e) => {\n                                if (e.changedTouches[0].pageX !== undefined) {\n                                    xDown = e.changedTouches[0].pageX; \/\/For touch\n                                }\n                            })\n                            .on('touchend', (e) => {\n                                if (e.changedTouches[0].pageX !== undefined) {\n                                    xUp = e.changedTouches[0].pageX; \/\/For touch\n                                }\n                                let xDiff = xDown - xUp;\n                                if (xDiff > 50) {\n                                    this.swipeHotelRoomsImage(1);\n                                } else if (xDiff < -50) {\n                                    this.swipeHotelRoomsImage(-1);\n                                }\n                            })\n                        ;\n                    }\n                    \n                    swipeHotelRoomsImage(step) {\n                        \/\/console.log('swipeHotelRoomsImage', this.currentPostId, step);\n                        this.prevCount = this.currentCount;\n                        this.currentCount = Number(this.currentCount) + Number(step);\n                        this.maxCount = Number(jQuery('#hotel-rooms-images-count-' + this.currentPostId).val()) - 1;\n                        \/\/console.log('currentPostId', this.currentPostId);\n                        \/\/console.log('maxCount', this.maxCount);\n                        \/\/console.log('currentCount1', this.currentCount);\n                        if (this.currentCount < 0) this.currentCount = this.maxCount;\n                        if (this.currentCount > this.maxCount) this.currentCount = 0;\n                        \/\/console.log('currentCount2', this.currentCount);\n                        this.changeHotelRoomsImage(step);\n                        this.activateHotelRoomsTab(this.currentCount);\n                    }\n                    \n                    selectHotelRoomsImage(post_id, count) {\n                        this.currentPostId = post_id;\n                        this.prevCount = this.currentCount;\n                        this.currentCount = count;\n                        \/\/console.log('selectHotelRoomsImage', this.currentPostId, this.currentCount);\n                        this.changeHotelRoomsImage(0);\n                        this.activateHotelRoomsTab(this.currentCount);\n                    }\n                    \n                    changeHotelRoomsImage(dir) {\n                        let urlOld = jQuery('#hotel-rooms-image-url-' + this.currentPostId + '-' + this.prevCount).val();\n                        let urlNew = jQuery('#hotel-rooms-image-url-' + this.currentPostId + '-' + this.currentCount).val();\n                        \/\/console.log(urlOld, urlNew);\n                        jQuery('#hotel-rooms-image-bottom-' + this.currentPostId).css('background-image', 'url(' + urlOld + ')');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('background-image', 'url(' + urlNew + ')');\n                        \/\/console.log(this.prevCount, this.currentCount, this.maxCount);\n                        if (this.prevCount != this.currentCount) {\n                            if (dir == 0) {\n                                if (this.prevCount == 0 && this.currentCount == 0) {\n                        \n                                } else if (this.currentCount == 0 && this.prevCount == this.maxCount) {\n                                    this.swipeFromRight();\n                                } else if (this.currentCount == this.maxCount && this.prevCount == 0) {\n                                    this.swipeFromLeft();\n                                } else if (this.prevCount > this.currentCount) {\n                                    this.swipeFromLeft();\n                                } else {\n                                    this.swipeFromRight();\n                                }\n                            } else {\n                                if (dir == 1) {\n                                    this.swipeFromRight();\n                                } else {\n                                    this.swipeFromLeft();\n                                }\n                            }\n                        }\n                    }\n                    \n                    swipeFromLeft() {\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('right', 'auto');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('left', '-100%');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).animate({\n                            left: '0'\n                        }, {\n                            duration: 300\n                        });\n                    }\n                    \n                    swipeFromRight() {\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('left', 'auto');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).css('right', '-100%');\n                        jQuery('#hotel-rooms-image-top-' + this.currentPostId).animate({\n                            right: '0'\n                        }, {\n                            duration: 300\n                        });\n                    }\n                    \n                    activateHotelRoomsTab(id) {\n                        jQuery('.hotel-rooms-slider-button-' + this.currentPostId).css('background', 'none');\n                        jQuery('#hotel-rooms-slider-button-' + this.currentPostId + '-' + id).css('background', 'white');\n                    }\n                }\n                const hotelSingleRoom265007781 = new HotelSingleRoom265007781(654);\n            <\/script>\n        \n<\/div>\n\n\n\n<div class=\"wp-block-group alignfull is-layout-constrained wp-container-core-group-is-layout-1c1a32f3 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--70);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)\">\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center\" style=\"margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)\"><div class=\"wp-block-media-text__content\">\n<div style=\"height:22px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>The K5 Villas apartments are located in the courtyard of Hotel K5 Levi. Guests staying in K5 Villas apartments have parking spaces with heating outlets available next to each apartment.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"687\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/hotelk5-ravintola-katka-kartta.jpg\" alt=\"Hotel K5 Levi\u00e4s map: Hotel K5 Levi is located K\u00e4tk\u00e4rannantie-road. Restaurant K\u00e4tk\u00e4 is in the same bilding as the hotel. Villas-apartments are located around the area. Reindeer corral is in the couryard.\" class=\"wp-image-528 size-full\" srcset=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/hotelk5-ravintola-katka-kartta.jpg 768w, https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/hotelk5-ravintola-katka-kartta-300x268.jpg 300w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide is-stacked-on-mobile is-vertically-aligned-center is-image-fill-element\" style=\"margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--70)\"><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"600\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/K5-villas-talvikuva.jpg\" alt=\"K5 Villas apartment exterior in winter.\" class=\"wp-image-68 size-full\" style=\"object-position:51% 68%\" srcset=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/K5-villas-talvikuva.jpg 800w, https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/K5-villas-talvikuva-300x225.jpg 300w, https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/K5-villas-talvikuva-768x576.jpg 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure><div class=\"wp-block-media-text__content\">\n<div style=\"height:22px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>K5 Villas offer fully equipped kitchens, but you\u2019re also welcome to enjoy <a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/restaurant-katka\/\">restaurant services<\/a> at Hotel K5 Levi\u2014for example, <a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/restaurant-katka\/breakfast\/\">breakfast<\/a> is available at a special rate! We recommend reserving breakfast when booking your accommodation.<\/p>\n\n\n\n<p>Apartment guests also have complimentary access to the ski maintenance facilities and gym in the main building.<\/p>\n\n\n\n<p>The price of K5 Villas accommodation includes one starter bag of wood for the fireplace. Additional firewood can be purchased at the reception of Hotel K5 Levi.<\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-media-text alignwide has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-center is-image-fill-element\" style=\"margin-top:var(--wp--preset--spacing--60);margin-bottom:var(--wp--preset--spacing--60)\"><div class=\"wp-block-media-text__content\">\n<div style=\"height:22px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Pets are welcome to stay with you! Our pet fee is <strong>\u20ac25 per stay for 1-2 pets<\/strong>.<\/p>\n\n\n\n<p>We have a limited number of pet-friendly apartments, so please check availability for pet accommodations before booking and notify us in advance when you\u2019re bringing a pet.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/pets\/\">Read tips for staying with your pet \u2192<\/a><\/p>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/lemmiystavallinen-hotelli-levi.jpg\" alt=\"Family with a pet relaxing in a hotel room.\" class=\"wp-image-545 size-full\" style=\"object-position:50% 50%\" srcset=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/lemmiystavallinen-hotelli-levi.jpg 1024w, https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/lemmiystavallinen-hotelli-levi-300x169.jpg 300w, https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2024\/10\/lemmiystavallinen-hotelli-levi-768x432.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>K5 Villas Apartments K5 Villas apartments are located in a peaceful setting at the foot of K\u00e4tk\u00e4 Fell, yet close to the center of Levi. There are 16 apartments in total (8 semi-detached houses), with accommodations for 7-14 guests, depending on the apartment size. K5 Villas are open all year round! Offers Villas The K5 [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"parent":645,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-698","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.6 (Yoast SEO v27.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>K5 Villas Apartments - Hotel K5 Levi<\/title>\n<meta name=\"description\" content=\"K5 Villas apartments in Levi Lapland, are located near Levi&#039;s Center. The apartments accommodate 7-14 people. Read more!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"K5 Villas\" \/>\n<meta property=\"og:description\" content=\"K5 Villas apartments in Levi Lapland, are located near Levi&#039;s Center. The apartments accommodate 7-14 people. Read more!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/\" \/>\n<meta property=\"og:site_name\" content=\"Hotel K5 Levi\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-03T07:58:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2025\/05\/Villas_kesa_hero.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1499\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/en\\\/accommodation\\\/villas\\\/\",\"url\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/en\\\/accommodation\\\/villas\\\/\",\"name\":\"K5 Villas Apartments - Hotel K5 Levi\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/en\\\/accommodation\\\/villas\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/en\\\/accommodation\\\/villas\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/05\\\/Villas_kesa_hero.jpg\",\"datePublished\":\"2024-10-31T11:29:40+00:00\",\"dateModified\":\"2026-06-03T07:58:51+00:00\",\"description\":\"K5 Villas apartments in Levi Lapland, are located near Levi's Center. The apartments accommodate 7-14 people. Read more!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/en\\\/accommodation\\\/villas\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/en\\\/accommodation\\\/villas\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/en\\\/accommodation\\\/villas\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/05\\\/Villas_kesa_hero.jpg\",\"contentUrl\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/wp-content\\\/uploads\\\/sites\\\/4\\\/2025\\\/05\\\/Villas_kesa_hero.jpg\",\"width\":2000,\"height\":1499,\"caption\":\"K5 Villas Levill\u00e4 kes\u00e4ll\u00e4\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/en\\\/accommodation\\\/villas\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Accommodation\",\"item\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/en\\\/accommodation\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"K5 Villas\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/#website\",\"url\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/\",\"name\":\"Hotel K5 Levi\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.kassiopeia.fi\\\/hotel-k5-levi\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"K5 Villas Apartments - Hotel K5 Levi","description":"K5 Villas apartments in Levi Lapland, are located near Levi's Center. The apartments accommodate 7-14 people. Read more!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/","og_locale":"en_US","og_type":"article","og_title":"K5 Villas","og_description":"K5 Villas apartments in Levi Lapland, are located near Levi's Center. The apartments accommodate 7-14 people. Read more!","og_url":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/","og_site_name":"Hotel K5 Levi","article_modified_time":"2026-06-03T07:58:51+00:00","og_image":[{"width":2000,"height":1499,"url":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2025\/05\/Villas_kesa_hero.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/","url":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/","name":"K5 Villas Apartments - Hotel K5 Levi","isPartOf":{"@id":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/#primaryimage"},"image":{"@id":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/#primaryimage"},"thumbnailUrl":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2025\/05\/Villas_kesa_hero.jpg","datePublished":"2024-10-31T11:29:40+00:00","dateModified":"2026-06-03T07:58:51+00:00","description":"K5 Villas apartments in Levi Lapland, are located near Levi's Center. The apartments accommodate 7-14 people. Read more!","breadcrumb":{"@id":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/#primaryimage","url":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2025\/05\/Villas_kesa_hero.jpg","contentUrl":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-content\/uploads\/sites\/4\/2025\/05\/Villas_kesa_hero.jpg","width":2000,"height":1499,"caption":"K5 Villas Levill\u00e4 kes\u00e4ll\u00e4"},{"@type":"BreadcrumbList","@id":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/villas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/"},{"@type":"ListItem","position":2,"name":"Accommodation","item":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/en\/accommodation\/"},{"@type":"ListItem","position":3,"name":"K5 Villas"}]},{"@type":"WebSite","@id":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/#website","url":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/","name":"Hotel K5 Levi","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"lang":"en","translations":{"en":698,"fi":56},"pll_sync_post":{},"_links":{"self":[{"href":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-json\/wp\/v2\/pages\/698","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-json\/wp\/v2\/comments?post=698"}],"version-history":[{"count":46,"href":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-json\/wp\/v2\/pages\/698\/revisions"}],"predecessor-version":[{"id":3496,"href":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-json\/wp\/v2\/pages\/698\/revisions\/3496"}],"up":[{"embeddable":true,"href":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-json\/wp\/v2\/pages\/645"}],"wp:attachment":[{"href":"https:\/\/www.kassiopeia.fi\/hotel-k5-levi\/wp-json\/wp\/v2\/media?parent=698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}