PageSourceSearch

https://www.thenational.scot/contact/

html thenational.scot collected 2026-09-24 08:28:00 UTC 141,213 bytes, 3,670 lines download raw bytes

1<!-- standard - CustomHeader-NoAds-Site.html --> <!DOCTYPE html>
2<html lang="en" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">
3<head>
4    <title>Contact &amp; Help | The National</title>
5
6    <meta charset="utf-8">
7    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
8    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
9    <meta name="OMG-Verify-V1" content="4389-366acdfc-5224-4c07-bb70-f74d8fbfc2db" />
10    <meta name="robots" content="max-image-preview:large">
11    <meta name="format-detection" content="telephone=no">
12
13    <style>
14        .mar-leaderboard--top {
15            display: none;
16        }
17    </style>
18    
18<script>
19        window.doNotAdvertise = true;
20    </script>
20
21    <link rel="canonical" href="https://www.thenational.scot/contact/" />
22	<meta property="fb:pages" content="1419943011629069" />
23	<meta name="title" content="Contact & Help | The National"/>
24	<meta name="description" content="Get help, support and contact information for The National"/>
25	<meta name="keywords" content=""/>
26
27<script type="application/ld+json">
28    {
29        "@context": "http://schema.org",
30        "@type": "WebPage",
31        "headline": "Contact & Help | The National",
32        "url": "https://www.thenational.scot/contact/"
33    }
34</script>
34
35
36
37
38
39
40
41
42
43    <link id="page_stylesheet_vars" href="/resources/responsive-static/build/mds/css/palette-2-slab-vars.css?r=ezbp4BC2" rel="stylesheet" type="text/css">
44
45    <link href="/resources/responsive-static/build/mds/css/header-footer.css?r=ezbp4BC2" rel="stylesheet" type="text/css">
46
47    <link id="page_stylesheet" href="/resources/responsive-static/build/mds/css/contactus.css?r=ezbp4BC2" rel="stylesheet" type="text/css">
48
49    <link rel="shortcut icon" href="/resources/images/17401918/" type="image/vnd.microsoft.icon">
50    <link rel="icon" href="/resources/images/17401918/" type="image/vnd.microsoft.icon">
51    
51<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha384-1H217gwSVyLSIfaLxHbE7dRb3v4mYCKbpQvzx0cegeju1MVsGrX5xXxAvs/HgeFs" crossorigin="anonymous"></script>
vendor: 1 bytes, line 51
51
52<script src="https://code.jquery.com/jquery-migrate-3.6.0.js" integrity="sha384-ekzRTCLAU/LqHRBjnphRAxgZZvGdoP+TfkGGsX+tBJpRdM7r2/89ZZNzC/7YTJXX" crossorigin="anonymous"></script>
vendor: 1 bytes, line 52
52
53<script type="text/javascript" src="/resources/shared/responsive-sync/?r=ezbp4BC2"></script>
53
54
55<script type="text/javascript">
56    data_layer_helper.setIsArticle(false);
57    data_layer_helper.setCookieDomain('.thenational.scot');
58    data_layer_helper.setModuleType('Newsquest\Modules\ContactUsModule');
59    data_layer_helper.setLocalInfoFolder('');
60    data_layer_helper.setHomesData('', '', '', 'contact');
61    data_layer_helper.setPrimaryDomain('www.thenational.scot');
62    data_layer_helper.setPath('/contact/');
63    data_layer_helper.setGoogleNetworkCode('154725070');
64    data_layer_helper.setArticleTimestamp('');
65    data_layer_helper.setPathOverride();
66
67
68    var extraTags = [];
69    
70        extraTags.push('user_level_anonymous');
71    
72
73    var data_layer = {
74        environment: {
75            is_test_site: 'no',
76            is_live_site: 'yes',
77            is_paywall_site: 'yes',
78            is_portable_screen: (data_layer_helper.isMobileScreen()) ? 'yes' : 'no',
79            is_desktop_screen: (data_layer_helper.isMobileScreen()) ? 'no' : 'yes',
80            is_mobile_device: data_layer_helper.getMobileDevice(),
81            is_tablet_device: data_layer_helper.getTabletDevice(),
82            server: 'webapp-8b9494575-klhf7',
83            platform: 'Martini'
84        },
85        site: {
86            id: '1106',
87            comments_subscriber_only: 'no',
88            viafoura_site_id: '00000000-0000-4000-8000-029b4c880824',
89            comments_use_viafoura: 'yes',
90            centre_id: '14',
91            centre_name: 'Herald and Times',
92            country: 'Scotland',
93            name: 'The National',
94            name_with_prefix_capitalised_possessive: 'The National\'s',
95            name_with_prefix_lower_possessive: 'The National\'s',
96            domain: 'www.thenational.scot',
97            editor_name: 'Laura Webster',
98            onboarding_enabled: 'yes',
99            onboarding_flow_id: 'the_national',
100            allowing_mr_replacement: '',
101            cookie_domain: '.thenational.scot',
102            uses_cmp: 'yes',
103            short_domain: 'thenational',
104            using_piano_id: 'yes',
105            enable_skimlinks: 'yes',
106            skimlinks_domain_id: '1680395',
107            disable_newsletters: 'no',
108            is_archant_site: 'no',
109            shc_merchant_name: '',
110            piano_application_group: 'Bespoke',
111            piano_site_name: 'The National',
112            piano_site_name_possessive: 'The National\'s',
113            piano_site_name_with_prefix_lower: 'The National',
114            piano_site_name_with_prefix_capitalised: 'The National',
115            piano_site_name_with_prefix_capitalised_possessive: 'The National\'s',
116            piano_site_name_with_prefix_lower_possessive: 'The National\'s',
117            piano_location_primary: 'Scotland',
118            piano_location_primary_possessive: 'Scotland\'s',
119            piano_location_county: 'Scotland',
120            piano_location_county_possessive: 'Scotland\'s',
121            piano_primary_sports_team: '',
122            piano_primary_sports_team_nickname: '',
123            piano_primary_sports_team_sport: '',
124            piano_primary_sports_team_possessive: '',
125            piano_primary_sports_team_nickname_possessive: '',
126            piano_self_service_cancellation_setting: 'Only Monthly',
127            has_app: 'yes',
128            app_provider: 'pagesuite',
129            app_platform: 'pagesuite-hybrid',
130            app_store_url_ios: 'https://apps.apple.com/app/the-national/id1133606986',
131            app_store_url_google_play: 'https://play.google.com/store/apps/details?id=com.pagesuite.thenational'
132        },
133        page: {
134            module: 'Newsquest\Modules\ContactUsModule',
135            referrer: data_layer_helper.getReferrerHostName(),
136            name: '(www) ' + data_layer_helper.getOmniturePath(),
137            title: document.title,
138            path: data_layer_helper.getOmniturePath(),
139            section: data_layer_helper.getPathFragment(0),
140            subsection: data_layer_helper.getPathFragment(1),
141            subsection_2: data_layer_helper.getPathFragment(2),
142            subsection_3: data_layer_helper.getPathFragment(3),
143            reference: qs.get('ref'),
144            layout: '',
145            ad_timing: data_layer_helper.getCookie('adtiming'),
146            template_namespace: 'standard',
147            template: '',
148            colour_scheme: '',
149            layout_template: '',
150            mds_font: 'slab',
151            user_used_app_last_24hours: '',
152            user_used_app_last_7days: '',
153            user_used_app_last_14days: '',
154            mds_colour_palette: 'palette-2',
155            feature_block_a_enabled: ($('[data-name="Feature Article Block A"]').length > 0) ? 'yes' : 'no',
156            feature_block_b_variant: (typeof $('[data-name="Feature Article Block B"]').data('variant') === 'undefined') ? '' : $('[data-name="Feature Article Block B"]').data('variant'),
157            is_article_list: 'no',
158            error_404: '',
159            top_stories_article_count: '',
160            interstitial_dedupe_top_stories: '',
161            interstitial_desktop_height: '',
162            interstitial_mobile_height: '',
163            interstitial_tablet_height: '',
164            interstitial_piano_module_id: '',
165            interstitial_using_recommendations: '',
166            interstitial_recommendation_header: '',
167            interstitial_article_count: '',
168            news_stories_article_count: '',
169            site_newspaper_archive_enabled: 'yes',
170            site_newspaper_archive_number_of_pages: '123,500',
171            site_newspaper_archive_start_year: 2015,
172            article_originates_from_this_site: '',
173            article_originates_from_site: '',
174            article_originates_from_url: ''
175        },
176        user: {
177            id: '',
178            first_name: '',
179            advertising_experience: 'Ad-Full',
180            is_privacy_plus: 'no',
181            is_alist: 'no',
182            level: data_layer_helper.getCookie('nq_ul'),
183            seen_cmp: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true' || data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no',
184            given_consent: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true') ? 'yes' : 'no',
185            consent_string: data_layer_helper.getConsentString(),
186            type: 'anonymous',
187            parsely_type: 'Anonymous',
188            chartbeat_type: 'anon',
189            type_as_int: '1',
190            is_logged_in: 'no',
191            is_admin: 'no',
192            is_internal_admin: '',
193            has_full_admin_link_permissions: '',
194            has_registered: (data_layer_helper.getCookie('nqr') !== null) ? 'yes' : 'no',
195            comments_verified: '',
196            comments_verified_date: '',
197            user_email_is_verified: '',
198            user_email_is_verified_date: '',
199            mobile_number_is_verified: '',
200            mobile_number_is_verified_date: '',
201            user_needs_email_verification: '',
202            user_needs_mobile_verification: '',
203            user_too_many_requests: '',
204            age_decade:  '0' ,
205            gender:  'u' ,
206            is_known: data_layer_helper.getCookie('__siren') ? 'yes' : 'no',
207            hash: '',
208            lr_hash_1: '',
209            lr_hash_2: '',
210            lr_hash_3: '',
211            gender:  'u' ,
212            user_decade:  '0' ,
213            subscription_plan: '',
214            subscription_tier: 'null',
215            subscription_plan_and_frequency: ' - ',
216            commented: (data_layer_helper.isArticle() && qs.get('action') === 'success') ? 'yes' : 'no',
217            time_since_last_visit: 'not implemented (maybe drop)',
218            device: data_layer_helper.getDevice(),
219            using_ad_blocker_sourcepoint: data_layer_helper.getSourcepointAdbockStatus(),
220            admin_user_name: '',
221            is_admin_internal: '',
222            is_admin_external: '',
223            card_expired: '',
224            card_will_expire: '',
225            expires_urgency: '',
226            abandoned_cart: 'no',
227            subscription_expired: 'no',
228            is_archant_site: 'no',
229            signed_up_primary_news_newsletter: 'no',
230            signed_up_primary_sport_newsletter: 'no',
231            played_free_puzzles_last_7days: '',
232            played_paid_puzzles_last_7days: '',
233            commenter_badge: '',
234        },
235        analytics: {
236            hierachy: 'newsquest,Herald and Times,www.thenational.scot,' + data_layer_helper.getPathFragment(3).replace(/\//,','),
237            link_filters: 'javascript:,thenational.scot,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk,',
238            tracking_block: data_layer_helper.getTrackingFromCookie('tracking_block', ''),
239            tracking_block_index: data_layer_helper.getTrackingFromCookie('tracking_block_index', ''),
240            previous_page_name: data_layer_helper.getCookie('nq_prev_page'),
241            advert_id: '',
242            position_in_list: data_layer_helper.getTrackingFromCookie('o-prop30', ''),
243            featured_content: data_layer_helper.getTrackingFromCookie('o-ref', qs.get('ref')),
244            account: data_layer_helper.getAccount()
245        },
246        chartbeat: {
247            enabled: "no",
248            id: "",
249            domain: "",
250            sections: ''
251        },
252        parsely: {
253            enabled: "yes",
254            site_id: "thenational.scot",
255            type: 'Anonymous'
256        },
257        piano: {
258            tags: data_layer_helper.getPianoTags({
259                      piano_domain: 'thenational',
260                      piano_master: '',
261                      breaking_news: false,
262                      editorial_opinion: false,
263                      free_subscriber: false,
264                      free_subscriber: false,
265                      has_video: false,
266                      is_article: false,
267                      article_content_level : '',
268                      article_content_level_open_access: false,
269                      picture_gallery_id: false,
270                      user_is_newsquest: false,
271                      user_is_entra_authenticated: false,
272                      user_logged_in: false,
273                      is_live_article: false,
274                      why_free_subscriber: '',
275                      extra_tags: extraTags,
276                      is_covid_headline: false,
277                      is_covid_body: false,
278                      is_alist: false,
279                      audio_provider_bytecast: false
280                  }
281            ),
282            custom_variables: {
283                article_length: '',
284                application_group: 'Bespoke',
285                content_is_editorial_opinion: 'no',
286                base_url: 'https://www.thenational.scot',
287                full_url: document.location.href,
288                mds_font: 'slab',
289                mds_colour_palette: 'palette-2',
290                site_name: 'The National',
291                site_name_possessive: 'The National\'s',
292                site_name_with_prefix_capitalised: 'The National',
293                site_name_with_prefix_lower: 'The National',
294                site_name_with_prefix_capitalised_possessive: 'The National\'s',
295                site_name_with_prefix_lower_possessive: 'The National\'s',
296                location_primary: 'Scotland',
297                location_primary_possessive: 'Scotland\'s',
298                location_county: 'Scotland',
299                location_county_possessive: 'Scotland\'s',
300                site_has_primary_sports_team: 'no',
301                primary_sports_team: '',
302                primary_sports_team_nickname: '',
303                primary_sports_team_sport: '',
304                primary_sports_team_possessive: '',
305                primary_sports_team_nickname_possessive: '',
306                site_id: '1106',
307                content_level: '',
308                content_author: '',
309                content_id: '',
310                content_is_article: 'no',
311                content_primary_topic: '',
312                user_seen_consent_modal: ($.cookie('_sp_enable_dfp_personalized_ads') === 'true' || $.cookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no',
313                site_section: data_layer_helper.getPathFragment(0, true),
314                article_published_yyyy: '',
315                user_played_free_puzzles_last_7days: '',
316                user_played_paid_puzzles_last_7days: '',
317                anon_user_played_free_puzzles_last_7days: data_layer_helper.untrackedPuzzleCheck(),
318                home_delivery_phone_number: '0141 302 6096',
319                content_is_restricted: data_layer_helper.getRestrictedContent('', '', '', ''),
320                day_of_week: data_layer_helper.getDayOfWeek(),
321                user_card_expired: '',
322                user_card_will_expire: '',
323                user_expires_urgency: '',
324                user_used_app_last_24hours: '',
325                user_used_app_last_7days: '',
326                user_used_app_last_14days: '',
327                user_subscription_tier: 'null',
328                user_is_newsquest: 'no',
329                primary_news_newsletter_id: '1898',
330                primary_news_newsletter_name: 'The REAL Scottish Politics',
331                primary_news_newsletter_description: 'Our top newsletter. Analysis of what\'s really going on in Scottish politics with our political team.',
332                primary_sport_newsletter_id: '1306',
333                primary_sport_newsletter_name: 'the Sports AM',
334                primary_sport_newsletter_description: 'The best Scottish sports stories delivered to your inbox every morning. Come on Scotland!',
335                user_signed_up_primary_news_newsletter: 'no',
336                user_signed_up_primary_sport_newsletter: 'no',
337                newsletter_auto_promote: '',
338                newsletter_auto_promote_name: '',
339                newsletter_auto_promote_description: '',
340                newsletter_auto_promote_ID: '',
341                site_has_app: 'yes',
342                site_app_store_url_ios: 'https://apps.apple.com/app/the-national/id1133606986',
343                site_app_store_url_google_play: 'https://play.google.com/store/apps/details?id=com.pagesuite.thenational',
344                subsets_experiment_id: '',
345                site_section1: data_layer_helper.getPathFragment(1, true), // GBL required
346                site_newspaper_archive_enabled: 'yes',
347                site_newspaper_archive_number_of_pages: '123,500',
348                site_newspaper_archive_start_year: 2015,
349                article_originates_from_this_site: '',
350                article_originates_from_site: '',
351                article_originates_from_url: ''
352            },
353            native_variables: {
354                setContentCreated: '',
355                setContentIsNative:  'no',
356                setContentAuthor: '',
357                setContentSection: data_layer_helper.getPathFragment(0, true)
358            }
359        },
360        article: {
361            cscore:'',
362            showing_preview: '',
363            is_article: data_layer_helper.isArticle() ? 'yes' : 'no',
364            id : '',
365            length_type: '',
366            character_count: '',
367            author: ''.toLowerCase(),
368            e_var15: ''.toLowerCase(),
369            context: '',
370            content_level: '',
371            content_level_open_access: '',
372            content_level_combined: ',,no',
373            content_is_restricted: data_layer_helper.getRestrictedContent('', '', '', ''),
374            increment: (data_layer_helper.isArticle()) ? '+1' : '',
375            sponsor: '',
376            contributions: '0',
377            is_sponsored: 'no',
378            headline: '',
379            age: data_layer_helper.getArticleAge(),
380            upload_date: '',
381            publish_date: '',
382            update_date: '',
383            rating: '',
384            source: data_layer_helper.getSource(''),
385            subjects: (typeof articleSubjects === 'object') ? articleSubjects.join(',') : '',
386            context: '',
387            grapeshot_context: (typeof gs_channels !== 'undefined') ? gs_channels : '',
388            allow_comments: 'no',
389            total_comments: '',
390            originating_site_id: '',
391            parent_article_site_id: '',
392            parent_article_id: '',
393            originating_article_id: '',
394            parent_originating_site_id: '',
395            is_original_to_site: '',
396            is_cloned: '',
397            parent_article_url: '',
398            use_skimlinks: 'no',
399            content_primary_topic: '',
400            taxonomy: {
401                article_types: '',
402                topics: '',
403                sports: '',
404                sports_teams: '',
405                locations: '',
406                shared_content: '',
407                free_tags: '',
408                farming: ''
409            },
410            audio: {
411                has_audio: 'no',
412                provider: ''
413            },
414            article_comments_use_viafoura: ''
415        },
416        homes: {
417            search_bedrooms_minimum: '',
418            search_location: 'contact',
419            search_price_minimum: '',
420            search_price_maximum: '',
421            list: '',
422            id: ''
423        },
424        video: {
425            exists: 'no',
426            auto_play_enabled: data_layer_helper.getAutoPlay('no')
427        },
428        contributions: {
429            allow_text: '',
430            allow_image: '',
431            user_contributions_number: '0',
432            has_user_contributions: 'no'
433        },
434        search: {
435            keywords: qs.get('search'),
436            results: ''
437        },
438        announcements: {
439            category: ''
440        },
441        config: {
442            google_analytics_id: '',
443            site_template_set: 'standard',
444            path: '/contact/',
445            top_level_section: 'contact',
446            polar_property_id: 'NA-THEN-11238221',
447            gallery_show_advert_after: '5',
448            disable_outbrain_with_ad_light: 'yes',
449            disable_outbrain: 'no'
450        },
451        dfp: {
452            is_landing: 'yes',
453            module_path: 'contact',
454            weather_band: '11-15',
455            weather_summary: 'sun'.toLowerCase(),
456            id: data_layer_helper.getGoogleId(),
457            display_screen: data_layer_helper.isMobileScreen() ? 'mobile' : 'desktop',
458            can_show_billboard: (window.screen.width > 960) ? 'y' : 'n'
459        },
460        dates: {
461            date: (new Date()).toLocaleDateString('en-GB'),
462            hour: (new Date()).getHours(),
463            day: data_layer_helper.getDayOfWeek(),
464            weekend: ((new Date()).getDay() === 6 || (new Date()).getDay() === 0) ? 'Weekend' : 'Weekday'
465        },
466        memorials: {
467            contact_phone_number: '',
468            contact_email_address: '',
469            publications: JSON.parse('' || '[]'),
470            user: {
471                id: '',
472                email_verified: 'no',
473                type: ''
474            },
475            funeral_director: {
476                id: '',
477                person_urn: ''
478            }
479        }
480    }
481
482    data_layer_helper.storeCurrentPageName(data_layer.page.name);
483
484    window.dispatchEvent(new Event('data-layer-loaded'))
485
486      data_layer.piano.custom_variables.user_used_app_last_24hours = 'no';
487      data_layer.piano.custom_variables.user_used_app_last_7days = 'no';
488      data_layer.piano.custom_variables.user_used_app_last_14days = 'no';
489  if (data_layer.article.is_article !== 'yes') {
490      data_layer.piano.custom_variables.site_module = 'Newsquest\Modules\ContactUsModule';
491      data_layer.piano.custom_variables.puzzles_landing_page = 'no';
492      data_layer.piano.custom_variables.puzzles_display_page = 'no';
493  }
494</script>
494
495 
496<script
497  src="https://assets.adobedtm.com/499440d21de9/54b957ecfb7e/launch-98090dfa3d73.min.js"
498  async
499></script>
499
500 
501
502<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",r.title="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>
502
503
504<script type = "text/javascript">
505( function () {
506
507    window._sp_ = {
508        config: {
509            baseEndpoint: 'https://a02342.thenational.scot',
510            accountId: 52,
511            targetingParams:{
512                subscribed: false,
513                privacy: false
514            },
515            gdpr: { },
516            events: {
517                onMessageReady: function (message_type) {
518                    trackSPEvents('event76');
519                },
520                onMessageChoiceSelect: function (message_type, choice_id, choice_type_id) {
521                    console.log('message_type: ', message_type);
522                    console.log('choice_id: ', choice_id);
523                    console.log('choice_type_id: ', choice_type_id);
524                    if ('yes' === 'yes') {
525                        if (choice_type_id === 12) {
526                            trackSPEvents('event83'); //Consent Banner Reject All
527                            trackSPEvents('event82'); //Journalism Message Shown
528                        }
529                        if (choice_type_id === 11) {
530                            trackSPEvents('event78');
531                        }
532                        if (choice_type_id === 9) {
533                            trackSPEvents('event77');
534                        }
535                    } else {
536                        // these are the second argument in non-gate
537                        if (choice_type_id === 12) {
538                            trackSPEvents('event77');
539                        }
540
541                        if (choice_type_id === 11) {
542                            trackSPEvents('event78');
543                        }
544
545                        if (choice_type_id === 13) {
546		                    trackSPEvents('event83');
547                        }
548                    }
549                },
550                onPrivacyManagerActionStatus: function(message_type, status, actionType) {
551                    console.log('message_type: ' + message_type);
552                    console.log('status: ' + status);
553                    console.log('actionType: ' + actionType);
554                    if ('yes' === 'yes') {
555                        if (actionType === 11) {
556                            trackSPEvents('event79'); //Privacy Manager Accept
557                        }
558                        if (actionType === 9) {
559                            trackSPEvents('event68'); //Privacy Manager Redirect
560                        }
561                        if (actionType === 1) {
562                            trackSPEvents('event75'); //Forced tcf String Change
563                        }
564                    } else {
565                    // these are the second argument in non-gate
566                        if (actionType === 13) {
567                            trackSPEvents('event81'); //Privacy Manager Reject
568                        }
569                        if (actionType === 11) {
570                            trackSPEvents('event79'); //Privacy Manager Accept
571                        }
572                        if (actionType === 1) {
573                            trackSPEvents('event80'); //Privacy Manager Save & Exit
574                        }
575                    }
576                },
577                onPMCancel: function (message_type) {
578                    console.log('onPMCancel', message_type);
579                    trackSPEvents('event84'); //Privacy Manager Back
580                },
581            }
582        }
583    }
584
585    if (typeof window.__tcfapi === 'function') {
586        window.__tcfapi('addEventListener', 2, function (tcData, success) {
587            console.log('SP: Event Listen:', tcData, success);
588            if (success && tcData.eventStatus === 'useractioncomplete') {
589                setTcfCookie(tcData.purpose.consents, tcData.purpose.legitimateInterests);
590
591                var csnt = 'none';
592                if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') {
593                    csnt = 'yes';
594                } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') {
595                    csnt = 'no';
596                }
597                googletag.cmd.push(function() {
598                    // console.log('DFP: Cookie check - setting dfpcsnt to ', csnt);
599                    googletag.pubads().setTargeting('dfpcsnt', csnt);
600                });
601                // ready to start DFP
602                // console.log('PIANO: setting unrestricted via useractioncomplete');
603                // runPiano('unrestricted');
604                startAdvertising(tcData.listenerId);
605
606                var e = new Event('launch:cmp:choice-made');
607                window.dispatchEvent(e);
608            } else if (success && tcData.eventStatus === 'tcloaded') {
609                // tcloaded means a valid TCF v2.0 string is available
610                // console.log('PIANO: setting unrestricted via tcloaded');
611                // runPiano('unrestricted');
612                if (tcData.gdprApplies === false) {
613                    $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.thenational.scot', path: '/', expires: 100});
614                }
615                startAdvertising(tcData.listenerId);
616
617            } else if (success && tcData.eventStatus === 'useractionnotcomplete') {
618                // do nothing - this means the user has not made a choice yet
619            } else if (success && tcData.eventStatus === 'cmpuishown') {
620                // do nothing - this means the CMP UI has been shown
621            } else if (!success) {
622                // $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.thenational.scot', path: '/', expires: 100});
623                // startAdvertising();
624            } else {
625                // console.log('PIANO: setting restricted');
626                // runPiano('restricted');
627            }
628        });
629    }
630
631    
632
633    document.addEventListener('click', function (e) {
634        const option = e.target.closest('.gdpr-option-v2');
635
636        if (!option) return;
637
638        e.preventDefault();
639        sendEvent76 = false;
640
641        const id = option.dataset.v2Id;
642        const isGate = option.dataset.isGate;
643
644        if (isGate === 'yes') {
645            trackSPEvents('event87');
646            _sp_.gdpr.loadPrivacyManagerModal(id);
647        } else {
648            trackSPEvents('event77');
649            _sp_.gdpr.loadPrivacyManagerModal(id);
650        }
651    });
652
653    function getTcfData() {
654        if (typeof window.__tcfapi !== 'function') {
655            console.warn('TCF API unavailable');
656            return;
657        }
658        window.__tcfapi('addEventListener', 2, function(data, success) {
659            if (!data.purpose || !data.purpose.consents || !data.purpose.legitimateInterests) {
660                // console.log('DFP: No TCF data found, not setting cookies');
661                return;
662            }
663            setTcfCookie(data.purpose.consents, data.purpose.legitimateInterests);
664        }, [755]);
665    }
666    getTcfData();
667
668    function setTcfCookie(data, legitimateInterests) {
669        var consents = [];
670        $.each(data, function(id, consent)  {
671            var c = (consent === true) ? 'yes' : 'no';
672            consents.push(c)
673        });
674        // console.log('DFP: consents length: ', consents.length);
675        if (consents.length !== 10) {
676            // consents = consents.fill('no', consents.length, 10);
677            for (var i = consents.length; i < 10; i++) {
678                consents[i] = 'no';
679            }
680        }
681        // console.log('DFP: Found consents to store in cookie:', consents);
682        $.cookie('prev-tcf-v2', consents.join(','), {domain: '.thenational.scot', path: '/', expires: 100});
683
684        var consentEvent4 = 'none';
685        if (typeof data[4] !== 'undefined') {
686            consentEvent4 = data[4] ? 'true' : 'false';
687        }
688        $.cookie('_sp_enable_dfp_personalized_ads', consentEvent4, {domain: '.thenational.scot', path: '/', expires: 100});
689
690        var legitInterest = 'none';
691        if (legitimateInterests && typeof legitimateInterests[2] !== 'undefined') {
692            legitInterest = legitimateInterests[2] ? 'true' : 'false';
693        }
694
695        $.cookie('_sp_legitimate_interests', legitInterest , {domain: '.thenational.scot', path: '/', expires: 100});
696    }
697
698    var sendEvent76 = true;
699
700    function trackSPEvents(events) {
701        if (events === 'event76' && !sendEvent76) {
702            return;
703        } else if (events === 'event76') {
704            sendEvent76 = false;
705        }
706
707        if (typeof window.s !== 'object') {
708            // console.log('DFP: No window.s object found, trying again in 1 second');
709            window.setTimeout(function () { trackSPEvents(events)} , 1000);
710            return;
711        }
712
713        // console.log("ADB: Tracking %s", events);
714        // Re-create the Omniture object so the data can be tracked.
715        var s = window.s;
716
717        if (events.indexOf('event70') !== -1) {
718            // console.log('DFP: Events passed, added evars');
719            s.eVar35 = 'enabled';
720            s.prop35 = 'enabled';
721        }
722
723        s.events = events;
724        s.linkTrackEvents = events;
725        s.linkTrackVars = "eVar2,eVar3,eVar4,eVar5,eVar6,evar7,evar8,evar9,eVar16,eVar19,eVar26,eVar35,eVar43,eVar67,prop35";
726        s.suppressPageView = true;
727        s.tl(true,'o','Ad Block');
728    }
729
730    function startAdvertising(id)
731    {
732        if (typeof window.doNotAdvertise !== 'undefined' && window.doNotAdvertise === true) {
733            return;
734        }
735
736        // console.log("DFP: Is the page fully loaded?", window.googleReady);
737        if (window.googleReady !== true) {
738            window.setTimeout(function () {
739                // console.log('DFP: Google not fully loaded yet, pausing quarter of a second before trying again');
740                startAdvertising(id);
741            }, 250);
742            return;
743        }
744
745        // Ensure that we never run this code twice
746        if (window.advertisingStart === true) {
747            return;
748        }
749        // console.log('DFP: Running advertisement');
750        window.advertisingStart = true;
751
752        var googletag = window.googletag;
753        // init google objects and array
754        (function() {
755            var gads = document.createElement('script');
756            gads.async = true;
757            gads.type = 'text/javascript';
758            gads.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js';
759            var node = document.getElementsByTagName('script')[0];
760            node.parentNode.insertBefore(gads, node);
761        })();
762
763        // launch the exco slideshow player
764        launchExcoSlideshow();
765
766        // load facebook etc
767        loadSocials();
768
769        // Checking our decision to use headerbidding (shorterned as prebid) is correct
770        // via system logic, and that we have the simplified consent to do so
771        if (usePrebid && $.cookie('_sp_enable_dfp_personalized_ads') === 'true') {
772            var e = new Event('launch:sourcepoint:consentaccepted');
773            window.dispatchEvent(e);
774
775            // AP code initialisation
776            // the script is loaded via launch, once we have detected a consent signal via the datalayer.
777            fetchAp();
778
779            var site = 'desktop';
780            var _site = 'desktop';
781
782            // load IAS scripts and set up vars
783            (function() {
784                var ias = document.createElement('script');
785                ias.async = true;
786                ias.type = 'text/javascript';
787                ias.src = 'https://cdn.adsafeprotected.com/iasPET.1.js';
788                var node = document.getElementsByTagName('script')[0];
789                node.parentNode.insertBefore(ias, node);
790            })();
791
792            // load the prebid script
793            (function() {
794                var pbs = document.createElement('script');
795                pbs.async = true;
796                pbs.type = 'text/javascript';
797                pbs.src = 'https://micro.rubiconproject.com/prebid/dynamic/11022.js?group=newsquest';
798                var node = document.getElementsByTagName('script')[0];
799                node.parentNode.insertBefore(pbs, node);
800            })();
801
802            // tell google to actually get the bids from all relevant vendors when loaded
803            googletag.cmd.push(function () {
804                fetchHeaderBids();
805            });
806        }
807
808        // Outbrain
809        if (
810            (window.data_layer.user.advertising_experience === 'Ad-Free' || window.data_layer.config.disable_outbrain === 'yes') ||
811            (window.data_layer.user.advertising_experience === 'Ad-Light' && window.data_layer.config.disable_outbrain_with_ad_light === 'yes')
812        ) {
813            // console.log("No Outbrain script loading due to page settings");
814        } else {
815            // console.log("Loading Outbrain");
816            var ob = document.createElement('script');
817            ob.async = true;
818            ob.type = 'text/javascript';
819            ob.src = 'https://widgets.outbrain.com/outbrain.js';
820            var node = document.getElementsByTagName('script')[0];
821            node.parentNode.insertBefore(ob, node);
822        }
823
824
825        // remove the listener
826        if (id !== null) {
827            window.__tcfapi('removeEventListener', 2, function (success) { }, id);
828        }
829    }
830
831    /**
832     * Wait until we have advertising consent to show this advertising
833     * based replacement for the single image on our article pages
834     * This logic is based on excoSlidshowPlayerID that only appears on the page
835     * if a user is NOT a subscriber (including privacy plus) and the page has the
836     * correct information to show it (doesn't have a video, not in sport etc)
837     */
838    function launchExcoSlideshow() {
839        const slideShowPlayerId = window.excoSlideshowPlayerId;
840        // if we do not have a player id, we do not need to do anything
841        if (!slideShowPlayerId) {
842            return;
843        }
844
845        // this is exco's supplied code, modified for our use
846        (function (d, s, n) {
847            fjs = d.getElementsByTagName(s)[0];
848            js = d.createElement(s);
849            js.className = n;
850            js.src = '//player.ex.co/player/' + slideShowPlayerId;
851            js.setAttribute('programmatic', 'true');
852	        js.onload = function () {
853                const playerApi = ExCoPlayer.connect(slideShowPlayerId);
854                playerApi.init({});
855
856                playerApi.on('player-load', function(data) {
857                    $('.mar-article-image').remove();
858                    if (window.screen.width > 800) {
859                        $('.article-hero').attr('style', 'order: 1');
860                    }
861                    window.hide_overlay_for_exco = true;
862                });
863            };
864            fjs.parentNode.insertBefore(js, fjs);
865        }(document, 'script', 'exco-player'));
866    }
867
868    function loadSocials()
869    {
870        const socials = [
871            'https://platform.twitter.com/widgets.js',
872            'https://connect.facebook.net/en_US/all.js#xfbml=1',
873            'https://www.tiktok.com/embed.js',
874        ];
875
876        socials.forEach((social) => {
877            var script = document.createElement('script');
878            script.src = social;
879            script.async = true;
880            document.getElementsByTagName('head')[0].appendChild(script);
881        });
882    }
883
884
885})();
886
887</script>
vendor: 1 bytes, line 887
887
888<script src="https://a02342.thenational.scot/unified/wrapperMessagingWithoutDetection.js"></script>
888
889
890<script>
891window.usePiano = true;
892window.selectedOfferId = null;
893window.selectedTermId = null;
894</script>
vendor: 1 bytes, line 894
894
895<script>
896document.cookie = "__adblocker=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
897var setNptTechAdblockerCookie = function(adblocker) {
898    var d = new Date();
899    d.setTime(d.getTime() + 60 * 60 * 24 * 2 * 1000);
900    document.cookie = "__adblocker=" + (adblocker ? "true" : "false") + "; expires=" + d.toUTCString() + "; path=/";
901}
902var script = document.createElement("script");
903script.setAttribute("async", true);
904script.setAttribute("src", "//www.npttech.com/advertising.js");
905script.setAttribute("onerror", "setNptTechAdblockerCookie(true);");
906document.getElementsByTagName("head")[0].appendChild(script);
907</script>
907
908
909<script>
910// window.pdl = window.pdl || {};
911// window.pdl.requireConsent = 'v2';
912
913// Store entry point unless it's a user or subscribe page
914// to redirect after subscription
915const excludedPaths = ['/user/', '/subscribe/'];
916
917const shouldExclude = excludedPaths.some(path =>
918  window.location.pathname.includes(path)
919);
920
921if (!shouldExclude) {
922  sessionStorage.setItem(
923    'last_piano_page_interacted_with',
924    window.location.pathname
925  );
926}
927
928tp = window.tp || [];
929
930function runPiano(restrictedMode) {
931    // console.log('Running Piano with restricted mode:', restrictedMode);
932    // tp.push(['init', function() {
933    //      console.log('Piano purpose map, before calling setAllPurposes()', tp.consent.getByPurpose());
934    // }]);
935    // if (restrictedMode === 'restricted') {
936    //     // If we're in restricted mode, we need to set some specific parameters
937    //     tp.push(['init', function() {
938    //         tp.consent.setAllPurposes('opt-out')
939    //     }]);
940    // } else {
941    //     tp.push(['init', function() {
942    //         tp.consent.setAllPurposes('opt-in')
943    //     }]);
944    // }
945    // tp.push(['init', function() {
946    //     console.log('Piano purpose map, after calling setAllPurposes()', tp.consent.getByPurpose());
947    // }]);
948    // init Piano ID
949    tp.push(['init', function() {
950        tp.pianoId.init();
951    }]);
952
953    const isGooglebot = window.isRobot.googleBot();
954
955    const isArticle = (data_layer.article.is_article === 'yes');
956
957    const isCl3 = (parseInt(data_layer.article.content_level, 10) === 3);
958
959    if (isGooglebot) {
960        // we don't load Piano from all non-article pages
961        if (!isArticle) {
962            return;
963        }
964
965        // If we are on an article, we do not load piano on CL0, 1, or 2
966        if (!isCl3) {
967            return;
968        }
969    }
970    Object.keys(data_layer.piano.custom_variables).forEach(function (k) {
971        var v = data_layer.piano.custom_variables[k];
972
973        if (v != '') {
974            tp.push(["setCustomVariable", k, v]);
975        }
976    });
977
978    Object.keys(data_layer.piano.native_variables).forEach(function (k) {
979        var v = data_layer.piano.native_variables[k];
980        if (v != '') {
981            tp.push([k, v]);
982        }
983    });
984
985    tp.push(['setTags', data_layer.piano.tags]);
986
987   (function(src){
988        var a=document.createElement("script");
989        a.type = "text/javascript";
990        a.async=true;
991        a.src=src;
992        var b=document.getElementsByTagName("script")[0];
993        b.parentNode.insertBefore(a, b)
994    })("//experience.tinypass.com/xbuilder/experience/load?aid=NL1bHJZ2Gr");
995}
996
997// Init Piano
998const debug = document.cookie
999    .split('; ')
1000    .find(row => row.startsWith('debug='))
1001    ?.split('=')[1];
1002
1003tp.push(["setDebug", debug === '1']);
1004
1005tp.push(["setApplePayMerchantId", 'merchant.nq.subssites.piano']);
1006
1007tp.push(["setUsePianoIdUserProvider", true ]);
1008
1009tp.push(["addHandler", "loginRequired", function(params) {
1010    // If they're already signed in, we don't need to do anything special.
1011    if (tp.user.isUserValid()) {
1012        return;
1013    }
1014    if (typeof window._overridePianoDefault !== 'undefined' && window._overridePianoDefault !== true) {
1015        console.log("TPL Called")
1016        tp.pianoId.show({
1017            screen: 'login',
1018            displayMode: 'modal',
1019            loggedIn: (data) => {
1020                pianoId.loggedIn();
1021            },
1022            loggedOut: () => {
1023                console.log('TP-TJ: user logged out');
1024            },
1025            registrationSuccess: () => {
1026                pianoId.registered();
1027            },
1028            width: '500px',
1029            height: '460px',
1030        });
1031    }
1032}]);
1033
1034tp.push(["addHandler", "checkoutSelectTerm", function (termDetails) {
1035    if (typeof termDetails.termId !== 'undefined') {
1036        window.selectedTermId = termDetails.termId;
1037    }
1038}]);
1039
1040tp.push(["addHandler", "showTemplate", function (templateParams) {
1041    showPianoTarget(templateParams);
1042}]);
1043
1044tp.push(["addHandler", "showOffer", function (offerParams) {
1045    window.shownOffer = true;
1046
1047    // Store some data we might need later.
1048    if (typeof offerParams.offerId !== 'undefined') {
1049        window.selectedOfferId = offerParams.offerId;
1050    }
1051
1052    showPianoTarget(offerParams);
1053}]);
1054
1055function handleFullWidthBanner(selector) {
1056    if (selector === '#po-overlay-articlegate-full-width-full-article-scroll-below') {
1057        document.querySelector(selector).classList.add(selector.replace('#', ''));
1058    }
1059    document.querySelector(selector).style.minHeight = "254px";
1060    document.querySelector('#subscription-content').style.display = 'none';
1061    document.querySelectorAll('.send-us-your-news-cta').forEach((el) => { el.style.display = 'none'; });
1062    document.querySelectorAll('.mega-news-block').forEach((el) => { el.style.display = 'none'; });
1063
1064    const block = document.querySelector(selector);
1065    const containerBlock = block.parentElement;
1066    const containerBlockHeight = 254; // to prevent abrupt jumping
1067
1068    if (!block) { return; }
1069
1070    block.style.display = 'block';
1071
1072    const blockRect = block.getBoundingClientRect();
1073    const startTop = blockRect.top + window.scrollY;
1074    const blockHeight = blockRect.height;
1075    const screenWidth = window.screen.width;
1076
1077    let lastState = ''; // 'top', 'bottom', 'default'
1078
1079    function getScrollbarWidth() {
1080        return window.innerWidth - document.documentElement.clientWidth;
1081    }
1082
1083    function updatePosition() {
1084        const scrollY = window.scrollY;
1085        const viewportHeight = window.innerHeight;
1086        const bottomTrigger = startTop + blockHeight - viewportHeight;
1087
1088        let newState = 'default';
1089
1090        if (scrollY > startTop && screenWidth >= 768) {
1091            newState = 'top';
1092        } else if (scrollY < bottomTrigger && screenWidth >= 768) {
1093            newState = 'bottom';
1094        } else if (scrollY < bottomTrigger + 90 && screenWidth < 768) {
1095            newState = 'bottom-mobile';
1096        }
1097
1098        const scrollbarWidth = getScrollbarWidth();
1099
1100        if (newState !== lastState) {
1101            switch (newState) {
1102                case 'top':
1103                    block.style.position = 'fixed';
1104                    block.style.top = '0';
1105                    block.style.bottom = 'auto';
1106                    block.style.marginLeft = '0';
1107                    block.style.marginRight = '0';
1108                    containerBlock.style.minHeight = `${containerBlockHeight}px`;
1109                    break;
1110
1111                case 'bottom':
1112                    block.style.position = 'fixed';
1113                    block.style.bottom = '0';
1114                    block.style.top = 'auto';
1115                    block.style.marginLeft = '0';
1116                    block.style.marginRight = '0';
1117                    block.style.width = `calc(100vw - ${scrollbarWidth}px)`;
1118                    containerBlock.style.minHeight = 'unset';
1119                    break;
1120
1121                case 'bottom-mobile':
1122                    block.style.position = 'fixed';
1123                    block.style.bottom = '90px';
1124                    block.style.top = 'auto';
1125                    block.style.marginLeft = 'calc(-100vw + 100%)';
1126                    block.style.marginRight = 'calc(-100vw + 100%)';
1127                    containerBlock.style.minHeight = 'unset';
1128                    break;
1129
1130                default:
1131                    block.style.position = '';
1132                    block.style.top = '';
1133                    block.style.bottom = '';
1134                    block.style.width = `calc(100vw - ${scrollbarWidth}px)`;
1135                    block.style.marginLeft = '-100vw';
1136                    block.style.marginRight = '-100vw';
1137                    containerBlock.style.minHeight = 'unset';
1138                    break;
1139            }
1140
1141            lastState = newState;
1142        }
1143
1144        requestAnimationFrame(updatePosition);
1145    }
1146
1147    updatePosition();
1148    window.addEventListener('resize', updatePosition);
1149}
1150
1151function trackLocation(forceValidLocation = false) {
1152    var currentLocation = window.location.pathname;
1153
1154    let valid = false;
1155
1156    if (currentLocation.indexOf('puzzles') > -1) {
1157        valid = true;
1158    }
1159
1160    if (currentLocation.indexOf('pagesuite') > -1) {
1161        valid = true;
1162    }
1163
1164    var articleMatch = currentLocation.match(/(\d+)\.[^\/]+\/(r\/)?$/);
1165    if (articleMatch != null) {
1166        valid = true;
1167    }
1168
1169    if (forceValidLocation) {
1170        valid = true;
1171    }
1172
1173    if (currentLocation.indexOf('subscribe') > -1) {
1174        valid = false;
1175    }
1176
1177    if (!valid) {
1178        return;
1179    }
1180
1181    $.cookie('last-piano-page-interacted-with', currentLocation, {path: '/', domain: window.data_layer.site.cookie_domain});
1182}
1183
1184function trackPianoWithNewRelic(templateName) {
1185    if (this.newrelic && typeof this.newrelic === 'object') {
1186        newrelic.setCustomAttribute('user_was_shown_piano_experience', templateName);
1187    }
1188}
1189
1190function handleOfferShow(params) {
1191    console.log('Piano params', params);
1192
1193    // If on the subscription page and the URL has a term ID and offer ID, show the relevant offer.
1194    if (typeof location.pathname !== 'undefined' && location.pathname === '/subscribe/') {
1195        var offerId = location.search.match(/offer_id=([A-Z0-9]+)/);
1196        if (offerId !== null && offerId.length > 1) {
1197            offerId = offerId[1];
1198        }
1199        var termId = location.search.match(/term_id=([A-Z0-9]+)/);
1200        if (termId !== null && termId.length > 1) {
1201            termId = termId[1];
1202        }
1203        if (offerId !== null && termId !== null) {
1204            tp.offer.show({'termId': termId, 'offerId': offerId});
1205        }
1206    }
1207
1208    // we are only tracking
1209    var templateId = params.templateId;
1210    var variantId = params.templateVariantId;
1211    if (params.containerSelector !== '#po-inline-articlegate-fullarticle' &&
1212        params.containerSelector !== '#po-overlay-articlegate-full-width-full-article-scroll-below' &&
1213        params.containerSelector !== '#po-inline-articlegate-partialarticle' &&
1214        params.containerSelector !== '#po-overlay-articlegate-full-width-scroll-below'
1215    ) {
1216        $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) {
1217            trackPianoSimplified(params, response.name);
1218        });
1219        return;
1220    }
1221
1222
1223    $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) {
1224        trackPiano(params, response.name);
1225    });
1226}
1227
1228function trackPiano(params, templateName) {
1229    trackPianoWithNewRelic(templateName);
1230
1231    if (typeof params.activeMeters === 'string') {
1232        activeMeters = JSON.parse(params.activeMeters);
1233    } else {
1234        activeMeters = params.activeMeters;
1235    }
1236
1237    var s = window.s;
1238    if (!s || !s.pageName) {
1239        // console.log("ADB: Setting s from backup");
1240        s = window.backupAdobe;
1241        window.s = s;
1242    }
1243
1244    // this would call when CL3 is a hard gate
1245    if (!activeMeters && data_layer.article.content_level === '3') {
1246        s.eVar59 = templateName;
1247        s.eVar58 = data_layer.article.content_level;
1248        s.events = "event91";
1249        s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar15,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,eVar79,eVar104,eVar106,eVar107,eVar108,eVar118,prop63,list3,events";
1250        s.linkTrackEvents="event91";
1251        s.tl(document, 'o', 'Metered Access Notice');
1252        s.events = '';
1253        return;
1254    }
1255
1256    if (!activeMeters) {
1257        return;
1258    }
1259
1260    var meterData = activeMeters[0];
1261
1262    var meterName = meterData.meterName.toLowerCase();
1263
1264    // track event 5
1265    if (meterName.indexOf('cl1') !== -1 || meterName.indexOf('cl2') !== -1 || meterName.indexOf('cl3') !== -1 || params.containerSelector === '#po-inline-articlegate-partialarticle' || params.containerSelector === '#po-overlay-articlegate-full-width-scroll-below') {
1266        s.eVar58 = data_layer.article.content_level;
1267        s.eVar80 = meterData.meterName + ',' +  meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews;
1268        s.eVar59 = templateName;
1269        s.events = "event5";
1270        s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3, events";
1271        s.linkTrackEvents="event5";
1272    } else {
1273        s.eVar80 = meterData.meterName + ',' +  meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews;
1274        s.eVar59 = templateName;
1275        s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3, events";
1276    }
1277    s.tl(document, 'o', 'Metered Access Notice');
1278    s.events = '';
1279
1280}
1281
1282/**
1283 * Just track the template name in 78 for non-article-interrupts/gates
1284 */
1285function trackPianoSimplified(params, templateName)
1286{
1287    trackPianoWithNewRelic(templateName);
1288
1289    var s = window.s;
1290    if (!s || !s.pageName) {
1291        // console.log("ADB: Setting s from backup");
1292        s = window.backupAdobe;
1293        window.s = s;
1294    }
1295    s.eVar78 = templateName;
1296    s.events = 'event90';
1297    s.linkTrackEvents="event90";
1298    s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3,eVar78, events";
1299    s.tl(document, 'o', 'Piano Template');
1300}
1301
1302function raiseLaunchEvent(name) {
1303    var e = new Event('launch:piano:' + name);
1304    window.dispatchEvent(e);
1305}
1306
1307function removePianoToast() {
1308    setTimeout(() => {
1309        document.getElementById('po-overlay-toast-left').remove()
1310    }, 30000)
1311}
1312
1313function showPianoTarget(params) {
1314    handleOfferShow(params);
1315    trackLocation();
1316
1317    if ($(params.containerSelector).length > 0) {
1318        const displayType = $(params.containerSelector).attr('data-display');
1319
1320        if (displayType) {
1321            $(params.containerSelector).addClass(`shown-${displayType}`);
1322        } else {
1323            $(params.containerSelector).addClass('shown').show();
1324        }
1325
1326        if ($(params.containerSelector).hasClass('piano--block-level') || $(params.containerSelector).hasClass('piano--inside-block')) {
1327            $(params.containerSelector).show();
1328        }
1329
1330        if (
1331            params.containerSelector === '#po-overlay-articlegate-full-width-scroll-below' ||
1332            params.containerSelector === '#po-overlay-articlegate-full-width-full-article-scroll-below'
1333        ) {
1334            handleFullWidthBanner(params.containerSelector);
1335        }
1336
1337        if ($(params.containerSelector) === '#po-inline-subscribe-page') {
1338            $(params.containerSelector).show();
1339        }
1340
1341        if (['#po-inline-blocksystem-target-e'].includes(params.containerSelector)) {
1342            $('#po-inline-blocksystem-target-e').show();
1343            $('.piano-promo-container').show();
1344        }
1345
1346        if (params.containerSelector === '#po-overlay-toast-left') {
1347            removePianoToast()
1348        }
1349
1350        if (params.containerSelector === '#po-overlay-toast-main-navigation') {
1351            removePianoToast()
1352        }
1353
1354        if (params.containerSelector === '#po-inline-articlewall-partialarticle-closable') {
1355            $('#po-inline-articlegate-partialarticle').css('display', 'none');
1356        }
1357
1358        if (params.containerSelector === '#po-inline-articlewall-fullarticle-closable') {
1359            $('#po-inline-articlegate-fullarticle').css('display', 'none');
1360        }
1361
1362        if (params.containerSelector === '#po-overlay-articlegate-full-width-full-article-scroll-below-closable') {
1363            $('#po-overlay-articlegate-full-width-full-article-scroll-below').css('display', 'none');
1364        }
1365    }
1366}
1367
1368tp.push(["addHandler", "checkoutComplete", function(conversion) {
1369    var s = window.s;
1370    s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event.
1371    s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event.
1372    s.products = "Subscription : Metered Access;" + conversion.termId + ";1;"+conversion.chargeAmount;
1373    s.linkTrackEvents = "event4,purchase";
1374    s.purchaseID = conversion.termConversionId;
1375    s.pageName = '(www) /subscribe/complete/';
1376    // wipe out errors
1377    s.eVar31 = '';
1378    s.linkTrackVars="eVar2,eVar3,eVar5,eVar6,eVar7,eVar8,eVar9,eVar10,eVar15,eVar16,eVar17,eVar18,eVar19,eVar20,eVar22,eVar23,eVar24,eVar25,eVar26,eVar61,eVar62,events,products,purchaseID";
1379
1380    s.tl(true, 'o', 'Subscription');
1381
1382    $.cookie('resourceConverted', conversion.rid, {path: '/', domain: window.data_layer.site.cookie_domain});
1383    $.cookie('pianoConverted', '1', {path: '/', domain: window.data_layer.site.cookie_domain});
1384    raiseLaunchEvent('checkoutComplete');
1385
1386    // Clean Session Storage
1387    sessionStorage.removeItem('nq_selected_offer_id');
1388    sessionStorage.removeItem('nq_selected_term_id');
1389    sessionStorage.removeItem('nq_adobe_tracking_article_dimensions');
1390    sessionStorage.removeItem('nq_adobe_tracking_visiting_dimensions');
1391
1392    // Show Onboarding modal after subscription
1393    const lastPage = sessionStorage.getItem('last_piano_page_interacted_with');
1394    const baseUrl = lastPage || window.location.href;
1395
1396    const url = new URL(baseUrl, window.location.origin);
1397    url.searchParams.set('show-onboarding', 'yes');
1398
1399    setTimeout(() => {
1400        window.location.href = url.pathname + url.search;
1401    }, 2000);
1402}]);
1403
1404tp.push(["addHandler", "checkoutPaymentError", function(errorData) {
1405    var s = window.s;
1406    s.pageName = '(www) /subscribe/error/';
1407    s.eVar31 = errorData.message;
1408    s.tl(true, 'o', 'CheckoutPaymentError');
1409
1410    raiseLaunchEvent('checkoutPaymentError');
1411}]);
1412
1413tp.push(["addHandler", "checkoutError", function(errorData) {
1414    var s = window.s;
1415    s.pageName = '(www) /subscribe/error/';
1416    s.eVar31 = errorData.message;
1417    s.tl(true, 'o', 'CheckoutError');
1418    raiseLaunchEvent('checkoutError');
1419}]);
1420
1421tp.push(["addHandler", "startCheckout", function(options) {
1422    sessionStorage.setItem("nq_selected_offer_id", options.offerId);
1423    sessionStorage.setItem("nq_selected_term_id", options.termId);
1424
1425    if (!tp.user.isUserValid()) {
1426        window.location = '/user/create-account/subscribe/';
1427        return;
1428    }
1429
1430    var s = window.s;
1431    s.eVar2 = '(www) /subscribe/payment/';
1432    s.pageName = '(www) /subscribe/payment/';
1433    const storedAdobeArticleDimensions = sessionStorage.getItem('nq_adobe_tracking_article_dimensions');
1434    const storedAdobeVisitingDimensions = sessionStorage.getItem('nq_adobe_tracking_visiting_dimensions');
1435    if (storedAdobeVisitingDimensions) {
1436        const storedAdobeVisitingDimensionsObj = JSON.parse(storedAdobeVisitingDimensions);
1437        s.eVar10 = storedAdobeVisitingDimensionsObj.eVar10;
1438        s.eVar22 = storedAdobeVisitingDimensionsObj.eVar22;
1439        s.eVar23 = storedAdobeVisitingDimensionsObj.eVar23;
1440        s.eVar24 = storedAdobeVisitingDimensionsObj.eVar24;
1441    }
1442    if (storedAdobeArticleDimensions) {
1443        const storedAdobeArticleDimensionsObj = JSON.parse(storedAdobeArticleDimensions);
1444        s.eVar10 = storedAdobeArticleDimensionsObj.eVar10;
1445        s.eVar15 = storedAdobeArticleDimensionsObj.eVar15;
1446        s.eVar22 = storedAdobeArticleDimensionsObj.eVar22;
1447        s.eVar23 = storedAdobeArticleDimensionsObj.eVar23;
1448        s.eVar24 = storedAdobeArticleDimensionsObj.eVar24;
1449        s.eVar25 = storedAdobeArticleDimensionsObj.eVar25;
1450    }
1451    // wipe out errors
1452    s.eVar31 = '';
1453    s.events = '';
1454    raiseLaunchEvent('startCheckout');
1455    s.linkTrackVars="eVar10,eVar15,eVar22,eVar23,eVar24,eVar25";
1456    s.t();
1457}]);
1458
1459tp.push(["addHandler", "checkoutClose", function(conversion) {
1460    raiseLaunchEvent('checkoutClose');
1461
1462    // Did they abandon the cart? If so: was anything in their cart?
1463    if (typeof conversion.state === 'undefined' || conversion.state !== 'close') {
1464        return;
1465    }
1466    if (window.selectedOfferId === null || window.selectedTermId === null) {
1467        return;
1468    }
1469    $.post('/ws/piano/abandoned-cart/', {offer_id: window.selectedOfferId, term_id: window.selectedTermId});
1470}]);
1471
1472tp.push(["addHandler", "meterExpired", function(meterData){
1473    var msg = "<div><b>meterName:</b> " + meterData.meterName
1474        + "&nbsp; | &nbsp;<b>views:</b> " + meterData.views
1475        + "&nbsp; | &nbsp;<b>totalViews:</b> " + meterData.totalViews
1476        + "&nbsp; | &nbsp;<b>viewsLeft:</b> " + meterData.viewsLeft
1477        + "&nbsp; | &nbsp;<b>maxViews:</b> " + meterData.maxViews
1478        + "&nbsp; | &nbsp;<b>callback:</b> " + meterData.callback + '</div>';
1479    if ($.cookie('nq-show-piano-viewer') === 'yes') {
1480        $('#piano-meter-value').html(msg);
1481        $('#piano-meter-display').show();
1482        $('#piano-meter-display-content').append(msg);
1483    }
1484    var cVal = window.location.href;
1485
1486    trackLocation(true);
1487
1488    console.log("Piano Meter Expired:", meterData.meterName);
1489    if (meterData.meterName === 'CL1 Meter') {
1490        console.log("Piano: Setting meter expired cookie");
1491        $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1});
1492    }
1493
1494    raiseLaunchEvent('meterExpired');
1495
1496}]);
1497
1498tp.push(["addHandler", "meterActive", function(meterData){
1499    var msg = "<div><b>meterName:</b> " + meterData.meterName
1500        + "&nbsp; | &nbsp;<b>views:</b> " + meterData.views
1501        + "&nbsp; | &nbsp;<b>totalViews:</b> " + meterData.totalViews
1502        + "&nbsp; | &nbsp;<b>viewsLeft:</b> " + meterData.viewsLeft
1503        + "&nbsp; | &nbsp;<b>maxViews:</b> " + meterData.maxViews
1504        + "&nbsp; | &nbsp;<b>callback:</b> " + meterData.callback + '</div>';
1505    if ($.cookie('nq-show-piano-viewer') === 'yes') {
1506        $('#piano-meter-value').html(msg);
1507        $('#piano-meter-display').show();
1508        $('#piano-meter-display-content').append(msg);
1509    }
1510
1511    console.log("Piano Meter running total:", meterData.meterName,  meterData.totalViews, meterData.maxViews, meterData);
1512    if (meterData.meterName === 'CL1 Meter' && meterData.totalViews >= meterData.maxViews) {
1513        $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1});
1514    } else {
1515        $.cookie('isMeterExpired', 'no', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1});
1516    }
1517}]);
1518
1519
1520tp.push(["setCxenseSiteId", "1140851321802151847"]);
1521
1522
1523runPiano('unrestricted');
1524
1525</script>
1525
1526
1527
1528
1529    <link rel="apple-touch-icon" href="/resources/images/17401920/">
1530    <link rel="apple-touch-icon" sizes="72x72" href="/resources/images/17401919/">
1531    <link rel="apple-touch-icon" sizes="114x114" href="/resources/images/17401921/">
1532
1533
1534    <!-- Add iconify -->
1535    
1535<script src="https://code.iconify.design/1/1.0.7/iconify.min.js" integrity="sha384-jQq64HqdQD5xg0PPkpkCOW3x8Nsfx5UT1qWOpoJxLYy6Ef+5i+8xPoAj/I3B+ZMm" crossorigin="anonymous"></script>
1535
1536</head>
1537<body class="sticky-footer" data-cache-buster="ezbp4BC2" data-template="" data-template-colour="Blue" data-namespace="standard">
1538    <!--
1539  ##+ +##  ##: `#####.  #######  ###  ###      ######  `#####.  #######      ###  ,##  +#####
1540  +## ###' ##  #######  ######## ### ###       ######  #######  ########     ###  ,##  ######:
1541  .## #### ## ###   ### ###  ### ######        ##,    ###   ### ###  ###     ###  ,##  ##`
1542   ##,#+##:## ###   ### #######  ######        #####+ ###   ### #######      ###  ,##  +#####
1543   ####`####+ ###   ### ######   #######       #####+ ###   ### ######       ###  ,##     ####
1544   #### .###. '##   ##' ### ###  ### ,##:      ##,    '##   ##' ### ###      ###  ### '##  +##
1545   :###  ###   #######  ### `##+ ###  ###      ##,     #######  ### `##+     `#######  ######+
1546    ##:  ###    #####   ###  ### ###  ,###     ##,      #####   ###  ###       #####    ####+
1547
1548Developers, designers, testers - interested in working for us?
1549Contact this guy....https://uk.linkedin.com/in/hillsimon
1550-->
1551
1552
1553    <div style="height: 0px"><div id="DFP_out_of_page"></div></div>
1554
1555    <div id="paywallWindowOverlay"></div>
1556
1557
1558
1559    <div id="takeover">
1560        <div id="martini-config" class="layout">
1561            <div id="header-content">
1562                <!-- standard - header-1.html --> <header id="site-header" class="site-header site-header--1 header-bottom-margin" >
1563    
1564    <div class="header-topnav" role="navigation" aria-label="top-navigation">
1565    
1566    <div class="container-inner-width">
1567        <div class="header-topnav-links">
1568          <ul class="list-style-none">
1569             <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/puzzles/">Puzzles</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="/shop/">Shop</a></li> <li><a class="mar-nav--promo-link" href="/contact/">Contact us</a></li> 
1570          </ul>
1571        </div>
1572          <ul id="links-nav" class="header-topnav--links-nav list-style-none">
1573            <li class="links-nav-label"><span class="links-nav-label-text">More</span>
1574                <ul class="list-style-none">
1575                    <li class="dropdown-icon-closed">
1576                        <span class="iconify" data-icon="akar-icons:chevron-down"></span>
1577                    </li>
1578                    <li class="dropdown-icon-open" style="display: none;">
1579                        <span class="iconify" data-icon="akar-icons:chevron-up"></span>
1580                    </li>
1581
1582                    <li class="links-nav-container">
1583                        <ul class="list-style-none">
1584                            <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/puzzles/">Puzzles</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="/shop/">Shop</a></li> <li><a class="mar-nav--promo-link" href="/contact/">Contact us</a></li> 
1585                        </ul>
1586                    </li>
1587                </ul>
1588            </li>
1589          </ul>
1590    </div>
1591    
1592        </div>
1593
1594    <div class="site-brand container-inner-width">
1595        <div class="site-brand__container">
1596        <a href="/">
1597            <img src="/resources/images/small_site_logo/" alt="The National" class="site-brand__brand-image"/>
1598        </a>
1599        </div>
1600        <div class="simple-header-top-navigation">
1601    <div class="simple-header-top-navigation__links">
1602
1603        <div class="simple-header-top-navigation__links--primary-links header-primary-links">
1604            
1605            <a href="/subscribe/" aria-label="subscribe button" class="mar-btn mar-btn--promo-primary">
1606                Subscribe
1607            </a>
1608            
1609
1610            
1611            <ul class="list-style-none top-nav-overflow">
1612                <li><a  href="/pagesuite/" class="mar-btn mar-btn--promo-secondary">Digital Edition</a></li> <li><a  href="/puzzles/" class="mar-btn mar-btn--promo-primary">Puzzles</a></li> 
1613            </ul>
1614            
1615        </div>
1616
1617        
1618        
1619        <div class="simple-header-top-navigation__links--classifieds">
1620            
1621        </div>
1622        
1623        
1624
1625    </div>
1626    
1627    <div class="simple-header-top-navigation__links--account">
1628        
1629        <a id="user-login-not-loggedin" href="/user/login/?redirect_url=/user/account/" class="simple-header-top-navigation__user-login mar-btn" title="User Account">
1630            <div aria-label="User Account Button" id="headerUserAccountButton">
1631                <svg xmlns="http://www.w3.org/2000/svg " width="14" height="16" viewB
1631ox="0 0 10 14" fill="none">
1632<circle cx="5" cy="3.85718" r="3" fill="black"/>
1633<ellipse cx="5" cy="10.2857" rx="5" ry="2.85714" fill="black"/>
1634</svg>
1635            </div>
1636        </a>
1637        
1638    </div>
1639    
1640
1641    <button aria-expanded="false" aria-label="Open the menu" class="simple-header-top-navigation__mega-menu-btn primary-nav__menu--more-btn">
1642        <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>
1643    </button>
1644
1645</div>
1646    </div>
1647
1648    <div id="mega-menu" class="mega-menu" style="display: none;">
1649    <div class="mega-menu__container mega-menu__wrapper">
1650        <div class="mega-menu__cancel-button">
1651            <i aria-expanded="true" aria-hidden="true" aria-label="Close the menu" class="mega-menu__cancel-button--icon">
1652                <span class="iconify" data-icon="eva:close-fill" data-inline="false"></span>
1653                <div>Close</div>
1654            </i>
1655        </div>
1656
1657    
1658        <div class="mega-menu-subscribe-banner">
1659            <span>Stay ahead with a digital subscription</span>
1660            <a href="/subscribe/">Subscribe</a>
1661        </div>
1662    
1663
1664    
1665        <div class="mega-menu__features expanded-sub-nav">
1666        <div class="mega-menu__features--links">
1667            
1668            <a href="/sevendays/"  class="col link-item">SEVEN DAYS</a>
1669            
1670
1671                <a href="/newsletters/"  class="col link-item">NEWSLETTERS</a>
1672            
1673
1674                <a href="/community/resources/"  class="col link-item">FACT CHECKS</a>
1675            
1676
1677                <a href="https://www.thenational.scot/comment/podcasts/" target="_blank" class="col link-item">PODCASTS</a>
1678            
1679            </div>
1680            <hr class="divider none">
1681        </div>
1682    
1683
1684        <div class="mega-menu__search">
1685          <form method="get" action="/search/">
1686              <label class="mega-menu__search--title" for="searchbar-input">Search</label>
1687              <div class="mega-menu__search--bar">
1688                  <input id="searchbar-input" class="searchbar-input" type="text" name="search" placeholder="Search The National">
1689                  <button class="searchbar-btn mira-search-button" type="submit"><span class="iconify" data-icon="fe:search" data-inline="false"></span></button>
1690              </div>
1691          </form>
1692        </div>
1693
1694        <div class="mega-menu__main-list link-list">
1695      <div class="mega-menu__main-list--list-item">
1696                <div>
1697                    <div>
1698                        <a href="/news/">
1699                            <h3><span class="mega-menu__main-list--parent-link">News</span></h3>
1700                        </a>
1701                    </div>
1702        
1703                    <div class="mega-menu__main-list--child-links">
1704                      <div class="child-item">
1705                          <a href="/news/scottish-independence/">Scottish Independence</a>
1706                      </div>
1707                  
1708
1709                      <div class="child-item">
1710                          <a href="/news/world/">World News</a>
1711                      </div>
1712                  
1713
1714                      <div class="child-item">
1715                          <a href="/news/europe/">Europe</a>
1716                      </div>
1717                  
1718
1719                      <div class="child-item">
1720                          <a href="/news/fact-check/">Fact Check</a>
1721                      </div>
1722                  
1723
1724                      <div class="child-item">
1725                          <a href="/news/scottish-economy/">Economy</a>
1726                      </div>
1727                  
1728
1729                      <div class="child-item">
1730                          <a href="/news/transport/">Transport</a>
1731                      </div>
1732                    </div>
1733        
1734                </div>
1735                <div class="divider"></div>
1736            </div>
1737      
1738
1739            <div class="mega-menu__main-list--list-item">
1740                <div>
1741                    <div>
1742                        <a href="/politics/">
1743                            <h3><span class="mega-menu__main-list--parent-link">Politics</span></h3>
1744                        </a>
1745                    </div>
1746        
1747                    <div class="mega-menu__main-list--child-links">
1748                      <div class="child-item">
1749                          <a href="/politics/snp/">SNP</a>
1750                      </div>
1751                  
1752
1753                      <div class="child-item">
1754                          <a href="/politics/scottish-greens/">Scottish Greens</a>
1755                      </div>
1756                  
1757
1758                      <div class="child-item">
1759                          <a href="/politics/labour/">Labour</a>
1760                      </div>
1761                  
1762
1763                      <div class="child-item">
1764                          <a href="/politics/reform/">Reform</a>
1765                      </div>
1766                  
1767
1768                      <div class="child-item">
1769                          <a href="/politics/conservatives/">Conservatives</a>
1770                      </div>
1771                  
1772
1773                      <div class="child-item">
1774                          <a href="/politics/thejouker/">The Jouker</a>
1775                      </div>
1776                  
1777
1778                      <div class="child-item">
1779                          <a href="/politics/fmqs/">FMQs</a>
1780                      </div>
1781                  
1782
1783                      <div class="child-item">
1784                          <a href="/politics/holyrood/">Holyrood</a>
1785                      </div>
1786                    </div>
1787        
1788                </div>
1789                <div class="divider"></div>
1790            </div>
1791      
1792
1793            <div class="mega-menu__main-list--list-item">
1794                <div>
1795                    <div>
1796                        <a href="/culture/">
1797                            <h3><span class="mega-menu__main-list--parent-link">Culture</span></h3>
1798                        </a>
1799                    </div>
1800        
1801                    <div class="mega-menu__main-list--child-links">
1802                      <div class="child-item">
1803                          <a href="/culture/arts/">Arts</a>
1804                      </div>
1805                  
1806
1807                      <div class="child-item">
1808                          <a href="/culture/bestofscotland/">Best of Scotland</a>
1809                      </div>
1810                  
1811
1812                      <div class="child-item">
1813                          <a href="/culture/film-and-tv/">Film &amp; TV</a>
1814                      </div>
1815                  
1816
1817                      <div class="child-item">
1818                          <a href="/culture/food-and-drink/">Food and Drink</a>
1819                      </div>
1820                  
1821
1822                      <div class="child-item">
1823                          <a href="/culture/music/">Music</a>
1824                      </div>
1825                  
1826
1827                      <div class="child-item">
1828                          <a href="/culture/history/">History</a>
1829                      </div>
1830                  
1831
1832                      <div class="child-item">
1833                          <a href="/culture/travel/">Travel</a>
1834                      </div>
1835                  
1836
1837                      <div class="child-item">
1838                          <a href="/culture/essays/">Essays</a>
1839                      </div>
1840                    </div>
1841        
1842                </div>
1843                <div class="divider"></div>
1844            </div>
1845      
1846
1847            <div class="mega-menu__main-list--list-item">
1848                <div>
1849                    <div>
1850                        <a href="/sport/">
1851                            <h3><span class="mega-menu__main-list--parent-link">Sport</span></h3>
1852                        </a>
1853                    </div>
1854        
1855                    <div class="mega-menu__main-list--child-links">
1856                      <div class="child-item">
1857                          <a href="/sport/football/">Football</a>
1858                      </div>
1859                  
1860
1861                      <div class="child-item">
1862                          <a href="/sport/opinion/">Comment</a>
1863                      </div>
1864                  
1865
1866                      <div class="child-item">
1867                          <a href="/sport/rugby/">Rugby</a>
1868                      </div>
1869                  
1870
1871                      <div class="child-item">
1872                          <a href="/sport/tennis/">Tennis</a>
1873                      </div>
1874                  
1875
1876                      <div class="child-item">
1877                          <a href="/sport/golf/">Golf</a>
1878                      </div>
1879                  
1880
1881                      <div class="child-item">
1882                          <a href="/sport/othersports/">Other Sports</a>
1883                      </div>
1884                    </div>
1885        
1886                </div>
1887                <div class="divider"></div>
1888            </div>
1889      
1890
1891            <div class="mega-menu__main-list--list-item">
1892                <div>
1893                    <div>
1894                        <a href="/community/">
1895                            <h3><span class="mega-menu__main-list--parent-link">Community</span></h3>
1896                        </a>
1897                    </div>
1898        
1899                    <div class="mega-menu__main-list--child-links">
1900                      <div class="child-item">
1901                          <a href="/community/letters/">Letters</a>
1902                      </div>
1903                  
1904
1905                      <div class="child-item">
1906                          <a href="/community/the-national-grassroots/">The National Grassroots</a>
1907                      </div>
1908                  
1909
1910                      <div class="child-item">
1911                          <a href="/community/subscriber/">Best of</a>
1912                      </div>
1913                  
1914
1915                      <div class="child-item">
1916                          <a href="/community/resources/">Resources</a>
1917                      </div>
1918                    </div>
1919        
1920                </div>
1921                <div class="divider"></div>
1922            </div>
1923      
1924
1925            <div class="mega-menu__main-list--list-item">
1926                <div>
1927                    <div>
1928                        <a href="/business/">
1929                            <h3><span class="mega-menu__main-list--parent-link">Business</span></h3>
1930                        </a>
1931                    </div>
1932        
1933                    <div class="mega-menu__main-list--child-links">
1934                      <div class="child-item">
1935                          <a href="/business/renewables/">Renewables</a>
1936                      </div>
1937                  
1938
1939                      <div class="child-item">
1940                          <a href="/business/oil-and-gas/">Oil &amp; Gas</a>
1941                      </div>
1942                  
1943
1944                      <div class="child-item">
1945                          <a href="/business/whisky/">Whisky</a>
1946                      </div>
1947                  
1948
1949                      <div class="child-item">
1950                          <a href="/business/food-and-drink/">Food and Drink</a>
1951                      </div>
1952                    </div>
1953        
1954                </div>
1955                <div class="divider"></div>
1956            </div>
1957      
1958
1959            <div class="mega-menu__main-list--list-item">
1960                <div>
1961                    <div>
1962                        <a href="/comment/">
1963                            <h3><span class="mega-menu__main-list--parent-link">Comment</span></h3>
1964                        </a>
1965                    </div>
1966        
1967                    <div class="mega-menu__main-list--child-links">
1968                      <div class="child-item">
1969                          <a href="/comment/columnists/">Columnists</a>
1970                      </div>
1971                  
1972
1973                      <div class="child-item">
1974                          <a href="/comment/gaelic/">Gàidhlig</a>
1975                      </div>
1976                  
1977
1978                      <div class="child-item">
1979                          <a href="/comment/scots/">Scots</a>
1980                      </div>
1981                  
1982
1983                      <div class="child-item">
1984                          <a href="/comment/national-extra/">National Extra</a>
1985                      </div>
1986                  
1987
1988                      <div class="child-item">
1989                          <a href="/comment/podcasts/">Podcasts</a>
1990                      </div>
1991                    </div>
1992        
1993                </div>
1994                <div class="divider"></div>
1995            </div>
1996      
1997
1998            <div class="mega-menu__main-list--list-item">
1999                <div>
2000                    <div>
2001                        <a href="/author/">
2002                            <h3><span class="mega-menu__main-list--parent-link">Journalists</span></h3>
2003                        </a>
2004                    </div>
2005        
2006                </div>
2007                <div class="divider"></div>
2008            </div>
2009      
2010
2011            <div class="mega-menu__main-list--list-item">
2012                <div>
2013                    <div>
2014                        <a href="/sevendays/">
2015                            <h3><span class="mega-menu__main-list--parent-link">Seven Days</span></h3>
2016                        </a>
2017                    </div>
2018        
2019                </div>
2020                <div class="divider"></div>
2021            </div>
2022      
2023
2024            <div class="mega-menu__main-list--list-item">
2025                <div>
2026                    <div>
2027                        <a href="/shop/">
2028                            <h3><span class="mega-menu__main-list--parent-link">Shop</span></h3>
2029                        </a>
2030                    </div>
2031        
2032                </div>
2033                <div class="divider"></div>
2034            </div>
2035      
2036
2037            <div class="mega-menu__main-list--list-item">
2038                <div>
2039                    <div>
2040                        <a href="/newspaper-archive/">
2041                            <h3><span class="mega-menu__main-list--parent-link">Newspaper Archive</span></h3>
2042                        </a>
2043                    </div>
2044        
2045                </div>
2046                <div class="divider"></div>
2047            </div>
2048        </div>
2049    </div>
2050
2051    <div class="mega-menu__sticky">
2052        <ul class="list-style-none mega-menu__sticky--list">
2053            <div class="mega-menu__sticky--primary-links">
2054                
2055                <li>
2056                <a href="/subscribe/">
2057                    <button class="mar-btn--promo-primary">
2058                        Subscribe
2059                    </button>
2060                </a></li>
2061            
2062                <li><a  href="/pagesuite/" class="mar-btn mar-btn--promo-secondary">Digital Edition</a></li> <li><a  href="/puzzles/" class="mar-btn mar-btn--promo-primary">Puzzles</a></li> 
2063            </div>
2064            <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/puzzles/">Puzzles</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="/shop/">Shop</a></li> <li><a class="mar-nav--promo-link" href="/contact/">Contact us</a></li> 
2065        </ul>
2066    </div>
2067</div>
2068
2069
2070    <!-- standard - SimplePrimaryNavigation.html --> <nav aria-label="Main navigation" id="primary-nav" class="primary-nav">
2071    <div class="primary-nav__container container-inner-width">
2072        <span class="primary-nav__left">
2073          <nav class="primary-nav__menu">
2074              <div class="primary-nav__menu-container">
2075  <div class="primary-nav__menu--item">
2076                      <a class="primary-nav__menu--link" href="/news/">News</a>
2077                  </div>
2078  
2079
2080                  <div class="primary-nav__menu--item">
2081                      <a class="primary-nav__menu--link" href="/politics/">Politics</a>
2082                  </div>
2083  
2084
2085                  <div class="primary-nav__menu--item">
2086                      <a class="primary-nav__menu--link" href="/culture/">Culture</a>
2087                  </div>
2088  
2089
2090                  <div class="primary-nav__menu--item">
2091                      <a class="primary-nav__menu--link" href="/sport/">Sport</a>
2092                  </div>
2093  
2094
2095                  <div class="primary-nav__menu--item">
2096                      <a class="primary-nav__menu--link" href="/community/">Community</a>
2097                  </div>
2098  
2099
2100                  <div class="primary-nav__menu--item">
2101                      <a class="primary-nav__menu--link" href="/business/">Business</a>
2102                  </div>
2103  
2104
2105                  <div class="primary-nav__menu--item">
2106                      <a class="primary-nav__menu--link" href="/comment/">Comment</a>
2107                  </div>
2108  
2109
2110                  <div class="primary-nav__menu--item">
2111                      <a class="primary-nav__menu--link" href="/author/">Journalists</a>
2112                  </div>
2113  
2114
2115                  <div class="primary-nav__menu--item">
2116                      <a class="primary-nav__menu--link" href="/sevendays/">Seven Days</a>
2117                  </div>
2118  
2119
2120                  <div class="primary-nav__menu--item">
2121                      <a class="primary-nav__menu--link" href="/shop/">Shop</a>
2122                  </div>
2123  
2124
2125                  <div class="primary-nav__menu--item">
2126                      <a class="primary-nav__menu--link" href="/newspaper-archive/">Newspaper Archive</a>
2127                  </div>
2128              </div>
2129          </nav>
2130        </span>
2131        <span class="primary-nav__right">
2132            <div class="primary-nav__menu--more-btn">
2133                <button aria-expanded="false" aria-label="Open the menu" class="more-link more-burger-icon">
2134                    <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>
2135                </button>
2136            </div>
2137            <div class="primary-nav__right--search">
2138                <a class="primary-nav__container--search-icon search-icon" href="#" aria-label="Search for article"><span class="iconify" data-icon="ion:search-circle-sharp" data-inline="false"></span></a>
2139            </div>
2140        </span>
2141    </div>
2142</nav>
2143
2144
2145
2146    
2147
2148
2149</header>
2150            </div>
2151
2152            <div id="redesign-content">
2153                <div id="module-content" class="content">
2154                    <div class="piano--block-level block-bottom-margin" id="po-inline-banner-top-hero-content"></div>
2155
2156
2157                    <!-- standard - ContactUs.html --> <div class="block-contact-us" aria-labelledby="contact-help-heading">
2158    <h1 id="contact-help-heading" class="block-heading">Contact &amp; Help</h1>
2159    <p class="block-contact-us__intro">
2160        In need of help, support, or need to contact us, hopefully you’ll find the information you need below...
2161    </p>
2162
2163    <h2 class="block-heading" id="customer-support-heading">Customer Support</h2>
2164    <div class="block-contact-us__cta-section" aria-labelledby="customer-support-heading">
2165
2166        
2167        
2168         <!-- If not Forest Piano group with no home delivery -->
2169        <div class="cta-item">
2170            <a href="/contact/faq/digital-subscriptions/" class="mar-btn mar-btn--md mar-btn--light">Digital
2171                subscriptions</a>
2172            <p>For help or questions about digital subscriptions, including help with your current subscription</p>
2173        </div>
2174        
2175        
2176        
2177
2178        
2179
2180        
2181        <div class="cta-item">
2182            <a href="/contact/faq/general-support/" class="mar-btn mar-btn--md mar-btn--dark">General Support</a>
2183            <p>Help &amp; questions about technical, account, or any other issues you may be experiencing with any of
2184                our products</p>
2185        </div>
2186    </div>
2187
2188    <div class="block-contact-us__grid_container">
2189        <div>
2190            <div class="social-field" style="display: none;">
2191                <p class="social-field-text">Follow us</p>
2192                <!-- standard - SocialBar.html --> <div class="social-bar  ">
2193  <!-- standard - SocialShareButton.html --> <div 
2194    aria-label="Share"
2195    class="social-share-button mar-btn"
2196    id="social-share-button">
2197    <p class="social-share-button__text" aria-label="Share">Share</p>
2198    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewB
2198ox="0 0 16 16" fill="none">
2199        <path d="M11.6113 1.5C11.9036 1.49999 12.1919 1.57147 12.4535 1.70882C12.7152 1.84616 12.943 2.04562 13.119 2.2915C13.2951 2.53738 13.4146 2.82297 13.4682 3.12578C13.5217 3.4286 13.5079 3.74038 13.4277 4.0366C13.3475 4.33281 13.2032 4.60537 13.006 4.83282C12.8089 5.06027 12.5644 5.23641 12.2918 5.34737C12.0191 5.45834 11.7257 5.5011 11.4347 5.47229C11.1437 5.44348 10.863 5.34389 10.6148 5.18135C10.595 5.195 10.5746 5.20756 10.5536 5.21899L5.94303 7.73788C5.94569 7.80155 5.94569 7.86531 5.94303 7.92897L5.95196 7.93476L10.3586 10.6867C10.688 10.379 11.109 10.2021 11.5489 10.1867C11.9889 10.1714 12.4201 10.3184 12.7681 10.6025C13.1161 10.8865 13.3591 11.2898 13.455 11.7425C13.5509 12.1953 13.4937 12.6691 13.2933 13.0822C13.0929 13.4953 12.762 13.8216 12.3576 14.0048C11.9532 14.1881 11.5008 14.2167 11.0785 14.0857C10.6562 13.9548 10.2906 13.6725 10.0447 13.2877C9.79893 12.9029 9.68839 12.4396 9.73221 11.978L5.37504 9.25791C5.10887 9.53171 4.77193 9.71659 4.40645 9.78938C4.04098 9.86216 3.66325 9.81961 3.32064 9.66705C2.97802 9.51449 2.68577 9.25872 2.48054 8.93181C2.27531 8.6049 2.16624 8.22141 2.167 7.82943C2.16775 7.43745 2.27831 7.05444 2.4848 6.72841C2.69129 6.40239 2.98453 6.14787 3.32773 5.99679C3.67093 5.8457 4.04882 5.80477 4.41401 5.87912C4.7792 5.95347 5.11543 6.1398 5.38053 6.41474L9.78647 4.00731C9.71119 3.71225 9.70138 3.40289 9.7578 3.10318C9.81421 2.80348 9.93533 2.52149 10.1118 2.27906C10.2882 2.03662 10.5153 1.84025 10.7753 1.70515C11.0354 1.57005 11.3214 1.49985 11.6113 1.5Z" fill="#222222"/>
2200    </svg>
2201</div>
2202
2203  
2204    
2205  
2206</div>
2207
2208            </div>
2209            <div class="block-contact-us__grid_container--card" aria-labelledby="main-details-heading">
2210                <div id="main-details-heading" class="block-contact-us__grid_container--card-heading block-heading">Main
2211                    Details</div>
2212                
2213                <div class="block-contact-us__grid_container--card-title">Address:</div>
2214                <address class="block-contact-us__grid_container--card-small-text">
2215                    
2216                    The National,
2217                    
2218                    
2219                    125 Fullarton Drive,
2220                    
2221                    
2222                    
2223                    Glasgow,
2224                    
2225                    
2226                    Lanarkshire,
2227                    
2228                    
2229                    G32 8FG
2230                    
2231                </address>
2232                
2233                <div class="block-contact-us__grid_container--card-title  block-contact-us__spacing ">Telephone:</div>
2234                <div class="block-contact-us__grid_container--card-small-text">
2235                    <a href="tel:(0141) 3027000"
2236                        aria-label="Call (0141) 3027000">(0141) 3027000</a>
2237                </div>
2238                
2239                
2240
2241                <div class="block-contact-us__grid_container--card-panel">
2242                    Inside the newsroom -
2243                    <a href="/author/journalists/">&nbsp;View all our journalists</a>
2244                </div>
2245                
2246                <div class="block-contact-us__grid_container--card-title block-contact-us__spacing">Editor:</div>
2247                <div
2248                    class="block-contact-us__grid_container--card-small-text block-contact-us__grid_container--card-link">
2249                    Laura Webster
2250                    <a href="mailto:[email protected]">[email protected]</a>
2251                    <span aria-label="Editor telephone">(0141) 3027000</span>
2252                </div>
2253                
2254
2255                
2256                <div class="block-contact-us__grid_container--card-title block-contact-us__spacing">News desk:</div>
2257                <div
2258                    class="block-contact-us__grid_container--card-small-text block-contact-us__grid_container--card-link">
2259                    <a href="mailto:[email protected]">[email protected]</a>
2260                    <span aria-label="News desk telephone">(0141) 302 7000</span>
2261                </div>
2262                
2263
2264            </div>
2265
2266            <div class="block-contact-us__grid_container--banner" aria-labelledby="get-involved-heading">
2267                <div id="get-involved-heading" class="block-contact-us__grid_container--banner-heading block-heading">
2268                    Get <em>involved</em> with the news
2269                </div>
2270                <div class="block-contact-us__grid_container--banner-content">
2271                    <div class="block-contact-us__grid_container--banner-text">
2272                        Got a story, lead, picture, or video you would like to share with us?
2273                    </div>
2274                    <div>
2275                        <a href="/send-us-your-news/" class="mar-btn mar-btn--md mar-btn--light">
2276                            Send us your news
2277                        </a>
2278                    </div>
2279                </div>
2280            </div>
2281            
2282            <div class="block-contact-us__grid_container--card" aria-labelledby="newspaper-sales-heading">
2283                <div id="newspaper-sales-heading" class="block-contact-us__grid_container--card-heading block-heading">
2284                    Newspaper Sales</div>
2285                <div
2286                    class="block-contact-us__grid_container--card-small-text block-contact-us__grid_container--card-link">
2287                    <a href="mailto:[email protected]">[email protected]</a>
2288                    <span aria-label="Newspaper sales telephone">(0141) 3027316</span>
2289                </div>
2290            </div>
2291            
2292            
2293            
2294            <div class="block-contact-us__grid_container--card" aria-labelledby="other-info-heading">
2295                <div id="other-info-heading" class="block-contact-us__grid_container--card-heading block-heading">Other
2296                    Information</div>
2297                <div class="block-contact-us__grid_container--card-text"><p>
2298  <strong>Advertising</strong> - <a href="mailto:[email protected]">[email protected]</a>
2299</p>
2300<p>
2301  <strong>Complaints</strong> - <a href="mailto:[email protected]">[email protected]</a>
2302</p>
2303<p>
2304  <strong>General marketing enquiries -</strong> 0141 302 7402
2305</p>
2306<p>
2307  <strong>Letters</strong> - <a href="mailto:[email protected]">[email protected]</a>
2308</p>
2309<p>
2310  <strong>BMDs</strong> - <a href="mailto:[email protected]">[email protected]</a>
2311</p>
2312<p>
2313  <strong>Newspaper Print/Postal/Voucher Subscription payments & queries</strong> - <a href="mailto:[email protected]">[email protected]</a>
2314</p>
2315<p>
2316  <strong>Digital Subscriptions</strong> - 0800 731 4900 (Mon-Fri, 9-5.30pm)
2317</p>
2318<p>
2319  <strong>Home Delivery enquiries</strong> - <a href="mailto:[email protected]">[email protected] |</a> 0141 302 7302
2320</p></div>
2321            </div>
2322            
2323
2324        </div>
2325        <!-- end of grid 1 container -->
2326        <div>
2327            
2328            <div class="block-contact-us__seo-section" aria-labelledby="localiq-heading">
2329                <img src="/resources/responsive-static/images/LocaliQ.svg" alt="LOCALiQ logo">
2330                <h2 id="localiq-heading">Digital Marketing Services from LOCALiQ in
2331                    <a href="https://localiq.co.uk/locations/glasgow?utm_source=The_National&utm_medium=referral&utm_campaign=Contact_Us_Page" target="_blank" rel="nofollow">Glasgow
2332                    </a>
2333                </h2>
2334                <p>
2335                    <strong>LOCALiQ</strong>
2336                    is an award-winning Digital Marketing Agency, specialising in local marketing and accelerating
2337                    growth for UK businesses.
2338                    Part of <strong> Newsquest Media Group Ltd,</strong> publisher of The  National, LOCALiQ is
2339                    based in over
2340                    <strong>
2341                        <a href="https://localiq.co.uk/locations?utm_source=NQ&utm_medium=referral++&utm_campaign=contact"
2342                            rel="nofollow" target="_blank">
2343                            35 UK locations
2344                        </a>
2345                    </strong> and delivers exceptional results for B2B, B2C, e-commerce and services businesses.
2346                </p>
2347
2348                <div class="extra-text">
2349                    <a href="https://localiq.co.uk/digital-marketing-services/ppc?utm_source=NQ&utm_medium=referral++&utm_campaign=contact"
2350                        target="_blank" rel="nofollow">PPC,</a>
2351                    <a href="https://localiq.co.uk/digital-marketing-services/seo?utm_source=NQ&utm_medium=referral++&utm_campaign=contact"
2352                        target="_blank" rel="nofollow"> SEO,</a> and
2353                    <a href="https://localiq.co.uk/digital-marketing-services/web-design?utm_source=NQ&utm_medium=referral++&utm_campaign=contact"
2354                        target="_blank" rel="nofollow"> Website Design</a> are just some of the solutions LOCALiQ can
2355                    support your business with.
2356                </div>
2357                <div class="cta-section">
2358                    <div class="mar-btn mar-btn--md mar-btn--dark">
2359                        <a href="https://localiq.co.uk/digital-marketing-services?utm_source=NQ&utm_medium=referral++&utm_campaign=contact"
2360                            target="_blank" rel="nofollow">View our digital marketing services
2361                        </a>
2362                    </div>
2363                    <p> or
2364                        <strong>
2365                            <a href="https://localiq.co.uk/contact-us?utm_source=NQ&utm_medium=referral++&utm_campaign=contact"
2366                                target="_blank" rel="nofollow" class="contact-us-link">Contact us</a>
2367                        </strong>
2368                    </p>
2369                </div>
2370            </div>
2371            
2372            <div class="block-contact-us__grid_container--card" aria-labelledby="notices-heading">
2373                <div id="notices-heading" class="block-contact-us__grid_container--card-heading block-heading">Notices
2374                    and Announcements
2375                </div>
2376                <div class="block-contact-us__grid_container--card-text">
2377                    <p>
2377Remember the life of a loved one with a notice in the newspaper and an online notice page for
2378                        friends and
2379                        family, or celebrate a happy occasion</p>
2380                </div>
2381                <a href="/notices/self-service/category"
2382                    class="mar-btn mar-btn--md mar-btn--dark block-contact-us__spacing">
2383                    Book a death notice
2384                </a>
2385                <a href="https://selfservice.newsquest.co.uk/TouchpointSS/SDE#/"
2386                    class="mar-btn mar-btn--md mar-btn--promo-secondary block-contact-us__spacing">
2387                    Book a celebration announcement
2388                </a>
2389            </div>
2390            <div class="block-contact-us__grid_container--card" aria-labelledby="careers-heading">
2391                <div id="careers-heading" class="block-contact-us__grid_container--card-heading block-heading">Careers
2392                </div>
2393                <div class="block-contact-us__grid_container--card-text">
2394                    <p>
2395                        <strong>The  National</strong> is part of
2396                        <strong><a class="nq-link" href="https://www.newsquest.co.uk/">Newsquest Media
2397                                Group</a></strong>,
2398                        a leading local news &amp; magazine publisher
2399                        with a portfolio of more than 200 brands.
2400                    </p>
2401                    <div class="block-contact-us__grid_container--card-other-link">
2402                        <a href="https://www.newsquest.co.uk/careers">What we offer</a>
2403                        <a href="https://careers.newsquest.co.uk/#js-careers-jobs-block">Current vacancies</a>
2404                    </div>
2405                </div>
2406            </div>
2407            <div class="block-contact-us__grid_container--card" aria-labelledby="policies-heading">
2408                <div id="policies-heading" class="block-contact-us__grid_container--card-heading block-heading">Policies
2409                    &amp; T&amp;Cs</div>
2410                <div class="block-contact-us__grid_container--card-text">
2411                    <p>
2412                        To view our full policies including
2413                        <a class="nq-link" href="https://www.newsquest.co.uk/legal/terms-conditions/">Terms &amp;
2414                            Conditions</a>,
2415                        <a class="nq-link" href="https://www.newsquest.co.uk/terms-of-advertising">Terms of
2416                            Advertising</a>,
2417                        <a class="nq-link" href="https://www.newsquest.co.uk/legal/contributor-terms/">Contributor
2418                            Terms</a>,
2419                        <a class="nq-link" href="https://www.newsquest.co.uk/domains">Information for Domain Name
2420                            Customers</a>,
2421                        use the links provided.
2422                        For more...
2423
2424                    </p>
2425                    <div class="block-contact-us__grid_container--card-other-link">
2426                        <span>Visit</span> <a href="https://www.newsquest.co.uk/">www.newsquest.co.uk</a>
2427                    </div>
2428                </div>
2429            </div>
2430        </div>
2431        <!-- end of grid 1 container -->
2432    </div>
2433</div>
2434                </div>
2435            </div>
2436
2437            <footer class="site-footer" aria-label="site-footer">
2438    <div class="container-inner-width">
2439        <div class="links-grid" aria-label="site-footer-links">
2440            <section class="get-in-touch-section">
2441                <h2>Get in Touch</h2>
2442                <a href="/contact/">Contact Us</a><a href="/send-us-your-news/">Send Us Your News</a>
2443            </section>
2444            <section class="follow-us-section">
2445                <h2>Follow Us</h2>
2446<a
2447                        class="footer__social-media--link"
2448                        href="https://www.facebook.com/thenationalnewspaperscotland"
2449                        title="Facebook"
2450                        role="link"
2451                        data-media-type="facebook"
2452                    >
2453                        <i class="footer__social-media--icon iconify"></i>
2454                        Facebook
2455                    </a>
2456
2457
2458                    <a
2459                        class="footer__social-media--link"
2460                        href="https://twitter.com/ScotNational"
2461                        title="Follow us on X.com"
2462                        role="link"
2463                        data-media-type="twitter"
2464                    >
2465                        <i class="footer__social-media--icon iconify"></i>
2466                        Follow us on X.com
2467                    </a>
2468
2469
2470                    <a
2471                        class="footer__social-media--link"
2472                        href="https://www.instagram.com/scotnational/"
2473                        title="Instagram"
2474                        role="link"
2475                        data-media-type="instagram"
2476                    >
2477                        <i class="footer__social-media--icon iconify"></i>
2478                        Instagram
2479                    </a>
2480            </section>
2481            <section class="useful-links-section">
2482                <h2>Useful Links</h2>
2483                <div class="useful-links">
2484                    <section>
2485                        <a href="/subscribe/">Subscriptions</a><a href="/newsletters/">Newsletters</a><a href="/reader-rewards/">Reader Rewards</a>
2486                    </section>
2487                    <section>
2488                        <a href="https://www.exchangeandmart.co.uk/" target="_blank">Exchange and Mart</a><a href="/archive/" style="display: inline-block">Archive</a> | <a href="/misc/sitemap/" style="display: inline-block">Sitemap</a><a href="/gdpr/" class="gdpr-option-v2" data-v2-id="1170586" data-is-gate="yes" rel="nofollow">Manage Consent</a><a href="https://www.newsquest.co.uk/legal/ai-notice/" target="_blank">AI Notice</a>
2489                    </section>
2490                </div>
2491            </section>
2492            <section class="ipso-terms">
2493                <img class="ipso-logo" src="/resources/responsive-static/mds/images/ipso-regulated.png" alt="IPSO Regulated image" />
2494                <p class="ipso-copy">This website and associated newspapers adhere to the Independent Press Standards Organisation's
2495    Editors' Code of Practice. If you have a complaint about the editorial content which relates to
2496    inaccuracy or intrusion, then please <a class="footer__ipso-terms--link" href="/contact">
2497    contact the editor here</a>.
2498    If you are dissatisfied with the response provided you can
2499    <a class="footer__ipso-terms--link" href="https://www.ipso.co.uk/contact-us/" target="_block">contact IPSO here</a></p>
2500            </section>
2501        </div>
2502        <div class="notice" aria-label="site-footer-notice">
2503            <img src="/resources/responsive-static/mds/images/newsquest.png" alt="Newsquest" style="width: 193px"/>
2504            <p><strong>&copy; 2001-2026. The National</strong> is owned and operated by Newsquest Media Group Ltd, an audited local newspaper network.</p>
2505            <p>Visit <a href="https://www.newsquest.co.uk/" target="_blank">newsquest.co.uk</a> to view our <a href="https://www.newsquest.co.uk/our-policies/" target="_blank">policies</a>, <a href="https://www.newsquest.co.uk/legal/" target="_blank" >terms</a> and <a href="https://www.newsquest.co.uk/legal/" target="_blank" >legal agreements</a>.</p>
2506            <p>The Echo Building, 18 Albert Road, Bournemouth, England BH1 1BZ. Registered in England & Wales | 01676637</p>
2507        </div>
2508    </div>
2509</footer>
2510
2511
2512            <div id="fb-root"></div>
2513
2514
2515        </div>
2516    </div>
2517
2518
2519
2520    <div class="mar-modal-container mar-modal-container--animate mar-modal-container--animate-out visually-hidden">
2521    <div class="mar-modal-overlay" data-uses-js="close-modal"></div>
2522
2523    <div aria-label="Pop up dialog" class="mar-modal" tabindex="-1" role="dialog">
2524        <div class="mar-modal__header">
2525            <h3 class="mar-modal__title">Modal headline</h3>
2526
2527            <div class="mar-modal__close" data-uses-js="close-modal">
2528<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2529    <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"/>
2530</svg>
2531
2532
2533                <span>Close</span>
2534            </div>
2535        </div>
2536
2537        <div class="mar-modal__body">Automatically injected HTML goes here</div>
2538
2539        <div class="mar-modal__actions">
2540<!-- standard - Buttons.html --> 
2541    
2542<button
2543    type="button"
2544    data-uses-js="modal-submit"
2545    
2546    class=" mar-btn
2547    mar-btn--light
2548    mar-btn--md
2549    
2550    
2551    "
2552>
2553    Submit
2554</button>
2555    
2556
2557
2558
2559<!-- standard - Buttons.html --> 
2560    
2561<button
2562    type="button"
2563    data-uses-js="modal-cancel"
2564    
2565    class=" mar-btn
2566    mar-btn--outline
2567    mar-btn--md
2568    
2569    
2570    "
2571>
2572    Cancel
2573</button>
2574    
2575
2576
2577        </div>
2578    </div>
2579</div>
2580
2581</body>
2582
2583<div id="outbrain-holder">
2584    <div id="DFP_standard_mpu_3"></div>
2585    <div id="DFP_standard_mpu_4"></div>
2586    <div id="DFP_standard_mpu_5"></div>
2587    <div id="DFP_standard_mpu_6"></div>
2588    <div id="DFP_standard_mpu_7"></div>
2589</div>
2590<script>
2591
2592const elementToObserve = document.querySelector("#outbrain-holder");
2593
2594// create a new instance of `MutationObserver` named `observer`,
2595// passing it a callback function
2596const observer = new MutationObserver(function(e) {
2597    $.each(e, function(j, obs) {
2598        $.each(obs.removedNodes, function (i, node) {
2599            var id = $(node).attr('id');
2600            addAdSlot(id, id.replace('DFP_', ''));
2601        });
2602    });
2603});
2604
2605// call `observe()` on that MutationObserver instance,
2606// passing it the element to observe, and the options object
2607observer.observe(elementToObserve, {subtree: true, childList: true});
2608</script>
2608
2609
2610<script>
2611window.domComplete = performance.now();
2612</script>
2612
2613
2614<script type="text/javascript">
2615path = document.location.href.split("/");
2616var prop30 = qs.get('lp');
2617var prop43 = qs.get('ref');
2618var pType="Newsquest\Modules\ContactUsModule"
2619
2620if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') {
2621    pType = 'ArticleModule';
2622}
2623for(x=4; x<7; x++)
2624{
2625    if (typeof path[x] == 'undefined')
2626    {
2627        path[x] = '';
2628    }
2629    if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1))
2630    {
2631        path[x] = path[x-1];
2632    }
2633    else
2634    {
2635        path[x] = path[x-1] + "/" + path[x];
2636    }
2637    path[x] = path[x].replace(/\/undefined/g,"");
2638}
2639sitename = path[2].split(".");
2640
2641pathN= unescape(document.location.pathname.toString());
2642matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/);
2643detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/);
2644if (detailMatches !== null && detailMatches.length > 1)
2645{
2646    matches = detailMatches;
2647}
2648
2649if (matches !== null && matches.length > 1)
2650{
2651    var subfolder = '';
2652    path[3] = 'li';
2653    path[4] = 'li/'+subfolder;
2654    path[5] = 'li/'+subfolder+'/'+matches[1];
2655    path[6] = 'li/'+subfolder+'/'+matches[1];
2656}
2657if (pathN === '/')
2658{
2659    path[3] = 'homepage';
2660    path[4] = 'homepage';
2661    path[5] = 'homepage';
2662    path[6] = 'homepage';
2663}
2664
2665
2666function filterArray(arr) {
2667    var retArr = [];
2668    $.each(arr, function(i, part) {
2669        if (part !== '') {
2670            retArr.push(part);
2671        }
2672    });
2673
2674    return retArr;
2675}
2676</script>
2676
2677
2678
2679<script type="text/javascript">
2680var known = $.cookie('__siren') ? '1' : '0' ;
2681</script>
2681
2682
2683<script type="text/javascript">
2684
2685var known = $.cookie('__siren') ? '1' : '0' ;
2686var ref = document.referrer;
2687var parser = document.createElement('a');
2688parser.href = ref;
2689
2690// values in the below MUST be strings
2691var targeting = {
2692    'context': '',
2693    
2694    'domain': 'www.thenational.scot',
2695    'isLanding': 'yes',
2696    'top_path': 'contact',
2697    'weather': 'sun'.toLowerCase(),
2698    'jbsjs': ''.toLowerCase(),
2699    'site_search': '',
2700    'bmd_cat': '',
2701    'wt': '11-15',
2702    'cmpid': qs.get('cmpid'),
2703    'refdm': parser.hostname,
2704    'k': known,
2705    'g':  'u' ,
2706    'a':  '0' ,
2707    'topic': '',
2708    'publication': '',
2709    'primary_tag_future_use': '',
2710    'site': (isMobile()) ? 'mobile': 'desktop',
2711    'r': data_layer.user.subscription_plan !== ''
2712        ? '2'       // 2 = subscribed
2713        : data_layer.user.is_logged_in == 'yes'
2714            ? '1'   // 1 = registered
2715            : '0',  // 0 = anonymous
2716};
2717
2718if (!usePrebid) {
2719    targeting.adrq = 'adl';
2720}
2721
2722if (data_layer.video.exists === 'yes') {
2723    targeting.ptype = 'video';
2724}
2725
2726if ($.cookie('isMeterExpired') === 'yes' && window.data_layer.article.is_article) {
2727    var articleContentLevel = parseInt(window.data_layer.article.content_level, 10) || 0; // account for NaN
2728    if (articleContentLevel !== 0 && window.data_layer.article.content_level_open_access === 'no') {
2729        targeting.ao = 'y';
2730    }
2731}
2732
2733if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') {
2734    targeting.dfpcsnt = 'yes';
2735} else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') {
2736    targeting.dfpcsnt = 'no';
2737} else {
2738    targeting.dfpcsnt = 'none';
2739}
2740
2741if (typeof MobileDetect !== "undefined") {
2742    targeting.canbb = (window.screen.width > 960) ? 'y' : 'n';
2743}
2744
2745if (typeof module_targeting === "object") {
2746    targeting = addToTargeting(targeting, module_targeting);
2747}
2748
2749// $.each(apData, function (k, v) {
2750//     targeting[k] = v;
2751// });
2752
2753// if (typeof gs_channels !== 'undefined') {
2754//     targeting.gs_channels = gs_channels;
2755// }
2756
2757targeting = addToTargeting(targeting, data_layer_helper.homesData);
2758
2759targeting.article_id = '';
2760var googleSiteName = 'www.thenational.scot';
2761var googlePath = '/contact/';
2762
2763var googleNetworkCode = 154725070;
2764
2765var googleChildNetworkCode = 22694024870;
2766var googleId = '/'+googleNetworkCode + ',' + googleChildNetworkCode + '/' + googleSiteName+googlePath;
2767
2768if (googleId.charAt(googleId.length - 1) === '/') {
2769    googleId = googleId.slice(0, -1);
2770}
2771
2772var googletag = googletag || {};
2773googletag.cmd = googletag.cmd || [];
2774
2775googletag.cmd.push(function () {
2776    var _YB = _YB || {
2777        ab: function () {
2778            return _YB.dool ? "b" : "a" + Math.floor(Math.random() * 10);
2779        },
2780        dool: Math.random() >= 0.1,
2781    };
2782    var yb_ab;
2783    if (Math.random() <= 0.9) {
2784        yb_ab = _YB.ab();
2785    } else {
2786        yb_ab = "c";
2787    }
2788    googletag.pubads().setTargeting("yb_ab", yb_ab);
2789});
2790
2791googletag.cmd.push(function() {
2792    googletag.pubads().set("adsense_background_color", "FFFFFF");
2793    googletag.pubads().setTargeting('rfs', "0");
2794    $.each(targeting, function (key, value) {
2795
2796        // No real value so exclude
2797        if (value === 0 || value === '' || value === null) {
2798            return;
2799        }
2800        googletag.pubads().setTargeting(key, value);
2801    });
2802
2803});
2804
2805if (isMobile() && '' === 'top') {
2806    $('.desktop-standard-leaderboard').remove();
2807    $('.mobile-top-leaderboard').show();
2808    $('#DFP_top_leaderboard_mobile').attr('id', 'DFP_top_leaderboard');
2809} else {
2810    $('.mobile-top-leaderboard').remove();
2811}
2812// Ads
2813var adUnits = [];
2814
2815hideAdsByScreensize();
2816
2817if (blackListAds.length > 0) {
2818    removeBlacklistAds(blackListAds);
2819}
2820
2821$.each(unfilteredAdUnits, function (i, unit) {
2822    removeWhitelistAds(unit);
2823});
2824
2825// set up a holder for all the adverts so we can do things with them later
2826var dfpHolder = {};
2827// the set up code
2828googletag.cmd.push(function() {
2829    $.each(adUnits, function(i, data) {
2830
2831        // check if the dom exists
2832        if ($('#'+data.domName).length === 0) {
2833            return;
2834        }
2835
2836        var dfp = null;
2837
2838        if (data.slotType === 'standard')
2839        {
2840            // get the correct sizes, using the alternate_sizes if they exist and we are on a mobile site
2841            var sizes = data.sizes;
2842            if (data.alternate_mobile_size && isMobile()) {
2843                sizes = data.alternate_mobile_size;
2844            }
2845            // push this ad slot through
2846            dfp = googletag.defineSlot(googleId, sizes, data.domName)
2847                .addService(googletag.pubads())
2848                .setTargeting("position", data.positionName)
2849                .setCollapseEmptyDiv(data.collapseContainer);
2850            // check if we have an array of targets, and assign them as a companion if we do
2851            if (data.targets instanceof Array && data.targets.length > 0 ) {
2852                dfp.setTargeting('companion', data.targets);
2853            }
2854
2855        }
2856        else if (data.slotType === 'outofpage')
2857        {
2858            dfp = googletag.defineOutOfPageSlot(googleId, data.domName)
2859                .addService(googletag.pubads())
2860                .setTargeting("position", data.positionName)
2861                .setCollapseEmptyDiv(data.collapseContainer);
2862            // check if we have an array of targets, and assign them as a companion if we do
2863            if (data.targets instanceof Array && data.targets.length > 0 ) {
2864                dfp.setTargeting('companion', data.targets);
2865            }
2866        }
2867
2868        // store
2869        dfpHolder[data.domName] = dfp;
2870
2871    });
2872
2873    if (adLight === true) {
2874        googletag.pubads().setCategoryExclusion('adlight');
2875        // var adlightexplanation = '<div class="adlight-explanation">I\'m a subscriber <a href="#" class="adlight-explanation-link">Why am I seeing this advert?</a></div>';
2876        // if ($('#DFP_premium_mpu').length > 0) {
2877        //     $('#DFP_premium_mpu').before(adlightexplanation);
2878        // }
2879
2880        // if ($('#DFP_standard_mpu_1').length > 0) {
2881        //     $('#DFP_standard_mpu_1').before(adlightexplanation);
2882        // }
2883
2884        // var imageIds = [11497497, 11497535, 11497536, 11497541, 11497542, 11497545, 11497546, 11497547];
2885        // var imageId = imageIds[Math.floor(Math.random() * imageIds.length)];
2886        // $('.adlight-explanation-link').click(function(e) {
2887        //     e.preventDefault();
2888        //     $('#adlight-explanation-modal-image').attr('src', '/resources/images/' + imageId + '/').show();
2889        //     $('#adlight-explanation-modal').modal();
2890        // });
2891    }
2892
2893    // send the request
2894    googletag.pubads().enableSingleRequest();
2895
2896    googletag.enableServices();
2897
2898    googletag.pubads().addEventListener('slotVisibilityChanged', function(event) {
2899        if (event.slot.getResponseInformation().creativeTemplateId === 828288 ||
2900            event.slot.getResponseInformation().creativeTemplateId === 12383216 ) {
2901            console.log('DFP: Magic template id detected, not refreshing');
2902            return;
2903        }
2904        var slotName = '';
2905        $.each(dfpHolder, function (a, e) {
2906            if (e == event.slot) {
2907                slotName = a;
2908            }
2909        });
2910        if (typeof window.advertisingTimer !== 'undefined') {
2911            var perc = event.inViewPercentage;
2912            window.advertisingTimer.timer(slotName, perc);
2913        }
2914    });
2915});
2916
2917// the display code
2918$.each(adUnits, function(i, data) {
2919
2920    // check if the dom exists
2921    if ($('#'+data.domName).length === 0) {
2922        return;
2923    }
2924
2925    if (data.domName === 'DFP_interstitial_mpu') {
2926        if (!inter.checkVisit()) {
2927            return;
2928        }
2929    }
2930
2931    // are we manually loading it?
2932    if ($('#'+data.domName).attr('data-manual-loading') === "yes") {
2933        return;
2934    }
2935    // for mobile, we check if the dom element has the data-delay-loading attribute set to "1"
2936    else if ($('#'+data.domName).attr('data-delay-loading') === "yes") {
2937
2938        // load it
2939        $('#'+data.domName).appear();
2940        $(document.body).on('appear', '#'+data.domName, function(e, allElement) {
2941
2942            // don't call it many times
2943            if ($(this).attr('data-processed') === 'yes') {
2944                return;
2945            }
2946
2947            $(this).attr('data-processed', 'yes');
2948
2949            // display the google ad
2950            googletag.display(data.domName);
2951            googletag.pubads().refresh([dfpHolder[data.domName]]);
2952        });
2953        return;
2954    }
2955    googletag.cmd.push(function() {
2956        googletag.display(data.domName);
2957    });
2958});
2959window.googleComplete = performance.now();
2960window.googleReady = true;
2961
2962// METHODS
2963function addToTargeting(targeting, data) {
2964    if (!data) {
2965        return targeting;
2966    }
2967    $.each(data, function (key, value) {
2968        if (!value) {
2969            return;
2970        }
2971        targeting[key] = value;
2972    });
2973    return targeting;
2974}
2975
2976function addAdSlot(slotName, slot, initHidden) {
2977    console.log("Add ad slot called for %s %s", slotName, slot);
2978    // check if item already exists
2979    if (typeof window.dfpHolder[slotName] !== 'undefined') {
2980        return;
2981    }
2982
2983    if (window.adLight === true) {
2984        return;
2985    }
2986    window.googletag.cmd.push(function() {
2987        var dfp = googletag.defineSlot(window.googleId, [[300,250]], slotName)
2988            .setTargeting('position', [slot])
2989            .addService(googletag.pubads());
2990        window.dfpHolder[slotName] = dfp;
2991
2992        if (!initHidden) {
2993            googletag.pubads().refresh([dfp]);
2994
2995            return;
2996        }
2997    });
2998}
2999
3000function hideAdsByScreensize() {
3001    if (window.screen.width < 728 && $('#BlockArticleContainer').length > 0) {
3002        if ('1106' === '1147') {
3003            $('#DFP_out_of_page').remove();
3004        } else {
3005            $('#DFP_premium_mpu').remove();
3006        }
3007        $('#DFP_on_scroll').remove();
3008    } else if (window.screen.width < 728 &&
3009        ( $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='9']").length > 0 ||
3010        $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='12']").length > 0  ||
3011        $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='18']").length > 0  ||
3012        $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='24']").length > 0 )
3013    ) {
3014        const adElement = document.querySelector('#high_vis_container');
3015        $('.omnicard[data-position="5"]').after(adElement);
3016    }
3017
3018    if ('1106' === '1147' && window.screen.width > 450) {
3019        $('#DFP_bottom_leaderboard').remove();
3020    }
3021
3022    if ('1106' === '1147' && window.screen.width < 728) {
3023        $('#DFP_top_leaderboard').remove();
3024    }
3025
3026    if ('1106' === '1147') {
3027        $('#DFP_teads').remove();
3028        $('#DFP_out_of_page').remove();
3029    }
3030
3031    if ($('#comments-in-page').length === 1 && window.screen.width > 450) {
3032        $('#DFP_top_leaderboard').parent().remove();
3033        $('#DFP_bottom_leaderboard').parent().remove();
3034        // $('#DFP_standard_mpu_1').parent().remove();
3035    }
3036}
3037
3038function removeBlacklistAds(blackListAds) {
3039    $.each(blackListAds, function(i, name) {
3040        removeAdContainer(name);
3041    });
3042}
3043
3044function removeWhitelistAds(unit) {
3045    // VAST (video) ad units never get displayed in here.
3046    if (unit.isVast) {
3047        return;
3048    }
3049
3050    // if we have an ad-light experience
3051    if (whiteList === true) {
3052        if (typeof whiteListAds[unit.positionName] === 'undefined') {
3053            removeAdContainer(unit.domName)
3054            return;
3055        }
3056    }
3057
3058    adUnits.push(unit);
3059}
3060
3061function removeAdContainer(name) {
3062    const element = document.getElementById(name);
3063    // doesn't exist? exit
3064    if(!element) {
3065        return;
3066    }
3067
3068    const parent = element.parentElement;
3069    if (parent && parent.classList.contains('block-bottom-margin')) {
3070        // if immediate parent contains block-bottom-margin as a class, remove the parent as well
3071        parent.classList.remove('block-bottom-margin');
3072    }
3073    if (parent && parent.classList.contains('mar-leaderboard--top')) {
3074        // in case of leaderboard, remove as has min-height
3075        parent.remove();
3076        return;
3077    }
3078
3079    if (parent && parent.classList.contains('mar-leaderboard--bottom')) {
3080        // in case of article ad container, remove as has min-height
3081        parent.remove();
3082        return;
3083    }
3084
3085    element.remove();
3086}
3087</script>
3087
3088
3089
3090<script src="/resources/responsive-static/build/mds/js/global.js?cb=ezbp4BC2"></script>
3090
3091
3092
3093
3094
3095
3096<script src="/__siren/"></script>
3096
3097
3098
3099
3100<script type="text/javascript">
3101    var s_account="newsquestgroupprod";
3102</script>
3102
3103
3104<script type="text/javascript" src="/resources/responsive-static/vendor/adobe/VisitorAPI.js?cb=ezbp4BC2"></script>
vendor: 1 bytes, line 3104
3104
3105<script type="text/javascript" src="/resources/responsive-static/vendor/adobe/omniture.js?cb=ezbp4BC2"></script>
3105
3106
3107<script type="text/javascript">
3108
3109function getOmniturePath() {
3110    var path = '';
3111    if ($('#gallery-base-url').length === 1) {
3112        path = $('#gallery-base-url').val();
3113    }
3114    else {
3115        path = window.location.pathname;
3116    }
3117    return path;
3118}
3119
3120function getPositionFromCookie() {
3121    const cookieName = 'tracking_block_index';
3122
3123    const ref = document.cookie
3124        .split('; ')
3125        .find(row => row.startsWith(`${cookieName}=`))
3126        ?.slice(cookieName.length + 1);
3127
3128    document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.data_layer.site.cookie_domain}`;
3129
3130    return ref ? decodeURIComponent(ref) : undefined;
3131}
3132function getRefFromCookie() {
3133    const cookieName = 'tracking_block';
3134
3135    const ref = document.cookie
3136        .split('; ')
3137        .find(row => row.startsWith(`${cookieName}=`))
3138        ?.split('=')[1];
3139
3140    // Remove the cookie
3141    document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.data_layer.site.cookie_domain}`;
3142
3143    return ref;
3144}
3145
3146function getOmnitureTrackingFromCookie(key, preExistingValue) {
3147    var ref = $.cookie('o-' + key);
3148    if(typeof(ref) === 'undefined') {
3149    	ref  = preExistingValue
3150    } else {
3151    	ref = decodeURIComponent(ref);
3152    	$.removeCookie('o-' + key, {
3153            path: '/',
3154            domain: window.data_layer.site.cookie_domain,
3155        });
3156    }
3157    return ref;
3158}
3159
3160function getValidatedAPList() {
3161
3162    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];
3163
3164    var data = getAudienceProjectTargetingData();
3165    if (!data || !data.ap_x) {
3166        return '';
3167    }
3168
3169    validData = [];
3170    $.each(data.ap_x, function(i, td) {
3171        if ($.inArray(parseInt(td, 10), validList) !== -1) {
3172            validData.push(td);
3173        }
3174    });
3175
3176    return validData.join(',');
3177}
3178
3179path = document.location.href.split("/");
3180
3181var qs = new URLSearchParams(window.location.search);
3182
3183var prop30 = qs.get('lp');
3184var prop43 = qs.get('ref');
3185var pType="Newsquest\Modules\ContactUsModule"
3186
3187if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') {
3188    pType = 'ArticleModule';
3189}
3190
3191for(x=4; x<7; x++)
3192{
3193    if (typeof path[x] == 'undefined')
3194    {
3195        path[x] = '';
3196    }
3197    if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1))
3198    {
3199        path[x] = path[x-1];
3200    }
3201    else
3202    {
3203        path[x] = path[x-1] + "/" + path[x];
3204    }
3205    path[x] = path[x].replace(/\/undefined/g,"");
3206}
3207pathN= unescape(document.location.pathname.toString());
3208matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/);
3209detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/);
3210if (detailMatches !== null && detailMatches.length > 1)
3211{
3212    matches = detailMatches;
3213}
3214
3215if (matches !== null && matches.length > 1)
3216{
3217    var subfolder = '';
3218    path[3] = 'li';
3219    path[4] = 'li/'+subfolder;
3220    path[5] = 'li/'+subfolder+'/'+matches[1];
3221    path[6] = 'li/'+subfolder+'/'+matches[1];
3222}
3223if (pathN === '/')
3224{
3225    path[3] = 'homepage';
3226    path[4] = 'homepage';
3227    path[5] = 'homepage';
3228    path[6] = 'homepage';
3229}
3230
3231
3232/* You may give each page an identifying name, server, and channel on
3233the next lines. */
3234s.pageName="(www) "+getOmniturePath();
3235s.pageName = s.pageName.toLowerCase();
3236s.server="martini";
3237s.channel="";
3238s.pageType="";
3239s.prop1= qs.get('search');
3240s.prop2="";
3241s.prop3=document.title;
3242s.prop4="";
3243s.prop5="Newsquest\Modules\ContactUsModule"; /* get from Martini */
3244s.prop6=path[3].toLowerCase();
3245s.prop7=path[4].toLowerCase();
3246s.prop8=path[5].toLowerCase();
3247s.prop9=path[6].toLowerCase();
3248s.prop10="";
3249
3250s.prop16=path[2].toLowerCase();
3251s.prop17="Herald and Times";
3252s.prop18="Martini";
3253s.prop19="1";
3254s.prop20 = s.getPreviousValue(s.pageName, 'gpv_pn');
3255s.prop42 = "";
3256s.prop53 = 'standard';
3257s.prop54 = '';
3258s.prop55 = '';
3259s.prop56 = "";
3260s.prop57 = ($('[data-name="Feature Article Block A"]').length > 0) ? 'Enabled' : 'Disabled';
3261s.prop58 = document.querySelector('[data-name="Feature Article Block B"]')?.dataset.variant;
3262s.prop59 = getRefFromCookie();
3263s.prop60 = getPositionFromCookie();
3264s.prop73 = document.cookie.split('; ').find(row => row.startsWith('adtiming='))?.split('=')[1] || null;
3265
3266var eVar67 = [];
3267
3268if ($.cookie('consentUUID')) {
3269    eVar67.push('yes');
3270} else {
3271    eVar67.push('no');
3272}
3273if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') {
3274    eVar67.push('yes');
3275} else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') {
3276    eVar67.push('no');
3277} else {
3278    eVar67.push('none');
3279}
3280
3281if ($.cookie('_sp_legitimate_interests') === 'true') {
3282    eVar67.push('yes');
3283} else if ($.cookie('_sp_legitimate_interests') === 'false') {
3284    eVar67.push('no');
3285} else {
3286    eVar67.push('none');
3287}
3288
3289//if ($.cookie('euconsent')) {
3290//    eVar67.push($.cookie('euconsent'));
3291//} else {
3292//    eVar67.push('none');
3293//}
3294
3295s.eVar67 = eVar67.join(',');
3296// console.log('ADB: setting eVar67 to %s', eVar67.join(','));
3297
3298if ($.cookie('prev-tcf-v2')) {
3299    // console.log('ADB: Setting eVar68 to ', $.cookie('prev-tcf-v2'));
3300    s.eVar68 = $.cookie('prev-tcf-v2');
3301}
3302
3303if (typeof iabNames !== 'undefined') {
3304    s.prop29 = iabNames.join(',');
3305} else if (typeof iabIds !== 'undefined') {
3306    s.prop29 = iabIds.join(',');
3307}
3308
3309if (s.prop20 && s.prop20 !== 'no value') {
3310    s.prop21 = s.getPercentPageViewed();
3311} else {
3312    s.prop21 = '';
3313}
3314
3315if (typeof __siren !== 'undefined') {
3316    s.eVar27 = __siren;
3317}
3318
3319s.prop22 = s.getDaysSinceLastVisit('s_lv');
3320
3321
3322s.prop43=getOmnitureTrackingFromCookie('ref', prop43);
3323s.prop25 = ''
3324
3325s.prop27 = '';
3326
3327s.prop30 = getOmnitureTrackingFromCookie('prop30', prop30);
3328s.linkInternalFilters="javascript:,thenational.scot,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk,"
3329s.eVar61=(new Date()).toLocaleDateString("en-GB");
3330/* s.eVar62=(new Date()).toLocaleDateString("en-GB"); */
3331
3332
3333
3334
3335
3336
3337/* Article-site-cloning data */
3338s.eVar90 = window.data_layer.article.parent_originating_site_id;
3339s.eVar91 = window.data_layer.article.originating_article_id;
3340s.eVar92 = window.data_layer.article.is_original_to_site;
3341s.eVar95 = window.data_layer.site.using_piano_id;
3342s.eVar106 = '';
3343
3344s.eVar109 = '';
3345
3346/* Uber block article counts */
3347s.eVar93 = window.data_layer.page.top_stories_article_count + ':' + window.data_layer.page.interstitial_article_count + ':' + window.data_layer.page.news_stories_article_count;
3348
3349/* Conversion Variables */
3350s.campaign=""
3351s.state=""
3352s.zip=""
3353s.events=""
3354s.products=""
3355s.purchaseID=""
3356s.eVar14=""
3357try {
3358    s.list3=getValidatedAPList();
3359} catch (e) {
3360    // do nothing
3361}
3362
3363
3364
3365
3366// Initial fotorama tracking.
3367var moduleType = null;
3368if (s.prop5 === 'ArticleModule' || s.prop5 == 'PropertyModuleReplacement' || s.prop5 === 'BlockArticleModule') {
3369    moduleType = 'article';
3370} else if (s.prop5 === 'PictureGalleryModule') {
3371    moduleType = 'gallery';
3372}
3373
3374if ($('#comments-in-page').length === 1) {
3375    moduleType = 'comments';
3376}
3377
3378if (moduleType === 'article' || moduleType === 'gallery' || moduleType === 'comments') {
3379    var imagePath = '';
3380
3381    if ($('.fotorama').length > 0) {
3382        // Get the first Fotorama image.
3383        try {
3384            var el = $('.fotorama').data('fotorama').data[0].html;
3385            var url = $(el).find('div').css('background-image');
3386            imagePath = url.replace('url(','').replace(')','').replace(/\"/gi, "");
3387        } catch (e) {
3388        }
3389    } else {
3390        // If there's just one image (i.e. it's not a gallery), find its path.
3391        var imagePathSingle = $('#mainImage').attr('src');
3392        if (typeof imagePathSingle !== 'undefined') {
3393            imagePath = imagePathSingle.split('.')[0] + '/';
3394        }
3395    }
3396    var imageParts = imagePath.split('/');
3397    if (imageParts.length > 1) {
3398        s.eVar37 = imageParts[imageParts.length - 2];
3399        s.prop37 = imageParts[imageParts.length - 2];
3400        s.events = s.apl(s.events, 'event7', ',', 2);
3401    }
3402    s.eVar36 = moduleType;
3403    s.prop36 = moduleType;
3404}
3405
3406
3407
3408// Education pages.
3409if (s.prop5 === 'ResponsiveEducationModule') {
3410    // School profile page.
3411    if ($('#eduOverview').length > 0) {
3412        s.eVar40 = $('#eduOverview').data('school-status');
3413        s.prop40 = s.eVar40;
3414        s.prop41 = 'edu-' + $('#eduOverview').data('school-urn');
3415        s.prop46 = $('#town').text();
3416    }
3417
3418    // Comparison page.
3419    if ($('#eduComparisonTable').length > 0) {
3420        s.list1 = '';
3421    }
3422
3423    // Results page.
3424    if ($('.school-results').length > 0) {
3425        s.list1 = '';
3426
3427        // Track the search criteria.
3428        s.prop44 = '';
3429        s.prop45 = "".toLowerCase();
3430        s.prop46 = "".toLowerCase();
3431        s.prop49 = '';
3432        s.prop50 = '';
3433        s.prop51 = '';
3434        s.eVar2 = s.prop50;
3435
3436        var newSearch = false;
3437        if (newSearch) {
3438            s.events = s.apl(s.events, 'event17', ',', 1);
3439        }
3440    }
3441}
3442
3443// Notices Module
3444if (s.prop5 === 'NewsquestModulesNoticesModule') {
3445    // Notices Find page.
3446    if (s.pageName.includes('notices/find')) {
3447        s.pageName = '(www) /notices/find/';
3448        s.eVar50 = '';
3449        const noticesURL = new URL(window.location.href);
3450        const noticesParams = new URLSearchParams(noticesURL.search);
3451
3452        s.eVar1 = noticesParams.has('keyword') ? noticesParams.get('keyword') : 'None';
3453        s.eVar51 = noticesParams.has('sort') ? noticesParams.get('sprt') : 'best';
3454        s.eVar52 = noticesParams.has('p') ? (parseInt(noticesParams.get('p'), 10) + 1) : 1;
3455        s.eVar53 = noticesParams.has('type') ? noticesParams.get('type') : 'All';
3456        s.eVar54 = noticesParams.has('nearby') ? noticesParams.get('nearby') : 'no';
3457        s.eVar55 = noticesParams.has('daterange') ? noticesParams.get('daterange') : 'last-month';
3458
3459        if (noticesParams.has('sort')) {
3460            switch (noticesParams.get('sort')) {
3461                case 'date_asc':
3462                    s.eVar51 = 'oldest';
3463                    break;
3464                case 'date_desc':
3465                    s.eVar51 = 'newest';
3466                    break;
3467                case 'best_match':
3468                    s.eVar51 = 'best';
3469                    break;
3470                default:
3471                    s.eVar51 = noticesParams.get('sort');
3472                    break;
3473            }
3474        }
3475
3476        // Concatenate all search params into eVar44
3477        if (noticesParams.size > 0) {
3478            const searchParams = new URL(window.location.href).searchParams;
3479            s.eVar44 = '';
3480            searchParams.forEach((value, key) => {
3481                s.eVar44 += `${key}=${value},`;
3482            });
3483        } else {
3484            s.eVar44 = '';
3485        }
3486
3487        // Adobe Search Event triggering
3488        const setNoticePaginationClicked = (value) => {
3489            localStorage.setItem("isNoticePaginationClicked", value);
3490        };
3491
3492        const noticeSearchInput = document.getElementById("notices-search");
3493        const noticeSearchBtn = document.getElementById("notice-search-find");
3494        const noticePaginationBtns = document.querySelectorAll('.notice-find__pagination .pagination-btn');
3495        const noticePaginationBtnPrev = document.querySelector('.pagination-btn-previous svg');
3496        const noticePaginationBtnNext = document.querySelector('.pagination-btn-next svg');
3497
3498        noticeSearchInput?.addEventListener('change', () => setNoticePaginationClicked('false'));
3499        noticeSearchBtn?.addEventListener('click', () => setNoticePaginationClicked('false'));
3500
3501        noticePaginationBtns.forEach(btn => {
3502            btn.addEventListener('click', () => setNoticePaginationClicked('true'));
3503        });
3504
3505        noticePaginationBtnPrev?.addEventListener('click', () => setNoticePaginationClicked('true'));
3506        noticePaginationBtnNext?.addEventListener('click', () => setNoticePaginationClicked('true'));
3507
3508        if (localStorage.getItem("isNoticePaginationClicked") === 'false') {
3509            s.events = s.apl(s.events, 'event1', ',', 1);
3510        }
3511    }
3512
3513    if (/notices\/funeral-directors\/(\d+)\.([a-zA-Z0-9-?]+)?/.test(s.pageName)) {
3514        s.pageName = '(www) /notices/funeral-director/';
3515        s.eVar41 = '';
3516    }
3517}
3518
3519if (s.prop5 === 'NewsquestModulesNoticeModule') {
3520    s.eVar41 = '';
3521    const type = window.announcement_data?.details?.type || '';
3522    const subCategory = window.announcement_data?.details?.sub_category || '';
3523    s.eVar40 = type !== 'Tribute' ? type : `${type} - ${subCategory}`;
3524    s.eVar42 = window.announcement_data?.details?.id || '';
3525    s.eVar107 = '';
3526    s.eVar119 = '';
3527    s.eVar120 = '';
3528    s.eVar2 = "(www) /notice/";
3529}
3530
3531//New Property module
3532if (s.prop5 === 'ResponsivePropertyModule') {
3533    /*
3534        Use prop42 for single and list pages, for list pages use hyphen separate lists of id's
3535    */
3536    
3537    
3538    //Property's all over the place (homepage, searches etc - HOM-133
3539
3540    //Property Detail - HOM-131, HOM-134, HOM-130
3541
3542    //Contact us submissions - HOM-137
3543    if($('#propertyModule.agent-details').length > 0) {
3544        //Add a click handler for a.contact-detail
3545    }
3546
3547
3548}
3549
3550// is their a video tag on the page?
3551if ($('.exco-embed').length > 0) {
3552    console.log('VID: setting tracking for event50');
3553    s.events = s.apl(s.events, 'event50', ',', 1);
3554}
3555
3556var foundAutoPlayVid = false;
3557$('.jw-outer').each(function (a, domEle) {
3558    if ($(this).data('multimedia-block') === 'no' && !foundAutoPlayVid) {
3559        console.log('VID: setting tracking for event51');
3560        s.events = s.apl(s.events, 'event51', ',', 1);
3561        foundAutoPlayVid = true;
3562    }
3563});
3564
3565
3566
3567
3568
3569
3570
3571s.eVar66 = 'Ad-Full';
3572s.eVar114 = '';
3573
3574
3575
3576    // var eVar65Copy = s.getValOnce(s.eVar65, "ev65", 0);
3577    // if (eVar65Copy !== '' && s.prop20.indexOf("/my/subscription/activate/") > -1) {
3578    //     s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event.
3579    //     s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event.
3580    //     s.products = "Subscription : Metered Access;" + eVar65Copy + ";1;";
3581    //     s.purchaseID = "";
3582    // }
3583
3584
3585if(qs.get('action') === 'success' && (s.prop5 === 'ArticleModule' || s.prop5 === 'BMDModule' || s.prop5 === 'BlockArticleModule')) {
3586    s.events=s.apl(s.events,'event9',',',2)
3587}
3588/* Hierarchy Variables */
3589s.hier1="newsquest," + "Herald and Times" + ",www.thenational.scot," + path[6].replace(/\//,",");
3590
3591if (typeof MartiniFotorama !== 'undefined') {
3592    MartiniFotorama.loadOmniture(s);
3593}
3594s.prop39 = "0";
3595
3596
3597
3598// Tracking usage of Bytecast audio embeds in articles.
3599s.eVar82 = 'no';
3600s.eVar83 = '';
3601
3602    console.log('ADB: starting');
3603    console.log('Google Bot Browser: ', window.isRobot.googleBot()); //TODO Remove this log after QA
3604
3605// Tracking of Commenting Registration FLow
3606if (s.prop5 !== 'BlockArticleModule') {
3607    const storedAdobeDimensions = sessionStorage.getItem('nq_adobe_tracking_article_dimensions');
3608    if (storedAdobeDimensions) {
3609        const storedAdobeDimensionObj = JSON.parse(storedAdobeDimensions);
3610        s.eVar10 = storedAdobeDimensionObj.eVar10;
3611        s.eVar15 = storedAdobeDimensionObj.eVar15;
3612        s.eVar22 = storedAdobeDimensionObj.eVar22;
3613        s.eVar23 = storedAdobeDimensionObj.eVar23;
3614        s.eVar24 = storedAdobeDimensionObj.eVar24;
3615        s.eVar25 = storedAdobeDimensionObj.eVar25;
3616        s.eVar28 = storedAdobeDimensionObj.eVar28;
3617        s.eVar60 = storedAdobeDimensionObj.eVar60;
3618        s.eVar104 = storedAdobeDimensionObj.eVar104;
3619        s.eVar106 = storedAdobeDimensionObj.eVar106;
3620        s.eVar107 = storedAdobeDimensionObj.eVar107;
3621        s.eVar108 = storedAdobeDimensionObj.eVar108;
3622        s.prop63 = storedAdobeDimensionObj.prop63;
3623    }
3624}
3625
3626if (window.location.href.includes("/user/create-account/commenting/")) {
3627    s.eVar2 = '(www) /user/create-account/commenting/';
3628}
3629
3630/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
3631if (qs.get('callback') !== 'in' && !window.isRobot.googleBot()) {
3632    var s_code=s.t();
3633    var backupAdobe = s;
3634
3635    if(s_code)document.write(s_code)
3636}
3637
3638// Storing the visiting dimensions
3639if (s.eVar10 || s.eVar22 || s.eVar23 || s.eVar24) {
3640    const adobeTrackingVisitingDimensions = {
3641        eVar10: s.eVar10,
3642        eVar22: s.eVar22,
3643        eVar23: s.eVar23,
3644        eVar24: s.eVar24,
3645    }
3646    sessionStorage.setItem('nq_adobe_tracking_visiting_dimensions', JSON.stringify(adobeTrackingVisitingDimensions));
3647}
3648
3649//--></script>
3649
3650<!-- End SiteCatalyst code version: H.19.3. -->
3651
3652
3653
3654
3655
3656<script>
3657    if ('' !== '') {
3658        setTimeout(function() {
3659            data_layer_helper.loadScript(
3660                "/resources/responsive-static/build/mds-next/js/.js?cb=ezbp4BC2",
3661                true,
3662                null,
3663                "module"
3664            )
3665        }, 500);
3666    }
3667</script>
3667
3668
3669
3670</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.