CINXE.COM
Tolkien – HarperCollins Publishers UK
<!doctype html> <html lang="en"> <head> <!-- Start of Shoplift scripts --> <!-- 2025-04-04T04:45:42.0313404Z --> <style>.shoplift-hide { opacity: 0 !important; }</style> <style id="sl-preview-bar-hide">#preview-bar-iframe, #PBarNextFrameWrapper { display: none !important; }</style> <script type="text/javascript">(function(rootPath, template, themeRole, themeId, isThemePreview){ /* Generated on 2025-04-04T20:00:52.9362229Z */var z=Object.defineProperty;var j=(m,p,u)=>p in m?z(m,p,{enumerable:!0,configurable:!0,writable:!0,value:u}):m[p]=u;var l=(m,p,u)=>j(m,typeof p!="symbol"?p+"":p,u);(function(){"use strict";var m=" daum[ /]| deusu/| yadirectfetcher|(?:^|[^g])news(?!sapphire)|(?<! (?:channel/|google/))google(?!(app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!(?: ya| yandex|^job|inapp;) ?)search|(?<!(?:lib))http|(?<![hg]m)score|@[a-z][\\w-]+\\.|\\(\\)|\\.com|\\b\\d{13}\\b|^<|^[\\w \\.\\-\\(?:\\):]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[^ ]{50,}$|^\\d+\\b|^\\w+/[\\w\\(\\)]*$|^active|^ad muncher|^amaya|^avsdevicesdk/|^biglotron|^bot|^bw/|^clamav[ /]|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d \\(compatible;?\\)$|^mozilla/\\d\\.\\d \\w*$|^navermailapp|^netsurf|^offline|^owler|^postman|^python|^rank|^read|^reed|^rest|^rss|^snapchat|^space bison|^svn|^swcd |^taringa|^thumbor/|^track|^valid|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|^{{.*}}$|admin|analyzer|archive|ask jeeves/teoma|bit\\.ly/|bluecoat drtr|browsex|burpcollaborator|capture|catch|check|chrome-lighthouse|chromeframe|classifier|clean|cloud|crawl|cypress/|dareboost|datanyze|dejaclick|detect|dmbrowser|download|evc-batch/|feed|firephp|gomezagent|headless|httrack|hubspot marketing grader|hydra|ibisbrowser|images|insight|inspect|iplabel|ips-agent|java(?!;)|library|mail\\.ru/|manager|measure|neustar wpm|node|nutch|offbyone|optimize|pageburst|pagespeed|parser|perl|phantomjs|pingdom|powermarks|preview|proxy|ptst[ /]\\d|reputation|resolver|retriever|rexx;|rigor|rss\\b|scan|scrape|server|sogou|sparkler/|speedcurve|spider|splash|statuscake|synapse|synthetic|tools|torrent|trace|transcoder|url|virtuoso|wappalyzer|watch|webglance|webkit2png|whatcms/|zgrab",p=/bot|spider|crawl|http|lighthouse/i,u;function A(){if(u instanceof RegExp)return u;try{u=new RegExp(m,"i")}catch{u=p}return u}function I(r){return!!r&&A().test(r)}class v{constructor(){l(this,"timestamp");this.timestamp=new Date}}class P extends v{constructor(e,s,i){super();l(this,"type");l(this,"testId");l(this,"hypothesisId");this.type=3,this.testId=e,this.hypothesisId=s,this.timestamp=i}}class x extends v{constructor(e){super();l(this,"type");l(this,"path");this.type=4,this.path=e}}class E extends v{constructor(e){super();l(this,"type");l(this,"cart");this.type=5,this.cart=e}}class w extends Error{constructor(){super();l(this,"isBot");this.isBot=!0}}function H(r,t,e){for(const s of t.selectors){const i=r.querySelectorAll(s.cssSelector);for(let o=0;o<i.length;o++)e(t.testId,t.hypothesisId)}S(r,t,(s,i,o,n,a)=>a(i,o),e)}function L(r,t,e){for(const s of t.selectors)b(r,t.testId,t.hypothesisId,s,e??(()=>{}));S(r,t,b,e??(()=>{}))}function V(r){return r.urlPatterns.reduce((t,e)=>{switch(e.operator){case"contains":return t+`.*${e}.*`;case"endsWith":return t+`.*${e}`;case"startsWith":return t+`${e}.*`}},"")}function S(r,t,e,s){new MutationObserver(()=>{for(const o of t.selectors)e(r,t.testId,t.hypothesisId,o,s)}).observe(r.documentElement,{childList:!0,subtree:!0})}function b(r,t,e,s,i){const o=r.querySelectorAll(s.cssSelector);for(let n=0;n<o.length;n++){let a=o.item(n);if(a instanceof HTMLElement&&a.dataset.shoplift!==""){a.dataset.shoplift="";for(const c of s.actions.sort(_))a=R(r,s.cssSelector,a,c)}}return o.length>0&&i?(i(t,e),!0):!1}function R(r,t,e,s){switch(s.type){case"innerHtml":e.innerHTML=s.value;break;case"attribute":q(e,s.scope,s.value);break;case"css":F(r,t,s.value);break;case"js":M(r,e,s);break;case"copy":return $(e);case"remove":O(e);break;case"move":D(e,parseInt(s.value));break}return e}function q(r,t,e){r.setAttribute(t,e)}function F(r,t,e){var i;const s=r.createElement("style");s.innerHTML=`${t} { ${e} }`,(i=r.getElementsByTagName("head")[0])==null||i.appendChild(s)}function M(r,t,e){Function("document","element",`use strict; ${e.value}`)(r,t)}function $(r){const t=r.cloneNode(!0);if(!r.parentNode)throw"Can't copy node outside of DOM";return r.parentNode.insertBefore(t,r.nextSibling),t}function O(r){r.remove()}function D(r,t){if(t===0)return;const e=Array.prototype.slice.call(r.parentElement.children).indexOf(r),s=Math.min(Math.max(e+t,0),r.parentElement.children.length-1);r.parentElement.children.item(s).insertAdjacentElement(t>0?"afterend":"beforebegin",r)}function _(r,t){return k(r)-k(t)}function k(r){return r.type==="copy"||r.type==="remove"?0:1}function g(r,t){return typeof t=="string"&&/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d+(?:Z|[+-]\d+)/.test(t)?new Date(t):t}function T(r,t){return t}class N{constructor(t,e,s,i,o,n,a,c,h,d){l(this,"temporarySessionKey","Shoplift_Session");l(this,"essentialSessionKey","Shoplift_Essential");l(this,"analyticsSessionKey","Shoplift_Analytics");l(this,"legacySessionKey");l(this,"cssHideClass");l(this,"testConfigs");l(this,"inactiveTestConfigs");l(this,"testsFilteredByAudience");l(this,"sendPageView");l(this,"shopliftDebug");l(this,"useGtag");l(this,"getCountryTimeout");l(this,"state");l(this,"shopifyAnalyticsId");l(this,"cookie",document.cookie);l(this,"isSyncing",!1);l(this,"fetch");l(this,"localStorageSet");l(this,"localStorageGet");l(this,"sessionStorageSet",window.sessionStorage.setItem.bind(window.sessionStorage));l(this,"sessionStorageGet",window.sessionStorage.getItem.bind(window.sessionStorage));l(this,"urlParams",new URLSearchParams(window.location.search));l(this,"device");l(this,"logHistory");this.shop=t,this.host=e,this.eventHost=s,this.logHistory=[],this.legacySessionKey=`SHOPLIFT_SESSION_${this.shop}`,this.cssHideClass=i?"shoplift-hide":"",this.testConfigs=h.map(y=>({...y,startAt:new Date(y.startAt),statusHistory:y.statusHistory.map(C=>({...C,createdAt:new Date(C.createdAt)}))})),this.inactiveTestConfigs=d,this.sendPageView=!!o,this.shopliftDebug=n===!0,this.useGtag=a===!0,this.fetch=window.fetch.bind(window),this.localStorageSet=window.localStorage.setItem.bind(window.localStorage),this.localStorageGet=window.localStorage.getItem.bind(window.localStorage);const f=this.getDeviceType();this.device=f!=="tablet"?f:"mobile",this.state=this.loadState(),this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.testsFilteredByAudience=h.filter(y=>y.status=="active"),this.getCountryTimeout=c===1000?1e3:c,this.log("State Loaded",JSON.stringify(this.state))}async init(){var t;try{if(this.log("Shoplift script initializing"),window.Shopify&&window.Shopify.designMode){this.log("Skipping script for design mode");return}if(window.location.href.includes("slScreenshot=true")){this.log("Skipping script for screenshot"),this.setShoplift();return}if(window.location.hostname.endsWith(".shopifypreview.com")||window.location.hostname.endsWith(".edgemesh.com")){this.log("Skipping script for preview");return}if(window.location.href.includes("isShopliftMerchant")){const s=this.urlParams.get("isShopliftMerchant")==="true";this.log("Setting merchant session to %s",s),this.state.temporary.isMerchant=s,this.persistTemporaryState()}if(this.state.temporary.isMerchant){this.log("Skipping script for merchant"),(t=document.querySelector("#sl-preview-bar-hide"))==null||t.remove();return}if(I(navigator.userAgent)||(this.shopifyAnalyticsId=this.getShopifyAnalyticsId(),this.monitorConsentChange(),this.checkForThemePreview()))return;if(await this.refreshVisitor(this.shopifyAnalyticsId),await this.handleVisitorTest()){this.log("Redirecting for visitor test");return}this.setShoplift(),this.showPage(),await this.finalize(),console.log("SHOPLIFT SCRIPT INITIALIZED!")}catch(e){if(e instanceof w)return;throw e}finally{typeof window.shoplift!="object"&&(window.shoplift={isHypothesisActive:async e=>!1,setAnalyticsConsent:e=>{throw"Shoplift not initialized"},getVisitorData:()=>{throw"Shoplift not initialized"}})}}async finalize(){const t=await this.getCartState();t!==null&&this.queueCartUpdate(t),this.pruneStateAndSave(),await this.syncAllEvents()}setShoplift(){this.log("Setting up public API");const e=this.urlParams.get("slVariant")==="true",s=e?null:this.urlParams.get("slVariant");window.shoplift={isHypothesisActive:async i=>{if(this.log("Script checking variant for hypothesis '%s'",i),e)return this.log("Forcing variant for hypothesis '%s'",i),!0;if(s!==null)return this.log("Forcing hypothesis '%s'",s),i===s;const o=this.testConfigs.find(a=>a.hypotheses.some(c=>c.id===i));if(!o)return this.log("No test found for hypothesis '%s'",i),!1;const n=this.state.essential.visitorTests.find(a=>a.testId===o.id);return n?(this.log("Active visitor test found",i),n.hypothesisId===i):(await this.manuallySplitVisitor(o),this.testConfigs.some(a=>a.hypotheses.some(c=>c.id===i&&this.state.essential.visitorTests.some(h=>h.hypothesisId===c.id))))},setAnalyticsConsent:async i=>{await this.onConsentChange(i,!0)},getVisitorData:()=>({visitor:this.state.analytics.visitor,visitorTests:this.state.essential.visitorTests.filter(i=>!i.isInvalid).map(i=>{const{shouldSendToGa:o,...n}=i;return n})})}}async manuallySplitVisitor(t){this.log("Starting manual split for test '%s'",t.id),await this.handleVisitorTest([t]),this.saveState(),this.syncAllEvents()}async handleVisitorTest(t){await this.filterTestsByAudience(this.testConfigs,this.state.analytics.visitor??this.buildBaseVisitor(),this.state.essential.visitorTests);let e=t?t.filter(i=>this.testsFilteredByAudience.some(o=>o.id===i.id)):this.testsForUrl(this.testsFilteredByAudience);if(e.length>0){this.log("Existing visitor on test page");const i=this.getCurrentVisitorHypothesis(e);if(i){this.log("Found current visitor test");const c=this.considerRedirect(i);return c&&(this.log("Redirecting for current visitor test"),this.redirect(i)),c}this.log("No active test relation for test page");const o=this.testsForUrl(this.inactiveTestConfigs.filter(c=>this.testIsPaused(c)&&c.hypotheses.some(h=>this.state.essential.visitorTests.some(d=>d.hypothesisId===h.id)))).map(c=>c.id);if(o.length>0)return this.log("Visitor has paused tests for test page, skipping test assignment: %o",o),!1;if(this.hasThemeAndOtherTestTypes(this.testsFilteredByAudience)){this.log("Store has both theme and non-theme tests");const c=this.visitorActiveTestType();this.log("Current visitor test type is '%s'",c);let h;switch(c){case"templateOrUrlRedirect":this.log("Filtering to non-theme tests"),h=d=>d!=="theme";break;case"theme":this.log("Filtering to theme tests"),h=d=>d==="theme";break;case null:h=Math.random()>.5?(this.log("Filtering to theme tests"),d=>d==="theme"):(this.log("Filtering to non-theme tests"),d=>d!=="theme");break}e=e.filter(d=>d.hypotheses.some(f=>f.isControl&&h(f.type)))}if(e.length===0)return this.log("No tests found"),!1;const n=e[Math.floor(Math.random()*e.length)],a=this.pickHypothesis(n);if(a){this.log("Adding local visitor to test '%s', hypothesis '%s'",n.id,a.id),this.queueAddVisitorToTest(n.id,a);const c=this.considerRedirect(a);return c&&(this.log("Redirecting for new test"),this.redirect(a)),c}this.log("No hypothesis found")}return this.includeInDomTests(),!1}includeInDomTests(){const t=this.getDomTestsForCurrentUrl(),e=this.getVisitorDomHypothesis(t);for(const s of t){this.log("Evaluating dom test '%s'",s.id);const o=e.find(n=>s.hypotheses.some(a=>n.id===a.id))??this.pickHypothesis(s);if(!o){this.log("Failed to pick hypothesis for test");continue}if(o.isControl){this.log("Test has no dom actions to take, detect selector for test inclusion");const n=s.hypotheses.filter(a=>a.id!==o.id).flatMap(a=>{var c;return((c=a.domSelectors)==null?void 0:c.map(h=>({...h,testId:s.id})))??[]});n.length>0&&H(document,{testId:s.id,hypothesisId:o.id,selectors:n},a=>{this.queueAddVisitorToTest(a,o),this.syncAllEvents()});continue}if(!o.domSelectors||o.domSelectors.length===0){this.log("No selectors found, skipping hypothesis");continue}this.log("Watching for selectors"),L(document,{testId:s.id,hypothesisId:o.id,selectors:o.domSelectors},n=>{this.queueAddVisitorToTest(n,o),this.syncAllEvents()})}}considerRedirect(t){if(this.log("Considering redirect for hypothesis '%s'",t.id),t.isControl)return this.log("Skipping redirect for control"),!1;if(t.type==="basicScript"||t.type==="manualScript")return this.log("Skipping redirect for script test"),!1;const e=this.state.essential.visitorTests.find(n=>n.hypothesisId===t.id),s=new URL(window.location.toString()),o=new URLSearchParams(window.location.search).get("view");if(t.type==="theme"){if(!(t.themeId===themeId)){if(this.log("Theme id '%s' is not hypothesis theme ID '%s'",t.themeId,themeId),e&&e.themeId!==t.themeId&&(e.themeId===themeId||!this.isThemePreview()))this.log("On old theme, redirecting and updating local visitor"),e.themeId=t.themeId;else if(this.isThemePreview())return this.log("On non-test theme, skipping redirect"),!1;return this.log("Hiding page to redirect for theme test"),this.hidePage(),!0}return!1}else if(t.type!=="dom"&&t.affix!==template.suffix&&t.affix!==o||t.redirectPath&&!s.pathname.endsWith(t.redirectPath))return this.log("Hiding page to redirect for template test"),this.hidePage(),!0;return this.log("Not redirecting"),!1}redirect(t){if(this.log("Redirecting to hypothesis '%s'",t.id),t.isControl)return;const e=new URL(window.location.toString());if(e.searchParams.delete("view"),t.redirectPath){const s=RegExp("^(/w{2}-w{2})/").exec(e.pathname);if(s&&s.length>1){const i=s[1];e.pathname=`${i}${t.redirectPath}`}else e.pathname=t.redirectPath}else t.type==="theme"?(e.searchParams.set("_ab","0"),e.searchParams.set("_fd","0"),e.searchParams.set("_sc","1"),e.searchParams.set("preview_theme_id",t.themeId.toString())):t.type!=="urlRedirect"&&e.searchParams.set("view",t.affix);this.queueRedirect(e)}async refreshVisitor(t){if(console.log(`${t}:${this.state.essential.isFirstLoad}:${this.testConfigs.some(s=>s.visitorOption!=="all")}`),t===null||!this.state.essential.isFirstLoad||!this.testConfigs.some(s=>s.visitorOption!=="all"))return;this.hidePage();const e=await this.getVisitor(t);e&&e.id&&this.updateLocalVisitor(e)}buildBaseVisitor(){return{shopifyAnalyticsId:this.shopifyAnalyticsId,device:this.device,country:null,...this.state.essential.initialState}}getInitialState(){const t=this.getUTMValue("utm_source")??"",e=this.getUTMValue("utm_medium")??"",s=this.getUTMValue("utm_campaign")??"",i=this.getUTMValue("utm_content")??"",o=window.document.referrer,n=this.device;return{createdAt:new Date,utmSource:t,utmMedium:e,utmCampaign:s,utmContent:i,referrer:o,device:n}}checkForThemePreview(){var t;return this.log("Checking for theme preview"),this.isThemePreview()?this.state.essential.visitorTests.some(e=>e.isThemeTest&&this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("On active theme test, removing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):this.state.essential.visitorTests.some(e=>e.isThemeTest&&!this.getHypothesis(e.hypothesisId)&&e.themeId===themeId)?(this.log("Visitor is on an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.state.essential.isFirstLoad?(this.log("No visitor found on theme preview, redirecting to main theme"),this.redirectToMainTheme(),!0):this.inactiveTestConfigs.some(e=>e.hypotheses.some(s=>s.themeId===themeId))?(this.log("Current theme is an inactive theme test, redirecting to main theme"),this.redirectToMainTheme(),!0):this.testConfigs.some(e=>e.hypotheses.some(s=>s.themeId===themeId))?(this.log("Falling back to clearing theme bar"),this.clearThemeBar(!1,!0,this.state),!1):(this.log("No tests on current theme, skipping script"),this.clearThemeBar(!0,!1,this.state),(t=document.querySelector("#sl-preview-bar-hide"))==null||t.remove(),!0):(this.log("Not on theme preview"),this.clearThemeBar(!0,!1,this.state),!1)}redirectToMainTheme(){this.hidePage();const t=new URL(window.location.toString());t.searchParams.set("preview_theme_id",""),this.queueRedirect(t)}testsForUrl(t){const e=new URL(window.location.href),s=this.typeFromTemplate();return t.filter(i=>i.hypotheses.some(o=>o.type!=="dom"&&(o.isControl&&o.type===s&&o.affix===template.suffix||o.type==="theme"||o.isControl&&o.type==="urlRedirect"&&o.redirectPath&&e.pathname.endsWith(o.redirectPath)||o.type==="basicScript"))&&(i.ignoreTestViewParameterEnforcement||!e.searchParams.has("view")||i.hypotheses.map(o=>o.affix).includes(e.searchParams.get("view")??"")))}domTestsForUrl(t){const e=new URL(window.location.href);return t.filter(s=>s.hypotheses.some(i=>i.type==="dom"&&i.domSelectors&&i.domSelectors.some(o=>new RegExp(V(o)).test(e.toString()))))}async filterTestsByAudience(t,e,s){const i=[];let o=e.country;!o&&t.some(n=>n.requiresCountry&&!s.some(a=>a.testId===n.id))&&(this.log("Hiding page to check geoip"),this.hidePage(),o=await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/get-country`,signal:AbortSignal.timeout(this.getCountryTimeout)}).catch(n=>(this.log("Error getting country",n),null)));for(const n of t){this.log("Checking audience for test '%s'",n.id);const a=this.visitorCreatedDuringTestActive(n.statusHistory);(s.some(h=>h.testId===n.id&&(n.device==="all"||n.device===e.device&&n.device===this.device))||this.isTargetAudience(n,e,a,o))&&(this.log("Visitor is in audience for test '%s'",n.id),i.push(n))}this.testsFilteredByAudience=i}isTargetAudience(t,e,s,i){const o=this.getChannel(e);return(t.device==="all"||t.device===e.device&&t.device===this.device)&&(t.visitorOption==="all"||t.visitorOption==="new"&&s||t.visitorOption==="returning"&&!s)&&(t.targetAudiences.length===0||t.targetAudiences.reduce((n,a)=>n||a.reduce((c,h)=>c&&h(e,s,o,i),!0),!1))}visitorCreatedDuringTestActive(t){let e="";for(const s of t){if(this.state.analytics.visitor!==null&&this.state.analytics.visitor.createdAt<s.createdAt||this.state.essential.initialState.createdAt<s.createdAt)break;e=s.status}return e==="active"}getDomTestsForCurrentUrl(){return this.domTestsForUrl(this.testsFilteredByAudience)}getCurrentVisitorHypothesis(t){return t.flatMap(e=>e.hypotheses).find(e=>e.type!=="dom"&&this.state.essential.visitorTests.some(s=>s.hypothesisId===e.id))}getVisitorDomHypothesis(t){return t.flatMap(e=>e.hypotheses).filter(e=>e.type==="dom"&&this.state.essential.visitorTests.some(s=>s.hypothesisId===e.id))}getHypothesis(t){return this.testConfigs.filter(e=>e.hypotheses.some(s=>s.id===t)).map(e=>e.hypotheses.find(s=>s.id===t))[0]}hasThemeTest(t){return t.some(e=>e.hypotheses.some(s=>s.type==="theme"))}hasTestThatIsNotThemeTest(t){return t.some(e=>e.hypotheses.some(s=>s.type!=="theme"&&s.type!=="dom"))}hasThemeAndOtherTestTypes(t){return this.hasThemeTest(t)&&this.hasTestThatIsNotThemeTest(t)}testIsPaused(t){return t.status==="paused"||t.status==="incompatible"||t.status==="suspended"}visitorActiveTestType(){const t=this.state.essential.visitorTests.filter(e=>this.testConfigs.some(s=>s.hypotheses.some(i=>i.id==e.hypothesisId)));return t.length===0?null:t.some(e=>e.isThemeTest)?"theme":"templateOrUrlRedirect"}pickHypothesis(t){let e=Math.random();const s=t.hypotheses.reduce((o,n)=>o+n.visitorCount,0);return t.hypotheses.sort((o,n)=>o.isControl?n.isControl?0:-1:n.isControl?1:0).reduce((o,n)=>{if(o!==null)return o;const c=t.hypotheses.reduce((h,d)=>h&&d.visitorCount>20,!0)?n.visitorCount/s-n.trafficPercentage:0;return e<=n.trafficPercentage-c?n:(e-=n.trafficPercentage,null)},null)}typeFromTemplate(){switch(template.type){case"collection-list":return"collectionList";case"page":return"landing";case"article":case"blog":case"cart":case"collection":case"index":case"product":case"search":return template.type;default:return null}}queueRedirect(t){this.saveState(),window.setTimeout(()=>window.location.assign(t),0)}async syncAllEvents(){const t=async()=>{if(this.isSyncing){window.setTimeout(()=>void(async()=>await t())(),500);return}try{this.isSyncing=!0,await this.syncEvents(),this.syncGAEvents()}finally{this.isSyncing=!1}};await t()}async syncEvents(){var s,i;if(!this.state.essential.consentApproved||!this.shopifyAnalyticsId||this.state.analytics.queue.length===0)return;const t=this.state.analytics.queue.length,e=this.state.analytics.queue.splice(0,t);this.log("Syncing %s events",t);try{const o={shop:this.shop,visitorDetails:{shopifyAnalyticsId:this.shopifyAnalyticsId,device:((s=this.state.analytics.visitor)==null?void 0:s.device)??this.device,country:((i=this.state.analytics.visitor)==null?void 0:i.country)??null,...this.state.essential.initialState},events:this.state.essential.visitorTests.filter(a=>!a.isInvalid&&!a.isSaved).map(a=>new P(a.testId,a.hypothesisId,a.createdAt)).concat(e)},n=await this.sendEvents(o);n!==null&&this.updateLocalVisitor(n)}catch{this.state.analytics.queue.splice(0,0,...e)}finally{this.saveState()}}syncGAEvents(){if(!this.useGtag||!this.state.essential.consentApproved)return;const t=this.state.essential.visitorTests.filter(e=>e.shouldSendToGa);this.log("Syncing %s ga events",length);try{for(const e of t)this.sendGtagEvent(e.testId,e.hypothesisId),e.shouldSendToGa=!1}catch(e){this.log("Failed sending event to gtag",e)}finally{this.persistEssentialState()}}sendGtagEvent(t,e){this.log("Sending gtag event for",t,e);const s={exp_variant_string:`SL-${t}-${e}`};this.shopliftDebug&&Object.assign(s,{debug_mode:!0}),typeof window.gtag=="function"?gtag("event","experience_impression",s):(this.log("gtag not found, pushing to dataLayer"),window.dataLayer=window.dataLayer||[],window.dataLayer.push({event:"experience_impression",...s}))}updateLocalVisitor(t){let e;({visitorTests:e,...this.state.analytics.visitor}=t);for(const s of this.state.essential.visitorTests.filter(i=>!e.some(o=>o.testId===i.testId)))s.isSaved=!0,s.isInvalid=!0;for(const s of e)this.state.essential.visitorTests.some(o=>o.testId===s.testId)||this.state.essential.visitorTests.push(s);this.state.analytics.visitor.storedAt=new Date}async getVisitor(t){try{return await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/by-key/${this.shop}/${t}`})}catch{return null}}async sendEvents(t){return await this.makeJsonRequest({method:"post",url:`${this.eventHost}/api/v0/events`,data:JSON.stringify(t)})}async getRemoteVisitor(t){return await this.makeJsonRequest({method:"get",url:`${this.eventHost}/api/v0/visitors/${t}`})}async updateShopifyAnalyticsId(t,e){return await this.makeJsonRequest({method:"put",url:`${this.eventHost}/api/v0/visitors/${t}`,data:JSON.stringify({shop:this.shop,shopifyAnalyticsId:e})})}getUTMValue(t){const s=decodeURIComponent(window.location.search.substring(1)).split("&");for(let i=0;i<s.length;i++){const o=s[i].split("=");if(o[0]===t)return o[1]||null}return null}hidePage(){this.log("Hiding page"),this.cssHideClass&&!window.document.documentElement.classList.contains(this.cssHideClass)&&(window.document.documentElement.classList.add(this.cssHideClass),setTimeout(this.removeAsyncHide(this.cssHideClass),2e3))}showPage(){this.cssHideClass&&this.removeAsyncHide(this.cssHideClass)()}getDeviceType(){function t(){let s=!1;return function(i){(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(i)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(i.substr(0,4)))&&(s=!0)}(navigator.userAgent||navigator.vendor),s}function e(){let s=!1;return function(i){(/android|ipad|playbook|silk/i.test(i)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(i.substr(0,4)))&&(s=!0)}(navigator.userAgent||navigator.vendor),s}return t()?"mobile":e()?"tablet":"desktop"}removeAsyncHide(t){return()=>{t&&window.document.documentElement.classList.remove(t)}}async getCartState(){try{let t=await this.makeJsonRequest({method:"get",url:`${window.location.origin}/cart.js`});return t===null?null:(t.note===null&&(t=await this.makeJsonRequest({method:"post",url:`${window.location.origin}/cart/update.js`,data:JSON.stringify({note:""})})),t)}catch(t){return this.log("Error sending cart info",t),null}}async makeJsonRequest(t){const e=await this.makeRequest(t);return e===null?null:JSON.parse(await e.text(),g)}async makeRequest(t){const{url:e,method:s,headers:i,data:o,signal:n}=t,a=new Headers;if(i)for(const h in i)a.append(h,i[h]);(!i||!i.Accept)&&a.append("Accept","application/json"),(!i||!i["Content-Type"])&&a.append("Content-Type","application/json"),(this.eventHost.includes("ngrok.io")||this.eventHost.includes("ngrok-free.app"))&&a.append("ngrok-skip-browser-warning","1234");const c=await this.fetch(e,{method:s,headers:a,body:o,signal:n});if(!c.ok){if(c.status===204)return null;if(c.status===422){const h=await c.json();if(typeof h<"u"&&h.isBot)throw new w}throw new Error(`Error sending shoplift request ${c.status}`)}return c}queueAddVisitorToTest(t,e){this.state.essential.visitorTests.some(s=>s.testId===t)||this.state.essential.visitorTests.push({createdAt:new Date,testId:t,hypothesisId:e.id,isThemeTest:e.type==="theme",themeId:e.themeId,isSaved:!1,isInvalid:!1,shouldSendToGa:!0})}queueCartUpdate(t){this.queueEvent(new E(t))}queuePageView(t){this.queueEvent(new x(t))}queueEvent(t){!this.state.essential.consentApproved&&this.state.essential.hasConsentInteraction||this.state.analytics.queue.length>10||this.state.analytics.queue.push(t)}legacyGetLocalStorageVisitor(){const t=this.localStorageGet(this.legacySessionKey);if(t)try{return JSON.parse(t,g)}catch{}return null}pruneStateAndSave(){this.state.essential.visitorTests=this.state.essential.visitorTests.filter(t=>this.testConfigs.some(e=>e.id==t.testId)||this.inactiveTestConfigs.filter(e=>this.testIsPaused(e)).some(e=>e.id===t.testId)),this.saveState()}saveState(){this.persistEssentialState(),this.persistAnalyticsState()}loadState(){const t=this.loadAnalyticsState(),e={analytics:t,essential:this.loadEssentialState(t),temporary:this.loadTemporaryState()},s=this.legacyGetLocalStorageVisitor(),i=this.legacyGetCookieVisitor(),o=[s,i].filter(n=>n!==null).sort((n,a)=>+a.storedAt-+n.storedAt)[0];return e.analytics.visitor===null&&o&&({visitorTests:e.essential.visitorTests,...e.analytics.visitor}=o,e.essential.isFirstLoad=!1,e.essential.initialState={createdAt:o.createdAt,referrer:o.referrer,utmCampaign:o.utmCampaign,utmContent:o.utmContent,utmMedium:o.utmMedium,utmSource:o.utmSource,device:o.device},this.deleteCookie("SHOPLIFT"),this.deleteLocalStorage(this.legacySessionKey)),!e.essential.consentApproved&&e.essential.hasConsentInteraction&&this.deleteLocalStorage(this.analyticsSessionKey),e}loadEssentialState(t){var a;const e=this.loadLocalStorage(this.essentialSessionKey),s=this.loadCookie(this.essentialSessionKey),i=this.getInitialState();(a=t.visitor)!=null&&a.device&&(i.device=t.visitor.device);const o={timestamp:new Date,consentApproved:!1,hasConsentInteraction:!1,debugMode:!1,initialState:i,visitorTests:[],isFirstLoad:!0},n=[e,s].filter(c=>c!==null).sort((c,h)=>+h.timestamp-+c.timestamp)[0]??o;return n.initialState||(t.visitor!==null?n.initialState=t.visitor:(n.initialState=i,n.initialState.createdAt=n.timestamp)),n}loadAnalyticsState(){const t=this.loadLocalStorage(this.analyticsSessionKey),e=this.loadCookie(this.analyticsSessionKey),s={timestamp:new Date,visitor:null,queue:[]};return[t,e].filter(i=>i!==null).sort((i,o)=>+o.timestamp-+i.timestamp)[0]??s}loadTemporaryState(){const t=this.sessionStorageGet(this.temporarySessionKey),e=t?JSON.parse(t,g):null,s=this.loadCookie(this.temporarySessionKey);return e??s??{isMerchant:!1,timestamp:new Date}}persistEssentialState(){this.log("Persisting essential state"),this.state.essential.isFirstLoad=!1,this.state.essential.timestamp=new Date,this.persistLocalStorageState(this.essentialSessionKey,this.state.essential),this.persistCookieState(this.essentialSessionKey,this.state.essential)}persistAnalyticsState(){this.log("Persisting analytics state"),this.state.essential.consentApproved&&(this.state.analytics.timestamp=new Date,this.persistLocalStorageState(this.analyticsSessionKey,this.state.analytics),this.persistCookieState(this.analyticsSessionKey,this.state.analytics))}persistTemporaryState(){this.log("Setting temporary session state"),this.state.temporary.timestamp=new Date,this.sessionStorageSet(this.temporarySessionKey,JSON.stringify(this.state.temporary)),this.persistCookieState(this.temporarySessionKey,this.state.temporary,!0)}loadLocalStorage(t){const e=this.localStorageGet(t);return e===null?null:JSON.parse(e,g)}loadCookie(t){const e=this.getCookie(t);return e===null?null:JSON.parse(e,g)}persistLocalStorageState(t,e){this.localStorageSet(t,JSON.stringify(e))}persistCookieState(t,e,s=!1){const i=JSON.stringify(e),o=s?"":`expires=${new Date(new Date().getTime()+864e5*365).toUTCString()};`;document.cookie=`${t}=${i};domain=.${window.location.hostname};path=/;SameSite=Strict;${o}`}deleteCookie(t){const e=new Date(0).toUTCString();document.cookie=`${t}=;domain=.${window.location.hostname};path=/;expires=${e};`}deleteLocalStorage(t){window.localStorage.removeItem(t)}getChannel(t){var s;return((s=[{"name":"cross-network","test":(v) => new RegExp(".*cross-network.*", "i").test(v.utmCampaign)},{"name":"direct","test":(v) => v.utmSource === "" && v.utmMedium === ""},{"name":"paid-shopping","test":(v) => (new RegExp("^(?:Google|IGShopping|aax-us-east\.amazon-adsystem\.com|aax\.amazon-adsystem\.com|alibaba|alibaba\.com|amazon|amazon\.co\.uk|amazon\.com|apps\.shopify\.com|checkout\.shopify\.com|checkout\.stripe\.com|cr\.shopping\.naver\.com|cr2\.shopping\.naver\.com|ebay|ebay\.co\.uk|ebay\.com|ebay\.com\.au|ebay\.de|etsy|etsy\.com|m\.alibaba\.com|m\.shopping\.naver\.com|mercadolibre|mercadolibre\.com|mercadolibre\.com\.ar|mercadolibre\.com\.mx|message\.alibaba\.com|msearch\.shopping\.naver\.com|nl\.shopping\.net|no\.shopping\.net|offer\.alibaba\.com|one\.walmart\.com|order\.shopping\.yahoo\.co\.jp|partners\.shopify\.com|s3\.amazonaws\.com|se\.shopping\.net|shop\.app|shopify|shopify\.com|shopping\.naver\.com|shopping\.yahoo\.co\.jp|shopping\.yahoo\.com|shopzilla|shopzilla\.com|simplycodes\.com|store\.shopping\.yahoo\.co\.jp|stripe|stripe\.com|uk\.shopping\.net|walmart|walmart\.com)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|kakao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.opera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"paid-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) && new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"display","test":(v) => new RegExp("^(?:display|banner|expandable|interstitial|cpm)$", "i").test(v.utmMedium)},{"name":"paid-other","test":(v) => new RegExp("^(.*cp.*|ppc|retargeting|paid.*)$", "i").test(v.utmMedium)},{"name":"organic-shopping","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || new RegExp("^(.*(([^a-df-z]|^)shop|shopping).*)$", "i").test(v.utmCampaign)},{"name":"organic-social","test":(v) => new RegExp("^(?:43things|43things\.com|51\.com|5ch\.net|Hatena|ImageShack|academia\.edu|activerain|activerain\.com|activeworlds|activeworlds\.com|addthis|addthis\.com|airg\.ca|allnurses\.com|allrecipes\.com|alumniclass|alumniclass\.com|ameba\.jp|ameblo\.jp|americantowns|americantowns\.com|amp\.reddit\.com|ancestry\.com|anobii|anobii\.com|answerbag|answerbag\.com|answers\.yahoo\.com|aolanswers|aolanswers\.com|apps\.facebook\.com|ar\.pinterest\.com|artstation\.com|askubuntu|askubuntu\.com|asmallworld\.com|athlinks|athlinks\.com|away\.vk\.com|awe\.sm|b\.hatena\.ne\.jp|baby-gaga|baby-gaga\.com|babyblog\.ru|badoo|badoo\.com|bebo|bebo\.com|beforeitsnews|beforeitsnews\.com|bharatstudent|bharatstudent\.com|biip\.no|biswap\.org|bit\.ly|blackcareernetwork\.com|blackplanet|blackplanet\.com|blip\.fm|blog\.com|blog\.feedspot\.com|blog\.goo\.ne\.jp|blog\.naver\.com|blog\.yahoo\.co\.jp|blogg\.no|bloggang\.com|blogger|blogger\.com|blogher|blogher\.com|bloglines|bloglines\.com|blogs\.com|blogsome|blogsome\.com|blogspot|blogspot\.com|blogster|blogster\.com|blurtit|blurtit\.com|bookmarks\.yahoo\.co\.jp|bookmarks\.yahoo\.com|br\.pinterest\.com|brightkite|brightkite\.com|brizzly|brizzly\.com|business\.facebook\.com|buzzfeed|buzzfeed\.com|buzznet|buzznet\.com|cafe\.naver\.com|cafemom|cafemom\.com|camospace|camospace\.com|canalblog\.com|care\.com|care2|care2\.com|caringbridge\.org|catster|catster\.com|cbnt\.io|cellufun|cellufun\.com|centerblog\.net|chat\.zalo\.me|chegg\.com|chicagonow|chicagonow\.com|chiebukuro\.yahoo\.co\.jp|classmates|classmates\.com|classquest|classquest\.com|co\.pinterest\.com|cocolog-nifty|cocolog-nifty\.com|copainsdavant\.linternaute\.com|couchsurfing\.org|cozycot|cozycot\.com|cross\.tv|crunchyroll|crunchyroll\.com|cyworld|cyworld\.com|cz\.pinterest\.com|d\.hatena\.ne\.jp|dailystrength\.org|deluxe\.com|deviantart|deviantart\.com|dianping|dianping\.com|digg|digg\.com|diigo|diigo\.com|discover\.hubpages\.com|disqus|disqus\.com|dogster|dogster\.com|dol2day|dol2day\.com|doostang|doostang\.com|dopplr|dopplr\.com|douban|douban\.com|draft\.blogger\.com|draugiem\.lv|drugs-forum|drugs-forum\.com|dzone|dzone\.com|edublogs\.org|elftown|elftown\.com|epicurious\.com|everforo\.com|exblog\.jp|extole|extole\.com|facebook|facebook\.com|faceparty|faceparty\.com|fandom\.com|fanpop|fanpop\.com|fark|fark\.com|fb|fb\.me|fc2|fc2\.com|feedspot|feministing|feministing\.com|filmaffinity|filmaffinity\.com|flickr|flickr\.com|flipboard|flipboard\.com|folkdirect|folkdirect\.com|foodservice|foodservice\.com|forums\.androidcentral\.com|forums\.crackberry\.com|forums\.imore\.com|forums\.nexopia\.com|forums\.webosnation\.com|forums\.wpcentral\.com|fotki|fotki\.com|fotolog|fotolog\.com|foursquare|foursquare\.com|free\.facebook\.com|friendfeed|friendfeed\.com|fruehstueckstreff\.org|fubar|fubar\.com|gaiaonline|gaiaonline\.com|gamerdna|gamerdna\.com|gather\.com|geni\.com|getpocket\.com|glassboard|glassboard\.com|glassdoor|glassdoor\.com|godtube|godtube\.com|goldenline\.pl|goldstar|goldstar\.com|goo\.gl|gooblog|goodreads|goodreads\.com|google\+|googlegroups\.com|googleplus|govloop|govloop\.com|gowalla|gowalla\.com|gree\.jp|groups\.google\.com|gulli\.com|gutefrage\.net|habbo|habbo\.com|hi5|hi5\.com|hootsuite|hootsuite\.com|houzz|houzz\.com|hoverspot|hoverspot\.com|hr\.com|hu\.pinterest\.com|hubculture|hubculture\.com|hubpages\.com|hyves\.net|hyves\.nl|ibibo|ibibo\.com|id\.pinterest\.com|identi\.ca|ig|imageshack\.com|imageshack\.us|imvu|imvu\.com|in\.pinterest\.com|insanejournal|insanejournal\.com|instagram|instagram\.com|instapaper|instapaper\.com|internations\.org|interpals\.net|intherooms|intherooms\.com|irc-galleria\.net|is\.gd|italki|italki\.com|jammerdirect|jammerdirect\.com|jappy\.com|jappy\.de|kaboodle\.com|kakao|kakao\.com|kakaocorp\.com|kaneva|kaneva\.com|kin\.naver\.com|l\.facebook\.com|l\.instagram\.com|l\.messenger\.com|last\.fm|librarything|librarything\.com|lifestream\.aol\.com|line|line\.me|linkedin|linkedin\.com|listal|listal\.com|listography|listography\.com|livedoor\.com|livedoorblog|livejournal|livejournal\.com|lm\.facebook\.com|lnkd\.in|m\.blog\.naver\.com|m\.cafe\.naver\.com|m\.facebook\.com|m\.kin\.naver\.com|m\.vk\.com|m\.yelp\.com|mbga\.jp|medium\.com|meetin\.org|meetup|meetup\.com|meinvz\.net|meneame\.net|menuism\.com|messages\.google\.com|messages\.yahoo\.co\.jp|messenger|messenger\.com|mix\.com|mixi\.jp|mobile\.facebook\.com|mocospace|mocospace\.com|mouthshut|mouthshut\.com|movabletype|movabletype\.com|mubi|mubi\.com|my\.opera\.com|myanimelist\.net|myheritage|myheritage\.com|mylife|mylife\.com|mymodernmet|mymodernmet\.com|myspace|myspace\.com|netvibes|netvibes\.com|news\.ycombinator\.com|newsshowcase|nexopia|ngopost\.org|niconico|nicovideo\.jp|nightlifelink|nightlifelink\.com|ning|ning\.com|nl\.pinterest\.com|odnoklassniki\.ru|odnoklassniki\.ua|okwave\.jp|old\.reddit\.com|oneworldgroup\.org|onstartups|onstartups\.com|opendiary|opendiary\.com|oshiete\.goo\.ne\.jp|out\.reddit\.com|over-blog\.com|overblog\.com|paper\.li|partyflock\.nl|photobucket|photobucket\.com|pinboard|pinboard\.in|pingsta|pingsta\.com|pinterest|pinterest\.at|pinterest\.ca|pinterest\.ch|pinterest\.cl|pinterest\.co\.kr|pinterest\.co\.uk|pinterest\.com|pinterest\.com\.au|pinterest\.com\.mx|pinterest\.de|pinterest\.es|pinterest\.fr|pinterest\.it|pinterest\.jp|pinterest\.nz|pinterest\.ph|pinterest\.pt|pinterest\.ru|pinterest\.se|pixiv\.net|pl\.pinterest\.com|playahead\.se|plurk|plurk\.com|plus\.google\.com|plus\.url\.google\.com|pocket\.co|posterous|posterous\.com|pro\.homeadvisor\.com|pulse\.yahoo\.com|qapacity|qapacity\.com|quechup|quechup\.com|quora|quora\.com|qzone\.qq\.com|ravelry|ravelry\.com|reddit|reddit\.com|redux|redux\.com|renren|renren\.com|researchgate\.net|reunion|reunion\.com|reverbnation|reverbnation\.com|rtl\.de|ryze|ryze\.com|salespider|salespider\.com|scoop\.it|screenrant|screenrant\.com|scribd|scribd\.com|scvngr|scvngr\.com|secondlife|secondlife\.com|serverfault|serverfault\.com|shareit|sharethis|sharethis\.com|shvoong\.com|sites\.google\.com|skype|skyrock|skyrock\.com|slashdot\.org|slideshare\.net|smartnews\.com|snapchat|snapchat\.com|social|sociallife\.com\.br|socialvibe|socialvibe\.com|spaces\.live\.com|spoke|spoke\.com|spruz|spruz\.com|ssense\.com|stackapps|stackapps\.com|stackexchange|stackexchange\.com|stackoverflow|stackoverflow\.com|stardoll\.com|stickam|stickam\.com|studivz\.net|suomi24\.fi|superuser|superuser\.com|sweeva|sweeva\.com|t\.co|t\.me|tagged|tagged\.com|taggedmail|taggedmail\.com|talkbiznow|talkbiznow\.com|taringa\.net|techmeme|techmeme\.com|tencent|tencent\.com|tiktok|tiktok\.com|tinyurl|tinyurl\.com|toolbox|toolbox\.com|touch\.facebook\.com|tr\.pinterest\.com|travellerspoint|travellerspoint\.com|tripadvisor|tripadvisor\.com|trombi|trombi\.com|trustpilot|tudou|tudou\.com|tuenti|tuenti\.com|tumblr|tumblr\.com|tweetdeck|tweetdeck\.com|twitter|twitter\.com|twoo\.com|typepad|typepad\.com|unblog\.fr|urbanspoon\.com|ushareit\.com|ushi\.cn|vampirefreaks|vampirefreaks\.com|vampirerave|vampirerave\.com|vg\.no|video\.ibm\.com|vk\.com|vkontakte\.ru|wakoopa|wakoopa\.com|wattpad|wattpad\.com|web\.facebook\.com|web\.skype\.com|webshots|webshots\.com|wechat|wechat\.com|weebly|weebly\.com|weibo|weibo\.com|wer-weiss-was\.de|weread|weread\.com|whatsapp|whatsapp\.com|wiki\.answers\.com|wikihow\.com|wikitravel\.org|woot\.com|wordpress|wordpress\.com|wordpress\.org|xanga|xanga\.com|xing|xing\.com|yahoo-mbga\.jp|yammer|yammer\.com|yelp|yelp\.co\.uk|yelp\.com|youroom\.in|za\.pinterest\.com|zalo|zoo\.gr|zooppa|zooppa\.com)$", "i").test(v.utmSource) || new RegExp("^(?:social|social-network|social-media|sm|social network|social media)$", "i").test(v.utmMedium)},{"name":"organic-video","test":(v) => new RegExp("^(?:blog\.twitch\.tv|crackle|crackle\.com|curiositystream|curiositystream\.com|d\.tube|dailymotion|dailymotion\.com|dashboard\.twitch\.tv|disneyplus|disneyplus\.com|fast\.wistia\.net|help\.hulu\.com|help\.netflix\.com|hulu|hulu\.com|id\.twitch\.tv|iq\.com|iqiyi|iqiyi\.com|jobs\.netflix\.com|justin\.tv|m\.twitch\.tv|m\.youtube\.com|music\.youtube\.com|netflix|netflix\.com|player\.twitch\.tv|player\.vimeo\.com|ted|ted\.com|twitch|twitch\.tv|utreon|utreon\.com|veoh|veoh\.com|viadeo\.journaldunet\.com|vimeo|vimeo\.com|wistia|wistia\.com|youku|youku\.com|youtube|youtube\.com)$", "i").test(v.utmSource) || new RegExp("^(.*video.*)$", "i").test(v.utmMedium)},{"name":"organic-search","test":(v) => new RegExp("^(?:360\.cn|alice|aol|ar\.search\.yahoo\.com|ask|at\.search\.yahoo\.com|au\.search\.yahoo\.com|auone|avg|babylon|baidu|biglobe|biglobe\.co\.jp|biglobe\.ne\.jp|bing|br\.search\.yahoo\.com|ca\.search\.yahoo\.com|centrum\.cz|ch\.search\.yahoo\.com|cl\.search\.yahoo\.com|cn\.bing\.com|cnn|co\.search\.yahoo\.com|comcast|conduit|daum|daum\.net|de\.search\.yahoo\.com|dk\.search\.yahoo\.com|dogpile|dogpile\.com|duckduckgo|ecosia\.org|email\.seznam\.cz|eniro|es\.search\.yahoo\.com|espanol\.search\.yahoo\.com|exalead\.com|excite\.com|fi\.search\.yahoo\.com|firmy\.cz|fr\.search\.yahoo\.com|globo|go\.mail\.ru|google|google-play|hk\.search\.yahoo\.com|id\.search\.yahoo\.com|in\.search\.yahoo\.com|incredimail|it\.search\.yahoo\.com|kvasir|lens\.google\.com|lite\.qwant\.com|lycos|m\.baidu\.com|m\.naver\.com|m\.search\.naver\.com|m\.sogou\.com|mail\.rambler\.ru|mail\.yandex\.ru|malaysia\.search\.yahoo\.com|msn|msn\.com|mx\.search\.yahoo\.com|najdi|naver|naver\.com|news\.google\.com|nl\.search\.yahoo\.com|no\.search\.yahoo\.com|ntp\.msn\.com|nz\.search\.yahoo\.com|onet|onet\.pl|pe\.search\.yahoo\.com|ph\.search\.yahoo\.com|pl\.search\.yahoo\.com|play\.google\.com|qwant|qwant\.com|rakuten|rakuten\.co\.jp|rambler|rambler\.ru|se\.search\.yahoo\.com|search-results|search\.aol\.co\.uk|search\.aol\.com|search\.google\.com|search\.smt\.docomo\.ne\.jp|search\.ukr\.net|secureurl\.ukr\.net|seznam|seznam\.cz|sg\.search\.yahoo\.com|so\.com|sogou|sogou\.com|sp-web\.search\.auone\.jp|startsiden|startsiden\.no|suche\.aol\.de|terra|th\.search\.yahoo\.com|tr\.search\.yahoo\.com|tut\.by|tw\.search\.yahoo\.com|uk\.search\.yahoo\.com|ukr|us\.search\.yahoo\.com|virgilio|vn\.search\.yahoo\.com|wap\.sogou\.com|webmaster\.yandex\.ru|websearch\.rakuten\.co\.jp|yahoo|yahoo\.co\.jp|yahoo\.com|yandex|yandex\.by|yandex\.com|yandex\.com\.tr|yandex\.fr|yandex\.kz|yandex\.ru|yandex\.ua|yandex\.uz|zen\.yandex\.ru)$", "i").test(v.utmSource) || v.utmMedium.toLowerCase() === "organic"},{"name":"referral","test":(v) => new RegExp("^(?:referral|app|link)$", "i").test(v.utmMedium)},{"name":"email","test":(v) => new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmMedium) || new RegExp("^(?:email|e-mail|e_mail|e mail)$", "i").test(v.utmSource)},{"name":"affiliate","test":(v) => v.utmMedium.toLowerCase() === "affiliate"},{"name":"audio","test":(v) => v.utmMedium.toLowerCase() === "audio"},{"name":"sms","test":(v) => v.utmSource.toLowerCase() === "sms" || v.utmMedium.toLowerCase() === "sms"},{"name":"mobile-push-notification","test":(v) => v.utmSource.toLowerCase() === "firebase" || new RegExp("(?:.*mobile.*|.*notification.*|push$)", "i").test(v.utmMedium)}].find(i=>i.test(t)))==null?void 0:s.name)??"other"}getShopifyAnalyticsId(){return this.getCookie("_shopify_y")}legacyGetCookieVisitor(){const t=this.getCookie("SHOPLIFT");return t===null?null:JSON.parse(t,g)}getCookie(t){const e=this.cookie.split("; ").filter(s=>s.split("=").at(0)===t).at(0);return e===void 0?null:e.split("=").slice(1).join("=")}monitorConsentChange(){document.addEventListener("visitorConsentCollected",t=>void(async()=>await this.onConsentChange(t.detail.analyticsAllowed,!0))()),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>this.loadShopifyConsentApiWithRetry()):this.loadShopifyConsentApiWithRetry()}loadShopifyConsentApiWithRetry(){let t=0;const e=()=>{this.loadShopifyConsentApi()||t++<10&&window.setTimeout(e,100)};e()}loadShopifyConsentApi(){if(window.Shopify){this.log("Loading Shopify features");const t=async()=>{if(!window.Shopify){this.log("Shopify object missing... suddenly?");return}if(window.Shopify.customerPrivacy===void 0){this.log("Shopify CustomerPrivacy api still missing, trying again in 1000ms"),e=window.setTimeout(()=>void(async()=>await t())(),1e3);return}const s=window.Shopify.customerPrivacy.getTrackingConsent();await this.onConsentChange(window.Shopify.customerPrivacy.analyticsProcessingAllowed(),s==="yes")};let e=window.setTimeout(()=>void(async()=>await t())(),5e3);return window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],s=>{(async()=>{if(window.clearTimeout(e),s){this.log("Error loading consent tracking",s);return}await t()})()}),!0}return!1}async onConsentChange(t,e){try{if(this.log("Consent change detected"),this.state.essential.consentApproved=t,this.state.essential.hasConsentInteraction=e,!this.state.essential.consentApproved){this.state.essential.hasConsentInteraction&&(this.state.analytics.queue.length=0),this.saveState();return}this.cookie=document.cookie,this.shopifyAnalyticsId=this.getShopifyAnalyticsId();for(const s of this.state.analytics.queue.filter(i=>i.type===1||i.type===2)){const i=s;i.shopifyAnalyticsId=this.shopifyAnalyticsId}this.saveState(),await this.syncAllEvents()}catch(s){this.log("Error syncing on consent change",s)}}isThemePreview(){return isThemePreview||themeRole!=="main"}clearThemeBar(t,e,s){const i=structuredClone(s);this.log("Looking for theme bar"),this.waitForElement(null,"body").then(o=>this.waitForElement(o,"#preview-bar-iframe, #PBarNextFrameWrapper").then(n=>(this.log("Found theme bar"),e&&(this.log("Removing theme bar"),n.remove()),t?this.makeRequest({url:`${this.eventHost}/api/v0/logs`,method:"post",data:JSON.stringify({...this.debugState(),stateAtEvaluation:i},T)}):Promise.resolve(null)))).catch(o=>console.error(o))}waitForElement(t,e){return new Promise(s=>{const i=document.querySelector(e);if(i){s(i);return}const o=new MutationObserver(n=>{const a=document.querySelector(e);if(a){o.disconnect(),s(a);return}});o.observe(t??document.documentElement,{childList:!0})})}setDebug(t){this.state.essential.debugMode=t,this.saveState()}log(t,...e){this.logHistory.push([`[SL] ${t}`,...e.map(s=>JSON.stringify(s))].join(" ")),!(!this.state.essential.debugMode&&!this.shopliftDebug)&&console.debug(`[SL] ${t}`,...e)}debugState(){return{state:this.state,storage:{essential:this.loadLocalStorage(this.essentialSessionKey),analytics:this.loadLocalStorage(this.analyticsSessionKey)},params:{shop:this.shop,host:this.host,eventHost:this.eventHost,cssHideClass:this.cssHideClass,testConfigs:this.testConfigs,inactiveTestConfigs:this.inactiveTestConfigs,sendPageView:this.sendPageView,isShopifyMerchantCookie:this.getCookie("is_shopify_merchant"),themeId,url:window.location.href,isThemePreview,themeRole},logHistory:this.logHistory}}debug(){const t=this.debugState();console.log(JSON.stringify(t,T,2))}}(async function(){window.shopliftInstance||(window.shopliftInstance=new N("harpercollins-uk.myshopify.com","https://app.shoplift.ai","https://events.shoplift.ai",true,false,false,false,1000,[{"id":"a11b989b-011a-46de-8ce9-3975d29c14c7","startAt":"2025-04-04T11:33:54.406829Z","requiresCountry":false,"device":"all","status":"active","visitorOption":"all","ignoreTestViewParameterEnforcement":false,"statusHistory":[{"status":"active","createdAt":"2025-04-04T11:33:54.413453Z"}],"hypotheses":[{"visitorCount":476,"trafficPercentage":0.5,"domSelectors":[],"id":"901632f4-7ee8-4417-bddd-95bedd4343d0","type":"theme","themeId":83051806798,"affix":"","isControl":true,"redirectPath":null},{"visitorCount":443,"trafficPercentage":0.5,"domSelectors":[],"id":"ded72090-9290-4629-95eb-4a4a5c28cb6f","type":"theme","themeId":178818023803,"affix":"","isControl":false,"redirectPath":null}],"targetAudiences":[]}],[{"id":"79f86bcd-98c3-40e3-9f2e-69b9a8df96cd","status":"cancelled","hypotheses":[{"id":"e87e3968-c3ce-4f67-a2d9-dc155321127d","type":"theme","themeId":83051806798,"affix":"","isControl":true,"redirectPath":null},{"id":"508a17dd-6de8-4b20-846c-df9603c119b2","type":"theme","themeId":178296914299,"affix":"","isControl":false,"redirectPath":null}],"ignoreTestViewParameterEnforcement":false}]),await window.shopliftInstance.init())})()})(); })("/", { suffix: "shogun", type: "page" }, "main", 83051806798, false)</script> <!-- End of Shoplift scripts --><meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width,initial-scale=1"> <link rel="canonical" href="https://harpercollins.co.uk/pages/tolkien"> <style> [v-cloak] { display: none !important; } </style> <title>Tolkien – HarperCollins Publishers UK</title><meta name="description" content="Get Exclusive News &amp; Offers Sign up Join us on Facebook Tolkien Lord Of The Rings The Hobbit The Official Tolkien Bookshop WELCOME TO THE TOLKIEN ONLINE BOOK SHOP, brought to you by HarperCollins, J.R.R. Tolkien’s official publisher, selling signed and deluxe editions of Tolkien’s books, plus a fascinating and defi"><!-- /snippets/social-meta-tags.liquid --> <meta property="og:site_name" content="HarperCollins Publishers UK"> <meta property="og:url" content="https://harpercollins.co.uk/pages/tolkien"> <meta property="og:title" content="Tolkien"> <meta property="og:type" content="website"> <meta property="og:description" content="Get Exclusive News &amp; Offers Sign up Join us on Facebook Tolkien Lord Of The Rings The Hobbit The Official Tolkien Bookshop WELCOME TO THE TOLKIEN ONLINE BOOK SHOP, brought to you by HarperCollins, J.R.R. Tolkien’s official publisher, selling signed and deluxe editions of Tolkien’s books, plus a fascinating and defi"> <meta name="twitter:site" content="@HarperCollinsUK?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Tolkien"> <meta name="twitter:description" content="Get Exclusive News &amp; Offers Sign up Join us on Facebook Tolkien Lord Of The Rings The Hobbit The Official Tolkien Bookshop WELCOME TO THE TOLKIEN ONLINE BOOK SHOP, brought to you by HarperCollins, J.R.R. Tolkien’s official publisher, selling signed and deluxe editions of Tolkien’s books, plus a fascinating and defi"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous" > <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous" defer ></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous" defer ></script> <link href="//harpercollins.co.uk/cdn/shop/t/9/assets/application.scss.css?v=68881957967368014971741801950" rel="stylesheet" type="text/css" media="all" /> <link href="//harpercollins.co.uk/cdn/shop/t/9/assets/swiper.min.css?v=167470163558023328171593701232" rel="stylesheet" type="text/css" media="all" /> <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/swiper.min.js?v=70355053751033516171593701242" type="text/javascript"></script> <script src="//harpercollins.co.uk/cdn/shopifycloud/shopify/assets/themes_support/api.jquery-b0af070cfe3f5cf7c92f9e2a5da2665ee07ed2aad63bb408f8d6672f894a5996.js" type="text/javascript"></script> <link rel="icon" type="image/png" sizes="32x32" href="//harpercollins.co.uk/cdn/shop/t/9/assets/favicon-32x32.png?v=122351128993687689451593701257"> <link href="https://fonts.googleapis.com/css2?family=EB+Garamond:ital@0;1&family=Lato&family=Muli:wght@200;300;400;500;600;700;800&family=Roboto+Slab:wght@300&display=swap&family=Roboto:wght@400;500;700&display=swap" rel="stylesheet" > <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/vue.min.js?v=173820222560297462211593701220"></script> <script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.start');</script><meta name="facebook-domain-verification" content="dyf792yjwplithgwepip1132phww7e"> <meta id="shopify-digital-wallet" name="shopify-digital-wallet" content="/28822896718/digital_wallets/dialog"> <meta name="shopify-checkout-api-token" content="0e532d789532915e16bf79d4fed2773e"> <meta id="in-context-paypal-metadata" data-shop-id="28822896718" data-venmo-supported="false" data-environment="production" data-locale="en_US" data-paypal-v4="true" data-currency="GBP"> <script async="async" src="/checkouts/internal/preloads.js?locale=en-GB"></script> <link rel="preconnect" href="https://shop.app" crossorigin="anonymous"> <script async="async" src="https://shop.app/checkouts/internal/preloads.js?locale=en-GB&shop_id=28822896718" crossorigin="anonymous"></script> <script id="apple-pay-shop-capabilities" type="application/json">{"shopId":28822896718,"countryCode":"GB","currencyCode":"GBP","merchantCapabilities":["supports3DS"],"merchantId":"gid:\/\/shopify\/Shop\/28822896718","merchantName":"HarperCollins Publishers UK","requiredBillingContactFields":["postalAddress","email","phone"],"requiredShippingContactFields":["postalAddress","email","phone"],"shippingType":"shipping","supportedNetworks":["visa","maestro","masterCard","discover","elo"],"total":{"type":"pending","label":"HarperCollins Publishers UK","amount":"1.00"},"shopifyPaymentsEnabled":true,"supportsSubscriptions":false}</script> <script id="shopify-features" type="application/json">{"accessToken":"0e532d789532915e16bf79d4fed2773e","betas":["rich-media-storefront-analytics"],"domain":"harpercollins.co.uk","predictiveSearch":true,"shopId":28822896718,"smart_payment_buttons_url":"https:\/\/harpercollins.co.uk\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/spb.en.js","dynamic_checkout_cart_url":"https:\/\/harpercollins.co.uk\/cdn\/shopifycloud\/payment-sheet\/assets\/latest\/dynamic-checkout-cart.en.js","locale":"en"}</script> <script>var Shopify = Shopify || {}; Shopify.shop = "harpercollins-uk.myshopify.com"; Shopify.locale = "en"; Shopify.currency = {"active":"GBP","rate":"1.0"}; Shopify.country = "GB"; Shopify.theme = {"name":"Production | BlueBolt","id":83051806798,"schema_name":"BlueBolt Starter Theme","schema_version":"1.0.0","theme_store_id":null,"role":"main"}; Shopify.theme.handle = "null"; Shopify.theme.style = {"id":null,"handle":null}; Shopify.cdnHost = "harpercollins.co.uk/cdn"; Shopify.routes = Shopify.routes || {}; Shopify.routes.root = "/";</script> <script type="module">!function(o){(o.Shopify=o.Shopify||{}).modules=!0}(window);</script> <script>!function(o){function n(){var o=[];function n(){o.push(Array.prototype.slice.apply(arguments))}return n.q=o,n}var t=o.Shopify=o.Shopify||{};t.loadFeatures=n(),t.autoloadFeatures=n()}(window);</script> <script>window.ShopifyPay = window.ShopifyPay || {}; window.ShopifyPay.apiHost = "shop.app\/pay";</script> <script id="shop-js-analytics" type="application/json">{"pageType":"page"}</script> <script> window.Shopify = window.Shopify || {}; if (!window.Shopify.featureAssets) window.Shopify.featureAssets = {}; window.Shopify.featureAssets['shop-js'] = {"init-fed-cm":["modules/v2/client.init-fed-cm_B01Uuy6a.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js"],"init-windoid":["modules/v2/client.init-windoid_Dmy5w_G9.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js"],"shop-toast-manager":["modules/v2/client.shop-toast-manager_CI_P12tx.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js"],"avatar":["modules/v2/client.avatar_BTnouDA3.en.esm.js"],"init-shop-email-lookup-coordinator":["modules/v2/client.init-shop-email-lookup-coordinator_BZ9ixfpW.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js"],"shop-cash-offers":["modules/v2/client.shop-cash-offers_Bt96lnTm.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js","modules/v2/chunk.modal_Dh4Gio6z.esm.js"],"pay-button":["modules/v2/client.pay-button_BVP3l8eA.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js"],"checkout-modal":["modules/v2/client.checkout-modal_D9O2kiJW.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js","modules/v2/chunk.modal_Dh4Gio6z.esm.js"],"init-customer-accounts-sign-up":["modules/v2/client.init-customer-accounts-sign-up_B3hqt8Il.en.esm.js","modules/v2/client.shop-login-button_B4xlP_m0.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js","modules/v2/chunk.modal_Dh4Gio6z.esm.js"],"shop-follow-button":["modules/v2/client.shop-follow-button_Bp0SDXFf.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js","modules/v2/chunk.modal_Dh4Gio6z.esm.js"],"shop-login-button":["modules/v2/client.shop-login-button_B4xlP_m0.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js","modules/v2/chunk.modal_Dh4Gio6z.esm.js"],"init-shop-for-new-customer-accounts":["modules/v2/client.init-shop-for-new-customer-accounts_C4ZlNjPl.en.esm.js","modules/v2/client.shop-login-button_B4xlP_m0.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js","modules/v2/chunk.modal_Dh4Gio6z.esm.js"],"init-customer-accounts":["modules/v2/client.init-customer-accounts_BqBvHWDR.en.esm.js","modules/v2/client.shop-login-button_B4xlP_m0.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js","modules/v2/chunk.modal_Dh4Gio6z.esm.js"],"lead-capture":["modules/v2/client.lead-capture_DnLSfEUf.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js","modules/v2/chunk.modal_Dh4Gio6z.esm.js"],"payment-terms":["modules/v2/client.payment-terms_DVVCn4Av.en.esm.js","modules/v2/chunk.common_BwDzK4wQ.esm.js","modules/v2/chunk.modal_Dh4Gio6z.esm.js"]}; </script> <script>(function() { function asyncLoad() { var urls = ["https:\/\/na.shgcdn3.com\/collector.js?shop=harpercollins-uk.myshopify.com","https:\/\/d23dclunsivw3h.cloudfront.net\/redirect-app.js?shop=harpercollins-uk.myshopify.com","https:\/\/shopify-webhooks.sailthru.com\/shopify.js?shop=harpercollins-uk.myshopify.com","\/\/app.backinstock.org\/widget\/97655_1740027855.js?category=bis\u0026v=6\u0026shop=harpercollins-uk.myshopify.com","https:\/\/load.fomo.com\/api\/v1\/m_BiH_98w55DC8HvepkO3w\/load.js?shop=harpercollins-uk.myshopify.com"]; for (var i = 0; i < urls.length; i++) { var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = urls[i]; var x = document.getElementsByTagName('script')[0]; x.parentNode.insertBefore(s, x); } }; if(window.attachEvent) { window.attachEvent('onload', asyncLoad); } else { window.addEventListener('load', asyncLoad, false); } })();</script> <script id="__st">var __st={"a":28822896718,"offset":3600,"reqid":"31adcb6f-c41d-41c6-a546-dbf4abb93582-1743797422","pageurl":"harpercollins.co.uk\/pages\/tolkien","s":"pages-52981923918","u":"ca3ad3b02bf4","p":"page","rtyp":"page","rid":52981923918};</script> <script>window.ShopifyPaypalV4VisibilityTracking = true;</script> <script id="captcha-bootstrap">!function(){'use strict';const t='contact',e='account',n='new_comment',o=[[t,t],['blogs',n],['comments',n],[t,'customer']],c=[[e,'customer_login'],[e,'guest_login'],[e,'recover_customer_password'],[e,'create_customer']],r=t=>t.map((([t,e])=>`form[action*='/${t}']:not([data-nocaptcha='true']) input[name='form_type'][value='${e}']`)).join(','),a=t=>()=>t?[...document.querySelectorAll(t)].map((t=>t.form)):[];function s(){const t=[...o],e=r(t);return a(e)}const i='password',u='form_key',d=['recaptcha-v3-token','g-recaptcha-response','h-captcha-response',i],f=()=>{try{return window.sessionStorage}catch{return}},m='__shopify_v',_=t=>t.elements[u];function p(t,e,n=!1){try{const o=window.sessionStorage,c=JSON.parse(o.getItem(e)),{data:r}=function(t){const{data:e,action:n}=t;return t[m]||n?{data:e,action:n}:{data:t,action:n}}(c);for(const[e,n]of Object.entries(r))t.elements[e]&&(t.elements[e].value=n);n&&o.removeItem(e)}catch(o){console.error('form repopulation failed',{error:o})}}const l='form_type',E='cptcha';function T(t){t.dataset[E]=!0}const w=window,h=w.document,L='Shopify',v='ce_forms',y='captcha';let A=!1;((t,e)=>{const n=(g='f06e6c50-85a8-45c8-87d0-21a2b65856fe',I='https://cdn.shopify.com/shopifycloud/storefront-forms-hcaptcha/ce_storefront_forms_captcha_hcaptcha.v1.5.2.iife.js',D={infoText:'Protected by hCaptcha',privacyText:'Privacy',termsText:'Terms'},(t,e,n)=>{const o=w[L][v],c=o.bindForm;if(c)return c(t,g,e,D).then(n);var r;o.q.push([[t,g,e,D],n]),r=I,A||(h.body.append(Object.assign(h.createElement('script'),{id:'captcha-provider',async:!0,src:r})),A=!0)});var g,I,D;w[L]=w[L]||{},w[L][v]=w[L][v]||{},w[L][v].q=[],w[L][y]=w[L][y]||{},w[L][y].protect=function(t,e){n(t,void 0,e),T(t)},Object.freeze(w[L][y]),function(t,e,n,w,h,L){const[v,y,A,g]=function(t,e,n){const i=e?o:[],u=t?c:[],d=[...i,...u],f=r(d),m=r(i),_=r(d.filter((([t,e])=>n.includes(e))));return[a(f),a(m),a(_),s()]}(w,h,L),I=t=>{const e=t.target;return e instanceof HTMLFormElement?e:e&&e.form},D=t=>v().includes(t);t.addEventListener('submit',(t=>{const e=I(t);if(!e)return;const n=D(e)&&!e.dataset.hcaptchaBound&&!e.dataset.recaptchaBound,o=_(e),c=g().includes(e)&&(!o||!o.value);(n||c)&&t.preventDefault(),c&&!n&&(function(t){try{if(!f())return;!function(t){const e=f();if(!e)return;const n=_(t);if(!n)return;const o=n.value;o&&e.removeItem(o)}(t);const e=Array.from(Array(32),(()=>Math.random().toString(36)[2])).join('');!function(t,e){_(t)||t.append(Object.assign(document.createElement('input'),{type:'hidden',name:u})),t.elements[u].value=e}(t,e),function(t,e){const n=f();if(!n)return;const o=[...t.querySelectorAll(`input[type='${i}']`)].map((({name:t})=>t)),c=[...d,...o],r={};for(const[a,s]of new FormData(t).entries())c.includes(a)||(r[a]=s);n.setItem(e,JSON.stringify({[m]:1,action:t.action,data:r}))}(t,e)}catch(e){console.error('failed to persist form',e)}}(e),e.submit())}));const S=(t,e)=>{t&&!t.dataset[E]&&(n(t,e.some((e=>e===t))),T(t))};for(const o of['focusin','change'])t.addEventListener(o,(t=>{const e=I(t);D(e)&&S(e,y())}));const B=e.get('form_key'),M=e.get(l),P=B&&M;t.addEventListener('DOMContentLoaded',(()=>{const t=y();if(P)for(const e of t)e.elements[l].value===M&&p(e,B);[...new Set([...A(),...v().filter((t=>'true'===t.dataset.shopifyCaptcha))])].forEach((e=>S(e,t)))}))}(h,new URLSearchParams(w.location.search),n,t,e,['guest_login'])})(!0,!0)}();</script> <script integrity="sha256-EGCDRYTvIEOXsReXgqGwkAR+5Dl8tickSrieA/ZcQwc=" data-source-attribution="shopify.loadfeatures" defer="defer" src="//harpercollins.co.uk/cdn/shopifycloud/shopify/assets/storefront/load_feature-1060834584ef204397b1179782a1b090047ee4397cb627244ab89e03f65c4307.js" crossorigin="anonymous"></script> <script crossorigin="anonymous" defer="defer" src="//harpercollins.co.uk/cdn/shopifycloud/shopify/assets/shopify_pay/storefront-80e528be853eac23af2454534897ca9536b1d3d04aa043b042f34879a3c111c8.js?v=20220906"></script> <script integrity="sha256-HAs5a9TQVLlKuuHrahvWuke+s1UlxXohfHeoYv8G2D8=" data-source-attribution="shopify.dynamic-checkout" defer="defer" src="//harpercollins.co.uk/cdn/shopifycloud/shopify/assets/storefront/features-1c0b396bd4d054b94abae1eb6a1bd6ba47beb35525c57a217c77a862ff06d83f.js" crossorigin="anonymous"></script> <link rel="stylesheet" media="screen" href="https://harpercollins.co.uk/cdn/shopifycloud/portable-wallets/latest/accelerated-checkout-backwards-compat.css" crossorigin="anonymous"> <style id="shopify-dynamic-checkout-cart">@media screen and (min-width: 750px) { #dynamic-checkout-cart { min-height: 50px; } } @media screen and (max-width: 750px) { #dynamic-checkout-cart { min-height: 180px; } } </style><script>window.performance && window.performance.mark && window.performance.mark('shopify.content_for_header.end');</script> <script type="text/javascript"> window.__shgProducts = window.__shgProducts || {}; </script> <script type="text/javascript"> window.__shgMoneyFormat = window.__shgMoneyFormat || {"EUR":{"currency":"EUR","currency_symbol":"€","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"GBP":{"currency":"GBP","currency_symbol":"£","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}; window.__shgCurrentCurrencyCode = window.__shgCurrentCurrencyCode || { currency: "GBP", currency_symbol: "£", decimal_separator: ".", thousands_separator: ",", decimal_places: 2, currency_symbol_location: "left" }; </script> <!-- This function is to reload on accepting to make sure this is added to the header --> <script> const optanonButtons = document.querySelectorAll('.optanon-button-wrapper'); if (optanonButtons) { for (let i = 0; i < optanonButtons.length; i++) { optanonButtons[i].addEventListener('click', () => { location.reload(); }); } } </script> <!-- ------------------------- --> <link rel="stylesheet" type="text/css" href="//harpercollins.co.uk/cdn/shop/t/9/assets/algolia-overrides.scss.css?v=169644042428024065911671648311" media="print" onload="this.media='all'"> <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/theme.js?v=90973399939030241241733328851" defer></script> <script type="text/javascript"> window.SHG_CUSTOMER = null; </script> <link rel="preconnect" href="https://cdn.getshogun.com"> <link rel="dns-prefetch" href="https://cdn.getshogun.com"> <link rel="preconnect" href="https://i.shgcdn.com"> <link rel="dns-prefetch" href="https://i.shgcdn.com"> <meta name="shogun_placeholder" content="shogun_placeholder" /> <style>.hc-sale-tag{z-index:2;width:44px;height:44px;background-color:#fb485e;position:absolute;top:8px;left:8px;line-height:44px;text-align:center;font-weight:700;color:#fff}.hc-sale-tag:before{content:'';position:absolute;z-index:2;left:0;bottom:-21px;border-left:22px solid #fb485e;border-right:22px solid #fb485e;border-bottom:22px solid transparent}@media screen and (max-width: 680px){.hc-sale-tag{top:2px;left:2px;height:34px;line-height:34px}}.hc-sale-tag{background:#ce3829;color:#ffffff;}.hc-sale-tag:before{border-left-color:#ce3829;border-right-color:#ce3829;}.hc-sale-tag{margin-top:10px;white-space: 0; line-height:1.2;padding:3px} .hc-sale-tag span:after { content: " Off"; }</style><script>document.addEventListener("DOMContentLoaded",function(){"undefined"!=typeof hcVariants&&function(e){function t(e,t,a){return function(){if(a)return t.apply(this,arguments),e.apply(this,arguments);var n=e.apply(this,arguments);return t.apply(this,arguments),n}}var a=null;function n(){var t=window.location.search.replace(/.*variant=(\d+).*/,"$1");t&&t!=a&&(a=t,e(t))}window.history.pushState=t(history.pushState,n),window.history.replaceState=t(history.replaceState,n),window.addEventListener("popstate",n)}(function(e){let t=null;for(var a=0;a<hcVariants.length;a++)if(hcVariants[a].id==e){t=hcVariants[a];var n=document.querySelectorAll(".hc-product-page.hc-sale-tag");if(t.compare_at_price&&t.compare_at_price>t.price){var r=100*(t.compare_at_price-t.price)/t.compare_at_price;if(null!=r)for(a=0;a<n.length;a++)n[a].childNodes[0].textContent=r.toFixed(0)+"%",n[a].style.display="block";else for(a=0;a<n.length;a++)n[a].style.display="none"}else for(a=0;a<n.length;a++)n[a].style.display="none";break}})});</script> <script async src="https://cdn.auth0.com/js/auth0-spa-js/2.1/auth0-spa-js.production.js"></script> <script> window.addEventListener("load", async (event) => { const auth0Domain = "harpercollins.auth0.com"; const auth0ClientId = "nD1X14ScwB8jOD4LlwrAYdHxmgxYqkK0"; window.auth0_Client = await auth0.createAuth0Client({ domain: auth0Domain, clientId: auth0ClientId, authorizationParams: { redirect_uri: window.location.origin + '/account/login' } }); }); </script> <script src="https://polyfill-fastly.net/v3/polyfill.min.js?features=default%2CArray.prototype.find%2CArray.prototype.includes%2CPromise%2CObject.assign%2CObject.entries%2CArray.prototype.map%2CArray.prototype.forEach%2CArray.prototype.filter" defer></script> <script type="text/template" id="template_algolia_money_format"> £{{amount}} </script> <script type="text/template" id="template_algolia_current_collection_id"> { "currentCollectionID": } </script> <script type="text/template" id="template_algolia_autocomplete.css"> .algolia-autocomplete { box-sizing: border-box; background: white; border: 1px solid #CCC; border-top: 2px solid [[ colors.main ]]; z-index: 10000 !important; color: black; text-align: left; } .aa-dropdown-menu .aa-highlight { color: black; font-weight: bold; } .aa-dropdown-menu .aa-cursor { cursor: pointer; background: #f8f8f8; } /* Resets */ .aa-dropdown-menu div,.aa-dropdown-menu p,.aa-dropdown-menu span,.aa-dropdown-menu a { box-sizing: border-box; margin: 0; padding: 0; line-height: 1; font-size: initial; } /* Links */ .aa-dropdown-menu a,.aa-dropdown-menu a:hover,.aa-dropdown-menu a:focus,.aa-dropdown-menu a:active { font-weight: initial; font-style: initial; text-decoration: initial; color: [[ colors.main ]]; } .aa-dropdown-menu a:hover,.aa-dropdown-menu a:focus,.aa-dropdown-menu a:active { text-decoration: underline; } /* Column layout */ .aa-dropdown-menu .aa-left-column,.aa-dropdown-menu .aa-right-column { position: relative; padding: 24px 24px 0 24px; } .aa-dropdown-menu-size-xs .aa-left-column,.aa-dropdown-menu-size-xs .aa-right-column,.aa-dropdown-menu-size-sm .aa-left-column,.aa-dropdown-menu-size-sm .aa-right-column { padding: 24px 12px 0 12px; } .aa-dropdown-menu-size-xs .aa-left-column,.aa-dropdown-menu-size-sm .aa-left-column { padding-top: 0; padding-bottom: 32px; } .aa-dropdown-menu-size-lg .aa-columns-container { direction: rtl; width: 100%; display: table; table-layout: fixed; } .aa-dropdown-menu-size-lg .aa-left-column,.aa-dropdown-menu-size-lg .aa-right-column { display: table-cell; direction: ltr; vertical-align: top; } .aa-dropdown-menu-size-lg .aa-left-column { width: 30%; } .aa-dropdown-menu-size-lg .aa-without-articles.aa-without-collections .aa-left-column { display: none; } .aa-dropdown-menu-size-lg .aa-without-products .aa-left-column { width: 100%; } .aa-dropdown-menu-size-lg .aa-right-column { width: 70%; border-left: 1px solid #ebebeb; padding-bottom: 64px; } .aa-dropdown-menu-size-lg .aa-without-footer .aa-right-column { padding-bottom: 0; } .aa-dropdown-menu-size-lg .aa-without-articles.aa-without-collections .aa-right-column { width: 100%; border-left: none; } .aa-dropdown-menu-size-lg .aa-without-products .aa-right-column { display: none; } /* Products group */ .aa-dropdown-menu .aa-dataset-products .aa-suggestions:after { content: ''; display: block; clear: both; } .aa-dropdown-menu .aa-without-products .aa-dataset-products { display: none; } .aa-dropdown-menu .aa-products-empty { margin-bottom: 16px; } .aa-dropdown-menu .aa-products-empty .aa-no-result { color: [[ colors.secondary ]]; } .aa-dropdown-menu .aa-products-empty .aa-see-all { margin-top: 8px; } /* Product */ .aa-dropdown-menu .aa-dataset-products .aa-suggestion { float: left; width: 50%; margin-bottom: 16px; margin-top: -4px; /* -$v_padding */ } .aa-dropdown-menu-size-xs .aa-dataset-products .aa-suggestion,.aa-dropdown-menu-size-sm .aa-dataset-products .aa-suggestion { width: 100%; } .aa-dropdown-menu .aa-product { position: relative; min-height: 56px; /* $img_size + 2 * $v_padding */ padding: 4px 16px; /* $v_padding, $h_padding */ } .aa-dropdown-menu .aa-product-picture { position: absolute; width: 48px; /* $img_size */ height: 48px; /* $img_size */ top: 4px; /* $v_padding */ left: 16px; /* $h_padding */ background-position: center center; background-size: contain; background-repeat: no-repeat; } .aa-dropdown-menu .aa-product-text { margin-left: 64px; /* $img_size + $h_padding */ } .aa-dropdown-menu-size-xs .aa-product { padding: 4px; } .aa-dropdown-menu-size-xs .aa-product-picture { display: none; } .aa-dropdown-menu-size-xs .aa-product-text { margin: 0; } .aa-dropdown-menu .aa-product-info { font-size: 0.85em; color: [[ colors.secondary ]]; } .aa-dropdown-menu .aa-product-info .aa-highlight { font-size: 1em; } .aa-dropdown-menu .aa-product-price { color: [[ colors.main ]]; } .aa-dropdown-menu .aa-product-title,.aa-dropdown-menu .aa-product-info { width: 100%; margin-top: -0.4em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.5; } /* Collections, Articles & Pages */ .aa-dropdown-menu .aa-without-collections .aa-collections { display: none; } .aa-dropdown-menu .aa-without-articles .aa-articles { display: none; } .aa-dropdown-menu .aa-without-pages .aa-pages { display: none; } .aa-dropdown-menu .aa-collections,.aa-dropdown-menu .aa-articles,.aa-dropdown-menu .aa-pages { margin-bottom: 24px; } .aa-dropdown-menu .aa-collections-empty .aa-no-result,.aa-dropdown-menu .aa-articles-empty .aa-no-result,.aa-dropdown-menu .aa-pages-empty .aa-no-result { opacity: 0.7; } .aa-dropdown-menu .aa-collections-header,.aa-dropdown-menu .aa-articles-header,.aa-dropdown-menu .aa-pages-header { margin-bottom: 8px; text-transform: uppercase; font-weight: bold; font-size: 0.8em; color: [[ colors.secondary ]]; } .aa-dropdown-menu .aa-collection,.aa-dropdown-menu .aa-article,.aa-dropdown-menu .aa-page { padding: 4px; } /* Footer */ .aa-dropdown-menu .aa-footer { display: block; width: 100%; position: absolute; left: 0; bottom: 0; padding: 16px 48px; background-color: #efefef; } .aa-dropdown-menu-size-xs .aa-footer,.aa-dropdown-menu-size-sm .aa-footer,.aa-dropdown-menu-size-md .aa-footer { display: none; } </script> <link rel="stylesheet" href="//harpercollins.co.uk/cdn/shop/t/9/assets/algolia_dependency_font-awesome-4-4-0.min.css?v=81095946029556561721593701244" media="print" onload="this.media='all'"> <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/algolia_config.js?v=24043446291950730471699994509" type="text/javascript"></script> <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/algolia_init.js?v=23687443935956485311593701307" type="text/javascript"></script> <!-- BEGIN app block: shopify://apps/frequently-bought/blocks/app-embed-block/b1a8cbea-c844-4842-9529-7c62dbab1b1f --><script src="//cdn.codeblackbelt.com/scripts/frequently-bought-together/bootstrap.min.js?version=2025040421+0100" async></script> <!-- END app block --><!-- BEGIN app block: shopify://apps/elevar-conversion-tracking/blocks/dataLayerEmbed/bc30ab68-b15c-4311-811f-8ef485877ad6 --> <script type="module" dynamic> const configUrl = "/a/elevar/static/configs/69da207238daaa17e8e328f5e2fca44e30742eb2/config.js"; const config = (await import(configUrl)).default; const scriptUrl = config.script_src_app_theme_embed; if (scriptUrl) { const { handler } = await import(scriptUrl); handler( config, { cartData: { marketId: "1229062222", attributes:{}, cartTotal: "0.0", currencyCode:"GBP", items: [] } , user: {cartTotal: "0.0", currencyCode:"GBP",customer: {}, } , isOnCartPage:false, collectionView:null, searchResultsView:null, productView:null, checkoutComplete: null } ); } </script> <!-- END app block --><!-- BEGIN app block: shopify://apps/flair-product-badges-labels/blocks/init/51d5ae10-f90f-4540-9ec6-f09f14107bf4 --><!-- BEGIN app snippet: init_gen2 --><script> (function() { function domReady() { return new Promise((resolve) => { if (document.readyState == "loading") { document.addEventListener("DOMContentLoaded", () => resolve()) } else { resolve() } }) } function loadScript(url) { return new Promise(function(resolve, reject) { var script = document.createElement('script'); script.src = url; script.async = true; script.onload = resolve; script.onerror = reject; document.head.appendChild(script); }) } function init() { var cs={};cs.page_type="page";cs.search_url="/search";var ca={refresh_on_init:true};ca.badge_variant_refresh={"enabled":true,"type":"change","parent_selector":"product-controls-container","selector":"input,select","delay":100};ca.banner_countdown_enabled=true;FlairApp.init({shop:cs,app:ca}); } Promise.all([ loadScript("https://cdn.shopify.com/extensions/6d156006-d7cf-4a05-b5ae-dae43813c835/flair-product-badges-labels-16/assets/flair_gen2.js"), domReady() ]) .then(function() { init(); }) .catch(function(error) { console.error(error); }); })();</script><!-- END app snippet --><!-- generated: 2025-04-04 21:10:22 +0100 --> <!-- END app block --><script src="https://cdn.shopify.com/extensions/817ed504-1631-465a-a5f3-03cf4811fd96/wheelify-spin-wheel-email-pop-82/assets/indexgt.js" type="text/javascript" defer="defer"></script> <link href="https://cdn.shopify.com/extensions/817ed504-1631-465a-a5f3-03cf4811fd96/wheelify-spin-wheel-email-pop-82/assets/front-store-spinner.min.css" rel="stylesheet" type="text/css" media="all"> <meta property="og:image" content="https://cdn.shopify.com/s/files/1/0288/2289/6718/files/hc-logo.png?height=628&pad_color=fff&v=1614346811&width=1200" /> <meta property="og:image:secure_url" content="https://cdn.shopify.com/s/files/1/0288/2289/6718/files/hc-logo.png?height=628&pad_color=fff&v=1614346811&width=1200" /> <meta property="og:image:width" content="1200" /> <meta property="og:image:height" content="628" /> <link href="https://monorail-edge.shopifysvc.com" rel="dns-prefetch"> <script>(function(){if ("sendBeacon" in navigator && "performance" in window) {var session_token = document.cookie.match(/_shopify_s=([^;]*)/);function handle_abandonment_event(e) {var entries = performance.getEntries().filter(function(entry) {return /monorail-edge.shopifysvc.com/.test(entry.name);});if (!window.abandonment_tracked && entries.length === 0) {window.abandonment_tracked = true;var currentMs = Date.now();var navigation_start = performance.timing.navigationStart;var payload = {shop_id: 28822896718,url: window.location.href,navigation_start,duration: currentMs - navigation_start,session_token: session_token && session_token.length === 2 ? session_token[1] : "",page_type: "page"};window.navigator.sendBeacon("https://monorail-edge.shopifysvc.com/v1/produce", JSON.stringify({schema_id: "online_store_buyer_site_abandonment/1.1",payload: payload,metadata: {event_created_at_ms: currentMs,event_sent_at_ms: currentMs}}));}}window.addEventListener('pagehide', handle_abandonment_event);}}());</script> <script id="web-pixels-manager-setup">(function e(e,d,r,n,o,i){if(void 0===i&&(i={}),!Boolean(null===(t=null===(a=window.Shopify)||void 0===a?void 0:a.analytics)||void 0===t?void 0:t.replayQueue)){var a,t;window.Shopify=window.Shopify||{};var s=window.Shopify;s.analytics=s.analytics||{};var l=s.analytics;l.replayQueue=[],l.publish=function(e,d,r){return l.replayQueue.push([e,d,r]),!0};try{self.performance.mark("wpm:start")}catch(e){}var u=function(){var e={modern:/Edge?\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(1{2}[4-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(9{2}|\d{3,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(15\.\d+|(1[6-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(9{2}|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(15[._]\d+|(1[6-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[1-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Android.+Firefox\/(13[2-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[1-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/([2-9]\d|\d{3,})\.\d+/,legacy:/Edge?\/(1[6-9]|[2-9]\d|\d{3,})\.\d+(\.\d+|)|Firefox\/(5[4-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)|Chrom(ium|e)\/(5[1-9]|[6-9]\d|\d{3,})\.\d+(\.\d+|)([\d.]+$|.*Safari\/(?![\d.]+ Edge\/[\d.]+$))|(Maci|X1{2}).+ Version\/(10\.\d+|(1[1-9]|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(3[89]|[4-9]\d|\d{3,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(10[._]\d+|(1[1-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](13[1-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13[2-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(13[1-9]|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+(UC? ?Browser|UCWEB|U3)[ /]?(15\.([5-9]|\d{2,})|(1[6-9]|[2-9]\d|\d{3,})\.\d+)\.\d+|SamsungBrowser\/(5\.\d+|([6-9]|\d{2,})\.\d+)|Android.+MQ{2}Browser\/(14(\.(9|\d{2,})|)|(1[5-9]|[2-9]\d|\d{3,})(\.\d+|))(\.\d+|)|K[Aa][Ii]OS\/(3\.\d+|([4-9]|\d{2,})\.\d+)(\.\d+|)/},d=e.modern,r=e.legacy,n=navigator.userAgent;return n.match(d)?"modern":n.match(r)?"legacy":"unknown"}(),c="modern"===u?"modern":"legacy",f=(null!=o?o:{modern:"",legacy:""})[c],m=function(e){return[e.baseUrl,"/wpm","/b",e.hashVersion,"modern"===e.buildTarget?"m":"l",".js"].join("")}({baseUrl:r,hashVersion:n,buildTarget:c}),p=function(e){var d=e.version,r=e.bundleTarget,n=e.surface,o=e.pageUrl,i=e.monorailEndpoint;return{emit:function(e){var a=e.status,t=e.errorMsg,s=(new Date).getTime(),l=JSON.stringify({metadata:{event_sent_at_ms:s},events:[{schema_id:"web_pixels_manager_load/3.1",payload:{version:d,bundle_target:r,page_url:o,status:a,surface:n,error_msg:t},metadata:{event_created_at_ms:s}}]});if(!i)return console&&console.warn&&console.warn("[Web Pixels Manager] No Monorail endpoint provided, skipping logging."),!1;try{return self.navigator.sendBeacon.bind(self.navigator)(i,l)}catch(e){}var u=new XMLHttpRequest;try{return u.open("POST",i,!0),u.setRequestHeader("Content-Type","text/plain"),u.send(l),!0}catch(e){return console&&console.warn&&console.warn("[Web Pixels Manager] Got an unhandled error while logging to Monorail."),!1}}}}({version:n,bundleTarget:u,surface:e.surface,pageUrl:self.location.href,monorailEndpoint:e.monorailEndpoint});try{i.browserTarget=u,function(e){var d=e.src,r=e.async,n=void 0===r||r,o=e.onload,i=e.onerror,a=e.sri,t=e.scriptDataAttributes,s=void 0===t?{}:t,l=document.createElement("script"),u=document.querySelector("head"),c=document.querySelector("body");if(l.async=n,l.src=d,a&&(l.integrity=a,l.crossOrigin="anonymous"),s)for(var f in s)if(Object.prototype.hasOwnProperty.call(s,f))try{l.dataset[f]=s[f]}catch(e){}if(o&&l.addEventListener("load",o),i&&l.addEventListener("error",i),u)u.appendChild(l);else{if(!c)throw new Error("Did not find a head or body element to append the script");c.appendChild(l)}}({src:m,async:!0,onload:function(){if(!function(){var e,d;return Boolean(null===(d=null===(e=window.Shopify)||void 0===e?void 0:e.analytics)||void 0===d?void 0:d.initialized)}()){var r=window.webPixelsManager.init(e)||void 0;if(r){d(r);var n=window.Shopify.analytics;n.replayQueue.forEach((function(e){var d=e[0],n=e[1],o=e[2];r.publishCustomEvent(d,n,o)})),n.replayQueue=[],n.publish=r.publishCustomEvent,n.visitor=r.visitor,n.initialized=!0}}},onerror:function(){return p.emit({status:"failed",errorMsg:"".concat(m," has failed to load")})},sri:function(e){var d=/^sha384-[A-Za-z0-9+/=]+$/;return"string"==typeof e&&d.test(e)}(f)?f:"",scriptDataAttributes:i}),p.emit({status:"loading"})}catch(e){p.emit({status:"failed",errorMsg:(null==e?void 0:e.message)||"Unknown error"})}}})({shopId: 28822896718,storefrontBaseUrl: "https://harpercollins.co.uk",extensionsBaseUrl: "https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager",monorailEndpoint: "https://monorail-edge.shopifysvc.com/unstable/produce_batch",surface: "storefront-renderer",enabledBetaFlags: [],webPixelsConfigList: [{"id":"1621655931","configuration":"{\"backendUrl\":\"https:\\/\\/api.fomo.com\",\"shopifyDomain\":\"harpercollins-uk.myshopify.com\",\"clientId\":\"m_BiH_98w55DC8HvepkO3w\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"5a36e5577ef3e7397a567604d2706232","type":"APP","apiClientId":155003,"privacyPurposes":["ANALYTICS","MARKETING","SALE_OF_DATA"]},{"id":"1469940091","configuration":"{\"shop\":\"harpercollins-uk.myshopify.com\", \"shopliftUrl\":\"https://events.shoplift.ai/api/events\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"f0a09598e426289e76ba67423abc3bee","type":"APP","apiClientId":7521861633,"privacyPurposes":["ANALYTICS"]},{"id":"13664334","configuration":"{\"config_url\": \"/a/elevar/static/configs/69da207238daaa17e8e328f5e2fca44e30742eb2/config.js\"}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"b3be987a89c30285d51c8f3465eaad8f","type":"APP","apiClientId":2509311,"privacyPurposes":[]},{"id":"20447310","eventPayloadVersion":"1","runtimeContext":"LAX","scriptVersion":"1","type":"CUSTOM","privacyPurposes":["ANALYTICS","SALE_OF_DATA"],"name":"Elevar - Checkout Tracking"},{"id":"shopify-app-pixel","configuration":"{}","eventPayloadVersion":"v1","runtimeContext":"STRICT","scriptVersion":"0411","apiClientId":"shopify-pixel","type":"APP","privacyPurposes":["ANALYTICS","MARKETING"]},{"id":"shopify-custom-pixel","eventPayloadVersion":"v1","runtimeContext":"LAX","scriptVersion":"0411","apiClientId":"shopify-pixel","type":"CUSTOM","privacyPurposes":["ANALYTICS","MARKETING"]}],isMerchantRequest: false,effectiveTopLevelDomain: "",initData: {"shop":{"name":"HarperCollins Publishers UK","paymentSettings":{"currencyCode":"GBP"},"myshopifyDomain":"harpercollins-uk.myshopify.com","countryCode":"GB","storefrontUrl":"https://harpercollins.co.uk"},"customer":null,"cart":null,"checkout":null,"productVariants":[],"purchasingCompany":null},},function pageEvents(webPixelsManagerAPI) {webPixelsManagerAPI.publish("page_viewed", {});},"https://harpercollins.co.uk/cdn","fa791c4bw657adcc2p48d8cf20m74e06eb8",{"modern":"","legacy":""},{"shopId":"28822896718","storefrontBaseUrl":"https://harpercollins.co.uk","extensionBaseUrl":"https://extensions.shopifycdn.com/cdn/shopifycloud/web-pixels-manager","surface":"storefront-renderer","enabledBetaFlags":"[]","isMerchantRequest":"false","hashVersion":"fa791c4bw657adcc2p48d8cf20m74e06eb8"});</script><script> window.ShopifyAnalytics = window.ShopifyAnalytics || {}; window.ShopifyAnalytics.meta = window.ShopifyAnalytics.meta || {}; window.ShopifyAnalytics.meta.currency = 'GBP'; var meta = {"page":{"pageType":"page","resourceType":"page","resourceId":52981923918}}; for (var attr in meta) { window.ShopifyAnalytics.meta[attr] = meta[attr]; } </script> <script class="analytics"> (function () { var customDocumentWrite = function(content) { var jquery = null; if (window.jQuery) { jquery = window.jQuery; } else if (window.Checkout && window.Checkout.$) { jquery = window.Checkout.$; } if (jquery) { jquery('body').append(content); } }; var hasLoggedConversion = function(token) { if (token) { return document.cookie.indexOf('loggedConversion=' + token) !== -1; } return false; } var setCookieIfConversion = function(token) { if (token) { var twoMonthsFromNow = new Date(Date.now()); twoMonthsFromNow.setMonth(twoMonthsFromNow.getMonth() + 2); document.cookie = 'loggedConversion=' + token + '; expires=' + twoMonthsFromNow; } } var trekkie = window.ShopifyAnalytics.lib = window.trekkie = window.trekkie || []; if (trekkie.integrations) { return; } trekkie.methods = [ 'identify', 'page', 'ready', 'track', 'trackForm', 'trackLink' ]; trekkie.factory = function(method) { return function() { var args = Array.prototype.slice.call(arguments); args.unshift(method); trekkie.push(args); return trekkie; }; }; for (var i = 0; i < trekkie.methods.length; i++) { var key = trekkie.methods[i]; trekkie[key] = trekkie.factory(key); } trekkie.load = function(config) { trekkie.config = config || {}; trekkie.config.initialDocumentCookie = document.cookie; var first = document.getElementsByTagName('script')[0]; var script = document.createElement('script'); script.type = 'text/javascript'; script.onerror = function(e) { var scriptFallback = document.createElement('script'); scriptFallback.type = 'text/javascript'; scriptFallback.onerror = function(error) { var Monorail = { produce: function produce(monorailDomain, schemaId, payload) { var currentMs = new Date().getTime(); var event = { schema_id: schemaId, payload: payload, metadata: { event_created_at_ms: currentMs, event_sent_at_ms: currentMs } }; return Monorail.sendRequest("https://" + monorailDomain + "/v1/produce", JSON.stringify(event)); }, sendRequest: function sendRequest(endpointUrl, payload) { // Try the sendBeacon API if (window && window.navigator && typeof window.navigator.sendBeacon === 'function' && typeof window.Blob === 'function' && !Monorail.isIos12()) { var blobData = new window.Blob([payload], { type: 'text/plain' }); if (window.navigator.sendBeacon(endpointUrl, blobData)) { return true; } // sendBeacon was not successful } // XHR beacon var xhr = new XMLHttpRequest(); try { xhr.open('POST', endpointUrl); xhr.setRequestHeader('Content-Type', 'text/plain'); xhr.send(payload); } catch (e) { console.log(e); } return false; }, isIos12: function isIos12() { return window.navigator.userAgent.lastIndexOf('iPhone; CPU iPhone OS 12_') !== -1 || window.navigator.userAgent.lastIndexOf('iPad; CPU OS 12_') !== -1; } }; Monorail.produce('monorail-edge.shopifysvc.com', 'trekkie_storefront_load_errors/1.1', {shop_id: 28822896718, theme_id: 83051806798, app_name: "storefront", context_url: window.location.href, source_url: "//harpercollins.co.uk/cdn/s/trekkie.storefront.67031bb556ecae068d9d26b268af7634adc01a0c.min.js"}); }; scriptFallback.async = true; scriptFallback.src = '//harpercollins.co.uk/cdn/s/trekkie.storefront.67031bb556ecae068d9d26b268af7634adc01a0c.min.js'; first.parentNode.insertBefore(scriptFallback, first); }; script.async = true; script.src = '//harpercollins.co.uk/cdn/s/trekkie.storefront.67031bb556ecae068d9d26b268af7634adc01a0c.min.js'; first.parentNode.insertBefore(script, first); }; trekkie.load( {"Trekkie":{"appName":"storefront","development":false,"defaultAttributes":{"shopId":28822896718,"isMerchantRequest":null,"themeId":83051806798,"themeCityHash":"5405799153986027979","contentLanguage":"en","currency":"GBP"},"isServerSideCookieWritingEnabled":true,"monorailRegion":"shop_domain"},"Session Attribution":{},"S2S":{"facebookCapiEnabled":false,"source":"trekkie-storefront-renderer","apiClientId":580111}} ); var loaded = false; trekkie.ready(function() { if (loaded) return; loaded = true; window.ShopifyAnalytics.lib = window.trekkie; var originalDocumentWrite = document.write; document.write = customDocumentWrite; try { window.ShopifyAnalytics.merchantGoogleAnalytics.call(this); } catch(error) {}; document.write = originalDocumentWrite; window.ShopifyAnalytics.lib.page(null,{"pageType":"page","resourceType":"page","resourceId":52981923918,"shopifyEmitted":true}); var match = window.location.pathname.match(/checkouts\/(.+)\/(thank_you|post_purchase)/) var token = match? match[1]: undefined; if (!hasLoggedConversion(token)) { setCookieIfConversion(token); } }); var eventsListenerScript = document.createElement('script'); eventsListenerScript.async = true; eventsListenerScript.src = "//harpercollins.co.uk/cdn/shopifycloud/shopify/assets/shop_events_listener-f55dd2979ec32029c7d9e0b454ab8b33f79c01ca039d17a6f5c9b95647564b19.js"; document.getElementsByTagName('head')[0].appendChild(eventsListenerScript); })();</script> <script defer src="https://harpercollins.co.uk/cdn/shopifycloud/perf-kit/shopify-perf-kit-1.5.0.min.js" data-application="storefront-renderer" data-shop-id="28822896718" data-render-region="gcp-europe-west3" data-page-type="page" data-theme-instance-id="83051806798" data-monorail-region="shop_domain" data-resource-timing-sampling-rate="10" ></script> </head> <body class=" sb-top "> <div data-flair-banner></div> <div id="shopify-section-header" class="shopify-section header"> <a href="" class="violator-bar"> <div id="violator" style="background-color:#ffffff; color:#ffffff"></div> </a> <div class="container d-block d-md-none" id="mobile-nav-container"> <div class="row"> <nav id="mobileNavWhole" class="navbar navbar-expand-lg navbar-light static-top"> <div class="leftHeader"> <a class="navbar-brand" href="/"> <img class="mobile-logo" src="//harpercollins.co.uk/cdn/shop/files/HarperCollinsStriplineLogo_300x.jpg?v=1734945955"> </a> </div> <div class="rightHeader"> <div class="mobileIconContain" style="display:flex;"> <div class="icon-container cart-container" @mouseover="showCart = false" @mouseleave="showCart = false"> <a href="/cart" style="position: relative;"> <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="height:25px;width:25px" viewBox="85 65 340 340"><path d="M423.9 232.9c0-12.8-10.4-23.2-23.2-23.2h-20.1c-.5-1.1-1-2.2-1.7-3.2l-45.8-71.3c-3.3-5.1-8.4-8.7-14.3-10-6-1.3-12-.2-17.2 3.1-10.6 6.8-13.6 20.9-6.8 31.5l32 49.8H185.3l32-49.8c2.4-3.7 3.6-7.9 3.6-12.3 0-7.8-3.9-15-10.5-19.2-5.1-3.3-11.2-4.4-17.2-3.1-5.9 1.3-11 4.8-14.3 10l-45.8 71.3c-.7 1-1.2 2.1-1.7 3.2h-20.1c-12.8 0-23.2 10.4-23.2 23.2v1.5c0 12.8 10.4 23.2 23.2 23.2h2.2l38.1 124.3c1 3.2 3.9 5.3 7.2 5.3H353c3.3 0 6.2-2.2 7.2-5.3l38.1-124.3h2.2c12.8 0 23.2-10.4 23.2-23.2v-1.5zm-116.6-81.1c-2.3-3.6-1.3-8.4 2.3-10.8 1.8-1.1 3.8-1.5 5.9-1.1 2 .4 3.8 1.6 4.9 3.4l42.6 66.3h-18.5l-37.2-57.8zm-115.7-8.5c1.1-1.8 2.9-3 4.9-3.4 2-.4 4.1-.1 5.9 1.1 2.2 1.4 3.6 3.9 3.6 6.6 0 1.5-.4 2.9-1.2 4.2l-37.2 57.9h-18.5l42.5-66.4zm156 228.9H164.4l-35.2-114.6h253.5l-35.1 114.6zm61.3-137.8c0 4.5-3.7 8.2-8.2 8.2H111.4c-4.5 0-8.2-3.7-8.2-8.2v-1.5c0-4.5 3.7-8.2 8.2-8.2h289.1c4.5 0 8.2 3.7 8.2 8.2v1.5z"/><path d="M208.9 342.8c4.1 0 7.5-3.4 7.5-7.5v-40.8c0-4.1-3.4-7.5-7.5-7.5s-7.5 3.4-7.5 7.5v40.8c0 4.2 3.4 7.5 7.5 7.5zM256 342.8c4.1 0 7.5-3.4 7.5-7.5v-40.8c0-4.1-3.4-7.5-7.5-7.5s-7.5 3.4-7.5 7.5v40.8c0 4.2 3.4 7.5 7.5 7.5zM303.1 342.8c4.1 0 7.5-3.4 7.5-7.5v-40.8c0-4.1-3.4-7.5-7.5-7.5s-7.5 3.4-7.5 7.5v40.8c0 4.2 3.3 7.5 7.5 7.5z"/></svg> <span style="display:none;" class="item-count">0</span> </a> </div> <div class="iconContainer icon-container"> <a class="account-link" id="mobile-account-link" href="/account" aria-label="Go to account page"> <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 482.9 482.9;height:25px;width:25px" viewBox="0 0 482.9 482.9"><path d="M239.7 260.2h3.2c29.3-.5 53-10.8 70.5-30.5 38.5-43.4 32.1-117.8 31.4-124.9-2.5-53.3-27.7-78.8-48.5-90.7C280.8 5.2 262.7.4 242.5 0H240.8c-11.1 0-32.9 1.8-53.8 13.7-21 11.9-46.6 37.4-49.1 91.1-.7 7.1-7.1 81.5 31.4 124.9 17.4 19.7 41.1 30 70.4 30.5zm-75.1-152.9c0-.3.1-.6.1-.8 3.3-71.7 54.2-79.4 76-79.4H241.9c27 .6 72.9 11.6 76 79.4 0 .3 0 .6.1.8.1.7 7.1 68.7-24.7 104.5-12.6 14.2-29.4 21.2-51.5 21.4h-1c-22-.2-38.9-7.2-51.4-21.4-31.7-35.6-24.9-103.9-24.8-104.5z"/><path d="M446.8 383.6v-.3c0-.8-.1-1.6-.1-2.5-.6-19.8-1.9-66.1-45.3-80.9-.3-.1-.7-.2-1-.3-45.1-11.5-82.6-37.5-83-37.8-6.1-4.3-14.5-2.8-18.8 3.3-4.3 6.1-2.8 14.5 3.3 18.8 1.7 1.2 41.5 28.9 91.3 41.7 23.3 8.3 25.9 33.2 26.6 56 0 .9 0 1.7.1 2.5.1 9-.5 22.9-2.1 30.9-16.2 9.2-79.7 41-176.3 41-96.2 0-160.1-31.9-176.4-41.1-1.6-8-2.3-21.9-2.1-30.9 0-.8.1-1.6.1-2.5.7-22.8 3.3-47.7 26.6-56 49.8-12.8 89.6-40.6 91.3-41.7 6.1-4.3 7.6-12.7 3.3-18.8-4.3-6.1-12.7-7.6-18.8-3.3-.4.3-37.7 26.3-83 37.8-.4.1-.7.2-1 .3-43.4 14.9-44.7 61.2-45.3 80.9 0 .9 0 1.7-.1 2.5v.3c-.1 5.2-.2 31.9 5.1 45.3 1 2.6 2.8 4.8 5.2 6.3 3 2 74.9 47.8 195.2 47.8s192.2-45.9 195.2-47.8c2.3-1.5 4.2-3.7 5.2-6.3 5-13.3 4.9-40 4.8-45.2z"/></svg> </a> </div> </div> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> </div> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav mr-auto"><div id="searchBox" class=" search-box-container "> <div class="search-box-container"> <form method="get" action="/search" class="mobile-search"> <div class="search-box"> <button type="submit" class="magnifying-glass" aria-label="Submit search"> <div> <img height="25" width="25" src="//harpercollins.co.uk/cdn/shop/t/9/assets/search.svg?v=123853058921949955031593701284"> </div> </button> <input class="bc-sf-search-box ui-autocomplete-input search" type="search" name="q" value="" id="bc-sf-search-box-0" autocomplete="off" data-search-box="#bc-sf-search-box-0" placeholder=""> </div> </form> </div> <div class="suggestive-search"> Try a search for: <ul> <li> <a href="/search?q=holiday+reads">holiday reads</a> </li> <li> <a href="/search?q=easter">Easter</a> </li> <li> <a href="/search?q=tolkien">Tolkien</a> </li> </ul> </div> </div><div class="linkDrawer"> <a href="https://harpercollins.co.uk/" class="nav-link">🏠</a><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="https://harpercollins.co.uk/">Books</a> <div class="arrow" href="#child-drop1" role="button" data-toggle="collapse" aria-controls="child-drop1" aria-expanded="false"> <a></a> </div> </div> <ul id="child-drop1" class="collapse"><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="https://harpercollins.co.uk/collections/contemporary-fiction">Fiction</a> <div class="arrow" href="#child-drops0" role="button" data-toggle="collapse" aria-controls="child-drops0" aria-expanded="false"> <a></a> </div> </div> </li> <ul id="child-drops0" class="collapse"><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/classic-literature">Classic Literature</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/contemporary-fiction?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Contemporary Fiction</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/crime-thriller?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Crime & Thriller </a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/sci-fi-fantasy-1">Sci-fi & Fantasy</a></li><li class="dropdown-item"><a href="/collections/historical-fiction">Historical Fiction</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/lgbtq">LGBTQ+</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/romance?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Romance</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/fiction-in-translation">Fiction in Translation</a></li></ul><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="https://harpercollins.co.uk/collections/non-fiction">Non-fiction</a> <div class="arrow" href="#child-drops1" role="button" data-toggle="collapse" aria-controls="child-drops1" aria-expanded="false"> <a></a> </div> </div> </li> <ul id="child-drops1" class="collapse"><li class="dropdown-item"><a href="/collections/colouring-and-puzzle-books">Colouring and Puzzle Books</a></li><li class="dropdown-item"><a href="/collections/nature-environment-sustainability">Nature, Environment & Sustainability</a></li><li class="dropdown-item"><a href="/collections/food-drink-1">Food and Drink</a></li><li class="dropdown-item"><a href="/collections/history-and-politics">History and Politics</a></li><li class="dropdown-item"><a href="/collections/memoirs-and-biographies">Memoirs and Biographies</a></li><li class="dropdown-item"><a href="/collections/self-care-and-improvement">Self-Care and Improvement</a></li></ul><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="https://harpercollins.co.uk/search">Children and Teen</a> <div class="arrow" href="#child-drops2" role="button" data-toggle="collapse" aria-controls="child-drops2" aria-expanded="false"> <a></a> </div> </div> </li> <ul id="child-drops2" class="collapse"><li class="dropdown-item"><a href="/collections/childrens-picture-books">Picturebooks</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/childrens-2">Children's</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/young-adult">Teen and YA</a></li><li class="dropdown-item"><a href="/collections/graphic-novels-comics-and-manga">Graphic Novels, Comics and Manga</a></li></ul><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="https://harpercollins.co.uk/search?sortBy=shopifycollinsproducts_recently_ordered_count_desc">I want to feel...</a> <div class="arrow" href="#child-drops3" role="button" data-toggle="collapse" aria-controls="child-drops3" aria-expanded="false"> <a></a> </div> </div> </li> <ul id="child-drops3" class="collapse"><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/i-want-to-feel-cosy">Cosy ☕</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/i-want-to-feel-sad">Sad 😭</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/i-want-to-feel-romantic">Romantic 💖</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/i-want-to-feel-scared">Scared 😱</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/i-want-to-feel-thrilled">Thrilled 😲</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/i-want-to-feel-spicy">Spicy 🌶️</a></li></ul></ul></li><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="https://harpercollins.co.uk/collections/books-set-at-christmas">Our Top Picks</a> <div class="arrow" href="#child-drop2" role="button" data-toggle="collapse" aria-controls="child-drop2" aria-expanded="false"> <a></a> </div> </div> <ul id="child-drop2" class="collapse"><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="https://harpercollins.co.uk/collections/books-set-at-christmas">Recommended</a> <div class="arrow" href="#child-drops4" role="button" data-toggle="collapse" aria-controls="child-drops4" aria-expanded="false"> <a></a> </div> </div> </li> <ul id="child-drops4" class="collapse"><li class="dropdown-item"><a href="/collections/new-year-new-me">New Year, New Me</a></li><li class="dropdown-item"><a href="/collections/colour-books-for-all-ages">Colouring Books</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/childrens-picture-books">Picture Books For Every Child</a></li><li class="dropdown-item"><a href="/collections/veganuary-inspiration">Veganuary Inspiration</a></li><li class="dropdown-item"><a href="/collections/self-care-and-improvement">Self-Care and Improvement</a></li><li class="dropdown-item"><a href="/collections/fiction-in-translation">Fiction in Translation</a></li><li class="dropdown-item"><a href="/collections/diversify-your-reading-list">Diversify Your Reading List</a></li></ul><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="https://harpercollins.co.uk/collections/books-set-at-christmas">Books for the...</a> <div class="arrow" href="#child-drops5" role="button" data-toggle="collapse" aria-controls="child-drops5" aria-expanded="false"> <a></a> </div> </div> </li> <ul id="child-drops5" class="collapse"><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/romance-3">Romance Lover 💘</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/sci-fi-fantasy-1?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Fantasy Enthusiast 🧙♂️</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/contemporary-fiction-2">Literary Lover 📚</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/childrens-picture-books">New Parents 👶</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/history-current-events">History Buff ⏳</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/food-drink-1">Chef & Baker 🍽️</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/book-for-dog-lovers?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Dog Lover 🐶</a></li></ul><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="https://harpercollins.co.uk/collections/hardbacks-of-2024?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Celebrate 2024 🎉</a> <div class="arrow" href="#child-drops6" role="button" data-toggle="collapse" aria-controls="child-drops6" aria-expanded="false"> <a></a> </div> </div> </li> <ul id="child-drops6" class="collapse"><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/book-of-the-year-nominees">Award Winning and Nominated</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/hardbacks-of-2024?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Hardbacks of 2024</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/paperbacks-of-2025?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Paperbacks of 2024</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/booktok-favourites?sortBy=shopifycollinsproducts_recently_ordered_count_desc">TikTok Favourites for 2024</a></li></ul><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="https://harpercollins.co.uk/search?sortBy=shopifycollinsproducts_recently_ordered_count_desc">I'm Looking For...</a> <div class="arrow" href="#child-drops7" role="button" data-toggle="collapse" aria-controls="child-drops7" aria-expanded="false"> <a></a> </div> </div> </li> <ul id="child-drops7" class="collapse"><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/books-with-supernatural-creatures">Supernatural Creatures </a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/books-with-found-family">Found Family</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/books-with-love-triangles">Love Triangles</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/small-town-romance">Small Town Settings</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/collections/romance-enemies-to-lovers">Enemies to Lovers</a></li></ul></ul></li><a href="https://harpercollins.co.uk/collections/special-editions?sortBy=shopifycollinsproducts_recently_ordered_count_desc" class="nav-link">Special Editions!</a><a href="https://harpercollins.co.uk/collections/trending-right-now" class="nav-link">Trending</a><a href="https://harpercollins.co.uk/collections/recently-published?sortBy=shopifycollinsproducts_recently_ordered_count_desc" class="nav-link">New</a><a href="https://harpercollins.co.uk/collections/books-to-pre-order" class="nav-link">Coming Soon</a><a href="/blogs/authors" class="nav-link">Our Authors</a><a href="/blogs/features" class="nav-link">Blog </a><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="https://corporate.harpercollins.co.uk/">About Us</a> <div class="arrow" href="#child-drop9" role="button" data-toggle="collapse" aria-controls="child-drop9" aria-expanded="false"> <a></a> </div> </div> <ul id="child-drop9" class="collapse"><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="https://corporate.harpercollins.co.uk/">About Us</a> <div class="arrow" href="#child-drops8" role="button" data-toggle="collapse" aria-controls="child-drops8" aria-expanded="false"> <a></a> </div> </div> </li> <ul id="child-drops8" class="collapse"><li class="dropdown-item"><a href="https://corporate.harpercollins.co.uk/contact-us/">Contact Us</a></li><li class="dropdown-item"><a href="https://harpercollins.co.uk/pages/customer-service">Customer Service</a></li><li class="dropdown-item"><a href="https://signup.harpercollins.co.uk/join/signup-group">Newsletter Sign-Up</a></li><li class="dropdown-item"><a href="https://www.readersroom-harpercollins.co.uk/registration?src=hcuk">Readers Room</a></li><li class="dropdown-item"><a href="https://corporate.harpercollins.co.uk/what-we-publish/">What We Publish</a></li></ul><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="/">Work For Us</a> <div class="arrow" href="#child-drops9" role="button" data-toggle="collapse" aria-controls="child-drops9" aria-expanded="false"> <a></a> </div> </div> </li> <ul id="child-drops9" class="collapse"><li class="dropdown-item"><a href="https://corporate.harpercollins.co.uk/careers/application-process/">Applying To Work With Us</a></li><li class="dropdown-item"><a href="https://corporate.harpercollins.co.uk/careers/early-careers/">Early Careers</a></li><li class="dropdown-item"><a href="https://app.beapplied.com/org/822/harpercollins-publishers">Latest Job Opportunities</a></li></ul><li> <div class="link-container"> <a class="nav-link navbarDropdown" href="https://twitter.com/HarperCollinsUK?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor">Social</a> <div class="arrow" href="#child-drops10" role="button" data-toggle="collapse" aria-controls="child-drops10" aria-expanded="false"> <a></a> </div> </div> </li> <ul id="child-drops10" class="collapse"><li class="dropdown-item"><a href="https://twitter.com/HarperCollinsUK?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor">X</a></li><li class="dropdown-item"><a href="https://www.instagram.com/harpercollinsuk/">Instagram</a></li><li class="dropdown-item"><a href="https://www.facebook.com/HarperCollinsPublishersUK">Facebook</a></li><li class="dropdown-item"><a href="https://www.pinterest.co.uk/harpercollinspublishersuk/_created/">Pinterest</a></li><li class="dropdown-item"><a href="https://www.tiktok.com/@harpercollinsuk">TikTok</a></li></ul></ul></li></div> </ul> </div> </nav> </div> </div> <header> <div class="container d-none d-md-block" id="desktop-header"> <div class="row"> <h1 class="head-column col-md-5 col-12"> <a href="/"> <img class="logo" src="//harpercollins.co.uk/cdn/shop/files/HarperCollinsStriplineLogo_440x.jpg?v=1734945955"> </a> </h1> <div class="head-column col-md-5 col-8"><div id="searchBox" class=" search-box-container "> <div class="search-box-container"> <form method="get" action="/search" class="mobile-search"> <div class="search-box"> <button type="submit" class="magnifying-glass" aria-label="Submit search"> <div> <img height="25" width="25" src="//harpercollins.co.uk/cdn/shop/t/9/assets/search.svg?v=123853058921949955031593701284"> </div> </button> <input class="bc-sf-search-box ui-autocomplete-input search" type="search" name="q" value="" id="bc-sf-search-box-0" autocomplete="off" data-search-box="#bc-sf-search-box-0" placeholder=""> </div> </form> </div> <div class="suggestive-search"> Try a search for: <ul> <li> <a href="/search?q=holiday+reads">holiday reads</a> </li> <li> <a href="/search?q=easter">Easter</a> </li> <li> <a href="/search?q=tolkien">Tolkien</a> </li> </ul> </div> </div></div> <div class="head-column col-md-2 col-4 icons"> <div class="icon-container cart-container"> <a href="/cart"><svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="height:25px;width:25px" viewBox="85 65 340 340"><path d="M423.9 232.9c0-12.8-10.4-23.2-23.2-23.2h-20.1c-.5-1.1-1-2.2-1.7-3.2l-45.8-71.3c-3.3-5.1-8.4-8.7-14.3-10-6-1.3-12-.2-17.2 3.1-10.6 6.8-13.6 20.9-6.8 31.5l32 49.8H185.3l32-49.8c2.4-3.7 3.6-7.9 3.6-12.3 0-7.8-3.9-15-10.5-19.2-5.1-3.3-11.2-4.4-17.2-3.1-5.9 1.3-11 4.8-14.3 10l-45.8 71.3c-.7 1-1.2 2.1-1.7 3.2h-20.1c-12.8 0-23.2 10.4-23.2 23.2v1.5c0 12.8 10.4 23.2 23.2 23.2h2.2l38.1 124.3c1 3.2 3.9 5.3 7.2 5.3H353c3.3 0 6.2-2.2 7.2-5.3l38.1-124.3h2.2c12.8 0 23.2-10.4 23.2-23.2v-1.5zm-116.6-81.1c-2.3-3.6-1.3-8.4 2.3-10.8 1.8-1.1 3.8-1.5 5.9-1.1 2 .4 3.8 1.6 4.9 3.4l42.6 66.3h-18.5l-37.2-57.8zm-115.7-8.5c1.1-1.8 2.9-3 4.9-3.4 2-.4 4.1-.1 5.9 1.1 2.2 1.4 3.6 3.9 3.6 6.6 0 1.5-.4 2.9-1.2 4.2l-37.2 57.9h-18.5l42.5-66.4zm156 228.9H164.4l-35.2-114.6h253.5l-35.1 114.6zm61.3-137.8c0 4.5-3.7 8.2-8.2 8.2H111.4c-4.5 0-8.2-3.7-8.2-8.2v-1.5c0-4.5 3.7-8.2 8.2-8.2h289.1c4.5 0 8.2 3.7 8.2 8.2v1.5z"/><path d="M208.9 342.8c4.1 0 7.5-3.4 7.5-7.5v-40.8c0-4.1-3.4-7.5-7.5-7.5s-7.5 3.4-7.5 7.5v40.8c0 4.2 3.4 7.5 7.5 7.5zM256 342.8c4.1 0 7.5-3.4 7.5-7.5v-40.8c0-4.1-3.4-7.5-7.5-7.5s-7.5 3.4-7.5 7.5v40.8c0 4.2 3.4 7.5 7.5 7.5zM303.1 342.8c4.1 0 7.5-3.4 7.5-7.5v-40.8c0-4.1-3.4-7.5-7.5-7.5s-7.5 3.4-7.5 7.5v40.8c0 4.2 3.3 7.5 7.5 7.5z"/></svg> <span style="display:none;" class="item-count">0</span> </a> </div> <div class="iconContainer icon-container"> <a class="account-link" id="desktop-account-link" href="/account" aria-label="Go to account page"><svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="enable-background:new 0 0 482.9 482.9;height:25px;width:25px" viewBox="0 0 482.9 482.9"><path d="M239.7 260.2h3.2c29.3-.5 53-10.8 70.5-30.5 38.5-43.4 32.1-117.8 31.4-124.9-2.5-53.3-27.7-78.8-48.5-90.7C280.8 5.2 262.7.4 242.5 0H240.8c-11.1 0-32.9 1.8-53.8 13.7-21 11.9-46.6 37.4-49.1 91.1-.7 7.1-7.1 81.5 31.4 124.9 17.4 19.7 41.1 30 70.4 30.5zm-75.1-152.9c0-.3.1-.6.1-.8 3.3-71.7 54.2-79.4 76-79.4H241.9c27 .6 72.9 11.6 76 79.4 0 .3 0 .6.1.8.1.7 7.1 68.7-24.7 104.5-12.6 14.2-29.4 21.2-51.5 21.4h-1c-22-.2-38.9-7.2-51.4-21.4-31.7-35.6-24.9-103.9-24.8-104.5z"/><path d="M446.8 383.6v-.3c0-.8-.1-1.6-.1-2.5-.6-19.8-1.9-66.1-45.3-80.9-.3-.1-.7-.2-1-.3-45.1-11.5-82.6-37.5-83-37.8-6.1-4.3-14.5-2.8-18.8 3.3-4.3 6.1-2.8 14.5 3.3 18.8 1.7 1.2 41.5 28.9 91.3 41.7 23.3 8.3 25.9 33.2 26.6 56 0 .9 0 1.7.1 2.5.1 9-.5 22.9-2.1 30.9-16.2 9.2-79.7 41-176.3 41-96.2 0-160.1-31.9-176.4-41.1-1.6-8-2.3-21.9-2.1-30.9 0-.8.1-1.6.1-2.5.7-22.8 3.3-47.7 26.6-56 49.8-12.8 89.6-40.6 91.3-41.7 6.1-4.3 7.6-12.7 3.3-18.8-4.3-6.1-12.7-7.6-18.8-3.3-.4.3-37.7 26.3-83 37.8-.4.1-.7.2-1 .3-43.4 14.9-44.7 61.2-45.3 80.9 0 .9 0 1.7-.1 2.5v.3c-.1 5.2-.2 31.9 5.1 45.3 1 2.6 2.8 4.8 5.2 6.3 3 2 74.9 47.8 195.2 47.8s192.2-45.9 195.2-47.8c2.3-1.5 4.2-3.7 5.2-6.3 5-13.3 4.9-40 4.8-45.2z"/></svg> </a> </div> </div> </div> </div> <!-- mobile nav --> </header> <!-- <div class="sideLinks"></div> --> <nav class="d-none d-md-block" id="fullNav"> <div id="mainNav" class="lower-header"> <div class="container"> <div class="row"> <div class="col-12 position-relative"> <ul class="links navbar"><li class="parent-link-li"><a href="https://harpercollins.co.uk/" tabindex="0">🏠</a></li><li class="parent-link-li"><a href="https://harpercollins.co.uk/" tabindex="0">Books</a><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" fill="#cccccc"><path stroke="#cccccc" d="M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z"/></svg><ul class="menu-level-2"><li><a href="https://harpercollins.co.uk/collections/contemporary-fiction">Fiction</a> <ul class="menu-level-3"><li> <a href="https://harpercollins.co.uk/collections/classic-literature">Classic Literature</a> </li><li> <a href="https://harpercollins.co.uk/collections/contemporary-fiction?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Contemporary Fiction</a> </li><li> <a href="https://harpercollins.co.uk/collections/crime-thriller?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Crime & Thriller </a> </li><li> <a href="https://harpercollins.co.uk/collections/sci-fi-fantasy-1">Sci-fi & Fantasy</a> </li><li> <a href="/collections/historical-fiction">Historical Fiction</a> </li><li> <a href="https://harpercollins.co.uk/collections/lgbtq">LGBTQ+</a> </li><li> <a href="https://harpercollins.co.uk/collections/romance?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Romance</a> </li><li> <a href="https://harpercollins.co.uk/collections/fiction-in-translation">Fiction in Translation</a> </li></ul> </li><li><a href="https://harpercollins.co.uk/collections/non-fiction">Non-fiction</a> <ul class="menu-level-3"><li> <a href="/collections/colouring-and-puzzle-books">Colouring and Puzzle Books</a> </li><li> <a href="/collections/nature-environment-sustainability">Nature, Environment & Sustainability</a> </li><li> <a href="/collections/food-drink-1">Food and Drink</a> </li><li> <a href="/collections/history-and-politics">History and Politics</a> </li><li> <a href="/collections/memoirs-and-biographies">Memoirs and Biographies</a> </li><li> <a href="/collections/self-care-and-improvement">Self-Care and Improvement</a> </li></ul> </li><li><a href="https://harpercollins.co.uk/search">Children and Teen</a> <ul class="menu-level-3"><li> <a href="/collections/childrens-picture-books">Picturebooks</a> </li><li> <a href="https://harpercollins.co.uk/collections/childrens-2">Children's</a> </li><li> <a href="https://harpercollins.co.uk/collections/young-adult">Teen and YA</a> </li><li> <a href="/collections/graphic-novels-comics-and-manga">Graphic Novels, Comics and Manga</a> </li></ul> </li><li><a href="https://harpercollins.co.uk/search?sortBy=shopifycollinsproducts_recently_ordered_count_desc">I want to feel...</a> <ul class="menu-level-3"><li> <a href="https://harpercollins.co.uk/collections/i-want-to-feel-cosy">Cosy ☕</a> </li><li> <a href="https://harpercollins.co.uk/collections/i-want-to-feel-sad">Sad 😭</a> </li><li> <a href="https://harpercollins.co.uk/collections/i-want-to-feel-romantic">Romantic 💖</a> </li><li> <a href="https://harpercollins.co.uk/collections/i-want-to-feel-scared">Scared 😱</a> </li><li> <a href="https://harpercollins.co.uk/collections/i-want-to-feel-thrilled">Thrilled 😲</a> </li><li> <a href="https://harpercollins.co.uk/collections/i-want-to-feel-spicy">Spicy 🌶️</a> </li></ul> </li></ul></li><li class="parent-link-li"><a href="https://harpercollins.co.uk/collections/books-set-at-christmas" tabindex="0">Our Top Picks</a><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" fill="#cccccc"><path stroke="#cccccc" d="M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z"/></svg><ul class="menu-level-2"><li><a href="https://harpercollins.co.uk/collections/books-set-at-christmas">Recommended</a> <ul class="menu-level-3"><li> <a href="/collections/new-year-new-me">New Year, New Me</a> </li><li> <a href="/collections/colour-books-for-all-ages">Colouring Books</a> </li><li> <a href="https://harpercollins.co.uk/collections/childrens-picture-books">Picture Books For Every Child</a> </li><li> <a href="/collections/veganuary-inspiration">Veganuary Inspiration</a> </li><li> <a href="/collections/self-care-and-improvement">Self-Care and Improvement</a> </li><li> <a href="/collections/fiction-in-translation">Fiction in Translation</a> </li><li> <a href="/collections/diversify-your-reading-list">Diversify Your Reading List</a> </li></ul> </li><li><a href="https://harpercollins.co.uk/collections/books-set-at-christmas">Books for the...</a> <ul class="menu-level-3"><li> <a href="https://harpercollins.co.uk/collections/romance-3">Romance Lover 💘</a> </li><li> <a href="https://harpercollins.co.uk/collections/sci-fi-fantasy-1?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Fantasy Enthusiast 🧙♂️</a> </li><li> <a href="https://harpercollins.co.uk/collections/contemporary-fiction-2">Literary Lover 📚</a> </li><li> <a href="https://harpercollins.co.uk/collections/childrens-picture-books">New Parents 👶</a> </li><li> <a href="https://harpercollins.co.uk/collections/history-current-events">History Buff ⏳</a> </li><li> <a href="https://harpercollins.co.uk/collections/food-drink-1">Chef & Baker 🍽️</a> </li><li> <a href="https://harpercollins.co.uk/collections/book-for-dog-lovers?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Dog Lover 🐶</a> </li></ul> </li><li><a href="https://harpercollins.co.uk/collections/hardbacks-of-2024?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Celebrate 2024 🎉</a> <ul class="menu-level-3"><li> <a href="https://harpercollins.co.uk/collections/book-of-the-year-nominees">Award Winning and Nominated</a> </li><li> <a href="https://harpercollins.co.uk/collections/hardbacks-of-2024?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Hardbacks of 2024</a> </li><li> <a href="https://harpercollins.co.uk/collections/paperbacks-of-2025?sortBy=shopifycollinsproducts_recently_ordered_count_desc">Paperbacks of 2024</a> </li><li> <a href="https://harpercollins.co.uk/collections/booktok-favourites?sortBy=shopifycollinsproducts_recently_ordered_count_desc">TikTok Favourites for 2024</a> </li></ul> </li><li><a href="https://harpercollins.co.uk/search?sortBy=shopifycollinsproducts_recently_ordered_count_desc">I'm Looking For...</a> <ul class="menu-level-3"><li> <a href="https://harpercollins.co.uk/collections/books-with-supernatural-creatures">Supernatural Creatures </a> </li><li> <a href="https://harpercollins.co.uk/collections/books-with-found-family">Found Family</a> </li><li> <a href="https://harpercollins.co.uk/collections/books-with-love-triangles">Love Triangles</a> </li><li> <a href="https://harpercollins.co.uk/collections/small-town-romance">Small Town Settings</a> </li><li> <a href="https://harpercollins.co.uk/collections/romance-enemies-to-lovers">Enemies to Lovers</a> </li></ul> </li></ul></li><li class="parent-link-li"><a href="https://harpercollins.co.uk/collections/special-editions?sortBy=shopifycollinsproducts_recently_ordered_count_desc" tabindex="0">Special Editions!</a></li><li class="parent-link-li"><a href="https://harpercollins.co.uk/collections/trending-right-now" tabindex="0">Trending</a></li><li class="parent-link-li"><a href="https://harpercollins.co.uk/collections/recently-published?sortBy=shopifycollinsproducts_recently_ordered_count_desc" tabindex="0">New</a></li><li class="parent-link-li"><a href="https://harpercollins.co.uk/collections/books-to-pre-order" tabindex="0">Coming Soon</a></li><li class="parent-link-li"><a href="/blogs/authors" tabindex="0">Our Authors</a></li><li class="parent-link-li"><a href="/blogs/features" tabindex="0">Blog </a></li><li class="parent-link-li"><a href="https://corporate.harpercollins.co.uk/" tabindex="0">About Us</a><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512" fill="#cccccc"><path stroke="#cccccc" d="M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z"/></svg><ul class="menu-level-2"><li><a href="https://corporate.harpercollins.co.uk/">About Us</a> <ul class="menu-level-3"><li> <a href="https://corporate.harpercollins.co.uk/contact-us/">Contact Us</a> </li><li> <a href="https://harpercollins.co.uk/pages/customer-service">Customer Service</a> </li><li> <a href="https://signup.harpercollins.co.uk/join/signup-group">Newsletter Sign-Up</a> </li><li> <a href="https://www.readersroom-harpercollins.co.uk/registration?src=hcuk">Readers Room</a> </li><li> <a href="https://corporate.harpercollins.co.uk/what-we-publish/">What We Publish</a> </li></ul> </li><li>Work For Us <ul class="menu-level-3"><li> <a href="https://corporate.harpercollins.co.uk/careers/application-process/">Applying To Work With Us</a> </li><li> <a href="https://corporate.harpercollins.co.uk/careers/early-careers/">Early Careers</a> </li><li> <a href="https://app.beapplied.com/org/822/harpercollins-publishers">Latest Job Opportunities</a> </li></ul> </li><li><a href="https://twitter.com/HarperCollinsUK?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor">Social</a> <ul class="menu-level-3"><li> <a href="https://twitter.com/HarperCollinsUK?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor">X</a> </li><li> <a href="https://www.instagram.com/harpercollinsuk/">Instagram</a> </li><li> <a href="https://www.facebook.com/HarperCollinsPublishersUK">Facebook</a> </li><li> <a href="https://www.pinterest.co.uk/harpercollinspublishersuk/_created/">Pinterest</a> </li><li> <a href="https://www.tiktok.com/@harpercollinsuk">TikTok</a> </li></ul> </li></ul></li></ul> </div> </div> </div> </div> </nav> <script> window.addEventListener("load", (event) => { document.querySelectorAll('.account-link').forEach((button) => { button.addEventListener('click', (e) => { e.preventDefault(); window.location = window.location.origin + '/account/login'; }); }); }); </script> <script> document.addEventListener('DOMContentLoaded', function() { var placeholderList = "Search ....,Search for books,Search HarperCollins books,Enter a book name or ISBN,What would you like to read next?,Your next great read is just a search away...,Find a new book here..."; var placeholders = placeholderList.split(','); function getRandomPlaceholder() { var randomIndex = Math.floor(Math.random() * placeholders.length); return placeholders[randomIndex]; } var searchBoxes = document.querySelectorAll('.bc-sf-search-box'); searchBoxes.forEach(function(searchBox) { searchBox.setAttribute('placeholder', getRandomPlaceholder()); }); }); </script> <script> var nav = new Vue({ el: '#fullNav', data: { }, methods: { closeItUp: function(link, e){ this.hoveredLink = ""; }, clickOnLink: function(link, e){ var self = this; if(link.sublinks.length > 0 && this.hoveredLink != link.title){ this.hoveredLink = link.title; e.srcElement.setAttribute('aria-expanded', 'true'); var ariaLabelText = 'close ' +link.title + ' dropdown'; e.srcElement.setAttribute('aria-label', ariaLabelText); var curIndex = e.srcElement.getAttribute('data-index'); e.srcElement.setAttribute('tabindex', '1'); var dropDownElement = document.getElementById(link.handle_title); var focusableEls = dropDownElement.querySelectorAll('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])'); firstFocusableEl = focusableEls[0]; var lastFocusableEl = focusableEls[focusableEls.length - 1]; var KEYCODE_TAB = 9; var KEYCODE_ESCAPE = 27; dropDownElement.addEventListener('keydown', function(event) { if (event.key === "Escape" || event.keyCode === KEYCODE_ESCAPE) { self.hoveredLink = "" var ariaLabelText = 'open ' +link.title + ' dropdown'; e.srcElement.setAttribute('aria-expanded', 'false'); e.srcElement.setAttribute('aria-label', ariaLabelText); e.srcElement.setAttribute('tabindex', '0'); e.srcElement.focus(); return; }else{ var isTabPressed = (event.key === 'Tab' || event.keyCode === KEYCODE_TAB); if (!isTabPressed) { return; } if (document.activeElement === lastFocusableEl) { e.srcElement.focus(); event.preventDefault(); } } }) }else if(link.sublinks.length > 0 && this.hoveredLink == link.title){ this.hoveredLink = '' var ariaLabelText = 'open ' +link.title + ' dropdown'; e.srcElement.setAttribute('aria-expanded', 'false'); e.srcElement.setAttribute('aria-label', ariaLabelText); e.srcElement.setAttribute('tabindex', '0'); } }, showBlocks: function(block){ return []; }, openNav(){ /* Set the width of the side navigation to 250px and the left margin of the page content to 250px */ var vm = this; vm.$refs.mySidenav.style.width = "250px"; vm.$refs.offPage.style.marginLeft = "250px"; }, closeNav() { /* Set the width of the side navigation to 0 and the left margin of the page content to 0 */ var vm = this; vm.$refs.mySidenav.style.width = "0"; vm.$refs.offPage.style.marginLeft = "0"; } }, mounted: function(){ $('#desktop-account-link').attr('href', $('#desktop-account-link').attr('href') + '&return_to=' + encodeURIComponent(window.location.origin+'/account')); $('#mobile-account-link').attr('href', $('#mobile-account-link').attr('href') + '&return_to=' + encodeURIComponent(window.location.origin+'/account')); }, delimiters: ['<%', '%>'] }); var cart = new Vue({ el: '.cart-container', data: { showCart: false, cart: [] }, methods: { refreshCart: function() { var self = this; $.ajax({ type: 'GET', url: '/cart.json', dataType: 'json', success: function(response) { self.cart = response.items; $('.item-count').show().html(response.item_count); }, error: function(e) { console.error(e); } }); } }, mounted() { var self = this; self.refreshCart(); setTimeout(function() { if (document.getElementsByClassName("shg-btn")) { var elements = document.getElementsByClassName("shg-btn"); var refreshCartCount = function() { setTimeout(function() { $.ajax({ type: 'GET', url: '/cart.json', dataType: 'json', success: function(response) { self.cart = response.items; $('.item-count').show().html(response.item_count); }, error: function(e) { console.error(e); } }); }, 500); }; for (var i = 0; i < elements.length; i++) { elements[i].addEventListener('click', refreshCartCount, false); } } }, 1000); }, delimiters: ['<%', '%>'] }); // Function to make the header sticky on mobile function toggleStickyHeader() { const header = document.querySelector('.header'); const body = document.querySelector('body'); let lastScrollTop = 0; window.addEventListener('scroll', function () { let scrollTop = window.pageYOffset || document.documentElement.scrollTop; if (window.innerWidth > 768) { if (scrollTop > lastScrollTop) { // Scrolling down header.classList.add('sticky'); body.classList.add('sticky'); } else { // Scrolling up header.classList.remove('sticky'); body.classList.remove('sticky'); } } else { if (scrollTop > 0) { // Scrolling down or up but not at the top header.classList.add('sticky'); body.classList.add('sticky'); } else { // At the top header.classList.remove('sticky'); body.classList.remove('sticky'); } } lastScrollTop = scrollTop <= 0 ? 0 : scrollTop; // For Mobile }); window.addEventListener('resize', function () { if (window.innerWidth <= 768) { header.classList.remove('sticky'); body.classList.remove('sticky'); } }); } // Run the function on initial load window.onload = function () { toggleStickyHeader(); updateViolatorBarHeight(); }; function updateViolatorBarHeight() { if (window.innerWidth <= 768) { const violatorBar = document.querySelector('.violator-bar'); const searchBox = document.querySelector('.search-box'); if (violatorBar) { const violatorBarHeight = violatorBar.offsetHeight; const totalHeight = violatorBarHeight + 60; // Set a CSS variable with the calculated height document.documentElement.style.setProperty('--violator-bar-height', `${totalHeight}px`); } // Calculate the distance of the .search-box from the top on scroll if (searchBox) { window.addEventListener('scroll', function () { const searchBoxDistance = searchBox.getBoundingClientRect().top + window.scrollY; document.documentElement.style.setProperty('--search-box-distance', `${searchBoxDistance}px`); }); } } } // Fire on window resize and initial load window.addEventListener('resize', updateViolatorBarHeight); </script> <style> .ios .header:not(.sticky) .navbar-collapse{ top: 100px; } .link1 > a { font-size: 16px !important; } .link2 > a { font-size: 16px !important; } .link3 > a { font-size: 16px !important; } .sub-header { display:flex; flex-wrap:wrap; } .menu-enter-active, .menu-leave-active { transition: all 0.3s; } .menu-enter, .menu-leave-to{ opacity: 0; transform:translateY(0); } .BI-Text{ color:black; text-decoration:none; margin-bottom:0; padding-bottom:0; font-size: .8125rem; line-height: 1.5625rem; } .BI-LinkText{ color:#0071ce!important; } .BI-LinkText:hover{ color:#0071ce!important; } .BI-LinkText{ font-size: .8125rem; line-height: 1.5625rem; margin:0; padding:0; } .BI-Text, .BI-LinkText:hover{ text-decoration:none !important; } .imageAndText{ flex-wrap:wrap; font-size: .8125rem; line-height:1.5625rem; align-items:center; } nav.lower-header.links button{ text-decoration: none; color: #000; font-weight: 700; font-size: 16px!important; } .parent-link-li.parent:focus-within{ outline: -webkit-focus-ring-color auto 1px; } .parent-link-li:focus-visible a{ outline: none; } .parent-link-li > button{ border:none; background: transparent; font-weight: 700; } </style> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": "HarperCollins Publishers UK", "sameAs": [ "https:\/\/twitter.com\/HarperCollinsUK?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor", "https:\/\/www.facebook.com\/HarperCollinsPublishersUK", "https:\/\/www.pinterest.co.uk\/harpercollinspublishersuk\/", "https:\/\/www.instagram.com\/harpercollinsuk\/", null, null, null, null ], "url": "https:\/\/harpercollins.co.uk\/pages\/tolkien" } </script> </div> <main class="main-content" role="main" tabindex="-1"> <script type="text/javascript"> window.__shgProducts = window.__shgProducts || {}; </script> <script type="text/javascript"> window.__shgMoneyFormat = window.__shgMoneyFormat || {"EUR":{"currency":"EUR","currency_symbol":"€","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","},"GBP":{"currency":"GBP","currency_symbol":"£","currency_symbol_location":"left","decimal_places":2,"decimal_separator":".","thousands_separator":","}}; window.__shgCurrentCurrencyCode = window.__shgCurrentCurrencyCode || { currency: "GBP", currency_symbol: "£", decimal_separator: ".", thousands_separator: ",", decimal_places: 2, currency_symbol_location: "left" }; </script> <div id="shopify-section-page-breadcrumbs" class="shopify-section"><section class="breadcrumbs"> <div class="container"> <div class="row"> <div class="breadcrumbs-container col-12"> <a href="/">Home</a> > <a href="/pages/tolkien">Tolkien</a> </div> </div> </div> </section></div> <div id="shopify-section-shogun-page-template" class="shopify-section"><div class="container" id="generic-page"> <div class="row"> <div class="col-12"> <div class="generic-content container"> <div class="shogun-root" data-shogun-id="5fd1de91e922c40081becaa8" data-shogun-site-id="a3617696-a161-4c4b-bcc7-e699dd7830f2" data-shogun-page-id="5fd1de91e922c40081becaa8" data-shogun-page-version-id="664dd0503ca0a3f79dd8103e" data-shogun-platform-type="shopify" data-shogun-variant-id="664dd0503ca0a3f79dd81154" data-shogun-page-type="page" data-shogun-power-up-type="" data-shogun-power-up-id="" data-region="main"> <link rel="stylesheet" type="text/css" href="https://a.shgcdn2.com/css-2025-04-02-1047/664dd0503ca0a3f79dd8103e_664dd0503ca0a3f79dd81154.css"> <script type="text/javascript" src="https://a.shgcdn2.com/js-2025-03-12-5418/global-assets-5417fbbd1077151f53564cce283b61cb753784c2.js" defer></script> <script type="text/javascript" src="https://a.shgcdn2.com/js-2025-03-12-5418/custom_elements_asset_664dd0503ca0a3f79dd8103e_664dd0503ca0a3f79dd81154.js" defer></script> <div class="shg-c shogun-image-container shg-align-center" style="opacity: 1;" id="s-41053a4b-ed1e-4c30-a0bb-5cb5f85fe832"> <img src="https://i.shgcdn.com/0bfe8fa8-4c95-465a-b899-5e99cedc3eae/-/format/auto/-/preview/3000x3000/-/quality/lighter/" width="" height="" style="" alt="" class="shogun-image " decoding="async" loading="eager"> </div> <script class="__SHG_DATA__" type="application/json"> { "__shgImageElements": { "uuid": "s-41053a4b-ed1e-4c30-a0bb-5cb5f85fe832" } } </script> <div class="shg-box-vertical-align-wrapper"> <div class="shg-box shg-c " id="s-6fc0f08c-ecb4-4161-ad8b-80457652a56b"> <div class="shg-box-overlay"></div> <div class="shg-box-content"> <div id="s-d46a8c15-a881-47b0-88d2-799d781a118d" class="shg-c "> <div style="float:left;" class="d-md-flex align-items-center header-social-btns"> <span class="ml-auto align-text-middle">Get Exclusive News & Offers </span> <a href="https://signup.harpercollins.co.uk/join/signup-harperfiction-tolkien" style="margin:10px"> <button type="button" class="btn btn-primary btn-sm">Sign up</button> </a> </div> <div class="d-md-flex align-items-center header-social-btns"> <span class="ml-auto align-text-middle">Join us on Facebook</span><a href="https://www.facebook.com/officialtolkien" style="margin:10px" class="btn btn-primary btn-sm" target="_blank"><i class="fa fa-facebook" aria-hidden="true"></i> Tolkien</a><a style="margin:10px" href="https://www.facebook.com/lordoftheringsbook" class="btn btn-primary btn-sm" target="_blank"><i class="fa fa-facebook" aria-hidden="true"></i> Lord Of The Rings</a><a style="margin:10px" href="https://www.facebook.com/TheHobbitBook" class="btn btn-primary btn-sm" target="_blank"><i class="fa fa-facebook" aria-hidden="true"></i> The Hobbit</a> </div> </div> </div> </div> </div> <div id="s-625b098b-f1de-4a97-9b0a-6f41643bb0a9" class="shg-c "> <div id="slider-s-625b098b-f1de-4a97-9b0a-6f41643bb0a9" class="shg-sld"> <div class="shg-sld-content"> <div class="shg-sld-nav-button shg-sld-left "> <svg width="1792" height="1792" viewbox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg" style="fill: rgba(113, 113, 113, 1);"> <path d="M1203 544q0 13-10 23l-393 393 393 393q10 10 10 23t-10 23l-50 50q-10 10-23 10t-23-10l-466-466q-10-10-10-23t10-23l466-466q10-10 23-10t23 10l50 50q10 10 10 23z"></path> </svg> </div> <div class="shg-sld-slides shg-sld-slides-padded"> <div class="shg-sld-item animate__animated shg-sld-active "> <div> <div class="shg-c shogun-image-container shogun-image-linked shg-align-center" style="opacity: 1;" id="s-2b83253c-df21-41e1-b98e-af9cc2ea9b61"> <a class="shogun-image-link" href="https://harpercollins.co.uk/products/the-lord-of-the-rings-j-r-r-tolkien?variant=39392135381070"> <img src="https://i.shgcdn.com/233f61ed-6fdf-41d1-b5ed-7cc118e23c82/-/format/auto/-/preview/3000x3000/-/quality/lighter/" width="" height="" style="" alt="The Lord of the Rings, Illustrated by J.R.R. Tolkien" class="shogun-image " decoding="async" loading="eager"> </a> </div> <script class="__SHG_DATA__" type="application/json"> { "__shgImageElements": { "uuid": "s-2b83253c-df21-41e1-b98e-af9cc2ea9b61" } } </script> </div> </div> <div class="shg-sld-item animate__animated "> <div> <div class="shg-c shogun-image-container shogun-image-linked shg-align-center" style="opacity: 1;" id="s-72b94948-ffc2-4c5f-8f17-cb7228047329"> <a class="shogun-image-link" href="https://harpercollins.co.uk/products/the-nature-of-middle-earth-j-r-r-tolkien?variant=39278611398734"> <img src="https://i.shgcdn.com/3ebbda0c-31c0-4f4e-a51b-aeddf3a514bc/-/format/auto/-/preview/3000x3000/-/quality/lighter/" width="" height="" style="" alt="The Nature of Middle-earth" class="shogun-image " decoding="async" loading="eager"> </a> </div> <script class="__SHG_DATA__" type="application/json"> { "__shgImageElements": { "uuid": "s-72b94948-ffc2-4c5f-8f17-cb7228047329" } } </script> </div> </div> <div class="shg-sld-item animate__animated "> <div> <div class="shg-c shogun-image-container shogun-image-linked shg-align-center" style="opacity: 1;" id="s-0afc951d-a17f-4020-b47e-c8c30124e986"> <a class="shogun-image-link" href="https://harpercollins.co.uk/products/pictures-by-jrr-tolkien-christopher-tolkien?variant=39385760137294"> <img src="https://i.shgcdn.com/53469ff2-e60b-479f-9f5f-af4db889e250/-/format/auto/-/preview/3000x3000/-/quality/lighter/" width="" height="" style="" alt="Picture by J.R.R. Tolkien" class="shogun-image " decoding="async" loading="eager"> </a> </div> <script class="__SHG_DATA__" type="application/json"> { "__shgImageElements": { "uuid": "s-0afc951d-a17f-4020-b47e-c8c30124e986" } } </script> </div> </div> </div> <div class="shg-sld-nav-button shg-sld-right "> <svg width="1792" height="1792" viewbox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg" style="fill: rgba(113, 113, 113, 1);"> <path d="M1171 960q0 13-10 23l-466 466q-10 10-23 10t-23-10l-50-50q-10-10-10-23t10-23l393-393-393-393q-10-10-10-23t10-23l50-50q10-10 23-10t23 10l466 466q10 10 10 23z"></path> </svg> </div> </div> <div class="shg-sld-dots"> <div class="shg-sld-dot shg-sld-active"></div> <div class="shg-sld-dot"></div> <div class="shg-sld-dot"></div> </div> </div> <script class="__SHG_DATA__" type="application/json"> { "__shgSlider": { "id": "#slider-s-625b098b-f1de-4a97-9b0a-6f41643bb0a9", "intervalTime": 5, "autoplay": false, "pauseOnHover": false, "transition": "animate__noAnimation", "interval": null } } </script> </div> <div id="s-8741ab60-4d41-4fdf-b3a9-5babe7c37069" class="shg-c "> <div class="shg-rich-text shg-theme-text-content"> <h1 style="text-align: center;">The Official Tolkien Bookshop</h1> <p style="text-align: center;">WELCOME TO THE TOLKIEN ONLINE BOOK SHOP, brought to you by HarperCollins, J.R.R. Tolkien’s official publisher, selling signed and deluxe editions of Tolkien’s books, plus a fascinating and definitive collection of official titles written by and about one of the world’s most popular and successful authors.</p> </div> </div> <div id="s-e849f8e5-6295-4ea3-aa53-bdb486bbf6a0" class="shg-c "> <div class="shg-hr-wrapper"> <hr> </div> </div> <div class="shg-c " id="s-cf160a17-fccf-4621-9acc-d80fc959c759"> <div class="shg-row" data-col-grid-mode-on=""> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-6"> <div class="shg-c shogun-image-container shogun-image-linked shg-align-center" style="opacity: 1;" id="s-5683c022-f1a8-4770-a051-e5349844061f"> <a class="shogun-image-link" href="/collections/tolkien-exclusive-deluxe"> <img src="https://i.shgcdn.com/a7189910-46bb-492b-9a91-d7a36f4a597f/-/format/auto/-/preview/3000x3000/-/quality/lighter/" width="" height="" style="" alt="" class="shogun-image " decoding="async" loading="lazy"> </a> </div> <script class="__SHG_DATA__" type="application/json"> { "__shgImageElements": { "uuid": "s-5683c022-f1a8-4770-a051-e5349844061f" } } </script> <div id="s-a734731f-04a3-44f8-ad68-19f5c719411e" class="shg-c "> <div class="shg-rich-text shg-theme-text-content"><div style="text-align: center;">Deluxe Editions</div></div> </div> </div> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-6"> <div class="shg-c shogun-image-container shogun-image-linked shg-align-center" style="opacity: 1;" id="s-88e50bec-d03c-4e67-b9b3-eea12113c526"> <a class="shogun-image-link" href="https://harpercollins.co.uk/collections/the-hobbit"> <img src="https://i.shgcdn.com/fefdbffe-94d6-492e-8f8c-98d2ed21a8fc/-/format/auto/-/preview/3000x3000/-/quality/lighter/" width="" height="" style="" alt="" class="shogun-image " decoding="async" loading="lazy"> </a> </div> <script class="__SHG_DATA__" type="application/json"> { "__shgImageElements": { "uuid": "s-88e50bec-d03c-4e67-b9b3-eea12113c526" } } </script> <div id="s-94b1980c-2a1c-46d8-a0ef-8437b09c9cba" class="shg-c "> <div class="shg-rich-text shg-theme-text-content"><div style="line-height: normal; text-align: center;">The Hobbit</div></div> </div> </div> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-6"> <div class="shg-c shogun-image-container shogun-image-linked shg-align-center" style="opacity: 1;" id="s-8dd5aa31-0c60-4b35-9f14-df795003c4a3"> <a class="shogun-image-link" href="/collections/the-lord-of-the-rings"> <img src="https://i.shgcdn.com/664d7a45-b840-424d-973b-b114ba17cef2/-/format/auto/-/preview/3000x3000/-/quality/lighter/" width="" height="" style="" alt="" class="shogun-image " decoding="async" loading="lazy"> </a> </div> <script class="__SHG_DATA__" type="application/json"> { "__shgImageElements": { "uuid": "s-8dd5aa31-0c60-4b35-9f14-df795003c4a3" } } </script> <div id="s-ddcd0cd2-143d-4700-982e-1d04429658b2" class="shg-c "> <div class="shg-rich-text shg-theme-text-content"><div style="line-height: normal; text-align: center;">The Lord of the Rings</div></div> </div> </div> <div class="shg-c-lg-3 shg-c-md-3 shg-c-sm-3 shg-c-xs-6"> <div class="shg-c shogun-image-container shogun-image-linked shg-align-center" style="opacity: 1;" id="s-85ff4f7e-f9e3-4d70-b8af-45e1255fce9f"> <a class="shogun-image-link" href="/collections/tolkien-middle-earth-beyond"> <img src="https://i.shgcdn.com/a40308ba-d2e5-47ec-bf3a-c921dada1103/-/format/auto/-/preview/3000x3000/-/quality/lighter/" width="" height="" style="" alt="" class="shogun-image " decoding="async" loading="lazy"> </a> </div> <script class="__SHG_DATA__" type="application/json"> { "__shgImageElements": { "uuid": "s-85ff4f7e-f9e3-4d70-b8af-45e1255fce9f" } } </script> <div id="s-5d3c40ac-12dd-4faf-97f3-457485ea9045" class="shg-c "> <div class="shg-rich-text shg-theme-text-content"><div style="line-height: normal; text-align: center;">Middle-earth and Beyond</div></div> </div> </div> </div> </div> <div id="s-5df27157-a594-4c32-b0a9-9bc33b3884fb" class="shg-c "> <div style="display:none;" id="collectionSelect"> {"id"=>"261902041166", "position"=>nil, "model_id"=>"5f05c1d9d8b023000342731f", "handle"=>"books-by-j-r-r-tolkien-1", "updated_at"=>2021-08-18 13:58:35 UTC, "published_at"=>"2021-08-18T14:36:30+01:00", "sort_order"=>"manual", "template_suffix"=>"", "published_scope"=>"web", "title"=>"Tolkien Homepage", "body_html"=>"", "admin_graphql_api_id"=>"gid://shopify/Collection/261902041166", "external_type"=>"custom", "created_at"=>nil, "guid"=>"f5abecf3-67f1-4eec-81de-bb27ddbb2a24", "page_builder_metadata"=>{}} </div> <div style="width:100%; background-color:;padding:30px 0px;"> <div class="container shogun-custom-slider-books-by-j-r-r-tolkien-1"> <h4 style="text-align:center; padding:25px; color:;">Begin your journey through Middle-earth...</h4> <div class="row shogun-slider-row"> <div class="col-1 left-shogun-arrow"> <div id="swiper-button-prev-books-by-j-r-r-tolkien-1" style="text-align:right;"> <svg style="height:60px;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 320 512"><path stroke="#A1A1A1" fill="#A1A1A1" d="M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"></path></svg> </div> </div> <div class="col-10"> <div class="collection-container"> <div class="swiper-container-shogun initSwiper-books-by-j-r-r-tolkien-1" collectionhandle="books-by-j-r-r-tolkien-1" cartbtntext="Add to Basket"> <div class="swiper-wrapper shogun-slides-books-by-j-r-r-tolkien-1"> </div> </div> </div> </div> <div class="col-1"> <div id="swiper-button-next-books-by-j-r-r-tolkien-1" style="text-align: left;"> <svg style="height:60px;" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 320 512"><path stroke="#A1A1A1" fill="#A1A1A1" d="M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"></path></svg> </div> </div> </div> </div> </div> <style> .title-books-by-j-r-r-tolkien-1{ text-align:left; font-size:16px; color: #387bbe ; margin-top:15px; } .shogun-slider-price-books-by-j-r-r-tolkien-1{ margin:5px 0px; color:black; text-align:left; width:100%; display:none; } .shogun-addToCart-books-by-j-r-r-tolkien-1{ background-color: #387bbe ; margin-top:15px; color: #fff ; display:none; font-size:14px; } .shogun-addToCart-books-by-j-r-r-tolkien-1:hover{ color: #fff !important; background-color: #387bbe !important; } .showAll-shogun-books-by-j-r-r-tolkien-1{ background-color: #387bbe ; color: #fff ; } .showAll-shogun-books-by-j-r-r-tolkien-1:hover{ background-color: #387bbe !important; color: #fff !important; } .shogun-slider-image-books-by-j-r-r-tolkien-1{ max-height:400px; width:100%; } .btn:focus{ box-shadow:none; } .btn{ /*padding:.375rem .35rem;*/ } .slides-books-by-j-r-r-tolkien-1{ background-color: ; } @media only screen and (max-width:426px){ #swiper-button-next-books-by-j-r-r-tolkien-1{ margin-left:-25px; } #swiper-button-prev-books-by-j-r-r-tolkien-1{ margin-left:-10px; } } .authorNames-shogun-books-by-j-r-r-tolkien-1{ font-size:16px; text-align:left; } .authorNames-shogun-books-by-j-r-r-tolkien-1 a{ } .shogun-slider-image-books-by-j-r-r-tolkien-1{ max-height: 210px; width: auto; } .shogun-slider-image-container{ justify-content: center; } </style> <script> $('.swiper-container-shogun').each(function(){ setTimeout(function(){ var swiper = new Swiper('.initSwiper-books-by-j-r-r-tolkien-1', { slidesPerView: 6 , centeredSlides: false, loop: true, lazy: true, spaceBetween: 20, navigation: { nextEl: '#swiper-button-next-books-by-j-r-r-tolkien-1', prevEl: '#swiper-button-prev-books-by-j-r-r-tolkien-1', }, breakpoints: { 700: { slidesPerView: 2, spaceBetween: 30 }, 900: { slidesPerView: 4, spaceBetween: 30 } } }); }, 800); }) </script> </div> <div id="s-955efb52-cb9a-436c-b560-61e43a11fe6e-root" class="shg-c shg-btn-wrapper shg-align-center"> <a id="s-955efb52-cb9a-436c-b560-61e43a11fe6e" class="shg-btn shg-cse shg-btn-text " href=""> See All J.R.R. Tolkien Books </a> </div> </div> </div> </div> </div> </div> </div> </main> <div id="shopify-section-footer" class="shopify-section"> <footer class="hcFooter container" style = "padding-top: 35px; padding-bottom: 35px; flex-wrap:wrap;"> <ul class="footNavCont container row d-none d-xl-flex"> <li style="margin: 5px 10px;"> <!-- Debug: search vs harpercollins.co.uk --> <a class="titleBold" href="/search" >Contact Us</a> <ul class="child"> <li> <!-- Debug: pagescustomer-service vs harpercollins.co.uk --> <a class="child-link" href="/pages/customer-service" >Customer Service</a> </li> <li> <!-- Debug: corporate.harpercollins.co.ukcontact-us vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/contact-us/" rel="nofollow" >How to Contact Us</a> </li> <li> <!-- Debug: corporate.harpercollins.co.ukpeople-and-cultureabout-our-offices vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/people-and-culture/about-our-offices/" rel="nofollow" >About Our Offices</a> </li> </ul> </li><li style="margin: 5px 10px;"> <!-- Debug: corporate.harpercollins.co.ukabout-us vs harpercollins.co.uk --> <a class="titleBold" href="https://corporate.harpercollins.co.uk/about-us/" rel="nofollow" >About Us</a> <ul class="child"> <li> <!-- Debug: corporate.harpercollins.co.ukabout-usexecutive-committee vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/about-us/executive-committee/" rel="nofollow" >Executive Commitee</a> </li> <li> <!-- Debug: corporate.harpercollins.co.ukabout-uscorporate-social-responsibility vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/about-us/corporate-social-responsibility/" rel="nofollow" >Corporate Social Responsibility</a> </li> <li> <!-- Debug: corporate.harpercollins.co.ukcareers vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/careers/" rel="nofollow" >Careers</a> </li> <li> <!-- Debug: corporate.harpercollins.co.ukharpercollins-imprints vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/harpercollins-imprints/" rel="nofollow" >What We Publish</a> </li> <li> <!-- Debug: investors.newscorp.com vs harpercollins.co.uk --> <a class="child-link" href="https://investors.newscorp.com/" rel="nofollow" >Investors</a> </li> </ul> </li><li style="margin: 5px 10px;"> <!-- Debug: corporate.harpercollins.co.ukcareersapplication-process vs harpercollins.co.uk --> <a class="titleBold" href="https://corporate.harpercollins.co.uk/careers/application-process/" rel="nofollow" >Work With Us</a> <ul class="child"> <li> <!-- Debug: corporate.harpercollins.co.ukcareersapplication-process vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/careers/application-process/" rel="nofollow" >Applying To Work with Us</a> </li> <li> <!-- Debug: corporate.harpercollins.co.ukcareersearly-careers vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/careers/early-careers/" rel="nofollow" >Early Careers</a> </li> </ul> </li><li style="margin: 5px 10px;"> <!-- Debug: vs harpercollins.co.uk --> <a class="titleBold" href="/" >For Authors</a> <ul class="child"> <li> <!-- Debug: corporate.harpercollins.co.ukreportingreport-piracy vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/reporting/report-piracy/" rel="nofollow" >Report Piracy</a> </li> <li> <!-- Debug: corporate.harpercollins.co.ukgetting-publishedpublishing-fraud-alert vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/getting-published/publishing-fraud-alert/" rel="nofollow" >Publishing Fraud Alert</a> </li> </ul> </li><li style="margin: 5px 10px;"> <!-- Debug: vs harpercollins.co.uk --> <a class="titleBold" href="/" >Media</a> <ul class="child"> <li> <!-- Debug: corporate.harpercollins.co.ukhc-mediacontacts vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/hc-media/contacts/" rel="nofollow" >Publicity Contacts</a> </li> <li> <!-- Debug: corporate.harpercollins.co.ukpress-releases vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/press-releases/" rel="nofollow" >Press Releases</a> </li> <li> <!-- Debug: corporate.harpercollins.co.ukhc-mediareview-copy-guidelines vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/hc-media/review-copy-guidelines/" rel="nofollow" >Review Copy Guidelines</a> </li> </ul> </li><li style="margin: 5px 10px;"> <!-- Debug: vs harpercollins.co.uk --> <a class="titleBold" href="/" >Business Centre</a> <ul class="child"> <li> <!-- Debug: corporate.harpercollins.co.uksales-rights vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/sales-rights/" rel="nofollow" >Sales & Rights</a> </li> <li> <!-- Debug: corporate.harpercollins.co.uksales-rights vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/sales-rights/" rel="nofollow" >Supply Chain & Distribution</a> </li> <li> <!-- Debug: harpercollins.co.ukpagesharpercollinspublishersuk-termsandconditions vs harpercollins.co.uk --> <a class="child-link" href="https://harpercollins.co.uk/pages/harpercollinspublishersuk-termsandconditions" >Terms and Conditions</a> </li> </ul> </li><li style="margin: 5px 10px;"> <!-- Debug: vs harpercollins.co.uk --> <a class="titleBold" href="/" >Global Divisions</a> <ul class="child"> <li> <!-- Debug: corporate.harpercollins.co.ukgetting-publishedsubmissions vs harpercollins.co.uk --> <a class="child-link" href="https://corporate.harpercollins.co.uk/getting-published/submissions/" rel="nofollow" >Submissions</a> </li> <li> <!-- Debug: harpercollins.compagesworldwide vs harpercollins.co.uk --> <a class="child-link" href="https://www.harpercollins.com/pages/worldwide" rel="nofollow" >Harpercollins Global</a> </li> <li> <!-- Debug: harpercollins.com vs harpercollins.co.uk --> <a class="child-link" href="https://www.harpercollins.com/" rel="nofollow" >Harpercollins US</a> </li> <li> <!-- Debug: harpercollins.ca vs harpercollins.co.uk --> <a class="child-link" href="https://www.harpercollins.ca/" rel="nofollow" >Harpercollins Canada</a> </li> <li> <!-- Debug: harpercollins.com.au vs harpercollins.co.uk --> <a class="child-link" href="https://www.harpercollins.com.au/" rel="nofollow" >Harpercollins Australia</a> </li> <li> <!-- Debug: harpercollins.co.in vs harpercollins.co.uk --> <a class="child-link" href="https://harpercollins.co.in/" rel="nofollow" >Harpercollins India</a> </li> </ul> </li><li style="margin: 5px 10px;"> <!-- Debug: vs harpercollins.co.uk --> <a class="titleBold" href="/" >GLOSE APP</a> <ul class="child"> <li> <!-- Debug: harpercollins.co.ukpagesstart-reading-glose vs harpercollins.co.uk --> <a class="child-link" href="https://harpercollins.co.uk/pages/start-reading-glose" >Start Reading</a> </li> <li> <!-- Debug: apps.apple.comgbappgloseid896681871 vs harpercollins.co.uk --> <a class="child-link" href="https://apps.apple.com/gb/app/glose/id896681871" rel="nofollow" >iPhone</a> </li> <li> <!-- Debug: play.google.comstoreappsdetails?id=com.glose.android vs harpercollins.co.uk --> <a class="child-link" href="https://play.google.com/store/apps/details?id=com.glose.android" rel="nofollow" >Android</a> </li> <li> <!-- Debug: pagesecommerce-faqs vs harpercollins.co.uk --> <a class="child-link" href="/pages/ecommerce-faqs" >eCommerce FAQs</a> </li> <li> <!-- Debug: help.glose.com vs harpercollins.co.uk --> <a class="child-link" href="https://help.glose.com/" rel="nofollow" >Ebooks Help with Glose Reader</a> </li> </ul> </li></ul> <div id = "mobile-footer" class = "m-footerNavCont d-flex d-xl-none"> <button data-toggle= "collapse" data-target = "#title-1"> <b><a class = "titleBold" >Contact Us</a></b> </button> <div id = "title-1" class = "collapse"> <ul class="child"> <li> <a class="child-link" href= "/pages/customer-service">Customer Service</a> </li> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/contact-us/">How to Contact Us</a> </li> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/people-and-culture/about-our-offices/">About Our Offices</a> </li> </ul> </div> <button data-toggle= "collapse" data-target = "#title-2"> <b><a class = "titleBold" >About Us</a></b> </button> <div id = "title-2" class = "collapse"> <ul class="child"> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/about-us/executive-committee/">Executive Commitee</a> </li> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/about-us/corporate-social-responsibility/">Corporate Social Responsibility</a> </li> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/careers/">Careers</a> </li> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/harpercollins-imprints/">What We Publish</a> </li> <li> <a class="child-link" href= "https://investors.newscorp.com/">Investors</a> </li> </ul> </div> <button data-toggle= "collapse" data-target = "#title-3"> <b><a class = "titleBold" >Work With Us</a></b> </button> <div id = "title-3" class = "collapse"> <ul class="child"> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/careers/application-process/">Applying To Work with Us</a> </li> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/careers/early-careers/">Early Careers</a> </li> </ul> </div> <button data-toggle= "collapse" data-target = "#title-4"> <b><a class = "titleBold" >For Authors</a></b> </button> <div id = "title-4" class = "collapse"> <ul class="child"> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/reporting/report-piracy/">Report Piracy</a> </li> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/getting-published/publishing-fraud-alert/">Publishing Fraud Alert</a> </li> </ul> </div> <button data-toggle= "collapse" data-target = "#title-5"> <b><a class = "titleBold" >Media</a></b> </button> <div id = "title-5" class = "collapse"> <ul class="child"> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/hc-media/contacts/">Publicity Contacts</a> </li> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/press-releases/">Press Releases</a> </li> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/hc-media/review-copy-guidelines/">Review Copy Guidelines</a> </li> </ul> </div> <button data-toggle= "collapse" data-target = "#title-6"> <b><a class = "titleBold" >Business Centre</a></b> </button> <div id = "title-6" class = "collapse"> <ul class="child"> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/sales-rights/">Sales & Rights</a> </li> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/sales-rights/">Supply Chain & Distribution</a> </li> <li> <a class="child-link" href= "https://harpercollins.co.uk/pages/harpercollinspublishersuk-termsandconditions">Terms and Conditions</a> </li> </ul> </div> <button data-toggle= "collapse" data-target = "#title-7"> <b><a class = "titleBold" >Global Divisions</a></b> </button> <div id = "title-7" class = "collapse"> <ul class="child"> <li> <a class="child-link" href= "https://corporate.harpercollins.co.uk/getting-published/submissions/">Submissions</a> </li> <li> <a class="child-link" href= "https://www.harpercollins.com/pages/worldwide">Harpercollins Global</a> </li> <li> <a class="child-link" href= "https://www.harpercollins.com/">Harpercollins US</a> </li> <li> <a class="child-link" href= "https://www.harpercollins.ca/">Harpercollins Canada</a> </li> <li> <a class="child-link" href= "https://www.harpercollins.com.au/">Harpercollins Australia</a> </li> <li> <a class="child-link" href= "https://harpercollins.co.in/">Harpercollins India</a> </li> </ul> </div> <button data-toggle= "collapse" data-target = "#title-8"> <b><a class = "titleBold" >GLOSE APP</a></b> </button> <div id = "title-8" class = "collapse"> <ul class="child"> <li> <a class="child-link" href= "https://harpercollins.co.uk/pages/start-reading-glose">Start Reading</a> </li> <li> <a class="child-link" href= "https://apps.apple.com/gb/app/glose/id896681871">iPhone</a> </li> <li> <a class="child-link" href= "https://play.google.com/store/apps/details?id=com.glose.android">Android</a> </li> <li> <a class="child-link" href= "/pages/ecommerce-faqs">eCommerce FAQs</a> </li> <li> <a class="child-link" href= "https://help.glose.com/">Ebooks Help with Glose Reader</a> </li> </ul> </div> </div> <div id ="footSIcontain" class="container" style = "border-bottom: 3px solid grey;"> <div class="social-icons--circle footer-icons"> <a href="https://www.instagram.com/harpercollinsuk/" class="social-sharing__link social-link social-link--instagram" target="_blank" rel="noreferrer noopener nofollow" aria-label="share instagram and this will open new window"> <svg aria-hidden="true" focusable="false" role="presentation" class="social-icon social-icon--instagram" viewBox="0 0 384 448"><path fill="currentColor" d="M256 224c0-35.25-28.75-64-64-64s-64 28.75-64 64 28.75 64 64 64 64-28.75 64-64zM290.5 224c0 54.5-44 98.5-98.5 98.5s-98.5-44-98.5-98.5 44-98.5 98.5-98.5 98.5 44 98.5 98.5zM317.5 121.5c0 12.75-10.25 23-23 23s-23-10.25-23-23 10.25-23 23-23 23 10.25 23 23zM192 66.5c-28 0-88-2.25-113.25 7.75-8.75 3.5-15.25 7.75-22 14.5s-11 13.25-14.5 22c-10 25.25-7.75 85.25-7.75 113.25s-2.25 88 7.75 113.25c3.5 8.75 7.75 15.25 14.5 22s13.25 11 22 14.5c25.25 10 85.25 7.75 113.25 7.75s88 2.25 113.25-7.75c8.75-3.5 15.25-7.75 22-14.5s11-13.25 14.5-22c10-25.25 7.75-85.25 7.75-113.25s2.25-88-7.75-113.25c-3.5-8.75-7.75-15.25-14.5-22s-13.25-11-22-14.5c-25.25-10-85.25-7.75-113.25-7.75zM384 224c0 26.5 0.25 52.75-1.25 79.25-1.5 30.75-8.5 58-31 80.5s-49.75 29.5-80.5 31c-26.5 1.5-52.75 1.25-79.25 1.25s-52.75 0.25-79.25-1.25c-30.75-1.5-58-8.5-80.5-31s-29.5-49.75-31-80.5c-1.5-26.5-1.25-52.75-1.25-79.25s-0.25-52.75 1.25-79.25c1.5-30.75 8.5-58 31-80.5s49.75-29.5 80.5-31c26.5-1.5 52.75-1.25 79.25-1.25s52.75-0.25 79.25 1.25c30.75 1.5 58 8.5 80.5 31s29.5 49.75 31 80.5c1.5 26.5 1.25 52.75 1.25 79.25z"></path></svg> </a> <a href="https://twitter.com/HarperCollinsUK?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor" class="social-sharing__link social-link social-link--twitter" target="_blank" rel="noreferrer noopener nofollow" aria-label="share twitter and this will open new window"> <svg aria-hidden="true" focusable="false" role="presentation" class="social-icon social-icon--twitter" viewBox="0 0 20 20"><path fill="currentColor" d="M19.551 4.208q-.815 1.202-1.956 2.038 0 .082.02.255t.02.255q0 1.589-.469 3.179t-1.426 3.036-2.272 2.567-3.158 1.793-3.963.672q-3.301 0-6.031-1.773.571.041.937.041 2.751 0 4.911-1.671-1.284-.02-2.292-.784T2.456 11.85q.346.082.754.082.55 0 1.039-.163-1.365-.285-2.262-1.365T1.09 7.918v-.041q.774.408 1.773.448-.795-.53-1.263-1.396t-.469-1.864q0-1.019.509-1.997 1.487 1.854 3.596 2.924T9.81 7.184q-.143-.509-.143-.897 0-1.63 1.161-2.781t2.832-1.151q.815 0 1.569.326t1.284.917q1.345-.265 2.506-.958-.428 1.386-1.732 2.18 1.243-.163 2.262-.611z"/></svg> </a> <a href="https://www.facebook.com/HarperCollinsPublishersUK" class="social-sharing__link social-link social-link--facebook" target="_blank" rel="noreferrer noopener nofollow" aria-label="share facebook and this will open new window"> <svg aria-hidden="true" focusable="false" role="presentation" class="social-icon social-icon--facebook" viewBox="0 0 512 512"><path fill="currentColor" d="M304 96h80v-96h-80c-61.757 0-112 50.243-112 112v48h-64v96h64v256h96v-256h80l16-96h-96v-48c0-8.673 7.327-16 16-16z"></path></svg> </a> <a href="https://www.tiktok.com/@harpercollinsuk" class="social-sharing__link social-link social-link--tiktok" target="_blank" rel="noreferrer noopener nofollow" aria-label="share tiktok and this will open new window"> <svg aria-hidden="true" focusable="false" role="presentation" class="social-icon social-icon--tiktok" viewBox="0 0 446.03 511.88"><path fill="currentColor" d="M396.69,231.37q0-6.11,0-12.23-.14-80.38-.27-160.75c0-8,.3-8.35,8.1-8.34,23.53,0,47.06,0,70.59.17,11.38.09,9.3.06,10,9,5.27,70.69,64.6,108.68,109.58,112.54,2,.17,4.05.48,6.08.62,5.9.4,6.25.73,6.26,6.46q0,37.74,0,75.49c0,5.75-.55,6.4-6.35,6.11-40.65-2-78.28-13.2-111.87-36.75a11.4,11.4,0,0,0-3.2-1c-.43,1.5-1.24,3-1.23,4.49.08,13.86.43,27.73.46,41.59q.1,61.19,0,122.38c0,18.67-1,37.29-6.85,55.19-19.08,58.84-58.69,95.84-118.85,110.47-28,6.81-56.07,7.6-83.54-2.33-41.25-14.9-75.1-39.29-95.69-79.08-42.92-83-9.59-178.09,67.52-219.11,29.05-15.45,60-21.08,92.65-17.62,3.45.37,5,1.75,5,5.41q-.15,40.19,0,80.38c0,3.59-1.07,4.43-4.6,3.56-46-11.22-90.51,23.32-91.21,70.64-.56,38,29.65,70.83,68,74,37.6,3.13,72-23.7,78-61.07a89.72,89.72,0,0,0,1.08-14.2q.11-81,0-162v-4.08Z" transform="translate(-160.97 -50.06)"/></svg> </a> <a href="https://www.pinterest.co.uk/harpercollinspublishersuk/" class="social-sharing__link social-link social-link--pinterest" target="_blank" rel="noreferrer noopener nofollow" aria-label="share pinterest and this will open new window"> <svg aria-hidden="true" focusable="false" role="presentation" class="social-icon social-icon--pinterest" viewBox="0 0 320 448"><path fill="currentColor" d="M0 149.25c0-92.25 84.5-149.25 170-149.25 78.5 0 150 54 150 136.75 0 77.75-39.75 164-128.25 164-21 0-47.5-10.5-57.75-30-19 75.25-17.5 86.5-59.5 144l-3.5 1.25-2.25-2.5c-1.5-15.75-3.75-31.25-3.75-47 0-51 23.5-124.75 35-174.25-6.25-12.75-8-28.25-8-42.25 0-25.25 17.5-57.25 46-57.25 21 0 32.25 16 32.25 35.75 0 32.5-22 63-22 94.5 0 21.5 17.75 36.5 38.5 36.5 57.5 0 75.25-83 75.25-127.25 0-59.25-42-91.5-98.75-91.5-66 0-117 47.5-117 114.5 0 32.25 19.75 48.75 19.75 56.5 0 6.5-4.75 29.5-13 29.5-1.25 0-3-0.5-4.25-0.75-35.75-10.75-48.75-58.5-48.75-91.25z"></path></svg> </a> </div> </div> <div class = "sub d-none d-md-flex"> <div id = "rowContain" style = "flex-wrap:nowrap;"> <div class = "leftCol"> <a href="/"> <img class = "subHeadImg" src = "//harpercollins.co.uk/cdn/shop/files/footer-logo_230x.png?v=1614348517" alt="HarperCollins logo" loading="lazy"> </a> <div class ="row container"> <span class="copyText"> Copyright © 2025 HarperCollins Publishers Ltd. All rights reserved. </span> <span class="copyText"> HarperCollins Publishers Ltd, Registered in Scotland, Company No. 27389 <br>Registered Address: 1 Robroyston Gate, Robroyston, Glasgow, G33 1JN </span> </div> </div> <div class = "rightCol"> <div class = "subHeaderNav"> <a class="subNavTitles" href="/pages/harpercollinspublishersuk-termsandconditions" rel="nofollow" > Terms and Conditions </a> <a class="subNavTitles" href="https://corporate.harpercollins.co.uk/reporting/privacy-policy/" > Privacy Policy </a> <a class="subNavTitles" href="https://corporate.harpercollins.co.uk/reporting/security/" > Security </a> <a class="subNavTitles" href="https://newscorp.com/corporate-governance/modern-slavery-statement/" rel="nofollow" > Modern Slavery </a> <a class="subNavTitles" href="https://d2aa8wn3bug3i3.cloudfront.net/wp-content/uploads/2018/06/26133350/UK-TAX-STRATEGY.pdf" rel="nofollow" > UK Tax Strategy </a> <div style="display: flex;justify-content: flex-end;"> <!-- OneTrust Cookies Settings button start --><a class="optanon-show-settings">Cookie Settings</a><!-- OneTrust Cookies Settings button end --> </div> </div> </div> <div style="clear:both;"></div> </div> </div> <div id = "m-subNav" class = "m-sub d-sm-flex d-md-none"> <div class = "subHeaderNav"><a class = "subNavTitles" href="/pages/harpercollinspublishersuk-termsandconditions" >Terms and Conditions</a> <a class = "subNavTitles" href="https://corporate.harpercollins.co.uk/reporting/privacy-policy/" >Privacy Policy</a> <a class = "subNavTitles" href="https://corporate.harpercollins.co.uk/reporting/security/" >Security</a> <a class = "subNavTitles" href="https://newscorp.com/corporate-governance/modern-slavery-statement/" >Modern Slavery</a> <a class = "subNavTitles" href="https://d2aa8wn3bug3i3.cloudfront.net/wp-content/uploads/2018/06/26133350/UK-TAX-STRATEGY.pdf" >UK Tax Strategy</a> </div> <a href="/"> <img class = "subHeadImg" src = "//harpercollins.co.uk/cdn/shop/files/footer-logo_230x.png?v=1614348517" alt="HarperCollins logo"> </a> <p class="copyText"> Copyright © 2025 HarperCollins Publishers Ltd. All rights reserved. </p> <div style="display: flex;justify-content: center;margin: 15px;"> <!-- OneTrust Cookies Settings button start --><a class="optanon-show-settings">Cookie Settings</a><!-- OneTrust Cookies Settings button end --> </div> </div> </footer> <link href="//harpercollins.co.uk/cdn/shop/t/9/assets/footer.scss.css?v=832676442388482261718728837" rel="stylesheet" type="text/css" media="all" /> </div> <script> if (window.location.pathname.indexOf('/a/wishlist') != -1) window.location = '/'; </script> <script> // Set cart attributes to track source var hcUrlParams = new URLSearchParams(window.location.search); var hcUrlSource = hcUrlParams.get('source') || hcUrlParams.get('utm_source'); if(hcUrlSource ){ hcUrlSource = hcUrlSource.toLowerCase(); $.ajax({ type: "POST", url:'/cart.js', data: { "attributes[awin]": `${(hcUrlSource == 'awin')}`, "attributes[vrb]": `${(hcUrlSource == 'vrb')}`, "attributes[vr]": `${(hcUrlSource == 'vr')}`, "attributes[vb]": `${(hcUrlSource == 'vb')}`, }, success: function(d){}, dataType: 'json' }); } </script> <script> const container = document.getElementById('algolia-page'); if (container) { const observer = new MutationObserver(function (mutationsList, observer) { for (let mutation of mutationsList) { if (mutation.type === 'childList') { // Check if the element exists const detailsElement = document.querySelector('.ais-Hits-item .ais-hit--details'); if (detailsElement) { // Element found, run the function and disconnect the observer FlairApp.refreshProductBadges(); observer.disconnect(); } } } }); const observerConfig = { childList: true, subtree: true, }; observer.observe(container, observerConfig); } document.addEventListener('click', function (event) { if (container) { setTimeout(function () { FlairApp.refreshProductBadges(); }, 500); } }); document.addEventListener('change', function (event) { if (container) { setTimeout(function () { FlairApp.refreshProductBadges(); }, 500); } }); </script> <div id="shopify-section-cart-drawer" class="shopify-section"><link rel="stylesheet" href="//harpercollins.co.uk/cdn/shop/t/9/assets/cart-drawer.css?v=95154235427295377991734541834" type="text/css"><div class="se-cart"> <div class="cart__overlay"></div> <div class="cart cart-drawer-items"> <div class="cart__contents is-empty"> <div class="cart__header" data-cart="cart__header"> <div class="cart__header_close"> <button type="button" class="cart__close"> <svg clip-rule="evenodd" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" > <path d="m12 10.93 5.719-5.72c.146-.146.339-.219.531-.219.404 0 .75.324.75.749 0 .193-.073.385-.219.532l-5.72 5.719 5.719 5.719c.147.147.22.339.22.531 0 .427-.349.75-.75.75-.192 0-.385-.073-.531-.219l-5.719-5.719-5.719 5.719c-.146.146-.339.219-.531.219-.401 0-.75-.323-.75-.75 0-.192.073-.384.22-.531l5.719-5.719-5.72-5.719c-.146-.147-.219-.339-.219-.532 0-.425.346-.749.75-.749.192 0 .385.073.531.219z"/> </svg> </button> </div> <h4 class="normal_heading"> <span id="cart-drawer-title" data-success="Added to Basket!" data-count="0" >Basket</span> <small >(0 items)</small > </h4> <h4 class="success_heading">Added to Basket!<small >(0 items)</small > </h4></div> <div class="cart__products" data-cart="cart__products"><div class="cart__empty"> <div> <svg width="68" height="54" viewBox="0 0 68 54" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M68 21.9172C68 19.3251 65.894 17.2191 63.302 17.2191H59.2317C59.1304 16.9964 59.0292 16.7736 58.8874 16.5711L49.6129 2.13278C48.9446 1.10002 47.9118 0.371016 46.7171 0.107764C45.5021 -0.155487 44.2871 0.0672653 43.2341 0.73552C41.0876 2.11253 40.48 4.9678 41.8571 7.11431L48.3371 17.1989H19.6831L26.1632 7.11431C26.6492 6.36506 26.8922 5.51455 26.8922 4.62355C26.8922 3.04403 26.1024 1.58603 24.7659 0.73552C23.7332 0.0672653 22.4979 -0.155487 21.2829 0.107764C20.0881 0.371016 19.0554 1.07977 18.3871 2.13278L9.11257 16.5711C8.97082 16.7736 8.86956 16.9964 8.76831 17.2191H4.69804C2.10602 17.2191 0 19.3251 0 21.9172V22.2209C0 24.8129 2.10602 26.9189 4.69804 26.9189H5.14354L12.8588 52.0899C13.0613 52.7379 13.6486 53.1631 14.3169 53.1631H53.6426C54.3109 53.1631 54.8982 52.7176 55.1007 52.0899L62.816 26.9189H63.2615C65.8535 26.9189 67.9595 24.8129 67.9595 22.2209V21.9172H68ZM44.3883 5.4943C43.9226 4.7653 44.1251 3.79329 44.8541 3.30729C45.2186 3.08454 45.6236 3.00353 46.0488 3.08453C46.4538 3.16553 46.8183 3.40854 47.0411 3.77304L55.6677 17.1989H51.9214L44.3883 5.4943ZM20.9589 3.77304C21.1817 3.40854 21.5462 3.16553 21.9512 3.08453C22.3562 3.00353 22.7814 3.06428 23.1459 3.30729C23.5914 3.59079 23.8749 4.09704 23.8749 4.6438C23.8749 4.94755 23.7939 5.23105 23.6319 5.4943L16.0989 17.2191H12.3526L20.9589 3.77304ZM52.5491 50.1256H15.4509L8.32281 26.9189H59.6569L52.5491 50.1256ZM64.9625 22.2209C64.9625 23.1322 64.2132 23.8814 63.302 23.8814H61.7427H61.7225H6.2978H6.27755H4.71829C3.80703 23.8814 3.05777 23.1322 3.05777 22.2209V21.9172C3.05777 21.0059 3.80703 20.2567 4.71829 20.2567H9.90232H9.92257H16.8886H51.0709H58.0369C58.0369 20.2567 58.0369 20.2567 58.0572 20.2567H63.2615C64.1727 20.2567 64.922 21.0059 64.922 21.9172V22.2209H64.9625Z" fill="black"/> <path d="M24.4621 44.1728C25.2924 44.1728 25.9809 43.4843 25.9809 42.6541V34.392C25.9809 33.5618 25.2924 32.8733 24.4621 32.8733C23.6319 32.8733 22.9434 33.5618 22.9434 34.392V42.6541C22.9434 43.5046 23.6319 44.1728 24.4621 44.1728Z" fill="black"/> <path d="M34.0014 44.1728C34.8317 44.1728 35.5202 43.4843 35.5202 42.6541V34.392C35.5202 33.5618 34.8317 32.8733 34.0014 32.8733C33.1712 32.8733 32.4827 33.5618 32.4827 34.392V42.6541C32.4827 43.5046 33.1712 44.1728 34.0014 44.1728Z" fill="black"/> <path d="M43.5376 44.1728C44.3678 44.1728 45.0563 43.4843 45.0563 42.6541V34.392C45.0563 33.5618 44.3678 32.8733 43.5376 32.8733C42.7073 32.8733 42.0188 33.5618 42.0188 34.392V42.6541C42.0188 43.5046 42.6871 44.1728 43.5376 44.1728Z" fill="black"/> </svg> </div> <h3>Your Basket Is Empty</h3> <p>Looks like you haven’t added anything to your basket yet</p> <a href="/collections/trending-right-now" class="btn btn--primary _first">CONTINUE SHOPPING</a> </div></div><div class="recommended_products" data-cart="recommended_products"> <h4>Shop Trending</h4> <div class="swiper-addon-products swiper-container"> <div class="swiper-button-prev" id="swiper-button-prev-swiper-addon-products"> <img height="20" src="//harpercollins.co.uk/cdn/shop/t/9/assets/carousel-left-white.svg?v=91581981997146775181732123613" alt="left-arrow" loading="lazy" /> </div> <div class="swiper-button-next" id="swiper-button-next-swiper-addon-products"> <img alt="right arrow" height="20" src="//harpercollins.co.uk/cdn/shop/t/9/assets/carousel-right-white.svg?v=34312005022197637011732123616" loading="lazy" /> </div> <ul class="swiper-wrapper" id="recommended-products-list"><li class="swiper-slide"> <div> <a class="d-flex justify-content-center" href="/products/dream-count-chimamanda-ngozi-adichie"> <img class="recommended_product--image" src="//harpercollins.co.uk/cdn/shop/files/x9780008685751.jpg?crop=center&height=250&v=1743795869&width=200" alt="Dream Count" loading="lazy"> </a> <div class="product_meta"> <h5> <a href="/products/dream-count-chimamanda-ngozi-adichie">Dream Count</a> </h5> <p>Hardback</p> </div> <div><span>£20.00</span><button type="button" data-id="41838976335950">Add</button> </div> </div> </li><li class="swiper-slide"> <div> <a class="d-flex justify-content-center" href="/products/the-book-that-wouldnt-burn-the-library-trilogy-book-1-mark-lawrence"> <img class="recommended_product--image" src="//harpercollins.co.uk/cdn/shop/files/x9780008456733.jpg?crop=center&height=250&v=1743784867&width=200" alt="The Book That Wouldn’t Burn (The Library Trilogy, Book 1)" loading="lazy"> </a> <div class="product_meta"> <h5> <a href="/products/the-book-that-wouldnt-burn-the-library-trilogy-book-1-mark-lawrence">The Book That Wouldn’t Burn (The Library Trilogy, Book 1)</a> </h5> <p>Paperback</p> </div> <div><span>£9.99</span><button type="button" data-id="40284037709902">Add</button> </div> </div> </li><li class="swiper-slide"> <div> <a class="d-flex justify-content-center" href="/products/the-sirens-emilia-hart"> <img class="recommended_product--image" src="//harpercollins.co.uk/cdn/shop/files/x9780008499150_3db2ebad-1959-4d16-b2a1-f39bfab9a565.jpg?crop=center&height=250&v=1743693916&width=200" alt="The Sirens" loading="lazy"> </a> <div class="product_meta"> <h5> <a href="/products/the-sirens-emilia-hart">The Sirens</a> </h5> <p>Hardback</p> </div> <div><span>£18.99</span><button type="button" data-id="41388297224270">Add</button> </div> </div> </li><li class="swiper-slide"> <div> <a class="d-flex justify-content-center" href="/products/butter-asako-yuzuki"> <img class="recommended_product--image" src="//harpercollins.co.uk/cdn/shop/files/x9780008511692_305f4063-2d45-455d-ae66-492824eb4331.jpg?crop=center&height=250&v=1743794310&width=200" alt="Butter" loading="lazy"> </a> <div class="product_meta"> <h5> <a href="/products/butter-asako-yuzuki">Butter</a> </h5> <p>Paperback (2025) [9780008511715]</p> </div> <div><span>£9.99</span><button type="button" data-id="41837765918798">Add</button> </div> </div> </li><li class="swiper-slide"> <div> <a class="d-flex justify-content-center" href="/products/the-rose-bargain-sasha-peyton-smith"> <img class="recommended_product--image" src="//harpercollins.co.uk/cdn/shop/files/x9780008657499_8b15b256-6cbc-4fc5-828a-b590b7fd71d0.jpg?crop=center&height=250&v=1743795232&width=200" alt="The Rose Bargain" loading="lazy"> </a> <div class="product_meta"> <h5> <a href="/products/the-rose-bargain-sasha-peyton-smith">The Rose Bargain</a> </h5> <p>Hardback</p> </div> <div><span>£16.99</span><button type="button" data-id="41687955013710">Add</button> </div> </div> </li><li class="swiper-slide"> <div> <a class="d-flex justify-content-center" href="/products/blue-sisters-coco-mellors"> <img class="recommended_product--image" src="//harpercollins.co.uk/cdn/shop/files/x9780008623012.jpg?crop=center&height=250&v=1743792062&width=200" alt="Blue Sisters" loading="lazy"> </a> <div class="product_meta"> <h5> <a href="/products/blue-sisters-coco-mellors">Blue Sisters</a> </h5> <p>Paperback</p> </div> <div><span>£9.99</span><button type="button" data-id="41830415728718">Add</button> </div> </div> </li><li class="swiper-slide"> <div> <a class="d-flex justify-content-center" href="/products/the-strawberry-patch-pancake-house-dream-harbor-book-4-laurie-gilmore"> <img class="recommended_product--image" src="//harpercollins.co.uk/cdn/shop/files/x9780008713331_faf07199-7730-4700-b19d-0596249392d4.jpg?crop=center&height=250&v=1743796630&width=200" alt="The Strawberry Patch Pancake House (Dream Harbor, Book 4)" loading="lazy"> </a> <div class="product_meta"> <h5> <a href="/products/the-strawberry-patch-pancake-house-dream-harbor-book-4-laurie-gilmore">The Strawberry Patch Pancake House (Dream Harbor, Book 4)</a> </h5> <p>Paperback</p> </div> <div><span>£9.99</span><button type="button" data-id="41658340278350">Add</button> </div> </div> </li></ul> </div> </div><div class="cart__totals" data-cart="cart__totals"> <table class="totals cart-drawer__footer"> <tbody> <tr> <th class="align-left font-normal tertiary"> Subtotal <small>(0 items)</small> </th> <th class="align-right">£0.00</th> </tr> </tbody> </table> <div class="form__footer"> <a href="/" class="btn btn--primary _first">KEEP SHOPPING</a> <a href="/cart" class="btn btn--primary">GO TO BASKET</a> </div><p>Promotion codes can be applied during checkout<br/>Please note: we only ship physical products to the UK, the Channel Islands and Ireland.</p></div> </div> </div> </div> <script type="text/javascript" src="//harpercollins.co.uk/cdn/shop/t/9/assets/cart-drawer.js?v=104204051719096664531736977386"></script> </div> <!-- Algolia head --> <script type="text/template" id="template_algolia_autocomplete"> <div class="aa-columns-container [[# with.articles ]] aa-with-articles [[/ with.articles ]] [[^ with.articles ]] aa-without-articles [[/ with.articles ]] [[# with.collections ]] aa-with-collections [[/ with.collections ]] [[^ with.collections ]] aa-without-collections [[/ with.collections ]] [[# with.footer ]] aa-with-footer [[/ with.footer ]] [[^ with.footer ]] aa-without-footer [[/ with.footer ]] [[# with.products ]] aa-with-products [[/ with.products ]] [[^ with.products ]] aa-without-products [[/ with.products ]] [[# with.pages ]] aa-with-pages [[/ with.pages ]] [[^ with.pages ]] aa-without-pages [[/ with.pages ]]"> <div class="aa-dataset-products aa-right-column"></div> <div class="aa-left-column"> <div class="aa-collections"> <div class="aa-collections-header">Collections</div> <div class="aa-dataset-collections"></div> </div> <div class="aa-articles"> <div class="aa-articles-header">Authors</div> <div class="aa-dataset-articles"></div> </div> <div class="aa-pages"> <div class="aa-pages-header">Pages</div> <div class="aa-dataset-pages"></div> </div> </div> </div> </script> <script type="text/template" id="template_algolia_autocomplete_pages_empty"> <div class="aa-pages-empty"><div class="aa-no-result">[[ translations.noPageFound ]]</div></div> </script> <script type="text/template" id="template_algolia_autocomplete_page"> <div class="aa-page"><div class="aa-picture" style="background-image: url('[[# helpers.iconImage ]][[/ helpers.iconImage ]]')"></div><div class="aa-text"><span class="aa-title">[[& _highlightResult.title.value ]]</span></div></div> </script> <script type="text/template" id="template_algolia_autocomplete_collection"> <div class="aa-collection"><div class="aa-picture" style="background-image: url('[[# helpers.iconImage ]][[/ helpers.iconImage ]]')"></div><div class="aa-text"><span class="aa-title">[[& _highlightResult.title.value ]]</span></div></div> </script> <script type="text/template" id="template_algolia_autocomplete_collections_empty"> <div class="aa-collections-empty"><div class="aa-no-result">[[ translations.noCollectionFound ]]</div></div> </script> <script type="text/template" id="template_algolia_autocomplete_article"> <div class="aa-article"><div class="aa-text"><span class="aa-title">[[& _highlightResult.title.value ]]</span></div></div> </script> <script type="text/template" id="template_algolia_autocomplete_articles_empty"> <div class="aa-articles-empty"><div class="aa-no-result">No author found</div></div> </script> <script type="text/template" id="template_algolia_autocomplete_product"> <div data-algolia-index="[[ _index ]]" data-algolia-position="[[ _position ]]" data-algolia-queryid="[[ queryID ]]" data-algolia-objectid="[[ objectID ]]" class="aa-product"> <div class="aa-product-picture" style="background-image: url('[[# showFeaturedImage ]][[ featuredProductImage ]][[/ showFeaturedImage]][[^ showFeaturedImage]][[# helpers.thumbImage ]][[/ helpers.thumbImage ]][[/ showFeaturedImage]]')" aria-label=""></div> <div class="aa-product-text"> <p class="aa-product-title">[[# helpers.fullHTMLTitle ]][[/ helpers.fullHTMLTitle ]]</p> <p class="aa-product-info">[[# contributors ]] by [[& contributors ]][[/ contributors ]]</p> </div> </div> </script> <script type="text/template" id="template_algolia_autocomplete_products_empty"> <div class="aa-products-empty"> <p class="aa-no-result">[[# helpers.no_result_for ]] "[[ query ]]" [[/ helpers.no_result_for]]</p> <p class="aa-see-all"><a href="/search?q=">[[ translations.allProducts ]]</a></p> </div> </script> <script type="text/template" id="template_algolia_autocomplete_footer"> <div class="aa-footer"> [[ translations.allProducts ]] <a class="aa-footer-link" href="/search?q=[[ query ]]">[[ translations.matching ]] <span class="aa-query">"[[ query ]]"</span></a> (<span class="aa-nbhits">[[# helpers.formatNumber ]][[ nbHits ]][[/ helpers.formatNumber ]]</span>) </div> </script> <script type="text/template" id="template_algolia_instant_search"> <div class="ais-page"> [[# isSearchPage ]] <div class="ais-tabs"> <button class="ais-tabs__tab ais-tabs__tab--books ais-tabs__tab--selected" data-content="ais-content-books">Books</button> <button class="ais-tabs__tab ais-tabs__tab--articles" data-content="ais-content-articles">Contributors</button> </div> [[/ isSearchPage ]] <div id="ais-content-books" class="ais-content-tab ais-content-tab--selected"> <div class="ais-facets-button">Show filters</div> <div class="ais-facets"> <div class="ais-clear-refinements-container"></div> <div class="ais-current-refined-values-container"></div> [[# facets ]] <div class="ais-facet-item ais-facet-[[ type ]] ais-facet-[[ escapedName ]]"> <div class="ais-range-slider--header ais-facet--header ais-header">[[ title ]]</div> <div class="ais-facet-[[ escapedName ]]-container"></div> </div> [[/ facets ]] </div> <div class="ais-block"> <div id="banner" style="display:flex;"></div> <div class="ais-input"> <div class="ais-input--label">[[ translations.search ]]</div> <div id="products-search" class="ais-search-box-container"></div> <div class="ais-input-button"><div class="ais-clear-input-icon"></div></div> </div> <div class="ais-search-header"> <div class="ais-stats-container ais-stats--products"></div> <div class="ais-change-display ais-change-display--products"> <span class="ais-change-display-block ais-change-display-selected"><i class="fa fa-th-large"></i></span> <span class="ais-change-display-list"><i class="fa fa-th-list"></i></span> </div> <div class="ais-sort"> [[# multipleSortOrders ]][[ translations.sortBy ]] <span class="ais-sort-orders--products"></span>[[/ multipleSortOrders ]] [[^ multipleSortOrders ]][[ translations.sortBy ]] [[ translations.relevance ]][[/ multipleSortOrders ]] </div> </div> <div class="ais-hits--products ais-results-as-block"></div> <div class="ais-pagination ais-pagination--products"></div> </div> </div> [[# isSearchPage ]] <div id="ais-content-articles" class="ais-content-tab"> <div class="ais-input ais-articles-header"> <div class="ais-input--label">[[ translations.search ]]</div> <div id="articles-search" class="ais-search-box-container"></div> <div class="ais-input-button"><div class="ais-clear-input-icon"></div></div> </div> <div class="ais-search-header"> <div class="ais-stats-container ais-stats--articles"></div> <div class="ais-change-display ais-change-display--articles"> <span class="ais-change-display-block ais-change-display-selected"><i class="fa fa-th-large"></i></span> <span class="ais-change-display-list"><i class="fa fa-th-list"></i></span> </div> <div class="ais-sort"> [[ translations.sortBy ]] <span class="ais-sort-orders--articles"> <div class="ais-SortBy"><select class="ais-SortBy-select"><option class="ais-SortBy-option" value="HCUSarticles">[[ translations.relevance ]]</option><option class="ais-SortBy-option" value="HCUSarticles_title_asc">Name, A-Z</option><option class="ais-SortBy-option" value="HCUSarticles_title_desc">Name, Z-A</option></select></div> </span> </div> </div> <div class="ais-hits--articles ais-results-as-block"></div> <div class="ais-pagination ais-pagination--articles"></div> </div> [[/ isSearchPage ]] </div> </script> <script type="text/template" id="template_algolia_instant_search.css"> .ais-page .aa-highlight { color: black; font-weight: bold; } /* Resets */ .ais-page div,.ais-page p,.ais-page span,.ais-page a,.ais-page ul,.ais-page li,.ais-page input { box-sizing: border-box; margin: 0; padding: 0; line-height: 1; font-size: initial; } .ais-page input { padding-left: 24px !important; } /* Links */ .ais-page .ais-link,.ais-page a,.ais-page a:hover,.ais-page a:focus,.ais-page a:active { font-weight: initial; font-style: initial; text-decoration: initial; color: [[ colors.main ]]; cursor: pointer; } .ais-page a:hover,.ais-page a:focus,.ais-page a:active,.ais-page .ais-link:hover { text-decoration: underline; } /* Columns */ .ais-page .ais-facets { width: 25%; float: left; padding-right: 8px; position: relative; } .ais-page .ais-block { width: 75%; float: right; padding-left: 8px; } .ais-results-size-xs .ais-page .ais-facets,.ais-results-size-xs .ais-page .ais-block,.ais-results-size-sm .ais-page .ais-facets,.ais-results-size-sm .ais-page .ais-block { width: 100%; padding-left: 0px; } .ais-page .ais-Pagination-list { clear: both; } /* Refine button */ .ais-page .ais-facets-button { display: none; margin: 16px 0; padding: 8px; border: 1px solid #e0e0e0; text-align: center; cursor: pointer; } .ais-results-size-xs .ais-page .ais-facets-button,.ais-results-size-sm .ais-page .ais-facets-button { display: block; } .ais-results-size-xs .ais-page .ais-facets,.ais-results-size-sm .ais-page .ais-facets { display: none; } .ais-results-size-xs .ais-page .ais-facets__shown,.ais-results-size-sm .ais-page .ais-facets__shown { display: block; } /* Facets */ .ais-page .ais-facet { border: solid #e0e0e0; border-width: 0 1px 1px; margin-bottom: 16px; padding: 8px; color: #636363; } .ais-page .ais-facet a,.ais-page .ais-facet a:hover,.ais-page .ais-facet a:focus,.ais-page .ais-facet a:active { color: #666; } .ais-page .ais-facet--header { border: solid #e0e0e0; border-width: 1px 1px 0; padding: 6px 8px; background: #f4f4f4; font-size: 0.95em; color: #757575; text-transform: uppercase; } .ais-page .ais-facet--body { padding: 8px; } .ais-page .ais-facet--item { position: relative; width: 100%; padding: 6px 50px 6px 0; cursor: pointer; } .ais-page .ais-facet--label { display: inline-block; margin-top: -0.15em; margin-bottom: -0.15em; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; line-height: 1.3; } .ais-page .ais-facet--count { [[#distinct]]display: none;[[/distinct]] position: absolute; top: 6px; right: 0px; color: [[ colors.secondary ]]; } .ais-page .ais-RefinementList-item--selected { font-weight: bold; } .ais-page .ais-RefinementList-item--selected,.ais-page .ais-facet--item:hover { margin-left: -8px; padding-left: 4px; padding-right: 42px; border-left: 4px solid [[ colors.main ]]; } .ais-page .ais-RefinementList-item--selected .ais-facet--count,.ais-page .ais-facet--item:hover .ais-facet--count { right: -8px; } .ais-page .ais-CurrentRefinements { position: relative; } .ais-page .ais-CurrentRefinements--header { padding-right: 72px; } .ais-page .ais-clear-refinements-container { position: absolute; right: 11px; top: 1px; } .ais-page .ais-ClearRefinements-button { border: 0; background: 0; color: #666; } .ais-page .ais-ClearRefinements-button:hover { text-decoration: underline; } .ais-page .ais-CurrentRefinements-label { display: table; width: 100%; margin: 4px 0; border: 1px solid #e0e0e0; cursor: pointer; } .ais-page .ais-CurrentRefinements-label:before { content: '\2a2f'; display: table-cell; vertical-align: middle; width: 0; padding: 4px 6px; background: #e0e0e0; } .ais-page .ais-CurrentRefinements-label div { display: inline; } .ais-page .ais-CurrentRefinements-label > div { display: table-cell; vertical-align: middle; margin-top: -0.15em; margin-bottom: -0.15em; padding: 4px 6px; background: #f4f4f4; width: 100%; max-width: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3; } .ais-page .ais-CurrentRefinements-label:hover { text-decoration: none; } .ais-page .ais-CurrentRefinements-label:hover > div { text-decoration: line-through; } .ais-page .ais-CurrentRefinements-label { font-weight: bold; } .ais-RangeSlider .rheostat-tooltip { display: none; background: transparent; position: absolute; font-size: 0.8em; transform: translate(-50%, -100%); left: 50%; line-height: 1.5em; text-align: center; } .ais-page .ais-current-refined-values--link { display: table; width: 100%; margin: 4px 0; border: 1px solid #e0e0e0; cursor: pointer; } .ais-page .ais-current-refined-values--link:hover { text-decoration: none; } .ais-page .ais-current-refined-values--link:before { content: '\2a2f'; display: table-cell; vertical-align: middle; width: 0; padding: 4px 6px; background: #e0e0e0; } .ais-page .ais-current-refined-values--link div { display: inline; } .ais-page .ais-current-refined-values--link > div { display: table-cell; vertical-align: middle; margin-top: -0.15em; margin-bottom: -0.15em; padding: 4px 6px; background: #f4f4f4; width: 100%; max-width: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3; } .ais-page .ais-current-refined-values--link:hover > div { text-decoration: line-through; } .ais-page .ais-current-refined-values--label { font-weight: bold; } .ais-RangeSlider .rheostat-handle:hover .rheostat-tooltip { display: block; } .ais-RangeSlider .rheostat-handle { background: #fff; border-radius: 50%; cursor: grab; height: 20px; outline: none; transform: translate(-50%, calc(-50% + -3px)); border: 1px solid #ccc; width: 20px; z-index: 1; } .ais-RangeSlider .rheostat-value { padding-top: 15px; font-size: 0.8em; transform: translateX(-50%); position: absolute; } .ais-RangeSlider .rheostat-horizontal { cursor: pointer; margin: 16px 16px 24px; } .ais-RangeSlider .rheostat-background { background-color: rgba(65, 66, 71, 0.08); border: 1px solid #ddd; height: 6px; } .ais-RangeSlider .rheostat-progress { background-color: [[ colors.main ]]; cursor: pointer; height: 4px; top: 1px; position: absolute; } .ais-RangeSlider .rheostat-marker-horizontal { background: #ddd; width: 1px; height: 5px; pointer-events: none; } .ais-RangeSlider .rheostat-marker-large { background: #ddd; width: 2px; height: 12px; } /* Search box */ .ais-page .ais-input { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; border: 2px solid [[ colors.main ]]; } .ais-page .ais-input--label { -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; padding: 8px; padding-right: 24px; white-space: nowrap; color: white; background: [[ colors.main ]]; } .ais-results-size-xs .ais-page .ais-input--label { display: none; } .ais-page .ais-search-box-container { width: 100%; } .ais-page .ais-SearchBox-input { width: 100%; padding: 8px 16px 8px 4px; border: none; } .ais-page .ais-SearchBox-input::-ms-clear { display: none; width: 0; height: 0; } .ais-page .ais-SearchBox-input, .ais-page .ais-SearchBox-input:focus { outline: 0; box-shadow: none; height: 32px; padding: 0 8px; } .ais-page .ais-input-button { display: table-cell; vertical-align: middle; width: 0; padding: 4px 8px; } .ais-page .ais-clear-input-icon{ background-size: contain; background-position: center center; background-repeat: no-repeat; cursor: pointer; } .ais-page .ais-clear-input-icon { display: none; width: 16px; height: 16px; background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBvcGFjaXR5PSIwLjYiPjxwYXRoIGQ9Ik0uNTY2IDEuNjk4TDAgMS4xMyAxLjEzMiAwbC41NjUuNTY2TDYgNC44NjggMTAuMzAyLjU2NiAxMC44NjggMCAxMiAxLjEzMmwtLjU2Ni41NjVMNy4xMzIgNmw0LjMwMiA0LjMuNTY2LjU2OEwxMC44NjggMTJsLS41NjUtLjU2Nkw2IDcuMTMybC00LjMgNC4zMDJMMS4xMyAxMiAwIDEwLjg2OGwuNTY2LS41NjVMNC44NjggNiAuNTY2IDEuNjk4eiIvPjwvc3ZnPg=='); } /* Search header */ .ais-page .ais-search-header { margin: 16px 0 8px 0; padding: 0.6em 0.9em 0.4em 0.9em; background: #f4f4f4; color: [[ colors.secondary ]]; } .ais-page .ais-search-header:after { content: ''; clear: both; display: block; } .ais-page .ais-search-header { font-size: 0.85em; } .ais-page .ais-search-header * { font-size: inherit; line-height: 1.6; } /* Stats */ .ais-page .ais-Stats { float: left; } .ais-page .ais-stats--nb-results { font-weight: bold; } .ais-results-size-xs .ais-page .ais-Stats { float: none; } /* Display mode */ .ais-page .ais-change-display { float: right; margin-left: 10px; cursor: pointer; } .ais-page .ais-change-display-block:hover,.ais-page .ais-change-display-list:hover,.ais-page .ais-change-display-selected { color: [[ colors.main ]]; } /* Sort orders */ .ais-page .ais-sort { float: right; } .ais-results-size-xs .ais-page .ais-sort { float: none; } .ais-page .ais-SortBy { display: inline-block; } .ais-page .ais-SortBy-select { height: 1.6em; padding: 0px 30px 0px 5px; margin-top: -0.1em; } /* Hits */ .ais-page .ais-Hits:after { content: ''; clear: both; display: block; } .ais-page .ais-hit-empty { margin-top: 60px; text-align: center; } .ais-page .ais-highlight { position: relative; z-index: 1; font-weight: bold; } .ais-page .ais-highlight:before { content: ''; position: absolute; z-index: -1; width: 100%; height: 100%; background: [[ colors.main ]]; opacity: 0.1; } .ais-page .ais-hit { position: relative; float: left; margin: 8px 0 16px 0; border: 1px solid #e0e0e0; } .ais-page .ais-hit:hover { border-color: [[ colors.main ]]; } .ais-page .ais-hit--details > * { width: 100%; margin-top: -0.15em; margin-bottom: -0.15em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3; } .ais-page .ais-hit--title { color: [[ colors.main ]]; } .ais-page .ais-hit--subtitle { font-size: 0.9em; color: [[ colors.secondary ]]; } .ais-page .ais-hit--subtitle * { font-size: inherit; } .ais-page .ais-hit--price { color: [[ colors.main ]]; } .ais-page .ais-hit--price-striked { text-decoration: line-through; color: [[ colors.secondary ]]; } .ais-page .ais-hit--price-striked span { color: [[ colors.main ]]; } .ais-page .ais-hit--price-discount { color: [[ colors.secondary ]]; } .ais-page .ais-hit--cart-button { display: inline-block; width: auto; padding: 8px 16px; margin-top: 8px; color: [[ colors.secondary ]]; background: #e0e0e0; font-size: 0.9em; text-transform: uppercase; } .ais-page .ais-hit--cart-button:not(.ais-hit--cart-button__disabled):hover { background-color: [[ colors.main ]]; color: white; text-decoration: none; } .ais-page .ais-hit--cart-button__disabled { background: #ccc; } .ais-page .ais-results-as-list .ais-hit { padding: 30px 25px; /* $v_padding $h_padding */ width: 100%; min-height: 170px; /* $img_size + 2 * $v_padding */ } .ais-page .ais-results-as-list .ais-hit--picture { position: absolute; top: 30px; /* $v_padding */ left: 25px; /* $h_padding */ width: 110px; /* $img_size */ height: 110px; /* $img_size */ background-position: center center; background-size: contain; background-repeat: no-repeat; } .ais-page .ais-results-as-list .ais-hit--details { margin-left: 160px; /* $img_size + 2 * $h_padding */ } .ais-page .ais-results-as-block .ais-hit { padding: 30px 25px; /* $v_padding $h_padding */ text-align: center; } .ais-results-size-xs .ais-page .ais-results-as-block .ais-hit { width: 98%; margin-left: 2%; } .ais-results-size-sm .ais-page .ais-results-as-block .ais-hit,.ais-results-size-md .ais-page .ais-results-as-block .ais-hit { width: 47.5%; margin-left: 5%; } .ais-results-size-sm .ais-page .ais-results-as-block .ais-Hits-item:nth-of-type(2n + 1) .ais-hit,.ais-results-size-md .ais-page .ais-results-as-block .ais-Hits-item:nth-of-type(2n + 1) .ais-hit { margin-left: 0; } .ais-results-size-lg .ais-page .ais-results-as-block .ais-hit { width: 30%; margin-left: 5%; } .ais-results-size-lg .ais-page .ais-results-as-block .ais-Hits-item:nth-of-type(3n + 1) .ais-hit { margin-left: 0; } .ais-page .ais-results-as-block .ais-hit--picture { position: absolute; top: 30px; /* $v_padding */ left: 50%; margin-left: -55px; /* -$img_size / 2 */ width: 110px; /* $img_size */ height: 110px; /* $img_size */ background-position: center center; background-size: contain; background-repeat: no-repeat; } .ais-page .ais-results-as-block .ais-hit--details { margin-top: 140px; /* $img_size + $v_padding */ } /* Pagination */ .ais-page .ais-Pagination-list { text-align: center; } .ais-page .ais-Pagination-item { display: inline-block; width: 32px; height: 32px; margin: 0px 5px; border: 1px solid #e0e0e0; border-radius: 2px; text-align: center; } .ais-page .ais-Pagination--active { border-color: [[ colors.main ]]; } .ais-page .ais-Pagination-item--disabled { visibility: hidden; } .ais-page .ais-Pagination-link { display: inline-block; width: 100%; height: 100%; padding: 5px 0; font-size: 0.9em; color: [[ colors.main ]]; } </script> <script type="text/template" id="template_algolia_instant_search_stats"> [[# hasNoResults ]] [[# helpers.translation ]]noResultFound[[/ helpers.translation ]] [[/ hasNoResults ]] [[# hasOneResult ]] <span class="ais-stats--nb-results">[[# helpers.translation ]]oneResultFound[[/ helpers.translation ]]</span> [[/ hasOneResult ]] [[# hasManyResults ]] [[ helpers.outOf ]] <span class="ais-stats--nb-results">[[# helpers.formatNumber ]][[ nbHits ]][[/ helpers.formatNumber ]] [[# helpers.translation ]]resultsFound[[/ helpers.translation ]]</span> [[/ hasManyResults ]] [[ helpers.in ]] </script> <script type="text/template" id="template_algolia_instant_search_facet_item"> <label class="[[ cssClasses.label ]]" title="[[ label ]]" data-refinement="[[facet.title]]" data-refinement-name="[[label]]" data-count="[[count]]"> [[# is_color ]] <span class="ais-color-swatch" style="background-image: url([[ swatch ]])"></span> [[/ is_color ]] [[^ is_color ]] [[# type.disjunctive ]]<input type="checkbox" class="[[ cssClasses.checkbox ]]" [[# isRefined ]]checked[[/ isRefined ]]/><span data-refinement="[[facet.title]]" data-refinement-name="[[label]]" data-count="[[count]]">[[/ type.disjunctive ]]</span> [[& label ]] <span class="[[ cssClasses.count ]]">[[# helpers.formatNumber ]][[ count ]][[/ helpers.formatNumber ]]</span> [[/ is_color ]] </label> </script> <script type="text/template" id="template_algolia_instant_search_current_refined_values_item"> [[# label ]]<div class="ais-current-refined-values--label">[[ label ]]</div>[[^ operator ]]:[[/ operator]][[/ label ]] [[# operator ]] [[& displayOperator ]] [[# helpers.formatNumber ]][[ name ]][[/ helpers.formatNumber ]] [[/ operator ]] [[^ operator ]] [[# exclude ]]-[[/ exclude ]][[ name ]] [[/ operator ]] </script> <script type="text/template" id="template_algolia_instant_search_article"> <div data-algolia-index="[[ index ]]" data-algolia-position="[[ productPosition ]]" data-algolia-queryid="[[ queryID ]]" data-algolia-objectid="[[ objectID ]]" class="ais-hit ais-article" data-handle="[[ handle ]]"> <a href="[[# helpers.articleLink ]][[/ helpers.articleLink ]]" class="ais-hit--picture ais-hit--link" style="background-image: url('[[# helpers.mediumImage ]][[/ helpers.mediumImage ]]')"> </a> <div class="ais-hit--details"> <p class="ais-hit--title"><a class="ais-hit--link" data-algolia-index="[[ index ]]" data-algolia-position="[[ productPosition ]]" data-algolia-queryid="[[ queryID ]]" data-algolia-objectid="[[ objectID ]]" href="[[# helpers.articleLink ]][[/ helpers.articleLink ]]" title="[[# helpers.fullTitle ]][[/ helpers.fullTitle ]]">[[# helpers.fullEscapedHTMLTitle ]][[/ helpers.fullEscapedHTMLTitle ]]</a></p> <p class="ais-hit--subtitle">Contributor</p> </div> </div> </script> <script type="text/template" id="template_algolia_instant_search_product"> <div data-algolia-index="[[ index ]]" data-algolia-position="[[ productPosition ]]" data-algolia-queryid="[[ queryID ]]" data-algolia-objectid="[[ objectID ]]" class="ais-hit ais-product" data-handle="[[ handle ]]" data-isbn="[[ barcode ]]" data-variant-id="[[ objectID ]]" data-distinct="[[ _distinct ]]"> [[# ebook ]]<span class="ais-hit--ebook-badge">eBook Available</span>[[/ ebook ]] <a id="ais-hit-picture-[[ objectID ]]" href="[[# helpers.instantsearchLink ]][[/ helpers.instantsearchLink ]]" class="ais-hit--picture ais-hit--link" [[# addDataType]] data-linktype="recommended" data-mediatype="image"[[/ addDataType ]] aria-label=""> <style> #ais-hit-picture-[[ objectID ]]{background-image:url('[[# showFeaturedImage ]][[ featuredProductImage ]][[/ showFeaturedImage]][[^ showFeaturedImage]][[# helpers.mediumImage ]][[/ helpers.mediumImage ]][[/ showFeaturedImage]]');} @media (-webkit-min-device-pixel-ratio: 1),(min-resolution: 140dpi){ #ais-hit-picture-[[ objectID ]]{ background-image:url('[[# helpers.largeImage ]][[/ helpers.largeImage ]]') !important; } } </style> </a> <div class="ais-hit--details"> <p class="ais-hit--title"><a class="ais-hit--link" data-algolia-index="[[ index ]]" data-algolia-position="[[ productPosition ]]" data-algolia-queryid="[[ queryID ]]" data-algolia-objectid="[[ objectID ]]" href="[[# helpers.instantsearchLink ]][[/ helpers.instantsearchLink ]]" title="[[# helpers.fullTitle ]][[/ helpers.fullTitle ]]" [[# addDataType]] data-linktype="recommended" data-mediatype="link" [[/ addDataType ]]>[[# helpers.fullEscapedHTMLTitle ]][[/ helpers.fullEscapedHTMLTitle ]]</a></p> <style>.flair-badge-layout .flair-badge div { line-height: inherit; }</style> <div data-flair-product-badge data-product-id=[[ id ]]></div> <p class="ais-hit--subtitle">[[# contributors ]] by [[& contributors ]][[/ contributors ]]</p> <p class="ais-hit--price">[[# helpers.instantsearchPrice ]][[/ helpers.instantsearchPrice ]]</p> <div class="yotpo bottomLine" data-product-id="[[ id ]]">[[& _highlightResult.meta.yotpo.bottomline ]]</div> </div> </div> </script> <script type="text/template" id="template_algolia_instant_search_no_result"> <div class="ais-hit-empty"> <div class="ais-hit-empty--title">[[ translations.noResultFound ]]</div> <div class="ais-hit-empty--clears"> [[# helpers.try_clear_or_change_input ]] <a class="ais-hit-empty--clear-filters ais-link"> </a> <a class="ais-hit-empty--clear-input ais-link"> </a> [[/ helpers.try_clear_or_change_input ]] </div> </div> </script> <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/URLSearchParams.js?v=64431872808599660561597692775" defer></script> <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/algolia_externals.js?v=63285431890529748341597692727" defer></script> <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/algolia_helpers.js?v=26709565300228459391605119660" defer></script> <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/algolia_analytics.js?v=180323945753500526251593701247" defer></script> <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/algolia_translations.js?v=4004293097325503661593701209" defer></script> <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/algolia_autocomplete.js?v=47214515129460606511740603301" defer></script> <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/algolia_facets.js?v=43294030012802745021738176655" defer></script> <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/algolia_sort_orders.js?v=142261928354764455761593701202" defer></script> <script src="//harpercollins.co.uk/cdn/shop/t/9/assets/algolia_instant_search.js?v=147930239353685129301709137795" defer></script> <!-- /Algolia head --> <div id="shopify-block-AWEt3R1NOaHZlQitDV__16357531335331704164" class="shopify-block shopify-app-block"><script src="https://wheelify.gadget.app/api/client/web.min.js" defer="defer"></script> <link rel="stylesheet" href="https://cdn.shopify.com/extensions/817ed504-1631-465a-a5f3-03cf4811fd96/wheelify-spin-wheel-email-pop-82/assets/intlTelInput.css"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <script defer src="https://cdn.shopify.com/extensions/817ed504-1631-465a-a5f3-03cf4811fd96/wheelify-spin-wheel-email-pop-82/assets/intlTelInput.min.js"></script> <script defer src="https://cdn.shopify.com/extensions/817ed504-1631-465a-a5f3-03cf4811fd96/wheelify-spin-wheel-email-pop-82/assets/spinner.min.js" ></script> <script defer src="https://cdn.shopify.com/extensions/817ed504-1631-465a-a5f3-03cf4811fd96/wheelify-spin-wheel-email-pop-82/assets/confetti.min.js"></script> <div id="wheelify-spin_a_sale_cc_store_front_module" class="wheelify-wrapper-spinner" style=" display: none"> <div class="wheelify-content-spinner"> <a class="wheelify-closeButton" id="spin_a_sale_cc_store_front_module_close_button" onclick="handleCloseButtonClick()" ` href="javascript:void(0)"> <svg class="rotate-on-hover" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M15.8051 17.6234C16.3073 18.1255 17.1213 18.1255 17.6234 17.6234C18.1255 17.1213 18.1255 16.3073 17.6234 15.8052L10.8183 9L17.6234 2.19485C18.1255 1.69275 18.1255 0.87868 17.6234 0.376578C17.1213 -0.125525 16.3073 -0.125525 15.8052 0.376578L9 7.18173L2.19485 0.376577C1.69275 -0.125526 0.87868 -0.125526 0.376577 0.376577C-0.125526 0.878679 -0.125526 1.69275 0.376577 2.19485L7.18173 9L0.376578 15.8051C-0.125525 16.3073 -0.125525 17.1213 0.376578 17.6234C0.87868 18.1255 1.69275 18.1255 2.19485 17.6234L9 10.8183L15.8051 17.6234Z" fill="white" /> </svg> </a> <div class="wheelify-wheelContainer"> <svg class="wheelify-wheelSVG" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" text-rendering="optimizeSpeed"> <defs> <filter id="shadow" x="-100%" y="-100%" width="550%" height="550%"> <feOffset in="SourceAlpha" dx="0" dy="0" result="offsetOut"></feOffset> <feGaussianBlur stdDeviation="9" in="offsetOut" result="drop" /> <feColorMatrix in="drop" result="color-out" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .3 0" /> <feBlend in="SourceGraphic" in2="color-out" mode="normal" /> </filter> </defs> <g class="mainContainer"> <g class="wheel" /> </g> <g class="centerCircle" /> <g class="wheelOutline" /> <g class="pegContainer"> <path class="peg" fill="#f00" d="M43.5,70.5c-0.9,1.1-2.1,1.8-3.5,2.1c-3.5,0-9.3-9.3-13.3-17.3 c-5.2-10.5-8.6-20.8-8.6-26.4c0-12.1,9.8-21.8,21.8-21.8s21.8,9.8,21.8,21.8l0,0c0,4.7-2.4,12.9-6.5,21.9 C51.5,59.5,46.9,67.1,43.5,70.5z M35.4,22.8c-2.6,2.6-2.6,6.7,0,9.3c2.6,2.6,6.7,2.6,9.3,0s2.6-6.7,0-9.3S37.9,20.3,35.4,22.8 C35.4,22.8,35.4,22.8,35.4,22.8L35.4,22.8z" /> </g> <g class="valueContainer" /> </svg> <div class="toast"> <p></p> </div> </div> <div class="wheelify-ContentRight"> <div class="wheelify-signupContainer"> <h1 class="wheelify-text-heading">Win an Exclusive prize!</h1> <p class="wheelify-text-description">Enter your full name and email to spin the wheel for a chance to win</p> <div class="cc_form-group"> <input id="cc_spinner_full_name" type="text" name="fullname" placeholder="Enter your Name"> </div> <div class="cc_form-group"> <input id="cc_spinner_email" type="text" name="email" placeholder="Enter your email"> </div> <div class="cc_form-group"> <input id="cc_spinner_phone" type="" name="phonenumber" placeholder="Enter your phone"> </div> <div class="cc_checkbox" id="cc_checkbox_id"> <label class="cc_checkbox_label" for="cc-spin-consent-checkbox"> <input id="cc-spin-consent-checkbox" type="checkbox" name="cc-spin-consent-checkbox"> <span id="cc-spin-a-sale-consent-text" style="display: contents; float: left;">I agree to my personal data being stored and used to receive the newsletter</span> </label> </div> <button type="submit" id="spin_wheel_btn" class="btn-submit-form">Try Your Luck!!</button><button type="submit" class="btn-submit-form-ok" style="display: none;"></button> <div style="display: none;" id="wheelify-cc-spin-a-sale-already-used-spin-quota"> <p class="text-center">You have already used your spin quota</p> </div> <div style="display: none;" id="wheelify-cc-spin-invalid-email"> <p class="text-center">Please enter a valid email address.</p> </div> <div id="wheelify-cc-spin-a-sale-powered-by-carecart">Powered by <a href="https://carecart.io" target="_blank"><span><b>CareCart</b></span></a></div> </div> <div class="wheelify-winContainer" style="display: none;"> <h1 class="wheelify-text-heading">You Won <span class="win_text"></span> </h1> <p class="wheelify-text-description">Don't forget to copy your coupon code before closing.</p> <p class="wheelify-textInfo"></p> <div class="cc_form-group"> <input name="coupon" autofocus="" tabindex="1" type="text" readonly /> </div> <div class="form-group"> <button class="copy-button">Copy</button> <span style="display: none" id="copied_text_only">Copied</span> </div> </div> <div class="wheelify-loseContainer" style="display: none;"> <p class="wheelify-text-heading">You lose</p> <p class="wheelify-text-description">Sample text message will be added.</p> <p class="wheelify-textInfo"></p> </div> </div> </div> </div> <div id="wheelify-couponwheel_notice_content" class="wheelify-bar-bottom" style="display: none;z-index: 999999999999999"> <span id="wheelify-spin_a_sale_cc_urgency_time_bar_text"> Your coupon code: <strong>DEA995E</strong> is reserved for <span id="wheelify-couponwheel_notice_timer">14m 39s</span>. You can apply it at checkout. </span> <a id="wheelify-couponwheel_notice_close_btn"> <i class="fa fa-times"></i> </a> </div> <a href="javascript:void(0)" id="wheelify-spin-trigger-cc" style="display: none;" onclick="handleTriggerButtonClick()"> <span> </span> <img id="spinner-icon-img" class="" src="https://cdn.shopify.com/extensions/817ed504-1631-465a-a5f3-03cf4811fd96/wheelify-spin-wheel-email-pop-82/assets/small-spin.png" alt="Spinner icon" width="20px" height="20px"> </a> </div></body> </html>