CINXE.COM

Homes

<!DOCTYPE html> <html lang="en" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#"> <head> <title>Homes</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="OMG-Verify-V1" content="4389-366acdfc-5224-4c07-bb70-f74d8fbfc2db" /> <meta name="robots" content="max-image-preview:large"> <meta name="format-detection" content="telephone=no"> <!-- standard - Fonts.html --> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Libre+Franklin:300,400,500,600,700"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;600;700&family=Source+Serif+Pro:wght@400;600;700&display=swap"> <style> .dfp-top-ad-container { display: none; } </style> <script> window.doNotAdvertise = true; </script> <meta name="keywords" content="" /> <meta name="description" content="Homes news from the The Herald" /> <meta name="title" content="Homes news from the The Herald" /> <meta property="fb:pages" content="271154343382" /> <meta property="fb:pages" content="285985008233564" /> <link rel="canonical" href="https://www.heraldscotland.com/homes/" /> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "headline": "Homes Index", "url": "http://www.heraldscotland.com/homes/" } </script> <link id="page_stylesheet_vars" href="/resources/responsive-static/build/mds/css/palette-1-serif-vars.css?r=uUAjmAdC" rel="stylesheet" type="text/css"> <link href="/resources/responsive-static/build/mds/css/header-footer.css?r=uUAjmAdC" rel="stylesheet" type="text/css"> <link id="page_stylesheet" href="/resources/responsive-static/build/mds/css/statichtml.css?r=uUAjmAdC" rel="stylesheet" type="text/css"> <link rel="shortcut icon" href="/resources/images/17853003/" type="image/vnd.microsoft.icon"> <link rel="icon" href="/resources/images/17853003/" type="image/vnd.microsoft.icon"> <!-- standard - ThirdPartyAndSync.html --> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src="/resources/shared/responsive-sync/?r=uUAjmAdC"></script> <!-- standard - Sourcepoint.html --> <script>"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return o;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}();</script> <script type = "text/javascript"> ( function () { var module = 'StaticHtmlModule'; if (module === 'BackboneUserModule' || module === 'AdBlockerFaqModule' || module === 'ResponsiveEducationModule' || module === 'PianoSubscriptionPageModule') { var events = "event70"; trackSPEvents(events); return; } window._sp_ = { config: { baseEndpoint: 'https://a02342.heraldscotland.com', accountId: 52, targetingParams:{ subscribed: false, privacy: false }, gdpr: { }, events: { onMessageReady: function (message_type) { trackSPEvents('event76'); }, onMessageChoiceSelect: function (message_type, choice_id, choice_type_id) { console.log('message_type: ', message_type); console.log('choice_id: ', choice_id); console.log('choice_type_id: ', choice_type_id); if ('no' === 'yes') { if (choice_type_id === 12) { trackSPEvents('event83'); //Consent Banner Reject All trackSPEvents('event82'); //Journalism Message Shown } if (choice_type_id === 11) { trackSPEvents('event78'); } if (choice_type_id === 9) { trackSPEvents('event77'); } } else { // these are the second argument in non-gate if (choice_type_id === 12) { trackSPEvents('event77'); } if (choice_type_id === 11) { trackSPEvents('event78'); } if (choice_type_id === 13) { trackSPEvents('event83'); } } }, onPrivacyManagerActionStatus: function(message_type, status, actionType) { console.log('message_type: ' + message_type); console.log('status: ' + status); console.log('actionType: ' + actionType); if ('no' === 'yes') { if (actionType === 11) { trackSPEvents('event79'); //Privacy Manager Accept } if (actionType === 9) { trackSPEvents('event68'); //Privacy Manager Redirect } if (actionType === 1) { trackSPEvents('event75'); //Forced tcf String Change } } else { // these are the second argument in non-gate if (actionType === 13) { trackSPEvents('event81'); //Privacy Manager Reject } if (actionType === 11) { trackSPEvents('event79'); //Privacy Manager Accept } if (actionType === 1) { trackSPEvents('event80'); //Privacy Manager Save & Exit } } }, onPMCancel: function (message_type) { console.log('onPMCancel', message_type); trackSPEvents('event84'); //Privacy Manager Back }, } } } // document.addEventListener('sp.blocking', function (e) { // var events = "event70"; // if ($.cookie('nqab') === 'false') { // events += ',event74'; // } // if ($.cookie('nqab') !== null) { // events += ',event72'; // trackSPEvents(events); // $.cookie('nqab', 'true', { expires: 365, path: '/' }); // return; // } // $.cookie('nqab', 'true', { expires: 365, path: '/' }); // events += ',event71'; // trackSPEvents(events); // }); // document.addEventListener('sp.not_blocking', function (e) { // console.log('DFP: Not blocking triggered, cookie is %s', $.cookie('nqab')); // // If they have the cookie set, it means they saw the banner and now have disabled their adblocker. // if ($.cookie('nqab') === 'true') { // trackSPEvents('event73'); // $.cookie('nqab', 'false', { expires: 365, path: '/' }); // } // }); __tcfapi('addEventListener', 2, function (tcData, success) { // console.log('DFP: Event Listen:', tcData); if (success && tcData.eventStatus === 'useractioncomplete') { var csnt = 'none'; if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { csnt = 'yes'; } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { csnt = 'no'; } googletag.cmd.push(function() { // console.log('DFP: Cookie check - setting dfpcsnt to ', csnt); googletag.pubads().setTargeting('dfpcsnt', csnt); }); // ready to start DFP startAdvertising(tcData.listenerId); setTcfCookie(tcData.purpose.consents, tcData.purpose.legitimateInterests); } else if (success && tcData.eventStatus === 'tcloaded') { startAdvertising(tcData.listenerId); } }); $(document).on('click', '.gdpr-option-v2', function (e) { e.preventDefault(); sendEvent76 = false; var id = $(this).data('v2-id'); if ($(this).data('is-gate') === 'yes') { trackSPEvents('event87'); _sp_.gdpr.loadPrivacyManagerModal(id); } else { trackSPEvents('event77'); _sp_.gdpr.loadPrivacyManagerModal(id); } }); function getTcfData() { __tcfapi('addEventListener', 2, function(data, success) { setTcfCookie(data.purpose.consents, data.purpose.legitimateInterests); }, [755]); } getTcfData(); function setTcfCookie(data, legitimateInterests) { var consents = []; $.each(data, function(id, consent) { var c = (consent === true) ? 'yes' : 'no'; consents.push(c) }); // console.log('DFP: consents length: ', consents.length); if (consents.length !== 10) { // consents = consents.fill('no', consents.length, 10); for (var i = consents.length; i < 10; i++) { consents[i] = 'no'; } } // console.log('DFP: Found consents to store in cookie:', consents); $.cookie('prev-tcf-v2', consents.join(','), {domain: '.heraldscotland.com', path: '/', expires: 100}); var consentEvent4 = 'none'; if (typeof data[4] !== 'undefined') { consentEvent4 = data[4] ? 'true' : 'false'; } $.cookie('_sp_enable_dfp_personalized_ads', consentEvent4, {domain: '.heraldscotland.com', path: '/', expires: 100}); var legitInterest = 'none'; if (legitimateInterests && typeof legitimateInterests[2] !== 'undefined') { legitInterest = legitimateInterests[2] ? 'true' : 'false'; } $.cookie('_sp_legitimate_interests', legitInterest , {domain: '.heraldscotland.com', path: '/', expires: 100}); } var sendEvent76 = true; function trackSPEvents(events) { if (events === 'event76' && !sendEvent76) { return; } else if (events === 'event76') { sendEvent76 = false; } if (typeof window.s !== 'object') { // console.log('DFP: No window.s object found, trying again in 1 second'); window.setTimeout(function () { trackSPEvents(events)} , 1000); return; } // console.log("ADB: Tracking %s", events); // Re-create the Omniture object so the data can be tracked. var s = window.s; if (events.indexOf('event70') !== -1) { // console.log('DFP: Events passed, added evars'); s.eVar35 = 'enabled'; s.prop35 = 'enabled'; } s.events = events; s.linkTrackEvents = events; s.linkTrackVars = "eVar2,eVar3,eVar4,eVar5,eVar6,evar7,evar8,evar9,eVar16,eVar19,eVar26,eVar35,eVar43,prop35"; s.suppressPageView = true; s.tl(true,'o','Ad Block'); } function startAdvertising(id) { if (typeof window.doNotAdvertise !== 'undefined' && window.doNotAdvertise === true) { return; } // console.log("DFP: Is the page fully loaded?", window.googleReady); if (window.googleReady !== true) { window.setTimeout(function () { // console.log('DFP: Google not fully loaded yet, pausing quarter of a second before trying again'); startAdvertising(id); }, 250); return; } // console.log('DFP: Starting advertisement loading routine'); if (window.advertisingStart === true) { return; } // console.log('DFP: Running advertisement'); window.advertisingStart = true; var googletag = window.googletag; // init google objects and array (function() { var gads = document.createElement('script'); gads.async = true; gads.type = 'text/javascript'; gads.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(gads, node); })(); var e = new Event('launch:cmp:choice-made'); window.dispatchEvent(e); // AP code fetchAp(); if (usePrebid) { // load prebid script // console.log("DFP: loading Newsquest Test script"); var site = 'desktop'; var _site = 'desktop'; // load IAS scripts and set up vars (function() { var ias = document.createElement('script'); ias.async = true; ias.type = 'text/javascript'; ias.src = 'https://cdn.adsafeprotected.com/iasPET.1.js'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(ias, node); })(); (function() { var pbs = document.createElement('script'); pbs.async = true; pbs.type = 'text/javascript'; pbs.src = 'https://micro.rubiconproject.com/prebid/dynamic/11022.js?group=newsquest'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(pbs, node); })(); // console.log('DFP: Starting header bid code from CMP v2 flow'); googletag.cmd.push(function () { // console.log("DFP: loading header bid code - Google is loaded"); fetchHeaderBids(); }); } if ( window.data_layer.user.advertising_experience !== 'Ad-Free' && window.data_layer.config.disable_outbrain !== 'yes' ) { (function() { var ob = document.createElement('script'); ob.async = true; ob.type = 'text/javascript'; ob.src = 'https://widgets.outbrain.com/outbrain.js'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(ob, node); })(); } // remove the listener if (id !== null) { window.__tcfapi('removeEventListener', 2, function (success) { }, id); } } })(); </script> <script src="https://a02342.heraldscotland.com/unified/wrapperMessagingWithoutDetection.js"></script> <!-- standard - DataLayer.html --> <script type="text/javascript"> data_layer_helper.setIsArticle(false); data_layer_helper.setCookieDomain('.heraldscotland.com'); data_layer_helper.setModuleType('StaticHtmlModule'); data_layer_helper.setLocalInfoFolder(''); data_layer_helper.setHomesData('', '', '', 'homes'); data_layer_helper.setPrimaryDomain('www.heraldscotland.com'); data_layer_helper.setPath('/homes/'); data_layer_helper.setGoogleNetworkCode('154725070'); data_layer_helper.setArticleTimestamp(''); var extraTags = []; extraTags.push('user_level_anonymous'); var data_layer = { environment: { is_test_site: 'no', is_live_site: 'yes', is_paywall_site: 'yes', is_portable_screen: (data_layer_helper.isMobileScreen()) ? 'yes' : 'no', is_desktop_screen: (data_layer_helper.isMobileScreen()) ? 'no' : 'yes', is_mobile_device: data_layer_helper.getMobileDevice(), is_tablet_device: data_layer_helper.getTabletDevice(), server: 'dmh-martini-web3', platform: 'Martini' }, site: { id: '308', centre_id: '14', centre_name: 'Herald and Times', country: 'Scotland', name: 'The Herald', domain: 'www.heraldscotland.com', editor_name: 'Catherine Salmond', onboarding_enabled: 'yes', onboarding_flow_id: 'the_herald', cookie_domain: '.heraldscotland.com', uses_cmp: 'yes', short_domain: 'heraldscotland', using_piano_id: 'yes', enable_skimlinks: 'yes', skimlinks_domain_id: '1680368', disable_newsletters: 'no', is_archant_site: 'no', shc_merchant_name: '', piano_application_group: 'Bespoke', piano_site_name: 'The Herald', piano_site_name_possessive: 'The Herald\'s', piano_site_name_with_prefix_lower: 'The Herald', piano_site_name_with_prefix_capitalised: 'The Herald', piano_site_name_with_prefix_capitalised_possessive: 'The Herald\'s', piano_site_name_with_prefix_lower_possessive: 'The Herald\'s', piano_location_primary: 'Scotland', piano_location_primary_possessive: 'Scotland\'s', piano_location_county: 'Scotland', piano_location_county_possessive: 'Scotland\'s', piano_primary_sports_team: '', piano_primary_sports_team_nickname: '', piano_primary_sports_team_sport: '', piano_primary_sports_team_possessive: '', piano_primary_sports_team_nickname_possessive: '', has_app: 'yes', app_provider: 'pagesuite', app_platform: 'pagesuite-hybrid', app_store_url_ios: 'https://apps.apple.com/app/the-herald/id980623432', app_store_url_google_play: 'https://play.google.com/store/apps/details?id=com.pagesuite.theheraldsundayherald' }, page: { module: 'StaticHtmlModule', referrer: data_layer_helper.getReferrerHostName(), name: '(www) ' + data_layer_helper.getOmniturePath(), title: document.title, path: data_layer_helper.getOmniturePath(), section: data_layer_helper.getPathFragment(0), subsection: data_layer_helper.getPathFragment(1), subsection_2: data_layer_helper.getPathFragment(2), subsection_3: data_layer_helper.getPathFragment(3), reference: qs.get('ref'), layout: '', ad_timing: data_layer_helper.getCookie('adtiming'), template_namespace: 'standard', template: '', colour_scheme: '', layout_template: '', mds_font: 'serif', mds_colour_palette: 'palette-1', feature_block_a_enabled: ($('[data-name="Feature Article Block A"]').length > 0) ? 'yes' : 'no', feature_block_b_variant: (typeof $('[data-name="Feature Article Block B"]').data('variant') === 'undefined') ? '' : $('[data-name="Feature Article Block B"]').data('variant'), is_article_list: 'no', error_404: '', top_stories_article_count: '', interstitial_article_count: '', news_stories_article_count: '' }, user: { id: '', first_name: '', advertising_experience: 'Ad-Full-Herald', is_privacy_plus: 'no', is_alist: 'no', level: data_layer_helper.getCookie('nq_ul'), seen_cmp: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true' || data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no', given_consent: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true') ? 'yes' : 'no', consent_string: data_layer_helper.getConsentString(), type: 'anonymous', parsely_type: 'Anonymous', chartbeat_type: 'anon', type_as_int: '1', is_logged_in: 'no', is_admin: 'no', has_full_admin_link_permissions: '', has_registered: (data_layer_helper.getCookie('nqr') !== null) ? 'yes' : 'no', comments_verified: '', comments_verified_date: '', age_decade: '0' , gender: 'u' , is_known: data_layer_helper.getCookie('__siren') ? 'yes' : 'no', hash: '', lr_hash_1: '', lr_hash_2: '', lr_hash_3: '', gender: 'u' , user_decade: '0' , subscription_plan: '', subscription_tier: 'null', subscription_plan_and_frequency: ' - ', commented: (data_layer_helper.isArticle() && qs.get('action') === 'success') ? 'yes' : 'no', time_since_last_visit: 'not implemented (maybe drop)', device: data_layer_helper.getDevice(), using_ad_blocker_sourcepoint: data_layer_helper.getSourcepointAdbockStatus(), admin_user_name: '', card_expired: '', card_will_expire: '', expires_urgency: '', abandoned_cart: 'no', subscription_expired: 'no', payment_attempt_one: 'no', payment_attempt_two: 'no', payment_attempt_final: 'no', is_archant_site: 'no', signed_up_primary_news_newsletter: 'no', signed_up_primary_sport_newsletter: 'no', has_app_access: 'no', played_free_puzzles_last_7days: '', played_paid_puzzles_last_7days: '' }, analytics: { hierachy: 'newsquest,Herald and Times,www.heraldscotland.com,' + data_layer_helper.getPathFragment(3).replace(/\//,','), link_filters: 'javascript:,heraldscotland.com,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk,', tracking_block: data_layer_helper.getTrackingFromCookie('tracking_block', ''), tracking_block_index: data_layer_helper.getTrackingFromCookie('tracking_block_index', ''), previous_page_name: data_layer_helper.getCookie('nq_prev_page'), advert_id: '', position_in_list: data_layer_helper.getTrackingFromCookie('o-prop30', ''), featured_content: data_layer_helper.getTrackingFromCookie('o-ref', qs.get('ref')), account: data_layer_helper.getAccount() }, chartbeat: { enabled: "no", id: "", domain: "", sections: '' }, parsely: { enabled: "yes", site_id: "heraldscotland.com", type: 'Anonymous' }, piano: { tags: data_layer_helper.getPianoTags({ piano_domain: 'heraldscotland', piano_master: '', breaking_news: false, editorial_opinion: false, free_subscriber: false, free_subscriber: false, has_video: false, is_article: false, article_content_level : '', article_content_level_open_access: false, picture_gallery_id: false, user_is_newsquest: false, user_logged_in: false, is_live_article: false, why_free_subscriber: '', extra_tags: extraTags, is_covid_headline: false, is_covid_body: false, is_alist: false, audio_provider_bytecast: false } ), custom_variables: { article_length: '', application_group: 'Bespoke', content_is_editorial_opinion: 'no', base_url: 'https://www.heraldscotland.com', mds_font: 'serif', mds_colour_palette: 'palette-1', site_name: 'The Herald', site_name_possessive: 'The Herald\'s', site_name_with_prefix_capitalised: 'The Herald', site_name_with_prefix_lower: 'The Herald', site_name_with_prefix_capitalised_possessive: 'The Herald\'s', site_name_with_prefix_lower_possessive: 'The Herald\'s', location_primary: 'Scotland', location_primary_possessive: 'Scotland\'s', location_county: 'Scotland', location_county_possessive: 'Scotland\'s', site_has_primary_sports_team: 'no', primary_sports_team: '', primary_sports_team_nickname: '', primary_sports_team_sport: '', primary_sports_team_possessive: '', primary_sports_team_nickname_possessive: '', site_id: '308', content_level: '', content_level_openaccess_override: 'no', content_author: '', content_id: '', content_is_article: 'no', content_primary_topic: '', user_seen_consent_modal: ($.cookie('_sp_enable_dfp_personalized_ads') === 'true' || $.cookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no', user_has_app_access: 'no', site_section: data_layer_helper.getPathFragment(0, true), article_published_yyyy: '', user_played_free_puzzles_last_7days: '', user_played_paid_puzzles_last_7days: '', anon_user_played_free_puzzles_last_7days: data_layer_helper.untrackedPuzzleCheck(), home_delivery_phone_number: '0141 302 6096', content_taxonomy_topics_contains_sport: ''.indexOf('sport') >= 0 ? 'yes' : 'no', content_is_restricted: data_layer_helper.getRestrictedContent('', '', '', ''), day_of_week: data_layer_helper.getDayOfWeek(), user_card_expired: '', user_card_will_expire: '', user_expires_urgency: '', user_payment_attempt_one: 'no', user_payment_attempt_two: 'no', user_payment_attempt_final: 'no', user_subscription_tier: 'null', user_is_newsquest: 'no', primary_news_newsletter_id: '1897', primary_news_newsletter_name: 'the Unspun: Scottish Politics', primary_news_newsletter_description: 'Our nightly politics briefing, with exclusive analysis from our top team of writers.', primary_sport_newsletter_id: '1221', primary_sport_newsletter_name: 'the Sports Headlines', primary_sport_newsletter_description: 'The best Scottish sports coverage, delivered to your inbox every morning.', user_signed_up_primary_news_newsletter: 'no', user_signed_up_primary_sport_newsletter: 'no', newsletter_auto_promote: '', newsletter_auto_promote_name: '', newsletter_auto_promote_description: '', newsletter_auto_promote_ID: '', site_has_app: 'yes', site_app_store_url_ios: 'https://apps.apple.com/app/the-herald/id980623432', site_app_store_url_google_play: 'https://play.google.com/store/apps/details?id=com.pagesuite.theheraldsundayherald', site_section1: data_layer_helper.getPathFragment(1, true) // GBL required }, native_variables: { setContentCreated: '', setContentIsNative: 'no', setContentAuthor: '', setContentSection: data_layer_helper.getPathFragment(0, true) } }, article: { showing_preview: '', is_article: data_layer_helper.isArticle() ? 'yes' : 'no', id : '', length_type: '', character_count: '', author: ''.toLowerCase(), context: '', content_level: '', content_level_open_access: '', content_level_combined: ',,no', content_is_restricted: data_layer_helper.getRestrictedContent('', '', '', ''), increment: (data_layer_helper.isArticle()) ? '+1' : '', sponsor: '', contributions: '0', is_sponsored: 'no', headline: '', age: data_layer_helper.getArticleAge(), upload_date: '', publish_date: '', update_date: '', rating: '', source: data_layer_helper.getSource(''), subjects: (typeof articleSubjects === 'object') ? articleSubjects.join(',') : '', context: '', grapeshot_context: (typeof gs_channels !== 'undefined') ? gs_channels : '', allow_comments: 'no', total_comments: '', originating_site_id: '', parent_article_site_id: '', parent_article_id: '', originating_article_id: '', parent_originating_site_id: '', is_original_to_site: '', is_cloned: '', parent_article_url: '', use_skimlinks: 'no', content_primary_topic: '', taxonomy: { article_types: '', topics: '', sports: '', sports_teams: '', locations: '', shared_content: '', free_tags: '', farming: '' }, audio: { has_audio: 'no', provider: '' } }, homes: { search_bedrooms_minimum: '', search_location: 'homes', search_price_minimum: '', search_price_maximum: '', list: '', id: '' }, video: { exists: 'no', auto_play_enabled: data_layer_helper.getAutoPlay('no') }, contributions: { allow_text: '', allow_image: '', user_contributions_number: '0', has_user_contributions: 'no' }, search: { keywords: qs.get('search'), results: '' }, announcements: { category: '' }, config: { google_analytics_id: 'G-MPKEG017RX', site_template_set: 'standard', path: '/homes/', top_level_section: 'homes', polar_property_id: 'NA-HERA-11238047', gallery_show_advert_after: '5', disable_outbrain: 'no' }, dfp: { is_landing: 'yes', module_path: 'homes', weather_band: '11-15', weather_summary: 'cloudy'.toLowerCase(), id: data_layer_helper.getGoogleId(), display_screen: data_layer_helper.isMobileScreen() ? 'mobile' : 'desktop', can_show_billboard: (window.screen.width > 960) ? 'y' : 'n' }, dates: { date: (new Date()).toLocaleDateString('en-GB'), hour: (new Date()).getHours(), day: data_layer_helper.getDayOfWeek(), weekend: ((new Date()).getDay() === 6 || (new Date()).getDay() === 0) ? 'Weekend' : 'Weekday' }, memorials: { contact_phone_number: '', contact_email_address: '', publications: JSON.parse('' || '[]') } } data_layer_helper.storeCurrentPageName(data_layer.page.name); window.dispatchEvent(new Event('data-layer-loaded')) if (data_layer.article.is_article !== 'yes') { data_layer.piano.custom_variables.site_module = 'StaticHtmlModule'; data_layer.piano.custom_variables.puzzles_landing_page = 'no'; data_layer.piano.custom_variables.desktop_hero_id = '0'; data_layer.piano.custom_variables.puzzles_display_page = 'no'; data_layer.piano.custom_variables.mobile_hero_id = '0'; } </script> <script src="//assets.adobedtm.com/499440d21de9/54b957ecfb7e/launch-98090dfa3d73.min.js" async ></script> <!-- standard - PianoInit.html --> <script> window.usePiano = true; window.selectedOfferId = null; window.selectedTermId = null; </script> <script> document.cookie = "__adblocker=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; var setNptTechAdblockerCookie = function(adblocker) { var d = new Date(); d.setTime(d.getTime() + 60 * 60 * 24 * 2 * 1000); document.cookie = "__adblocker=" + (adblocker ? "true" : "false") + "; expires=" + d.toUTCString() + "; path=/"; } var script = document.createElement("script"); script.setAttribute("async", true); script.setAttribute("src", "//www.npttech.com/advertising.js"); script.setAttribute("onerror", "setNptTechAdblockerCookie(true);"); document.getElementsByTagName("head")[0].appendChild(script); </script> <script> tp = window.tp || []; function runPiano() { Object.keys(data_layer.piano.custom_variables).forEach(function (k) { var v = data_layer.piano.custom_variables[k]; if (v != '') { tp.push(["setCustomVariable", k, v]); } }); Object.keys(data_layer.piano.native_variables).forEach(function (k) { var v = data_layer.piano.native_variables[k]; if (v != '') { tp.push([k, v]); } }); tp.push(['setTags', data_layer.piano.tags]); (function(src){ var a=document.createElement("script"); a.type = "text/javascript"; a.async=true; a.src=src; var b=document.getElementsByTagName("script")[0]; b.parentNode.insertBefore(a, b) })("//experience.tinypass.com/xbuilder/experience/load?aid=rBSKi8pTte"); } // Init Piano tp.push(["setDebug", ($.cookie('debug') === '1')]); tp.push(["setApplePayMerchantId", 'merchant.nq.subssites.piano']); // init Piano ID tp.push(['init', function() { tp.pianoId.init(); }]); tp.push(["setUsePianoIdUserProvider", true ]); tp.push(["addHandler", "loginRequired", function(params) { // If they're already signed in, we don't need to do anything special. if (tp.user.isUserValid()) { return; } if (typeof window._overridePianoDefault !== 'undefined' && window._overridePianoDefault !== true) { console.log("TPL Called") tp.pianoId.show({ screen: 'login', displayMode: 'modal', loggedIn: (data) => { pianoId.loggedIn(); }, loggedOut: () => { console.log('TP-TJ: user logged out'); }, registrationSuccess: () => { pianoId.registered(); }, width: '500px', height: '460px', }); } }]); tp.push(["addHandler", "showTemplate", function (templateParams) { handleOfferShow(templateParams); trackLocation(); if ($(templateParams.containerSelector).length > 0) { $(templateParams.containerSelector).addClass('shown'); if (templateParams.containerSelector === '#po-inline-article-inside') { $('#piano-container-inside-article').addClass('shown').removeAttr('style'); } if (!$(templateParams.containerSelector).hasClass('mar-block-ad')) { $(templateParams.containerSelector).show(); } if (templateParams.containerSelector === '#po-overlay-articlegate-full-width-scroll-below') { handleFullWidthBanner(); } if ( $(templateParams.containerSelector) === '#subscription-content' || $(templateParams.containerSelector) === '#po-inline-subscribe-page' ) { $(templateParams.containerSelector).show(); } if (['#piano_blockmodule_target_d', '#po-inline-blocksystem-target-e'].includes(templateParams.containerSelector)) { $('#divpo-inline-blocksystem-target-e').show(); } if (templateParams.containerSelector === '#po-overlay-toast-left') { removePianoToast() } if (templateParams.containerSelector === '#po-inline-articlewall-partialarticle-closable') { $('#po-inline-articlegate-partialarticle').css('display', 'none'); } if (templateParams.containerSelector === '#po-inline-articlewall-fullarticle-closable') { $('#po-inline-articlegate-fullarticle').css('display', 'none'); } } }]); tp.push(["addHandler", "checkoutSelectTerm", function (termDetails) { if (typeof termDetails.termId !== 'undefined') { window.selectedTermId = termDetails.termId; } }]); tp.push(["addHandler", "showOffer", function (offerParams) { handleOfferShow(offerParams); window.shownOffer = true; trackLocation(); // Store some data we might need later. if (typeof offerParams.offerId !== 'undefined') { window.selectedOfferId = offerParams.offerId; } if ($(offerParams.containerSelector).length > 0) { if ($(offerParams.containerSelector).length > 0) { $(offerParams.containerSelector).addClass('shown'); if (offerParams.containerSelector === '#po-inline-article-inside') { $('#piano-container-inside-article').addClass('shown').removeAttr('style'); } if (!$(offerParams.containerSelector).hasClass('mar-block-ad')) { $(offerParams.containerSelector).show(); } if (offerParams.containerSelector === '#po-overlay-articlegate-full-width-scroll-below') { handleFullWidthBanner(); } if ( $(offerParams.containerSelector) === '#subscription-content' || $(offerParams.containerSelector) === '#po-inline-subscribe-page' ) { $(offerParams.containerSelector).show(); } if (offerParams.containerSelector === '#po-overlay-toast-left') { removePianoToast() } if (templateParams.containerSelector === '#po-inline-articlewall-partialarticle-closable') { $('#po-inline-articlegate-partialarticle').css('display', 'none'); } if (templateParams.containerSelector === '#po-inline-articlewall-fullarticle-closable') { $('#po-inline-articlegate-fullarticle').css('display', 'none'); } } } }]); function handleFullWidthBanner() { $('#po-overlay-articlegate-full-width-scroll-below').css({ border: '1px solid #767676' }); $('#po-overlay-articlegate-full-width-scroll-below').show(); $('#subscription-content').hide(); $('.send-us-your-news-cta').hide(); $('.mega-news-block').hide(); const block = document.getElementById('po-overlay-articlegate-full-width-scroll-below'); let blockRect = block.getBoundingClientRect(); let startRect = new DOMRect(blockRect.x, blockRect.y + window.scrollY, blockRect.width, blockRect.height); let hasBecomeVisible = true; // change to false to alter the gate positioning behaviour const updateArticleGatePositionBasedOnScroll = function() { if (window.scrollY + window.innerHeight > startRect.bottom) { hasBecomeVisible = true; } if (hasBecomeVisible) { if (window.scrollY > startRect.top) { block.style.position = 'fixed'; block.style.setProperty('top', '0px'); block.style.setProperty('bottom', 'initial'); } else if (window.scrollY < startRect.bottom - window.innerHeight) { block.style.position = 'fixed'; block.style.setProperty('bottom', '0px'); block.style.setProperty('top', 'initial'); } else { block.style.removeProperty('position'); block.style.removeProperty('bottom'); block.style.removeProperty('top'); } } } // position the article gate immediately updateArticleGatePositionBasedOnScroll(); // update article gate position on scroll events document.addEventListener('scroll', updateArticleGatePositionBasedOnScroll); } function trackLocation(forceValidLocation = false) { var currentLocation = window.location.pathname; let valid = false; if (currentLocation.indexOf('puzzles') > -1) { valid = true; } if (currentLocation.indexOf('pagesuite') > -1) { valid = true; } var articleMatch = currentLocation.match(/(\d+)\.[^\/]+\/(r\/)?$/); if (articleMatch != null) { valid = true; } if (forceValidLocation) { valid = true; } if (currentLocation.indexOf('subscribe') > -1) { valid = false; } if (!valid) { return; } $.cookie('last-piano-page-interacted-with', currentLocation, {path: '/', domain: window.data_layer.site.cookie_domain}); } function trackPianoWithNewRelic(templateName) { if (this.newrelic && typeof this.newrelic === 'object') { newrelic.setCustomAttribute('user_was_shown_piano_experience', templateName); } } function handleOfferShow(params) { console.log('Piano params', params); // If on the subscription page and the URL has a term ID and offer ID, show the relevant offer. if (typeof location.pathname !== 'undefined' && location.pathname === '/subscribe/') { var offerId = location.search.match(/offer_id=([A-Z0-9]+)/); if (offerId !== null && offerId.length > 1) { offerId = offerId[1]; } var termId = location.search.match(/term_id=([A-Z0-9]+)/); if (termId !== null && termId.length > 1) { termId = termId[1]; } if (offerId !== null && termId !== null) { tp.offer.show({'termId': termId, 'offerId': offerId}); } } // we are only tracking var templateId = params.templateId; var variantId = params.templateVariantId; if (params.containerSelector !== '#subscription-content' && params.containerSelector !== '#subscription-replace-entire-article' && params.containerSelector !== '#po-inline-articlegate-fullarticle' && params.containerSelector !== '#po-inline-articlegate-partialarticle' ) { $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) { trackPianoSimplified(params, response.name); }); return; } $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) { trackPiano(params, response.name); }); } function trackPiano(params, templateName) { trackPianoWithNewRelic(templateName); if (typeof params.activeMeters === 'string') { activeMeters = JSON.parse(params.activeMeters); } else { activeMeters = params.activeMeters; } var s = window.s; if (!s || !s.pageName) { // console.log("ADB: Setting s from backup"); s = window.backupAdobe; window.s = s; } // this would call when CL3 is a hard gate if (!activeMeters && data_layer.article.content_level === '3') { s.eVar59 = templateName; s.eVar58 = data_layer.article.content_level; s.events = "event91"; s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar79,list3,events"; s.linkTrackEvents="event91"; s.tl(document, 'o', 'Metered Access Notice'); s.events = ''; return; } if (!activeMeters) { return; } var meterData = activeMeters[0]; var meterName = meterData.meterName.toLowerCase(); // track event 5 if (meterName.indexOf('cl1') !== -1 || meterName.indexOf('cl2') !== -1 || meterName.indexOf('cl3') !== -1 || params.containerSelector === '#piano-article-gate') { s.eVar58 = data_layer.article.content_level; s.eVar80 = meterData.meterName + ',' + meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews; s.eVar59 = templateName; s.events = "event5"; s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,list3, events"; s.linkTrackEvents="event5"; } else { s.eVar80 = meterData.meterName + ',' + meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews; s.eVar59 = templateName; s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,list3, events"; } s.tl(document, 'o', 'Metered Access Notice'); s.events = ''; } /** * Just track the template name in 78 for non-article-interrupts/gates */ function trackPianoSimplified(params, templateName) { trackPianoWithNewRelic(templateName); var s = window.s; if (!s || !s.pageName) { // console.log("ADB: Setting s from backup"); s = window.backupAdobe; window.s = s; } s.eVar78 = templateName; s.events = 'event90'; s.linkTrackEvents="event90"; s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,list3,eVar78, events"; s.tl(document, 'o', 'Piano Template'); } function raiseLaunchEvent(name) { var e = new Event('launch:piano:' + name); window.dispatchEvent(e); } function removePianoToast() { setTimeout(() => { document.getElementById('po-overlay-toast-left').remove() }, 30000) } /** * Posts the Piano conversion data to the student beans API if the site is either * Herald ScotlanD or The National. * * @param {Object} conversion */ async function subscriptionComplete(conversion) { if (data_layer.site.id !== '308' && data_layer.site.id !== '1106') { return; } await fetch('/ws/public/student-beans/', { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify(conversion) }); } tp.push(["addHandler", "checkoutComplete", function(conversion) { subscriptionComplete(conversion); var s = window.s; s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event. s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event. s.products = "Subscription : Metered Access;" + conversion.termId + ";1;"+conversion.chargeAmount; s.purchaseID = conversion.termConversionId; s.pageName = '(www) /subscribe/complete/'; // wipe out errors s.eVar31 = ''; s.tl(); $.cookie('resourceConverted', conversion.rid, {path: '/', domain: window.data_layer.site.cookie_domain}); $.cookie('pianoConverted', '1', {path: '/', domain: window.data_layer.site.cookie_domain}); raiseLaunchEvent('checkoutComplete'); }]); tp.push(["addHandler", "checkoutPaymentError", function(errorData) { var s = window.s; s.pageName = '(www) /subscribe/error/'; s.eVar31 = errorData.message; s.tl(); raiseLaunchEvent('checkoutPaymentError'); }]); tp.push(["addHandler", "checkoutError", function(errorData) { var s = window.s; s.pageName = '(www) /subscribe/error/'; s.eVar31 = errorData.message; s.tl(); raiseLaunchEvent('checkoutError'); }]); tp.push(["addHandler", "startCheckout", function () { var s = window.s; s.pageName = '(www) /subscribe/payment/'; // wipe out errors s.eVar31 = ''; s.tl(); raiseLaunchEvent('startCheckout'); }]); tp.push(["addHandler", "checkoutClose", function(conversion) { raiseLaunchEvent('checkoutClose'); // Did they abandon the cart? If so: was anything in their cart? if (typeof conversion.state === 'undefined' || conversion.state !== 'close') { return; } if (window.selectedOfferId === null || window.selectedTermId === null) { return; } $.post('/ws/piano/abandoned-cart/', {offer_id: window.selectedOfferId, term_id: window.selectedTermId}); }]); tp.push(["addHandler", "meterExpired", function(meterData){ var msg = "<div><b>meterName:</b> " + meterData.meterName + "&nbsp; | &nbsp;<b>views:</b> " + meterData.views + "&nbsp; | &nbsp;<b>totalViews:</b> " + meterData.totalViews + "&nbsp; | &nbsp;<b>viewsLeft:</b> " + meterData.viewsLeft + "&nbsp; | &nbsp;<b>maxViews:</b> " + meterData.maxViews + "&nbsp; | &nbsp;<b>callback:</b> " + meterData.callback + '</div>'; if ($.cookie('nq-show-piano-viewer') === 'yes') { $('#piano-meter-value').html(msg); $('#piano-meter-display').show(); $('#piano-meter-display-content').append(msg); } var cVal = window.location.href; trackLocation(true); console.log("Piano Meter Expired:", meterData.meterName); if (meterData.meterName === 'CL1 Meter') { console.log("Piano: Setting meter expired cookie"); $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); } raiseLaunchEvent('meterExpired'); }]); tp.push(["addHandler", "meterActive", function(meterData){ var msg = "<div><b>meterName:</b> " + meterData.meterName + "&nbsp; | &nbsp;<b>views:</b> " + meterData.views + "&nbsp; | &nbsp;<b>totalViews:</b> " + meterData.totalViews + "&nbsp; | &nbsp;<b>viewsLeft:</b> " + meterData.viewsLeft + "&nbsp; | &nbsp;<b>maxViews:</b> " + meterData.maxViews + "&nbsp; | &nbsp;<b>callback:</b> " + meterData.callback + '</div>'; if ($.cookie('nq-show-piano-viewer') === 'yes') { $('#piano-meter-value').html(msg); $('#piano-meter-display').show(); $('#piano-meter-display-content').append(msg); } console.log("Piano Meter running total:", meterData.meterName, meterData.totalViews, meterData.maxViews, meterData); if (meterData.meterName === 'CL1 Meter' && meterData.totalViews >= meterData.maxViews) { $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); } else { $.cookie('isMeterExpired', 'no', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); } }]); tp.push(["setCxenseSiteId", "1140851321802151844"]); if (extendedMetering.checkShowcaseReferrer()) { data_layer.user.requires_extended_metering = 'yes'; data_layer.piano.custom_variables.requires_extended_metering = 'yes'; (self.SWG = self.SWG || []).push(function(subscriptions) { extendedMetering.load(subscriptions, 'heraldscotland.com', 'OTNSMHA3PCB9', 'OTV9N723MUH1W', '', ''); runPiano(); }); } else { data_layer.user.requires_extended_metering = 'no'; data_layer.piano.custom_variables.requires_extended_metering = 'no'; runPiano(); } </script> <link rel="apple-touch-icon" href="/resources/images/5752178/"> <link rel="apple-touch-icon" sizes="72x72" href="/resources/images/5752177/"> <link rel="apple-touch-icon" sizes="114x114" href="/resources/images/5752179/"> <!-- Add iconify --> <script src="https://code.iconify.design/1/1.0.7/iconify.min.js"></script> </head> <body class="sticky-footer" data-cache-buster="uUAjmAdC" data-template="" data-template-colour="Blue" data-namespace="standard"> <!-- standard - AfterBodyTagInclude.html --> <!-- ##+ +## ##: `#####. ####### ### ### ###### `#####. ####### ### ,## +##### +## ###' ## ####### ######## ### ### ###### ####### ######## ### ,## ######: .## #### ## ### ### ### ### ###### ##, ### ### ### ### ### ,## ##` ##,#+##:## ### ### ####### ###### #####+ ### ### ####### ### ,## +##### ####`####+ ### ### ###### ####### #####+ ### ### ###### ### ,## #### #### .###. '## ##' ### ### ### ,##: ##, '## ##' ### ### ### ### '## +## :### ### ####### ### `##+ ### ### ##, ####### ### `##+ `####### ######+ ##: ### ##### ### ### ### ,### ##, ##### ### ### ##### ####+ Developers, designers, testers - interested in working for us? Contact this guy....https://uk.linkedin.com/in/hillsimon --> <div style="height: 0px"><div id="DFP_out_of_page"></div></div> <div id="paywallWindowOverlay"></div> <div id="takeover"> <div id="martini-config" class="layout"> <div id="header-content"> <!-- standard - header-1.html --> <header id="site-header" class="site-header site-header--1" > <!-- standard - HeaderTopNavLinks.html --> <div class="header-topnav"> <div class="container-inner-width"> <div class="header-topnav-links"> <ul class="list-style-none"> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="https://www.newsquestrewards.co.uk/" target="blank">Reader Rewards</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Motoring</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/graduations/">Graduations</a></li> <li><a class="mar-nav--promo-link" href="/contact/">Contact us</a></li> </ul> </div> <ul id="links-nav" class="header-topnav--links-nav list-style-none"> <li class="links-nav-label"><span class="links-nav-label-text">More</span> <ul class="list-style-none"> <li class="dropdown-icon-closed"> <span class="iconify" data-icon="akar-icons:chevron-down"></span> </li> <li class="dropdown-icon-open" style="display: none;"> <span class="iconify" data-icon="akar-icons:chevron-up"></span> </li> <li class="links-nav-container"> <ul class="list-style-none"> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="https://www.newsquestrewards.co.uk/" target="blank">Reader Rewards</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Motoring</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/graduations/">Graduations</a></li> <li><a class="mar-nav--promo-link" href="/contact/">Contact us</a></li> </ul> </li> </ul> </li> </ul> </div> </div> <div class="site-brand container-inner-width"> <div class="site-brand__container"> <a href="/"> <img src="/resources/images/small_site_logo/" alt="The Herald" class="site-brand__brand-image"/> </a> </div> <!-- standard - SimpleHeaderTopNavigation.html --> <div class="simple-header-top-navigation"> <div class="simple-header-top-navigation__links"> <div class="simple-header-top-navigation__links--primary-links header-primary-links"> <a href="/subscribe/"> <button class="mar-btn--promo-primary"> Subscribe </button> </a> <ul class="list-style-none top-nav-overflow"> <li><a href="/pagesuite/"><button class="mar-btn--promo-secondary">Digital Edition</button></a></li> <li><a href="/puzzles/"><button class="mar-btn--promo-primary">Puzzles</button></a></li> </ul> </div> <div class="simple-header-top-navigation__links--classifieds"> </div> </div> <div class="simple-header-top-navigation__links--account"> <a href="/my/account/log-in/" class="simple-header-top-navigation__user-login piano-id__login"> <button id="headerUserAccountButton"> <!-- standard - IconUser.html --> <svg xmlns="http://www.w3.org/2000/svg " width="14" height="16" viewBox="0 0 10 14" fill="none"> <circle cx="5" cy="3.85718" r="3" fill="black"/> <ellipse cx="5" cy="10.2857" rx="5" ry="2.85714" fill="black"/> </svg> </button> </a> </div> <button aria-expanded="false" aria-label="Open the menu" class="simple-header-top-navigation__mega-menu-btn primary-nav__menu--more-btn"> <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg> </button> </div> </div> <!-- standard - MegaMenu.html --> <div id="mega-menu" class="mega-menu" style="display: none;"> <div class="mega-menu__container mega-menu__wrapper"> <div class="mega-menu__cancel-button"> <i aria-expanded="true" aria-hidden="true" aria-label="Close the menu" class="mega-menu__cancel-button--icon"> <span class="iconify" data-icon="eva:close-fill" data-inline="false"></span> <div>Close</div> </i> </div> <div class="mega-menu-subscribe-banner"> <span>Stay ahead with a digital subscription</span> <a href="/subscribe/">Subscribe</a> </div> <div class="mega-menu__features expanded-sub-nav"> <div class="mega-menu__features--links"> <h4 class="prefix mega-menu__features--prefix link-item">Featured newsletters</h4> <a href="https://www.heraldscotland.com/newsletters/politics/1897/" target="_blank" class="col link-item">Unspun: Scottish Politics</a> <a href="/newsletters/news/1698/" class="col link-item">Inside the NHS</a> <a href="/newsletters/2651/" class="col link-item">Lessons to Learn</a> <a href="/newsletters/2684/" class="col link-item">Herald Arts</a> </div> <hr class="divider none"> </div> <div class="mega-menu__search"> <form method="get" action="/search/"> <h4 class="mega-menu__search--title">Search</h4> <div class="mega-menu__search--bar"> <input class="searchbar-input" type="text" name="search" placeholder="Search The Herald"> <button class="searchbar-btn mira-search-button" type="submit"><span class="iconify" data-icon="fe:search" data-inline="false"></span></button> </div> </form> </div> <div class="mega-menu__main-list link-list"> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/news/"> <h3><span class="mega-menu__main-list--parent-link">News</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/news/homenews/">Scottish News</a> </div> <div class="child-item"> <a href="/news/health/">Health</a> </div> <div class="child-item"> <a href="/news/education/">Education HQ</a> </div> <div class="child-item"> <a href="/news/transport/">Transport</a> </div> <div class="child-item"> <a href="/news/investigations/">Investigations</a> </div> <div class="child-item"> <a href="/news/national-news/">UK News</a> </div> <div class="child-item"> <a href="/news/world_news/">World News</a> </div> <div class="child-item"> <a href="/news/subscriber/">Subscriber</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/politics/"> <h3><span class="mega-menu__main-list--parent-link">Politics</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/politics/holyrood/">Holyrood</a> </div> <div class="child-item"> <a href="/politics/westminster/">Westminster</a> </div> <div class="child-item"> <a href="/politics/viewpoint/">Political Opinion</a> </div> <div class="child-item"> <a href="/politics/analysis/">Analysis</a> </div> <div class="child-item"> <a href="/politics/explainer/">Explainer</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/sport/"> <h3><span class="mega-menu__main-list--parent-link">Sport</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/sport/football/">Football</a> </div> <div class="child-item"> <a href="/sport/opinion/">Comment</a> </div> <div class="child-item"> <a href="/sport/rugby/">Rugby</a> </div> <div class="child-item"> <a href="/sport/tennis/">Tennis</a> </div> <div class="child-item"> <a href="/sport/golf/">Golf</a> </div> <div class="child-item"> <a href="/sport/other_sports/">Other Sports</a> </div> <div class="child-item"> <a href="/sport/best-of/">Best Of</a> </div> <div class="child-item"> <a href="/sport/uk-sport/">UK Sport</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/opinion/"> <h3><span class="mega-menu__main-list--parent-link">Voices</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/opinion/columnists/">Columnists</a> </div> <div class="child-item"> <a href="/opinion/the-diary/">The Diary</a> </div> <div class="child-item"> <a href="/opinion/herald_view/">Herald View</a> </div> <div class="child-item"> <a href="/opinion/letters/">Letters</a> </div> <div class="child-item"> <a href="/opinion/podcasts/">Podcasts</a> </div> <div class="child-item"> <a href="/opinion/obituaries/">Obituaries</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/business_hq/"> <h3><span class="mega-menu__main-list--parent-link">Business HQ</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/business_hq/company_news/">Companies</a> </div> <div class="child-item"> <a href="/business_hq/business/">Business</a> </div> <div class="child-item"> <a href="/business_hq/markets_economy/">Markets</a> </div> <div class="child-item"> <a href="/business_hq/people/">People</a> </div> <div class="child-item"> <a href="/business_hq/stem/">STEM</a> </div> <div class="child-item"> <a href="/business_hq/entrepreneur/">Entrepreneur</a> </div> <div class="child-item"> <a href="/business_hq/supplements/">Supplements</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/life_style/"> <h3><span class="mega-menu__main-list--parent-link">Features</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/life_style/arts_ents/">Arts &amp; Ents</a> </div> <div class="child-item"> <a href="/life_style/food_and_drink/">Food &amp; Drink</a> </div> <div class="child-item"> <a href="/life_style/travel/">Travel</a> </div> <div class="child-item"> <a href="/life_style/bestofscotland/">Best of Scotland</a> </div> <div class="child-item"> <a href="/life_style/property-market/">Property</a> </div> <div class="child-item"> <a href="/life_style/gardening/">Gardening</a> </div> <div class="child-item"> <a href="/life_style/big-reads/">Big Reads</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/campaigns/"> <h3><span class="mega-menu__main-list--parent-link">Campaigns</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/campaigns/i-remember/">I Remember</a> </div> <div class="child-item"> <a href="/campaigns/think-dementia/">Think Dementia</a> </div> <div class="child-item"> <a href="/campaigns/memorial-garden/">Memorial Garden</a> </div> <div class="child-item"> <a href="/campaigns/fair-deal-for-glasgow/">Fair Deal for Glasgow</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/journalists/"> <h3><span class="mega-menu__main-list--parent-link">Our Writers</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/journalists/journalists/">All Journalists</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/memorials/"> <h3><span class="mega-menu__main-list--parent-link">Announcements</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/memorials/acknowledgements/">Acknowledgements</a> </div> <div class="child-item"> <a href="/memorials/death-notices/">Death Notices</a> </div> <div class="child-item"> <a href="/memorials/in-memoriam/">In Memoriam</a> </div> <div class="child-item"> <a href="https://www.heraldscotland.com/announcements/public_notices/">Public notices</a> </div> <div class="child-item"> <a href="https://www.heraldscotland.com/announcements/">Other announcements</a> </div> <div class="child-item"> <a href="/memorials/bereavement-guide/">Bereavement Guide</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/events/"> <h3><span class="mega-menu__main-list--parent-link">Events</span></h3> </a> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/shop/"> <h3><span class="mega-menu__main-list--parent-link">Shop</span></h3> </a> </div> </div> <div class="divider"></div> </div> </div> </div> <div class="mega-menu__sticky"> <ul class="list-style-none mega-menu__sticky--list"> <div class="mega-menu__sticky--primary-links"> <li> <a href="/subscribe/"> <button class="mar-btn--promo-primary"> Subscribe </button> </a></li> <li><a href="/pagesuite/"><button class="mar-btn--promo-secondary">Digital Edition</button></a></li> <li><a href="/puzzles/"><button class="mar-btn--promo-primary">Puzzles</button></a></li> </div> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="https://www.newsquestrewards.co.uk/" target="blank">Reader Rewards</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Motoring</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/graduations/">Graduations</a></li> <li><a class="mar-nav--promo-link" href="/contact/">Contact us</a></li> </ul> </div> </div> <!-- standard - SimplePrimaryNavigation.html --> <nav id="primary-nav" class="primary-nav"> <div class="primary-nav__container container-inner-width"> <span class="primary-nav__left"> <nav class="primary-nav__menu" role="list"> <div class="primary-nav__menu-container"> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/news/">News</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/politics/">Politics</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/sport/">Sport</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/opinion/">Voices</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/business_hq/">Business HQ</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/life_style/">Features</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/campaigns/">Campaigns</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/journalists/">Our Writers</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/memorials/">Announcements</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/events/">Events</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/shop/">Shop</a> </div> </div> </nav> </span> <span class="primary-nav__right"> <div class="primary-nav__menu--more-btn"> <button aria-expanded="false" aria-label="Open the menu" class="more-link more-burger-icon"> <svg aria-hidden=”true” xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg> </button> </div> <div class="primary-nav__right--search"> <a class="primary-nav__container--search-icon search-icon" href="#"><span class="iconify" data-icon="ion:search-circle-sharp" data-inline="false"></span></a> </div> </span> </div> </nav> <!-- standard - HeaderSubNavigation.html --> <div class="sub-nav"> <a href="/homes/" class="sub-nav__breadcrumb">Homes</a> <a href="/homes/news/">News</a> </div> </header> </div> <div id="redesign-content"> <div id="module-content" class="content"> <div class="container mar-block-ad mar-block-ad--piano-promo" id="piano-container-top"></div> <div class="container mar-block-ad mar-block-ad--piano-promo" id="po-inline-banner-top-hero-content"></div> <div class="static-html container mar-mb-5"> <div class="static-html__wrapper"> <h1></h1> <div class="static-html__content"> <script> var s1areas = []; var s1SearchImage = "https://s1img.com/s1js/s1homes/images/carousel/greenwood_manor_1.jpg"; var s1SearchImageAlt = "green wood manor"; </script> <!-- ############## --> <!-- START s1 homes --> <!-- ############## --> <div class="s1-content"> <script src="https://s1img.com/s1js/libs/jquery-1.11.1.min.js"></script> <script src="https://s1img.com/s1js/s1homes/js/handlebars-v1.3.0.min.js"></script> <script src="https://s1img.com/s1js/s1homes/js/typeahead.js/typeahead.bundle.min.js"></script> <script> var dataURL = "https://www.s1homes.com/s1homes-romanes-content.cgi?callback=?"; </script> <script type="text/javascript" src="https://www.s1homes.com/homes-shared-ui/js/romanes-content.min.js"></script> <link rel="stylesheet" type="text/css" href="https://www.s1homes.com/homes-shared-ui/romanes/stylesheets/styles.css"> <img src="https://www.s1homes.com/homes-shared-ui/compass/images/homes.png" alt="s1 homes" style="margin-bottom:10px; width:180px" /> <div class="container"> <div class="row"> <!--<img src="Property _ Classified _ Clydebank Post_files/titan_crane.jpg" class="img-responsive hidden-xs"/>--> <div style="position: relative"> <img src="https://s1img.com/s1js/s1homes/images/carousel/greenwood_manor_2.jpg" id="s1-search-image" class="img-responsive hidden-xs" alt="greenwood manor"/> <div id="homeSearchForm-container" class="col-xs-5 col-sm-10 col-md-7 col-lg-7"> <form action="https://www.s1homes.com/property-for-sale/forsale_search_results.cgi" method="get" target="_blank"> <input type="hidden" id="autocompleteID" name="veryLocal" /> <div class="fader col-xs-12"> <div class="form-group col-xs-12"> <div style="margin-top:10px"><h1><label class="home-search-label" for="tags">Homes for Sale in Scotland</label></h1> </div> <input name="locationText" id="tags" type="text" class="form-control typeahead col-xs-12 col-lg-12 input-lg" style="margin-top:14px" placeholder="Enter an area, street, postcode or keyword" autocomplete="off"> <div style="display: none" id="homeLocationContainer" class="homeCriteria"> <select name="location" id="locationSelector4column"> <option value="">Any</option> <option value="">----- </option> <option value="7">Glasgow </option> <option value="100">- City Centre </option> <option value="160">- Glasgow East </option> <option value="163">- Glasgow North </option> <option value="162">- Glasgow South </option> <option value="158">- Glasgow West </option> <option value="">----- </option> <option value="5">Edinburgh</option> <option value="178">- City Centre </option> <option value="376">- Edinburgh East </option> <option value="431">- Edinburgh North </option> <option value="390">- Edinburgh South </option> <option value="397">- Edinburgh West </option> <option value="">----- </option> <option value="1631">Aberdeen</option> <option value="203">Dundee</option> <option value="">----- </option> <option value="496">Aberdeenshire</option> <option value="233">Angus</option> <option value="166">Argyll and Bute </option> <option value="148">- Helensburgh </option> <option value="119">Ayrshire East </option> <option value="12">- Kilmarnock </option> <option value="93">Ayrshire North </option> <option value="173">- Arran </option> <option value="52">Ayrshire South </option> <option value="77">- Ayr </option> <option value="171">Borders </option> <option value="174">Clackmannanshire </option> <option value="498">Dumfries and Galloway </option> <option value="169">Dunbartonshire East </option> <option value="161">Dunbartonshire West </option> <option value="56">- Clydebank </option> <option value="4">- Dumbarton </option> <option value="203">Dundee</option> <option value="497">East Lothian</option> <option value="6">Falkirk </option> <option value="411">- Falkirk (Town)</option> <option value="170">Fife </option> <option value="175">- Dunfermline </option> <option value="172">- Glenrothes </option> <option value="176">- Kirkcaldy </option> <option value="167">Highland</option> <option value="6903">- Aviemore and Badenoch</option> <option value="6904">- Fort William and Lochaber</option> <option value="6905">- Skye and Lochalsh</option> <option value="6906">- Inverness, Nairn and Loch Ness</option> <option value="6907">- Wester Ross</option> <option value="6908">- Easter Ross and Black Isle</option> <option value="1008,1204">- Caithness and Sutherland</option> <option value="168">Inverclyde </option> <option value="17">- Gourock </option> <option value="177">- Greenock </option> <option value="157">Lanarkshire North </option> <option value="67">- Airdrie </option> <option value="2">- Coatbridge </option> <option value="63">- Cumbernauld </option> <option value="95">- Motherwell </option> <option value="129">Lanarkshire South </option> <option value="46">- East Kilbride </option> <option value="8">- Hamilton </option> <option value="433">Midlothian</option> <option value="179">Moray</option> <option value="1068">Orkney Islands</option> <option value="50">Perth and Kinross</option> <option value="7010">- Perth and Kinross (North)</option> <option value="7011">- Perth and Kinross (South)</option> <option value="15">- Perth</option> <option value="89">Renfrewshire </option> <option value="154">- Johnstone </option> <option value="36">- Paisley </option> <option value="144">Renfrewshire East </option> <option value="937">Shetland Islands</option> <option value="91">Stirling </option> <option value="165">- Loch Lomond </option> <option value="524">- Stirling (Town) </option> <option value="164">West Lothian </option> <option value="13">- Livingston </option> <option value="249">Western Isles</option> </select> </div> <div class="row" style="margin-top:10px"> <div class="col-xs-12 col-sm-3"> <select class="form-control" name="bedroomsMin" id="bedroomsMin"> <option value="">Bedrooms</option> <option value="">Any</option> <option value="0">Studio</option> <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> </select> </div> <div class="col-xs-12 col-sm-3"> <select class="form-control" name="type" id="propType"> <option value="">Type</option> <optgroup label=""> <option value="House">House</option> <option value="Flat">Flat</option> </optgroup> <optgroup label=""> <option value="Detached">Detached house</option> <option value="Semi-detached">Semi-det. house</option> <option value="Terraced">Terraced house</option> <option value="Bungalow">Bungalow</option> <option value="Cottage">Cottage</option> <option value="Mews">Mews</option> <option value="Townhouse">Townhouse</option> <option value="Conversion">Conversion</option> <option value="Plot">Plot</option> </optgroup> </select> </div> <div class="col-xs-12 col-sm-3"> <select class="form-control" name="minprice" id="minprice"> <option value="0">Min. Price</option> <option value="0">£0</option> <option value="50000">£50,000</option> <option value="60000">£60,000</option> <option value="70000">£70,000</option> <option value="80000">£80,000</option> <option value="90000">£90,000</option> <option value="100000">£100,000</option> <option value="110000">£110,000</option> <option value="60000">£150,000</option> <option value="160000">£160,000</option> <option value="170000">£170,000</option> <option value="175000">£175,000</option> <option value="180000">£180,000</option> <option value="190000">£190,000</option> <option value="200000">£200,000</option> <option value="210000">£210,000</option> <option value="220000">£220,000</option> <option value="230000">£230,000</option> <option value="240000">£240,000</option> <option value="250000">£250,000</option> <option value="260000">£260,000</option> <option value="270000">£270,000</option> <option value="280000">£280,000</option> <option value="290000">£290,000</option> <option value="300000">£300,000</option> <option value="325000">£325,000</option> <option value="350000">£350,000</option> <option value="375000">£375,000</option> <option value="400000">£400,000</option> <option value="425000">£425,000</option> <option value="450000">£450,000</option> <option value="475000">£475,000</option> <option value="500000">£500,000</option> <option value="550000">£550,000</option> <option value="600000">£600,000</option> <option value="650000">£650,000</option> <option value="700000">£700,000</option> <option value="800000">£800,000</option> <option value="900000">£900,000</option> <option value="1000000">£1,000,000</option> <option value="1500000">£1,500,000</option> <option value="2000000">£2,000,000</option> <option value="3000000">£3,000,000</option> <option value="4000000">£4,000,000</option> </select> </div> <div class="col-xs-12 col-sm-3"> <input type="submit" class="btn btn-primary col-xs-12" value="Search" /> </div> </div> </div> </div> </form> </div> </div> </div> <p> </p> <div class="row"> <div class="col-xs-5 col-sm-7 col-md-8 col-sm-push-5 col-md-push-4"> <h3 class="s1-light-blue no-margin">Latest properties for sale near you</h3> <div id="fprops"> <span class="s1-loader"><img src="https://www.s1homes.com/homes-shared-ui/images/ajax-loader.gif" /> loading</span> <script id="fprops-template" type="text/x-handlebars-template"> {{#each property_list}} <div class="row listing"> <div class="col-xs-12 col-md-3"> <a href="https://www.s1homes.com/property-for-sale/{{prop_id}}.shtml" target="_blank"> {{#if main_image}} <img src="https://www.s1homes.com/{{main_image}}" class="img-responsive"/> {{else}} <img src="https://www.s1homes.com/homes-shared-ui/images/aw-lge.png" class="img-responsive"/> {{/if}} </a> </div> <div class="visible-xs visible-sm"> <div class="clear"> </div> </div> <div class="col-xs-8 col-md-6"><a href="https://www.s1homes.com/property-for-sale/{{prop_id}}.shtml" target="_blank">{{street_address}}, {{area_display}}, {{postcode}}</a> <br/>{{price_modifier}} £{{price}} <br/> {{#if bedrooms}} {{bedrooms}} bedroom {{type}} {{else}} {{type}} {{/if}} <br/><br/> <a href="https://www.s1homes.com/property-for-sale/{{prop_id}}.shtml" type="submit" class="btn btn-primary col-md-4" style="color:#ffffff; text-decoration: none" target="_blank">More Details</a> </div> <div class="col-xs-4 col-md-3 pull-right"> <img src="https://www.s1homes.com/{{agent_logo}}" class="img-responsive"/> <p class="s1-bold font-size-small">{{agent_phone}}</p> </div> </div> {{/each}} </script> </div> </div> <div class="col-xs-12 col-sm-5 col-md-4 col-sm-pull-7 col-md-pull-8"> <div class="row col-xs-12"> <img src="https://www.s1homes.com/homes-shared-ui/images/lva-image.jpg" class="img-responsive"> <br/> <h4 class="s1-light-blue"><strong>Selling your home?</strong></h4> We can help. Get a free valuation from a trusted Scottish agent today.<br/><br/> <a class="btn btn-primary col-xs-12" name="btn-submit" id="btn-submit" style="color: #fff" value="GO" type="submit" target="_blank" title="Find out more" href="https://www.s1homes.com/selling/estate-agents/?cmpid=LVA-search-results-page">Find out more</a> </div> <div class="row col-xs-12" style="margin-top:20px" id="f-agents"> <h4>Agents in your area</h4> <div class="row col-xs-12"> <span class="s1-loader"><img src="https://www.s1homes.com/homes-shared-ui/images/ajax-loader.gif" /> loading</span> <ul class="list-unstyled" id="fagents"> <!-- The handlebar template --> <script id="fagents-template" type="text/x-handlebars-template"> {{#each agent_list}} {{#compare count_sale 0 operator="!=" }} <li class="clearfix"><a href="https://www.s1homes.com/{{company_name_slug}}/branches/{{name_slug}}" target="_blank"><img src="https://www.s1homes.com/{{agent_logo}}"></a><a href="https://www.s1homes.com/{{company_name_slug}}/branches/{{name_slug}}" class="s1-dark-blue s1-bold" target="_blank">{{name}}</a><br/>{{count_sale}} properties for sale</li></li> {{/compare}} {{/each}} {{#compare agent_list.length 10 operator=">" }} <style> #fagents li:nth-of-type(1n+11) {display: none;} </style> {{/compare}} {{#compare agent_list.length 11 operator="<" }} <style> #agent-count{display:none!important} </style> {{/compare}} </script> </ul> <a href="#" style="color:#1a2a5b; font-weight:bold" id="agent-count">View more agents</a> </div> </div> </div> </div> </div> </div> </div> <!-- ############ --> <!-- END s1 homes --> </div> </div> </div> </div> </div> <!-- standard - Footer.html --> <footer class="footer-outer"> <div class="footer container-inner-width"> <ul class="list-style-none footer__menu"> <li><a href="/contact/">Contact us</a></li> <li><a href="/gdpr/" class="gdpr-option-v2" data-v2-id="191113" data-is-gate="no">Manage Consent</a></li> <li><a href="/announcements/">Announcements</a></li> <li><a href="http://leap.heraldscotland.com">Leap</a></li> <li><a href="https://www.newsquest.co.uk/cookie-policy/" target="_blank">Cookie Policy</a></li> <li><a href="https://www.newsquest.co.uk/terms-conditions/" target="_blank">Terms &amp; Conditions</a></li> <li><a href="https://www.newsquest.co.uk/contributor-terms/" target="_blank">Contributor Terms</a></li> <li><a href="https://www.newsquestprinting.co.uk/" target="_blank">Newsquest printing</a></li> <li><a href="/advertising/">Advertise</a></li> <li><a href="/emailbulletins/">Newsletters</a></li> <li><a href="/reader-rewards/">Reader Rewards</a></li> <li><a href="/misc/sitemap/">Site Map</a></li> <li><a href="https://www.exchangeandmart.co.uk/" target="_blank">Exchange and Mart</a></li> <li><a href="https://www.newsquest.co.uk/terms-of-advertising/" target="_blank">Terms of Advertising</a></li> <li><a href="https://www.newsquest.co.uk/privacy-policy/" target="_blank">Privacy Policy</a></li> <li><a href="https://www.newsquest.co.uk/diversity-statement/" target="_blank">Diversity Statement</a></li> <li><a href="https://newsquest.newsprints.co.uk/">Photo sales</a></li> <li><a href="/publications/">Our Publications</a></li> <li><a href="/archive/">Archive</a></li> <li><a href="/submit-an-event/">Add Your Event For Free</a></li> </ul> <div class="footer__social-media"> <h3 class="footer__heading footer__social-media--heading">follow us</h3> <a class="footer__social-media--link" href="https://www.facebook.com/heraldscotland/" title="Like us on Facebook" role="link" data-media-type="facebook" > <i class="footer__social-media--icon iconify"></i> Like us on Facebook </a> <a class="footer__social-media--link" href="https://twitter.com/heraldscotland" title="Follow us on X.com" role="link" data-media-type="twitter" > <i class="footer__social-media--icon iconify"></i> Follow us on X.com </a> <a class="footer__social-media--link" href="https://www.instagram.com/theheraldscotland/" title="Follow us on Instagram" role="link" data-media-type="instagram" > <i class="footer__social-media--icon iconify"></i> Follow us on Instagram </a> </div> <div class="footer__ipso-terms "> <img class="footer__ipso-terms--logo" src="/resources/responsive-static/mds/images/ipso-regulated.svg" /> <p class="footer__ipso-terms--copy"> This website and associated newspapers adhere to the Independent Press Standards Organisation's Editors' Code of Practice. If you have a complaint about the editorial content which relates to inaccuracy or intrusion, then please <a class="footer__ipso-terms--link" href="/contact"> contact the editor here</a>. If you are dissatisfied with the response provided you can <a class="footer__ipso-terms--link" href="https://www.ipso.co.uk/contact-us/">contact IPSO here</a> </p> <p class="footer__ipso-terms--copy"> <a class="footer__ipso-terms--link" href="/my/account/copyrights/">&copy; 2001-2024</a>. <a class="footer__ipso-terms--link" href="https://www.newsquest.co.uk">Newsquest Media Group Ltd</a>, 1st Floor, Chartist Tower, Upper Dock Street, Newport, Wales, NP20 1DW | 01676637 | </p> </div> </div> </footer> <div id="fb-root"></div> </div> </div> <!-- standard - Modal.html --> <div class="mar-modal-container mar-modal-container--animate mar-modal-container--animate-out visually-hidden"> <div class="mar-modal-overlay" data-uses-js="close-modal"></div> <div class="mar-modal" tabindex="-1" role="dialog"> <div class="mar-modal__header"> <h4 class="mar-modal__title">Modal headline</h4> <div class="mar-modal__close" data-uses-js="close-modal"> <!-- standard - IconClose.html --> <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M7.60714 6L11.6518 10.0446C11.7589 10.1518 11.8438 10.2768 11.9062 10.4196C11.9688 10.5625 12 10.7143 12 10.875C12 11.1786 11.8884 11.442 11.6652 11.6652C11.442 11.8884 11.1696 12 10.8482 12C10.6875 12 10.5357 11.9688 10.3929 11.9062C10.25 11.8438 10.1339 11.7589 10.0446 11.6518L6 7.60714L1.95536 11.6518C1.84821 11.7589 1.72321 11.8438 1.58036 11.9062C1.4375 11.9688 1.28572 12 1.125 12C0.821427 12 0.558037 11.8884 0.334821 11.6652C0.111606 11.442 0 11.1786 0 10.875C0 10.7143 0.0312497 10.5625 0.09375 10.4196C0.15625 10.2768 0.241071 10.1518 0.348214 10.0446L4.36607 6L0.348214 1.95536C0.241071 1.84821 0.15625 1.72768 0.09375 1.59375C0.0312497 1.45982 0 1.3125 0 1.15179C0 0.830355 0.111606 0.558037 0.334821 0.334821C0.558037 0.111606 0.821427 0 1.125 0C1.28572 0 1.4375 0.0312497 1.58036 0.09375C1.72321 0.15625 1.84821 0.241071 1.95536 0.348214L6 4.39286L10.0446 0.348214C10.1339 0.241071 10.25 0.15625 10.3929 0.09375C10.5357 0.0312497 10.6875 0 10.8482 0C11.1696 0 11.442 0.111606 11.6652 0.334821C11.8884 0.558037 12 0.830355 12 1.15179C12 1.3125 11.9688 1.45982 11.9062 1.59375C11.8438 1.72768 11.7589 1.84821 11.6518 1.95536L7.60714 6Z" fill="#9DA0A4"/> </svg> <span>Close</span> </div> </div> <div class="mar-modal__body">Automatically injected HTML goes here</div> <div class="mar-modal__actions"> <!-- standard - Buttons.html --> <button type="button" data-uses-js="modal-submit" class=" mar-btn mar-btn--light mar-btn--md " > Submit </button> <!-- standard - Buttons.html --> <button type="button" data-uses-js="modal-cancel" class=" mar-btn mar-btn--outline mar-btn--md " > Cancel </button> </div> </div> </div> </body> <!-- Twitter widget script --> <script src="//platform.twitter.com/widgets.js" charset="utf-8"></script> <script src="/resources/responsive-static/build/mds/js/global.js?cb=uUAjmAdC"></script> <script src="/resources/responsive-static/build/mds/js/homepage.js?cb=uUAjmAdC"></script> <script src="/__siren/"></script> <!-- standard - AudienceTracking.html --> <script type="text/javascript"> var s_account="newsquestgroupprod"; </script> <script type="text/javascript" src="/resources/responsive-static/vendor/adobe/VisitorAPI.js?cb=uUAjmAdC"></script> <script type="text/javascript" src="/resources/responsive-static/vendor/adobe/omniture.js?cb=uUAjmAdC"></script> <script type="text/javascript"> function getOmniturePath() { var path = ''; if ($('#gallery-base-url').length === 1) { path = $('#gallery-base-url').val(); } else { path = window.location.pathname; } return path; } function getPositionFromCookie() { var ref = $.cookie('tracking_block_index'); $.removeCookie('tracking_block_index', { path: '/', domain: window.data_layer.site.cookie_domain, }); return ref; } function getRefFromCookie() { var ref = $.cookie('tracking_block'); $.removeCookie('tracking_block', { path: '/', domain: window.data_layer.site.cookie_domain, }); return ref; } function getOmnitureTrackingFromCookie(key, preExistingValue) { var ref = $.cookie('o-' + key); if(typeof(ref) === 'undefined') { ref = preExistingValue } else { ref = decodeURIComponent(ref); $.removeCookie('o-' + key, { path: '/', domain: window.data_layer.site.cookie_domain, }); } return ref; } function getValidatedAPList() { var validList = [1100, 1101, 1002, 1006, 1010, 1014, 1018, 1022, 1200, 1202, 1205, 1300, 1602, 1605, 1608, 1612, 1616, 1500, 1503, 1507, 1509, 1512, 1402, 1406, 1409, 1412, 1416, 14331, 14333, 14335, 14336, 14339, 14342, 14344, 14345, 14346, 14350, 14351, 14353, 14359, 14366, 14370, 14371, 14377, 14388, 14394, 14396, 14399, 14407, 14221, 14423, 15679, 15681, 15682, 15683, 15684, 15686, 15687, 15688, 15975]; var data = getAudienceProjectTargetingData(); if (!data || !data.ap_x) { return ''; } validData = []; $.each(data.ap_x, function(i, td) { if ($.inArray(parseInt(td, 10), validList) !== -1) { validData.push(td); } }); return validData.join(','); } path = document.location.href.split("/"); var prop30 = qs.get('lp'); var prop43 = qs.get('ref'); var pType="StaticHtmlModule" if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') { pType = 'ArticleModule'; } for(x=4; x<7; x++) { if (typeof path[x] == 'undefined') { path[x] = ''; } if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1)) { path[x] = path[x-1]; } else { path[x] = path[x-1] + "/" + path[x]; } path[x] = path[x].replace(/\/undefined/g,""); } pathN= unescape(document.location.pathname.toString()); matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/); detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/); if (detailMatches !== null && detailMatches.length > 1) { matches = detailMatches; } if (matches !== null && matches.length > 1) { var subfolder = ''; path[3] = 'li'; path[4] = 'li/'+subfolder; path[5] = 'li/'+subfolder+'/'+matches[1]; path[6] = 'li/'+subfolder+'/'+matches[1]; } if (pathN === '/') { path[3] = 'homepage'; path[4] = 'homepage'; path[5] = 'homepage'; path[6] = 'homepage'; } /* You may give each page an identifying name, server, and channel on the next lines. */ s.pageName="(www) "+getOmniturePath(); s.pageName = s.pageName.toLowerCase(); s.server="dmh-martini-web3" s.channel="" s.pageType="" s.prop1= qs.get('search'); s.prop2="" s.prop3=document.title s.prop4="" s.prop5="StaticHtmlModule" /* get from Martini */ s.prop6=path[3].toLowerCase() s.prop7=path[4].toLowerCase() s.prop8=path[5].toLowerCase() s.prop9=path[6].toLowerCase() s.prop10="" s.prop16=path[2].toLowerCase() s.prop17="Herald and Times" s.prop18="Martini" s.prop19="1" s.prop20 = s.getPreviousValue(s.pageName, 'gpv_pn'); s.prop53 = 'standard'; s.prop54 = ''; s.prop55 = ''; s.prop56 = ""; s.prop57 = ($('[data-name="Feature Article Block A"]').length > 0) ? 'Enabled' : 'Disabled'; s.prop58 = $('[data-name="Feature Article Block B"]').data('variant'); s.prop59 = getRefFromCookie(); s.prop60 = getPositionFromCookie(); s.prop73 = $.cookie('adtiming'); var eVar67 = []; if ($.cookie('consentUUID')) { eVar67.push('yes'); } else { eVar67.push('no'); } if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { eVar67.push('yes'); } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { eVar67.push('no'); } else { eVar67.push('none'); } if ($.cookie('_sp_legitimate_interests') === 'true') { eVar67.push('yes'); } else if ($.cookie('_sp_legitimate_interests') === 'false') { eVar67.push('no'); } else { eVar67.push('none'); } //if ($.cookie('euconsent')) { // eVar67.push($.cookie('euconsent')); //} else { // eVar67.push('none'); //} s.eVar67 = eVar67.join(','); // console.log('ADB: setting eVar67 to %s', eVar67.join(',')); if ($.cookie('prev-tcf-v2')) { // console.log('ADB: Setting eVar68 to ', $.cookie('prev-tcf-v2')); s.eVar68 = $.cookie('prev-tcf-v2'); } if (typeof iabNames !== 'undefined') { s.prop29 = iabNames.join(','); } else if (typeof iabIds !== 'undefined') { s.prop29 = iabIds.join(','); } if (s.prop20 && s.prop20 !== 'no value') { s.prop21 = s.getPercentPageViewed(); } else { s.prop21 = ''; } if (typeof __siren !== 'undefined') { s.eVar27 = __siren; } s.prop22 = s.getDaysSinceLastVisit('s_lv'); s.prop43=getOmnitureTrackingFromCookie('ref', prop43); s.prop25 = '' s.prop27 = ''; s.prop30 = getOmnitureTrackingFromCookie('prop30', prop30); s.linkInternalFilters="javascript:,heraldscotland.com,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk," s.eVar61=(new Date()).toLocaleDateString("en-GB"); s.eVar62=(new Date()).toLocaleDateString("en-GB"); /* Article-site-cloning data */ s.eVar90 = window.data_layer.article.parent_originating_site_id; s.eVar91 = window.data_layer.article.originating_article_id; s.eVar92 = window.data_layer.article.is_original_to_site; s.eVar95 = window.data_layer.site.using_piano_id; s.eVar106 = ''; /* Uber block article counts */ s.eVar93 = window.data_layer.page.top_stories_article_count + ':' + window.data_layer.page.interstitial_article_count + ':' + window.data_layer.page.news_stories_article_count; /* Conversion Variables */ s.campaign="" s.state="" s.zip="" s.events="" s.products="" s.purchaseID="" s.eVar14="" try { s.list3=getValidatedAPList(); } catch (e) { // do nothing } // Initial fotorama tracking. var moduleType = null; if (s.prop5 === 'ArticleModule' || s.prop5 == 'PropertyModuleReplacement' || s.prop5 === 'BlockArticleModule') { moduleType = 'article'; } else if (s.prop5 === 'PictureGalleryModule') { moduleType = 'gallery'; } if (moduleType === 'article' || moduleType === 'gallery') { var imagePath = ''; if ($('.fotorama').length > 0) { // Get the first Fotorama image. try { var el = $('.fotorama').data('fotorama').data[0].html; var url = $(el).find('div').css('background-image'); imagePath = url.replace('url(','').replace(')','').replace(/\"/gi, ""); } catch (e) { } } else { // If there's just one image (i.e. it's not a gallery), find its path. var imagePathSingle = $('#mainImage').attr('src'); if (typeof imagePathSingle !== 'undefined') { imagePath = imagePathSingle.split('.')[0] + '/'; } } var imageParts = imagePath.split('/'); if (imageParts.length > 1) { s.eVar37 = imageParts[imageParts.length - 2]; s.prop37 = imageParts[imageParts.length - 2]; s.events = s.apl(s.events, 'event7', ',', 2); } s.eVar36 = moduleType; s.prop36 = moduleType; } // Education pages. if (s.prop5 === 'ResponsiveEducationModule') { // School profile page. if ($('#eduOverview').length > 0) { s.eVar40 = $('#eduOverview').data('school-status'); s.prop40 = s.eVar40; s.prop41 = 'edu-' + $('#eduOverview').data('school-urn'); s.prop46 = $('#town').text(); } // Comparison page. if ($('#eduComparisonTable').length > 0) { s.list1 = ''; } // Results page. if ($('.school-results').length > 0) { s.list1 = ''; // Track the search criteria. s.prop44 = ''; s.prop45 = "".toLowerCase(); s.prop46 = "".toLowerCase(); s.prop49 = ''; s.prop50 = ''; s.prop51 = ''; s.eVar2 = s.prop50; var newSearch = false; if (newSearch) { s.events = s.apl(s.events, 'event17', ',', 1); } } } //New Property module if (s.prop5 === 'ResponsivePropertyModule') { /* Use prop42 for single and list pages, for list pages use hyphen separate lists of id's */ //Property's all over the place (homepage, searches etc - HOM-133 //Property Detail - HOM-131, HOM-134, HOM-130 //Contact us submissions - HOM-137 if($('#propertyModule.agent-details').length > 0) { //Add a click handler for a.contact-detail } } // is their a video tag on the page? if ($('.exco-embed').length > 0) { console.log('VID: setting tracking for event50'); s.events = s.apl(s.events, 'event50', ',', 1); } var foundAutoPlayVid = false; $('.jw-outer').each(function (a, domEle) { if ($(this).data('multimedia-block') === 'no' && !foundAutoPlayVid) { console.log('VID: setting tracking for event51'); s.events = s.apl(s.events, 'event51', ',', 1); foundAutoPlayVid = true; } }); s.eVar66 = 'Ad-Full-Herald'; // var eVar65Copy = s.getValOnce(s.eVar65, "ev65", 0); // if (eVar65Copy !== '' && s.prop20.indexOf("/my/subscription/activate/") > -1) { // s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event. // s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event. // s.products = "Subscription : Metered Access;" + eVar65Copy + ";1;"; // s.purchaseID = ""; // } if(qs.get('action') === 'success' && (s.prop5 === 'ArticleModule' || s.prop5 === 'BMDModule' || s.prop5 === 'BlockArticleModule')) { s.events=s.apl(s.events,'event9',',',2) } /* Hierarchy Variables */ s.hier1="newsquest," + "Herald and Times" + ",www.heraldscotland.com," + path[6].replace(/\//,","); if (typeof MartiniFotorama !== 'undefined') { MartiniFotorama.loadOmniture(s); } s.prop39 = "0"; // Tracking usage of Bytecast audio embeds in articles. s.eVar82 = 'no'; s.eVar83 = ''; console.log('ADB: starting'); /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ if (qs.get('callback') !== 'in' && navigator.userAgent.toString().toLowerCase().indexOf('googlebot') === -1) { var s_code=s.t(); var backupAdobe = s; if(s_code)document.write(s_code) } //--></script> <!-- End SiteCatalyst code version: H.19.3. --> <script src="//connect.facebook.net/en_US/all.js#xfbml=1"></script> <script async src="https://www.tiktok.com/embed.js"></script> </html>

Pages: 1 2 3 4 5 6 7 8 9 10