<!DOCTYPE HTML>
<!--[if lte IE 7]> <html class="ie7"> <![endif]-->
<!--[if IE 8]>     <html class="ie8"> <![endif]-->
<!--[if IE 9]>     <html class="ie9"> <![endif]-->
<!--[if IE 10]>     <html class="ie10"> <![endif]-->
<!--[if !IE]><!--><html class="non-ie" xml:lang="en" lang="en"><!--<![endif]-->
<head>
<title>Reservation System - Welsh Rarebits</title>
<meta name="keywords" content="">
<meta name="description" content="">
<link rel="shortcut icon" href="//secure.rarebits.co.uk/files/images/favicon.ico">
<link rel="canonical" href="/sitemap.xml">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<!-- bke stylesheets/javascript -->
<link href='//fonts.googleapis.com/css?family=Open+Sans:400,300,100,500,600,700' rel='stylesheet' type='text/css'>

<link rel="stylesheet" href="//secure.rarebits.co.uk/files/css/bke-reset.css" type="text/css">
<link rel="stylesheet" href="//secure.rarebits.co.uk/files/css/style-availtable.css" type="text/css">
<link rel="stylesheet" href="//secure.rarebits.co.uk/files/css/jquery.plugins.css" type="text/css">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css">
<link rel="stylesheet" href="//use.fontawesome.com/releases/v5.10.1/css/all.css" integrity="sha384-wxqG4glGB3nlqX0bi23nmgwCSjWIW13BdLUEYC4VIMehfbcro/ATkyDsF/AbIOVe" crossorigin="anonymous">
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/material-design-iconic-font/2.2.0/css/material-design-iconic-font.min.css">
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.0/themes/base/jquery-ui.css" type="text/css">
<link rel="stylesheet" href="//secure.rarebits.co.uk/files/css/jquery.rating.css" type="text/css">
<link rel="stylesheet" href="//secure.rarebits.co.uk/files/css/calendar.css" type="text/css">
<link rel="stylesheet" href="//secure.rarebits.co.uk/files/css/bke.scss" type="text/css">
<!-- <link rel="stylesheet" href="//secure.rarebits.co.uk/files/css/bke.comp.css" type="text/css"> -->
<link rel="stylesheet" href="//secure.rarebits.co.uk/files/css/print.scss" type="text/css" media="print">
<link rel="stylesheet" href="//secure.rarebits.co.uk/bookings/bkecss" type="text/css">
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/i18n/jquery-ui-i18n.min.js"></script>
<script src="//secure.rarebits.co.uk/files/js/jquery.plugins.js" type="text/javascript"></script>

<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBu-aZ_fS_DXfN-Dz_0YPY-9622cP0AY5I"></script>

<link rel="stylesheet" href="//secure.rarebits.co.uk/files/css/bke-searchbox.scss">

<!--[if lt IE 9]>
  <script src="//oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
  <script src="//oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
  <script src="//secure.rarebits.co.uk/files/js/disable-response.js" type="text/javascript"></script>
<![endif]-->


<script src="//www.tripadvisor.com/js3/conversion/pixel.js"></script>
</head>

 <!-- IF groupsite -->
<body class="pagelayout lang-en groupsite">
 <!-- ENDIF groupsite -->

 

	<script>
var $buoop = {vs:{i:9,f:25,o:12.1,s:7},c:2};
function $buo_f(){
 var e = document.createElement("script");
 e.src = "//browser-update.org/update.min.js";
 document.body.appendChild(e);
};
try {document.addEventListener("DOMContentLoaded", $buo_f,false)}
catch(e){window.attachEvent("onload", $buo_f)}
</script>

<header class="palette-bkgd-1" id="na-header">
	<div class="row">
		<div class="container">
			<!-- DESKTOP -->
			<div class="btn-home pull-left" style="display:none;">
				<a href="http://rarebits.co.uk/" class="tip" title="Main website"><i class="zmdi zmdi-home"></i> <span>HOME</span></a>
			</div>
			<div class="bke-settings">
        
				<!-- BEGIN bke_languages_form -->
				<div class="setting-lang">
					<i class="zmdi zmdi-globe"></i>
					<form name="bke_search_auto" id="bke_search_auto" method=post action="//secure.rarebits.co.uk/sitemap.xml"><select name="lang" onChange="this.form.submit();"><option value="en" selected="selected">English</option> <option value="de" >Deutsch</option> <option value="it" >Italiano</option> <option value="fr" >Fran&ccedil;ais</option> <option value="es" >Espa&ntilde;ol </option> <option value="sk" >Slovensky</option> <option value="nl" >Dutch</option> <option value="pl" >Polski</option> <option value="cn" >&#x4E2D;&#x56FD;</option> <option value="lt" >Lietuvos</option> <option value="fi" >Suomen</option> <option value="ar" >&#x627;&#x644;&#x639;&#x631;&#x628;&#x64A;&#x629;</option> <option value="ru" >&#x440;&#x443;&#x301;&#x441;&#x441;&#x43A;&#x438;&#x439; &#x44F;&#x437;&#x44B;&#x301;&#x43A;</option> <option value="cs" >&#x10C;e&scaron;tina</option> <option value="sl" >Sloven&scaron;&#x10D;ina</option> <option value="pt" >Portugu&ecirc;s</option> </select></form>
				</div>
				<!-- END bke_languages_form -->

				<!-- BEGIN bke_currency_selector -->
				<div class="setting-curr">
					<div class="selected-curr-symbol"></div>
					
<select id="curr_selector" onchange="if (typeof ch_currency === 'function'){ ch_currency(this)}" class="bke_currency_selector">
      <option value="0" >Original</option>
      <option value="2" >EUR</option>
      <option value="4" selected>GBP</option>
      <option value="3" >USD</option>
</select>
<script type="text/javascript">
(function(funcName, baseObj) {
    funcName = funcName || "docReady";
    baseObj = baseObj || window;
    var readyList = [];
    var readyFired = false;
    var readyEventHandlersInstalled = false;
    function ready() {
        if (!readyFired) {
            readyFired = true;
            for (var i = 0; i < readyList.length; i++) {
                readyList[i].fn.call(window, readyList[i].ctx);
            }
            readyList = [];
        }
    }

    function readyStateChange() {
        if ( document.readyState === "complete" ) {
            ready();
        }
    }
    baseObj[funcName] = function(callback, context) {
        if (readyFired) {
            setTimeout(function() {callback(context);}, 1);
            return;
        } else {
            readyList.push({fn: callback, ctx: context});
        }
        if (document.readyState === "complete") {
            setTimeout(ready, 1);
        } else if (!readyEventHandlersInstalled) {
            if (document.addEventListener) {
                document.addEventListener("DOMContentLoaded", ready, false);
                window.addEventListener("load", ready, false);
            } else {
                document.attachEvent("onreadystatechange", readyStateChange);
                window.attachEvent("onload", ready);
            }
            readyEventHandlersInstalled = true;
        }
    }
})("docReady", window);

var set_hover = function($) {
   
}


    Object.keys = Object.keys || (function () {
        var hasOwnProperty = Object.prototype.hasOwnProperty,
            hasDontEnumBug = !{toString:null}.propertyIsEnumerable("toString"),
            DontEnums = [
                'toString',
                'toLocaleString',
                'valueOf',
                'hasOwnProperty',
                'isPrototypeOf',
                'propertyIsEnumerable',
                'constructor'
            ],
            DontEnumsLength = DontEnums.length;
      
        return function (o) {
            if (typeof o != "object" && typeof o != "function" || o === null)
                throw new TypeError("Object.keys called on a non-object");
         
            var result = [];
            for (var name in o) {
                if (hasOwnProperty.call(o, name))
                    result.push(name);
            }
         
            if (hasDontEnumBug) {
                for (var i = 0; i < DontEnumsLength; i++) {
                    if (hasOwnProperty.call(o, DontEnums[i]))
                        result.push(DontEnums[i]);
                }   
            }
         
            return result;
        };
    })();

    // START    
    var currChanger = (function(){
        var availableCurr    = {"3":{"symbol":"$","side":"r","isocode":"USD","rate":"1.1520","name":"US Dollar"},"2":{"symbol":"&euro;","side":"r","isocode":"EUR","name":"Euro","rate":"1.0000"},"4":{"symbol":"&pound;","side":"r","isocode":"GBP","name":"Pound Sterling","rate":"0.8714"},"0":{"side":"r","symbol":"","rate":1,"name":"Original","isocode":"Original"}};
        var defaultCurrency  = 4;
        var currentCurrency  = false;//2;
        var changeCurrency   = false;
        var defaultClassName = 'curr_chan';
        var settings         = {
            defaultClassName : defaultClassName,
            changeCallback   : false,
            noRound          : false,
            replaceWithin    : false,
            ignoreOwnCurr    : false,
            obj              : false,
            objName          : false,
            arr              : false,
            arrName          : false,
            exceptIdLike     : false,
            onRoom           : false,
        };
        var bke_selected_currency = 'bke_selected_currency';
        var bke_selected_currency_sbox = 'bke_selected_currency_sbox';
        var origPriceObjs = {};
        var origPriceArr = {};
        var currentObjCurr = {};
        var currentArrCurr = {};
        var changerFunction = [];
        var currDataOrigin = {};
        var currData = {};
        var currDataCurrency = {};
        var currDataId = 0;
        var origCurrency = {};
        var currRoomCurrency = {};
        return {
            // changes currency
            setCurrency  : setCurrency,            
            addSymbol    : addSymbol,
            addChangerFunction : addChangerFunction,
            setCurrencyOnMultiple : setCurrencyOnMultiple,
            // Settings that needed to be called before replacing 
            // currency when applicable
            changeCallback : changeCallback,
            getDefaultCurrency:getDefaultCurrency,
            getCurrentCurrency:getCurrentCurrency,
            exceptIdLike   : exceptIdLike,
            replaceWithin  : replaceWithin,
            ignoreOwnCurr  : ignoreOwnCurr,
            onObject       : onObject,
            onRoom         : onRoom,
            onArray        : onArray,
            // rest of changes
            getCurrentCurrencySymbol : getCurrentCurrencySymbol,
            getRate        : getRate,
            noRound	       : noRound,
        }

        function noRound () {
        	settings.noRound = true;
        	return this;
        }

        function logErr (error) {
        }

        function exceptIdLike (regex) {
            settings.exceptIdLike = regex;
            return this;
        }

        function addChangerFunction(name) {        	
            var add = true;
            try {
                if (changerFunction.indexOf(name) >= 0) {
                    add = false;
                }
            } catch(error) {logErr(error);}
            if ( add )
                changerFunction.push(name);
            return this;
        }

        function onObject(o,name) {
            settings.obj = o;
            settings.objName = name;
            return this;
        }

        function onArray(a,name) {
            settings.arr = a;
            settings.arrName = name;
            return this;
        }

        function changeCallback(c) {
            settings.changeCallback = c;
            return this;
        }

        function replaceWithin(c) {
            settings.replaceWithin = c;
            return this;
        }

        function onRoom(c) {
            settings.onRoom = c;
            return this;
        }

        function ignoreOwnCurr() {
            settings.ignoreOwnCurr = true;
            return this;
        }

        function getCurrentCurrency(obj) {
            if (currentCurrency && currentCurrency != 0) {
                return currentCurrency;
            } else  {
                return getDefaultCurrency();
            }
        }

        function getCurrentCurrencySymbol (obj) {
            if (!obj) {
                return availableCurr[getDefaultCurrency()]['symbol'];
            } else {
                return availableCurr[getCurrencyFromSpan(obj)]['symbol'];
            }
        }

        function setCurrencyOnMultiple (to) {        
            if (changerFunction.length > 0) {
                for (var i = 0; i < changerFunction.length; i++) {
                    changerFunction[i](false,to);
                };
            }
        }

        // retrieves default currency for specified room when necessary
        // this required onRoom switch to define id of room to find '#bke_room_currency'
        function getDefaultCurrency () {
            var curr = defaultCurrency;
            if (settings.onRoom && !settings.onRoom == '') {
                if (origCurrency[settings.room]) {
                    curr = origCurrency[settings.room];
                } else {
                    try {
                        curr = document.querySelectorAll('#bke_room_currency'+settings.onRoom)[0].value;
                        origCurrency[settings.onRoom] = curr;
                    } catch (error) {logErr('Cannot find default currency for room '+settings.onRoom);} 
                }
            }
            return curr;
        }

        function currChangerCurrency() {
            var curr = defaultCurrency;
            try {
                curr = document.querySelectorAll('#curr_selector')[0].value;
            } catch (error) {logErr('Cannot find default currency changer value');} 
            return curr;
        }

        function clearData() {
        	currData = {} ;
        }

        // setting currency to values on page with curr_chan class
        function setCurrency (to, clear) {        	
            if (!to) 
                to = currChangerCurrency();
            if (!availableCurr[to] || to == 0) 
                to = getDefaultCurrency();
            if (clear)	
            	clearData();
            if (settings.obj && settings.objName) {
                if (!currentObjCurr[settings.objName])
                    currentObjCurr[settings.objName] = getDefaultCurrency();
                if (currentObjCurr[settings.objName] != to) {
                    changedObject = changeObjectCurrencies(currentObjCurr[settings.objName],to);
                    currentObjCurr[settings.objName] = to;
                    returnObj = changedObject;
                } else {
                    returnObj = settings.obj;
                }
            } else if (settings.arr && settings.arrName && settings.arr.length > 0){
                if (!currentArrCurr[settings.arrName])
                    currentArrCurr[settings.arrName] = getDefaultCurrency();
                if (currentObjCurr[settings.arrName] != to) {
                    changedArray = changeArrayCurrencies(currentArrCurr[settings.arrName],to);
                    currentArrCurr[settings.arrName] = to;
                    changeElementCurrencies(false,to);
                    returnObj = changedArray;
                } else {
                    returnObj = settings.arr;
                }
            } else {            
                changeElementCurrencies(false,to, clearData);
                returnObj = this;
            }
            
            if (settings.callback) settings.callback(to);
            cleanup();            
            return returnObj;
        }

        function changeArrayCurrencies(from, to) {
            if (!origPriceArr[from])
                origPriceArr[from] = {};
            if (!origPriceArr[from][settings.arrName])
                    origPriceArr[from][settings.arrName] = settings.arr;
            if (!origPriceArr[to])
                origPriceArr[to] = {};
            if (origPriceArr[to][settings.arrName])
                return origPriceArr[to][settings.arrName];

            changedArr = recalcArr(settings.arr,from,to);
            origPriceArr[to][settings.arrName] = changedArr;
            return changedArr;
        }

        function recalcArr(arr,from,to) {
            var manip = [];
            changeArrNode(arr, manip, from, to);
            if (manip.length > 0)
                manip = manip[0];
            return manip;
        }

        function changeArrNode(arr, manip, from, to) {
            if (arr) {
                if (Object.prototype.toString.call(arr) === '[object Array]') {
                    manip.push([]);
                    for (var i=0; i < arr.length; i++ ) {
                        changeArrNode(arr[i], manip[(manip.length-1)], from, to);
                    }
                } else {
                    manip.push(changeObjValue(arr, from, to));
                }
            }
        }

        function changeObjectCurrencies (from,to) {
            if (!origPriceObjs[from])
                origPriceObjs[from] = {};
            if (!origPriceObjs[from][settings.objName])
                    origPriceObjs[from][settings.objName] = settings.obj;
            if (!origPriceObjs[to])
                origPriceObjs[to] = {}
            if (origPriceObjs[to][settings.objName])
                return origPriceObjs[to][settings.objName];

            changedObj = recalcObj(settings.obj,from,to);
            origPriceObjs[to][settings.objName] = changedObj;
            return changedObj;
        }

        function recalcObj(obj,from,to) {
            var manip = {};
            changeObjNode(obj, manip, from, to);
            return manip;
        }

        function changeObjNode (obj, manip, from, to) {
            if (Object.prototype.toString.call(obj) === '[object Object]') {
                var keys = Object.keys(obj);
                for (var i=0; i < keys.length; i++ ) {
                    manip[keys[i]] = {};
                    if (Object.prototype.toString.call(obj[keys[i]]) !== '[object Object]') {
                        manip[keys[i]] = changeObjValue(obj[keys[i]], from, to);
                    } else {
                        changeObjNode(obj[keys[i]], manip[keys[i]], from, to);
                    }
                }
            } else {
                manip = changeObjValue(obj[keys[i]], from, to)(a);
            }
        }

        function changeObjValue (value,from,to) {
            if (value === 0 || value === '0') {
                return 0;
            }
            return addSymbol(exchangeRate(getRate(value), from, to),to);
        }

        function hasClass(ele,cls) {
            return !!ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
        }

        function addClass(ele,cls) {
            if (!hasClass(ele,cls)) ele.className += " "+cls;
        }

        function setCurrSpanData(obj) {
            var id = currDataId++;
            var className = 'curr_data'+id;            
            addClass(obj,className);
            return id;
        }

        function getSpanCurrency (obj,from,to) {
            id = getDataId(obj);

            currentValue = getObjValue(obj,from);

            if (id) {
                if (!currData[from])
                    currData[from] = {}
                if (!currData[from][id]){
                    if (!isNaN(currentValue)) {
                        currData[from][id] = currentValue;
                    }
                }
                if (!currData[to])
                    currData[to] = {};
                if (currData[to][id]) {
                    return currData[to][id];
                }
            } else {
                id = setCurrSpanData(obj);
                if (from == to)
                    return currentValue;
            }

            return false;            
        }

        function getDataId (obj) {
            classes = obj.className.split(' ');
            
            if (classes.length > 0) {
                for (var i = classes.length - 1; i >= 0; i--) {
                    match = classes[i].match(/curr_data(\d*)/);
                    if (match && match[1]) 
                        return match[1];
                }
            }
            return false;
        }
        
        function getCurrencyFromSpan(obj) {
            id = getDataId(obj);
            
            if (id) {
                if (currDataCurrency[id]) {
                    return currDataCurrency[id]
                } else {
                    currDataCurrency[id] = getDefaultCurrency();
                    return currDataCurrency[id];
                }
            } else {
                id = setCurrSpanData(obj);
                currDataCurrency[id] = getDefaultCurrency();
                return currDataCurrency[id];
            }
        }

        function setCurrencyToSpan(obj,newValue) {
            classes = obj.className.split(' ');
            
            if (classes.length > 0) {
                for (var i = classes.length - 1; i >= 0; i--) {
                    match = classes[i].match(/curr_data(\d*)/);
                    if (match && match[1]) {
                        match = match[1];
                    }
                    if (currDataCurrency[match]) {
                        currDataCurrency[match] = newValue;
                    }
                }
            }
        }

        function changeElementCurrencies (from,to) {         		
                var all = getAllToChange(settings.defaultClassName, settings.replaceWithin);
                var tempFrom;
                var tempTo;
                for (var i=0; i < all.length; i++ ) {
                    obj = all[i];
                    
                    from = getCurrencyFromSpan(obj);

                    if (settings.ignoreOwnCurr) {
                        tempTo        = from
                        tempFrom      = from;
                    } else {
                        tempTo        = to;
                        tempFrom      = from;
                    }
                    if (tempTo == tempFrom) {                        
                        continue;
                    }
                    objValue = getSpanCurrency(obj,tempFrom,tempTo);

                    setCurrencyToSpan(obj,tempTo);

                    if (objValue && objValue != false) {
                        applyValue(obj, addSymbol(objValue,tempTo), objValue);
                        continue;
                    }

                    if (availableCurr[tempTo]) {
                        value         = getObjValue(obj, tempFrom);

                        if (!value || value == ''){
                            continue;
                        }
                        changed = exchangeRate(value, tempFrom, tempTo);

                        applyValue(obj, addSymbol(changed, tempTo), changed);                 
                        
                    }
                }
                if (availableCurr[to]) {
                    currentCurrency = to;
                }
                changeInputs(bke_selected_currency,to);
                changeInputs(bke_selected_currency_sbox,to);
        }

        function cleanup () {
            settings         = {
                defaultClassName : defaultClassName,
                changeCallback   : false,
                replaceWithin    : false,
                ignoreOwnCurr    : false,
                obj              : false,
                noRound          : false,
                objName          : false,
                arr              : false,
                arrName          : false,
                exceptIdLike     : false,
                onRoom           : false
            };
        }

        function addSymbol (value, toSymbol) {
            if ((toSymbol == 0 && settings.onRoom) || !toSymbol) {
                toSymbol = getDefaultCurrency();
            }                 
            if (availableCurr[toSymbol]) {
                    if (availableCurr[toSymbol]['side'] == 'l') {
                        lcurr = availableCurr[toSymbol]['symbol'];
                        rcurr = '';
                    } else {
                        lcurr = '';
                        rcurr = availableCurr[toSymbol]['symbol']
                    }
                    value = rcurr + value + lcurr;
            } 
            return value;
        }

        function applyValue(obj,changed,changedValueOnly) {

            try {
                if (obj.tagName == 'INPUT') {
                    obj.value = changedValueOnly;                    
                } else {
                    obj.innerHTML = changed;                  
                }
            } catch (error) {logErr(error);} 
        }

        function getObjValue(obj,original) {
            value = false;
            if (obj.tagName == 'INPUT') {
                value = obj.value;                    
            } else {
                value = obj.innerHTML;                    
            }
            pureValue = getRate(value);
            return pureValue;
        }

        function changeInputs (name,to) {
            input = document.getElementsByName(name);
            if (input) {
                for (var i=0;i<input.length;i++) {
                    input[i].value = to;
                }
            }
            return this;
        }

        function getAllToChange (classNames, replaceWithin) {
            var all = [];
            try {
                if (replaceWithin) {
                    if (replaceWithin.match(/^[#\.]/)) {
                        found = replaceWithin.match(/^[#|\.](.*)/);
                        if (found && found.length > 0) {
                            all = document.querySelectorAll('.'+found[1]+' .curr_chan');
                            if (all.length < 1) {
                                all = document.querySelectorAll('#'+found[1]+' .curr_chan');
                            }
                        } else {
                            all = document.querySelectorAll(replaceWithin+' .curr_chan');
                        }
                    } else {
                        all = document.querySelectorAll('#'+replaceWithin+' .curr_chan');
                    }
                } else {
                    all = document.querySelectorAll('.'+classNames);
                }
                if (all && all.length && settings.exceptIdLike) {
                    newAll = [];
                    for (var i = all.length - 1; i >= 0; i--) {
                        if (all[i].id) {
                            if (!all[i].id.match(settings.exceptIdLike)) {
                                newAll.push(all[i]);
                            }
                        } else {
                            newAll.push(all[i]);
                        }
                    };
                    all = newAll;
                }
            } catch (error) {logErr(error);}
            return all;
        }

        function getRate(rate) {
            var r = '';
            var l = '';
            
            if (!isNaN(rate)) {
                return rate;
            }
            if ($.parseHTML(rate)){
                var newRate = $.parseHTML(rate);
                rate = newRate[0].textContent;
            }
            var match_curr = rate.match(/(?:<span.*?>)?([^\d]+)?((?:\d+)?\,?(?:\d+)\.?(?:\d+)?)?\s?([^\d]+;?)?([^\d]+)?(?:<\/span.*?>)?/);
            if (match_curr && match_curr[2]) {
                rate = match_curr[2];
                if (match_curr[1]) {
                    l = match_curr[1];
                    lcurr = l;
                    rcurr = '';
                } 
                if (match_curr[3]) {
                    r = match_curr[3];
                    rcurr = r;
                    lcurr = '';
                }
            } else {
                rate = rate.replace(/[^\d\.]/,'');
            }
            return rate;
        }
        
        function exchangeRate(value, from, to , callback) {   
            var c = false;

            if (callback && typeof callback === 'function') {
                c = callback;
            }

            if (availableCurr[from] && availableCurr[to]) {
                var er = /^-?[0-9]+$/;
                var isInt = er.test(value);
                value = value.replace(/,/g,'');
                parsedRate = value;
                if (from != 0 || to != 0) {
                    parsedRate = (((parseFloat(value) / parseFloat(availableCurr[from]['rate'])) * parseFloat(availableCurr[to]['rate'])));
                	if (!settings.noRound) {
                		parsedRate = Math.round(parsedRate);
                	}
                }
                if (!isInt) parsedRate = parsedRate.toFixed(2);
                if (c) c(parsedRate);
                
                return parsedRate;
            } else {
                if (c) c(value);
                return value;
            }
        }

        function changeTripteaseCurrencies(from,to){
            var triptease_div = document.querySelectorAll(".price-fighter-widget");
            if(triptease_div[0]){
                if (availableCurr[to]) {
                    noRound();
                    var price = triptease_div[0].getAttribute("data-pf-direct-price");
                    var newPrice = exchangeRate(price, from, to);
                    triptease_div[0].setAttribute("data-pf-direct-price", newPrice);
                    triptease_div[0].setAttribute("data-pf-currency", availableCurr[to].isocode);
                    cleanup();
                }
                if(typeof Paperboy !== 'undefined' && Paperboy.PriceCheck){
                    Paperboy.PriceCheck.reset();
                }
            }
        }
    })();

docReady(function() {
document.getElementById('curr_selector').value = '4';
document.getElementById('curr_selector').onchange();
    document.getElementById('curr_selector').onchange();
   if (typeof jQuery.ui != 'undefined') {
        set_hover(jQuery);
   }
});
</script>

				</div>
				<!-- END bke_currency_selector -->
			</div>

			<a href="http://rarebits.co.uk/" class="logo"><img src="//secure.rarebits.co.uk/bookings/showimage?id=08A5385AFFE5CE1C317E265033E3188D&type=18" alt="Welsh Rarebits" /></a>
      
		</div>
	</div>
</header>

<div class="settings-bar">
  <div class="settings-bar__slide">
    <div class="settings-bar__item btn-booknow open-searchbox-01">
      <i class="far fa-calendar-check"></i> Check Availability
    </div>
    <div class="settings-bar__item settings-bar__calendar">
      <i class="fas fa-edit"></i>
       <div class="booking-summary__cal loading open-searchbox-01">
  <div class="booking-summary__location" style="display:none;">
    <h3>Location</h3>
    <span class="cal-loc"><span class="search-term"></span></span>
  </div>
  <div class="booking-summary__in">
    <h3>Check in</h3>
    <span class="cal-arr__day big"></span>
    <span class="cal-arr__month big"></span>
    <span class="cal-arr__dayname"></span>
    <span class="cal-arr__year"></span>
  </div>
  <div class="booking-summary__out">
    <h3>Check out</h3>
    <span class="cal-dep__day big"></span>
    <span class="cal-dep__month big"></span>
    <span class="cal-dep__dayname"></span>
    <span class="cal-dep__year"></span>
  </div>
  <div class="booking-summary__nights">
    <h3>Nights</h3>
    <span class="cal-nights big">1</span>
  </div>
</div>

<a class="btn-searchagain btn-shadow open-searchbox-01"><i class="fa fa-redo"></i> Search again</a>		





    </div>  
    <div class="settings-bar__item settings-bar__summary" onClick="slidePanel('#booking-summary','Booking Summary')">
      <i class="fas fa-shopping-cart"></i>
      Summary
    </div>
    
    <div class="settings-bar__item settings-bar__filter" onClick="slidePanel('#filter-offers','Filters')">
      <i class="fas fa-filter"></i>
      Filters
    </div>
    <!-- BEGIN bke_currency_selector -->
    <div class="settings-bar__item settings-bar__currency">
    <div class="selected-curr-symbol"></div>
      
<select id="curr_selector" onchange="if (typeof ch_currency === 'function'){ ch_currency(this)}" class="bke_currency_selector">
      <option value="0" >Original</option>
      <option value="2" >EUR</option>
      <option value="4" selected>GBP</option>
      <option value="3" >USD</option>
</select>
<script type="text/javascript">
(function(funcName, baseObj) {
    funcName = funcName || "docReady";
    baseObj = baseObj || window;
    var readyList = [];
    var readyFired = false;
    var readyEventHandlersInstalled = false;
    function ready() {
        if (!readyFired) {
            readyFired = true;
            for (var i = 0; i < readyList.length; i++) {
                readyList[i].fn.call(window, readyList[i].ctx);
            }
            readyList = [];
        }
    }

    function readyStateChange() {
        if ( document.readyState === "complete" ) {
            ready();
        }
    }
    baseObj[funcName] = function(callback, context) {
        if (readyFired) {
            setTimeout(function() {callback(context);}, 1);
            return;
        } else {
            readyList.push({fn: callback, ctx: context});
        }
        if (document.readyState === "complete") {
            setTimeout(ready, 1);
        } else if (!readyEventHandlersInstalled) {
            if (document.addEventListener) {
                document.addEventListener("DOMContentLoaded", ready, false);
                window.addEventListener("load", ready, false);
            } else {
                document.attachEvent("onreadystatechange", readyStateChange);
                window.attachEvent("onload", ready);
            }
            readyEventHandlersInstalled = true;
        }
    }
})("docReady", window);

var set_hover = function($) {
   
}


    Object.keys = Object.keys || (function () {
        var hasOwnProperty = Object.prototype.hasOwnProperty,
            hasDontEnumBug = !{toString:null}.propertyIsEnumerable("toString"),
            DontEnums = [
                'toString',
                'toLocaleString',
                'valueOf',
                'hasOwnProperty',
                'isPrototypeOf',
                'propertyIsEnumerable',
                'constructor'
            ],
            DontEnumsLength = DontEnums.length;
      
        return function (o) {
            if (typeof o != "object" && typeof o != "function" || o === null)
                throw new TypeError("Object.keys called on a non-object");
         
            var result = [];
            for (var name in o) {
                if (hasOwnProperty.call(o, name))
                    result.push(name);
            }
         
            if (hasDontEnumBug) {
                for (var i = 0; i < DontEnumsLength; i++) {
                    if (hasOwnProperty.call(o, DontEnums[i]))
                        result.push(DontEnums[i]);
                }   
            }
         
            return result;
        };
    })();

    // START    
    var currChanger = (function(){
        var availableCurr    = {"3":{"symbol":"$","side":"r","isocode":"USD","rate":"1.1520","name":"US Dollar"},"2":{"symbol":"&euro;","side":"r","isocode":"EUR","name":"Euro","rate":"1.0000"},"4":{"symbol":"&pound;","side":"r","isocode":"GBP","name":"Pound Sterling","rate":"0.8714"},"0":{"side":"r","symbol":"","rate":1,"name":"Original","isocode":"Original"}};
        var defaultCurrency  = 4;
        var currentCurrency  = false;//2;
        var changeCurrency   = false;
        var defaultClassName = 'curr_chan';
        var settings         = {
            defaultClassName : defaultClassName,
            changeCallback   : false,
            noRound          : false,
            replaceWithin    : false,
            ignoreOwnCurr    : false,
            obj              : false,
            objName          : false,
            arr              : false,
            arrName          : false,
            exceptIdLike     : false,
            onRoom           : false,
        };
        var bke_selected_currency = 'bke_selected_currency';
        var bke_selected_currency_sbox = 'bke_selected_currency_sbox';
        var origPriceObjs = {};
        var origPriceArr = {};
        var currentObjCurr = {};
        var currentArrCurr = {};
        var changerFunction = [];
        var currDataOrigin = {};
        var currData = {};
        var currDataCurrency = {};
        var currDataId = 0;
        var origCurrency = {};
        var currRoomCurrency = {};
        return {
            // changes currency
            setCurrency  : setCurrency,            
            addSymbol    : addSymbol,
            addChangerFunction : addChangerFunction,
            setCurrencyOnMultiple : setCurrencyOnMultiple,
            // Settings that needed to be called before replacing 
            // currency when applicable
            changeCallback : changeCallback,
            getDefaultCurrency:getDefaultCurrency,
            getCurrentCurrency:getCurrentCurrency,
            exceptIdLike   : exceptIdLike,
            replaceWithin  : replaceWithin,
            ignoreOwnCurr  : ignoreOwnCurr,
            onObject       : onObject,
            onRoom         : onRoom,
            onArray        : onArray,
            // rest of changes
            getCurrentCurrencySymbol : getCurrentCurrencySymbol,
            getRate        : getRate,
            noRound	       : noRound,
        }

        function noRound () {
        	settings.noRound = true;
        	return this;
        }

        function logErr (error) {
        }

        function exceptIdLike (regex) {
            settings.exceptIdLike = regex;
            return this;
        }

        function addChangerFunction(name) {        	
            var add = true;
            try {
                if (changerFunction.indexOf(name) >= 0) {
                    add = false;
                }
            } catch(error) {logErr(error);}
            if ( add )
                changerFunction.push(name);
            return this;
        }

        function onObject(o,name) {
            settings.obj = o;
            settings.objName = name;
            return this;
        }

        function onArray(a,name) {
            settings.arr = a;
            settings.arrName = name;
            return this;
        }

        function changeCallback(c) {
            settings.changeCallback = c;
            return this;
        }

        function replaceWithin(c) {
            settings.replaceWithin = c;
            return this;
        }

        function onRoom(c) {
            settings.onRoom = c;
            return this;
        }

        function ignoreOwnCurr() {
            settings.ignoreOwnCurr = true;
            return this;
        }

        function getCurrentCurrency(obj) {
            if (currentCurrency && currentCurrency != 0) {
                return currentCurrency;
            } else  {
                return getDefaultCurrency();
            }
        }

        function getCurrentCurrencySymbol (obj) {
            if (!obj) {
                return availableCurr[getDefaultCurrency()]['symbol'];
            } else {
                return availableCurr[getCurrencyFromSpan(obj)]['symbol'];
            }
        }

        function setCurrencyOnMultiple (to) {        
            if (changerFunction.length > 0) {
                for (var i = 0; i < changerFunction.length; i++) {
                    changerFunction[i](false,to);
                };
            }
        }

        // retrieves default currency for specified room when necessary
        // this required onRoom switch to define id of room to find '#bke_room_currency'
        function getDefaultCurrency () {
            var curr = defaultCurrency;
            if (settings.onRoom && !settings.onRoom == '') {
                if (origCurrency[settings.room]) {
                    curr = origCurrency[settings.room];
                } else {
                    try {
                        curr = document.querySelectorAll('#bke_room_currency'+settings.onRoom)[0].value;
                        origCurrency[settings.onRoom] = curr;
                    } catch (error) {logErr('Cannot find default currency for room '+settings.onRoom);} 
                }
            }
            return curr;
        }

        function currChangerCurrency() {
            var curr = defaultCurrency;
            try {
                curr = document.querySelectorAll('#curr_selector')[0].value;
            } catch (error) {logErr('Cannot find default currency changer value');} 
            return curr;
        }

        function clearData() {
        	currData = {} ;
        }

        // setting currency to values on page with curr_chan class
        function setCurrency (to, clear) {        	
            if (!to) 
                to = currChangerCurrency();
            if (!availableCurr[to] || to == 0) 
                to = getDefaultCurrency();
            if (clear)	
            	clearData();
            if (settings.obj && settings.objName) {
                if (!currentObjCurr[settings.objName])
                    currentObjCurr[settings.objName] = getDefaultCurrency();
                if (currentObjCurr[settings.objName] != to) {
                    changedObject = changeObjectCurrencies(currentObjCurr[settings.objName],to);
                    currentObjCurr[settings.objName] = to;
                    returnObj = changedObject;
                } else {
                    returnObj = settings.obj;
                }
            } else if (settings.arr && settings.arrName && settings.arr.length > 0){
                if (!currentArrCurr[settings.arrName])
                    currentArrCurr[settings.arrName] = getDefaultCurrency();
                if (currentObjCurr[settings.arrName] != to) {
                    changedArray = changeArrayCurrencies(currentArrCurr[settings.arrName],to);
                    currentArrCurr[settings.arrName] = to;
                    changeElementCurrencies(false,to);
                    returnObj = changedArray;
                } else {
                    returnObj = settings.arr;
                }
            } else {            
                changeElementCurrencies(false,to, clearData);
                returnObj = this;
            }
            
            if (settings.callback) settings.callback(to);
            cleanup();            
            return returnObj;
        }

        function changeArrayCurrencies(from, to) {
            if (!origPriceArr[from])
                origPriceArr[from] = {};
            if (!origPriceArr[from][settings.arrName])
                    origPriceArr[from][settings.arrName] = settings.arr;
            if (!origPriceArr[to])
                origPriceArr[to] = {};
            if (origPriceArr[to][settings.arrName])
                return origPriceArr[to][settings.arrName];

            changedArr = recalcArr(settings.arr,from,to);
            origPriceArr[to][settings.arrName] = changedArr;
            return changedArr;
        }

        function recalcArr(arr,from,to) {
            var manip = [];
            changeArrNode(arr, manip, from, to);
            if (manip.length > 0)
                manip = manip[0];
            return manip;
        }

        function changeArrNode(arr, manip, from, to) {
            if (arr) {
                if (Object.prototype.toString.call(arr) === '[object Array]') {
                    manip.push([]);
                    for (var i=0; i < arr.length; i++ ) {
                        changeArrNode(arr[i], manip[(manip.length-1)], from, to);
                    }
                } else {
                    manip.push(changeObjValue(arr, from, to));
                }
            }
        }

        function changeObjectCurrencies (from,to) {
            if (!origPriceObjs[from])
                origPriceObjs[from] = {};
            if (!origPriceObjs[from][settings.objName])
                    origPriceObjs[from][settings.objName] = settings.obj;
            if (!origPriceObjs[to])
                origPriceObjs[to] = {}
            if (origPriceObjs[to][settings.objName])
                return origPriceObjs[to][settings.objName];

            changedObj = recalcObj(settings.obj,from,to);
            origPriceObjs[to][settings.objName] = changedObj;
            return changedObj;
        }

        function recalcObj(obj,from,to) {
            var manip = {};
            changeObjNode(obj, manip, from, to);
            return manip;
        }

        function changeObjNode (obj, manip, from, to) {
            if (Object.prototype.toString.call(obj) === '[object Object]') {
                var keys = Object.keys(obj);
                for (var i=0; i < keys.length; i++ ) {
                    manip[keys[i]] = {};
                    if (Object.prototype.toString.call(obj[keys[i]]) !== '[object Object]') {
                        manip[keys[i]] = changeObjValue(obj[keys[i]], from, to);
                    } else {
                        changeObjNode(obj[keys[i]], manip[keys[i]], from, to);
                    }
                }
            } else {
                manip = changeObjValue(obj[keys[i]], from, to)(a);
            }
        }

        function changeObjValue (value,from,to) {
            if (value === 0 || value === '0') {
                return 0;
            }
            return addSymbol(exchangeRate(getRate(value), from, to),to);
        }

        function hasClass(ele,cls) {
            return !!ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
        }

        function addClass(ele,cls) {
            if (!hasClass(ele,cls)) ele.className += " "+cls;
        }

        function setCurrSpanData(obj) {
            var id = currDataId++;
            var className = 'curr_data'+id;            
            addClass(obj,className);
            return id;
        }

        function getSpanCurrency (obj,from,to) {
            id = getDataId(obj);

            currentValue = getObjValue(obj,from);

            if (id) {
                if (!currData[from])
                    currData[from] = {}
                if (!currData[from][id]){
                    if (!isNaN(currentValue)) {
                        currData[from][id] = currentValue;
                    }
                }
                if (!currData[to])
                    currData[to] = {};
                if (currData[to][id]) {
                    return currData[to][id];
                }
            } else {
                id = setCurrSpanData(obj);
                if (from == to)
                    return currentValue;
            }

            return false;            
        }

        function getDataId (obj) {
            classes = obj.className.split(' ');
            
            if (classes.length > 0) {
                for (var i = classes.length - 1; i >= 0; i--) {
                    match = classes[i].match(/curr_data(\d*)/);
                    if (match && match[1]) 
                        return match[1];
                }
            }
            return false;
        }
        
        function getCurrencyFromSpan(obj) {
            id = getDataId(obj);
            
            if (id) {
                if (currDataCurrency[id]) {
                    return currDataCurrency[id]
                } else {
                    currDataCurrency[id] = getDefaultCurrency();
                    return currDataCurrency[id];
                }
            } else {
                id = setCurrSpanData(obj);
                currDataCurrency[id] = getDefaultCurrency();
                return currDataCurrency[id];
            }
        }

        function setCurrencyToSpan(obj,newValue) {
            classes = obj.className.split(' ');
            
            if (classes.length > 0) {
                for (var i = classes.length - 1; i >= 0; i--) {
                    match = classes[i].match(/curr_data(\d*)/);
                    if (match && match[1]) {
                        match = match[1];
                    }
                    if (currDataCurrency[match]) {
                        currDataCurrency[match] = newValue;
                    }
                }
            }
        }

        function changeElementCurrencies (from,to) {         		
                var all = getAllToChange(settings.defaultClassName, settings.replaceWithin);
                var tempFrom;
                var tempTo;
                for (var i=0; i < all.length; i++ ) {
                    obj = all[i];
                    
                    from = getCurrencyFromSpan(obj);

                    if (settings.ignoreOwnCurr) {
                        tempTo        = from
                        tempFrom      = from;
                    } else {
                        tempTo        = to;
                        tempFrom      = from;
                    }
                    if (tempTo == tempFrom) {                        
                        continue;
                    }
                    objValue = getSpanCurrency(obj,tempFrom,tempTo);

                    setCurrencyToSpan(obj,tempTo);

                    if (objValue && objValue != false) {
                        applyValue(obj, addSymbol(objValue,tempTo), objValue);
                        continue;
                    }

                    if (availableCurr[tempTo]) {
                        value         = getObjValue(obj, tempFrom);

                        if (!value || value == ''){
                            continue;
                        }
                        changed = exchangeRate(value, tempFrom, tempTo);

                        applyValue(obj, addSymbol(changed, tempTo), changed);                 
                        
                    }
                }
                if (availableCurr[to]) {
                    currentCurrency = to;
                }
                changeInputs(bke_selected_currency,to);
                changeInputs(bke_selected_currency_sbox,to);
        }

        function cleanup () {
            settings         = {
                defaultClassName : defaultClassName,
                changeCallback   : false,
                replaceWithin    : false,
                ignoreOwnCurr    : false,
                obj              : false,
                noRound          : false,
                objName          : false,
                arr              : false,
                arrName          : false,
                exceptIdLike     : false,
                onRoom           : false
            };
        }

        function addSymbol (value, toSymbol) {
            if ((toSymbol == 0 && settings.onRoom) || !toSymbol) {
                toSymbol = getDefaultCurrency();
            }                 
            if (availableCurr[toSymbol]) {
                    if (availableCurr[toSymbol]['side'] == 'l') {
                        lcurr = availableCurr[toSymbol]['symbol'];
                        rcurr = '';
                    } else {
                        lcurr = '';
                        rcurr = availableCurr[toSymbol]['symbol']
                    }
                    value = rcurr + value + lcurr;
            } 
            return value;
        }

        function applyValue(obj,changed,changedValueOnly) {

            try {
                if (obj.tagName == 'INPUT') {
                    obj.value = changedValueOnly;                    
                } else {
                    obj.innerHTML = changed;                  
                }
            } catch (error) {logErr(error);} 
        }

        function getObjValue(obj,original) {
            value = false;
            if (obj.tagName == 'INPUT') {
                value = obj.value;                    
            } else {
                value = obj.innerHTML;                    
            }
            pureValue = getRate(value);
            return pureValue;
        }

        function changeInputs (name,to) {
            input = document.getElementsByName(name);
            if (input) {
                for (var i=0;i<input.length;i++) {
                    input[i].value = to;
                }
            }
            return this;
        }

        function getAllToChange (classNames, replaceWithin) {
            var all = [];
            try {
                if (replaceWithin) {
                    if (replaceWithin.match(/^[#\.]/)) {
                        found = replaceWithin.match(/^[#|\.](.*)/);
                        if (found && found.length > 0) {
                            all = document.querySelectorAll('.'+found[1]+' .curr_chan');
                            if (all.length < 1) {
                                all = document.querySelectorAll('#'+found[1]+' .curr_chan');
                            }
                        } else {
                            all = document.querySelectorAll(replaceWithin+' .curr_chan');
                        }
                    } else {
                        all = document.querySelectorAll('#'+replaceWithin+' .curr_chan');
                    }
                } else {
                    all = document.querySelectorAll('.'+classNames);
                }
                if (all && all.length && settings.exceptIdLike) {
                    newAll = [];
                    for (var i = all.length - 1; i >= 0; i--) {
                        if (all[i].id) {
                            if (!all[i].id.match(settings.exceptIdLike)) {
                                newAll.push(all[i]);
                            }
                        } else {
                            newAll.push(all[i]);
                        }
                    };
                    all = newAll;
                }
            } catch (error) {logErr(error);}
            return all;
        }

        function getRate(rate) {
            var r = '';
            var l = '';
            
            if (!isNaN(rate)) {
                return rate;
            }
            if ($.parseHTML(rate)){
                var newRate = $.parseHTML(rate);
                rate = newRate[0].textContent;
            }
            var match_curr = rate.match(/(?:<span.*?>)?([^\d]+)?((?:\d+)?\,?(?:\d+)\.?(?:\d+)?)?\s?([^\d]+;?)?([^\d]+)?(?:<\/span.*?>)?/);
            if (match_curr && match_curr[2]) {
                rate = match_curr[2];
                if (match_curr[1]) {
                    l = match_curr[1];
                    lcurr = l;
                    rcurr = '';
                } 
                if (match_curr[3]) {
                    r = match_curr[3];
                    rcurr = r;
                    lcurr = '';
                }
            } else {
                rate = rate.replace(/[^\d\.]/,'');
            }
            return rate;
        }
        
        function exchangeRate(value, from, to , callback) {   
            var c = false;

            if (callback && typeof callback === 'function') {
                c = callback;
            }

            if (availableCurr[from] && availableCurr[to]) {
                var er = /^-?[0-9]+$/;
                var isInt = er.test(value);
                value = value.replace(/,/g,'');
                parsedRate = value;
                if (from != 0 || to != 0) {
                    parsedRate = (((parseFloat(value) / parseFloat(availableCurr[from]['rate'])) * parseFloat(availableCurr[to]['rate'])));
                	if (!settings.noRound) {
                		parsedRate = Math.round(parsedRate);
                	}
                }
                if (!isInt) parsedRate = parsedRate.toFixed(2);
                if (c) c(parsedRate);
                
                return parsedRate;
            } else {
                if (c) c(value);
                return value;
            }
        }

        function changeTripteaseCurrencies(from,to){
            var triptease_div = document.querySelectorAll(".price-fighter-widget");
            if(triptease_div[0]){
                if (availableCurr[to]) {
                    noRound();
                    var price = triptease_div[0].getAttribute("data-pf-direct-price");
                    var newPrice = exchangeRate(price, from, to);
                    triptease_div[0].setAttribute("data-pf-direct-price", newPrice);
                    triptease_div[0].setAttribute("data-pf-currency", availableCurr[to].isocode);
                    cleanup();
                }
                if(typeof Paperboy !== 'undefined' && Paperboy.PriceCheck){
                    Paperboy.PriceCheck.reset();
                }
            }
        }
    })();

docReady(function() {
document.getElementById('curr_selector').value = '4';
document.getElementById('curr_selector').onchange();
    document.getElementById('curr_selector').onchange();
   if (typeof jQuery.ui != 'undefined') {
        set_hover(jQuery);
   }
});
</script>

    </div>
    <!-- END bke_currency_selector -->
    <!-- BEGIN bke_languages_form -->
    <div class="settings-bar__item settings-bar__language">
      <i class="fas fa-globe-americas"></i>
      <form name="bke_search_auto" id="bke_search_auto" method=post action="//secure.rarebits.co.uk/sitemap.xml"><select name="lang" onChange="this.form.submit();"><option value="en" selected="selected">English</option> <option value="de" >Deutsch</option> <option value="it" >Italiano</option> <option value="fr" >Fran&ccedil;ais</option> <option value="es" >Espa&ntilde;ol </option> <option value="sk" >Slovensky</option> <option value="nl" >Dutch</option> <option value="pl" >Polski</option> <option value="cn" >&#x4E2D;&#x56FD;</option> <option value="lt" >Lietuvos</option> <option value="fi" >Suomen</option> <option value="ar" >&#x627;&#x644;&#x639;&#x631;&#x628;&#x64A;&#x629;</option> <option value="ru" >&#x440;&#x443;&#x301;&#x441;&#x441;&#x43A;&#x438;&#x439; &#x44F;&#x437;&#x44B;&#x301;&#x43A;</option> <option value="cs" >&#x10C;e&scaron;tina</option> <option value="sl" >Sloven&scaron;&#x10D;ina</option> <option value="pt" >Portugu&ecirc;s</option> </select></form>
    </div>
    <!-- END bke_languages_form -->
  </div>
</div>

<div class="na-progress-bar__wrapper">
  <div class="na-progress-bar" style="display:none;">
    <div class="na-progress-bar__main">
      <div class="step-1">
        <span>1</span>
        <span><i class="fa fa-check"></i></span>
      </div>
      <div class="step-2">
        <span>2</span>
        <span><i class="fa fa-check"></i></span>
      </div>
      <div class="step-3">
        <span>3</span>
        <span><i class="fa fa-check"></i></span>
      </div>
      <div class="na-progress-bar__bar"></div>
    </div>
    <div class="na-progress-bar__faded">
      <div class="step-1"></div>
      <div class="step-2"></div>
      <div class="step-3"></div>
      <div class="na-progress-bar__bar"></div>
    </div>
  </div>
  <div class="step-4">
    <h2>Thank you!</h2>
    <div class="confetti-wrapper">
      <div class="confetti-50"></div>
      <div class="confetti-49"></div>
      <div class="confetti-48"></div>
      <div class="confetti-47"></div>
      <div class="confetti-46"></div>
      <div class="confetti-45"></div>
      <div class="confetti-44"></div>
      <div class="confetti-43"></div>
      <div class="confetti-42"></div>
      <div class="confetti-41"></div>
      <div class="confetti-40"></div>
      <div class="confetti-39"></div>
      <div class="confetti-38"></div>
      <div class="confetti-37"></div>
      <div class="confetti-36"></div>
      <div class="confetti-35"></div>
      <div class="confetti-34"></div>
      <div class="confetti-33"></div>
      <div class="confetti-32"></div>
      <div class="confetti-31"></div>
      <div class="confetti-30"></div>
      <div class="confetti-29"></div>
      <div class="confetti-28"></div>
      <div class="confetti-27"></div>
      <div class="confetti-26"></div>
      <div class="confetti-25"></div>
      <div class="confetti-24"></div>
      <div class="confetti-23"></div>
      <div class="confetti-22"></div>
      <div class="confetti-21"></div>
      <div class="confetti-20"></div>
      <div class="confetti-19"></div>
      <div class="confetti-18"></div>
      <div class="confetti-17"></div>
      <div class="confetti-16"></div>
      <div class="confetti-15"></div>
      <div class="confetti-14"></div>
      <div class="confetti-13"></div>
      <div class="confetti-12"></div>
      <div class="confetti-11"></div>
      <div class="confetti-10"></div>
      <div class="confetti-9"></div>
      <div class="confetti-8"></div>
      <div class="confetti-7"></div>
      <div class="confetti-6"></div>
      <div class="confetti-5"></div>
      <div class="confetti-4"></div>
      <div class="confetti-3"></div>
      <div class="confetti-2"></div>
      <div class="confetti-1"></div>
      <div class="confetti-0"></div>
    </div>    
  </div>
</div>



  <div id="searchbox" style="display:none;"><script type="text/javascript">
jQuery(document).ready(function($) {
    $("#bke_name").click(function() {
        $("#bke_id").val(''); $("#loc_id").val(''); $("#c_id").val('');$("#landmark_id").val('');
    }); 
});    

function bke_check_search() {	
     var error = "";     
     if (typeof window.check_consolsite == 'function') {
        error = check_consolsite();
        //error = false;
     };

     if (error) {
        document.forms['bke_search'].bke_name.value='';     	
      };
    
     document.forms['bke_search'].submit();
     return false;
};
</script>
<form style="margin: 0px;" name="bke_search" class="bke_searchbox" method="post" action="//secure.rarebits.co.uk/bookings/checkavailability" onSubmit="return bke_check_search();">

	<input type="hidden" name="bke_calendar-jquery-collective_sbid" value=""/>
<input type="hidden" id="grid_view" name="grid_view" value="2"/>
<input type="hidden" id="minstay" value="1"/>
<input type="hidden" id="maxstay" value="31"/>
<input type="hidden" name="bke_selected_currency_sbox" value="4"/>

<!-- IF groupsite -->
<input type="hidden" value="1" name="pager"> 
<!-- ENDIF groupsite -->
<input type="hidden" value="en" name="lang">

<ul id="bke_searchbox_wrapper">
	<li class="title"><h2>Check Availability</h2></li>
	<!-- IF groupsite -->
	<li class="location field-wrapper"><label>Location:</label><div class="field-wrapper ch-holder">
<label for="loc_id">Select Your Location</label>
<script type="text/javascript">
 var hotels_json = {"192F08F3D73E3CEA2F384DECECC458E0":{"image":1,"locationcounty":"Haverfordwest, Pembrokeshire","gps_long":null,"l_name":"Haverfordwest","price_saving":null,"bke_id":"192F08F3D73E3CEA2F384DECECC458E0","name":"Priskilly Forest","country":"wales","location":"haverfordwest","cc_code":"WA","slug":"priskilly-forest","gps_lat":null,"ranking":0,"dummy":1,"idhoteltype":1,"id":4026,"price_from":null,"contactadr":"Castle Morris, Haverfordwest, Pembrokeshire SA62 5EH","cc_name":"Wales","county":"pembrokeshire","contacttel":"","description":"A baronial country house in north Pembrokeshire with a golf course. The house dates back many centuries, though its tasteful, elegant character springs from the Georgian era. Priskilly has 400 acres of land including rolling farmland, ancient forest and an immaculate 9 hole golf course set in mature parkland.","c_name":"Pembrokeshire"},"5985E4958DC5E672BDE820C50A1C5957":{"description":" ","c_name":"Snowdonia","county":"snowdonia","contacttel":"","cc_name":"Wales","contactadr":"Gellilydan, Ffestiniog Near Porthmadog, Snowdonia Gwynedd LL41 4RB","price_from":null,"id":4065,"idhoteltype":1,"dummy":1,"ranking":0,"gps_lat":null,"slug":"tyddyn","cc_code":"WA","location":"porthmadog","country":"wales","name":"Tyddyn Du Suites","bke_id":"5985E4958DC5E672BDE820C50A1C5957","price_saving":null,"l_name":"Porthmadog","gps_long":null,"image":null,"locationcounty":"Porthmadog, Snowdonia"},"EDFAC8C21D5BE3F827CC112CB2536E8B":{"ranking":0,"gps_lat":null,"location":"newport","cc_code":"WA","slug":"newbridge-on-usk","idhoteltype":1,"dummy":1,"contactadr":"Coldra Woods, The Usk Valley, Newport, South Wales, NP18 1HQ","price_from":null,"id":4078,"c_name":"Wye Valley and the Vale of Usk","description":".","county":"wye-valley-and-the-vale-of-usk","contacttel":"","cc_name":"Wales","l_name":"Newport","gps_long":null,"image":null,"locationcounty":"Newport, Wye Valley and the Vale of Usk","bke_id":"EDFAC8C21D5BE3F827CC112CB2536E8B","price_saving":null,"name":"Newbridge on Usk","country":"wales"},"0D4053C61A4242435C323BF87D6629AA":{"name":"Roch Castle","country":"wales","locationcounty":"Haverfordwest, Pembrokeshire","image":1,"l_name":"Haverfordwest","gps_long":"-5.0881391","price_saving":null,"bke_id":"0D4053C61A4242435C323BF87D6629AA","id":4007,"contactadr":"Roch, Haverfordwest, Pembrokeshire SA62 6AQ, United Kingdom","price_from":null,"contacttel":"0800 1615629","county":"pembrokeshire","cc_name":"Wales","description":"A unique heritage experience - Norman Castle with contemporary features. Luxurious accommodation throughout, with fabulous bedrooms. Located close to the coast and ideal for exploring all of Pembrokeshire.","c_name":"Pembrokeshire","gps_lat":"51.8506604","location":"haverfordwest","cc_code":"WA","slug":"roch-castle","ranking":0,"dummy":1,"idhoteltype":1},"139CF09756FE4F589B2D31BC2DE72FD2":{"l_name":"Saundersfoot","gps_long":"-4.698218","image":1,"locationcounty":"Saundersfoot, Pembrokeshire","bke_id":"139CF09756FE4F589B2D31BC2DE72FD2","price_saving":null,"name":"St Brides Spa Hotel","country":"wales","ranking":0,"gps_lat":"51.708919","location":"saundersfoot","cc_code":"WA","slug":"st-brides-spa-hotel","idhoteltype":13,"dummy":1,"contactadr":"Saundersfoot, Pembrokeshire, South West Wales, Wales","price_from":null,"id":3446,"description":"A  seaside hotel for today’s tastes. Modern, sophisticated and unstuffy, designed with flair. Feeds mind and body - superb state-of-the-art spa, great food. A view to die for, from its perch on a headland above the sea.<br />","c_name":"Pembrokeshire","contacttel":"+44 (0)1834 812304","county":"pembrokeshire","cc_name":"Wales"},"2FDAFBC524B83FE2B7DB08083800CEB2":{"name":"The Old Vicarage","country":"wales","locationcounty":"Cardigan Bay, Pembrokeshire","image":null,"gps_long":null,"l_name":"Cardigan Bay","price_saving":null,"bke_id":"2FDAFBC524B83FE2B7DB08083800CEB2","id":4252,"price_from":null,"contactadr":"Moylegrove\r\nCardigan\r\nPembrokeshire\r\nSA43 3BN\r\n","cc_name":"Wales","contacttel":"01239 881711","county":"pembrokeshire","description":"Somewhere to escape to, somewhere to relax and somewhere to explore. Nestled on the North Pembrokeshire coastline in the picturesque village of Moylegrove, we are just a stones throw from the renowned Pembrokeshire Coastal Path. Craggy cliffs and pebbled coves meet rolling sand dunes and miles of sandy beaches.","c_name":"Pembrokeshire","location":"cardigan-bay","cc_code":"WA","slug":"the-old-vicarage","gps_lat":null,"ranking":0,"dummy":1,"idhoteltype":1},"0D1A2E9DC82BF001B7B4D99044EAC4E5":{"cc_name":"Wales","county":"carmarthenshire","contacttel":"0800 014 9847","c_name":"Carmarthenshire","description":"Good food at this Vineyard Restaurant with rooms. Some unusual features - a vineyard, red kites and and excellent central location for Pembrokeshire and Carmarthenshire","id":4906,"price_from":null,"contactadr":"Banc y Llain, Llanboidy Road, Whitland SA34 0ED","dummy":1,"idhoteltype":1,"cc_code":"WA","location":"whitland","slug":"jabajak","gps_lat":null,"ranking":0,"country":"wales","name":"Jabajak","price_saving":null,"bke_id":"0D1A2E9DC82BF001B7B4D99044EAC4E5","locationcounty":"Whitland, Carmarthenshire","image":null,"gps_long":null,"l_name":"Whitland"},"D90DC27DB4515EA7E63C665FA367839D":{"id":4041,"contactadr":"Glynarthen, Llandysul, Ceredigion SA44 6PE","price_from":null,"county":"ceredigion","contacttel":"","cc_name":"Wales","description":"Six fabulous suites, no expense spared - you won't believe that they were once stables and barns. Utterly peaceful rural location close to the spectacular West Wales coastline.","c_name":"Ceredigion","gps_lat":null,"slug":"penbontbren","cc_code":"WA","location":"llandysul","ranking":0,"dummy":1,"idhoteltype":1,"name":"Penbontbren","country":"wales","image":null,"locationcounty":"Llandysul, Ceredigion","l_name":"Llandysul","gps_long":null,"price_saving":null,"bke_id":"D90DC27DB4515EA7E63C665FA367839D"},"D167D22AB00E51474D7239203500366E":{"image":1,"locationcounty":"Tenby, Pembrokeshire","gps_long":null,"l_name":"Tenby","price_saving":null,"bke_id":"D167D22AB00E51474D7239203500366E","name":"Elm Grove","country":"wales","slug":"elm-grove","cc_code":"WA","location":"tenby","gps_lat":null,"ranking":4,"dummy":1,"idhoteltype":2,"id":4013,"price_from":null,"contactadr":"St Florence, Tenby, Pembrokeshire, SA70 8LS","cc_name":"Wales","county":"pembrokeshire","contacttel":"01834 871255","c_name":"Pembrokeshire","description":"Guests can experience a tasteful mix of marble fireplaces, chandeliers, panelled doorways and large picture windows in this beautiful location. The unique character of this country house and its peaceful surroundings become clear immediately. It is just a 250 yard walk down a tree lined drive to the picturesque village of St. Florence and easy access to the amenities it offers including a local shop, park and 2 public houses. Tenby, Saundersfoot and Manorbier are just 3 miles away."},"34A547FC5CF360B291AE5E536313B90A":{"image":null,"locationcounty":"Ruthin, North Wales","gps_long":"-3.309625","l_name":"Ruthin","price_saving":null,"bke_id":"34A547FC5CF360B291AE5E536313B90A","name":"Manorhaus, Ruthin","country":"wales","location":"ruthin","cc_code":"WA","slug":"manorhaus-ruthin","gps_lat":"53.113957","ranking":0,"dummy":1,"idhoteltype":1,"id":4543,"price_from":null,"contactadr":"Ruthin, Denbighshire, North Wales, Wales","cc_name":"Wales","county":"north-wales","contacttel":"+44 (0)1824 704830","description":"Art and architecture come together to create the wow! factor. Contemporary food and accommodation - a boutique Restaurant with Rooms. Great location too, in the centre of historic Ruthin and set in the Vale of Clwyd.","c_name":"North Wales"},"AE4FAC80DAB38ED25A479D075CCB4B87":{"name":"Fron Haul","country":"wales","locationcounty":"Aberdovey, Snowdonia","image":null,"gps_long":null,"l_name":"Aberdovey","price_saving":null,"bke_id":"AE4FAC80DAB38ED25A479D075CCB4B87","id":4061,"price_from":null,"contactadr":"7 Glandovey Terrace, Aberdovey, Gwynedd LL35 0EB","cc_name":"Wales","county":"snowdonia","contacttel":"","description":" ","c_name":"Snowdonia","slug":"fron-haul","cc_code":"WA","location":"aberdovey","gps_lat":null,"ranking":0,"dummy":1,"idhoteltype":1},"16FA978D5EE52725BB16CA71F4519A4F":{"description":"Character with contemporary appeal at this arty, cleverly re-modelled Georgian townhouse. A restaurant with an enviable reputation for its seasonal Pembrokeshire menus. Seaside chic and a location in fashionable Newport, a small resort with a big appeal.","c_name":"Pembrokeshire","cc_name":"Wales","county":"pembrokeshire","contacttel":"+44 (0)1239 820008","price_from":null,"contactadr":"Newport, Pembrokeshire, South West Wales, Wales","id":3646,"idhoteltype":9,"dummy":1,"ranking":0,"location":"newport","cc_code":"WA","slug":"llys-meddyg","gps_lat":"52.01538","country":"wales","name":"Llys Meddyg","bke_id":"16FA978D5EE52725BB16CA71F4519A4F","price_saving":null,"gps_long":"-4.830726","l_name":"Newport","image":1,"locationcounty":"Newport, Pembrokeshire"},"9CAD0BAFC6450AC3D360AFA6F2839928":{"name":"Harbourmaster","country":"wales","image":1,"locationcounty":"Aberaeron, Ceredigion","l_name":"Aberaeron","gps_long":"-4.262552","price_saving":null,"bke_id":"9CAD0BAFC6450AC3D360AFA6F2839928","id":3599,"contactadr":"Aberaeron, Ceredigion, Mid Wales, Wales","price_from":null,"contacttel":"+44 (0)1545 570755","county":"ceredigion","cc_name":"Wales","description":"One of a new breed, a carefully created coastal hotel that's cool, classy and contemporary. Great views and food at a lovely harbourside location. A refreshing mixture of styles - cosmopolitan, modern Welsh, maritime and metropolitan.","c_name":"Ceredigion","gps_lat":"52.243166","slug":"harbourmaster","cc_code":"WA","location":"aberaeron","ranking":0,"dummy":1,"idhoteltype":9},"E21FA2A0C219D379F057494935275EE5":{"l_name":"Dolgellau","gps_long":null,"locationcounty":"Dolgellau, Snowdonia","image":1,"bke_id":"E21FA2A0C219D379F057494935275EE5","price_saving":null,"name":"Afon Rhaiadr","country":"wales","ranking":0,"gps_lat":null,"slug":"afon-rhaiadr","cc_code":"WA","location":"dolgellau","idhoteltype":5,"dummy":1,"contactadr":"Rhaiadr Wnion, Dolgellau, Snowdonia LL40 2AH","price_from":null,"id":4032,"description":"This charming Victorian Country House couldn't be better located for exploring southern Snowdonia. Afon Rhaiadr loosely means the 'house by the river and waterfall'. And, indeed, there is a waterfall (and pool) within the beautiful ground accessible by a woodland walk.","c_name":"Snowdonia","contacttel":"","county":"snowdonia","cc_name":"Wales"},"9D81C6CBEAE708AF645E5EAA5086C8C7":{"name":"Penrhiw Priory","country":"wales","l_name":"St Davids","gps_long":"-5.2716857","image":1,"locationcounty":"St Davids, Pembrokeshire","bke_id":"9D81C6CBEAE708AF645E5EAA5086C8C7","price_saving":null,"contactadr":"St Davids\r\nPembrokeshire\r\nWales","price_from":null,"id":4449,"c_name":"Pembrokeshire","description":"The definition of tranquillity, Penrhiw Priory, nestles in acres of private gardens, enveloped by woodland paths, river and meadow. Restored with the utmost care, the original features subtly contrast the contemporary interiors, creating an atmosphere which welcomes and the suede wallpaper, generous sofas, and art inspired by the beauty of nature, evoke a warmth throughout. Choose a bed and breakfast stay or take exclusive use and enjoy luxury accommodation, fine dining at two Rosette Blas Restaurant at our sister hotel, Twr y Felin, St Davids and the perfect location to explore Pembrokeshire.","contacttel":"0044 1437 725 588","county":"pembrokeshire","cc_name":"Wales","ranking":5,"gps_lat":"51.886855","cc_code":"WA","slug":"penrhiw-priory","location":"st-davids","idhoteltype":5,"dummy":1},"63A149CE25D4D10F3F60663EF14F371E":{"name":"Lake Country House & Spa","country":"wales","image":1,"locationcounty":"Llangammarch Wells, Mid Wales & The Beacons","gps_long":"-3.54251","l_name":"Llangammarch Wells","price_saving":null,"bke_id":"63A149CE25D4D10F3F60663EF14F371E","id":3436,"price_from":null,"contactadr":"Llangammarch Wells, Powys, Mid Wales, Wales","cc_name":"Wales","contacttel":"+44 (0)1591 620202","county":"mid-wales","description":"An elegant country retreat, seamlessly run by exceptional hosts. Welcoming atmosphere with outstanding food and service, and wonderful grounds. The 'Kingfisher' spa brings an additional dimension to the Lake experience.","c_name":"Mid Wales & The Beacons","location":"llangammarch-wells","cc_code":"WA","slug":"lake-country-house--and--spa","gps_lat":"52.115286","ranking":0,"dummy":1,"idhoteltype":2},"0041E9FCF91F07A72BDBC9EF48EB44DE":{"ranking":0,"cc_code":"WA","location":"carmarthen","slug":"pontyclerc-farmhouse","gps_lat":null,"idhoteltype":1,"dummy":1,"price_from":null,"contactadr":"Penybanc Road, Ammanford, Carmarthenshire SA18 3HP","id":4852,"c_name":"Carmarthenshire","description":"Farmhouse B&B and guesthouse in Carmarthenshire","cc_name":"Wales","contacttel":"0800 103 2560","county":"carmarthenshire","gps_long":null,"l_name":"Carmarthen","image":null,"locationcounty":"Carmarthen, Carmarthenshire","bke_id":"0041E9FCF91F07A72BDBC9EF48EB44DE","price_saving":null,"name":"Pontyclerc Farmhouse","country":"wales"},"189F9F089CD82A917F5158DD14781BAC":{"idhoteltype":5,"dummy":1,"ranking":0,"location":"newport","cc_code":"WA","slug":"y-garth","gps_lat":"52.009243","description":"Y Garth is situated very near the coast path near Newport in north Pembrokeshire and is a relaxing oasis where you are assured of 5 star treatment from the moment you arrive.  Three rooms with luxurious furnishings and comfy beds combine to create that special 'wow factor'.  Invigorating power showers and award winning generous locally sourced breakfasts.   Free Wi-Fi.  Private parking.  ","c_name":"Pembrokeshire","cc_name":"Wales","contacttel":"07814917920","county":"pembrokeshire","price_from":null,"contactadr":"Cae Tabor, Dinas Cross, NEWPORT, Pembrokeshire, SA42 0XR","id":4147,"bke_id":"189F9F089CD82A917F5158DD14781BAC","price_saving":null,"gps_long":"-4.906791","l_name":"Newport","locationcounty":"Newport, Pembrokeshire","image":1,"country":"wales","name":"Y Garth"},"A0A6A35D1E7B39D092880A85CCCE179C":{"country":"wales","name":"The Falcondale ","bke_id":"A0A6A35D1E7B39D092880A85CCCE179C","price_saving":null,"l_name":"Lampeter","gps_long":"-4.099074","locationcounty":"Lampeter, Ceredigion","image":1,"description":"Hospitality, hospitality, hospitality - need we say more? A warm-hearted country mansion, comfortable and stylish, historic but not precious. Beautifully located at the head of a secluded valley.","c_name":"Ceredigion","contacttel":"+44 (0)1570 422910","county":"ceredigion","cc_name":"Wales","contactadr":"Falcondale Drive,\r\nLampeter,\r\nCeredigion, \r\nWales,\r\nSA48 7RX","price_from":null,"id":3602,"idhoteltype":2,"dummy":1,"ranking":0,"gps_lat":"52.123233","slug":"the-falcondale-","cc_code":"WA","location":"lampeter"},"51054C07139F6E5728BDF903F9AD98CC":{"dummy":1,"idhoteltype":1,"gps_lat":null,"cc_code":"WA","slug":"mulberry-inn","location":"llangollen","ranking":0,"county":"north-wales","contacttel":"","cc_name":"Wales","c_name":"North Wales","description":" ","id":4056,"contactadr":"Llwynmawr, Glyn Ceiriog, Llangollen, Denbighshire LL20 7BB","price_from":null,"price_saving":null,"bke_id":"51054C07139F6E5728BDF903F9AD98CC","locationcounty":"Llangollen, North Wales","image":null,"l_name":"Llangollen","gps_long":null,"country":"wales","name":"Mulberry Inn"},"4112C193450A96D4DCF649300C894462":{"image":1,"locationcounty":"Crickhowell, Mid Wales & The Beacons","gps_long":"-3.137128","l_name":"Crickhowell","price_saving":null,"bke_id":"4112C193450A96D4DCF649300C894462","name":"Bear Hotel","country":"wales","cc_code":"WA","slug":"bear-hotel","location":"crickhowell","gps_lat":"51.859474","ranking":0,"dummy":1,"idhoteltype":14,"id":3377,"price_from":null,"contactadr":"Crickhowell, Powys, Mid Wales, Wales","cc_name":"Wales","county":"mid-wales","contacttel":"+44 (0)1873 810408","description":"A convivial, characterful old coaching inn, updated and a big hit with today's travellers. Good food in the restaurant and bar, and a great atmosphere - locals mix with visitors in this award-winning inn. Charming setting in an attractive little Brecon Beacons town. ","c_name":"Mid Wales & The Beacons"},"73B0D745029542CFF09AC4D9F8B3F877":{"name":"Trefeddian Hotel","country":"wales","gps_long":null,"l_name":"Aberdovey","image":null,"locationcounty":"Aberdovey, Snowdonia","bke_id":"73B0D745029542CFF09AC4D9F8B3F877","price_saving":null,"price_from":null,"contactadr":"Trefeddian Hotel\r\nAberdyfi\r\nLL35 0SB","id":4843,"description":"59 bedroom family run coastal hotel in Wales","c_name":"Snowdonia","cc_name":"Wales","contacttel":"","county":"snowdonia","ranking":0,"cc_code":"WA","slug":"trefeddian-hotel","location":"aberdovey","gps_lat":null,"idhoteltype":1,"dummy":1},"6100F17846BEF066E5156B7D2E337CBB":{"country":"wales","name":"St George's Hotel","price_saving":null,"bke_id":"6100F17846BEF066E5156B7D2E337CBB","image":1,"locationcounty":"Llandudno, North Wales","l_name":"Llandudno","gps_long":"-3.9780492","county":"north-wales","contacttel":"+44 (0)1492 877544","cc_name":"Wales","description":".","c_name":"North Wales","id":4004,"contactadr":"St George's Pl, The Promenade, Llandudno, Conwy LL30 2LG, United Kingdom","price_from":null,"dummy":1,"idhoteltype":1,"gps_lat":"53.376091","cc_code":"WA","location":"llandudno","slug":"st-georges-hotel","ranking":0},"A8042F3961A3BB2516EE41A3FAB5B64A":{"ranking":0,"gps_lat":"52.867743","slug":"soulton-hall","cc_code":"WA","location":"gb-shrewsbury","idhoteltype":1,"dummy":1,"contactadr":"Soulton Road, Wem, Shrewsbury, Mid Wales & The Beacons SY4 5RS","price_from":null,"id":4148,"description":" ","c_name":"Mid Wales & The Beacons","contacttel":"","county":"mid-wales","cc_name":"Wales","l_name":"Shrewsbury","gps_long":"-2.679183","locationcounty":"Shrewsbury, Mid Wales & The Beacons","image":null,"bke_id":"A8042F3961A3BB2516EE41A3FAB5B64A","price_saving":null,"name":"Soulton Hall","country":"wales"},"3DEC2735DDA24BC87BDDEE0B6EFA7D46":{"name":"Plas Tan yr Allt Country House","country":"wales","l_name":"Porthmadog","gps_long":null,"locationcounty":"Porthmadog, Snowdonia","image":null,"bke_id":"3DEC2735DDA24BC87BDDEE0B6EFA7D46","price_saving":null,"contactadr":"Tremadog, Porthmadog, LL49 9RG","price_from":null,"id":4848,"c_name":"Snowdonia","description":"Country House in Snowdonia National Park","contacttel":"0800 014 9685","county":"snowdonia","cc_name":"Wales","ranking":0,"gps_lat":null,"cc_code":"WA","location":"porthmadog","slug":"plas-tan-yr-allt-country-house","idhoteltype":1,"dummy":1},"A2313F409CE48B322C327A32F1AA40C9":{"price_saving":null,"bke_id":"A2313F409CE48B322C327A32F1AA40C9","image":1,"locationcounty":"Llandudno, North Wales","gps_long":"-3.806594","l_name":"Llandudno","country":"wales","name":"Bodysgallen Hall & Spa","dummy":1,"idhoteltype":2,"cc_code":"WA","location":"llandudno","slug":"bodysgallen-hall--and--spa","gps_lat":"53.298463","ranking":0,"cc_name":"Wales","contacttel":"+44 (0)1492 582519","county":"north-wales","c_name":"North Wales","description":"A true historic house with historic gardens too; owned by the National Trust. Immaculate in all ways- luxurious, stylish and supremely comfortable, with accomplished cuisine. Magnificent health and fitness spa with pool.","id":3698,"price_from":null,"contactadr":"Conwy / Llandudno, North Wales, North Wales, Wales"},"1646F052889AD2F8BC56A75894C59C01":{"dummy":1,"idhoteltype":1,"cc_code":"WA","location":"llandyrnog","slug":"tal-y-bryn","gps_lat":null,"ranking":0,"cc_name":"Wales","county":"north-wales","contacttel":"","c_name":"North Wales","description":".","id":4064,"price_from":null,"contactadr":"Tal y Bryn, Llannefydd, Denbigh, North Wales, LL16 5DR","price_saving":null,"bke_id":"1646F052889AD2F8BC56A75894C59C01","image":null,"locationcounty":"Llandyrnog, North Wales","gps_long":null,"l_name":"Llandyrnog","country":"wales","name":"Tal-y-Bryn"},"8066CBF40D88E1AE089B0DD0E0DCAAAB":{"description":"It's all about the art of creating a very special hotel...stunning, specially commissioned art on the walls, interior design imbued with artistic flair, and artisan workmanship applied to no expense spared rooms. All in arty St Davids.","c_name":"Pembrokeshire","cc_name":"Wales","contacttel":"+44 (0)1437 725555","county":"pembrokeshire","price_from":null,"contactadr":"Ffordd Caerfai, St Davids, Pembrokeshire SA62 6QT, Wales","id":4006,"idhoteltype":1,"dummy":1,"ranking":4,"cc_code":"WA","location":"st-davids","slug":"twr-y-felin","gps_lat":"51.8506604","country":"wales","name":"Twr-y-Felin Hotel","bke_id":"8066CBF40D88E1AE089B0DD0E0DCAAAB","price_saving":null,"gps_long":"-5.0881391","l_name":"St Davids","locationcounty":"St Davids, Pembrokeshire","image":1},"6A217C07A391435485BE2FB9E3CD265E":{"c_name":"North Wales","description":" ","cc_name":"Wales","contacttel":"01492877776","county":"north-wales","price_from":null,"contactadr":"48 Church Walks, Llandudno LL30 2HL","id":4060,"idhoteltype":5,"dummy":1,"ranking":0,"slug":"escape","cc_code":"WA","location":"llandudno","gps_lat":null,"country":"wales","name":"Escape","bke_id":"6A217C07A391435485BE2FB9E3CD265E","price_saving":null,"gps_long":null,"l_name":"Llandudno","locationcounty":"Llandudno, North Wales","image":1},"0C2B156E73B9020FCA9FA0633B8119BB":{"c_name":"Pembrokeshire","description":".","cc_name":"Wales","county":"pembrokeshire","contacttel":"","price_from":null,"contactadr":"Jasons Corner, Stackpole, Dyfed SA71 5DF","id":4042,"idhoteltype":1,"dummy":1,"ranking":0,"cc_code":"WA","slug":"stackpole-inn","location":"pembroke","gps_lat":null,"country":"wales","name":"Stackpole Inn","bke_id":"0C2B156E73B9020FCA9FA0633B8119BB","price_saving":null,"gps_long":null,"l_name":"Pembroke","image":null,"locationcounty":"Pembroke, Pembrokeshire"},"4DF6CB9D41ED69E4F9DC4BA86682CF8F":{"country":"wales","name":"Lake Vyrnwy","bke_id":"4DF6CB9D41ED69E4F9DC4BA86682CF8F","price_saving":null,"l_name":"Lake Vyrnwy","gps_long":"-3.452521","image":1,"locationcounty":"Lake Vyrnwy, North Wales","description":"The ultimate 'Hotel with a View' - breathtaking location overlooking a dramatic mountain lake. A Neo-Baronial presence that's characterful and romantic. Country pursuits (fishing, shooting, walking, birdwatching) - and a superb spa.","c_name":"North Wales","contacttel":"+44 (0)1691 870692","county":"north-wales","cc_name":"Wales","contactadr":"Lake Vyrnwy, Powys, Mid Wales, Wales","price_from":null,"id":3425,"idhoteltype":2,"dummy":1,"ranking":0,"gps_lat":"52.766164","slug":"lake-vyrnwy","cc_code":"WA","location":"lake-vyrnwy"}};
 var counties_json = {"snowdonia":{"code":"wales-snowdonia","name":"Snowdonia"},"ceredigion":{"name":"Ceredigion","code":"wales-ceredigion"},"wye-valley-and-the-vale-of-usk":{"code":"wales-wye-valley-and-the-vale-of-usk","name":"Wye Valley and the Vale of Usk"},"carmarthenshire":{"code":"wales-carmarthenshire","name":"Carmarthenshire"},"north-wales":{"code":"wales-north-wales","name":"North Wales"},"pembrokeshire":{"name":"Pembrokeshire","code":"wales-pembrokeshire"},"mid-wales":{"code":"wales-mid-wales","name":"Mid Wales & The Beacons"}};
</script>
<select name="loc_id" id="loc_id">
<option value="" class="searchbox-ch-none">All properties</option>
<option class="searchbox-ch-county" value="cc_wales-carmarthenshire" >Carmarthenshire</option><option class="searchbox-ch-hotel" value="h_0D1A2E9DC82BF001B7B4D99044EAC4E5" >&nbsp;&nbsp;&nbsp;Jabajak - Whitland</option><option class="searchbox-ch-hotel" value="h_0041E9FCF91F07A72BDBC9EF48EB44DE" >&nbsp;&nbsp;&nbsp;Pontyclerc Farmhouse - Carmarthen</option><option class="searchbox-ch-county" value="cc_wales-ceredigion" >Ceredigion</option><option class="searchbox-ch-hotel" value="h_9CAD0BAFC6450AC3D360AFA6F2839928" >&nbsp;&nbsp;&nbsp;Harbourmaster - Aberaeron</option><option class="searchbox-ch-hotel" value="h_D90DC27DB4515EA7E63C665FA367839D" >&nbsp;&nbsp;&nbsp;Penbontbren - Llandysul</option><option class="searchbox-ch-hotel" value="h_A0A6A35D1E7B39D092880A85CCCE179C" >&nbsp;&nbsp;&nbsp;The Falcondale  - Lampeter</option><option class="searchbox-ch-county" value="cc_wales-mid-wales" >Mid Wales & The Beacons</option><option class="searchbox-ch-hotel" value="h_4112C193450A96D4DCF649300C894462" >&nbsp;&nbsp;&nbsp;Bear Hotel - Crickhowell</option><option class="searchbox-ch-hotel" value="h_63A149CE25D4D10F3F60663EF14F371E" >&nbsp;&nbsp;&nbsp;Lake Country House & Spa - Llangammarch Wells</option><option class="searchbox-ch-hotel" value="h_A8042F3961A3BB2516EE41A3FAB5B64A" >&nbsp;&nbsp;&nbsp;Soulton Hall - Shrewsbury</option><option class="searchbox-ch-county" value="cc_wales-north-wales" >North Wales</option><option class="searchbox-ch-hotel" value="h_A2313F409CE48B322C327A32F1AA40C9" >&nbsp;&nbsp;&nbsp;Bodysgallen Hall & Spa - Llandudno</option><option class="searchbox-ch-hotel" value="h_6A217C07A391435485BE2FB9E3CD265E" >&nbsp;&nbsp;&nbsp;Escape - Llandudno</option><option class="searchbox-ch-hotel" value="h_4DF6CB9D41ED69E4F9DC4BA86682CF8F" >&nbsp;&nbsp;&nbsp;Lake Vyrnwy - Lake Vyrnwy</option><option class="searchbox-ch-hotel" value="h_34A547FC5CF360B291AE5E536313B90A" >&nbsp;&nbsp;&nbsp;Manorhaus, Ruthin - Ruthin</option><option class="searchbox-ch-hotel" value="h_51054C07139F6E5728BDF903F9AD98CC" >&nbsp;&nbsp;&nbsp;Mulberry Inn - Llangollen</option><option class="searchbox-ch-hotel" value="h_6100F17846BEF066E5156B7D2E337CBB" >&nbsp;&nbsp;&nbsp;St George's Hotel - Llandudno</option><option class="searchbox-ch-hotel" value="h_1646F052889AD2F8BC56A75894C59C01" >&nbsp;&nbsp;&nbsp;Tal-y-Bryn - Llandyrnog</option><option class="searchbox-ch-county" value="cc_wales-pembrokeshire" >Pembrokeshire</option><option class="searchbox-ch-hotel" value="h_D167D22AB00E51474D7239203500366E" >&nbsp;&nbsp;&nbsp;Elm Grove - Tenby</option><option class="searchbox-ch-hotel" value="h_16FA978D5EE52725BB16CA71F4519A4F" >&nbsp;&nbsp;&nbsp;Llys Meddyg - Newport</option><option class="searchbox-ch-hotel" value="h_9D81C6CBEAE708AF645E5EAA5086C8C7" >&nbsp;&nbsp;&nbsp;Penrhiw Priory - St Davids</option><option class="searchbox-ch-hotel" value="h_192F08F3D73E3CEA2F384DECECC458E0" >&nbsp;&nbsp;&nbsp;Priskilly Forest - Haverfordwest</option><option class="searchbox-ch-hotel" value="h_0D4053C61A4242435C323BF87D6629AA" >&nbsp;&nbsp;&nbsp;Roch Castle - Haverfordwest</option><option class="searchbox-ch-hotel" value="h_139CF09756FE4F589B2D31BC2DE72FD2" >&nbsp;&nbsp;&nbsp;St Brides Spa Hotel - Saundersfoot</option><option class="searchbox-ch-hotel" value="h_0C2B156E73B9020FCA9FA0633B8119BB" >&nbsp;&nbsp;&nbsp;Stackpole Inn - Pembroke</option><option class="searchbox-ch-hotel" value="h_2FDAFBC524B83FE2B7DB08083800CEB2" >&nbsp;&nbsp;&nbsp;The Old Vicarage - Cardigan Bay</option><option class="searchbox-ch-hotel" value="h_8066CBF40D88E1AE089B0DD0E0DCAAAB" >&nbsp;&nbsp;&nbsp;Twr-y-Felin Hotel - St Davids</option><option class="searchbox-ch-hotel" value="h_189F9F089CD82A917F5158DD14781BAC" >&nbsp;&nbsp;&nbsp;Y Garth - Newport</option><option class="searchbox-ch-county" value="cc_wales-snowdonia" >Snowdonia</option><option class="searchbox-ch-hotel" value="h_E21FA2A0C219D379F057494935275EE5" >&nbsp;&nbsp;&nbsp;Afon Rhaiadr - Dolgellau</option><option class="searchbox-ch-hotel" value="h_AE4FAC80DAB38ED25A479D075CCB4B87" >&nbsp;&nbsp;&nbsp;Fron Haul - Aberdovey</option><option class="searchbox-ch-hotel" value="h_3DEC2735DDA24BC87BDDEE0B6EFA7D46" >&nbsp;&nbsp;&nbsp;Plas Tan yr Allt Country House - Porthmadog</option><option class="searchbox-ch-hotel" value="h_73B0D745029542CFF09AC4D9F8B3F877" >&nbsp;&nbsp;&nbsp;Trefeddian Hotel - Aberdovey</option><option class="searchbox-ch-hotel" value="h_5985E4958DC5E672BDE820C50A1C5957" >&nbsp;&nbsp;&nbsp;Tyddyn Du Suites - Porthmadog</option><option class="searchbox-ch-county" value="cc_wales-wye-valley-and-the-vale-of-usk" >Wye Valley and the Vale of Usk</option><option class="searchbox-ch-hotel" value="h_EDFAC8C21D5BE3F827CC112CB2536E8B" >&nbsp;&nbsp;&nbsp;Newbridge on Usk - Newport</option></select>

</div>
<div class="field-wrapper packages-holder">
<label for="hotelgrouppackages">Select Your Offer</label>
<select name="hotelgrouppackages[]" id="hotelgrouppackages"><option  class="searchbox-ch-none" value="">All packages</option></select>


</div>
<script type="text/javascript">
  var packagelocations_json={}
  var initiator;

  jQuery(document).ready(function($){
    $('#hotelgrouppackages').on('change',function(){
      if (typeof initiator =='object' && initiator!=this){
        return;
      } else {
        initiator=this;
      };
      var val=this.value;
      var loc=$('#loc_id');
      var locval=loc.val()
      loc.empty();
      loc.append('<option value="" class="searchbox-cl-none">All properties</option>');
      if (val != ''){
        for (var a in counties_json){
          var oa=counties_json[a];
          if (packagelocations_json[val].countyscodes.indexOf(oa.code)>-1){
            loc.append('<option value="cc_'+oa.code+'" class="searchbox-ch-county">'+oa.name+'</option>');
            for (var b in hotels_json){
              var ob=hotels_json[b];
              if (ob.county==a&&packagelocations_json[val].hotelids.indexOf(ob.bke_id)>-1){
                var city='';
                if (ob.l_name==ob.c_name) {
                  city=" City";
                };
                loc.append('<option value="h_'+ob.bke_id+'"  class="searchbox-ch-hotel" $sel>&nbsp;&nbsp;&nbsp;'+ob.name+' - '+ob.l_name+city+'</option>');
              }
            }
          }
        }
      } else {
        initiator=false;
        for (var a in counties_json){
          var oa=counties_json[a];
          if (locval=='cc_'+a){
            selected = 'selected'
          } else {
            selected = '';
          };
          loc.append('<option value="cc_'+oa.code+'" class="searchbox-ch-county" '+selected+'>'+oa.name+'</option>');
          for (var b in hotels_json){
            var ob=hotels_json[b];
            if (locval=='h_'+ob.bke_id){
              selected = 'selected'
            } else {
              selected = '';
            };
            if (ob.county==a){
              loc.append('<option value="h_'+ob.bke_id+'"  class="searchbox-ch-hotel" '+selected+'>&nbsp;&nbsp;'+ob.name+' - ' +ob.l_name+'</option>');
            }
          }
        };
        loc.trigger('change');
      }
    });
    $('#loc_id').on('change',function(){
      if (typeof initiator == 'object' && initiator!=this){
        return;
      } else {
        initiator=this;
      };
      var val=this.value;
      var pac=$('#hotelgrouppackages');
      var pacval=pac.val()
      pac.empty();
      pac.append('<option value="" class="searchbox-ch-none">All packages</option>');
      if (val != ''){
        if (val.match(/^h_/)){
          val=val.substr(2);
          for (var a in packagelocations_json){
            var oa=packagelocations_json[a];
            if (oa.hotelids.indexOf(val)>-1){
              pac.append('<option class="searchbox-ch-package" value="'+oa.id+'">'+oa.name+'</option>');
            }
          }
        } else {
          val=counties_json[val.substr(3)].code;
          for (var a in packagelocations_json){
            var oa=packagelocations_json[a];
            if (oa.countyscodes.indexOf(val)>-1){
              pac.append('<option class="searchbox-ch-package" value="'+oa.id+'">'+oa.name+'</option>');
            }
          }
        }
      } else {
        initiator=false;
        for (var a in packagelocations_json){
          var oa=packagelocations_json[a];
          if (pacval==oa.id){
            selected='selected';
          } else {
            selected='';
          };
          pac.append('<option value="'+oa.id+'" '+selected+'>'+oa.name+'</option>');
        }
        
      }
    });
  });


</script>
</li>
	<!-- ENDIF groupsite -->
	<!-- <li class="occupants field-wrapper"><SELECT class="input occupancy" name="occupancy[]" multiple style=""><OPTION value='3'  >Double</OPTION><OPTION value='4'  >Single/Double</OPTION><OPTION value='5'  >Triple</OPTION><OPTION value='8'  >Family 3</OPTION><OPTION value='6'  >Family 4</OPTION><OPTION value='7'  >Family 5</OPTION><OPTION value='9'  >Quadruple</OPTION><OPTION value='10'  >5 Adults</OPTION><OPTION value='11'  >6 Adults</OPTION><OPTION value='43'  >Family 6</OPTION><OPTION value='45'  >8 Adults</OPTION><OPTION value='44'  >7 Adults</OPTION><OPTION value='46'  >Family 7</OPTION><OPTION value='47'  >Family 8</OPTION><OPTION value='48'  >10 Adults</OPTION><OPTION value='2'  >Single</OPTION></SELECT><script type="text/javascript" src="/admin/js/jquery/jquery-ui.min.js"></script><script type="text/javascript" src="/admin/js/jquery/jquery.multiselect.min.js"></script><script>$(document).ready(function(){
        $(".occupancy").multiselect({
        selectedText : "# Room selected",
        noneSelectedText : "Select a Room",
        checkAllText: "Check all",
        uncheckAllText: "Uncheck all",
        checkAll: function(){
            checkPlu_occupancy();
        },
        classes : "multi_width",click : function(event, ui){
	        checkPlu_occupancy();
	    }
	    });function checkPlu_occupancy (){
	    var uiwidget = $(".occupancy");
	    var selectedWidget = uiwidget.multiselect("widget").find("input:checked");
	            if ((selectedWidget.length)>1) {
	            uiwidget.multiselect({selectedText : "# Rooms selected"});
	            } else { uiwidget.multiselect({selectedText : "# Room selected"}); };
	    if ((selectedWidget.length)==16) {
	        uiwidget.multiselect({selectedText : "All Rooms selected"});
	    }
	        };
	    checkPlu_occupancy();
	    ;});</script></li> -->
	<li class="arrival field-wrapper"><label>Arrive:</label> <input type="text" id="arrival-date">
<input type="hidden" name="bke_arrival_day" value="05" id="bke_arrival_day"><input type="hidden" name="bke_arrival_month" value="04" id="bke_arrival_month"><input type="hidden" name="bke_arrival_year" value="2026" id="bke_arrival_year"></li>
	<li class="departure field-wrapper"><label>Depart:</label> <input type="text" id="departure-date">
<input type="hidden" name="bke_departure_day" value="06" id="bke_departure_day"><input type="hidden" name="bke_departure_month" value="04" id="bke_departure_month"><input type="hidden" name="bke_departure_year" value="2026" id="bke_departure_year"></li>
	<!-- <li class="nights field-wrapper"><label>Nights:</label> <select name='bke_nights' class='bke_dropdown' onchange="bke_update_dropdown(form, form.bke_arrival_day.value, form.bke_arrival_month.value, form.bke_arrival_year.value, form.bke_nights.value, 1)">
<option value="1" >1</option>
<option value="2" >2</option>
<option value="3" >3</option>
<option value="4" >4</option>
<option value="5" >5</option>
<option value="6" >6</option>
<option value="7" >7</option>
<option value="8" >8</option>
<option value="9" >9</option>
<option value="10" >10</option>
<option value="11" >11</option>
<option value="12" >12</option>
<option value="13" >13</option>
<option value="14" >14</option>
<option value="15" >15</option>
<option value="16" >16</option>
<option value="17" >17</option>
<option value="18" >18</option>
<option value="19" >19</option>
<option value="20" >20</option>
<option value="21" >21</option>
<option value="22" >22</option>
<option value="23" >23</option>
<option value="24" >24</option>
<option value="25" >25</option>
<option value="26" >26</option>
<option value="27" >27</option>
<option value="28" >28</option>
<option value="29" >29</option>
<option value="30" >30</option>
<option value="31" >31</option>
</select>
</li> -->
	<li class="ratecode"><input type="text" name="bke_ratecode" size="8" class="bke_drop"
  style="text-align: center;" onclick="if (this.value == '') this.value = '';" 
  placeholder="(optional)"
  value='' />
</li>
	<!--<li class="language"><select name="lang" ><option value="en" selected="selected">English</option> <option value="de" >Deutsch</option> <option value="it" >Italiano</option> <option value="fr" >Français</option> <option value="es" >Español </option> <option value="sk" >Slovensky</option> <option value="nl" >Dutch</option> <option value="pl" >Polski</option> <option value="cn" >中国</option> <option value="lt" >Lietuvos</option> <option value="fi" >Suomen</option> <option value="ar" >العربية</option> <option value="ru" >ру́сский язы́к</option> <option value="cs" >Čeština</option> <option value="sl" >Slovenščina</option> <option value="pt" >Português</option> </select></li>-->
    <li class="submit"><input type="submit" name="bke_submit" class="btn" value="Book Now"></li>
</ul>
</form>





</div>

	<div class="row" id="na-bke">
		<div class="container no-padding" id="">
			<h3 class="page-title" style="display:none;">Reservation System</h3>
			<p class="bke_error">The file you have just requested is not available on server.</p>
		</div>
	</div> <!-- End - #na-bke -->

	<div class="clearfix"></div>
<footer class="row no-padding" id="na-footer">
    <div class="container">
        <div class="col-xs-12 col-sm-8 no-padding">
            <nav>
                <ul>
                  

                    <!-- IF bke_privacy_policy_section -->

                    <li><a data-fancybox-href="#privacy-policy-en" data-fancybox-title="Privacy Policy" class="modal-fancy fancybox.inline" id="privacy-policy-link">Privacy Policy</a>
                        <div style="display:none;">
                            <div id="privacy-policy-en" class="modal-info">
                                Placeholder P
                            </div>
                        </div>
                    </li>

                    <!-- ENDIF bke_privacy_policy_section -->

                    <!-- IF bke_cookies_policy_section -->

                    <li><a data-fancybox-href="#cookie-policy" data-fancybox-title="Cookie Policy" class="modal-fancy fancybox.inline" id="cookie-policy-link">Cookie Policy</a>
                        <div style="display:none;">
                            <div id="cookie-policy" class="modal-info">
                                Placeholder C
                            </div>
                        </div>
                    </li>

                    <!-- ENDIF bke_cookies_policy_section -->

                    

                    <!-- IF groupsite -->
                    
                    <!-- ENDIF groupsite -->

                    

                </ul>
            </nav>
        </div>
        <div class="col-xs-12 col-sm-4 text-right no-padding">
          <!-- <a href="" class="na-logo">
            <img src="//www.netaffinity.com/files/images/netaffinity-logo-black.svg" alt="">
          </a> -->
          <div class="made-by-na">
  <span>
  Made with <i class="fas fa-heart"></i> by</span> <a class="na-logo" href="http://www.netaffinity.com" alt="Net Affinity" target="_blank">
        <img alt="Net Affinity" src="https://www.netaffinity.com/files/images/netaffinity-logo-black.svg" style="width: 115px; height: 45px;">
    </a>
</div>
        </div>

    </div>
</footer>
<div class="slide-panel">
  <div class="slide-panel__title">
  </div>
  <div class="slide-panel__close" onClick="slidePanel()"><i class="fas fa-times"></i></div>
  <div class="slide-panel__content">
  </div>
</div>

<div class="slide-panel__overlay">
</div>


	<script type="text/javascript">
	jQuery('input.star').rating();

	</script>
	<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-MSD9LW"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-MSD9LW');</script>
<!-- End Google Tag Manager -->

	<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
	<script src="//secure.rarebits.co.uk/files/js/jquery.settings.js" type="text/javascript"></script>
	<script src="//secure.rarebits.co.uk/files/js/bke-searchbox.js"></script>
	
		<form method="post" action="https://secure.rarebits.co.uk/bookings/checkavailability" id="bke_searchbox_data" class="bke_searchbox" style="display:none;" >
	<input type="hidden" autocomplete="false">
	<input type="hidden" value="1" id="bke_minstay">
	<input type="hidden" value="364" id="bke_maxstay">
	<input type="hidden" name="bke_form_token" value="" id="bke_form_token">
	<input type="hidden" name="grid_view" value="2" id="bke_grid_view">
	<input type="hidden" name="lang" value="en" id="bke_lang">
	<input type="hidden" name="bke_ratecode" value="" id="bke_ratecode">
	<input type="hidden" name="bke_arrival_day" value="05" id="bke_arrival_day">
	<input type="hidden" name="bke_arrival_month" value="04" id="bke_arrival_month">
	<input type="hidden" name="bke_arrival_year" value="2026" id="bke_arrival_year">
	<input type="hidden" name="bke_departure_day" value="" id="bke_departure_day">
	<input type="hidden" name="bke_departure_month" value="" id="bke_departure_month">
	<input type="hidden" name="bke_departure_year" value="" id="bke_departure_year">
	<input type="hidden" name="bke_nights" value="1" id="bke_nights">
	<input type="hidden" name="bke_avail_order" value="" id="bke_avail_order">
	<!-- IF groupsite -->
	<input type="hidden" id="idhotel" name="idhotel" value="">
	<input type="hidden" id="bke_id" name="bke_id" value="">
	<input type="hidden" id="loc_id" name="loc_id" value="">
	<input type="hidden" id="c_id" name="c_id" value="">
	<input type="hidden" id="cc_id" name="cc_id" value="">
	<input type="hidden" id="landmark_id" name="landmark_id" value="">
	<input type="hidden" id="pager" name="pager" value="1">
	<input type="hidden" id="bke_name" name="bke_name" value="Welsh Rarebits">
	<input type="hidden" id="hotel_package_code" name="hotel_package_code" value="">
	<input type="hidden" id="hotelgrouppackages" name="hotelgrouppackages[]" value="">
	<!-- ENDIF groupsite -->
</form>
<div class="na-searchbox undone">
	<div class="na-searchbox__parameters">
		<input type="hidden" name="searchbox_type" value="">
		<input type="hidden" name="searchbox_display" value="overlay">
		<input type="hidden" name="searchbox_size" value="">
		<input type="hidden" name="searchbox_flexdate" value="">
		<input type="hidden" name="searchbox_usp" value="">
		<input type="hidden" name="searchbox_collapse" value="">
		<input type="hidden" name="searchbox_ratecode" value="">
		<input type="hidden" name="searchbox_hidden" value="yes">
		<input type="hidden" name="searchbox_debug" value="">
		<input type="hidden" name="searchbox_location" value="">
	</div>
	<div class="na-searchbox__header" style="display:none;">
		Book Your Stay
	</div>
	<div class="na-searchbox__main">

		
<!-- IF groupsite -->
<div class="na-searchbox__location">
  <select name="loc_id" id="loc_id">
<option value="" class="searchbox-ch-none">All Properties</option>
<option class="searchbox-ch-county" value="cc_wales-carmarthenshire" >Carmarthenshire</option><option class="searchbox-ch-hotel" value="h_0D1A2E9DC82BF001B7B4D99044EAC4E5" >&nbsp;&nbsp;&nbsp;Jabajak - Whitland</option><option class="searchbox-ch-hotel" value="h_0041E9FCF91F07A72BDBC9EF48EB44DE" >&nbsp;&nbsp;&nbsp;Pontyclerc Farmhouse - Carmarthen</option><option class="searchbox-ch-county" value="cc_wales-ceredigion" >Ceredigion</option><option class="searchbox-ch-hotel" value="h_9CAD0BAFC6450AC3D360AFA6F2839928" >&nbsp;&nbsp;&nbsp;Harbourmaster - Aberaeron</option><option class="searchbox-ch-hotel" value="h_D90DC27DB4515EA7E63C665FA367839D" >&nbsp;&nbsp;&nbsp;Penbontbren - Llandysul</option><option class="searchbox-ch-hotel" value="h_A0A6A35D1E7B39D092880A85CCCE179C" >&nbsp;&nbsp;&nbsp;The Falcondale  - Lampeter</option><option class="searchbox-ch-county" value="cc_wales-mid-wales" >Mid Wales & The Beacons</option><option class="searchbox-ch-hotel" value="h_4112C193450A96D4DCF649300C894462" >&nbsp;&nbsp;&nbsp;Bear Hotel - Crickhowell</option><option class="searchbox-ch-hotel" value="h_63A149CE25D4D10F3F60663EF14F371E" >&nbsp;&nbsp;&nbsp;Lake Country House & Spa - Llangammarch Wells</option><option class="searchbox-ch-hotel" value="h_A8042F3961A3BB2516EE41A3FAB5B64A" >&nbsp;&nbsp;&nbsp;Soulton Hall - Shrewsbury</option><option class="searchbox-ch-county" value="cc_wales-north-wales" >North Wales</option><option class="searchbox-ch-hotel" value="h_A2313F409CE48B322C327A32F1AA40C9" >&nbsp;&nbsp;&nbsp;Bodysgallen Hall & Spa - Llandudno</option><option class="searchbox-ch-hotel" value="h_6A217C07A391435485BE2FB9E3CD265E" >&nbsp;&nbsp;&nbsp;Escape - Llandudno</option><option class="searchbox-ch-hotel" value="h_4DF6CB9D41ED69E4F9DC4BA86682CF8F" >&nbsp;&nbsp;&nbsp;Lake Vyrnwy - Lake Vyrnwy</option><option class="searchbox-ch-hotel" value="h_34A547FC5CF360B291AE5E536313B90A" >&nbsp;&nbsp;&nbsp;Manorhaus, Ruthin - Ruthin</option><option class="searchbox-ch-hotel" value="h_51054C07139F6E5728BDF903F9AD98CC" >&nbsp;&nbsp;&nbsp;Mulberry Inn - Llangollen</option><option class="searchbox-ch-hotel" value="h_6100F17846BEF066E5156B7D2E337CBB" >&nbsp;&nbsp;&nbsp;St George's Hotel - Llandudno</option><option class="searchbox-ch-hotel" value="h_1646F052889AD2F8BC56A75894C59C01" >&nbsp;&nbsp;&nbsp;Tal-y-Bryn - Llandyrnog</option><option class="searchbox-ch-county" value="cc_wales-pembrokeshire" >Pembrokeshire</option><option class="searchbox-ch-hotel" value="h_D167D22AB00E51474D7239203500366E" >&nbsp;&nbsp;&nbsp;Elm Grove - Tenby</option><option class="searchbox-ch-hotel" value="h_16FA978D5EE52725BB16CA71F4519A4F" >&nbsp;&nbsp;&nbsp;Llys Meddyg - Newport</option><option class="searchbox-ch-hotel" value="h_9D81C6CBEAE708AF645E5EAA5086C8C7" >&nbsp;&nbsp;&nbsp;Penrhiw Priory - St Davids</option><option class="searchbox-ch-hotel" value="h_192F08F3D73E3CEA2F384DECECC458E0" >&nbsp;&nbsp;&nbsp;Priskilly Forest - Haverfordwest</option><option class="searchbox-ch-hotel" value="h_0D4053C61A4242435C323BF87D6629AA" >&nbsp;&nbsp;&nbsp;Roch Castle - Haverfordwest</option><option class="searchbox-ch-hotel" value="h_139CF09756FE4F589B2D31BC2DE72FD2" >&nbsp;&nbsp;&nbsp;St Brides Spa Hotel - Saundersfoot</option><option class="searchbox-ch-hotel" value="h_0C2B156E73B9020FCA9FA0633B8119BB" >&nbsp;&nbsp;&nbsp;Stackpole Inn - Pembroke</option><option class="searchbox-ch-hotel" value="h_2FDAFBC524B83FE2B7DB08083800CEB2" >&nbsp;&nbsp;&nbsp;The Old Vicarage - Cardigan Bay</option><option class="searchbox-ch-hotel" value="h_8066CBF40D88E1AE089B0DD0E0DCAAAB" >&nbsp;&nbsp;&nbsp;Twr-y-Felin Hotel - St Davids</option><option class="searchbox-ch-hotel" value="h_189F9F089CD82A917F5158DD14781BAC" >&nbsp;&nbsp;&nbsp;Y Garth - Newport</option><option class="searchbox-ch-county" value="cc_wales-snowdonia" >Snowdonia</option><option class="searchbox-ch-hotel" value="h_E21FA2A0C219D379F057494935275EE5" >&nbsp;&nbsp;&nbsp;Afon Rhaiadr - Dolgellau</option><option class="searchbox-ch-hotel" value="h_AE4FAC80DAB38ED25A479D075CCB4B87" >&nbsp;&nbsp;&nbsp;Fron Haul - Aberdovey</option><option class="searchbox-ch-hotel" value="h_3DEC2735DDA24BC87BDDEE0B6EFA7D46" >&nbsp;&nbsp;&nbsp;Plas Tan yr Allt Country House - Porthmadog</option><option class="searchbox-ch-hotel" value="h_73B0D745029542CFF09AC4D9F8B3F877" >&nbsp;&nbsp;&nbsp;Trefeddian Hotel - Aberdovey</option><option class="searchbox-ch-hotel" value="h_5985E4958DC5E672BDE820C50A1C5957" >&nbsp;&nbsp;&nbsp;Tyddyn Du Suites - Porthmadog</option><option class="searchbox-ch-county" value="cc_wales-wye-valley-and-the-vale-of-usk" >Wye Valley and the Vale of Usk</option><option class="searchbox-ch-hotel" value="h_EDFAC8C21D5BE3F827CC112CB2536E8B" >&nbsp;&nbsp;&nbsp;Newbridge on Usk - Newport</option></select>

</div>
<script>
$(document).ready(function(){
   // Adds location name to searchbox form
   $("select#loc_id").change(function() { // when the select option is changed
     $("form#bke_searchbox_data input#loc_id").val($(this).val()); // copy the value to the hidden form input
   });
   // Adds package id to searchbox form
  $(".packages-holder #hotelgrouppackages").on('change', function() {
    var packageId = $(this).val();
    $('#bke_searchbox_data input#hotelgrouppackages').val(packageId);
 });
})
</script>
<!-- ENDIF groupsite -->

		<div class="na-searchbox__dates">
			<div class="na-searchbox__checkin">
				<span class="na-searchbox__label">Check In</span>
				<div class="na-searchbox__day-week"></div>
				<div class="na-searchbox__day-number">05</div>
				<div class="na-searchbox__month">04</div>
				<div class="na-searchbox__year">2026</div>
			</div>
		</div>

		<!--if bke_ratecode_section-->
		<div class="na-searchbox__ratecode">
			<div class="na-searchbox__col-70 left">Do you have a promo code?</div>
			<div class="na-searchbox__col-30 right">
				<div class="na-searchbox__switch na-searchbox__switch-ratecode off">
					<div class="na-searchbox__slide">
						<div class="na-searchbox__on">Yes</div>
						<div class="na-searchbox__button"></div>
						<div class="na-searchbox__off">No</div>
					</div>
				</div>
			</div>
		</div>
		<input type="text" class="na-searchbox__ratecode-input" name="ratecode" placeholder="Have a promo code?">
		<!--endif bke_ratecode_section-->

		<button class="na-searchbox__submit">Search</button>

	</div>
	
	
<div class="na-searchbox__overlay">
	<div class="na-searchbox__overlay-container">
		<div class="na-searchbox__overlaylogo">
			<div class="na-searchbox__overlaylogowrapper">
				<img src="//secure.rarebits.co.uk/bookings/showimage?type=18&id=08A5385AFFE5CE1C317E265033E3188D" alt="Welsh Rarebits"/>
			</div>
			<div class="na-searchbox__overlayclose"><svg xmlns="http://www.w3.org/2000/svg" width="16.971" height="16.972" viewBox="0 0 16.971 16.972">
				<path id="icon-close" data-name="Union 9" d="M0,15.557,7.071,8.485,0,1.414,1.414,0,8.485,7.071,15.557,0,16.97,1.415,9.9,8.486l7.071,7.071L15.557,16.97,8.486,9.9,1.414,16.971Z" fill="#666"/>
			</svg></div>
		</div>
		<div class="na-searchbox__overlaywrapper">
			<div class="na-searchbox__overlayscroll">
				<div class="na-searchbox__header" style="display:none;">
					Book Your Stay
				</div>
			</div>
		</div>
		
	</div>
</div>
</div>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@4.5.95/css/materialdesignicons.min.css">



<!-- searchbox rollout test -->
	
<script type="text/javascript" language="javascript">
    TAPixel.impressionWithReferer("001F000000v8WJk");
</script>
<script type="text/javascript" src="//secure.rarebits.co.uk/bookings/calendar-jquery-collective"></script>
</body>
</html>