CINXE.COM
Euro 2024 | The Herald
<!DOCTYPE html> <html lang="en" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#"> <head> <!-- standard - PreConnects.html --> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> <link rel="preconnect" href="https://d2zv5rkii46miq.cloudfront.net" /> <link rel="preconnect" href="https://visitanalytics.userreport.com" /> <link rel="preconnect" href="https://a02342.heraldscotland.com" /> <link rel="preconnect" href="https://securepubads.g.doubleclick.net" /> <link rel="preconnect" href="https://cdn.adsafeprotected.com" /> <link rel="preconnect" href="https://micro.rubiconproject.com" /> <link rel="preconnect" href="https://experience.tinypass.com" /> <link rel="preconnect" href="https://c.amazon-adsystem.com" /> <link rel="preconnect" href="https://tpc.googlesyndication.com"> <link rel="preconnect" href="https://pagead2.googlesyndication.com"> <link rel="preconnect" href="https://www.googletagservices.com"> <link rel="preconnect" href="https://cdn.ampproject.org"> <link rel="preconnect" href="https://securepubads.g.doubleclick.net"> <link rel="preconnect" href="https://tags.crwdcntrl.net"> <link rel="preconnect" href="https://bcp.crwdcntrl.net"> <link rel="preconnect" href="https://c.ltmsphrcl.net"> <link rel="dns-prefetch" href="https://tags.crwdcntrl.net"> <link rel="dns-prefetch" href="https://bcp.crwdcntrl.net"> <link rel="dns-prefetch" href="https://c.ltmsphrcl.net"> <title>Euro 2024 | The Herald</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="OMG-Verify-V1" content="4389-366acdfc-5224-4c07-bb70-f74d8fbfc2db" /> <meta name="robots" content="max-image-preview:large"> <meta name="format-detection" content="telephone=no"> <script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={xpid:"XQAFWVZQGwQAV1ZWBgED",licenseKey:"fd15ff24ac",applicationID:"70374104"};;/*! For license information please see nr-loader-full-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>d});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function d(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>p,xN:()=>g});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const d="[data-nr-mask]",u=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function g(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,u());const r=(0,s.nY)(e);r&&(r.init=l[e])}function p(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},d={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},u={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!u[e])throw new Error("Runtime for ".concat(e," was never set"));return u[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");u[e]={...(0,n.a)(t,d),...c},Object.hasOwnProperty.call(u[e],"harvestCount")||Object.defineProperty(u[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=u[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.274.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>d,RI:()=>i,WN:()=>f,bv:()=>o,gm:()=>a,lR:()=>l,m:()=>c,mw:()=>s,sb:()=>u});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>d});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function d(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function u(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(u(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)g(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function g(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>d});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),d=function e(t,r){var n={},s={},u={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:g,addEventListener:g,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(d.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=p(e),u=c.length,l=0;l<u;l++)c[l].apply(a,r);var g=v()[s[e]];g&&g.push([f,e,r,a]);return a},get:m,listeners:p,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function g(e,t){n[e]=p(e).concat(t)}function p(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),u=(0,n.Zm)();u.ee||(u.ee=d)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>d});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function d(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>d,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},d={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>u,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>d,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function d(e){let t=a();return t.initializedAgents?.[e]}function u(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(d+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(u+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],d=e[c];u(d)||(e[c]=r(d,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return u(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){d([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,u,l;try{a=this,o=[...arguments],u="function"==typeof n?n(o,a):n||{}}catch(t){d([t,"",[o,a,s],u],e)}i(r+"start",[o,a,s],u,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],u,c),e}finally{i(r+"end",[o,a,l],u,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){d([t,r,n,i],e)}s=a}}}function d(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function u(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,Zp:()=>i,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>u,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>d,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},d={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},u=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>d,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function d(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>d,Rz:()=>u,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,d="fn"+s,u="pushState",l=1e3},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>P});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),d=r(5289),u=r(6154),l=r(944),f=r(3969),h=r(384),g=r(6344);const p=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",g.G4.RECORD,g.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),R=r(3785),x=r(2646),w=r(3434);function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,w.YM)(i),a=new x.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function A(){const e=(0,h.pV)();p.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const E={};var S=r(9417),_=r(5603),O=r(5284);const N=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let I=!1;function P(e,t={},p,x){let{init:w,info:P,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=p;const H=(0,h.pV)();P||(w=H.init,P=H.info,j=H.loader_config),(0,S.xN)(e.agentIdentifier,w||{}),(0,_.a)(e.agentIdentifier,j||{}),P.jsAttributes??={},u.bv&&(P.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,P);const D=(0,S.D0)(e.agentIdentifier),L=[P.beacon,P.errorBeacon];I||(D.proxy.assets&&(N(D.proxy.assets),L.push(D.proxy.assets)),D.proxy.beacon&&L.push(D.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===D.soft_navigations.enabled&&D.feature_flags.includes("soft_nav")),C.denyList=[...D.ajax.deny_list||[],...D.ajax.block_internal?L:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const p={};var x=s.ee.get(e),w=x.get("tracer");E[e]=b.g.OFF,x.on(g.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var A="api-",S=A+"ixn-";function _(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(A,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}p.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,x),(0,R.R)(x,e,t,r)},p.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,x),T(x,e,t,{customAttributes:r,level:i})},m.forEach((e=>{p[e]=I(A,e,!0,"api")})),p.addPageAction=I(A,"addPageAction",!0,n.K7.genericEvents),p.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(A,"setPageViewName",!0)()},p.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return _(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},p.setUserId=function(e){if("string"==typeof e||null===e)return _("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},p.setApplicationVersion=function(e){if("string"==typeof e||null===e)return _("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},p.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,x),x.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},p[g.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,x),(0,a.p)(g.G4.RECORD,[],void 0,n.K7.sessionReplay,x)},p[g.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,x),(0,a.p)(g.G4.PAUSE,[],void 0,n.K7.sessionReplay,x)},p.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const N=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,x),h||(0,a.p)(S+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,x),function(){if(w.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw w.emit("fn-err",[arguments,this,t],r),t}finally{w.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,x),i&&(0,a.p)(e+t,[(0,v.t)(),...arguments],r?null:this,i,x),r?void 0:this}}function P(){r.e(891).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),x.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{N[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),p.setCurrentRouteName=h?I(S,"routeName",void 0,n.K7.softNav):I(A,"routeName",!0,n.K7.spa),p.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,x),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,x)},u.RI?(0,d.GG)((()=>P()),!0):P(),p}(e.agentIdentifier,x,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),I=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({95:"nr-full-compressor",222:"nr-full-recorder",891:"nr-full"}[e]+"-1.274.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var l=d[u];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={891:"sha512-Sx2xJQrHp2m/Ngn/ZcfBCUwNr2Xy/C5urYtWpfm3bWpil4spXOQGTtNwIfF5HvPGioGASn9QTyE4Z+zC7r7wcg==",222:"sha512-hMte3OWgwwYeisSiD7WCIx/6tT16zLaPjag9uF4tIZp7ybOvrJKbeyzhe4fz1tDbkdcdOMm8dvgPPLBatSAGeA==",95:"sha512-MPaT9dkHv16XzwEUVZPyqpN1do/Er1XFAZoIAPYWylmv+iGIThqN+GwQq27pUyAX7sNXVJQVZezH96p53Ks3Pg=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(g);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},g=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={959:0,85:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,d=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);d<a.length;d++)o=a[d],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function d(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var u=i(425);var l=i(1687),f=i(4234),h=i(5289),g=i(6154),p=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(891).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(891).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(891).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};g.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,p.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class R extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var x=i(384);var w=i(9908),T=i(2843),A=i(3878),E=i(782),S=i(1863);class _ extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),g.RI&&((0,T.u)((()=>(0,w.p)("docHidden",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,w.p)("winPagehide",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class N extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return D(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(D(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function H(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return D(e.error)?e.error:C(e)}function D(e){return e instanceof Error&&!!e.stack}class L extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(e=>{this.abortHandler&&(0,w.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),g.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,w.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",(e=>{this.abortHandler&&(0,w.p)("err",[H(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var K=i(8990);let M=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,K.I)(e,U,(function(){return M++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,s=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=g.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(p?p.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var p=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===d||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",Q=["arrayBuffer","blob","json","text","formData"],J=g.gm.Request,ee=g.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(J&&ee&&g.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,Q.forEach((e=>{r(J[te],e,X),r(ee[te],e,X)})),r(g.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),d={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),d}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),de=["load","error","abort","timeout"],ue=de.length,le=(0,x.dV)().o.REQ,fe=(0,x.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,w.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};ge(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=x,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){T(t,e)}),(0,A.jT)(!1)),g.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},ge(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<ue;s++)r.addEventListener(de[s],this.listener,(0,A.jT)(!1))}function d(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function u(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function p(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:g.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),ge(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function R(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function x(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<ue;t++)e.removeEventListener(de[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCazptureCalled||4!==e.readyState?null==t.status&&(t.status=0):T(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function T(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,w.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",d),t.on("xhr-load-added",u),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",p),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",R)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function ge(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const pe={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!g.RI||pe[t.debugId]++||(pe[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:Re,d3:xe,Kp:we,TZ:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class _e extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,w.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+xe,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+we,(function(e){(0,w.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,w.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:Re,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class Ne extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,p.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,w.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,p.Aw)(this.agentIdentifier)}#d=!1;async#c(e){if(!this.#d){this.#d=!0;try{const{Recorder:t}=await Promise.all([i.e(891),i.e(222)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3333);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){super(e,Ie.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled];g.RI&&e.init.user_actions.enabled&&(Ie.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,w.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),Ie.qN.forEach((e=>(0,A.sp)(e,(e=>(0,w.p)("ua",[e],void 0,this.featureName,this.ee)))))),r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var je=i(993),Ce=i(3785);class ke extends b{static featureName=je.TZ;constructor(e,t=!0){super(e,je.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,Ce.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),g.gm?(this.features={},(0,x.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(R),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,u.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=d(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,x.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[R,_,_e,Ne,he,N,L,Pe,ke],loaderType:"pro"})})()})();</script> <!-- standard - Fonts.html --> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Libre+Franklin:300,400,500,600,700"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;600;700&family=Source+Serif+Pro:wght@400;600;700&display=swap"> <link rel="alternate" type="application/rss+xml" title="The Herald | Euro 2024 RSS Feed" href="https://www.heraldscotland.com/sport/euro2024/rss/" /> <meta name="keywords" content="" /> <meta name="description" content="Euro 2024 coverage from The Herald" /> <meta name="title" content="Euro 2024 | The Herald" /> <meta property="fb:pages" content="271154343382" /> <meta property="fb:pages" content="285985008233564" /> <link rel="canonical" href="https://www.heraldscotland.com/sport/euro2024/" /> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebPage", "headline": "Sport | Euro2024 Index", "url": "http://www.heraldscotland.com/sport/euro2024/" } </script> <link id="page_stylesheet_vars" href="/resources/responsive-static/build/mds/css/palette-1-serif-vars.css?r=uUAjmAdC" rel="stylesheet" type="text/css"> <link href="/resources/responsive-static/build/mds/css/header-footer.css?r=uUAjmAdC" rel="stylesheet" type="text/css"> <link id="page_stylesheet" href="/resources/responsive-static/build/mds/css/blockarticle.css?r=uUAjmAdC" rel="stylesheet" type="text/css"> <link rel="shortcut icon" href="/resources/images/17853003/" type="image/vnd.microsoft.icon"> <link rel="icon" href="/resources/images/17853003/" type="image/vnd.microsoft.icon"> <!-- standard - AdvertisingInit.html --> <script> window.startExec = performance.now(); </script> <!-- standard - ThirdPartyAndSync.html --> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src="/resources/shared/responsive-sync/?r=uUAjmAdC"></script> <!-- standard - Sourcepoint.html --> <script>"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return o;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}();</script> <script type = "text/javascript"> ( function () { var module = 'BlockArticleModule'; if (module === 'BackboneUserModule' || module === 'AdBlockerFaqModule' || module === 'ResponsiveEducationModule' || module === 'PianoSubscriptionPageModule') { var events = "event70"; trackSPEvents(events); return; } window._sp_ = { config: { baseEndpoint: 'https://a02342.heraldscotland.com', accountId: 52, targetingParams:{ subscribed: false, privacy: false }, gdpr: { }, events: { onMessageReady: function (message_type) { trackSPEvents('event76'); }, onMessageChoiceSelect: function (message_type, choice_id, choice_type_id) { console.log('message_type: ', message_type); console.log('choice_id: ', choice_id); console.log('choice_type_id: ', choice_type_id); if ('no' === 'yes') { if (choice_type_id === 12) { trackSPEvents('event83'); //Consent Banner Reject All trackSPEvents('event82'); //Journalism Message Shown } if (choice_type_id === 11) { trackSPEvents('event78'); } if (choice_type_id === 9) { trackSPEvents('event77'); } } else { // these are the second argument in non-gate if (choice_type_id === 12) { trackSPEvents('event77'); } if (choice_type_id === 11) { trackSPEvents('event78'); } if (choice_type_id === 13) { trackSPEvents('event83'); } } }, onPrivacyManagerActionStatus: function(message_type, status, actionType) { console.log('message_type: ' + message_type); console.log('status: ' + status); console.log('actionType: ' + actionType); if ('no' === 'yes') { if (actionType === 11) { trackSPEvents('event79'); //Privacy Manager Accept } if (actionType === 9) { trackSPEvents('event68'); //Privacy Manager Redirect } if (actionType === 1) { trackSPEvents('event75'); //Forced tcf String Change } } else { // these are the second argument in non-gate if (actionType === 13) { trackSPEvents('event81'); //Privacy Manager Reject } if (actionType === 11) { trackSPEvents('event79'); //Privacy Manager Accept } if (actionType === 1) { trackSPEvents('event80'); //Privacy Manager Save & Exit } } }, onPMCancel: function (message_type) { console.log('onPMCancel', message_type); trackSPEvents('event84'); //Privacy Manager Back }, } } } // document.addEventListener('sp.blocking', function (e) { // var events = "event70"; // if ($.cookie('nqab') === 'false') { // events += ',event74'; // } // if ($.cookie('nqab') !== null) { // events += ',event72'; // trackSPEvents(events); // $.cookie('nqab', 'true', { expires: 365, path: '/' }); // return; // } // $.cookie('nqab', 'true', { expires: 365, path: '/' }); // events += ',event71'; // trackSPEvents(events); // }); // document.addEventListener('sp.not_blocking', function (e) { // console.log('DFP: Not blocking triggered, cookie is %s', $.cookie('nqab')); // // If they have the cookie set, it means they saw the banner and now have disabled their adblocker. // if ($.cookie('nqab') === 'true') { // trackSPEvents('event73'); // $.cookie('nqab', 'false', { expires: 365, path: '/' }); // } // }); __tcfapi('addEventListener', 2, function (tcData, success) { // console.log('DFP: Event Listen:', tcData); if (success && tcData.eventStatus === 'useractioncomplete') { var csnt = 'none'; if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { csnt = 'yes'; } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { csnt = 'no'; } googletag.cmd.push(function() { // console.log('DFP: Cookie check - setting dfpcsnt to ', csnt); googletag.pubads().setTargeting('dfpcsnt', csnt); }); // ready to start DFP startAdvertising(tcData.listenerId); setTcfCookie(tcData.purpose.consents, tcData.purpose.legitimateInterests); } else if (success && tcData.eventStatus === 'tcloaded') { startAdvertising(tcData.listenerId); } }); $(document).on('click', '.gdpr-option-v2', function (e) { e.preventDefault(); sendEvent76 = false; var id = $(this).data('v2-id'); if ($(this).data('is-gate') === 'yes') { trackSPEvents('event87'); _sp_.gdpr.loadPrivacyManagerModal(id); } else { trackSPEvents('event77'); _sp_.gdpr.loadPrivacyManagerModal(id); } }); function getTcfData() { __tcfapi('addEventListener', 2, function(data, success) { setTcfCookie(data.purpose.consents, data.purpose.legitimateInterests); }, [755]); } getTcfData(); function setTcfCookie(data, legitimateInterests) { var consents = []; $.each(data, function(id, consent) { var c = (consent === true) ? 'yes' : 'no'; consents.push(c) }); // console.log('DFP: consents length: ', consents.length); if (consents.length !== 10) { // consents = consents.fill('no', consents.length, 10); for (var i = consents.length; i < 10; i++) { consents[i] = 'no'; } } // console.log('DFP: Found consents to store in cookie:', consents); $.cookie('prev-tcf-v2', consents.join(','), {domain: '.heraldscotland.com', path: '/', expires: 100}); var consentEvent4 = 'none'; if (typeof data[4] !== 'undefined') { consentEvent4 = data[4] ? 'true' : 'false'; } $.cookie('_sp_enable_dfp_personalized_ads', consentEvent4, {domain: '.heraldscotland.com', path: '/', expires: 100}); var legitInterest = 'none'; if (legitimateInterests && typeof legitimateInterests[2] !== 'undefined') { legitInterest = legitimateInterests[2] ? 'true' : 'false'; } $.cookie('_sp_legitimate_interests', legitInterest , {domain: '.heraldscotland.com', path: '/', expires: 100}); } var sendEvent76 = true; function trackSPEvents(events) { if (events === 'event76' && !sendEvent76) { return; } else if (events === 'event76') { sendEvent76 = false; } if (typeof window.s !== 'object') { // console.log('DFP: No window.s object found, trying again in 1 second'); window.setTimeout(function () { trackSPEvents(events)} , 1000); return; } // console.log("ADB: Tracking %s", events); // Re-create the Omniture object so the data can be tracked. var s = window.s; if (events.indexOf('event70') !== -1) { // console.log('DFP: Events passed, added evars'); s.eVar35 = 'enabled'; s.prop35 = 'enabled'; } s.events = events; s.linkTrackEvents = events; s.linkTrackVars = "eVar2,eVar3,eVar4,eVar5,eVar6,evar7,evar8,evar9,eVar16,eVar19,eVar26,eVar35,eVar43,prop35"; s.suppressPageView = true; s.tl(true,'o','Ad Block'); } function startAdvertising(id) { if (typeof window.doNotAdvertise !== 'undefined' && window.doNotAdvertise === true) { return; } // console.log("DFP: Is the page fully loaded?", window.googleReady); if (window.googleReady !== true) { window.setTimeout(function () { // console.log('DFP: Google not fully loaded yet, pausing quarter of a second before trying again'); startAdvertising(id); }, 250); return; } // console.log('DFP: Starting advertisement loading routine'); if (window.advertisingStart === true) { return; } // console.log('DFP: Running advertisement'); window.advertisingStart = true; var googletag = window.googletag; // init google objects and array (function() { var gads = document.createElement('script'); gads.async = true; gads.type = 'text/javascript'; gads.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(gads, node); })(); var e = new Event('launch:cmp:choice-made'); window.dispatchEvent(e); // AP code fetchAp(); if (usePrebid) { // load prebid script // console.log("DFP: loading Newsquest Test script"); var site = 'desktop'; var _site = 'desktop'; // load IAS scripts and set up vars (function() { var ias = document.createElement('script'); ias.async = true; ias.type = 'text/javascript'; ias.src = 'https://cdn.adsafeprotected.com/iasPET.1.js'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(ias, node); })(); (function() { var pbs = document.createElement('script'); pbs.async = true; pbs.type = 'text/javascript'; pbs.src = 'https://micro.rubiconproject.com/prebid/dynamic/11022.js?group=newsquest'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(pbs, node); })(); // console.log('DFP: Starting header bid code from CMP v2 flow'); googletag.cmd.push(function () { // console.log("DFP: loading header bid code - Google is loaded"); fetchHeaderBids(); }); } if ( window.data_layer.user.advertising_experience !== 'Ad-Free' && window.data_layer.config.disable_outbrain !== 'yes' ) { (function() { var ob = document.createElement('script'); ob.async = true; ob.type = 'text/javascript'; ob.src = 'https://widgets.outbrain.com/outbrain.js'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(ob, node); })(); } // remove the listener if (id !== null) { window.__tcfapi('removeEventListener', 2, function (success) { }, id); } } })(); </script> <script src="https://a02342.heraldscotland.com/unified/wrapperMessagingWithoutDetection.js"></script> <!-- standard - DataLayer.html --> <script type="text/javascript"> data_layer_helper.setIsArticle(false); data_layer_helper.setCookieDomain('.heraldscotland.com'); data_layer_helper.setModuleType('BlockArticleModule'); data_layer_helper.setLocalInfoFolder(''); data_layer_helper.setHomesData('', '', '', 'sport'); data_layer_helper.setPrimaryDomain('www.heraldscotland.com'); data_layer_helper.setPath('/sport/euro2024/'); data_layer_helper.setGoogleNetworkCode('154725070'); data_layer_helper.setArticleTimestamp(''); var extraTags = []; extraTags.push('user_level_anonymous'); var data_layer = { environment: { is_test_site: 'no', is_live_site: 'yes', is_paywall_site: 'yes', is_portable_screen: (data_layer_helper.isMobileScreen()) ? 'yes' : 'no', is_desktop_screen: (data_layer_helper.isMobileScreen()) ? 'no' : 'yes', is_mobile_device: data_layer_helper.getMobileDevice(), is_tablet_device: data_layer_helper.getTabletDevice(), server: 'dmh-martini-web23', platform: 'Martini' }, site: { id: '308', centre_id: '14', centre_name: 'Herald and Times', country: 'Scotland', name: 'The Herald', domain: 'www.heraldscotland.com', editor_name: 'Catherine Salmond', onboarding_enabled: 'yes', onboarding_flow_id: 'the_herald', cookie_domain: '.heraldscotland.com', uses_cmp: 'yes', short_domain: 'heraldscotland', using_piano_id: 'yes', enable_skimlinks: 'yes', skimlinks_domain_id: '1680368', disable_newsletters: 'no', is_archant_site: 'no', shc_merchant_name: '', piano_application_group: 'Bespoke', piano_site_name: 'The Herald', piano_site_name_possessive: 'The Herald\'s', piano_site_name_with_prefix_lower: 'The Herald', piano_site_name_with_prefix_capitalised: 'The Herald', piano_site_name_with_prefix_capitalised_possessive: 'The Herald\'s', piano_site_name_with_prefix_lower_possessive: 'The Herald\'s', piano_location_primary: 'Scotland', piano_location_primary_possessive: 'Scotland\'s', piano_location_county: 'Scotland', piano_location_county_possessive: 'Scotland\'s', piano_primary_sports_team: '', piano_primary_sports_team_nickname: '', piano_primary_sports_team_sport: '', piano_primary_sports_team_possessive: '', piano_primary_sports_team_nickname_possessive: '', has_app: 'yes', app_provider: 'pagesuite', app_platform: 'pagesuite-hybrid', app_store_url_ios: 'https://apps.apple.com/app/the-herald/id980623432', app_store_url_google_play: 'https://play.google.com/store/apps/details?id=com.pagesuite.theheraldsundayherald' }, page: { module: 'BlockArticleModule', referrer: data_layer_helper.getReferrerHostName(), name: '(www) ' + data_layer_helper.getOmniturePath(), title: document.title, path: data_layer_helper.getOmniturePath(), section: data_layer_helper.getPathFragment(0), subsection: data_layer_helper.getPathFragment(1), subsection_2: data_layer_helper.getPathFragment(2), subsection_3: data_layer_helper.getPathFragment(3), reference: qs.get('ref'), layout: '', ad_timing: data_layer_helper.getCookie('adtiming'), template_namespace: 'standard', template: '', colour_scheme: '', layout_template: 'BAM Legacy List 1.0', mds_font: 'serif', mds_colour_palette: 'palette-1', feature_block_a_enabled: ($('[data-name="Feature Article Block A"]').length > 0) ? 'yes' : 'no', feature_block_b_variant: (typeof $('[data-name="Feature Article Block B"]').data('variant') === 'undefined') ? '' : $('[data-name="Feature Article Block B"]').data('variant'), is_article_list: 'yes', error_404: '', top_stories_article_count: '', interstitial_article_count: '', news_stories_article_count: '' }, user: { id: '', first_name: '', advertising_experience: 'Ad-Full-Herald', is_privacy_plus: 'no', is_alist: 'no', level: data_layer_helper.getCookie('nq_ul'), seen_cmp: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true' || data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no', given_consent: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true') ? 'yes' : 'no', consent_string: data_layer_helper.getConsentString(), type: 'anonymous', parsely_type: 'Anonymous', chartbeat_type: 'anon', type_as_int: '1', is_logged_in: 'no', is_admin: 'no', has_full_admin_link_permissions: '', has_registered: (data_layer_helper.getCookie('nqr') !== null) ? 'yes' : 'no', comments_verified: '', comments_verified_date: '', age_decade: '0' , gender: 'u' , is_known: data_layer_helper.getCookie('__siren') ? 'yes' : 'no', hash: '', lr_hash_1: '', lr_hash_2: '', lr_hash_3: '', gender: 'u' , user_decade: '0' , subscription_plan: '', subscription_tier: 'null', subscription_plan_and_frequency: ' - ', commented: (data_layer_helper.isArticle() && qs.get('action') === 'success') ? 'yes' : 'no', time_since_last_visit: 'not implemented (maybe drop)', device: data_layer_helper.getDevice(), using_ad_blocker_sourcepoint: data_layer_helper.getSourcepointAdbockStatus(), admin_user_name: '', card_expired: '', card_will_expire: '', expires_urgency: '', abandoned_cart: 'no', subscription_expired: 'no', payment_attempt_one: 'no', payment_attempt_two: 'no', payment_attempt_final: 'no', is_archant_site: 'no', signed_up_primary_news_newsletter: 'no', signed_up_primary_sport_newsletter: 'no', has_app_access: 'no', played_free_puzzles_last_7days: '', played_paid_puzzles_last_7days: '' }, analytics: { hierachy: 'newsquest,Herald and Times,www.heraldscotland.com,' + data_layer_helper.getPathFragment(3).replace(/\//,','), link_filters: 'javascript:,heraldscotland.com,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk,', tracking_block: data_layer_helper.getTrackingFromCookie('tracking_block', ''), tracking_block_index: data_layer_helper.getTrackingFromCookie('tracking_block_index', ''), previous_page_name: data_layer_helper.getCookie('nq_prev_page'), advert_id: '', position_in_list: data_layer_helper.getTrackingFromCookie('o-prop30', ''), featured_content: data_layer_helper.getTrackingFromCookie('o-ref', qs.get('ref')), account: data_layer_helper.getAccount() }, chartbeat: { enabled: "no", id: "", domain: "", sections: '' }, parsely: { enabled: "yes", site_id: "heraldscotland.com", type: 'Anonymous' }, piano: { tags: data_layer_helper.getPianoTags({ piano_domain: 'heraldscotland', piano_master: '', breaking_news: false, editorial_opinion: false, free_subscriber: false, free_subscriber: false, has_video: false, is_article: false, article_content_level : '', article_content_level_open_access: false, picture_gallery_id: false, user_is_newsquest: false, user_logged_in: false, is_live_article: false, why_free_subscriber: '', extra_tags: extraTags, is_covid_headline: false, is_covid_body: false, is_alist: false, audio_provider_bytecast: false } ), custom_variables: { article_length: '', application_group: 'Bespoke', content_is_editorial_opinion: 'no', base_url: 'https://www.heraldscotland.com', mds_font: 'serif', mds_colour_palette: 'palette-1', site_name: 'The Herald', site_name_possessive: 'The Herald\'s', site_name_with_prefix_capitalised: 'The Herald', site_name_with_prefix_lower: 'The Herald', site_name_with_prefix_capitalised_possessive: 'The Herald\'s', site_name_with_prefix_lower_possessive: 'The Herald\'s', location_primary: 'Scotland', location_primary_possessive: 'Scotland\'s', location_county: 'Scotland', location_county_possessive: 'Scotland\'s', site_has_primary_sports_team: 'no', primary_sports_team: '', primary_sports_team_nickname: '', primary_sports_team_sport: '', primary_sports_team_possessive: '', primary_sports_team_nickname_possessive: '', site_id: '308', content_level: '', content_level_openaccess_override: 'no', content_author: '', content_id: '', content_is_article: 'no', content_primary_topic: '', user_seen_consent_modal: ($.cookie('_sp_enable_dfp_personalized_ads') === 'true' || $.cookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no', user_has_app_access: 'no', site_section: data_layer_helper.getPathFragment(0, true), article_published_yyyy: '', user_played_free_puzzles_last_7days: '', user_played_paid_puzzles_last_7days: '', anon_user_played_free_puzzles_last_7days: data_layer_helper.untrackedPuzzleCheck(), home_delivery_phone_number: '0141 302 6096', content_taxonomy_topics_contains_sport: ''.indexOf('sport') >= 0 ? 'yes' : 'no', content_is_restricted: data_layer_helper.getRestrictedContent('', '', '', ''), day_of_week: data_layer_helper.getDayOfWeek(), user_card_expired: '', user_card_will_expire: '', user_expires_urgency: '', user_payment_attempt_one: 'no', user_payment_attempt_two: 'no', user_payment_attempt_final: 'no', user_subscription_tier: 'null', user_is_newsquest: 'no', primary_news_newsletter_id: '1897', primary_news_newsletter_name: 'the Unspun: Scottish Politics', primary_news_newsletter_description: 'Our nightly politics briefing, with exclusive analysis from our top team of writers.', primary_sport_newsletter_id: '1221', primary_sport_newsletter_name: 'the Sports Headlines', primary_sport_newsletter_description: 'The best Scottish sports coverage, delivered to your inbox every morning.', user_signed_up_primary_news_newsletter: 'no', user_signed_up_primary_sport_newsletter: 'no', newsletter_auto_promote: '', newsletter_auto_promote_name: '', newsletter_auto_promote_description: '', newsletter_auto_promote_ID: '', site_has_app: 'yes', site_app_store_url_ios: 'https://apps.apple.com/app/the-herald/id980623432', site_app_store_url_google_play: 'https://play.google.com/store/apps/details?id=com.pagesuite.theheraldsundayherald', site_section1: data_layer_helper.getPathFragment(1, true) // GBL required }, native_variables: { setContentCreated: '', setContentIsNative: 'no', setContentAuthor: '', setContentSection: data_layer_helper.getPathFragment(0, true) } }, article: { showing_preview: '', is_article: data_layer_helper.isArticle() ? 'yes' : 'no', id : '', length_type: '', character_count: '', author: ''.toLowerCase(), context: '', content_level: '', content_level_open_access: '', content_level_combined: ',,no', content_is_restricted: data_layer_helper.getRestrictedContent('', '', '', ''), increment: (data_layer_helper.isArticle()) ? '+1' : '', sponsor: '', contributions: '0', is_sponsored: 'no', headline: '', age: data_layer_helper.getArticleAge(), upload_date: '', publish_date: '', update_date: '', rating: '', source: data_layer_helper.getSource(''), subjects: (typeof articleSubjects === 'object') ? articleSubjects.join(',') : '', context: '', grapeshot_context: (typeof gs_channels !== 'undefined') ? gs_channels : '', allow_comments: 'no', total_comments: '', originating_site_id: '', parent_article_site_id: '', parent_article_id: '', originating_article_id: '', parent_originating_site_id: '', is_original_to_site: '', is_cloned: '', parent_article_url: '', use_skimlinks: 'no', content_primary_topic: '', taxonomy: { article_types: '', topics: '', sports: '', sports_teams: '', locations: '', shared_content: '', free_tags: '', farming: '' }, audio: { has_audio: 'no', provider: '' } }, homes: { search_bedrooms_minimum: '', search_location: 'sport', search_price_minimum: '', search_price_maximum: '', list: '', id: '' }, video: { exists: 'no', auto_play_enabled: data_layer_helper.getAutoPlay('no') }, contributions: { allow_text: '', allow_image: '', user_contributions_number: '0', has_user_contributions: 'no' }, search: { keywords: qs.get('search'), results: '' }, announcements: { category: '' }, config: { google_analytics_id: 'G-MPKEG017RX', site_template_set: 'standard', path: '/sport/euro2024/', top_level_section: 'sport', polar_property_id: 'NA-HERA-11238047', gallery_show_advert_after: '5', disable_outbrain: 'no' }, dfp: { is_landing: 'yes', module_path: 'sport', weather_band: '11-15', weather_summary: 'cloudy'.toLowerCase(), id: data_layer_helper.getGoogleId(), display_screen: data_layer_helper.isMobileScreen() ? 'mobile' : 'desktop', can_show_billboard: (window.screen.width > 960) ? 'y' : 'n' }, dates: { date: (new Date()).toLocaleDateString('en-GB'), hour: (new Date()).getHours(), day: data_layer_helper.getDayOfWeek(), weekend: ((new Date()).getDay() === 6 || (new Date()).getDay() === 0) ? 'Weekend' : 'Weekday' }, memorials: { contact_phone_number: '', contact_email_address: '', publications: JSON.parse('' || '[]') } } data_layer_helper.storeCurrentPageName(data_layer.page.name); window.dispatchEvent(new Event('data-layer-loaded')) if (data_layer.article.is_article !== 'yes') { data_layer.piano.custom_variables.site_module = 'BlockArticleModule'; data_layer.piano.custom_variables.puzzles_landing_page = 'no'; data_layer.piano.custom_variables.desktop_hero_id = '0'; data_layer.piano.custom_variables.puzzles_display_page = 'no'; data_layer.piano.custom_variables.mobile_hero_id = '0'; } </script> <script src="//assets.adobedtm.com/499440d21de9/54b957ecfb7e/launch-98090dfa3d73.min.js" async ></script> <!-- standard - PianoInit.html --> <script> window.usePiano = true; window.selectedOfferId = null; window.selectedTermId = null; </script> <script> document.cookie = "__adblocker=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; var setNptTechAdblockerCookie = function(adblocker) { var d = new Date(); d.setTime(d.getTime() + 60 * 60 * 24 * 2 * 1000); document.cookie = "__adblocker=" + (adblocker ? "true" : "false") + "; expires=" + d.toUTCString() + "; path=/"; } var script = document.createElement("script"); script.setAttribute("async", true); script.setAttribute("src", "//www.npttech.com/advertising.js"); script.setAttribute("onerror", "setNptTechAdblockerCookie(true);"); document.getElementsByTagName("head")[0].appendChild(script); </script> <script> tp = window.tp || []; function runPiano() { Object.keys(data_layer.piano.custom_variables).forEach(function (k) { var v = data_layer.piano.custom_variables[k]; if (v != '') { tp.push(["setCustomVariable", k, v]); } }); Object.keys(data_layer.piano.native_variables).forEach(function (k) { var v = data_layer.piano.native_variables[k]; if (v != '') { tp.push([k, v]); } }); tp.push(['setTags', data_layer.piano.tags]); (function(src){ var a=document.createElement("script"); a.type = "text/javascript"; a.async=true; a.src=src; var b=document.getElementsByTagName("script")[0]; b.parentNode.insertBefore(a, b) })("//experience.tinypass.com/xbuilder/experience/load?aid=rBSKi8pTte"); } // Init Piano tp.push(["setDebug", ($.cookie('debug') === '1')]); tp.push(["setApplePayMerchantId", 'merchant.nq.subssites.piano']); // init Piano ID tp.push(['init', function() { tp.pianoId.init(); }]); tp.push(["setUsePianoIdUserProvider", true ]); tp.push(["addHandler", "loginRequired", function(params) { // If they're already signed in, we don't need to do anything special. if (tp.user.isUserValid()) { return; } if (typeof window._overridePianoDefault !== 'undefined' && window._overridePianoDefault !== true) { console.log("TPL Called") tp.pianoId.show({ screen: 'login', displayMode: 'modal', loggedIn: (data) => { pianoId.loggedIn(); }, loggedOut: () => { console.log('TP-TJ: user logged out'); }, registrationSuccess: () => { pianoId.registered(); }, width: '500px', height: '460px', }); } }]); tp.push(["addHandler", "showTemplate", function (templateParams) { handleOfferShow(templateParams); trackLocation(); if ($(templateParams.containerSelector).length > 0) { $(templateParams.containerSelector).addClass('shown'); if (templateParams.containerSelector === '#po-inline-article-inside') { $('#piano-container-inside-article').addClass('shown').removeAttr('style'); } if (!$(templateParams.containerSelector).hasClass('mar-block-ad')) { $(templateParams.containerSelector).show(); } if (templateParams.containerSelector === '#po-overlay-articlegate-full-width-scroll-below') { handleFullWidthBanner(); } if ( $(templateParams.containerSelector) === '#subscription-content' || $(templateParams.containerSelector) === '#po-inline-subscribe-page' ) { $(templateParams.containerSelector).show(); } if (['#piano_blockmodule_target_d', '#po-inline-blocksystem-target-e'].includes(templateParams.containerSelector)) { $('#divpo-inline-blocksystem-target-e').show(); } if (templateParams.containerSelector === '#po-overlay-toast-left') { removePianoToast() } if (templateParams.containerSelector === '#po-inline-articlewall-partialarticle-closable') { $('#po-inline-articlegate-partialarticle').css('display', 'none'); } if (templateParams.containerSelector === '#po-inline-articlewall-fullarticle-closable') { $('#po-inline-articlegate-fullarticle').css('display', 'none'); } } }]); tp.push(["addHandler", "checkoutSelectTerm", function (termDetails) { if (typeof termDetails.termId !== 'undefined') { window.selectedTermId = termDetails.termId; } }]); tp.push(["addHandler", "showOffer", function (offerParams) { handleOfferShow(offerParams); window.shownOffer = true; trackLocation(); // Store some data we might need later. if (typeof offerParams.offerId !== 'undefined') { window.selectedOfferId = offerParams.offerId; } if ($(offerParams.containerSelector).length > 0) { if ($(offerParams.containerSelector).length > 0) { $(offerParams.containerSelector).addClass('shown'); if (offerParams.containerSelector === '#po-inline-article-inside') { $('#piano-container-inside-article').addClass('shown').removeAttr('style'); } if (!$(offerParams.containerSelector).hasClass('mar-block-ad')) { $(offerParams.containerSelector).show(); } if (offerParams.containerSelector === '#po-overlay-articlegate-full-width-scroll-below') { handleFullWidthBanner(); } if ( $(offerParams.containerSelector) === '#subscription-content' || $(offerParams.containerSelector) === '#po-inline-subscribe-page' ) { $(offerParams.containerSelector).show(); } if (offerParams.containerSelector === '#po-overlay-toast-left') { removePianoToast() } if (templateParams.containerSelector === '#po-inline-articlewall-partialarticle-closable') { $('#po-inline-articlegate-partialarticle').css('display', 'none'); } if (templateParams.containerSelector === '#po-inline-articlewall-fullarticle-closable') { $('#po-inline-articlegate-fullarticle').css('display', 'none'); } } } }]); function handleFullWidthBanner() { $('#po-overlay-articlegate-full-width-scroll-below').css({ border: '1px solid #767676' }); $('#po-overlay-articlegate-full-width-scroll-below').show(); $('#subscription-content').hide(); $('.send-us-your-news-cta').hide(); $('.mega-news-block').hide(); const block = document.getElementById('po-overlay-articlegate-full-width-scroll-below'); let blockRect = block.getBoundingClientRect(); let startRect = new DOMRect(blockRect.x, blockRect.y + window.scrollY, blockRect.width, blockRect.height); let hasBecomeVisible = true; // change to false to alter the gate positioning behaviour const updateArticleGatePositionBasedOnScroll = function() { if (window.scrollY + window.innerHeight > startRect.bottom) { hasBecomeVisible = true; } if (hasBecomeVisible) { if (window.scrollY > startRect.top) { block.style.position = 'fixed'; block.style.setProperty('top', '0px'); block.style.setProperty('bottom', 'initial'); } else if (window.scrollY < startRect.bottom - window.innerHeight) { block.style.position = 'fixed'; block.style.setProperty('bottom', '0px'); block.style.setProperty('top', 'initial'); } else { block.style.removeProperty('position'); block.style.removeProperty('bottom'); block.style.removeProperty('top'); } } } // position the article gate immediately updateArticleGatePositionBasedOnScroll(); // update article gate position on scroll events document.addEventListener('scroll', updateArticleGatePositionBasedOnScroll); } function trackLocation(forceValidLocation = false) { var currentLocation = window.location.pathname; let valid = false; if (currentLocation.indexOf('puzzles') > -1) { valid = true; } if (currentLocation.indexOf('pagesuite') > -1) { valid = true; } var articleMatch = currentLocation.match(/(\d+)\.[^\/]+\/(r\/)?$/); if (articleMatch != null) { valid = true; } if (forceValidLocation) { valid = true; } if (currentLocation.indexOf('subscribe') > -1) { valid = false; } if (!valid) { return; } $.cookie('last-piano-page-interacted-with', currentLocation, {path: '/', domain: window.data_layer.site.cookie_domain}); } function trackPianoWithNewRelic(templateName) { if (this.newrelic && typeof this.newrelic === 'object') { newrelic.setCustomAttribute('user_was_shown_piano_experience', templateName); } } function handleOfferShow(params) { console.log('Piano params', params); // If on the subscription page and the URL has a term ID and offer ID, show the relevant offer. if (typeof location.pathname !== 'undefined' && location.pathname === '/subscribe/') { var offerId = location.search.match(/offer_id=([A-Z0-9]+)/); if (offerId !== null && offerId.length > 1) { offerId = offerId[1]; } var termId = location.search.match(/term_id=([A-Z0-9]+)/); if (termId !== null && termId.length > 1) { termId = termId[1]; } if (offerId !== null && termId !== null) { tp.offer.show({'termId': termId, 'offerId': offerId}); } } // we are only tracking var templateId = params.templateId; var variantId = params.templateVariantId; if (params.containerSelector !== '#subscription-content' && params.containerSelector !== '#subscription-replace-entire-article' && params.containerSelector !== '#po-inline-articlegate-fullarticle' && params.containerSelector !== '#po-inline-articlegate-partialarticle' ) { $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) { trackPianoSimplified(params, response.name); }); return; } $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) { trackPiano(params, response.name); }); } function trackPiano(params, templateName) { trackPianoWithNewRelic(templateName); if (typeof params.activeMeters === 'string') { activeMeters = JSON.parse(params.activeMeters); } else { activeMeters = params.activeMeters; } var s = window.s; if (!s || !s.pageName) { // console.log("ADB: Setting s from backup"); s = window.backupAdobe; window.s = s; } // this would call when CL3 is a hard gate if (!activeMeters && data_layer.article.content_level === '3') { s.eVar59 = templateName; s.eVar58 = data_layer.article.content_level; s.events = "event91"; s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar79,list3,events"; s.linkTrackEvents="event91"; s.tl(document, 'o', 'Metered Access Notice'); s.events = ''; return; } if (!activeMeters) { return; } var meterData = activeMeters[0]; var meterName = meterData.meterName.toLowerCase(); // track event 5 if (meterName.indexOf('cl1') !== -1 || meterName.indexOf('cl2') !== -1 || meterName.indexOf('cl3') !== -1 || params.containerSelector === '#piano-article-gate') { s.eVar58 = data_layer.article.content_level; s.eVar80 = meterData.meterName + ',' + meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews; s.eVar59 = templateName; s.events = "event5"; s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,list3, events"; s.linkTrackEvents="event5"; } else { s.eVar80 = meterData.meterName + ',' + meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews; s.eVar59 = templateName; s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,list3, events"; } s.tl(document, 'o', 'Metered Access Notice'); s.events = ''; } /** * Just track the template name in 78 for non-article-interrupts/gates */ function trackPianoSimplified(params, templateName) { trackPianoWithNewRelic(templateName); var s = window.s; if (!s || !s.pageName) { // console.log("ADB: Setting s from backup"); s = window.backupAdobe; window.s = s; } s.eVar78 = templateName; s.events = 'event90'; s.linkTrackEvents="event90"; s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,list3,eVar78, events"; s.tl(document, 'o', 'Piano Template'); } function raiseLaunchEvent(name) { var e = new Event('launch:piano:' + name); window.dispatchEvent(e); } function removePianoToast() { setTimeout(() => { document.getElementById('po-overlay-toast-left').remove() }, 30000) } /** * Posts the Piano conversion data to the student beans API if the site is either * Herald ScotlanD or The National. * * @param {Object} conversion */ async function subscriptionComplete(conversion) { if (data_layer.site.id !== '308' && data_layer.site.id !== '1106') { return; } await fetch('/ws/public/student-beans/', { method: 'POST', headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, body: JSON.stringify(conversion) }); } tp.push(["addHandler", "checkoutComplete", function(conversion) { subscriptionComplete(conversion); var s = window.s; s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event. s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event. s.products = "Subscription : Metered Access;" + conversion.termId + ";1;"+conversion.chargeAmount; s.purchaseID = conversion.termConversionId; s.pageName = '(www) /subscribe/complete/'; // wipe out errors s.eVar31 = ''; s.tl(); $.cookie('resourceConverted', conversion.rid, {path: '/', domain: window.data_layer.site.cookie_domain}); $.cookie('pianoConverted', '1', {path: '/', domain: window.data_layer.site.cookie_domain}); raiseLaunchEvent('checkoutComplete'); }]); tp.push(["addHandler", "checkoutPaymentError", function(errorData) { var s = window.s; s.pageName = '(www) /subscribe/error/'; s.eVar31 = errorData.message; s.tl(); raiseLaunchEvent('checkoutPaymentError'); }]); tp.push(["addHandler", "checkoutError", function(errorData) { var s = window.s; s.pageName = '(www) /subscribe/error/'; s.eVar31 = errorData.message; s.tl(); raiseLaunchEvent('checkoutError'); }]); tp.push(["addHandler", "startCheckout", function () { var s = window.s; s.pageName = '(www) /subscribe/payment/'; // wipe out errors s.eVar31 = ''; s.tl(); raiseLaunchEvent('startCheckout'); }]); tp.push(["addHandler", "checkoutClose", function(conversion) { raiseLaunchEvent('checkoutClose'); // Did they abandon the cart? If so: was anything in their cart? if (typeof conversion.state === 'undefined' || conversion.state !== 'close') { return; } if (window.selectedOfferId === null || window.selectedTermId === null) { return; } $.post('/ws/piano/abandoned-cart/', {offer_id: window.selectedOfferId, term_id: window.selectedTermId}); }]); tp.push(["addHandler", "meterExpired", function(meterData){ var msg = "<div><b>meterName:</b> " + meterData.meterName + " | <b>views:</b> " + meterData.views + " | <b>totalViews:</b> " + meterData.totalViews + " | <b>viewsLeft:</b> " + meterData.viewsLeft + " | <b>maxViews:</b> " + meterData.maxViews + " | <b>callback:</b> " + meterData.callback + '</div>'; if ($.cookie('nq-show-piano-viewer') === 'yes') { $('#piano-meter-value').html(msg); $('#piano-meter-display').show(); $('#piano-meter-display-content').append(msg); } var cVal = window.location.href; trackLocation(true); console.log("Piano Meter Expired:", meterData.meterName); if (meterData.meterName === 'CL1 Meter') { console.log("Piano: Setting meter expired cookie"); $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); } raiseLaunchEvent('meterExpired'); }]); tp.push(["addHandler", "meterActive", function(meterData){ var msg = "<div><b>meterName:</b> " + meterData.meterName + " | <b>views:</b> " + meterData.views + " | <b>totalViews:</b> " + meterData.totalViews + " | <b>viewsLeft:</b> " + meterData.viewsLeft + " | <b>maxViews:</b> " + meterData.maxViews + " | <b>callback:</b> " + meterData.callback + '</div>'; if ($.cookie('nq-show-piano-viewer') === 'yes') { $('#piano-meter-value').html(msg); $('#piano-meter-display').show(); $('#piano-meter-display-content').append(msg); } console.log("Piano Meter running total:", meterData.meterName, meterData.totalViews, meterData.maxViews, meterData); if (meterData.meterName === 'CL1 Meter' && meterData.totalViews >= meterData.maxViews) { $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); } else { $.cookie('isMeterExpired', 'no', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); } }]); tp.push(["setCxenseSiteId", "1140851321802151844"]); if (extendedMetering.checkShowcaseReferrer()) { data_layer.user.requires_extended_metering = 'yes'; data_layer.piano.custom_variables.requires_extended_metering = 'yes'; (self.SWG = self.SWG || []).push(function(subscriptions) { extendedMetering.load(subscriptions, 'heraldscotland.com', 'OTNSMHA3PCB9', 'OTV9N723MUH1W', '', ''); runPiano(); }); } else { data_layer.user.requires_extended_metering = 'no'; data_layer.piano.custom_variables.requires_extended_metering = 'no'; runPiano(); } </script> <script type='text/javascript'> var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; var iasDataHandler, __iasPET = __iasPET || {}; __iasPET.queue = __iasPET.queue || []; __iasPET.pubId = '931298'; var pbjs = pbjs || {}; pbjs.que = pbjs.que || []; var carbonRealtime = JSON.parse(window.localStorage.getItem('ccRealtimeData')); var ozoneSettings = {}; var ozoneTargeting = { carbon_segment: carbonRealtime ? carbonRealtime.audiences.map(x => (x.id)) : [] }; function isMobile() { if (window.screen.width < 728) { return true; } return false; } var usePrebid = true; var whiteList = false; var adLight = false; var blackListAds = []; if (usePrebid) { // disable initial load so prebid can do its stuff // console.log('DFP: Disabling initial load'); googletag.cmd.push(function() { // console.log('DFP: Disabling initial load - read by DFP'); googletag.pubads().disableInitialLoad(); }); } </script> <script src="//d2zv5rkii46miq.cloudfront.net/0/latest/cmp_shim.js"></script> <script> /** * Adds key-values to page level of Google Publisher Tag * @example * addKeyValuesToGPT({"ap_a": ["1100"], "ap_x": ["134123"]}) * @param {Object} keyValues */ function addAsKeyValuesToGPT(keyValues) { if (!googletag.pubads) { googletag.cmd.push(function () { addAsKeyValuesToGPT(keyValues); }); return; } for (const key in keyValues) { if (Object.hasOwnProperty.call(keyValues, key)) { const value = keyValues[key]; googletag.pubads().setTargeting(key, value); } } } function onAudienceProjectDataAvailable(dataResponse) { console.log("AudienceProject data returned", dataResponse); // in keyValues there are full-reach key-values created, they needs to be sent to GAM and added to Prebid adform ad-units if (dataResponse.keyValues) { addAsKeyValuesToGPT(dataResponse.keyValues); } } function fetchAp() { AudienceProjectData.fetch('saknewsquest', { integrateWithCmp: true, waitForCmpConsent: true }, onAudienceProjectDataAvailable); } //Load the APS JavaScript Library !function(a9,a,p,s,t,A,g){if(a[a9])return;function q(c,r){a[a9]._Q.push([c,r])}a[a9]={init:function(){q("i",arguments)},fetchBids:function(){q("f",arguments)},setDisplayBids:function(){},targetingKeys:function(){return[]},_Q:[]};A=p.createElement(s);A.async=!0;A.src=t;g=p.getElementsByTagName(s)[0];g.parentNode.insertBefore(A,g)}("apstag",window,document,"script","//c.amazon-adsystem.com/aax2/apstag.js"); //Initialize the Library apstag.init({ pubID: '3147', adServer: 'googletag', }); </script> <script> if (typeof gs_channels === 'undefined') { gs_channels = ""; } rpx_init = ({ qry : 'http://www.heraldscotland.com', section : 'sport', site : 'www.heraldscotland.com', context : '', weather : 'cloudy'.toLowerCase(), temp : '11-15', gs_channels : gs_channels, age : '0' , gender : 'u' , nqd : '' // intentionall blank }); </script> <script type='text/javascript' src='https://pagead2.googlesyndication.com/pagead/imgad?id=CICAgKDLqv_TbRABGAEoATIIgOw1LHg7xnFAt-_HogU'></script> <script> var bidTimeout = 1200; window.unfilteredAdUnits = [{"sizes":[1,1],"alternate_mobile_size":"","slotType":"outofpage","domName":"DFP_out_of_page","positionName":"out_of_page","isVast":false,"collapseContainer":false,"targets":["takeover"],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":["fluid",[1,1]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_article_fluid_1","positionName":"article_fluid_1","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[1,1],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_in_article_pixel","positionName":"in_article_pixel","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[1,1],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_teads","positionName":"teads","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"11775143","appnexus_mobile_placement_id":"11775143","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":["fluid",[570,250],[468,250],[300,250],[1,1]],"alternate_mobile_size":["fluid",[300,250],[1,1]],"slotType":"standard","domName":"DFP_in_article_mpu","positionName":"in_article_mpu","isVast":false,"collapseContainer":true,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"297386","rubicon_mobile_zone_id":"297372","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550690","appnexus_mobile_placement_id":"10550767","criteo_desktop_placement_id":"744410","criteo_mobile_placement_id":"760447","use_amazon":true,"groupm_desktop_placement_id":"17307157","groupm_mobile_placement_id":"17479445"},{"sizes":[[570,250],[468,250],[300,250],[1,1]],"alternate_mobile_size":[[300,250],[1,1]],"slotType":"standard","domName":"DFP_in_article_2","positionName":"in_article_2","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"437846","rubicon_mobile_zone_id":"459754","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550691","appnexus_mobile_placement_id":"10550769","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17279602","groupm_mobile_placement_id":"17479441"},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_3","positionName":"in_article_3","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425700","rubicon_mobile_zone_id":"449752","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550692","appnexus_mobile_placement_id":"10550770","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307086","groupm_mobile_placement_id":"17479442"},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_4","positionName":"in_article_4","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425702","rubicon_mobile_zone_id":"449754","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550693","appnexus_mobile_placement_id":"10550771","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307083","groupm_mobile_placement_id":"17479443"},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_5","positionName":"in_article_5","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425704","rubicon_mobile_zone_id":"449756","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550695","appnexus_mobile_placement_id":"10550773","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307155","groupm_mobile_placement_id":"17479444"},{"sizes":[[300,250],[300,600]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_premium_mpu","positionName":"premium_mpu","isVast":false,"collapseContainer":false,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"297382","rubicon_mobile_zone_id":"331020","rubicon_desktop_size_ids":["10","15"],"rubicon_mobile_size_ids":["10","15"],"appnexus_desktop_placement_id":"10550686","appnexus_mobile_placement_id":"10550760","criteo_desktop_placement_id":"744494","criteo_mobile_placement_id":"760443","use_amazon":true,"groupm_desktop_placement_id":"14304603","groupm_mobile_placement_id":"16550455"},{"sizes":[[300,250],[300,600]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_premium_mpu_2","positionName":"premium_mpu_2","isVast":false,"collapseContainer":false,"targets":["takeover"],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[300,250],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_standard_mpu_1","positionName":"standard_mpu_1","isVast":false,"collapseContainer":true,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"297390","rubicon_mobile_zone_id":"331024","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550683","appnexus_mobile_placement_id":"10550759","criteo_desktop_placement_id":"744435","criteo_mobile_placement_id":"760547","use_amazon":true,"groupm_desktop_placement_id":"17946307","groupm_mobile_placement_id":"13260893"},{"sizes":[300,250],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_on_scroll","positionName":"on_scroll","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[300,250],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_standard_mpu_2","positionName":"standard_mpu_2","isVast":false,"collapseContainer":true,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"331028","rubicon_mobile_zone_id":"534778","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550687","appnexus_mobile_placement_id":"10550761","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17375910","groupm_mobile_placement_id":"17375922"},{"sizes":[[970,250],[728,90]],"alternate_mobile_size":[320,50],"slotType":"standard","domName":"DFP_top_leaderboard","positionName":"top_leaderboard","isVast":false,"collapseContainer":true,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"297380","rubicon_mobile_zone_id":"297370","rubicon_desktop_size_ids":["2","57"],"rubicon_mobile_size_ids":["43"],"appnexus_desktop_placement_id":"10550668","appnexus_mobile_placement_id":"10550747","criteo_desktop_placement_id":"985648","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"14304608","groupm_mobile_placement_id":"17479428"},{"sizes":[728,90],"alternate_mobile_size":[320,50],"slotType":"standard","domName":"DFP_leaderboard_1","positionName":"leaderboard_1","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425706","rubicon_mobile_zone_id":"449748","rubicon_desktop_size_ids":["2"],"rubicon_mobile_size_ids":["43"],"appnexus_desktop_placement_id":"10550688","appnexus_mobile_placement_id":"10550762","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"16550485","groupm_mobile_placement_id":"17479427"},{"sizes":[728,90],"alternate_mobile_size":[320,50],"slotType":"standard","domName":"DFP_leaderboard_2","positionName":"leaderboard_2","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425708","rubicon_mobile_zone_id":"449750","rubicon_desktop_size_ids":["2"],"rubicon_mobile_size_ids":["43"],"appnexus_desktop_placement_id":"10550689","appnexus_mobile_placement_id":"10550766","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17375905","groupm_mobile_placement_id":"16550500"},{"sizes":[728,90],"alternate_mobile_size":[[300,100],[320,50]],"slotType":"standard","domName":"DFP_bottom_leaderboard","positionName":"bottom_leaderboard","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"297378","rubicon_mobile_zone_id":"425710","rubicon_desktop_size_ids":["2"],"rubicon_mobile_size_ids":["43"],"appnexus_desktop_placement_id":"10550678","appnexus_mobile_placement_id":"10550748","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17377997","groupm_mobile_placement_id":"17479454"},{"sizes":[[300,250],[300,600]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_interstitial_mpu","positionName":"interstitial_mpu","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[468,60],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_banner","positionName":"banner","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"297374","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":["1"],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"10550697","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":["fluid",[280,130],[1,1]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_high_vis","positionName":"high_vis","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"985647","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""}]; //whenever you want header bids call this function function fetchHeaderBids() { // console.log("DFP: Fetching headerbids"); // new prebid implementation var apstagSlots = []; getPETRequest(); $.each(unfilteredAdUnits, function(i, unit) { if (unit.isVast) { return; } if(unit.use_amazon) { var awsSizes = []; var sizes = null; // work around poor data format if (unit.alternate_mobile_size && isMobile()) { sizes = unit.alternate_mobile_size; } else { sizes = unit.sizes; } if (typeof sizes[0] === 'object') { $.each(sizes, function (k, v) { awsSizes.push(v); }); } else { awsSizes = [sizes]; } var amazonSlot = { slotID: unit.domName, sizes: awsSizes, }; apstagSlots.push(amazonSlot); } }); // TODO 1 var bidders = ['a9', 'prebid', 'ias']; // create a requestManager to keep track of bidder state to determine when to send ad server // request and what apstagSlots to request from the ad server var requestManager = { adserverRequestSent: false, adSlots: [], }; //loop through bidder array and add the bidders to the request manager: bidders.forEach(function(bidder) { requestManager[bidder] = false; }) // a helper function that returns googletag objects corresponding to the slotIDs in the slot objects function _getGPTSlots(apstagSlots) { // get all of the slot IDs that were requested var slotIDs = apstagSlots.map(function(slot) { return slot.slotID; }); // return the slot objects corresponding to the slotIDs return googletag.pubads().getSlots().filter(function(slot) { // return true if the ID of the slot object is in the slotIDs array return slotIDs.indexOf(slot.getSlotElementId()) > -1; }); } function getPETRequest() { googletag.cmd.push(function() { // read the currently defined GPT ad slots for sending to the PET endpoint // defined all GPT ad slots before calling PET var gptSlots = googletag.pubads().getSlots(); var iasPETSlots = []; for (var i = 0; i < gptSlots.length; i++) { var sizes = gptSlots[i].getSizes().map(function(size) { if (size.getWidth && size.getHeight) return [size.getWidth(), size.getHeight()]; else return [1, 1]; }); iasPETSlots.push({ adSlotId: gptSlots[i].getSlotElementId(), //size: can either be a single size (for example, [728, 90]) // or an array of sizes (for example, [[728, 90], [970, 90]]) size: sizes, adUnitPath: gptSlots[i].getAdUnitPath() }); } // wait for IAS to return data var iasDataHandler = function(adSlotData) { headerBidderBack('ias'); }; // make the request to PET. if your page makes multiple ad requests to DFP // (for example, lazily loaded ads, infinite scrolling pages, etc.), make // a request to PET before every request to DFP __iasPET.queue.push({ adSlots: iasPETSlots, dataHandler: iasDataHandler }); }); } // return true if all bidders have returned function allBiddersBack() { var allBiddersBack = bidders // get the booleans from the object .map(function(bidder) { return requestManager[bidder]; }) // get rid of false values - indicates that the bidder has responded .filter(Boolean) // if length is equal to bidders, all bidders are back .length === bidders.length; return allBiddersBack; } // handler for header bidder responses function headerBidderBack(bidder) { // console.log("DFP: headerBidderBack called with", bidder); if (typeof bidder === 'object') { requestManager.adSlots = bidder; bidder = 'prebid'; } // return early if request to adserver is already sent if (requestManager.adserverRequestSent === true) { return; } // flip bidder back flag if (bidder === 'a9') { requestManager.a9 = true; } else if (bidder === 'prebid') { requestManager.prebid = true; } else if (bidder === 'ias') { requestManager.ias = true; } // if all bidders are back, send the request to the ad server if (allBiddersBack()) { sendAdserverRequest(); } } // actually get ads from DFP function sendAdserverRequest() { // console.log("DFP: All bidders back"); // return early if request already sent if (requestManager.adserverRequestSent === true) { return; } if (typeof window.prebidReady === 'undefined') { window.prebidReady = performance.now(); } if (window.googleReady) { // flip the boolean that keeps track of whether the adserver request was sent requestManager.adserverRequestSent = true; // flip pbjs boolean to signal to pbjs the ad server has already been called pbjs.adserverCalled = true; //flip boolean for adserver request to avoid duplicate requests requestManager.sendAdserverRequest = true; // make ad request to DFP googletag.cmd.push(function() { window.executionSet = performance.now(); apstag.setDisplayBids(); __iasPET.setTargetingForGPT(); // console.log("DFP: Refresh called, setting adslots to ", requestManager.adSlots); if (requestManager.adSlots.length > 0){ googletag.pubads().refresh(requestManager.adSlots); } else { googletag.pubads().refresh(); } setPerformanceCookie(); }); } else { window.setTimeout(function() { sendAdserverRequest(true); }, 200); } } function requestBids(apstagSlots, bidTimeout) { // fetch apstag bids, set bid targting, then call headerBidderBack // to get the ads for the first time apstag.fetchBids({ slots: apstagSlots, timeout: (bidTimeout - 200) }, function(bids) { headerBidderBack('a9'); }); var edktAudiences; // Here we fetch audiences which the user has been placed in. try { edktAudiences = JSON.parse(localStorage.getItem('edkt_matched_audience_ids') || '[]') .slice(0, 100) .map(String); } catch (e) { edktAudiences = []; } // request bids from prebid pbjs.que.push(function() { // console.log("DFP: PBJS request bids called"); pbjs.rp.requestBids({ callback: headerBidderBack, data: { airgrid: { perid: edktAudiences }, ozoneSettings, ozoneTargeting }, }); }); } //requestBids requestBids(apstagSlots, bidTimeout) // set timeout to send request to call sendAdserverRequest() after timeout // if all bidders haven't returned before then window.setTimeout(function() { sendAdserverRequest(); }, bidTimeout); }; function setPerformanceCookie() { var start = window.startExec; var prebidReady = window.prebidReady - start; var domComplete = window.domComplete - start; var googleComplete = window.googleComplete - start; var finished = window.executionSet - start; /* var cVal = Math.round(prebidReady) + ':' + Math.round(domComplete) + ':' + Math.round(googleComplete) + ':' + Math.round(finished); */ var cVal = Math.round(finished); var t = new Date(); t.setMilliseconds(t.getMilliseconds() + 600000); $.cookie('adtiming', cVal, {path: '/', domain: '.heraldscotland.com', expires: t}); } </script> <link rel="apple-touch-icon" href="/resources/images/5752178/"> <link rel="apple-touch-icon" sizes="72x72" href="/resources/images/5752177/"> <link rel="apple-touch-icon" sizes="114x114" href="/resources/images/5752179/"> <link rel="alternate" type="application/rss+xml" title="Euro 2024 | The Herald" href="https://www.heraldscotland.com/sport/euro2024/rss/"> <!-- Add iconify --> <script src="https://code.iconify.design/1/1.0.7/iconify.min.js"></script> </head> <body class="sticky-footer " data-cache-buster="uUAjmAdC" data-template="" data-template-colour="Blue" data-namespace="standard"> <!-- standard - AfterBodyTagInclude.html --> <!-- ##+ +## ##: `#####. ####### ### ### ###### `#####. ####### ### ,## +##### +## ###' ## ####### ######## ### ### ###### ####### ######## ### ,## ######: .## #### ## ### ### ### ### ###### ##, ### ### ### ### ### ,## ##` ##,#+##:## ### ### ####### ###### #####+ ### ### ####### ### ,## +##### ####`####+ ### ### ###### ####### #####+ ### ### ###### ### ,## #### #### .###. '## ##' ### ### ### ,##: ##, '## ##' ### ### ### ### '## +## :### ### ####### ### `##+ ### ### ##, ####### ### `##+ `####### ######+ ##: ### ##### ### ### ### ,### ##, ##### ### ### ##### ####+ Developers, designers, testers - interested in working for us? Contact this guy....https://uk.linkedin.com/in/hillsimon --> <div style="height: 0px"><div id="DFP_out_of_page"></div></div> <div id="paywallWindowOverlay"></div> <div id="takeover"> <div id="martini-config" class="layout"> <div id="header-content"> <!-- standard - header-1.html --> <header id="site-header" class="site-header site-header--1" > <!-- standard - HeaderTopNavLinks.html --> <div class="header-topnav"> <div class="container-inner-width"> <div class="header-topnav-links"> <ul class="list-style-none"> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="https://www.newsquestrewards.co.uk/" target="blank">Reader Rewards</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Motoring</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/graduations/">Graduations</a></li> <li><a class="mar-nav--promo-link" href="/contact/">Contact us</a></li> </ul> </div> <ul id="links-nav" class="header-topnav--links-nav list-style-none"> <li class="links-nav-label"><span class="links-nav-label-text">More</span> <ul class="list-style-none"> <li class="dropdown-icon-closed"> <span class="iconify" data-icon="akar-icons:chevron-down"></span> </li> <li class="dropdown-icon-open" style="display: none;"> <span class="iconify" data-icon="akar-icons:chevron-up"></span> </li> <li class="links-nav-container"> <ul class="list-style-none"> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="https://www.newsquestrewards.co.uk/" target="blank">Reader Rewards</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Motoring</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/graduations/">Graduations</a></li> <li><a class="mar-nav--promo-link" href="/contact/">Contact us</a></li> </ul> </li> </ul> </li> </ul> </div> </div> <div class="site-brand container-inner-width"> <div class="site-brand__container"> <a href="/"> <img src="/resources/images/small_site_logo/" alt="The Herald" class="site-brand__brand-image"/> </a> </div> <!-- standard - SimpleHeaderTopNavigation.html --> <div class="simple-header-top-navigation"> <div class="simple-header-top-navigation__links"> <div class="simple-header-top-navigation__links--primary-links header-primary-links"> <a href="/subscribe/"> <button class="mar-btn--promo-primary"> Subscribe </button> </a> <ul class="list-style-none top-nav-overflow"> <li><a href="/pagesuite/"><button class="mar-btn--promo-secondary">Digital Edition</button></a></li> <li><a href="/puzzles/"><button class="mar-btn--promo-primary">Puzzles</button></a></li> </ul> </div> <div class="simple-header-top-navigation__links--classifieds"> </div> </div> <div class="simple-header-top-navigation__links--account"> <a href="/my/account/log-in/" class="simple-header-top-navigation__user-login piano-id__login"> <button id="headerUserAccountButton"> <!-- standard - IconUser.html --> <svg xmlns="http://www.w3.org/2000/svg " width="14" height="16" viewBox="0 0 10 14" fill="none"> <circle cx="5" cy="3.85718" r="3" fill="black"/> <ellipse cx="5" cy="10.2857" rx="5" ry="2.85714" fill="black"/> </svg> </button> </a> </div> <button aria-expanded="false" aria-label="Open the menu" class="simple-header-top-navigation__mega-menu-btn primary-nav__menu--more-btn"> <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg> </button> </div> </div> <!-- standard - MegaMenu.html --> <div id="mega-menu" class="mega-menu" style="display: none;"> <div class="mega-menu__container mega-menu__wrapper"> <div class="mega-menu__cancel-button"> <i aria-expanded="true" aria-hidden="true" aria-label="Close the menu" class="mega-menu__cancel-button--icon"> <span class="iconify" data-icon="eva:close-fill" data-inline="false"></span> <div>Close</div> </i> </div> <div class="mega-menu-subscribe-banner"> <span>Stay ahead with a digital subscription</span> <a href="/subscribe/">Subscribe</a> </div> <div class="mega-menu__features expanded-sub-nav"> <div class="mega-menu__features--links"> <h4 class="prefix mega-menu__features--prefix link-item">Featured newsletters</h4> <a href="https://www.heraldscotland.com/newsletters/politics/1897/" target="_blank" class="col link-item">Unspun: Scottish Politics</a> <a href="/newsletters/news/1698/" class="col link-item">Inside the NHS</a> <a href="/newsletters/2651/" class="col link-item">Lessons to Learn</a> <a href="/newsletters/2684/" class="col link-item">Herald Arts</a> </div> <hr class="divider none"> </div> <div class="mega-menu__search"> <form method="get" action="/search/"> <h4 class="mega-menu__search--title">Search</h4> <div class="mega-menu__search--bar"> <input class="searchbar-input" type="text" name="search" placeholder="Search The Herald"> <button class="searchbar-btn mira-search-button" type="submit"><span class="iconify" data-icon="fe:search" data-inline="false"></span></button> </div> </form> </div> <div class="mega-menu__main-list link-list"> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/news/"> <h3><span class="mega-menu__main-list--parent-link">News</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/news/homenews/">Scottish News</a> </div> <div class="child-item"> <a href="/news/health/">Health</a> </div> <div class="child-item"> <a href="/news/education/">Education HQ</a> </div> <div class="child-item"> <a href="/news/transport/">Transport</a> </div> <div class="child-item"> <a href="/news/investigations/">Investigations</a> </div> <div class="child-item"> <a href="/news/national-news/">UK News</a> </div> <div class="child-item"> <a href="/news/world_news/">World News</a> </div> <div class="child-item"> <a href="/news/subscriber/">Subscriber</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/politics/"> <h3><span class="mega-menu__main-list--parent-link">Politics</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/politics/holyrood/">Holyrood</a> </div> <div class="child-item"> <a href="/politics/westminster/">Westminster</a> </div> <div class="child-item"> <a href="/politics/viewpoint/">Political Opinion</a> </div> <div class="child-item"> <a href="/politics/analysis/">Analysis</a> </div> <div class="child-item"> <a href="/politics/explainer/">Explainer</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/sport/"> <h3><span class="mega-menu__main-list--parent-link">Sport</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/sport/football/">Football</a> </div> <div class="child-item"> <a href="/sport/euro2024/">Euro 2024</a> </div> <div class="child-item"> <a href="/sport/opinion/">Comment</a> </div> <div class="child-item"> <a href="/sport/rugby/">Rugby</a> </div> <div class="child-item"> <a href="/sport/tennis/">Tennis</a> </div> <div class="child-item"> <a href="/sport/golf/">Golf</a> </div> <div class="child-item"> <a href="/sport/other_sports/">Other Sports</a> </div> <div class="child-item"> <a href="/sport/best-of/">Best Of</a> </div> <div class="child-item"> <a href="/sport/uk-sport/">UK Sport</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/opinion/"> <h3><span class="mega-menu__main-list--parent-link">Voices</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/opinion/columnists/">Columnists</a> </div> <div class="child-item"> <a href="/opinion/the-diary/">The Diary</a> </div> <div class="child-item"> <a href="/opinion/herald_view/">Herald View</a> </div> <div class="child-item"> <a href="/opinion/letters/">Letters</a> </div> <div class="child-item"> <a href="/opinion/podcasts/">Podcasts</a> </div> <div class="child-item"> <a href="/opinion/obituaries/">Obituaries</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/business_hq/"> <h3><span class="mega-menu__main-list--parent-link">Business HQ</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/business_hq/company_news/">Companies</a> </div> <div class="child-item"> <a href="/business_hq/business/">Business</a> </div> <div class="child-item"> <a href="/business_hq/markets_economy/">Markets</a> </div> <div class="child-item"> <a href="/business_hq/people/">People</a> </div> <div class="child-item"> <a href="/business_hq/stem/">STEM</a> </div> <div class="child-item"> <a href="/business_hq/entrepreneur/">Entrepreneur</a> </div> <div class="child-item"> <a href="/business_hq/supplements/">Supplements</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/life_style/"> <h3><span class="mega-menu__main-list--parent-link">Features</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/life_style/arts_ents/">Arts & Ents</a> </div> <div class="child-item"> <a href="/life_style/food_and_drink/">Food & Drink</a> </div> <div class="child-item"> <a href="/life_style/travel/">Travel</a> </div> <div class="child-item"> <a href="/life_style/bestofscotland/">Best of Scotland</a> </div> <div class="child-item"> <a href="/life_style/property-market/">Property</a> </div> <div class="child-item"> <a href="/life_style/gardening/">Gardening</a> </div> <div class="child-item"> <a href="/life_style/big-reads/">Big Reads</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/campaigns/"> <h3><span class="mega-menu__main-list--parent-link">Campaigns</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/campaigns/i-remember/">I Remember</a> </div> <div class="child-item"> <a href="/campaigns/think-dementia/">Think Dementia</a> </div> <div class="child-item"> <a href="/campaigns/memorial-garden/">Memorial Garden</a> </div> <div class="child-item"> <a href="/campaigns/fair-deal-for-glasgow/">Fair Deal for Glasgow</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/journalists/"> <h3><span class="mega-menu__main-list--parent-link">Our Writers</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/journalists/journalists/">All Journalists</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/memorials/"> <h3><span class="mega-menu__main-list--parent-link">Announcements</span></h3> </a> </div> <div class="mega-menu__main-list--child-links"> <div class="child-item"> <a href="/memorials/acknowledgements/">Acknowledgements</a> </div> <div class="child-item"> <a href="/memorials/death-notices/">Death Notices</a> </div> <div class="child-item"> <a href="/memorials/in-memoriam/">In Memoriam</a> </div> <div class="child-item"> <a href="https://www.heraldscotland.com/announcements/public_notices/">Public notices</a> </div> <div class="child-item"> <a href="https://www.heraldscotland.com/announcements/">Other announcements</a> </div> <div class="child-item"> <a href="/memorials/bereavement-guide/">Bereavement Guide</a> </div> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/events/"> <h3><span class="mega-menu__main-list--parent-link">Events</span></h3> </a> </div> </div> <div class="divider"></div> </div> <div class="mega-menu__main-list--list-item"> <div> <div> <a href="/shop/"> <h3><span class="mega-menu__main-list--parent-link">Shop</span></h3> </a> </div> </div> <div class="divider"></div> </div> </div> </div> <div class="mega-menu__sticky"> <ul class="list-style-none mega-menu__sticky--list"> <div class="mega-menu__sticky--primary-links"> <li> <a href="/subscribe/"> <button class="mar-btn--promo-primary"> Subscribe </button> </a></li> <li><a href="/pagesuite/"><button class="mar-btn--promo-secondary">Digital Edition</button></a></li> <li><a href="/puzzles/"><button class="mar-btn--promo-primary">Puzzles</button></a></li> </div> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="https://www.newsquestrewards.co.uk/" target="blank">Reader Rewards</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Motoring</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/graduations/">Graduations</a></li> <li><a class="mar-nav--promo-link" href="/contact/">Contact us</a></li> </ul> </div> </div> <!-- standard - SimplePrimaryNavigation.html --> <nav id="primary-nav" class="primary-nav"> <div class="primary-nav__container container-inner-width"> <span class="primary-nav__left"> <nav class="primary-nav__menu" role="list"> <div class="primary-nav__menu-container"> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/news/">News</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/politics/">Politics</a> </div> <div class="primary-nav__menu--item primary-nav__menu--item--active"> <a class="primary-nav__menu--link" href="/sport/">Sport</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/opinion/">Voices</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/business_hq/">Business HQ</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/life_style/">Features</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/campaigns/">Campaigns</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/journalists/">Our Writers</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/memorials/">Announcements</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/events/">Events</a> </div> <div class="primary-nav__menu--item"> <a class="primary-nav__menu--link" href="/shop/">Shop</a> </div> </div> </nav> </span> <span class="primary-nav__right"> <div class="primary-nav__menu--more-btn"> <button aria-expanded="false" aria-label="Open the menu" class="more-link more-burger-icon"> <svg aria-hidden=”true” xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg> </button> </div> <div class="primary-nav__right--search"> <a class="primary-nav__container--search-icon search-icon" href="#"><span class="iconify" data-icon="ion:search-circle-sharp" data-inline="false"></span></a> </div> </span> </div> </nav> <!-- standard - HeaderSubNavigation.html --> <div class="sub-nav"> <span class="sub-nav__breadcrumb sub-nav__parent-link"> <a href="/sport/">Sport<span class="iconify" data-icon="akar-icons:chevron-right" data-inline="false"></span></a> </span> <a href="/sport/euro2024/" class="sub-nav__breadcrumb">Euro 2024</a> <a href="/sport/football/">Football</a> <a href="/sport/opinion/">Comment</a> <a href="/sport/rugby/">Rugby</a> <a href="/sport/tennis/">Tennis</a> <a href="/sport/golf/">Golf</a> <a href="/sport/other_sports/">Other Sports</a> <a href="/sport/best-of/">Best Of</a> <a href="/sport/uk-sport/">UK Sport</a> </div> </header> </div> <div id="redesign-content"> <div id="module-content" class="content"> <div class="container mar-block-ad mar-block-ad--piano-promo" id="piano-container-top"></div> <div class="container mar-block-ad mar-block-ad--piano-promo" id="po-inline-banner-top-hero-content"></div> <div id="articleListPageWrapper"> <section class="block-page-heading" data-name="Page Heading (H1)"> <!-- standard - BlockFrontEndConfig.html --> <div data-is-configurable="no" data-block-id="" data-module-path="/sport/euro2024/" data-site-module-id=""></div> <h1 class="block-heading">Euro 2024</h1> </section><div id ="piano_blockmodule_target_a" class="mar-block-ad mar-block-ad--piano-promo"></div> <div id ="po-inline-blocksystem-target-a" class="mar-block-ad mar-block-ad--piano-promo"></div><section id="block-bam-legacy-list" class="block block-bam-legacy-list" data-name="BAM Legacy List Block" data-variant="" data-uses-js="block-bam-legacy-list" data-total-articles="54"> <!-- standard - BlockFrontEndConfig.html --> <div data-is-configurable="yes" data-block-id="83" data-module-path="/sport/euro2024/" data-site-module-id="3230883"></div> <!-- standard - BlockNewsList.html --> <div class="block-news-list__container grid-layout--default-long-list " data-total-articles="54"> <div class="uber-block-lead-story"> <!-- standard - BlockLeadStory.html --> <article class="omni-lead-story omni-lead-story--standard-lead mar-mb-0 " data-position="1" data-parsely-slot="bam-legacy-list-block-1" data-uses-js="article-story" > <div class="omni-lead-story__image-content"> <a href="/sport/24753035.england-manager-new-horizons---journey-beyond-football/"> <img srcset="/resources/images/576x324/1x/41/18812900.jpg 576w, /resources/images/736x490/1x/41/18812900.jpg 736w, /resources/images/773x434/1x/41/18812900.jpg 773w, /resources/images/600x337/1x/41/18812900.jpg 600w, /resources/images/813x457/1x/41/18812900.jpg 813w" sizes="(min-width: 768px) calc(100vw / 1.5), 100vw" src="/resources/images/320x200/1x/41/18812900.jpg" alt="Gareth Southgate is pondering his next steps" /> </a> <div class="omni-lead-story__icon-container"> </div> </div> <div class="omni-lead-story__headline-container"> <div class="omni-lead-story__metadata-container"> <!-- Article Primary Tag --> <div class="omni-lead-story__primary-tag"> <a href="/topics/england-football/"> <div class="omni-lead-story__tag">England football</div> </a> </div> </div> <h3 class="omni-lead-story__headline "> <a class="omni-lead-story__link" href="/sport/24753035.england-manager-new-horizons---journey-beyond-football/" > <span>From Euro finals to new beginnings: Southgate contemplates future outside football</span> </a> <div class="omni-lead-story__first-par"> Gareth Southgate has suggested his next job could be away from football. </div> </h3> </div> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24753035" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24753035" data-original-site="The Herald" data-rating="2" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24753035"> </ul> </div> </article> </div> <!-- standard - OmniCard.html --> <article class="omnicard stack--sm stack--md stack--lg stack--xl " data-position="2" data-parsely-slot="bam-legacy-list-block-2" data-uses-js="article-story"> <a href="/sport/24684326.man-citys-rodri-wins-ballon-dor-amidst-real-madrids-shock-absence/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18700866.jpg 128w, /resources/images/290x167/1x/18700866.jpg 290w, /resources/images/445x250/1x/18700866.jpg 445w, /resources/images/720x415/1x/18700866.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18700866.jpg" alt="Rodri looked emotional as he received the accolade" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18700866.jpg" alt="Rodri looked emotional as he received the accolade" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/manchester-city-fc/"> <div class="omnicard__tag">Manchester City FC</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24684326.man-citys-rodri-wins-ballon-dor-amidst-real-madrids-shock-absence/"> <h3 class="omnicard__headline "> Ballon d’Or 2024: Manchester City's Rodri celebrates while Real Madrid boycott awards </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24684326" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24684326" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24684326"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard stack--sm stack--md stack--lg stack--xl " data-position="3" data-parsely-slot="bam-legacy-list-block-3" data-uses-js="article-story"> <a href="/sport/24683814.lewis-ferguson-named-bologna-squad-return-six-month-injury/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18700265.jpg 128w, /resources/images/290x167/1x/18700265.jpg 290w, /resources/images/445x250/1x/18700265.jpg 445w, /resources/images/720x415/1x/18700265.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18700265.jpg" alt="Lewis Ferguson was devastated to miss the European Championships" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18700265.jpg" alt="Lewis Ferguson was devastated to miss the European Championships" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/aberdeen-fc/"> <div class="omnicard__tag">Aberdeen FC</div> </a> </div> <!-- Article Comments --> <a href="/sport/24683814.lewis-ferguson-named-bologna-squad-return-six-month-injury/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">1</span> </a> </div> <!-- Article headline --> <a href="/sport/24683814.lewis-ferguson-named-bologna-squad-return-six-month-injury/"> <h3 class="omnicard__headline "> Lewis Ferguson using 'Scottish mentality' as he aims for strong Bologna injury return </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24683814" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24683814" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24683814"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard stack--sm stack--md stack--lg stack--xl " data-position="4" data-parsely-slot="bam-legacy-list-block-4" data-uses-js="article-story"> <a href="/sport/football/24601060.forrest-hopes-earn-new-celtic-contract-winger-still-loving-it/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18566052.jpg 128w, /resources/images/290x167/1x/18566052.jpg 290w, /resources/images/445x250/1x/18566052.jpg 445w, /resources/images/720x415/1x/18566052.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18566052.jpg" alt="James Forrest has worked hard to get himself back into Brendan Rodgers’ plans" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18566052.jpg" alt="James Forrest has worked hard to get himself back into Brendan Rodgers’ plans" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/celtic-fc/"> <div class="omnicard__tag">Celtic FC</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/football/24601060.forrest-hopes-earn-new-celtic-contract-winger-still-loving-it/"> <h3 class="omnicard__headline "> James Forrest hopes to earn Celtic contract extension as winger 'still loving it' </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24601060" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24601060" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24601060"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard stack--sm stack--md stack--lg stack--xl " data-position="5" data-parsely-slot="bam-legacy-list-block-5" data-uses-js="article-story"> <a href="/sport/24570670.elliot-anderson-confirms-wont-represent-scotland-senior-level/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18515179.jpg 128w, /resources/images/290x167/1x/18515179.jpg 290w, /resources/images/445x250/1x/18515179.jpg 445w, /resources/images/720x415/1x/18515179.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18515179.jpg" alt="Elliot Anderson couldn’t help England’s U21s overcome Northern Ireland" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18515179.jpg" alt="Elliot Anderson couldn’t help England’s U21s overcome Northern Ireland" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/elliot-anderson/"> <div class="omnicard__tag">Elliot Anderson</div> </a> </div> <!-- Article Comments --> <a href="/sport/24570670.elliot-anderson-confirms-wont-represent-scotland-senior-level/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">1</span> </a> </div> <!-- Article headline --> <a href="/sport/24570670.elliot-anderson-confirms-wont-represent-scotland-senior-level/"> <h3 class="omnicard__headline "> Elliot Anderson explains why he's snubbed Scotland opportunity to pursue England cap </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24570670" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24570670" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24570670"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard stack--sm stack--md stack--lg stack--xl " data-position="6" data-parsely-slot="bam-legacy-list-block-6" data-uses-js="article-story"> <a href="/sport/24563183.robertson-knows-scotland-must-keep-best-fans-world-onside/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18503776.jpg 128w, /resources/images/290x167/1x/18503776.jpg 290w, /resources/images/445x250/1x/18503776.jpg 445w, /resources/images/720x415/1x/18503776.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18503776.jpg" alt="Andy Robertson wants Scotland to find the form that helped them qualify for back-to back European Championships" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18503776.jpg" alt="Andy Robertson wants Scotland to find the form that helped them qualify for back-to back European Championships" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/andy-robertson/"> <div class="omnicard__tag">Andy Robertson</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24563183.robertson-knows-scotland-must-keep-best-fans-world-onside/"> <h3 class="omnicard__headline "> 'Give them something to shout about': Scotland captain demands Euros reaction </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24563183" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24563183" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24563183"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard stack--sm stack--md stack--lg stack--xl " data-position="7" data-parsely-slot="bam-legacy-list-block-7" data-uses-js="article-story"> <a href="/sport/24563914.poland-boss-embracing-very-warm-hampden-atmosphere-scotland/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18504505.jpg 128w, /resources/images/290x167/1x/18504505.jpg 290w, /resources/images/445x250/1x/18504505.jpg 445w, /resources/images/720x415/1x/18504505.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18504505.jpg" alt="Scotland last hosted Poland in March 2022" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18504505.jpg" alt="Scotland last hosted Poland in March 2022" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24563914.poland-boss-embracing-very-warm-hampden-atmosphere-scotland/"> <h3 class="omnicard__headline "> Poland expecting 'very interesting' Nations League opener against Scotland </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24563914" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24563914" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24563914"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard stack--sm stack--md stack--lg stack--xl " data-position="8" data-parsely-slot="bam-legacy-list-block-8" data-uses-js="article-story"> <a href="/sport/24557574.mcginn-admits-easy-dwell-scotlands-euro-2024-displays/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18494515.jpg 128w, /resources/images/290x167/1x/18494515.jpg 290w, /resources/images/445x250/1x/18494515.jpg 445w, /resources/images/720x415/1x/18494515.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18494515.jpg" alt="John McGinn and his Scotland teammates react after exiting the tournament" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18494515.jpg" alt="John McGinn and his Scotland teammates react after exiting the tournament" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/aston-villa/"> <div class="omnicard__tag">Aston Villa</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24557574.mcginn-admits-easy-dwell-scotlands-euro-2024-displays/"> <h3 class="omnicard__headline "> ‘They never leave you’: McGinn hoping Scotland can bounce back from Euro 2024 letdown </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24557574" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24557574" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24557574"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard compact-stack--sm stack--md stack--lg stack--xl " data-position="9" data-parsely-slot="bam-legacy-list-block-9" data-uses-js="article-story"> <a href="/sport/24558239.scotland-star-stuart-armstrong-expected-secure-mls-transfer/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18495511.jpg 128w, /resources/images/290x167/1x/18495511.jpg 290w, /resources/images/445x250/1x/18495511.jpg 445w, /resources/images/720x415/1x/18495511.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18495511.jpg" alt="Stuart Armstrong was on trial at Brentford once he returned from the Euros" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18495511.jpg" alt="Stuart Armstrong was on trial at Brentford once he returned from the Euros" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24558239.scotland-star-stuart-armstrong-expected-secure-mls-transfer/"> <h3 class="omnicard__headline "> Stuart Armstrong 'finds' next club as Vancouver Whitecaps tease transfer </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24558239" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24558239" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24558239"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard compact-stack--sm stack--md stack--lg stack--xl " data-position="10" data-parsely-slot="bam-legacy-list-block-10" data-uses-js="article-story"> <a href="/sport/24557749.john-carver-relishing-daunting-nations-league-campaign-scotland/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18495077.jpg 128w, /resources/images/290x167/1x/18495077.jpg 290w, /resources/images/445x250/1x/18495077.jpg 445w, /resources/images/720x415/1x/18495077.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18495077.jpg" alt="Scotland manager Steve Clarke with coach John Carver" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18495077.jpg" alt="Scotland manager Steve Clarke with coach John Carver" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24557749.john-carver-relishing-daunting-nations-league-campaign-scotland/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">4</span> </a> </div> <!-- Article headline --> <a href="/sport/24557749.john-carver-relishing-daunting-nations-league-campaign-scotland/"> <h3 class="omnicard__headline "> Scotland coach believes the Tartan Army are 'realistic' as he hopes for improvement </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24557749" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24557749" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24557749"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard compact-stack--sm stack--md compact-stack--lg stack--xl " data-position="11" data-parsely-slot="bam-legacy-list-block-11" data-uses-js="article-story"> <a href="/sport/24550389.scotland-defender-long-term-absentee-injury-troubles-worsen/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18482636.jpg 128w, /resources/images/290x167/1x/18482636.jpg 290w, /resources/images/445x250/1x/18482636.jpg 445w, /resources/images/720x415/1x/18482636.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18482636.jpg" alt="Aaron Hickey in action for Scotland against Spain two weeks before he suffered his first hamstring issue" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18482636.jpg" alt="Aaron Hickey in action for Scotland against Spain two weeks before he suffered his first hamstring issue" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/aaron-hickey/"> <div class="omnicard__tag">Aaron Hickey</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24550389.scotland-defender-long-term-absentee-injury-troubles-worsen/"> <h3 class="omnicard__headline "> Aaron Hickey suffers further injury setback as Scotland star to miss most of season </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24550389" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24550389" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24550389"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard compact-stack--sm stack--md compact-stack--lg stack--xl " data-position="12" data-parsely-slot="bam-legacy-list-block-12" data-uses-js="article-story"> <a href="/sport/24548102.scotland-star-lyndon-dykes-completes-birmingham-city-transfer/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18479219.jpg 128w, /resources/images/290x167/1x/18479219.jpg 290w, /resources/images/445x250/1x/18479219.jpg 445w, /resources/images/720x415/1x/18479219.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18479219.jpg" alt="Lyndon Dykes is officially a Blues player" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18479219.jpg" alt="Lyndon Dykes is officially a Blues player" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/birmingham-city/"> <div class="omnicard__tag">Birmingham City</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24548102.scotland-star-lyndon-dykes-completes-birmingham-city-transfer/"> <h3 class="omnicard__headline "> 'It's ambitious': Scotland star Lyndon Dykes completes Birmingham City transfer </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24548102" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24548102" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24548102"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard compact-stack--sm compact-stack--md compact-stack--lg stack--xl " data-position="13" data-parsely-slot="bam-legacy-list-block-13" data-uses-js="article-story"> <a href="/sport/football/24545582.steve-clarke-lauds-john-souttar-bouncing-back-euros-blow/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18474940.jpg 128w, /resources/images/290x167/1x/18474940.jpg 290w, /resources/images/445x250/1x/18474940.jpg 445w, /resources/images/720x415/1x/18474940.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18474940.jpg" alt="Rangers centre half John Souttar, right, battles with Celtic striker Kyogo Furuhashi for the ball last season" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18474940.jpg" alt="Rangers centre half John Souttar, right, battles with Celtic striker Kyogo Furuhashi for the ball last season" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/rangers-fc/"> <div class="omnicard__tag">Rangers FC</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/football/24545582.steve-clarke-lauds-john-souttar-bouncing-back-euros-blow/"> <h3 class="omnicard__headline "> Steve Clarke lauds 'strong character' John Souttar for bouncing back from Euros blow </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24545582" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24545582" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24545582"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard compact-stack--sm compact-stack--md compact-stack--lg stack--xl " data-position="14" data-parsely-slot="bam-legacy-list-block-14" data-uses-js="article-story"> <a href="/sport/24545520.steve-clarke-insists-earned-right-continue-scotland/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18474860.jpg 128w, /resources/images/290x167/1x/18474860.jpg 290w, /resources/images/445x250/1x/18474860.jpg 445w, /resources/images/720x415/1x/18474860.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18474860.jpg" alt="Scotland manager Steve Clarke" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18474860.jpg" alt="Scotland manager Steve Clarke" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24545520.steve-clarke-insists-earned-right-continue-scotland/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">2</span> </a> </div> <!-- Article headline --> <a href="/sport/24545520.steve-clarke-insists-earned-right-continue-scotland/"> <h3 class="omnicard__headline "> Bullish Steve Clarke insists he's 'earned the right' to continue as Scotland manager </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24545520" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24545520" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24545520"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard compact-stack--sm compact-stack--md compact-stack--lg stack--xl " data-position="15" data-parsely-slot="bam-legacy-list-block-15" data-uses-js="article-story"> <a href="/sport/24545554.scotland-manager-too-many-men-behind-ball-euros-admission/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18474898.jpg 128w, /resources/images/290x167/1x/18474898.jpg 290w, /resources/images/445x250/1x/18474898.jpg 445w, /resources/images/720x415/1x/18474898.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18474898.jpg" alt="Scotland centre half Scott McKenna can't hide his disappointment after the Euro 2024 defeat to Hungary at Euro 2024 in June" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18474898.jpg" alt="Scotland centre half Scott McKenna can't hide his disappointment after the Euro 2024 defeat to Hungary at Euro 2024 in June" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24545554.scotland-manager-too-many-men-behind-ball-euros-admission/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">1</span> </a> </div> <!-- Article headline --> <a href="/sport/24545554.scotland-manager-too-many-men-behind-ball-euros-admission/"> <h3 class="omnicard__headline "> Scotland manager makes 'too many men behind the ball' Euro 2024 admission </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24545554" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24545554" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24545554"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard compact-stack--sm compact-stack--md compact-stack--lg stack--xl " data-position="16" data-parsely-slot="bam-legacy-list-block-16" data-uses-js="article-story"> <a href="/sport/24542888.now-steve-clarke-scotland-euro-2024-failure/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18470420.jpg 128w, /resources/images/290x167/1x/18470420.jpg 290w, /resources/images/445x250/1x/18470420.jpg 445w, /resources/images/720x415/1x/18470420.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18470420.jpg" alt="Scotland manager Steve Clarke, left, with his assistant John Carver at the St Mirren v Celtic game in Paisley on Sunday" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18470420.jpg" alt="Scotland manager Steve Clarke, left, with his assistant John Carver at the St Mirren v Celtic game in Paisley on Sunday" class="square" /> <div class="image-label image-label-custom-callout-label"> ANALYSIS </div> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24542888.now-steve-clarke-scotland-euro-2024-failure/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">3</span> </a> </div> <!-- Article headline --> <a href="/sport/24542888.now-steve-clarke-scotland-euro-2024-failure/"> <h3 class="omnicard__headline has-label-callout "> Where now for Steve Clarke and Scotland after sorry Euro 2024 failure? </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24542888" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24542888" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24542888"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard compact-stack--sm compact-stack--md compact-stack--lg stack--xl " data-position="17" data-parsely-slot="bam-legacy-list-block-17" data-uses-js="article-story"> <a href="/sport/24519295.scotland-striker-agrees-4-5m-transfer-english-championship-team/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18422519.jpg 128w, /resources/images/290x167/1x/18422519.jpg 290w, /resources/images/445x250/1x/18422519.jpg 445w, /resources/images/720x415/1x/18422519.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18422519.jpg" alt="Tommy Conway during a Scotland training session" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18422519.jpg" alt="Tommy Conway during a Scotland training session" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/english-football/"> <div class="omnicard__tag">English football</div> </a> </div> <!-- Article Comments --> <a href="/sport/24519295.scotland-striker-agrees-4-5m-transfer-english-championship-team/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">1</span> </a> </div> <!-- Article headline --> <a href="/sport/24519295.scotland-striker-agrees-4-5m-transfer-english-championship-team/"> <h3 class="omnicard__headline "> Scotland forward 'agrees' £4.5m transfer to ambitious English Championship outfit </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24519295" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24519295" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24519295"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard compact-stack--sm compact-stack--md compact-stack--lg stack--xl " data-position="18" data-parsely-slot="bam-legacy-list-block-18" data-uses-js="article-story"> <a href="/news/24486356.german-couple-create-cologne-tartan-army-faction-euros/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18367444.jpg 128w, /resources/images/290x167/1x/18367444.jpg 290w, /resources/images/445x250/1x/18367444.jpg 445w, /resources/images/720x415/1x/18367444.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18367444.jpg" alt="German couple showcase love for Scotland by starting Cologne Tartan Army faction" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18367444.jpg" alt="German couple showcase love for Scotland by starting Cologne Tartan Army faction" class="square" /> <div class="image-label image-label-exclusive-label"> Exclusive </div> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/news/24486356.german-couple-create-cologne-tartan-army-faction-euros/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">8</span> </a> </div> <!-- Article headline --> <a href="/news/24486356.german-couple-create-cologne-tartan-army-faction-euros/"> <h3 class="omnicard__headline has-label-callout "> German couple showcase love for Scotland by starting Cologne Tartan Army faction </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24486356" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24486356" data-original-site="The Herald" data-rating="1" data-content-level="2 Better" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24486356"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="19" data-parsely-slot="bam-legacy-list-block-19" data-uses-js="article-story"> <a href="/sport/24479665.scottish-refs-are-improving-collum-makes-tournament-vow/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18356283.jpg 128w, /resources/images/290x167/1x/18356283.jpg 290w, /resources/images/445x250/1x/18356283.jpg 445w, /resources/images/720x415/1x/18356283.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18356283.jpg" alt="New head of refereeing operations at the Scottish FA, Willie Collum, has vowed to raise the standard of officiating in this country." class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18356283.jpg" alt="New head of refereeing operations at the Scottish FA, Willie Collum, has vowed to raise the standard of officiating in this country." class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24479665.scottish-refs-are-improving-collum-makes-tournament-vow/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">16</span> </a> </div> <!-- Article headline --> <a href="/sport/24479665.scottish-refs-are-improving-collum-makes-tournament-vow/"> <h3 class="omnicard__headline "> Willie Collum says Scottish refs are improving as he makes major tournament vow </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24479665" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24479665" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24479665"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="20" data-parsely-slot="bam-legacy-list-block-20" data-uses-js="article-story"> <a href="/sport/24477375.ryan-porteous-vows-bounce-back-painful-euro-2024-setback/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18352790.jpg 128w, /resources/images/290x167/1x/18352790.jpg 290w, /resources/images/445x250/1x/18352790.jpg 445w, /resources/images/720x415/1x/18352790.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18352790.jpg" alt="Ryan Porteous had a tournament to forget" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18352790.jpg" alt="Ryan Porteous had a tournament to forget" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24477375.ryan-porteous-vows-bounce-back-painful-euro-2024-setback/"> <h3 class="omnicard__headline "> 'I can bounce back from adversity': Porteous vows to rise again after Euros setback </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24477375" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24477375" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24477375"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="21" data-parsely-slot="bam-legacy-list-block-21" data-uses-js="article-story"> <a href="/sport/24471898.rodri-charged-uefa-day-man-city-star-tipped-ballon-dor/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18344108.jpg 128w, /resources/images/290x167/1x/18344108.jpg 290w, /resources/images/445x250/1x/18344108.jpg 445w, /resources/images/720x415/1x/18344108.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18344108.jpg" alt="Pep Guardiola in discussion with Rodri" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18344108.jpg" alt="Pep Guardiola in discussion with Rodri" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24471898.rodri-charged-uefa-day-man-city-star-tipped-ballon-dor/"> <h3 class="omnicard__headline "> Rodri charged by UEFA on same day Manchester City star endorsed for 2024 Ballon d'Or </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24471898" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24471898" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24471898"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="22" data-parsely-slot="bam-legacy-list-block-22" data-uses-js="article-story"> <a href="/sport/24460703.clarke-has-credit-bank-first-scotland-man-speaks/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18324137.jpg 128w, /resources/images/290x167/1x/18324137.jpg 290w, /resources/images/445x250/1x/18324137.jpg 445w, /resources/images/720x415/1x/18324137.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18324137.jpg" alt="Scotland manager Steve Clarke has been backed by Hearts striker Lawrence Shankland." class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18324137.jpg" alt="Scotland manager Steve Clarke has been backed by Hearts striker Lawrence Shankland." class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24460703.clarke-has-credit-bank-first-scotland-man-speaks/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">3</span> </a> </div> <!-- Article headline --> <a href="/sport/24460703.clarke-has-credit-bank-first-scotland-man-speaks/"> <h3 class="omnicard__headline "> Steve Clarke 'still has credit in bank' as Scotland star is first to break cover </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24460703" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24460703" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24460703"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="23" data-parsely-slot="bam-legacy-list-block-23" data-uses-js="article-story"> <a href="/sport/24460426.graham-potter-stays-tight-lipped-england-job-speculation/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18323738.jpg 128w, /resources/images/290x167/1x/18323738.jpg 290w, /resources/images/445x250/1x/18323738.jpg 445w, /resources/images/720x415/1x/18323738.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18323738.jpg" alt="Graham Potter is a contender for the England job" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18323738.jpg" alt="Graham Potter is a contender for the England job" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/england-football/"> <div class="omnicard__tag">England football</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24460426.graham-potter-stays-tight-lipped-england-job-speculation/"> <h3 class="omnicard__headline "> Graham Potter stays tight-lipped on England job speculation and praises Southgate </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24460426" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24460426" data-original-site="The Herald" data-rating="20" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24460426"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="24" data-parsely-slot="bam-legacy-list-block-24" data-uses-js="article-story"> <a href="/sport/24456595.martin-hannan-people-always-want-just-ask-gareth-southgate/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18317378.jpg 128w, /resources/images/290x167/1x/18317378.jpg 290w, /resources/images/445x250/1x/18317378.jpg 445w, /resources/images/720x415/1x/18317378.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18317378.jpg" alt="England manager Gareth Southgate with his runners up medal following the UEFA Euro 2024 final match at the Olympiastadion, Berlin" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18317378.jpg" alt="England manager Gareth Southgate with his runners up medal following the UEFA Euro 2024 final match at the Olympiastadion, Berlin" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24456595.martin-hannan-people-always-want-just-ask-gareth-southgate/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">1</span> </a> </div> <!-- Article headline --> <a href="/sport/24456595.martin-hannan-people-always-want-just-ask-gareth-southgate/"> <h3 class="omnicard__headline "> Martin Hannan: People always want more, just ask Gareth Southgate </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24456595" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24456595" data-original-site="The Herald" data-rating="20" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24456595"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="25" data-parsely-slot="bam-legacy-list-block-25" data-uses-js="article-story"> <a href="/sport/24455508.one-england-player-made-official-euro-2024-team-tournament/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18315954.jpg 128w, /resources/images/290x167/1x/18315954.jpg 290w, /resources/images/445x250/1x/18315954.jpg 445w, /resources/images/720x415/1x/18315954.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18315954.jpg" alt="England's Kyle Walker (left) and Spain's Fabian Ruiz battle for the ball during the UEFA Euro 2024 final match at the Olympiastadion, Berlin." class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18315954.jpg" alt="England's Kyle Walker (left) and Spain's Fabian Ruiz battle for the ball during the UEFA Euro 2024 final match at the Olympiastadion, Berlin." class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/england-football/"> <div class="omnicard__tag">England football</div> </a> </div> <!-- Article Comments --> <a href="/sport/24455508.one-england-player-made-official-euro-2024-team-tournament/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">1</span> </a> </div> <!-- Article headline --> <a href="/sport/24455508.one-england-player-made-official-euro-2024-team-tournament/"> <h3 class="omnicard__headline "> Only one England player makes Euro 2024 team of the tournament despite reaching final </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24455508" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24455508" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24455508"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="26" data-parsely-slot="bam-legacy-list-block-26" data-uses-js="article-story"> <a href="/sport/24455763.manchester-united-expect-approach-scotland-hero-scott-mctominay/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18316569.jpg 128w, /resources/images/290x167/1x/18316569.jpg 290w, /resources/images/445x250/1x/18316569.jpg 445w, /resources/images/720x415/1x/18316569.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18316569.jpg" alt="Scott McTominay shakes hands with Harry Maguire" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18316569.jpg" alt="Scott McTominay shakes hands with Harry Maguire" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/english-premier-league/"> <div class="omnicard__tag">English Premier League</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24455763.manchester-united-expect-approach-scotland-hero-scott-mctominay/"> <h3 class="omnicard__headline "> Manchester United expect approaches for Scotland hero Scott McTominay </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24455763" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24455763" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24455763"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="27" data-parsely-slot="bam-legacy-list-block-27" data-uses-js="article-story"> <a href="/sport/24456480.newcastle-chief-says-club-will-fight-keep-england-linked-eddie-howe/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18317150.jpg 128w, /resources/images/290x167/1x/18317150.jpg 290w, /resources/images/445x250/1x/18317150.jpg 445w, /resources/images/720x415/1x/18317150.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18317150.jpg" alt="Eddie Howe is the early frontrunner to replace Gareth Southgate" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18317150.jpg" alt="Eddie Howe is the early frontrunner to replace Gareth Southgate" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/eddie-howe/"> <div class="omnicard__tag">Eddie Howe</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24456480.newcastle-chief-says-club-will-fight-keep-england-linked-eddie-howe/"> <h3 class="omnicard__headline "> Newcastle chief says club will fight to keep Eddie Howe amid England job speculation </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24456480" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24456480" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24456480"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="28" data-parsely-slot="bam-legacy-list-block-28" data-uses-js="article-story"> <a href="/politics/viewpoint/24454583.spanish-day-try-lifetime/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18314416.jpg 128w, /resources/images/290x167/1x/18314416.jpg 290w, /resources/images/445x250/1x/18314416.jpg 445w, /resources/images/720x415/1x/18314416.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18314416.jpg" alt="Spain's Rodri celebrating with the Euro 2024 trophy" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18314416.jpg" alt="Spain's Rodri celebrating with the Euro 2024 trophy" class="square" /> <div class="image-label image-label-custom-callout-label"> Carlos Alba </div> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/politics/viewpoint/24454583.spanish-day-try-lifetime/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">62</span> </a> </div> <!-- Article headline --> <a href="/politics/viewpoint/24454583.spanish-day-try-lifetime/"> <h3 class="omnicard__headline has-label-callout "> Thank goodness we were spared an England victory and all that goes with that </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24454583" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24454583" data-original-site="The Herald" data-rating="1" data-content-level="3 Best" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24454583"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="29" data-parsely-slot="bam-legacy-list-block-29" data-uses-js="article-story"> <a href="/sport/24456616.ex-players-pundits-pay-tribute-gareth-southgates-england-tenure/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18317399.jpg 128w, /resources/images/290x167/1x/18317399.jpg 290w, /resources/images/445x250/1x/18317399.jpg 445w, /resources/images/720x415/1x/18317399.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18317399.jpg" alt="Gareth Southgate announced his resignation today" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18317399.jpg" alt="Gareth Southgate announced his resignation today" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/alan-shearer/"> <div class="omnicard__tag">Alan Shearer</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24456616.ex-players-pundits-pay-tribute-gareth-southgates-england-tenure/"> <h3 class="omnicard__headline "> Prominent pundits and ex-players pay tribute to Gareth Southgate's England tenure </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24456616" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24456616" data-original-site="The Herald" data-rating="20" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24456616"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="30" data-parsely-slot="bam-legacy-list-block-30" data-uses-js="article-story"> <a href="/sport/24451322.final-heartbreak-england-late-winner-earns-spain-euro-24-glory/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18308408.jpg 128w, /resources/images/290x167/1x/18308408.jpg 290w, /resources/images/445x250/1x/18308408.jpg 445w, /resources/images/720x415/1x/18308408.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18308408.jpg" alt="Spain saw off England to win Euro 2024 (Andrew Milligan/PA)" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18308408.jpg" alt="Spain saw off England to win Euro 2024 (Andrew Milligan/PA)" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24451322.final-heartbreak-england-late-winner-earns-spain-euro-24-glory/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">8</span> </a> </div> <!-- Article headline --> <a href="/sport/24451322.final-heartbreak-england-late-winner-earns-spain-euro-24-glory/"> <h3 class="omnicard__headline "> Final heartbreak for England again as late winner earns Spain Euro 2024 glory </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24451322" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24451322" data-original-site="The Herald" data-rating="2" data-content-level="1 Standard" data-is-clone="yes" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24451322"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="31" data-parsely-slot="bam-legacy-list-block-31" data-uses-js="article-story"> <a href="/sport/24451289.southgate-says-not-time-discuss-england-future-loss/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18308479.jpg 128w, /resources/images/290x167/1x/18308479.jpg 290w, /resources/images/445x250/1x/18308479.jpg 445w, /resources/images/720x415/1x/18308479.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18308479.jpg" alt="Gareth Southgate refused to be drawn on his future as England boss (Bradley Collyer/PA)" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18308479.jpg" alt="Gareth Southgate refused to be drawn on his future as England boss (Bradley Collyer/PA)" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24451289.southgate-says-not-time-discuss-england-future-loss/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">12</span> </a> </div> <!-- Article headline --> <a href="/sport/24451289.southgate-says-not-time-discuss-england-future-loss/"> <h3 class="omnicard__headline "> Gareth Southgate says ‘not the time’ to discuss England future after final loss </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24451289" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24451289" data-original-site="The Herald" data-rating="2" data-content-level="1 Standard" data-is-clone="yes" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24451289"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="32" data-parsely-slot="bam-legacy-list-block-32" data-uses-js="article-story"> <a href="/opinion/24452638.herald-diary-vote-muriel-gray-match-day/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18311286.jpg 128w, /resources/images/290x167/1x/18311286.jpg 290w, /resources/images/445x250/1x/18311286.jpg 445w, /resources/images/720x415/1x/18311286.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18311286.jpg" alt="Muriel Gray, football analyst extraordinaire" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18311286.jpg" alt="Muriel Gray, football analyst extraordinaire" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/diary/"> <div class="omnicard__tag">Diary</div> </a> </div> </div> <!-- Article headline --> <a href="/opinion/24452638.herald-diary-vote-muriel-gray-match-day/"> <h3 class="omnicard__headline "> Herald Diary: Move over, Gary Lineker, we have a replacement lined up </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24452638" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24452638" data-original-site="The Herald" data-rating="20" data-content-level="2 Better" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24452638"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="33" data-parsely-slot="bam-legacy-list-block-33" data-uses-js="article-story"> <a href="/news/24450721.poll-will-support-england-spain-tonight/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18307112.jpg 128w, /resources/images/290x167/1x/18307112.jpg 290w, /resources/images/445x250/1x/18307112.jpg 445w, /resources/images/720x415/1x/18307112.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18307112.jpg" alt="Spain and England clash in the final of Euro 24 tonight" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18307112.jpg" alt="Spain and England clash in the final of Euro 24 tonight" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/news/24450721.poll-will-support-england-spain-tonight/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">10</span> </a> </div> <!-- Article headline --> <a href="/news/24450721.poll-will-support-england-spain-tonight/"> <h3 class="omnicard__headline "> Herald Poll: Will you support England or Spain tonight? </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24450721" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24450721" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24450721"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="34" data-parsely-slot="bam-legacy-list-block-34" data-uses-js="article-story"> <a href="/opinion/24449169.anyone-england-mentality-rooted-deep-seated-insecurity/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18304072.jpg 128w, /resources/images/290x167/1x/18304072.jpg 290w, /resources/images/445x250/1x/18304072.jpg 445w, /resources/images/720x415/1x/18304072.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18304072.jpg" alt="Gareth Southgate celebrates England reaching the final" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18304072.jpg" alt="Gareth Southgate celebrates England reaching the final" class="square" /> <div class="image-label image-label-custom-callout-label"> DANI GARAVELLI </div> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/england-football/"> <div class="omnicard__tag">England football</div> </a> </div> <!-- Article Comments --> <a href="/opinion/24449169.anyone-england-mentality-rooted-deep-seated-insecurity/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">55</span> </a> </div> <!-- Article headline --> <a href="/opinion/24449169.anyone-england-mentality-rooted-deep-seated-insecurity/"> <h3 class="omnicard__headline has-label-callout "> Scotland's Anyone But England mentality is rooted in deep-seated insecurity </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24449169" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24449169" data-original-site="The Herald" data-rating="4" data-content-level="3 Best" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24449169"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="35" data-parsely-slot="bam-legacy-list-block-35" data-uses-js="article-story"> <a href="/sport/24450745.declan-rice-real-euro-2024-history-will-lifting-trophy/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18307209.jpg 128w, /resources/images/290x167/1x/18307209.jpg 290w, /resources/images/445x250/1x/18307209.jpg 445w, /resources/images/720x415/1x/18307209.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18307209.jpg" alt="Declan Rice before the Euro 2024 semi-final against the Netherlands" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18307209.jpg" alt="Declan Rice before the Euro 2024 semi-final against the Netherlands" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/english-football/"> <div class="omnicard__tag">English football</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24450745.declan-rice-real-euro-2024-history-will-lifting-trophy/"> <h3 class="omnicard__headline "> Declan Rice: The real Euro 2024 history will be lifting the trophy against Spain </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24450745" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24450745" data-original-site="The Herald" data-rating="20" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24450745"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="36" data-parsely-slot="bam-legacy-list-block-36" data-uses-js="article-story"> <a href="/sport/24449642.scots-must-grow-up-englands-success-nation/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18304889.jpg 128w, /resources/images/290x167/1x/18304889.jpg 290w, /resources/images/445x250/1x/18304889.jpg 445w, /resources/images/720x415/1x/18304889.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18304889.jpg" alt="England supporters dressed up as three lions at the Euro 2024 finals in Germany" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18304889.jpg" alt="England supporters dressed up as three lions at the Euro 2024 finals in Germany" class="square" /> <div class="image-label image-label-custom-callout-label"> MATTHEW LINDSAY </div> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/england-football/"> <div class="omnicard__tag">England football</div> </a> </div> <!-- Article Comments --> <a href="/sport/24449642.scots-must-grow-up-englands-success-nation/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">16</span> </a> </div> <!-- Article headline --> <a href="/sport/24449642.scots-must-grow-up-englands-success-nation/"> <h3 class="omnicard__headline has-label-callout "> Scots must 'grow up' over England's football success to rise and be a nation again </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24449642" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24449642" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24449642"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="37" data-parsely-slot="bam-legacy-list-block-37" data-uses-js="article-story"> <a href="/sport/24445799.boring-euros-moment-football-jumped-shark/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18298560.jpg 128w, /resources/images/290x167/1x/18298560.jpg 290w, /resources/images/445x250/1x/18298560.jpg 445w, /resources/images/720x415/1x/18298560.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18298560.jpg" alt="England have been just one of the nations that have proved a hard watch at Euro 2024, despite making it all the way to Sunday's final against Spain." class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18298560.jpg" alt="England have been just one of the nations that have proved a hard watch at Euro 2024, despite making it all the way to Sunday's final against Spain." class="square" /> <div class="image-label image-label-custom-callout-label"> Graeme McGarry </div> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24445799.boring-euros-moment-football-jumped-shark/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">10</span> </a> </div> <!-- Article headline --> <a href="/sport/24445799.boring-euros-moment-football-jumped-shark/"> <h3 class="omnicard__headline has-label-callout "> Is 'boring' Euros the moment that football finally jumped the shark? </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24445799" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24445799" data-original-site="The Herald" data-rating="1" data-content-level="3 Best" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24445799"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="38" data-parsely-slot="bam-legacy-list-block-38" data-uses-js="article-story"> <a href="/sport/24449613.carlos-alcaraz-hoping-play-part-spanish-sunday-double/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18304883.jpg 128w, /resources/images/290x167/1x/18304883.jpg 290w, /resources/images/445x250/1x/18304883.jpg 445w, /resources/images/720x415/1x/18304883.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18304883.jpg" alt="Carlos Alcaraz celebrates beating Daniil Medvedev (Aaron Chown/PA)" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18304883.jpg" alt="Carlos Alcaraz celebrates beating Daniil Medvedev (Aaron Chown/PA)" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/carlos-alcaraz/"> <div class="omnicard__tag">Carlos Alcaraz</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24449613.carlos-alcaraz-hoping-play-part-spanish-sunday-double/"> <h3 class="omnicard__headline "> Carlos Alcaraz hoping to play his part in a Spanish Sunday double with Wimbledon win </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24449613" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24449613" data-original-site="The Herald" data-rating="2" data-content-level="1 Standard" data-is-clone="yes" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24449613"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="39" data-parsely-slot="bam-legacy-list-block-39" data-uses-js="article-story"> <a href="/opinion/24449116.unions-not-allowed-disrupt-public-services-like-scotrail/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/14261801.jpg 128w, /resources/images/290x167/1x/14261801.jpg 290w, /resources/images/445x250/1x/14261801.jpg 445w, /resources/images/720x415/1x/14261801.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/14261801.jpg" alt="ScotRail services are being severely disrupted by a dispute with the train drivers' union, Aslef" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/14261801.jpg" alt="ScotRail services are being severely disrupted by a dispute with the train drivers' union, Aslef" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/scotrail/"> <div class="omnicard__tag">ScotRail</div> </a> </div> <!-- Article Comments --> <a href="/opinion/24449116.unions-not-allowed-disrupt-public-services-like-scotrail/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">8</span> </a> </div> <!-- Article headline --> <a href="/opinion/24449116.unions-not-allowed-disrupt-public-services-like-scotrail/"> <h3 class="omnicard__headline "> Letters: It is a scandal unions are allowed to disrupt public services like ScotRail </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24449116" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24449116" data-original-site="The Herald" data-rating="5" data-content-level="3 Best" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24449116"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="40" data-parsely-slot="bam-legacy-list-block-40" data-uses-js="article-story"> <a href="/sport/24446869.wanting-spain-beat-england-natural-scotland-fans/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18300596.jpg 128w, /resources/images/290x167/1x/18300596.jpg 290w, /resources/images/445x250/1x/18300596.jpg 445w, /resources/images/720x415/1x/18300596.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18300596.jpg" alt="Lamine Yamal carries the hopes of Spain...and Scotland" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18300596.jpg" alt="Lamine Yamal carries the hopes of Spain...and Scotland" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/celtic/"> <div class="omnicard__tag">Celtic</div> </a> </div> <!-- Article Comments --> <a href="/sport/24446869.wanting-spain-beat-england-natural-scotland-fans/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">26</span> </a> </div> <!-- Article headline --> <a href="/sport/24446869.wanting-spain-beat-england-natural-scotland-fans/"> <h3 class="omnicard__headline "> Wanting Spain to beat England in Euro 2024 final is natural as a Scotland fan </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24446869" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24446869" data-original-site="The Herald" data-rating="1" data-content-level="3 Best" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24446869"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="41" data-parsely-slot="bam-legacy-list-block-41" data-uses-js="article-story"> <a href="/sport/24446246.mccoist-no-england-boot-licker---online-abuse-scot-bile/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18299086.jpg 128w, /resources/images/290x167/1x/18299086.jpg 290w, /resources/images/445x250/1x/18299086.jpg 445w, /resources/images/720x415/1x/18299086.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18299086.jpg" alt="Ally McCoist with ITV presenter Laura Woods at the Euro 2024 finals in Germany" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18299086.jpg" alt="Ally McCoist with ITV presenter Laura Woods at the Euro 2024 finals in Germany" class="square" /> <div class="image-label image-label-custom-callout-label"> OPINION </div> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/ally-mccoist/"> <div class="omnicard__tag">Ally McCoist</div> </a> </div> <!-- Article Comments --> <a href="/sport/24446246.mccoist-no-england-boot-licker---online-abuse-scot-bile/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">101</span> </a> </div> <!-- Article headline --> <a href="/sport/24446246.mccoist-no-england-boot-licker---online-abuse-scot-bile/"> <h3 class="omnicard__headline has-label-callout "> Ally McCoist is no England 'boot licker' - online abuse of Scottish pundit is bile </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24446246" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24446246" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24446246"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="42" data-parsely-slot="bam-legacy-list-block-42" data-uses-js="article-story"> <a href="/sport/24442294.england-goalkeeper-relishing-pressure-euro-2024-semi-final/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18292720.jpg 128w, /resources/images/290x167/1x/18292720.jpg 290w, /resources/images/445x250/1x/18292720.jpg 445w, /resources/images/720x415/1x/18292720.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18292720.jpg" alt="Jordan Pickford in training" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18292720.jpg" alt="Jordan Pickford in training" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/english-football/"> <div class="omnicard__tag">English football</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24442294.england-goalkeeper-relishing-pressure-euro-2024-semi-final/"> <h3 class="omnicard__headline "> England goalkeeper relishing ‘pressure’ of Euro 2024 semi-final </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24442294" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24442294" data-original-site="The Herald" data-rating="20" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24442294"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="43" data-parsely-slot="bam-legacy-list-block-43" data-uses-js="article-story"> <a href="/sport/24441881.spain-confident-morata-will-fit-euros-final-despite-injury/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18291963.jpg 128w, /resources/images/290x167/1x/18291963.jpg 290w, /resources/images/445x250/1x/18291963.jpg 445w, /resources/images/720x415/1x/18291963.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18291963.jpg" alt="Spain's Alvaro Morata (second right) is involved in a collision with Stadium stewards and a pitch invader after the UEFA Euro 2024 semi-final" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18291963.jpg" alt="Spain's Alvaro Morata (second right) is involved in a collision with Stadium stewards and a pitch invader after the UEFA Euro 2024 semi-final" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24441881.spain-confident-morata-will-fit-euros-final-despite-injury/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">1</span> </a> </div> <!-- Article headline --> <a href="/sport/24441881.spain-confident-morata-will-fit-euros-final-despite-injury/"> <h3 class="omnicard__headline "> Spain boss provides Alvaro Morata update after bizarre Euro 2024 semi-final injury </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24441881" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24441881" data-original-site="The Herald" data-rating="20" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24441881"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="44" data-parsely-slot="bam-legacy-list-block-44" data-uses-js="article-story"> <a href="/sport/24441747.ex-england-no-2-lauds-scotland-manager-explains-euro-2024-exit/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18291678.jpg 128w, /resources/images/290x167/1x/18291678.jpg 290w, /resources/images/445x250/1x/18291678.jpg 445w, /resources/images/720x415/1x/18291678.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18291678.jpg" alt="Scotland manager Steve Clarke at Euro 2024, main picture, and former England assistant John Gorman, inset" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18291678.jpg" alt="Scotland manager Steve Clarke at Euro 2024, main picture, and former England assistant John Gorman, inset" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24441747.ex-england-no-2-lauds-scotland-manager-explains-euro-2024-exit/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">5</span> </a> </div> <!-- Article headline --> <a href="/sport/24441747.ex-england-no-2-lauds-scotland-manager-explains-euro-2024-exit/"> <h3 class="omnicard__headline "> Ex-England assistant lauds Steve Clarke and explains Scotland exit from Euro 2024 </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24441747" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24441747" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24441747"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="45" data-parsely-slot="bam-legacy-list-block-45" data-uses-js="article-story"> <a href="/sport/24439796.craig-bellamy-confirmed-wales-new-head-coach/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18288487.jpg 128w, /resources/images/290x167/1x/18288487.jpg 290w, /resources/images/445x250/1x/18288487.jpg 445w, /resources/images/720x415/1x/18288487.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18288487.jpg" alt="Former Celtic striker Craig Bellamy has been appointed new head coach of Wales" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18288487.jpg" alt="Former Celtic striker Craig Bellamy has been appointed new head coach of Wales" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24439796.craig-bellamy-confirmed-wales-new-head-coach/"> <h3 class="omnicard__headline "> ‘I can’t wait to get started’: Craig Bellamy confirmed as Wales’ new head coach </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24439796" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24439796" data-original-site="The Herald" data-rating="20" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24439796"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="46" data-parsely-slot="bam-legacy-list-block-46" data-uses-js="article-story"> <a href="/news/24434845.the-tartan-army-made-it-german-fan-books-scotland-trip/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18279248.jpg 128w, /resources/images/290x167/1x/18279248.jpg 290w, /resources/images/445x250/1x/18279248.jpg 445w, /resources/images/720x415/1x/18279248.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18279248.jpg" alt="German football fan Florian Moeller" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18279248.jpg" alt="German football fan Florian Moeller" class="square" /> <div class="image-label image-label-exclusive-label"> Exclusive </div> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/news/24434845.the-tartan-army-made-it-german-fan-books-scotland-trip/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">3</span> </a> </div> <!-- Article headline --> <a href="/news/24434845.the-tartan-army-made-it-german-fan-books-scotland-trip/"> <h3 class="omnicard__headline has-label-callout "> 'The Tartan Army made me do it': German fan books 'bucket list' Scotland trip </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24434845" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24434845" data-original-site="The Herald" data-rating="2" data-content-level="3 Best" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24434845"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="47" data-parsely-slot="bam-legacy-list-block-47" data-uses-js="article-story"> <a href="/sport/24435927.porteous-handed-advice-watford-boss-euro-2024-horror-show/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18281648.jpg 128w, /resources/images/290x167/1x/18281648.jpg 290w, /resources/images/445x250/1x/18281648.jpg 445w, /resources/images/720x415/1x/18281648.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18281648.jpg" alt="Scotland's Ryan Porteous is shown a red card during a 2024 UEFA European Football Championship Group A match" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18281648.jpg" alt="Scotland's Ryan Porteous is shown a red card during a 2024 UEFA European Football Championship Group A match" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24435927.porteous-handed-advice-watford-boss-euro-2024-horror-show/"> <h3 class="omnicard__headline "> Watford boss attempts to lift Ryan Porteous' spirits following disastrous Euros debut </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24435927" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24435927" data-original-site="The Herald" data-rating="20" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24435927"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="48" data-parsely-slot="bam-legacy-list-block-48" data-uses-js="article-story"> <a href="/sport/24435845.ferguson-discusses-scotland-euro-2024-heartbreak-bologna-future/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18281437.jpg 128w, /resources/images/290x167/1x/18281437.jpg 290w, /resources/images/445x250/1x/18281437.jpg 445w, /resources/images/720x415/1x/18281437.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18281437.jpg" alt="Lewis Ferguson in action for Scotland" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18281437.jpg" alt="Lewis Ferguson in action for Scotland" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> </div> <!-- Article headline --> <a href="/sport/24435845.ferguson-discusses-scotland-euro-2024-heartbreak-bologna-future/"> <h3 class="omnicard__headline "> Lewis Ferguson discusses Scotland Euro 2024 heartbreak and his Bologna future </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24435845" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24435845" data-original-site="The Herald" data-rating="20" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24435845"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="49" data-parsely-slot="bam-legacy-list-block-49" data-uses-js="article-story"> <a href="/sport/24435735.southgate-credits-savvy-england-finding-ways-win-euro-2024/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18281030.jpg 128w, /resources/images/290x167/1x/18281030.jpg 290w, /resources/images/445x250/1x/18281030.jpg 445w, /resources/images/720x415/1x/18281030.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18281030.jpg" alt="Gareth Southgate celebrates" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18281030.jpg" alt="Gareth Southgate celebrates" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/england-football/"> <div class="omnicard__tag">England football</div> </a> </div> <!-- Article Comments --> <a href="/sport/24435735.southgate-credits-savvy-england-finding-ways-win-euro-2024/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">9</span> </a> </div> <!-- Article headline --> <a href="/sport/24435735.southgate-credits-savvy-england-finding-ways-win-euro-2024/"> <h3 class="omnicard__headline "> 'Surely there's some joy': Southgate credits England for finding ways to win at Euros </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24435735" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24435735" data-original-site="The Herald" data-rating="20" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24435735"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="50" data-parsely-slot="bam-legacy-list-block-50" data-uses-js="article-story"> <a href="/sport/24434499.republic-ireland-icon-asks-weight-shirt-englands-issue/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18278531.jpg 128w, /resources/images/290x167/1x/18278531.jpg 290w, /resources/images/445x250/1x/18278531.jpg 445w, /resources/images/720x415/1x/18278531.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18278531.jpg" alt="England player Jude Bellingham shows his frustration during Euro 2024 in Germany, main picture, and Republic of Ireland great Ray Houghton, inset" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18278531.jpg" alt="England player Jude Bellingham shows his frustration during Euro 2024 in Germany, main picture, and Republic of Ireland great Ray Houghton, inset" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/england-football/"> <div class="omnicard__tag">England football</div> </a> </div> <!-- Article Comments --> <a href="/sport/24434499.republic-ireland-icon-asks-weight-shirt-englands-issue/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">2</span> </a> </div> <!-- Article headline --> <a href="/sport/24434499.republic-ireland-icon-asks-weight-shirt-englands-issue/"> <h3 class="omnicard__headline "> Republic of Ireland great asks if 'weight of the shirt' is issue for insipid England </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24434499" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24434499" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24434499"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="51" data-parsely-slot="bam-legacy-list-block-51" data-uses-js="article-story"> <a href="/sport/24434585.minnows-euro-2024-exits-increased-pain-scotlands-failure/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18278800.jpg 128w, /resources/images/290x167/1x/18278800.jpg 290w, /resources/images/445x250/1x/18278800.jpg 445w, /resources/images/720x415/1x/18278800.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18278800.jpg" alt="A young Romania fan is escorted off the pitch by stewards during their Euro 2024 last 16 match against the Netherlands this week" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18278800.jpg" alt="A young Romania fan is escorted off the pitch by stewards during their Euro 2024 last 16 match against the Netherlands this week" class="square" /> <div class="image-label image-label-custom-callout-label"> MATTHEW LINDSAY </div> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24434585.minnows-euro-2024-exits-increased-pain-scotlands-failure/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">7</span> </a> </div> <!-- Article headline --> <a href="/sport/24434585.minnows-euro-2024-exits-increased-pain-scotlands-failure/"> <h3 class="omnicard__headline has-label-callout "> Football minnows’ last 16 exits have just increased pain of Scotland’s Euro 2024 flop </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24434585" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24434585" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24434585"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="52" data-parsely-slot="bam-legacy-list-block-52" data-uses-js="article-story"> <a href="/sport/24435115.england-germany-fans-clash-dusseldorf-host-nations-exit/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18279370.jpg 128w, /resources/images/290x167/1x/18279370.jpg 290w, /resources/images/445x250/1x/18279370.jpg 445w, /resources/images/720x415/1x/18279370.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18279370.jpg" alt="England play Switzerland in Dusseldorf on Saturday (Martin Meissner/AP)" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18279370.jpg" alt="England play Switzerland in Dusseldorf on Saturday (Martin Meissner/AP)" class="square" /> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24435115.england-germany-fans-clash-dusseldorf-host-nations-exit/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">2</span> </a> </div> <!-- Article headline --> <a href="/sport/24435115.england-germany-fans-clash-dusseldorf-host-nations-exit/"> <h3 class="omnicard__headline "> England and Germany fans clash in Dusseldorf after host nation’s exit </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24435115" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24435115" data-original-site="The Herald" data-rating="2" data-content-level="1 Standard" data-is-clone="yes" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24435115"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="53" data-parsely-slot="bam-legacy-list-block-53" data-uses-js="article-story"> <a href="/sport/24423556.scotland-deserves-clarke-mea-culpa-get-euros-closure/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18259337.jpg 128w, /resources/images/290x167/1x/18259337.jpg 290w, /resources/images/445x250/1x/18259337.jpg 445w, /resources/images/720x415/1x/18259337.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18259337.jpg" alt="Scotland manager Steve Clarke hasn't been seen since a rather unedifying exit from the European Championships - in every sense." class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18259337.jpg" alt="Scotland manager Steve Clarke hasn't been seen since a rather unedifying exit from the European Championships - in every sense." class="square" /> <div class="image-label image-label-custom-callout-label"> Opinion </div> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/sport/24423556.scotland-deserves-clarke-mea-culpa-get-euros-closure/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">16</span> </a> </div> <!-- Article headline --> <a href="/sport/24423556.scotland-deserves-clarke-mea-culpa-get-euros-closure/"> <h3 class="omnicard__headline has-label-callout "> Scotland fans deserve Steve Clarke mea culpa as nation looks for Euros closure </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24423556" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24423556" data-original-site="The Herald" data-rating="1" data-content-level="1 Standard" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24423556"> </ul> </div> </div> </article> <!-- standard - OmniCard.html --> <article class="omnicard inline--sm inline--md inline--lg inline--xl " data-position="54" data-parsely-slot="bam-legacy-list-block-54" data-uses-js="article-story"> <a href="/life_style/24412596.germany-fell-love-scotland-tartan-army/" class="omnicard__image"> <!-- Article Image --> <!-- standard - OmniCardImage.html --> <!-- Omnicard Image --> <!-- Square or rectangle thumbnail is shown based on Omnicard type, Inline shows square iamges whereas Big Stack, Stack and Compact Stack shows rectangle thumbnail --> <img loading="lazy" srcset="/resources/images/128x74/1x/18245469.jpg 128w, /resources/images/290x167/1x/18245469.jpg 290w, /resources/images/445x250/1x/18245469.jpg 445w, /resources/images/720x415/1x/18245469.jpg 720w" sizes="(max-width: 576px) 100%, (max-width: 767px) 720px, (max-width: 992px) calc(100vw - 50px), 100vw" src="/resources/images/128x89/1x/18245469.jpg" alt="Scotland fans play football in front of Cologne Cathedral" class="rectangle" /> <img loading="lazy" src="/resources/images/180x180/1x/18245469.jpg" alt="Scotland fans play football in front of Cologne Cathedral" class="square" /> <div class="image-label image-label-custom-callout-label"> Spotlight </div> <!-- Article Icons --> <div class="omnicard__image-icons"> </div> </a> <div class="omnicard__headline-container"> <div class="omnicard__metadata-container"> <!-- Article Primary Tag --> <div class="omnicard__primary-tag"> <a href="/topics/euro-2024/"> <div class="omnicard__tag">Euro 2024</div> </a> </div> <!-- Article Comments --> <a href="/life_style/24412596.germany-fell-love-scotland-tartan-army/#comments-anchor" class="omnicard__comments-wrapper"> <!-- standard - IconComments.html --> <span class="iconify icon-comments" data-icon="ooui:speech-bubble-ltr"></span> <span class="omnicard__total-comments">6</span> </a> </div> <!-- Article headline --> <a href="/life_style/24412596.germany-fell-love-scotland-tartan-army/"> <h3 class="omnicard__headline has-label-callout "> 'The Tartan Army must stay': How Germany fell in love with Scotland fans </h3> </a> <!-- Article Admin Links --> <!-- standard - ArticleAdminLinks.html --> <div id="admin-links-container-24412596" class="admin-links-container"> </div> <div class="admin-links-toggler" data-article-id="24412596" data-original-site="The Herald" data-rating="1" data-content-level="3 Best" data-is-clone="no" data-is-uk-today="no" data-is-scotland-today="no" data-is-full-admin-link-permissions="" data-admin-user-links="" style="display: none;" > <ul class="list-style-none admin-social-stats" data-article-id="24412596"> </ul> </div> </div> </article> <div id="premium_mpu_container" class="premium-mpu-container mar-block-ad mar-block-ad--dfp-premium-mpu mar-block-ad--article-card-interrupt premium-mpu ad-sticky"> <div id="DFP_premium_mpu"></div> </div> <div id="standard_mpu_1_container" class="standard-mpu-container mar-block-ad mar-block-ad--standard-mpu mar-block-ad--article-card-interrupt dfp-standard-mpu-1 ad-sticky"> <div id="DFP_standard_mpu_1"></div> </div> <div id="high_vis_container" class="high_vis_container dfp ad mar-block-ad dfp-high-vis mar-block-ad--dfp-high-vis mar-block-ad--article-card-interrupt no-margin-on-mobile ad-sticky"> <div id="DFP_high_vis"></div> </div> <div id="po-inline-blocksystem-legacylistandtopstories" class="mar-block-ad mar-block-ad--piano-promo" data-block-pull="newsletter-interstitial"></div> </div> <div id="piano-newsletter-container" class="mar-block-ad mar-block-ad--piano-promo mar-mt-8" data-block-pull="newsletter-interstitial"></div> </section><div class="mar-leaderboard mar-leaderboard--margin-top"> <div class="leaderboard-ad mar-leaderboard--middle"> <div id="DFP_leaderboard_1"></div> </div> </div><!-- standard - BlockArticleFrontEndConfig.html --> <div class="outbrain-block block"> <!-- <h2 class="block-heading">Promoted Stories</h2> --> <section class="promoted-block"> <!-- standard - Outbrain.html --> <aside><div class="OUTBRAIN" data-ob-contentUrl="https://www.heraldscotland.com/sport/euro2024/" data-ob-installation-key="NEWSQ15BEE3GLF6A6AL9EECN9" data-widget-id="AR_8"></div></aside> </section> </div><div class="block"> <!-- standard - MostRead.html --> <div id="mostReadBlock" class="most-read mar-tab" data-limit="10"> <ul class="most-read__tab most-read__headings mar-tab__headings"> </ul> <div class="most-read__body mar-tab__body-container "> <div class="loader">Loading...</div> </div> <!-- Adds or not adds click event listener --> <!-- standard - Buttons.html --> <div class="read-more-cta read-more-cta__container mar-btn-full mar-btn-full__container hidden "> <div class="mar-btn-full__line-container"> <span class="mar-btn-full__line mar-btn--light"></span> <button type="button" data-uses-js="most-read" class="mar-btn mar-btn-full mar-btn--light mar-btn--sm mar-btn--rounded " > Show more articles </button> </div> </div> </div> </div><!-- NOTE: remove following placeholders in production height 90px text-wite --> <div> <section class="mar-leaderboard mar-leaderboard--bottom mar-leaderboard--margin-top mar-leaderboard--margin-top"> <div id="DFP_bottom_leaderboard"></div> </section> </div> </div> </div> </div> <!-- standard - Footer.html --> <footer class="footer-outer"> <div class="footer container-inner-width"> <ul class="list-style-none footer__menu"> <li><a href="/contact/">Contact us</a></li> <li><a href="/gdpr/" class="gdpr-option-v2" data-v2-id="191113" data-is-gate="no">Manage Consent</a></li> <li><a href="/announcements/">Announcements</a></li> <li><a href="http://leap.heraldscotland.com">Leap</a></li> <li><a href="https://www.newsquest.co.uk/cookie-policy/" target="_blank">Cookie Policy</a></li> <li><a href="https://www.newsquest.co.uk/terms-conditions/" target="_blank">Terms & Conditions</a></li> <li><a href="https://www.newsquest.co.uk/contributor-terms/" target="_blank">Contributor Terms</a></li> <li><a href="https://www.newsquestprinting.co.uk/" target="_blank">Newsquest printing</a></li> <li><a href="/advertising/">Advertise</a></li> <li><a href="/emailbulletins/">Newsletters</a></li> <li><a href="/reader-rewards/">Reader Rewards</a></li> <li><a href="/misc/sitemap/">Site Map</a></li> <li><a href="https://www.exchangeandmart.co.uk/" target="_blank">Exchange and Mart</a></li> <li><a href="https://www.newsquest.co.uk/terms-of-advertising/" target="_blank">Terms of Advertising</a></li> <li><a href="https://www.newsquest.co.uk/privacy-policy/" target="_blank">Privacy Policy</a></li> <li><a href="https://www.newsquest.co.uk/diversity-statement/" target="_blank">Diversity Statement</a></li> <li><a href="https://newsquest.newsprints.co.uk/">Photo sales</a></li> <li><a href="/publications/">Our Publications</a></li> <li><a href="/archive/">Archive</a></li> <li><a href="/submit-an-event/">Add Your Event For Free</a></li> </ul> <div class="footer__social-media"> <h3 class="footer__heading footer__social-media--heading">follow us</h3> <a class="footer__social-media--link" href="https://www.facebook.com/heraldscotland/" title="Like us on Facebook" role="link" data-media-type="facebook" > <i class="footer__social-media--icon iconify"></i> Like us on Facebook </a> <a class="footer__social-media--link" href="https://twitter.com/heraldscotland" title="Follow us on X.com" role="link" data-media-type="twitter" > <i class="footer__social-media--icon iconify"></i> Follow us on X.com </a> <a class="footer__social-media--link" href="https://www.instagram.com/theheraldscotland/" title="Follow us on Instagram" role="link" data-media-type="instagram" > <i class="footer__social-media--icon iconify"></i> Follow us on Instagram </a> </div> <div class="footer__ipso-terms "> <img class="footer__ipso-terms--logo" src="/resources/responsive-static/mds/images/ipso-regulated.svg" /> <p class="footer__ipso-terms--copy"> This website and associated newspapers adhere to the Independent Press Standards Organisation's Editors' Code of Practice. If you have a complaint about the editorial content which relates to inaccuracy or intrusion, then please <a class="footer__ipso-terms--link" href="/contact"> contact the editor here</a>. If you are dissatisfied with the response provided you can <a class="footer__ipso-terms--link" href="https://www.ipso.co.uk/contact-us/">contact IPSO here</a> </p> <p class="footer__ipso-terms--copy"> <a class="footer__ipso-terms--link" href="/my/account/copyrights/">© 2001-2024</a>. <a class="footer__ipso-terms--link" href="https://www.newsquest.co.uk">Newsquest Media Group Ltd</a>, 1st Floor, Chartist Tower, Upper Dock Street, Newport, Wales, NP20 1DW | 01676637 | </p> </div> </div> </footer> <div id="fb-root"></div> </div> </div> <!-- standard - Modal.html --> <div class="mar-modal-container mar-modal-container--animate mar-modal-container--animate-out visually-hidden"> <div class="mar-modal-overlay" data-uses-js="close-modal"></div> <div class="mar-modal" tabindex="-1" role="dialog"> <div class="mar-modal__header"> <h4 class="mar-modal__title">Modal headline</h4> <div class="mar-modal__close" data-uses-js="close-modal"> <!-- standard - IconClose.html --> <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M7.60714 6L11.6518 10.0446C11.7589 10.1518 11.8438 10.2768 11.9062 10.4196C11.9688 10.5625 12 10.7143 12 10.875C12 11.1786 11.8884 11.442 11.6652 11.6652C11.442 11.8884 11.1696 12 10.8482 12C10.6875 12 10.5357 11.9688 10.3929 11.9062C10.25 11.8438 10.1339 11.7589 10.0446 11.6518L6 7.60714L1.95536 11.6518C1.84821 11.7589 1.72321 11.8438 1.58036 11.9062C1.4375 11.9688 1.28572 12 1.125 12C0.821427 12 0.558037 11.8884 0.334821 11.6652C0.111606 11.442 0 11.1786 0 10.875C0 10.7143 0.0312497 10.5625 0.09375 10.4196C0.15625 10.2768 0.241071 10.1518 0.348214 10.0446L4.36607 6L0.348214 1.95536C0.241071 1.84821 0.15625 1.72768 0.09375 1.59375C0.0312497 1.45982 0 1.3125 0 1.15179C0 0.830355 0.111606 0.558037 0.334821 0.334821C0.558037 0.111606 0.821427 0 1.125 0C1.28572 0 1.4375 0.0312497 1.58036 0.09375C1.72321 0.15625 1.84821 0.241071 1.95536 0.348214L6 4.39286L10.0446 0.348214C10.1339 0.241071 10.25 0.15625 10.3929 0.09375C10.5357 0.0312497 10.6875 0 10.8482 0C11.1696 0 11.442 0.111606 11.6652 0.334821C11.8884 0.558037 12 0.830355 12 1.15179C12 1.3125 11.9688 1.45982 11.9062 1.59375C11.8438 1.72768 11.7589 1.84821 11.6518 1.95536L7.60714 6Z" fill="#9DA0A4"/> </svg> <span>Close</span> </div> </div> <div class="mar-modal__body">Automatically injected HTML goes here</div> <div class="mar-modal__actions"> <!-- standard - Buttons.html --> <button type="button" data-uses-js="modal-submit" class=" mar-btn mar-btn--light mar-btn--md " > Submit </button> <!-- standard - Buttons.html --> <button type="button" data-uses-js="modal-cancel" class=" mar-btn mar-btn--outline mar-btn--md " > Cancel </button> </div> </div> </div> <!-- standard - ModalsAndTargets.html --> <div id="piano-meter-display" style="width: 100%; position: fixed; bottom: 0; margin: auto; z-index: 999999999999999; display: none; background-color: #fff; left: 0px"> <div style="width: 960px; margin: auto;"> <button class="mar-btn btn-martini float-right" style="margin-top: 20px" id="piano-show-newsquest" type="button">Deactivate</button> <div class="mt-2"><strong>Piano meter debugger</strong></div> <p class="mb-0" style="font-style: italic;">Data returned from the Piano 'meterActive/meterExpired' callback <a href="https://docs.piano.io/callbacks/#activeevent">event</a>.</p> <div class="mb-2" id="piano-meter-display-content"></div> </div> </div> <div id="piano-top-message"></div> <div id="po-overlay-banner-top-fullwidth"></div> <div id="piano-message"></div> <div id="po-overlay-banner-bottom-fullwidth"></div> <div id="piano-floating-bottom-banner"></div> <div id="po-overlay-banner-bottom-content"></div> <!-- <div id="piano-left-message" style="display:none; width: 100%; position: fixed; left: 0; width: 300px; text-align: center; z-index: 5000000;"></div> <div id="piano-right-message" style="display:none; width: 100%; position: fixed; right: 0; width: 300px; text-align: center; z-index: 5000000;"></div> --> <div class="modal" id="adlight-explanation-modal" tabindex="-1" role="dialog" aria-labelledby="sp-modal" aria-hidden="true" style="display: none"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content"> <div class="modal-body"> <img src="/resources/responsive-static/images/love-local.png" loading="lazy" id="adlight-explanation-modal-main-logo"> <p>As a subscriber, you are shown <strong>80% less</strong> display advertising when reading our articles.</p> <p>Those ads you do see are predominantly from <strong>local businesses</strong> promoting <strong>local services</strong>. </p> <p>These adverts enable local businesses to get in front of their target audience – the <strong>local community</strong>.</p> <img src="/resources/images/pixel/" id="adlight-explanation-modal-image" style="display: none"> <p class="italic">It is important that we continue to promote these adverts as our local businesses need as much support as possible during these challenging times.</p> </div> <div class="modal-footer"> <button type="button" class="mar-btn mar-btn--dark" data-dismiss="modal">Close</button> </div> </div> </div> </div> <div id="po-overlay-toast-left"></div> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"fd15ff24ac","applicationID":"70374104","transactionName":"MlFbY0cFXxcFARdRVwsbekJGEF4JSzAGSU0AR01\/VApVCAEQWQJQBFpdW1A2VBURBxBMEEw=","queueTime":0,"applicationTime":28,"atts":"HhZYFQ8fTBk=","errorBeacon":"bam.nr-data.net","agent":""}</script> </body> <!-- <script>window.blockAdPlacement.init();</script> --> <!-- standard - GoogleDfp.html --> <div id="outbrain-holder"> <div id="DFP_standard_mpu_3"></div> <div id="DFP_standard_mpu_4"></div> <div id="DFP_standard_mpu_5"></div> <div id="DFP_standard_mpu_6"></div> <div id="DFP_standard_mpu_7"></div> </div> <script> const elementToObserve = document.querySelector("#outbrain-holder"); // create a new instance of `MutationObserver` named `observer`, // passing it a callback function const observer = new MutationObserver(function(e) { $.each(e, function(j, obs) { $.each(obs.removedNodes, function (i, node) { var id = $(node).attr('id'); addAdSlot(id, id.replace('DFP_', '')); }); }); }); // call `observe()` on that MutationObserver instance, // passing it the element to observe, and the options object observer.observe(elementToObserve, {subtree: true, childList: true}); </script> <script> window.domComplete = performance.now(); </script> <!-- Promos --> <script type="text/javascript"> var promoUnits = []; </script> <script type="text/javascript"> path = document.location.href.split("/"); var prop30 = qs.get('lp'); var prop43 = qs.get('ref'); var pType="BlockArticleModule" if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') { pType = 'ArticleModule'; } for(x=4; x<7; x++) { if (typeof path[x] == 'undefined') { path[x] = ''; } if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1)) { path[x] = path[x-1]; } else { path[x] = path[x-1] + "/" + path[x]; } path[x] = path[x].replace(/\/undefined/g,""); } sitename = path[2].split("."); pathN= unescape(document.location.pathname.toString()); matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/); detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/); if (detailMatches !== null && detailMatches.length > 1) { matches = detailMatches; } if (matches !== null && matches.length > 1) { var subfolder = ''; path[3] = 'li'; path[4] = 'li/'+subfolder; path[5] = 'li/'+subfolder+'/'+matches[1]; path[6] = 'li/'+subfolder+'/'+matches[1]; } if (pathN === '/') { path[3] = 'homepage'; path[4] = 'homepage'; path[5] = 'homepage'; path[6] = 'homepage'; } function filterArray(arr) { var retArr = []; $.each(arr, function(i, part) { if (part !== '') { retArr.push(part); } }); return retArr; } </script> <script type="text/javascript"> var known = $.cookie('__siren') ? '1' : '0' ; </script> <script type="text/javascript"> if (window.screen.width < 728 && $('#BlockArticleContainer').length > 0) { if ('308' === '1147') { $('#DFP_out_of_page').remove(); } else { $('#DFP_premium_mpu').remove(); } $('#DFP_on_scroll').remove(); } else if (window.screen.width < 728 && ( $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='9']").length > 0 || $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='12']").length > 0 || $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='18']").length > 0 || $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='24']").length > 0 ) ) { const adElement = document.querySelector('#high_vis_container'); $('.omnicard[data-position="5"]').after(adElement); } if ('308' === '1147' && window.screen.width > 450) { $('#DFP_bottom_leaderboard').remove(); } if ('308' === '1147' && window.screen.width < 728) { $('#DFP_top_leaderboard').remove(); } if ('308' === '1147') { $('#DFP_teads').remove(); $('#DFP_out_of_page').remove(); } </script> <script type="text/javascript"> var known = $.cookie('__siren') ? '1' : '0' ; function addToTargeting(targeting, data) { if (!data) { return targeting; } $.each(data, function (key, value) { if (!value) { return; } targeting[key] = value; }); return targeting; } var ref = document.referrer; var parser = document.createElement('a'); parser.href = ref; // values in the below MUST be strings var targeting = { 'context': '', 'domain': 'www.heraldscotland.com', 'isLanding': 'yes', 'top_path': 'sport', 'weather': 'cloudy'.toLowerCase(), 'jbsjs': ''.toLowerCase(), 'site_search': '', 'bmd_cat': '', 'wt': '11-15', 'cmpid': qs.get('cmpid'), 'refdm': parser.hostname, 'k': known, 'g': 'u' , 'a': '0' , 'topic': '', 'publication': '', 'primary_tag_future_use': '', 'site': (isMobile()) ? 'mobile': 'desktop', 'r': data_layer.user.subscription_plan !== '' ? '2' // 2 = subscribed : data_layer.user.is_logged_in == 'yes' ? '1' // 1 = registered : '0', // 0 = anonymous }; if (!usePrebid) { targeting.adrq = 'adl'; } if (data_layer.video.exists === 'yes') { targeting.ptype = 'video'; } if ($.cookie('isMeterExpired') === 'yes' && window.data_layer.article.is_article) { var articleContentLevel = parseInt(window.data_layer.article.content_level, 10) || 0; // account for NaN if (articleContentLevel !== 0 && window.data_layer.article.content_level_open_access === 'no') { targeting.ao = 'y'; } } if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { targeting.dfpcsnt = 'yes'; } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { targeting.dfpcsnt = 'no'; } else { targeting.dfpcsnt = 'none'; } if (typeof MobileDetect !== "undefined") { targeting.canbb = (window.screen.width > 960) ? 'y' : 'n'; } if (typeof module_targeting === "object") { targeting = addToTargeting(targeting, module_targeting); } // $.each(apData, function (k, v) { // targeting[k] = v; // }); // if (typeof gs_channels !== 'undefined') { // targeting.gs_channels = gs_channels; // } targeting = addToTargeting(targeting, data_layer_helper.homesData); targeting.article_id = ''; var googleSiteName = 'www.heraldscotland.com'; var googlePath = '/sport/euro2024/'; var googleNetworkCode = 154725070; var googleChildNetworkCode = 22694024870; var googleId = '/'+googleNetworkCode + ',' + googleChildNetworkCode + '/' + googleSiteName+googlePath; if (googleId.charAt(googleId.length - 1) === '/') { googleId = googleId.slice(0, -1); } var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; googletag.cmd.push(function () { var _YB = _YB || { ab: function () { return _YB.dool ? "b" : "a" + Math.floor(Math.random() * 10); }, dool: Math.random() >= 0.1, }; var yb_ab; if (Math.random() <= 0.9) { yb_ab = _YB.ab(); } else { yb_ab = "c"; } googletag.pubads().setTargeting("yb_ab", yb_ab); }); googletag.cmd.push(function() { googletag.pubads().set("adsense_background_color", "FFFFFF"); googletag.pubads().setTargeting('rfs', "0"); $.each(targeting, function (key, value) { // No real value so exclude if (value === 0 || value === '' || value === null) { return; } googletag.pubads().setTargeting(key, value); }); }); var adUnits = []; if (blackListAds.length > 0) { $.each(blackListAds, function(i, name) { $('#'+name).remove(); }); } $.each(unfilteredAdUnits, function (i, unit) { // VAST (video) ad units never get displayed in here. if (unit.isVast) { return; } // if we have an ad-light experience if (whiteList === true) { if (typeof whiteListAds[unit.positionName] === 'undefined') { $('#'+unit.domName).remove(); return; } } adUnits.push(unit); }); // set up a holder for all the adverts so we can do things with them later var dfpHolder = {}; // the set up code googletag.cmd.push(function() { $.each(adUnits, function(i, data) { // check if the dom exists if ($('#'+data.domName).length === 0) { return; } var dfp = null; if (data.slotType === 'standard') { // get the correct sizes, using the alternate_sizes if they exist and we are on a mobile site var sizes = data.sizes; if (data.alternate_mobile_size && isMobile()) { sizes = data.alternate_mobile_size; } // push this ad slot through dfp = googletag.defineSlot(googleId, sizes, data.domName) .addService(googletag.pubads()) .setTargeting("position", data.positionName) .setCollapseEmptyDiv(data.collapseContainer); // check if we have an array of targets, and assign them as a companion if we do if (data.targets instanceof Array && data.targets.length > 0 ) { dfp.setTargeting('companion', data.targets); } } else if (data.slotType === 'outofpage') { dfp = googletag.defineOutOfPageSlot(googleId, data.domName) .addService(googletag.pubads()) .setTargeting("position", data.positionName) .setCollapseEmptyDiv(data.collapseContainer); // check if we have an array of targets, and assign them as a companion if we do if (data.targets instanceof Array && data.targets.length > 0 ) { dfp.setTargeting('companion', data.targets); } } // store dfpHolder[data.domName] = dfp; }); if (adLight === true) { googletag.pubads().setCategoryExclusion('adlight'); // var adlightexplanation = '<div class="adlight-explanation">I\'m a subscriber <a href="#" class="adlight-explanation-link">Why am I seeing this advert?</a></div>'; // if ($('#DFP_premium_mpu').length > 0) { // $('#DFP_premium_mpu').before(adlightexplanation); // } // if ($('#DFP_standard_mpu_1').length > 0) { // $('#DFP_standard_mpu_1').before(adlightexplanation); // } // var imageIds = [11497497, 11497535, 11497536, 11497541, 11497542, 11497545, 11497546, 11497547]; // var imageId = imageIds[Math.floor(Math.random() * imageIds.length)]; // $('.adlight-explanation-link').click(function(e) { // e.preventDefault(); // $('#adlight-explanation-modal-image').attr('src', '/resources/images/' + imageId + '/').show(); // $('#adlight-explanation-modal').modal(); // }); } // send the request googletag.pubads().enableSingleRequest(); googletag.enableServices(); googletag.pubads().addEventListener('slotVisibilityChanged', function(event) { if (event.slot.getResponseInformation().creativeTemplateId === 828288 || event.slot.getResponseInformation().creativeTemplateId === 12383216 ) { console.log('DFP: Magic template id detected, not refreshing'); return; } var slotName = ''; $.each(dfpHolder, function (a, e) { if (e == event.slot) { slotName = a; } }); if (typeof window.advertisingTimer !== 'undefined') { var perc = event.inViewPercentage; window.advertisingTimer.timer(slotName, perc); } }); }); // the display code $.each(adUnits, function(i, data) { // check if the dom exists if ($('#'+data.domName).length === 0) { return; } if (data.domName === 'DFP_interstitial_mpu') { if (!inter.checkVisit()) { return; } } // are we manually loading it? if ($('#'+data.domName).attr('data-manual-loading') === "yes") { return; } // for mobile, we check if the dom element has the data-delay-loading attribute set to "1" else if ($('#'+data.domName).attr('data-delay-loading') === "yes") { // load it $('#'+data.domName).appear(); $(document.body).on('appear', '#'+data.domName, function(e, allElement) { // don't call it many times if ($(this).attr('data-processed') === 'yes') { return; } $(this).attr('data-processed', 'yes'); // display the google ad googletag.display(data.domName); googletag.pubads().refresh([dfpHolder[data.domName]]); }); return; } googletag.cmd.push(function() { googletag.display(data.domName); }); }); window.googleComplete = performance.now(); window.googleReady = true; function addAdSlot(slotName, slot, initHidden) { console.log("Add ad slot called for %s %s", slotName, slot); // check if item already exists if (typeof window.dfpHolder[slotName] !== 'undefined') { return; } if (window.adLight === true) { return; } window.googletag.cmd.push(function() { var dfp = googletag.defineSlot(window.googleId, [[300,250]], slotName) .setTargeting('position', [slot]) .addService(googletag.pubads()); window.dfpHolder[slotName] = dfp; if (!initHidden) { googletag.pubads().refresh([dfp]); return; } }); } </script> <!-- Twitter widget script --> <script src="//platform.twitter.com/widgets.js" charset="utf-8"></script> <script src="/resources/responsive-static/build/mds/js/global.js?cb=uUAjmAdC"></script> <script src="/resources/responsive-static/build/mds/js/homepage.js?cb=uUAjmAdC"></script> <script src="/__siren/"></script> <!-- standard - AudienceTracking.html --> <script type="text/javascript"> var s_account="newsquestgroupprod"; </script> <script type="text/javascript" src="/resources/responsive-static/vendor/adobe/VisitorAPI.js?cb=uUAjmAdC"></script> <script type="text/javascript" src="/resources/responsive-static/vendor/adobe/omniture.js?cb=uUAjmAdC"></script> <script type="text/javascript"> function getOmniturePath() { var path = ''; if ($('#gallery-base-url').length === 1) { path = $('#gallery-base-url').val(); } else { path = window.location.pathname; } return path; } function getPositionFromCookie() { var ref = $.cookie('tracking_block_index'); $.removeCookie('tracking_block_index', { path: '/', domain: window.data_layer.site.cookie_domain, }); return ref; } function getRefFromCookie() { var ref = $.cookie('tracking_block'); $.removeCookie('tracking_block', { path: '/', domain: window.data_layer.site.cookie_domain, }); return ref; } function getOmnitureTrackingFromCookie(key, preExistingValue) { var ref = $.cookie('o-' + key); if(typeof(ref) === 'undefined') { ref = preExistingValue } else { ref = decodeURIComponent(ref); $.removeCookie('o-' + key, { path: '/', domain: window.data_layer.site.cookie_domain, }); } return ref; } function getValidatedAPList() { var validList = [1100, 1101, 1002, 1006, 1010, 1014, 1018, 1022, 1200, 1202, 1205, 1300, 1602, 1605, 1608, 1612, 1616, 1500, 1503, 1507, 1509, 1512, 1402, 1406, 1409, 1412, 1416, 14331, 14333, 14335, 14336, 14339, 14342, 14344, 14345, 14346, 14350, 14351, 14353, 14359, 14366, 14370, 14371, 14377, 14388, 14394, 14396, 14399, 14407, 14221, 14423, 15679, 15681, 15682, 15683, 15684, 15686, 15687, 15688, 15975]; var data = getAudienceProjectTargetingData(); if (!data || !data.ap_x) { return ''; } validData = []; $.each(data.ap_x, function(i, td) { if ($.inArray(parseInt(td, 10), validList) !== -1) { validData.push(td); } }); return validData.join(','); } path = document.location.href.split("/"); var prop30 = qs.get('lp'); var prop43 = qs.get('ref'); var pType="BlockArticleModule" if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') { pType = 'ArticleModule'; } for(x=4; x<7; x++) { if (typeof path[x] == 'undefined') { path[x] = ''; } if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1)) { path[x] = path[x-1]; } else { path[x] = path[x-1] + "/" + path[x]; } path[x] = path[x].replace(/\/undefined/g,""); } pathN= unescape(document.location.pathname.toString()); matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/); detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/); if (detailMatches !== null && detailMatches.length > 1) { matches = detailMatches; } if (matches !== null && matches.length > 1) { var subfolder = ''; path[3] = 'li'; path[4] = 'li/'+subfolder; path[5] = 'li/'+subfolder+'/'+matches[1]; path[6] = 'li/'+subfolder+'/'+matches[1]; } if (pathN === '/') { path[3] = 'homepage'; path[4] = 'homepage'; path[5] = 'homepage'; path[6] = 'homepage'; } /* You may give each page an identifying name, server, and channel on the next lines. */ s.pageName="(www) "+getOmniturePath(); s.pageName = s.pageName.toLowerCase(); s.server="dmh-martini-web23" s.channel="" s.pageType="" s.prop1= qs.get('search'); s.prop2="" s.prop3=document.title s.prop4="" s.prop5="BlockArticleModule" /* get from Martini */ s.prop6=path[3].toLowerCase() s.prop7=path[4].toLowerCase() s.prop8=path[5].toLowerCase() s.prop9=path[6].toLowerCase() s.prop10="" s.prop16=path[2].toLowerCase() s.prop17="Herald and Times" s.prop18="Martini" s.prop19="1" s.prop20 = s.getPreviousValue(s.pageName, 'gpv_pn'); s.prop53 = 'standard'; s.prop54 = ''; s.prop55 = ''; s.prop56 = "BAM Legacy List 1.0"; s.prop57 = ($('[data-name="Feature Article Block A"]').length > 0) ? 'Enabled' : 'Disabled'; s.prop58 = $('[data-name="Feature Article Block B"]').data('variant'); s.prop59 = getRefFromCookie(); s.prop60 = getPositionFromCookie(); s.prop73 = $.cookie('adtiming'); var eVar67 = []; if ($.cookie('consentUUID')) { eVar67.push('yes'); } else { eVar67.push('no'); } if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { eVar67.push('yes'); } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { eVar67.push('no'); } else { eVar67.push('none'); } if ($.cookie('_sp_legitimate_interests') === 'true') { eVar67.push('yes'); } else if ($.cookie('_sp_legitimate_interests') === 'false') { eVar67.push('no'); } else { eVar67.push('none'); } //if ($.cookie('euconsent')) { // eVar67.push($.cookie('euconsent')); //} else { // eVar67.push('none'); //} s.eVar67 = eVar67.join(','); // console.log('ADB: setting eVar67 to %s', eVar67.join(',')); if ($.cookie('prev-tcf-v2')) { // console.log('ADB: Setting eVar68 to ', $.cookie('prev-tcf-v2')); s.eVar68 = $.cookie('prev-tcf-v2'); } if (typeof iabNames !== 'undefined') { s.prop29 = iabNames.join(','); } else if (typeof iabIds !== 'undefined') { s.prop29 = iabIds.join(','); } if (s.prop20 && s.prop20 !== 'no value') { s.prop21 = s.getPercentPageViewed(); } else { s.prop21 = ''; } if (typeof __siren !== 'undefined') { s.eVar27 = __siren; } s.prop22 = s.getDaysSinceLastVisit('s_lv'); s.prop43=getOmnitureTrackingFromCookie('ref', prop43); s.prop25 = '' s.prop27 = ''; s.prop30 = getOmnitureTrackingFromCookie('prop30', prop30); s.linkInternalFilters="javascript:,heraldscotland.com,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk," s.eVar61=(new Date()).toLocaleDateString("en-GB"); s.eVar62=(new Date()).toLocaleDateString("en-GB"); /* Article-site-cloning data */ s.eVar90 = window.data_layer.article.parent_originating_site_id; s.eVar91 = window.data_layer.article.originating_article_id; s.eVar92 = window.data_layer.article.is_original_to_site; s.eVar95 = window.data_layer.site.using_piano_id; s.eVar106 = ''; /* Uber block article counts */ s.eVar93 = window.data_layer.page.top_stories_article_count + ':' + window.data_layer.page.interstitial_article_count + ':' + window.data_layer.page.news_stories_article_count; /* Conversion Variables */ s.campaign="" s.state="" s.zip="" s.events="" s.products="" s.purchaseID="" s.eVar14="" try { s.list3=getValidatedAPList(); } catch (e) { // do nothing } // Initial fotorama tracking. var moduleType = null; if (s.prop5 === 'ArticleModule' || s.prop5 == 'PropertyModuleReplacement' || s.prop5 === 'BlockArticleModule') { moduleType = 'article'; } else if (s.prop5 === 'PictureGalleryModule') { moduleType = 'gallery'; } if (moduleType === 'article' || moduleType === 'gallery') { var imagePath = ''; if ($('.fotorama').length > 0) { // Get the first Fotorama image. try { var el = $('.fotorama').data('fotorama').data[0].html; var url = $(el).find('div').css('background-image'); imagePath = url.replace('url(','').replace(')','').replace(/\"/gi, ""); } catch (e) { } } else { // If there's just one image (i.e. it's not a gallery), find its path. var imagePathSingle = $('#mainImage').attr('src'); if (typeof imagePathSingle !== 'undefined') { imagePath = imagePathSingle.split('.')[0] + '/'; } } var imageParts = imagePath.split('/'); if (imageParts.length > 1) { s.eVar37 = imageParts[imageParts.length - 2]; s.prop37 = imageParts[imageParts.length - 2]; s.events = s.apl(s.events, 'event7', ',', 2); } s.eVar36 = moduleType; s.prop36 = moduleType; } // Education pages. if (s.prop5 === 'ResponsiveEducationModule') { // School profile page. if ($('#eduOverview').length > 0) { s.eVar40 = $('#eduOverview').data('school-status'); s.prop40 = s.eVar40; s.prop41 = 'edu-' + $('#eduOverview').data('school-urn'); s.prop46 = $('#town').text(); } // Comparison page. if ($('#eduComparisonTable').length > 0) { s.list1 = ''; } // Results page. if ($('.school-results').length > 0) { s.list1 = ''; // Track the search criteria. s.prop44 = ''; s.prop45 = "".toLowerCase(); s.prop46 = "".toLowerCase(); s.prop49 = ''; s.prop50 = ''; s.prop51 = ''; s.eVar2 = s.prop50; var newSearch = false; if (newSearch) { s.events = s.apl(s.events, 'event17', ',', 1); } } } //New Property module if (s.prop5 === 'ResponsivePropertyModule') { /* Use prop42 for single and list pages, for list pages use hyphen separate lists of id's */ //Property's all over the place (homepage, searches etc - HOM-133 //Property Detail - HOM-131, HOM-134, HOM-130 //Contact us submissions - HOM-137 if($('#propertyModule.agent-details').length > 0) { //Add a click handler for a.contact-detail } } // is their a video tag on the page? if ($('.exco-embed').length > 0) { console.log('VID: setting tracking for event50'); s.events = s.apl(s.events, 'event50', ',', 1); } var foundAutoPlayVid = false; $('.jw-outer').each(function (a, domEle) { if ($(this).data('multimedia-block') === 'no' && !foundAutoPlayVid) { console.log('VID: setting tracking for event51'); s.events = s.apl(s.events, 'event51', ',', 1); foundAutoPlayVid = true; } }); s.eVar66 = 'Ad-Full-Herald'; // var eVar65Copy = s.getValOnce(s.eVar65, "ev65", 0); // if (eVar65Copy !== '' && s.prop20.indexOf("/my/subscription/activate/") > -1) { // s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event. // s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event. // s.products = "Subscription : Metered Access;" + eVar65Copy + ";1;"; // s.purchaseID = ""; // } if(qs.get('action') === 'success' && (s.prop5 === 'ArticleModule' || s.prop5 === 'BMDModule' || s.prop5 === 'BlockArticleModule')) { s.events=s.apl(s.events,'event9',',',2) } /* Hierarchy Variables */ s.hier1="newsquest," + "Herald and Times" + ",www.heraldscotland.com," + path[6].replace(/\//,","); if (typeof MartiniFotorama !== 'undefined') { MartiniFotorama.loadOmniture(s); } s.prop39 = "0"; // Tracking usage of Bytecast audio embeds in articles. s.eVar82 = 'no'; s.eVar83 = ''; console.log('ADB: starting'); /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ if (qs.get('callback') !== 'in' && navigator.userAgent.toString().toLowerCase().indexOf('googlebot') === -1) { var s_code=s.t(); var backupAdobe = s; if(s_code)document.write(s_code) } //--></script> <!-- End SiteCatalyst code version: H.19.3. --> <script src="//connect.facebook.net/en_US/all.js#xfbml=1"></script> <script async src="https://www.tiktok.com/embed.js"></script> </html>