CINXE.COM

Booktopia - Books, Online Books, #1 Australian online bookstore, Buy Discount Books, eBooks and DVDs from Australia and the world.

<!DOCTYPE html> <html class="ie lte9 lte8 lte7" xmlns="https://www.w3.org/1999/xhtml" xmlns:fb="https://ogp.me/ns/fb#" xmlns:og="https://opengraphprotocol.org/schema/"> <head> <title>Booktopia - Books, Online Books, #1 Australian online bookstore, Buy Discount Books, eBooks and DVDs from Australia and the world.</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta property="og:description" content="Booktopia - buy online books, DVDs and Magazine Subscriptions from Australia's leading online bookstore with over 4 million titles. Booktopia offers thousands of eBooks, daily discounted books and flat rate shipping of $9.99 per online book order."> <meta name="description" content="Booktopia - buy online books, DVDs and Magazine Subscriptions from Australia's leading online bookstore with over 4 million titles. Booktopia offers thousands of eBooks, daily discounted books and flat rate shipping of $9.99 per online book order." /> <meta name="googlebot" content="index, follow" /> <meta name="robots" content="index, follow" /> <meta name="verify-v1" content="F64zs4eUjSjTSL0rPUgr9PhYfo83zSq3P5vPZv/82pw=" /> <meta name="verify-v1" content="KglSvZ6iSpITiVE7VWFSJvDW1Pubrd0s/OJl2JD2VE4=" /> <meta name="google-site-verification" content="WYJj8GuhTmtMPcGLnWPnypIz5pphLymkgK1b1R2x4kw" /> <META name="y_key" content="c9aade7ff6d13867"> <meta property="fb:app_id" content="116180781751442"/> <meta name="ec_enabled" content="true" id="ec_enabled"/> <link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" crossorigin="anonymous"/> <link rel="preconnect" href="https://www.google.com" crossorigin="anonymous"/> <link rel="preconnect" href="https://static.scarabresearch.com" crossorigin="anonymous"/> <link rel="preload" href="https://www.booktopia.com.au/wro/5148/jQuery.js?v=dev-20241119152116" as="script"/> <link rel="preload" href="https://www.booktopia.com.au/wro/5148/booktopia.desktop.css?v=dev-20241119152116" as="style" /> <link rel="preload" href="https://www.booktopia.com.au/template-resources/icon-fonts/booktopia.ttf?v=dev-20241119152116" as="font" crossorigin/> <link rel="preload" href="https://www.booktopia.com.au/template-resources/webfonts/Inter-roman.var.woff2?v=3.19" as="font" crossorigin/> <link rel="preload" href="https://www.booktopia.com.au/template-resources/webfonts/Inter-italic.var.woff2?v=3.19" as="font" crossorigin/> <link rel="icon" href="https://www.booktopia.com.au/images/assets/favicon.png" type="image/png" /> <link rel="shortcut icon" href="https://www.booktopia.com.au/images/assets/favicon.png" type="image/png" /> <script type="text/javascript"> var baseUrl = "/"; window.BKT_GLOBALS = {sesBrowseProductType: "917504", isMobileSession: false, currentNav: "help",serverTimestamp: null, occasion: {enabled: "true",occasionName: "", theme: "color:#fff;background:#009933;", cutoffDate: "05/12/2024", displayWillNotArriveForOccasion: "true"}, version: "dev-20241119152116", fatZebraPaymentGateway: "FatZebra", gaEnhancedEcommerceEnabled: true, includeNotificationHeaderTemplates: false, paypalPayIn4Enabled: "true", enablePromotionText: "true", expressDeliveryEstimationEnabled: "true", expressShippingClassName: "ships-2-days", enableUniversalGA: true, freeShippingPromotionEnabled: 'false' }; </script> <script type="text/javascript">var customPath = "/template-resources";</script> <link rel="stylesheet" href="/wro/5148/booktopia.desktop.css?v=dev-20241119152116" type="text/css" /> <script> function isBotUserAgent(){ var crawlerAgentRegex = /bot|google|aolbuild|baidu|bing|msn|duckduckgo|teoma|slurp|yandex/i; if (crawlerAgentRegex.test(navigator.userAgent)) return true; return false; } function lazyLoadScript(url, callback){ if(isBotUserAgent()) return; var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); script.defer = true; script.type = 'text/javascript'; script.src = url; head.appendChild(script); script.onload = callback; } </script> <style> @font-face { font-family: 'booktopia'; src: url('/template-resources/icon-fonts/booktopia.eot?v=dev-20241119152116'); src: url('/template-resources/icon-fonts/booktopia.eot?v=dev-20241119152116#iefix') format('embedded-opentype'), url('/template-resources/icon-fonts/booktopia.ttf?v=dev-20241119152116') format('truetype'), url('/template-resources/icon-fonts/booktopia.woff?v=dev-20241119152116') format('woff'), url('/template-resources/icon-fonts/booktopia.svg?v=dev-20241119152116#booktopia') format('svg'); font-weight: normal; font-style: normal; font-display: block; } @font-face { font-family: 'Inter'; font-weight: 100 900; font-display: swap; font-style: normal; font-named-instance: 'Regular'; src: url("/template-resources/webfonts/Inter-roman.var.woff2?v=3.19") format("woff2"); } @font-face { font-family: 'Inter'; font-weight: 100 900; font-display: swap; font-style: italic; font-named-instance: 'Italic'; src: url("/template-resources/webfonts/Inter-italic.var.woff2?v=3.19") format("woff2"); } </style> <script async src="//booktopia.api.useinsider.com/ins.js?id=10002591"></script> <!-- Global site tag (gtag.js) - Google Ads: 1071893088 --> <script> lazyLoadScript("https://www.googletagmanager.com/gtag/js?id=AW-1071893088", function(){}) </script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-1071893088' ); gtag('config', 'AW-978980296' ); </script> <script> (function(w,d,s,l,i){ if(isBotUserAgent()) return; w[l]=w[l]||[]; w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'}); var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:''; j.async=true; j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl + '&gtm_auth=CYkt4R7ZvVvpqpVwuMhNgw&gtm_preview=env-2&gtm_cookies_win=x'; f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-N74L7GH'); </script> <link rel="stylesheet" href="/wro/5148/booktopia.desktop.help-centre.css?v=dev-20241119152116" type="text/css" /> <meta id="google-signin-client_id" name="google-signin-client_id" content="710731560171-45vinu3acor8dihqkbgoas28pkuhob7c.apps.googleusercontent.com" data-enabled="true"> <meta http-equiv="X-UA-Compatible" content="IE=9" /> <!-- Start VWO Async SmartCode --> <script type='text/javascript' id='vwoCode'> if(!isBotUserAgent()) { var _vwo_clicks = 300; //this will track first 300 click window._vwo_code = window._vwo_code || (function () { var account_id = 336745, version = 1.5, settings_tolerance = 2000, library_tolerance = 2500, use_existing_jquery = false, is_spa = 1, hide_element = 'body', hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important', /* DO NOT EDIT BELOW THIS LINE */ f = false, d = document, vwoCodeEl = d.querySelector('#vwoCode'), code = { use_existing_jquery: function () { return use_existing_jquery }, library_tolerance: function () { return library_tolerance }, hide_element_style: function () { return '{' + hide_element_style + '}' }, finish: function () { if (!f) { f = true; var e = d.getElementById('_vis_opt_path_hides'); if (e) e.parentNode.removeChild(e) } }, finished: function () { return f }, load: function (e) { var t = d.createElement('script'); t.fetchPriority = 'high'; t.src = e; t.type = 'text/javascript'; t.onerror = function () { _vwo_code.finish() }; d.getElementsByTagName('head')[0].appendChild(t) }, getVersion: function () { return version }, getMatchedCookies: function (e) { var t = []; if (document.cookie) { t = document.cookie.match(e) || [] } return t }, getCombinationCookie: function () { var e = code.getMatchedCookies(/(?:^|;)\s?(_vis_opt_exp_\d+_combi=[^;$]*)/gi); e = e.map(function (e) { try { var t = decodeURIComponent(e); if (!/_vis_opt_exp_\d+_combi=(?:\d+,?)+\s*$/.test(t)) { return '' } return t } catch (e) { return '' } }); var i = []; e.forEach(function (e) { var t = e.match(/([\d,]+)/g); t && i.push(t.join('-')) }); return i.join('|') }, init: function () { if (d.URL.indexOf('__vwo_disable__') > -1) return; window.settings_timer = setTimeout(function () { _vwo_code.finish() }, settings_tolerance); var e = d.createElement('style'), t = hide_element ? hide_element + '{' + hide_element_style + '}' : '', i = d.getElementsByTagName('head')[0]; e.setAttribute('id', '_vis_opt_path_hides'); vwoCodeEl && e.setAttribute('nonce', vwoCodeEl.nonce); e.setAttribute('type', 'text/css'); if (e.styleSheet) e.styleSheet.cssText = t; else e.appendChild(d.createTextNode(t)); i.appendChild(e); var n = this.getCombinationCookie(); this.load('https://dev.visualwebsiteoptimizer.com/j.php?a=' + account_id + '&u=' + encodeURIComponent(d.URL) + '&f=' + +is_spa + '&vn=' + version + (n ? '&c=' + n : '')); return settings_timer } }; window._vwo_settings_timer = code.init(); return code; }()); } </script> <!-- End VWO Async SmartCode --> <script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={xpid:"Ug4AUFRADAYHV1ZQ",licenseKey:"18e954a8c4",applicationID:"457372"};;/*! For license information please see nr-loader-full-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>d});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function d(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>p,xN:()=>g});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const d="[data-nr-mask]",u=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function g(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,u());const r=(0,s.nY)(e);r&&(r.init=l[e])}function p(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},d={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},u={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!u[e])throw new Error("Runtime for ".concat(e," was never set"));return u[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");u[e]={...(0,n.a)(t,d),...c},Object.hasOwnProperty.call(u[e],"harvestCount")||Object.defineProperty(u[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=u[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.274.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>d,RI:()=>i,WN:()=>f,bv:()=>o,gm:()=>a,lR:()=>l,m:()=>c,mw:()=>s,sb:()=>u});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>d});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function d(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function u(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(u(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)g(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function g(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>d});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),d=function e(t,r){var n={},s={},u={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:g,addEventListener:g,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(d.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=p(e),u=c.length,l=0;l<u;l++)c[l].apply(a,r);var g=v()[s[e]];g&&g.push([f,e,r,a]);return a},get:m,listeners:p,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function g(e,t){n[e]=p(e).concat(t)}function p(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),u=(0,n.Zm)();u.ee||(u.ee=d)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>d});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function d(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>d,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},d={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>u,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>d,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function d(e){let t=a();return t.initializedAgents?.[e]}function u(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(d+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(u+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],d=e[c];u(d)||(e[c]=r(d,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return u(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){d([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,u,l;try{a=this,o=[...arguments],u="function"==typeof n?n(o,a):n||{}}catch(t){d([t,"",[o,a,s],u],e)}i(r+"start",[o,a,s],u,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],u,c),e}finally{i(r+"end",[o,a,l],u,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){d([t,r,n,i],e)}s=a}}}function d(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function u(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,Zp:()=>i,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>u,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>d,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},d={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},u=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>d,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function d(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>d,Rz:()=>u,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,d="fn"+s,u="pushState",l=1e3},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>P});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),d=r(5289),u=r(6154),l=r(944),f=r(3969),h=r(384),g=r(6344);const p=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",g.G4.RECORD,g.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),R=r(3785),x=r(2646),w=r(3434);function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,w.YM)(i),a=new x.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function A(){const e=(0,h.pV)();p.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const E={};var S=r(9417),_=r(5603),O=r(5284);const N=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let I=!1;function P(e,t={},p,x){let{init:w,info:P,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=p;const H=(0,h.pV)();P||(w=H.init,P=H.info,j=H.loader_config),(0,S.xN)(e.agentIdentifier,w||{}),(0,_.a)(e.agentIdentifier,j||{}),P.jsAttributes??={},u.bv&&(P.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,P);const D=(0,S.D0)(e.agentIdentifier),L=[P.beacon,P.errorBeacon];I||(D.proxy.assets&&(N(D.proxy.assets),L.push(D.proxy.assets)),D.proxy.beacon&&L.push(D.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===D.soft_navigations.enabled&&D.feature_flags.includes("soft_nav")),C.denyList=[...D.ajax.deny_list||[],...D.ajax.block_internal?L:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const p={};var x=s.ee.get(e),w=x.get("tracer");E[e]=b.g.OFF,x.on(g.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var A="api-",S=A+"ixn-";function _(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(A,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}p.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,x),(0,R.R)(x,e,t,r)},p.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,x),T(x,e,t,{customAttributes:r,level:i})},m.forEach((e=>{p[e]=I(A,e,!0,"api")})),p.addPageAction=I(A,"addPageAction",!0,n.K7.genericEvents),p.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(A,"setPageViewName",!0)()},p.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return _(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},p.setUserId=function(e){if("string"==typeof e||null===e)return _("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},p.setApplicationVersion=function(e){if("string"==typeof e||null===e)return _("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},p.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,x),x.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},p[g.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,x),(0,a.p)(g.G4.RECORD,[],void 0,n.K7.sessionReplay,x)},p[g.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,x),(0,a.p)(g.G4.PAUSE,[],void 0,n.K7.sessionReplay,x)},p.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const N=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,x),h||(0,a.p)(S+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,x),function(){if(w.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw w.emit("fn-err",[arguments,this,t],r),t}finally{w.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,x),i&&(0,a.p)(e+t,[(0,v.t)(),...arguments],r?null:this,i,x),r?void 0:this}}function P(){r.e(891).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),x.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{N[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),p.setCurrentRouteName=h?I(S,"routeName",void 0,n.K7.softNav):I(A,"routeName",!0,n.K7.spa),p.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,x),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,x)},u.RI?(0,d.GG)((()=>P()),!0):P(),p}(e.agentIdentifier,x,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),I=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({95:"nr-full-compressor",222:"nr-full-recorder",891:"nr-full"}[e]+"-1.274.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var d=document.getElementsByTagName("script"),u=0;u<d.length;u++){var l=d[u];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={891:"sha512-Sx2xJQrHp2m/Ngn/ZcfBCUwNr2Xy/C5urYtWpfm3bWpil4spXOQGTtNwIfF5HvPGioGASn9QTyE4Z+zC7r7wcg==",222:"sha512-hMte3OWgwwYeisSiD7WCIx/6tT16zLaPjag9uF4tIZp7ybOvrJKbeyzhe4fz1tDbkdcdOMm8dvgPPLBatSAGeA==",95:"sha512-MPaT9dkHv16XzwEUVZPyqpN1do/Er1XFAZoIAPYWylmv+iGIThqN+GwQq27pUyAX7sNXVJQVZezH96p53Ks3Pg=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(g);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},g=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={959:0,85:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,d=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);d<a.length;d++)o=a[d],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function d(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var u=i(425);var l=i(1687),f=i(4234),h=i(5289),g=i(6154),p=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(891).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(891).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(891).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};g.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,p.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class R extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var x=i(384);var w=i(9908),T=i(2843),A=i(3878),E=i(782),S=i(1863);class _ extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),g.RI&&((0,T.u)((()=>(0,w.p)("docHidden",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,w.p)("winPagehide",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class N extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return D(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(D(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function H(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return D(e.error)?e.error:C(e)}function D(e){return e instanceof Error&&!!e.stack}class L extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(e=>{this.abortHandler&&(0,w.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),g.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,w.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",(e=>{this.abortHandler&&(0,w.p)("err",[H(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var K=i(8990);let M=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,K.I)(e,U,(function(){return M++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,s=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=g.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(p?p.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var p=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===d||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",Q=["arrayBuffer","blob","json","text","formData"],J=g.gm.Request,ee=g.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(J&&ee&&g.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,Q.forEach((e=>{r(J[te],e,X),r(ee[te],e,X)})),r(g.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),d={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(d.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),d.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(d.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),d}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),de=["load","error","abort","timeout"],ue=de.length,le=(0,x.dV)().o.REQ,fe=(0,x.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,w.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};ge(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=x,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){T(t,e)}),(0,A.jT)(!1)),g.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},ge(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<ue;s++)r.addEventListener(de[s],this.listener,(0,A.jT)(!1))}function d(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function u(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function p(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:g.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),ge(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function R(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function x(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<ue;t++)e.removeEventListener(de[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCazptureCalled||4!==e.readyState?null==t.status&&(t.status=0):T(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function T(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,w.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",d),t.on("xhr-load-added",u),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",p),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",R)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function ge(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const pe={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!g.RI||pe[t.debugId]++||(pe[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:Re,d3:xe,Kp:we,TZ:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class _e extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,w.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+xe,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+we,(function(e){(0,w.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,w.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:Re,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class Ne extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,p.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,w.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,p.Aw)(this.agentIdentifier)}#d=!1;async#c(e){if(!this.#d){this.#d=!0;try{const{Recorder:t}=await Promise.all([i.e(891),i.e(222)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3333);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){super(e,Ie.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled];g.RI&&e.init.user_actions.enabled&&(Ie.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,w.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),Ie.qN.forEach((e=>(0,A.sp)(e,(e=>(0,w.p)("ua",[e],void 0,this.featureName,this.ee)))))),r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var je=i(993),Ce=i(3785);class ke extends b{static featureName=je.TZ;constructor(e,t=!0){super(e,je.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,Ce.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),g.gm?(this.features={},(0,x.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(R),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,u.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=d(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,x.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[R,_,_e,Ne,he,N,L,Pe,ke],loaderType:"pro"})})()})();</script> </head> <body id="" class=" "> <script> var currentPageNav = ""; currentPageNav = "help"; </script> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N74L7GH&gtm_auth=CYkt4R7ZvVvpqpVwuMhNgw&gtm_preview=env-2&gtm_cookies_win=x" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <a name="top"></a> <template id="skip-to-content-template"> <a id="skip-to-content" tabindex="0" style="height: 36px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-weight: 600; text-decoration: underline; "> Skip to content </a> </template> <div id="header" > <div id="top-bar"> <div class="content"> <div class="lhs-link location-selector-link-wrapper"> <a href="javascript:void(0)" class="location-selector-link"> <span class="icon-location1"></span> <span class="link-text"> Hello! Enter your postcode for delivery time </span> </a> </div> <div class="lhs-link"> <a href="/track-order.ep" data-mh-pe="eventOnClick" data-mh-ec="Header" data-mh-ea="Click"><span data-mh-label>Track My Order</span></a> </div> <div class="lhs-link"> <a href="/helpCentre.ep" data-mh-pe="eventOnClick" data-mh-ec="Header" data-mh-ea="Click"><span data-mh-label>Help Centre</span></a> </div> <div class="lhs-link"> <a href="tel: 1300 187 187" data-mh-pe="eventOnClick" data-mh-ec="Click to Call" data-mh-ea="Link click"><b data-mh-label> 1300 187 187</b></a> </div> <div id="fb-like"> <a data-mh-pe="eventOnClick" data-mh-ec="Header" data-mh-ea="Click" data-mh-el="Like" href="//www.facebook.com/pages/Booktopia/91043653859" target="_blank"><img class="lazyload no-loader" src="" data-src="https://www.booktopia.com.au/images/assets/header/facebook-like.png" alt="Likes" width="90" height="20"></a> </div> <div id="links" data-mh-pe="eventOnClick" data-mh-ec="Header" data-mh-ea="Click"> <a href="javascript:void(0)" class="link-notifications" tabindex="0" title="Notifications"> <span class="icon-bell1"></span> <span id="new-notification-badge"></span> <span data-mh-label class="rhs-link-text">Notifications</span> </a> <div class="if-signed-out"> <a href="/view-wishlist-nocache.ep" title="My Wish Lists"><span class="icon-Heart-new"></span> <span data-mh-label class="rhs-link-text">My Wish Lists</span></a> <a href="/manage-account.ep" class="grey-11" title="Login/Join"><span class="icon-user1"></span> <span data-mh-label class="rhs-link-text">Login / Join</span></a> </div> <div class="if-signed-in"> <a href="/view-wishlist-nocache.ep" title="My Wish Lists"><span class="icon-Heart-new"></span> <span data-mh-label class="rhs-link-text">My Wish Lists</span></a> <a href="/manage-account.ep" title="My Account"><span class="icon-user1"></span> <span data-mh-label class="rhs-link-text">My Account</span></a> <a href="/sign-out-customer-session.ep" onclick="updateLocalEmptyCart();resetPostcode();googleSignOut();return true" title="Sign Out"><span class="icon-log-out"></span> <span data-mh-label class="rhs-link-text">Sign Out</span></a> </div> </div> </div> </div> <div id="top-notifications-container" data-escape-popup data-popup-initiator=".link-notifications"> <div id="top-notification-scroll" > <div id="top-notification-empty">No new notifications.</div> <template id="top-notification-price-template"> <div id="top-notification-price"> <a href="/view-wishlist-nocache.ep?priceDrop=true" class="top-notification top-notification-link row no-gutters align-items-center"> <span class="icon-price-drop col-auto"></span> <p class="col">Items in your wish list have gone down in price.</p> <div class="col-auto"> <span class="notification-button">See All</span> </div> </a> </div> </template> <template id="top-notification-stock-template"> <div id="top-notification-stock"> <a href="/view-wishlist-nocache.ep?backInStock=true" class="top-notification top-notification-link row no-gutters align-items-center"> <span class="icon-back-in-stock col-auto"></span> <p class="col">Items in your wish list are back in stock.</p> <div class="col-auto"> <span class="notification-button">See All</span> </div> </a> </div> </template> </div> </div> <div class="main-content"> <div class="content"> <div id="logo"> <a href="/"><img class="lazyload no-loader" src="" data-src="https://www.booktopia.com.au/images/assets/logos/booktopia-logo-positive.png" width="200" alt="Booktopia" /></a><br> <a href=" /your-local-bookstore/news18.html "><img id="flag" class="lazyload no-loader" src="" data-src="https://www.booktopia.com.au/images/assets/logos/tagline-green.svg" width="198" alt="Australia's local bookstore"/></a> </div> <div class="content-right-section"> <div class="header-right-section float-right"> <div id="search"> <form id="searchform" action="/search.ep" method="get" name="searchForm" onSubmit="return isSearchPopulated('headerSearch')"> <div class="search-box search"> <input id="header-search-box" type="search" maxlength="255" class="search-text expanded" name="keywords" value="Search Title, Author or ISBN" onblur="if (this.value==='') {this.value='Search Title, Author or ISBN'; this.style.color = '#6C737F'; }" onfocus="if (this.value==='Search Title, Author or ISBN') this.value=''; this.style.color = '#1F2A37';"/> <span class="my-skinnable-select skinned-select"> <select name="productType"> <option value="917504" selected="selected" >Books</option> <option value="917505" >eBooks</option> <option value="917510" >Audiobooks</option> <option value="917507" >Audio CDs</option> <option value="917503" >Stationery</option> </select> </span> <span class="icon-arrow-down8"></span> <button id="search-button" type="submit" class="submit float-right row align-items-center" data-skip-mh aria-label="Search"> <span class="icon-global-search font-size-15r mr-2"></span> <span class="search-button-text">Search</span> </button> </div> <template id="recommended-autocomplete-suggestions-template"> <div id="recommended-autocomplete-suggestions" class="autocomplete-suggestions"> <div class="autocomplete-group">Popular Search Terms</div> <div id="search-terms" class="row no-gutters"> </div> <div id="product-carousel"> </div> </div> </template> </form> </div> </div> </div> </div> </div> </div> <div id="top-nav" data-mh-pe="eventOnClick" data-mh-ec="Header - Nav" data-mh-ea="Click"> <div class="content"> <div class="header-version-b-item dcjq-mega-menu"> <ul class="menu" id="hover-menu-top"> <li><a class="sidenav-menu-switch"><div class="navLink"><i class="icon-menu-new"></i><span>ALL</span></div></a></li> <li id="navlink-books-sub"><a href="/?books"><span class="navLink">BOOKS</span></a></li> <li id="navlink-fiction-sub"> <a href="/books/fiction-books/cF-p1.html"> <span class="navLink">FICTION</span> </a> </li> <li id="navlink-non-fiction-sub"> <a href="/books/non-fiction-books/cN-p1.html"> <span class="navLink">NON-FICTION</span> </a> </li> <li id="navlink-australia"><a href="/books/australian-authors-books/l10-p1.html"><span class="navLink">AUSTRALIAN</span></a></li> <li id="mnu-books-children" class="navlink-kids-sub"><a href="/books/kids-childrens-books/cY-p1.html"><span class="navLink">KIDS</span></a></li> <li id="navlink-schools-sub"><a href="/school-books-textbooks/promo152.html"><span class="navLink">SCHOOL</span></a></li> <li> <a href="/books/text-books/higher-education-vocational-textbooks/cXA-p1.html"> <span class="navLink">ACADEMIC & TEXTBOOKS</span> </a> <div class="sub" data-mh-pe="eventOnClick" data-mh-ec="Header - BOOKS - ACADEMIC" data-mh-ea="Link Click"> <div class="sub-menu-container row no-gutters"> <div class="col sub-menu-content"> <ul class="row"> <li class="col-4" data-skip-mh> <ul> <h4>University</h4> <li><a href="/books/text-books/higher-education-vocational-textbooks/accounting-business-finance-higher-education-textbooks/cXAA-p1.html">Accounting, Business & Finance</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/biology-and-sciences-higher-education-textbooks/cXAB-p1.html">Biology & Science</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/computing-programming-higher-education-textbooks/cXAC-p1.html">Computing & Programming</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/education-higher-education-textbooks/cXAD-p1.html">Education</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/engineering-physics-higher-education-textbooks/cXAE-p1.html">Engineering & Physics</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/english-literature-higher-education-textbooks/cXAF-p1.html">English & Literature</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/environment-planning-higher-education-textbooks/cXAG-p1.html">Environment & Planning</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/health-care-higher-education-textbooks/cXAI-p1.html">Health Care</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/history-higher-education-textbooks/cXAJ-p1.html">History</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/language-higher-education-textbooks/cXAK-p1.html">Language</a></li> </ul> </li> <li class="col-4" data-skip-mh> <ul> <h4>&nbsp;</h4> <li><a href="/books/non-fiction/law/cL-p1.html">Law</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/mathematics-statistics-higher-education-textbooks/cXAM-p1.html">Mathematics & Statistics</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/media-communication-arts-higher-education-textbooks/cXAO-p1.html">Media, Communication & Arts</a></li> <li><a href="/books/non-fiction/medicine/cM-p1.html">Medicine</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/nursing-higher-education-textbooks/cXAP-p1.html">Nursing</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/politics-higher-education-textbooks/cXAQ-p1.html">Politics</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/psychology-higher-education-textbooks/cXAH-p1.html">Psychology</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/social-sciences-higher-education-textbooks/cXAR-p1.html">Social Sciences</a></li> <li><a href="/books/text-books/higher-education-vocational-textbooks/study-skills-for-higher-education/cXAS-p1.html?mlk">Study Skills</a></li> </ul> </li> <li class="col-4" data-skip-mh> <ul> <h4>Vocational</h4> <li><a href="/vocational-trades/series7927.html">Trades</a></li> <li><a href="/vocational-hospitality-tourism/series7931.html">Hospitality & Tourism</a></li> <li><a href="/vocational-business-financial-management/series7929.html">Business, Financial & Management</a></li> <li><a href="/vocational-nursing-health-care/series7928.html">Nursing & Health Care</a></li> <li><a href="/vocational-it-networking-computer-repair/series7930.html">IT, Networking & Computer Repair</a></li> <li><a href="/vocational-education-early-childhood/series7932.html">Education & Early Childhood</a></li> <li><a href="/vocational-social-work-counselling/series7933.html">Social Working & Counselling</a></li> <li><a href="/vocational-design-art-fashion-photography/series7934.html">Design, Art, Fashion & Photography</a></li> </ul> </li> </ul> </div> </div> <div class="row no-gutters sub-menu-more"> <div class="col-12"> <a class="more" href="/books/text-books/higher-education-vocational-textbooks/cXA-p1.html">Explore All Academic &gt;</a> </div> </div> </div> </li> <li > <a href="/?ebooks" onclick="checkLatestKeywords(this, '917505')"> <span class="navLink">EBOOKS</span> </a> <div class="sub" data-mh-pe="eventOnClick" data-mh-ec="Header - EBOOKS" data-mh-ea="Link Click"> <div class="sub-menu-container row no-gutters"> <div class="col sub-menu-content"> <ul class="row"> <li class="col-3" data-skip-mh> <ul> <h4>Fiction</h4> <li><a href="/ebooks/fiction/romance/cFR-p1-e.html">Romance </a></li> <li><a href="/ebooks/fiction/crime-mystery/cFF-p1-e.html">Crime & Mystery</a></li> <li><a href="/ebooks/fiction/erotic-fiction/cFP-p1-e.html">Erotic Fiction</a></li> <li><a href="/ebooks/fiction/fantasy-fiction/cFM-p1-e.html">Fantasy</a></li> <li><a href="/ebooks/fiction/thrillers-suspense/cFH-p1-e.html">Thrillers</a></li> <li><a href="/ebooks/fiction/science-fiction/cFL-p1-e.html">Science Fiction</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Kids & YA</h4> <li><a href="/ebooks/children-teenagers-young-adults-ya-/children-s-fiction/cYF-p1-e.html">Children's Fiction</a></li> <li><a href="/ebooks/children-teenagers-young-adults-ya-/children-s-fiction/romance-love-stories-for-children-teenagers/cYFM-p1-e.html">Romance & Love Stories</a></li> <li><a href="/ebooks/children-teenagers-young-adults-ya-/picture-books-early-learning/cYB-p1-e.html">Picture Books & Early Learning</a></li> <li><a href="/ebooks/children-teenagers-young-adults-ya-/children-s-non-fiction/cYN-p1-e.html">Children's Non-Fiction</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Non-Fiction</h4> <li><a href="/ebooks/non-fiction/biographies-true-stories/cB-p1-e.html">Biographies</a></li> <li><a href="/ebooks/non-fiction/mind-body-spirit/cVX-p1-e.html">Mind, Body, Spirit</a></li> <li><a href="/ebooks/non-fiction/business-management/cKJ-p1-e.html">Business & Management</a></li> <li><a href="/ebooks/non-fiction/family-health/cVF-p1-e.html">Family & Health</a></li> <li><a href="/ebooks/non-fiction/gardening/cWM-p1-e.html">Gardening</a></li> <li><a href="/ebooks/non-fiction/history/cHB-p1-e.html">History</a></li> <li><a href="/ebooks/non-fiction/politics-government/cJP-p1-e.html">Politics & Government</a></li> <li><a href="/ebooks/non-fiction/psychology/cJM-p1-e.html">Psychology</a></li> <li><a href="/ebooks/non-fiction/science/cP-p1-e.html">Science</a></li> </ul> </li> <li class="col-3" data-skip-mh> <ul> <h4>Textbooks</h4> <li><a href="/ebooks/non-fiction/education/l101082-p1-e.html">Education</a></li> <li><a href="/ebooks/non-fiction/medicine/l101082-p1-e.html">Medicine</a></li> <li><a href="/ebooks/non-fiction/accounting-finance/l101082-p1-e.html">Accounting & Finance</a></li> <li><a href="/ebooks/non-fiction/law/l101082-p1-e.html">Law</a></li> <li><a href="/ebooks/non-fiction/psychology/l101082-p1-e.html">Psychology</a></li> <li><a href="/ebooks/non-fiction/mathematics/l101082-p1-e.html">Mathematics</a></li> <li><a href="/ebooks/non-fiction/language-linguistics/l101082-p1-e.html">Language & Linguistics</a></li> </ul> </li> </ul> </div> </div> <div class="row no-gutters sub-menu-more"> <div class="col-12"> <a class="more" href="/?ebooks">Explore All eBooks &gt;</a> </div> </div> </div> </li> <li ><a href="/?audiobooks" onclick="checkLatestKeywords(this, '917510')"><span class="navLink">AUDIOBOOKS</span></a></li> <li ><a href="/books/games-and-puzzles/cGMP-p1.html"><span class="navLink">GAMES & PUZZLES</span></a></li> <li ><a href="/?stationery"><span class="navLink">STATIONERY</span></a></li> <li ><a href="/books/gift-ideas/c53-p1.html"><span class="navLink">GIFTS</span></a></li> <li id="navlink-bargain"><a class="alert" href="/books/bargains/c9-p1.html"><span class="navLink">BARGAINS</span></a></li> <li><a href="//www.booktopia.com.au/blog/"><span class="navLink">BLOG</span></a></li> </ul> </div> <ul class="header-version-default-item"> <li id="nav-books" ><a href="/?books" onclick="checkLatestKeywords(this, '917504')"><span class="navLink">BOOKS</span></a></li> <li id="nav-ebooks" ><a href="/?ebooks" onclick="checkLatestKeywords(this, '917505')"><span class="navLink">EBOOKS</span></a></li> <li id="nav-audio-books" ><a href="/?audiobooks" onclick="checkLatestKeywords(this, '917510')"><span class="navLink">AUDIOBOOKS</span></a></li> <li id="nav-games-toys-puzzles" ><a href="/books/games-and-puzzles/cGMP-p1.html"><span class="navLink">GAMES & PUZZLES</span></a></li> <li id="nav-stat" ><a href="/?stationery"><span class="navLink">STATIONERY</span></a></li> <li id="nav-gifts" ><a href="/books/gift-ideas/c53-p1.html"><span class="navLink">GIFT IDEAS</span></a></li> <li id="nav-help"><a href="//www.booktopia.com.au/blog/"><span class="navLink">BLOG</span></a></li> </ul> <a id="shopping-cart-summary" href="/view-cart.ep"> <div class="numItems"> <span id="numItemsQty">0</span>&nbsp;<span id="numItemsUnits"> items</span> </div> <div class="icon-shopping-cart"></div> <div class="checkout-text">CHECKOUT</div> <div class="total"> </div> </a> <form name="state" style="display:none"> <input name="pageIsDirty" type="text" value="false"/> <input name="stateChangedAt" type="text" value="0"/> <input name="shoppingCartQty" type="text" value="$signedinCartQty"/> </form> <div class="clearfix"></div> </div> </div> <template id="sidenav-menu-templates-template" style="display: none"> <div id="sidenav-menu-templates" class="b-modal side-panel-theme"> <div class="b-modal-content"> <div class="tabs menu-tabs"> <div class="menu-top-bar"> <button data-mh-ea="close" class="b-close-button b-modal-close"><i class="icon-cross"></i></button> <h3>ALL CATEGORIES</h3> </div> <div class="menu-list"> <ul> <li> <a href="/books/bestseller-bargains/l115-p1.html?sorter=bestsellers-dsc" class="bestseller-bargains"> <div class="sidenav-link-left"> <i class="icon-trophy-02"></i> <span>Hot Price Bestsellers</span> </div> </a> </li> <li> <a href="/bps-get-free-shipping/promo4116.html?src=bt-promo" class="books-with-free-shipping"> <div class="sidenav-link-left"> <i class="icon-Express-shipping"></i> <span>Books with Free Shipping</span> </div> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-books" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-Paperback"></i> <span>Books</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-academic" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-Grade-Range"></i> <span>Academic & Textbooks</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-ebooks" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-Ebook"></i> <span>eBooks</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-audiobooks" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-Audio-Book"></i> <span>Audiobooks</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-games" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-Puzzle-Piece-Number"></i> <span>Games & Puzzles</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-magazines" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-Page-Number"></i> <span>Magazines</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-stationery" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-stationary"></i> <span>Stationery</span> </div> <i class="icon-arrow-right8"></i> </a> </li> <li class="tab"> <a href="javascript:;" data-tab="tab-gift-ideas" onclick="switchTabs(this)"> <div class="sidenav-link-left"> <i class="icon-gift1"></i> <span>Gift Ideas</span> </div> <i class="icon-arrow-right8"> </i> </a> </li> <li> <a href="/promo3293.html"> <div class="sidenav-link-left"> <i class="icon-bargains"></i> <span>Promotions</span> </div> </a> </li> <li> <a href="/helpCentre.ep"> <div class="sidenav-link-left"> <i class="icon-info-new"></i> <span>Help Centre</span> </div> </a> </li> <li> <a href="https://www.booktopia.com.au/blog/"> <div class="sidenav-link-left"> <i class="icon-blog"></i> <span>Blog</span> </div> </a> </li> </ul> <div class="account-section"> <div id="pnl-account-signed-in" class="account clear if-signed-in" data-mh-pe="eventOnClick" data-mh-ec="Navigation" data-mh-ea="Click"> <div class="title clear"> <span>Hi, </span><span id="lbl-customer-full-name" class="title"></span> </div> <ul class="account-links"> <li class="my-account"> <a id="mnu-side-manage-account" href="/manage-account.ep"> <i class="icon-user1"></i> My Account </a> </li> <li class="my-account"> <a id="mnu-side-view-wishlist" href="/view-wishlist-nocache.ep"> <i class="icon-Heart-new"></i> My Wish Lists </a> </li> <li class="my-account"> <a id="mnu-side-ebooks-bookshelf" href="/digital-library.ep"> <i class="icon-titles"></i> My Digital Library </a> </li> </ul> <a id="btn-side-sign-out" href="/sign-out-customer-session.ep" onclick="updateLocalEmptyCart();resetPostcode();googleSignOut();return true" > <i class="icon-log-out"></i> Sign Out </a> </div> <div id="pnl-account-signed-out" class="account clear if-signed-out" data-mh-pe="eventOnClick" data-mh-ec="Navigation" data-mh-ea="Click"> <span class="title"><i class="icon-user1"></i> My Account</span> <div id="account-action" class="row no-gutters"> <div class="col-6 pr-2"> <a id="btn-side-sign-in" href="/sign-in.ep">Sign In</a> </div> <div class="col-6 pl-2"> <a id="btn-side-join" href="/sign-in.ep#signup">Join</a> </div> </div> </div> <div id="useful-nav-links"><a href="//www.booktopia.com.au/blog/">Blog</a> - <a href=" ?deviceType=Desktop">Full Site</a></div> <span class="copyright">&copy; 2024 Booktopia Direct Pty Ltd. </span> </div> </div> <div class="tab-content" id="tab-books"> <ul> <li class="nav-sub-link"><a href="/?books">All Books</a></li> <li class="nav-sub-link"><a href="/books/fiction-books/cF-p1.html">Fiction</a></li> <li class="nav-sub-link"><a href="/books/non-fiction-books/cN-p1.html">Non-Fiction</a></li> <li class="nav-sub-link"><a href="/books/kids-childrens-books/cY-p1.html">Kids &amp; YA</a></li> <li class="nav-sub-link"><a href="/books/australian-authors-books/l10-p1.html">Australian Stories</a></li> <li class="nav-sub-link"><a href="/school-books-textbooks/promo152.html">Education</a></li> <li class="nav-sub-link"><a href="/books/non-fiction/biographies-true-stories/cB-p1.html">Biographies & True Stories</a></li> <li class="nav-sub-link"><a href="/books/non-fiction/cooking-food-drink/cWB-p1.html">Cooking, Food & Drink</a></li> <li class="nav-sub-link"><a href="/books/fiction-books/crime-mystery/cFF-p1.html">Crime & Mystery</a></li> <li class="nav-sub-link"><a href="/books/fiction/romance/cFR-p1.html">Romance</a></li> <li class="nav-sub-link"><a href="/books/fiction/graphic-novels/cFX-p1.html">Graphic Novels & Manga</a></li> <li class="nav-sub-link"><a href="/books/kids-childrens-books/cY-p1.html?sorter=bestsellers-dsc">Bestsellers</a></li> <li class="nav-sub-link"><a href="/books/fiction/l20-p1.html?cID=F">Signed Copies</a></li> <li class="nav-sub-link"><a href="/books/bargains/c9-p1.html">Bargains</a></li> </ul> </div> <div class="tab-content" id="tab-academic"> <ul> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/cXA-p1.html">All Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/accounting-business-finance-higher-education-textbooks/cXAA-p1.html">Accounting, Business & Finance Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/law-higher-education-textbooks/cXAL-p1.html">Law Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/medicine-for-higher-education/cXAV-p1.html">Medicine Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/nursing-higher-education-textbooks/cXAP-p1.html">Nursing Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/psychology-higher-education-textbooks/cXAH-p1.html">Psychology Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/education-higher-education-textbooks/cXAD-p1.html">Education Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/biology-and-sciences-higher-education-textbooks/cXAB-p1.html">Biology & Science Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/computing-programming-higher-education-textbooks/cXAC-p1.html">Computing & Programming Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/engineering-physics-higher-education-textbooks/cXAE-p1.html">Engineering & Physics Textbooks</a></li> <li class="nav-sub-link"><a href="/books/text-books/higher-education-vocational-textbooks/history-higher-education-textbooks/cXAJ-p1.html">History Textbooks</a></li> <li class="nav-sub-link"><a href="/ebooks/etextbooks/l101082-p1-e.html">Digital Textbooks</a></li> </ul> </div> <div class="tab-content" id="tab-ebooks"> <ul> <li class="nav-sub-link"><a href="/?ebooks">All eBooks</a></li> <li class="nav-sub-link"><a href="/ebooks/etextbooks/l101082-p1-e.html">Textbooks</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/cF-p1-e.html">Fiction</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/romance/cFR-p1-e.html">Romance</a></li> <li class="nav-sub-link"><a href="/ebooks/kids-children-s-books/cY-p1-e.html">Kids & YA</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/crime-mystery-fiction/cFF-p1-e.html">Crime & Mystery</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/erotic-fiction/cFP-p1-e.html">Erotic Fiction</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/fantasy-fiction/cFM-p1-e.html">Fantasy</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/thrillers-suspense/cFH-p1-e.html">Thrillers</a></li> <li class="nav-sub-link"><a href="/ebooks/fiction/science-fiction/cFL-p1-e.html">Science Fiction</a></li> <li class="nav-sub-link"><a href="/ebooks/non-fiction/cN-p1-e.html">Non-Fiction</a></li> <li class="nav-sub-link"><a href="/ebooks/non-fiction/biographies-true-stories/cB-p1-e.html">Biographies & True Stories</a></li> <li class="nav-sub-link"><a href="/kobo-ebook-readers/promo3090.html">eReaders</a></li> <li class="nav-sub-link"><a href="/kobo-plus-ebook-subscription">Kobo Plus</a></li> </ul> </div> <div class="tab-content" id="tab-audiobooks"> <ul> <li class="nav-sub-link"><a href="/?audiobooks">All Audiobooks</a></li> <li class="nav-sub-link"><a href="/audiobooks/fiction/cF-p1-a.html">Fiction</a></li> <li class="nav-sub-link"><a href="/audiobooks/fiction/crime-mystery-fiction/cFF-p1-a.html">Crime & Mystery</a></li> <li class="nav-sub-link"><a href="/audiobooks/non-fiction/biographies-true-stories/cB-p1-a.html">Biographies & True Stories</a></li> <li class="nav-sub-link"><a href="/audiobooks/non-fiction/history/cHB-p1-a.html">History</a></li> <li class="nav-sub-link"><a href="/audiobooks/kids-children-s-books/cY-p1-a.html">Children</a></li> <li class="nav-sub-link"><a href="/?audio-cd">Audio CDs</a></li> <li class="nav-sub-link"><a href="/audio-cd/hot-prices/l13-p1-c.html?sorter=price-AUD-asc">Audio CD Bargains</a></li> </ul> </div> <div class="tab-content" id="tab-games"> <ul> <li class="nav-sub-link"><a href="/books/games-and-puzzles/cGMP-p1.html">All Games & Puzzles</a></li> <li class="nav-sub-link"><a href="/books/games-and-puzzles/board-games-table-top-games/cGMPA-p1.html">Board Games</a></li> <li class="nav-sub-link"><a href="/books/games-and-puzzles/card-games/cGMPB-p1.html">Card Games</a></li> <li class="nav-sub-link"><a href="/books/games-and-puzzles/puzzles/cGMPC-p1.html">Puzzles</a></li> <li class="nav-sub-link"><a href="/books/games-and-puzzles/figurines-collectables/cGMPD-p1.html">Figurines & Collectables</a></li> <li class="nav-sub-link"><a href="/books/games-and-puzzles/activities/cGMPE-p1.html">Activities</a></li> </ul> </div> <div class="tab-content" id="tab-magazines"> <ul> <li class="nav-sub-link"><a href="/?magazines">All Magazines</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/magazines-for-her/l59-p1-m.html">Magazines For Her</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/magazines-for-him/l60-p1-m.html">Magazines For Him</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/kids-teens-magazines/c4K-p1-m.html">Kids & Teens</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/international-magazines/c4J-p1-m.html">International Magazines</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/art-design-magazines/c4A-p1-m.html">Art & Design</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/fashion-beauty-magazines/c4U-p1-m.html">Fashion & Beauty</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/hobbies-puzzles-magazines/c4O-p1-m.html">Hobbies & Puzzles</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/craft-magazines/c4R-p1-m.html">Craft</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/science-nature-magazines/c4N-p1-m.html">Science & Nature</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/lifestyle-magazines/c4L-p1-m.html">Lifestyle</a></li> <li class="nav-sub-link"><a href="/magazine-subscriptions/health-fitness-magazines/c4H-p1-m.html">Health & Fitness</a></li> </ul> </div> <div class="tab-content" id="tab-stationery"> <ul> <li class="nav-sub-link"><a href="/?stationery">All Stationery</a></li> <li class="nav-sub-link"><a href="/diaries-stationery/2024-diaries/c1E-p1-s.html">Diaries</a></li> <li class="nav-sub-link"><a href="/diaries-stationery/notebooks/c1A-p1-s.html">Notebooks</a></li> <li class="nav-sub-link"><a href="/diaries-stationery/journals/c1B-p1-s.html">Journals</a></li> <li class="nav-sub-link"><a href="/diaries-stationery/hot-prices/l13-p1-s.html?list=13">Stationery Bargains</a></li> </ul> </div> <div class="tab-content" id="tab-gift-ideas"> <ul> <li class="nav-sub-link"><a href="/books/booktopia-gift-guide/c53-p1.html">Gift Guides</a></li> <li class="nav-sub-link"><a href="/gift-certificates/cGC-p1.html">Gift Certificates</a></li> <li class="nav-sub-link"><a href="/books/booktopia-gift-guide/games-toys-and-puzzles/c53H-p1.html">Games & Puzzles</a></li> <li class="nav-sub-link"><a href="/diaries-stationery/stationery-gift-ideas/l265-p1-s.html">Stationery</a></li> <li class="nav-sub-link"><a href="/diaries-stationery/book-accessories/c1T-p1-s.html">Book Accessories</a></li> <li class="nav-sub-link"><a href="/books/booktopia-gift-guide/everything-lavish-gift-guide/c53C-p1.html">Everything Lavish</a></li> <li class="nav-sub-link"><a href="/books/booktopia-gift-guide/fiction-gift-guide/c53D-p1.html">Fiction</a></li> <li class="nav-sub-link"><a href="/books/booktopia-gift-guide/non-fiction-gift-guide/c53A-p1.html">Non-Fiction</a></li> <li class="nav-sub-link"><a href="/books/booktopia-gift-guide/just-for-kids/c53E-p1.html">Just For Kids</a></li> </ul> </div> </div> </div> </div> </template><div id="body" > <div id="help-centre" class="topic"> <div class="container"> <div class="row"> <div class="col py-3 px-1 text-center"> <a href="/helpCentre.ep?p=account&o=create-an-account#"> <span class="icon-user3 square"></span><br/>My Account </a> </div> <div class="col py-3 px-1 text-center"> <a href="/helpCentre.ep?p=ordering&o=place-order#"> <span class="icon-cart3 square "></span><br/>Ordering & Payment </a> </div> <div class="col py-3 px-1 text-center"> <a href="/helpCentre.ep?p=shipping&o=standard-shipping#"> <span class="icon-truck square"></span><br/>Shipping<br/>& Delivery </a> </div> <div class="col py-3 px-1 text-center"> <a href="/helpCentre.ep?p=cancellationsAndReturns&o=cancellations#"> <span class="icon-arrow square"></span><br/>Cancellations<br/>& Returns </a> </div> <div class="col py-3 px-1 text-center"> <a href="/helpCentre.ep?p=pre-administration-refunds&o=order#"> <span class="icon-info4 square"></span><br>Pre-Administration Refunds <div class="arrow"></div> </a> </div> <div class="col py-3 px-1 text-center"> <a href="/helpCentre.ep?p=eBooks&o=product-type-selection#"> <span class="icon-book square"></span><br/>eTexts, eBooks & Audiobooks </a> </div> <div class="col py-3 px-1 text-center"> <a href="/helpCentre.ep?p=booktopiaBookClub&o=join-booktopia-book-club#"> <span class="icon-book-club square"></span><br/>Booktopia Book Club </a> </div> <div class="col py-3 px-1 text-center"> <a href="/helpCentre.ep?p=giftCertificatesAndVouchers&o=gift-certificates#"> <span class="icon-gift square"></span><br/>Gift Certificates<br/>& Store Credits </a> </div> <div class="col py-3 px-1 text-center help-nav-selected last"> <a href="/helpCentre.ep?p=policies&o=privacy#"> <span class="icon-file square"></span><br/>Policies </a> </div> </div> </div> <div id="content" class="row no-gutters"> <h2 class="col-12">Booktopia Policies</h2> <div class="col-3"> <ul class="icon menu"> <li data-id="privacy" class="selected"><a href="#" onclick="displayHelp('privacy')">Privacy Policy</a></li> <li data-id="terms"><a href="#" onclick="displayHelp('terms')" >Terms Of Business</a></li> <li data-id="digital-subscription"><a href="#" onclick="displayHelp('digital-subscription')">Digital Subscription Terms</a></li> <li data-id="abuse"><a href="#" onclick="displayHelp('abuse')" >Online Abuse</a></li> <li data-id="cover"><a href="#" onclick="displayHelp('cover')">Cover Images</a></li> <li data-id="secure"><a href="#" onclick="displayHelp('secure')">Secure Shopping</a></li> <li data-id="modern-slavery"><a href="#" onclick="displayHelp('modern-slavery')">Modern Slavery Policy</a></li> </ul> <div class="contact-help"> <h3>Contact us for further help</h3> <p class="live-chat font-bold"><span class="icon-live-chat"></span><a href="javascript:void(0)">Ask us a question</a></p> <p class="font-bold"><a class="btn-link b-trigger" data-target="iframe" data-url="/create-message.ep">Send us a message</a></p> <p class="font-bold">Call us on 1300 187 187</p> <p>We're available Monday to Friday, 9am to 5pm <span>Sydney time</span>, except public holidays.</p> </div> </div> <div class="col-8 border-left"> <a name="content"></a> <div id="privacy" class="section"> <h3>Privacy Policy</h3> <p>Booktopia Direct Pty Ltd (hereafter referred to as Booktopia) respects your right to privacy and is committed to protecting your personal information. This Privacy Policy outlines how Booktopia collects, uses and manages your personal information and incorporates compliance with the General Data Protection Regulations (GDPR) for EEA residents.</p> <p>We respect the importance of your privacy and that you have a right to make your own choices about how your personal information is collected and used. We acknowledge that when you provide your personal information, you do so trusting Booktopia and unless you directly give Booktopia consent to do otherwise, Booktopia will only collect and use your personal information in accordance with this Privacy Policy.</p> <p>We give you:</p> <ol> <li>The right to be informed through this Privacy Policy, this website and our communications with you </li> <li>The right of access to your information</li> <li>The right to rectification of your information</li> <li>The right to erasure of your information</li> <li>The right to restrict processing of your information</li> <li>The right to data portability should it be required</li> <li>The right to object to usage and storage of your information</li> <li>Rights in relation to automated decision making and profiling as relevant.</li> </ol> <h4>Collecting information about you</h4> <p>Except as stated in this Privacy Policy, Booktopia will not collect or use your personal information without your consent. Booktopia collects your personal information when you:</p> <ul> <li>provide us your personal information and contact details;</li> <li>order or purchase Booktopia products and/or services</li> <li>enter your personal information on the Booktopia website or other Booktopia-owned properties;</li> <li>participate in a Booktopia competition;</li> <li>interact with us through social media (including Facebook and Twitter);</li> <li>register on the Booktopia website/s</li> <li>contact us; we may also keep a record of that contact.</li> <li>We will only collect additional personal information with your consent.</li> </ul> <h4>Information you give us</h4> <p>We collect and store all the information you enter yourself into your Account and Email Newsletter Preference centre, including personal information such as your name, addresses, phone number, email address; information about your orders; personal communications with us; and your newsletter preferences.</p> <p>We collect and store any information you give to us when you contact us through our customer contact channels eg phone, email, chat, contact centre, social media; that is relevant to you or us for the purposes of updating your information, or improving our service to you or offering you new products and services if relevant.</p> <p><b>Information from your use of our websites and services</b></p> <p>We collect and store information about your usage of our website when you browse and shop with us. This includes technical information such as your browser type; device type; IP address; length of time you are on part of a page, a page and the site, and other technical information.</p> <p>Information collected and stored from browsing our websites is anonymous unless you are logged into your account and have visited us before, in which case this information is associated with your account by cookies that our servers place on your computer so that we can improve your browsing and shopping experience and offer further service and products to you onsite; by email (unless you have unsubscribed from such services); by retargeting services on other platforms via cookies eg social media; and other online properties not associated with us also via cookies.</p> <p>We collect and store the above information in server logs and our database.</p> <h4>Booktopia use of cookies</h4> <p>Cookies are pieces of information that a website transfers to your computer's hard disk for record keeping purposes. Most web browsers are set to accept cookies. Booktopia uses cookies to make your use of our website and services as convenient as possible, such as by customising your web browser's access so that you can maintain your wish lists and shopping cart when you next visit the Booktopia website. Cookies also enable Booktopia to offer products and services for you on a more personalised basis.</p> <p>Booktopia uses web analytics tools, testing and other software that use cookies to improve your online experience, including the display of more relevant ads on other websites, based on your activities on your visits to the Booktopia website. If you do not wish to receive any cookies you may set your browser to refuse cookies, however not all the functionality of the Booktopia website may operate as expected.</p> <h4>Using and disclosing your personal information</h4> <p>Booktopia's purpose in collecting your personal information is to provide you with:<p> <ul> <li>the ability for you and Booktopia to complete or progress your order or transaction with us</li> <li>information that interests you</li> <li>information about events; and</li> <li>special offers that are relevant to you</li> </ul><br/> <p>Booktopia will not use or disclose any of your personal information without your consent, unless:</p> <ul> <li>required by law;</li> <li>Booktopia believes it necessary to fulfil the above purposes or otherwise to provide you with services or products which you have requested; or</li> <li>to protect the rights, property or personal safety of other users of the website, any member of the public or of Booktopia.</li> </ul><br/> <p>In seeking to give you the most worthwhile experience in using the Booktopia website, your personal information may be used to send you advertisements about products and services that we think you are likely to be interested in.</p> <p>Booktopia does not disclose your personal information to advertisers. We use the services of one or more trusted service providers located overseas to use and process personal information for the explicit purpose of fraud detection, transaction processing, or for providing a product or service to you, in accordance with applicable privacy and data protection laws. In order to operate the Booktopia website, fulfill the purposes set out above or otherwise deliver products or services, Booktopia will not otherwise disclose your personal information to other companies or third parties without your consent.</p> <h4>When Booktopia will contact you</h4> <p>When you complete a purchase with Booktopia, you are presented with a comprehensive way to manage what marketing communications you wish to receive - if any - from Booktopia. Similarly, when you create an account or subscribe to Booktopia's newsletters, your preferences can be managed by you in their entirety.</p> <p>Types of communications you may receive</p> <ul> <li>updated information about the Booktopia website;</li> <li>information about our products and services which may interest you; and</li> <li>other information about upcoming events - such as discount promotions which may interest you.</li> <li>Any communication enabled in the newsletter preferences area in your account</li> </ul><br/> <p>If you are receiving promotional information about Booktopia and do not wish to receive this information any longer, you may remove your name from our list by visiting the Booktopia website and updating your newsletter preferences in your account. Please allow up to 3 business days for this request to be processed.</p> <h4>You can access the information Booktopia keeps about you</h4> <p>If at any time you want to know what personal information Booktopia holds about you, you can log into your Account and view the information you gave us. If you have further questions, you can contact us by phone.</p> <h4>How you can control the information collected by Booktopia</h4> <p>These are ways that you can control the information that may be collected and stored about you or your browsing activities.</p> <p><b>Your Account</b></p> <p>You can log into your account at any time and edit the information you have entered previously.</p> <p><b>Contact our call centre</b></p> <p>You can contact our call centre by any of the contact modes we offer to talk to a Customer Service representative about the information we have collected. We will delete information about your account or your entire account, except for information that is relevant to completing an order, or for legal or government purposes.</p> <p><b>Your Email Preference Centre</b></p> <p>You can log into your Email preference centre in Your Account and manage the types of communications you will receive from us that we have stored. You will receive advices about the status of any open orders until your order/s are complete.</p> <p><b>Block or Delete Cookies</b></p> <p>You can delete the cookies that our websites and associated services have placed in your browser. You should be aware however that your browsing or shopping experience may be reduced.</p> <p><b>Use Incognito or 'Safe Browsing' mode in your browser</b></p> <p>These modes allow you to browse the web without recording web pages and files in your browser. All cookies get deleted after you've closed all of your incognito windows and tabs and your bookmarks and settings are stored until you delete them.</p> <h4>Changing and updating the information Booktopia has about you</h4> <p>If at any time you wish to change your personal information that is inaccurate or out of date, please contact our Customer Service team through your Message Centre in your account, or by contacting our Customer Service team by phone and we will amend your personal information accordingly, or advise you how you can do this yourself within your account.</p> <h4>Deleting the information Booktopia has about you or stopping any further advertising material or other communications</h4> <p>If you wish to have your personal information deleted, please let Booktopia know by contacting our customer service team, and we will take all reasonable steps to delete such information unless it must be kept for legal reasons. If you do not wish to receive further advertising, marketing or promotional information from Booktopia, please log into your account and change your electronic newsletter preferences, or by clicking the Unsubscribe link that is on every electronic marketing or promotional email that Booktopia sends to you.</p> <p>To stop any further print direct-mail marketing communications, please contact our customer service team.</p> <h4>Storage and security of your personal information</h4> <p>Booktopia will do everything reasonable and in its' power to keep secure the personal information which Booktopia holds about you. Access to this information is restricted only to Booktopia employees who have specific authorisation. Booktopia also continually endeavours to improve security safeguards using the most stringent, industry-accepted online security and internal processes. That said, Booktopia will not be held responsible for events arising from unauthorised access to your personal information, but will do everything in our power to prevent it as a responsible, high-profile, Australian online retailer.</p> <h4>What to do if you have a problem or question</h4> <p>If Booktopia becomes aware of any ongoing concerns or problems with the Booktopia website, Booktopia will work to address these concerns promptly. If you have any further queries relating to this Privacy Policy, or you have a problem or complaint, please contact Booktopia by calling 1300 187 187 Monday to Friday, 9am to 5pm <span>Sydney time</span>, except public holidays.<p> <p>Enquiries in relation to the Privacy of residents in the EEA and the GDPR should be referred via the above methods.</p> <h4>Future changes</h4> <p>Booktopia is committed to being Australia's #1 online bookstore. This means that Booktopia's business will continue to evolve and improve as new products, services and features are introduced. Accordingly, Booktopia will review and update its policies as required. Booktopia reserves the right to change its Privacy Policy at any time and notify you by posting an updated version of the policy on the Booktopia website.</p> <p>This amended Privacy Policy will apply whether or not Booktopia has provided you specific notice of any changes or updates.</p> <a href="#" class="content-top">^ back to top</a> </div> <div id="terms" class="section"> <h3>Terms Of Business</h3> Please read <a href="/termsOfBusiness.ep" target="blank">Booktopia's Terms of Business</a> as it is these terms that you will agree to purchase items from Booktopia. </div> <div id="digital-subscription" class="section"> <h3 class="text-center">DIGITAL SUBSCRIPTION TERMS</h3> <h4>1. Kobo Plus</h4> <p class="font-bold">Your use of the Kobo Plus Subscription Service is subject to the rules of the service set out herein, which Booktopia may vary from time to time on its website. Your continued use of the Kobo Plus service constitutes acceptance of the rules.</p> <p>Kobo Plus subscribers may read their choice of eBooks from a selected set of Digital Content for a monthly fee. The Digital Content available to subscribers will vary and Booktopia makes no guarantees about the availability of such Digital Content. Refer to 'Digital Content' in Booktopia's Terms of Business regarding this <a href="/termsOfBusiness.ep">policy</a>.</p> <h5>Consumer Guarantees</h5> <p>The Subscription comes with guarantees that cannot be excluded under the Australian Consumer Law. For major failures with the Subscription, you are entitled:</p> <ul> <li>to cancel the Subscription; and</li> <li>to a refund for the unused portion, or to compensation for its reduced value</li> </ul> <p>You are also entitled to be compensated for any other reasonably foreseeable loss or damage.</p> <p>If the failure does not amount to a major failure, you are entitled to have problems with the service rectified in a reasonable time and, if this is not done, to cancel your Subscription and obtain a refund for the unused portion of the Subscription.</p> <h5>Trial Subscriptions</h5> <p>If you purchase a Kobo Plus subscription that includes a free trial, you will receive access to the Kobo Plus Digital Content for the duration of the free trial period. At the end of your free trial period, Booktopia will charge or debit the payment method provided at the time of your order, and you will be billed per the cycle stated at the time of your order.</p> <p class="font-bold">If you do not want to keep the subscription following the free trial and do not want to incur any charges, to avoid having your payment method charged you must cancel the subscription prior to the end of your trial period.</p> <h5>Membership Cancellation</h5> <p>You may cancel your membership by using the 'Cancel Subscription' button within the Kobo Plus 'My Subscriptions' section. Except as otherwise set out in these Terms, and Booktopia's Terms of Business, if you cancel your membership, you will not receive a refund of any membership fees already paid. You will still have access to the Digital Content until the end of the membership term period that has been paid, at which time your membership expires. When your membership expires, the Digital Content associated with your subscription account will revert to the preview version of the Digital Content on all your devices and applications.</p> <h5>Restrictions</h5> <p>Restrictions apply on the number of eBooks the Subscription User can simultaneously read at one time. Subscribers can read a maximum of 15 eBooks simultaneously for offline reading. If the Subscription User has already opened 15 eBooks when they attempt to open another eBook, they will be unable to do so, and will be prompted to go online. Booktopia reserves the right to unilaterally alter these offline reading rules without notice.</p> <p>Booktopia may also take steps to prevent fraud, such as restricting the number of titles that may be accessed at one time, and monitoring Customer accounts for any activity that may violate these Terms. If Booktopia discovers any type of fraud, Booktopia reserves the right to take enforcement action including the termination or suspension of a User's account.</p> <h5>Fees</h5> <p>Kobo Plus fees are set by Booktopia and may vary from time to time. Booktopia will notify you at least thirty (30) days in advance of any changes to the Kobo Plus fees.</p> <p>Kobo Plus subscription fees are non-refundable for change of mind.</p> <p>You may cancel your subscription at any time by indicating so in your Booktopia account and your subscription will be terminated on the first day of the next monthly billing period.</p> <h5>Payment</h5> <p>Booktopia will charge or debit your payment method immediately at the end of the trial period, for the full amount of the Kobo Plus monthly subscription, including any applicable taxes. A confirmation invoice will be issued and available in your Booktopia account.</p> <p class="font-bold">Following the initial payment, unless you cancel your subscription, you will be charged the then-applicable membership fees and any taxes, using the payment method we have on file for you.</p> <h4>2. Retailer TERMS OF USE</h4> <h5 class="font-normal">1. <span class="underline">Definitions</span></h5> <p class="px-lg-4 px-1">1.1. In these Terms will apply:</p> <div id="definitions-row" class="row no-gutters"> <p class="col-4 font-bold mb-0 px-lg-4">"Subscriber":</p> <p class="col-8 mb-0">the private individual entering into the subscription;</p> <p class="col-4 font-bold mb-0 px-lg-4">"Subscription":</p> <p class="col-8 mb-0">the agreement for an indefinite period, against a monthly fee, between Booktopia and the Subscriber, which gives Subscriber the license to read electronic books on one or more suitable electronic devices, designated by the Subscriber;</p> <p class="col-4 font-bold mb-0 px-lg-4">"Terms and Conditions":</p> <p class="col-8 mb-0">the General Sales Conditions of Booktopia.com.au., which can be found on <a href="/termsOfBusiness.ep">https://www.booktopia.com.au/termsOfBusiness.ep</a>.</p> <p class="col-4 font-bold mb-0 px-lg-4">"Collection":</p> <p class="col-8 mb-0">the collection of eBooks as it is offered on the website Booktopia.com.au. in the context of the Subscription;</p> <p class="col-4 font-bold mb-0 px-lg-4">"eBook":</p> <p class="col-8 mb-0">an electronic book;</p> <p class="col-4 font-bold mb-0 px-lg-4">"Terms of Use":</p> <p class="col-8 mb-0">these Subscription Terms;</p> <p class="col-4 font-bold mb-0 px-lg-4">"Privacy Policy":</p> <p class="col-8 mb-0">the Privacy Policy of Booktopia Direct Pty Ltd., which can be found on: <a href="/helpCentre.ep?p=policies&o=privacy#">https://www.booktopia.com.au/helpCentre.ep?p=policies&o=privacy#</a>∙</p> </div> <h5 class="font-normal">2. <span class="underline">Applicability</span></h5> <p class="px-lg-4 px-1">2.1. These Terms of Use apply to the Subscription and complement the Terms and Conditions of Booktopia. When the Subscriber starts the Subscription, he/she expressly agrees to these Terms.</p> <h5 class="font-normal">3. <span class="underline">Starting the Subscription</span></h5> <p class="px-lg-4 px-1">3.1. A Subscription can be entered into by any private individual with a customer account with Booktopia.com.au, a home address in Australia and a credit or debit card account. A subscription cannot be entered into with a business, government or education account.</p> <p class="px-lg-4 px-1">3.2. A Subscription is entered into by going through the subscription process on the Booktopia.com.au website.</p> <p class="px-lg-4 px-1">3.3. The Subscription starts immediately after Booktopia has confirmed the Subscription to the Subscriber via email, on the email address provided by the Subscriber.</p> <h5 class="font-normal">4. <span class="underline">Modifications of the Collection</span></h5> <p class="px-lg-4 px-1">4.1. Booktopia reserves the right to unilaterally modify the Collection by adding eBooks to, or removing eBooks from, the Collection.</p> <p class="px-lg-4 px-1">4.2. If Booktopia removes an eBook which has been downloaded by the Subscriber, then this eBook will remain available to the Subscriber except in those cases where this cannot be reasonably expected from Booktopia or its suppliers – for instance, where the supplier no longer holds the rights to distribute the eBook (in which case Booktopia will take reasonable endeavours to provide the Subscriber with reasonable prior notice of the removal if possible). If the Subscriber removes the eBook from his/her electronic devices during this period, Booktopia is not required to make that eBook available again.</p> <h5 class="font-normal">5. <span class="underline">Fees</span></h5> <p class="px-lg-4 px-1">5.1. Booktopia may not unilaterally modify the price of the Subscription.</p> <h5 class="font-normal">6. <span class="underline">Liability</span></h5> <p class="px-lg-4 px-1">6.1. Booktopia and its suppliers make every effort to enable the Subscriber to use the Subscription with as little disruptions as possible, and to keep any interferences which can negatively impact the availability of the Subscription to a minimum. Nevertheless, the Subscriber acknowledges that the availability of the Subscription can temporarily be less than optimal, due to interferences.</p> <h5 class="font-normal">7. <span class="underline">Duration and Termination</span></h5> <p class="px-lg-4 px-1">7.1. The Subscription is entered into for an indefinite period and can be terminated at all times. The Subscriber may terminate the Subscription by indicating through his/her Booktopia account that he/she wishes to terminate the Subscription.</p> <p class="px-lg-4 px-1">7.2. If the Subscriber has indicated in his/her Booktopia account that he/she wishes to terminate the Subscription, the Subscription will end on the first day of the next monthly billing period. The notice of termination is therefore one month at most. Upon the end of the Subscription, Subscriber will no longer have access to the Collection nor to the eBooks downloaded by Subscriber on its device(s).</p> <p class="px-lg-4 px-1">7.3. Booktopia reserves the right to terminate the Subscription and to deny access to the Collection with reasonable prior notice if Booktopia believes in good faith:</p> <ol type="i" class="pl-lg-5 pl-2 pr-lg-4 pr-2"> <li>the Subscriber is acting in violation of these Terms of Use and the Subscriber has not remedied the violation after 30 days of receiving notice from Booktopia to remedy the violation,</li> <li>Booktopia was unable to collect the payment from the account provided by the Subscriber,</li> <li>the Subscriber entered into a statutory debt restructuring arrangement under the Bankruptcy Act,</li> <li>Subscriber has outstanding payments to Booktopia which have been transferred to a debt collector, or</li> <li>Subscriber's Booktopia customer account has been blocked.</li> </ol> <p class="px-lg-4 px-1">Termination of the Subscription based on this article does not affect the payment obligation of the Subscriber until the moment of termination.</p> <p class="px-lg-4 px-1">7.4. Additionally, Booktopia reserves the right to terminate the Subscription with immediate effect if Booktopia or its suppliers are no longer authorised, for any reason, to issue eBook licenses. Booktopia will take reasonable endeavours in the circumstances to provide the Subscriber with as much notice as possible prior to the termination.</p> <p class="px-lg-4 px-1">7.5. Booktopia reserves the right to terminate the Subscription unilaterally, with a notice period of thirty (30) days to the Subscriber, should it, and/or its suppliers, decide, for their own reasons and in good faith, that they do not wish to offer the Subscription anymore.</p> <p class="px-lg-4 px-1 font-bold">7.6 If the Subscription is terminated under articles 7.4 and 7.5, Booktopia will refund the Subscriber of any prepaid, unused Fees within thirty (30) days of the termination date, to the extent the Fees relate to a period after the termination date.</p> <h5 class="font-normal">8. <span class="underline">Intellectual property and licenses</span></h5> <p class="px-lg-4 px-1">8.1. The intellectual property rights to the Subscription and/or the eBooks are held by the copyright owner. By entering into the Subscription, the Subscriber obtains a non-exclusive, non-transferable (sub) license to read the eBooks offered by Booktopia under the Subscription. Nothing in these Terms of Use shall be interpreted as a transfer of intellectual property of the copyright holder to the Subscriber.</p> <p class="px-lg-4 px-1">8.2. Publication or reproduction of the eBooks is reserved to the copyright holder. It is not allowed to bypass the technical protective measures that are incorporated in the eBooks, the Booktopia app or the eReader, except to the extent that the Australian Copyright Act gives the right to do so in particular situations, where that right cannot be excluded or modified by contract.</p> <p class="px-lg-4 px-1">8.3. Restrictions apply on the number of eBooks the Subscriber can simultaneously read at one time offline. Each Subscription is allowed to be used by a maximum of six (6) suitable electronic devices simultaneously. On each of these devices, the Subscriber can download and read fifteen (15) eBooks simultaneously offline. If the Subscriber while offline has already opened fifteen (15) eBooks when he/she attempts to open another eBook, the eBook will not open, and he/she will be prompted to go back online.</p> <p class="px-lg-4 px-1">8.4. In order to use the Subscription, the electronic device(s) need to connect to the internet at least every thirty (30) days.</p> <h5 class="font-normal">9. <span class="underline">Miscellaneous Terms</span></h5> <p class="px-lg-4 px-1">9.1. If one or more of these Terms of Use should prove to be void, invalid or otherwise unenforceable, the remaining provisions of these Terms of Use shall remain in full force.</p> <p class="px-lg-4 px-1">9.2. The fact that Booktopia doesn't directly exercise one or more of its rights in the context of these Terms of Use shall never be considered a waiver of the right(s) concerned.</p> <h5 class="font-normal">10. <span class="underline">Modifications of these Terms of Use</span></h5> <p class="px-lg-4 px-1">10.1. Booktopia reserves the right to modify these Terms of Use periodically by giving prior 30 days’ notice to the Subscriber. During this notice period, the Subscriber may choose to terminate their Subscription in accordance with articles 7.1 and 7.2. After the notice period, Booktopia will publish the modified Terms of Use on www.Booktopia.com.au. If the Subscriber continues to use the Subscription after modification of the Terms of Use, then the Subscriber is deemed to agree to the modified Terms of Use.</p> <h5 class="font-normal">11. <span class="underline">Applicable Law</span></h5> <p class="px-lg-4 px-1">11.1. These Terms of Use are subject to the law of New South Wales, Australia.</p> </div> <div id="abuse" class="section"> <h3>Online Abuse Policy</h3> <p>As an online bookstore with millions of books from around the world, there is always the likelihood to display and sell content, from an ever-changing landscape of publishers and authors, that can insult or offend someone or some groups - even the most seemingly-benign content. On our websites, we take the approach of selling entertainment and knowledge and enabling free speech and freedom of opinions and expression through books, but not at the expense of, or in specific danger to, our democratic and societal protections, rights and freedoms - particularly those of safety, security and religious, political or civil association. Google is famous for having a mantra of "Don't Be Evil" and we agree with that sentiment when it comes to books (unless you are Stephen King in which case context definitely counts, but that's the point!).</p> <p>Booktopia itself has policies to address racism, bullying and hate within our company and we extend that for our websites, within the relevant Laws and what would be judged in an expected, reasonable manner. We do our best to swiftly assess and respond to reports of prohibited or illegal content on our website that falls foul of these Laws and principles, just as we so choose not to remove content that does not, according to our judgement and within the Law.</p> <p><b>What is Prohibited or Illegal content?</b></p> <p>The Office of the eSafety Commissioner of the Australian Government describes the following types of content that may be Prohibited or Illegal:</p> <ul> <li>footage of real or simulated violence, criminal activity or accidents from video clips, games or films</li> <li>sexually explicit content</li> <li>images of child sexual abuse</li> <li>content that advocates the doing of a terrorist act</li> <li>content instructing or promoting crime or violence.</li> </ul><br/> <p>We expand this list to also include racism, bullying and harassment specifically and intently directed at people as well as other types of content. We have content and categories where lines definitely are drawn at different places within this list - including zero tolerance in many - in considered, educational or non-harming contexts and that we believe is a reasonable and acceptable way to behave in our society. </p> <p>What we are saying is that we do not automatically take content down just because you don't like or agree with it, but we do take content down that is reasonably or obviously harmful.</p> <p>Good examples of content we do allow are books about topics that are widely accepted as educational resources, yet can be potentially offensive; for example most medical, religious and historical books would fit into this category (obviously not an exhaustive list) and there will always be a person or persons who demand that we take that content down, yet we do not. Examples of books we have taken down are bomb-making or other terrorism-related instruction manuals and explicitly-overt sexual, homophobic, bigoted or racist content specifically directed at a person, group or groups of people for the intent to cause harm. Intent and context of the book is important. Even so, we believe we can safely fulfil the wider reading needs in our society within the Law, yet without being necessarily or automatically held hostage to causes or people who would demand us to act in a way that would enforce their own views onto us and our readers. At the end of the day we take a non-radical, lawful and reasonable approach to what we sell and display on our websites and we do not tolerate Cyber Abuse.</p> <p><b>What is Cyber Abuse?</b></p> <p>The Office of the eSafety Commissioner of the Australian Government defines Cyber abuse as online behaviour which is reasonably likely to have a seriously threatening, intimidating, harassing or humiliating effect on a person. It is behaviour that threatens to hurt a person socially, psychologically or even physically. As above, we have a very low tolerance for this type of content and we welcome you to report it to us.</p> <p><b>Have something on our website to report?</b></p> <p><b><i>Please send an email to <a href="mailto:abuse@booktopia.com.au" target="_blank">abuse@booktopia.com.au</a> We will consider your view and if we deem it appropriate to act, then we will do so.</i></b></p> </div> <div id="cover" class="section"> <h3>Cover Images</h3> <p>The images on our website are intended as a guide only. As Booktopia does not keep every title in stock on site we are unable to guarantee the cover image that arrives from the supplier, will be that listed on the site. Publishers can have various cover designs for one ISBN so images can change without notification.</p> </div> <div id="secure" class="section"> <h3>Secure Shopping</h3> <p>Booktopia encrypts all personal information submitted to our server via industry-standard SSL.</p> </div> <div id="modern-slavery" class="section"> <h3 class="text-center">Modern Slavery Policy</h3> <h4 class="text-center">Booktopia Direct Pty Ltd ABN 90 679 610 890 and its subsidiaries (the Company)</h4> <hr> <ol class="list-nested-decimal nested-decimal-parent"> <li> <h5>Background</h5> <ol class="list-nested-decimal"> <li> <h6>Overview</h6> <p>The term ‘modern slavery’ refers to a range of serious forms of exploitation including forced labour, debt bondage, servitude, forced marriage, the worst forms of child labour, human trafficking and slavery.</p> <p>Booktopia understands and acknowledges that modern slavery may be present without our knowledge in Booktopia's operations and supply chain. Booktopia is constantly developing its understanding of the modern slavery risks in its operations and supply chain and ways to reduce the occurrence of modern slavery in the world through those it does business with.</p> </li> <li> <h6>Modern Slavery (Anti-Slavery) Policy</h6> <p>Booktopia is committed to limiting the risk of modern slavery occurring within its own business, in its supply chains or through any other business relationship. Each year it develops a Modern Slavery Statement that is published publicly, describing Booktopia’s own efforts to help abolish modern slavery.</p> <p>This policy applies to all persons working for or on behalf of the Company, in any capacity, including employees, directors, officers, agency workers, contractors, consultants and any other third-party representative. Booktopia expects all who have, or seek to have, a business relationship with the Company to familiarise themselves with this policy and to act in a way that is consistent with its values.</p> <p>Booktopia aims to only do business with organisations who comply with this policy, or those who are taking verifiable steps towards compliance.</p> <p>This policy will be used to underpin and inform any statement on slavery and human trafficking that Booktopia is required to produce further to the Modern Slavery Act, 2018 (Cth).</p> </li> </ol> </li> <li> <h5>Key Principles</h5> <ol class="list-nested-decimal"> <li> <h6>What is Modern Slavery</h6> <p class="font-bold">The Modern Slavery Act, 2018 (Cth) defines modern slavery as:</p> <p>conduct which would constitute:</p> <ol class="list-ordered-alpha"> <li>an offence under Division 270 or 271 of the <i>Criminal Code</i>; or</li> <li>an offence under either of those Divisions if the conduct took place in Australia; or</li> <li> trafficking in persons, as defined in Article 3 of the Protocol to Prevent, Suppress and Punish Trafficking in Persons, Especially Women and Children, supplementing the United Nations Convention against Transnational Organized Crime, done at New York on 15 November 2000 ([2005] ATS 27); or</li> <li>the worst forms of child labour, as defined in Article 3 of the ILO Convention (No. 182) concerning the Prohibition and Immediate Action for the Elimination of the Worst Forms of Child Labour, done at Geneva on 17 June 1999 ([2007] ATS 38).</li> </ol> </li> <li> <h6>Our Commitment</h6> <p>The Company is committed to reducing the risk of Modern Slavery within the Group and its supply chain and requires and expects its suppliers and employees to comply with the Modern Slavery Act. Suppliers are expected to investigate and report to the Company on the labour and modern slavery practices of its supply chains.</p> </li> <li> <h6>Key Initiatives and Programs</h6> <p>The Company aims to introduce and / or maintain the following programs and initiatives to assist with managing the outcomes of its Anti-slavery efforts:</p> <ol class="list-ordered-alpha"> <li>supplier surveys to track Anti-Slavery compliance;</li> <li>insertion of Anti-slavery content in employee induction programs;</li> <li>insertion of Anti-slavery content in supplier induction programs;</li> <li>Modern Slavery Statement reporting to Border Force</li> <li>Education and re-education programs for Booktopia employees</li> </ol> </li> <li> <h6>Communication</h6> <p>In order to promote transparency and accountability and to further the objectives of this policy the Company will post a copy of this policy on its website. It will also provide ongoing training to its employees.</p> </li> <li> <h6>Responsibilities</h6> <p>The Company is ultimately accountable for this Policy, through the Audit and Risk Committee.</p> <p>The Managing Director/CEO and members of the leadership team are responsible for the implementation of this policy and monitoring compliance with it, with the Company Secretary being responsible for the administration of the policy.</p> </li> </ol> </li> <li> <h5>Other matters</h5> <ol class="list-nested-decimal"> <li> <h6>Amendments to this Policy</h6> <p>The Company may discontinue or amend any part or the whole of this policy from time to time at its absolute discretion. This Policy can only be amended with the approval of the Leadership Team.</p> <p>End.</p> </li> </ol> </li> </ol> </div> </div> </div> </div> </div> <div id="footer"> <div id="top-bar"> <div class="content"> <div class="newsletter-sign-up-holder if-signed-out"> <div id="newsletter-sign-up"> <h3>Join Our Newsletter</h3> <form id="footerNewsletterForm"> <input type="email" id="email" name="email" placeholder="Enter your email address..."> <input type="button" value="SUBSCRIBE" onclick="submitFooterNewsletterForm()" data-target="iframe"> </form> </div> </div> <div class="top-bar-right "> <ul id="social-media-tab" data-mh-pe="eventOnClick" data-mh-ec="Social Click" data-mh-ea="Click" > <li><a target="_blank" data-mh-el="Youtube" href="//www.youtube.com/user/booktopiabooks" class="youtube-icon"><span class="icon-youtube"></span></a></li> <li><a target="_blank" data-mh-el="Blog" href="//www.booktopia.com.au/blog/" class="blog-icon"><span class="icon-booktopia"></span></a></li> <li><a target="_blank" data-mh-el="Facebook" href="//www.facebook.com/pages/Booktopia/91043653859" class="facebook-icon"><span class="icon-facebook"></span></a></li> <li><a target="_blank" data-mh-el="Twitter" href="//twitter.com/booktopia" class="twitter-icon"><span class="icon-twitter"></span></a></li> <li><a target="_blank" data-mh-el="Soundcloud" href="//www.booktopia.com.au/blog/podcasts/?utm_source=booktopian_blog&amp;utm_medium=booktopian&amp;utm_campaign=tell_me_what_to_read" class="podcast-icon"><span class="icon-podcast"></span></a></li> <li><a target="_blank" data-mh-el="Instagram" href="//instagram.com/booktopiabooks" class="instagram-icon"><span class="icon-instagram"></span></a></li> </ul> <div class="app-download-links"> <a class="apple-app-store" href="https://apps.apple.com/au/app/booktopia-by-rakuten-kobo/id1489983350?ls=1" target="_blank"><img class="lazyload no-loader" src="" data-src="https://www.booktopia.com.au/images/ext/apple-app-store.png" height="42" width="139" alt="Download on the App Store"/></a> <a class="google-play" href="https://play.google.com/store/apps/details?id=com.kobobooks.android.booktopia" target="_blank"><img class="lazyload no-loader" src="" data-src="https://images.booktopia.com.au/ext/google-play.png" height="42" width="129" alt="Android app on Google Play" /></a> </div> </div> </div> </div> <div id="links" class="footer-links"> <div class="content container" data-mh-pe="eventOnClick" data-mh-ec="Footer" data-mh-ea="Click"> <div class="row no-gutters info-row justify-content-between align-item-center"> <div class="col-auto"> <div class="row footer-info"> <div class="col-xl-auto col-lg-12 pr-1"> <span class="info-title"> 1300 187 187</span> </div> <div class="col"> <span class="info-content contact-time">Monday to Friday, 9am to 5pm <span>Sydney time</span></span> </div> </div> </div> <div class="col"> <div class="row footer-info"> <div class="col-xl-auto col-lg-12 pr-1"> <span class="info-title">Head Office</span> </div> <div class="col"> <span class="info-content"> 34-48 Cosgrove Road, South Strathfield NSW 2136 <br>ABN 90 679 610 890 </span> </div> </div> </div> <div class="col-auto"> <a id="btn-mobile-site" class="button" href=" ?deviceType=mobile">MOBILE SITE</a> </div> </div> <div class="row no-gutters"> <div class="col-3"> <h4><a href="/helpCentre.ep">Help Centre</a></h4> <ul> <li><a href="/helpCentre.ep?p=ordering&o=place-order#">Placing An Order</a></li> <li><a href="/helpCentre.ep?p=affiliate&o=contact-us#">Contact Booktopia</a></li> <li><a href="/helpCentre.ep?p=policies&o=terms#">Terms Of Business</a></li> <li><a href="/helpCentre.ep?p=policies&o=privacy#">Privacy Policy</a></li> <li><a href="/helpCentre.ep?p=affiliate&o=affiliates#">Become An Affiliate</a></li> <li><a href="/sitemap.ep">Sitemap</a></li> </ul> </div> <div class="col-3"> <h4><a href="/helpCentre.ep?p=shipping&o=standard-shipping#">Shipping</a></h4> <ul> <li><a href="/track-order.ep">Track My Order</a></li> <li><a href="/helpCentre.ep?p=shipping&o=standard-shipping#">Standard Shipping</a></li> <li><a href="/helpCentre.ep?p=shipping&o=express-shipping#">Express Shipping</a></li> <li><a href="/helpCentre.ep?p=shipping&o=shipping-timeframes#">Shipping Timeframes</a></li> <li><a href="/helpCentre.ep?p=shipping&o=delivering-your-order#">Delivering Your Order</a></li> <li><a href="/helpCentre.ep?p=shipping&o=new-zealand-orders#">New Zealand Orders</a></li> </ul> </div> <div class="col-3"> <h4><a href="/your-local-bookstore/news18.html">About Booktopia</a></h4> <ul> <li><a href="/your-local-bookstore/news18.html">Your Local Bookstore</a></li> <li><a href="/why-booktopia/news19.html">Why Buy From Booktopia?</a></li> <li><a href="/why-booktopia/news19.html#awards-recognition">Our Awards</a></li> <li><a href="/helpCentre.ep?p=affiliate&o=charity-book-donations#">Booktopia's Charities</a></li> <li><a href="/booktopia-ebooks-by-rakuten-kobo/promo3131.html">Booktopia eBooks</a></li> <li><a href="/work-with-us">Work With Us</a></li> </ul> </div> <div class="col-3"> <h4><a href="/bestsellers/promo294.html">Bestsellers</a></h4> <ul> <li><a href="/books/bestseller-bargains/l115-p1.html?sorter=bestsellers-dsc">Booktopia's Favourites</a></li> <li><a href="/baby-toddler-bestsellers/promo387.html">Babies & Toddlers' Bestseller List</a></li> <li><a href="/children-s-bestsellers/promo297.html">Children's Bestseller List</a></li> <li><a href="/young-adult-bestsellers/promo298.html">Young Adults' Bestseller List</a></li> <li><a href="/fiction-bestsellers/promo296.html">Fiction Bestseller List</a></li> <li><a href="/non-fiction-bestsellers/promo656.html">Non-Fiction Bestseller List</a></li> </ul> </div> <div class="col-3"> <h4>Popular Brands</h4> <ul> <li><a href="/search.ep?keywords=abc+reading+eggs&productType=917504">ABC Reading Eggs</a></li> <li><a href="/search.ep?keywords=Australian+Women%27s+Weekly&productType=917504">Australian Women's Weekly</a></li> <li><a href="/bluey/series9222.html">Bluey</a></li> <li><a href="/search.ep?keywords=Excel&productType=917504">Excel Education</a></li> <li><a href="/search.ep?keywords=Dr+Seuss&productType=917504">Dr Seuss</a></li> <li><a href="/books/non-fiction/self-help-personal-development/how-to/for-dummies-books/cVSAD-p1.html">For Dummies</a></li> <li><a href="/search.ep?keywords=Harvard+Business+Review&productType=917504">Harvard Business Review</a></li> <li><a href="/harry-potter-at-booktopia/promo842.html">Harry Potter</a></li> <li><a href="/search.ep?keywords=lego&productType=917504">LEGO</a></li> <li><a href="/search.ep?keywords=Little+Golden+Book&productType=917504">Little Golden Books</a></li> <li><a href="/books/non-fiction/travel-holidays/lonely-planet-travel-books/cWTP-p1.html">Lonely Planet Travel Books</a></li> <li><a href="/search.ep?keywords=No+Fear+Shakespeare&productType=917504">No Fear Shakespeare</a></li> <li><a href="/books/fiction/classic-fiction/penguin-black-classics/cFCP-p1.html">Penguin Black Classics</a></li> <li><a href="/search.ep?keywords=Peppa+Pig&productType=917504">Peppa Pig</a></li> <li><a href="/books/non-fiction/self-help-personal-development/how-to/teach-yourself/cVSAT-p1.html">Teach Yourself</a></li> <li><a href="/books/fiction/classic-fiction/vintage-classics/cFCC-p1.html">Vintage Classics</a></li> <li><a href="/search.ep?keywords=where%27s+wally&productType=917504">Where's Wally</a></li> </ul> </div> <div class="col-3"> <h4>Popular Series</h4> <ul> <li><a href="/a-court-of-thorns-and-roses-paperback-by-sarah-j-maas/series9377.html">A Court of Thorns and Roses</a></li> <li><a href="/a-game-of-thrones-a-song-of-ice-and-fire-paperbacks-by-george-r-r-martin/series533.html">A Game of Thrones</a></li> <li><a href="/bridgerton-original-book-series-by-julia-quinn/series499.html">Bridgerton</a></li> <li><a href="/the-diary-of-a-wimpy-kid-series-by-jeff-kinney/series371.html">Diary of a Wimpy Kid</a></li> <li><a href="/frank-herbert-s-dune-paperbacks/series10592.html">Dune</a></li> <li><a href="/jack-reacher-by-lee-child/series92.html">Jack Reacher</a></li> <li><a href="/the-jack-west-novels-by-matthew-reilly/series6.html">Jack West</a></li> <li><a href="/little-people-big-dreams/series5274.html">Little People, Big Dreams</a></li> <li><a href="/the-lord-of-the-rings-paperbacks-by-j-r-r-tolkien/series385.html">Lord of the Rings</a></li> <li><a href="/the-nevermoor-series-paperback-editions/series671.html">Nevermoor</a></li> <li><a href="/outlander-the-original-book-series/series7433.html">Outlander</a></li> <li><a href="/the-bad-guys-by-aaron-blabey/series4747.html">The Bad Guys</a></li> <li><a href="/the-treehouse-series-by-andy-griffiths/series2785.html">The Treehouse Series</a></li> <li><a href="/the-wheel-of-time-new-editions-by-robert-jordan/series350.html">The Wheel of Time</a></li> <li><a href="/the-witcher-new-paperback-editions-by-andrzej-sapkowski/series9231.html">The Witcher</a></li> <li><a href="/the-wings-of-fire-series-by-tui-t-sutherland/series7552.html">Wings of Fire</a></li> <li><a href="/wolf-girl-by-anh-do/series9737.html">Wolf Girl</a></li> </ul> </div> <div class="col-3"> <h4>Popular Authors</h4> <ul> <li><a href="/bren-brown/author1121.html">Brene Brown</a></li> <li><a href="/bruce-pascoe/author1135.html">Bruce Pascoe</a></li> <li><a href="/david-walliams/author887.html">David Walliams</a></li> <li><a href="/di-morrissey/author148.html">Di Morrissey</a></li> <li><a href="/donna-hay/author70.html">Donna Hay</a></li> <li><a href="/fiona-mcintosh/author171.html">Fiona McIntosh</a></li> <li><a href="/helen-garner/author626.html">Helen Garner</a></li> <li><a href="/jane-harper/author144.html">Jane Harper</a></li> <li><a href="/liane-moriarty/author934.html">Liane Moriarty</a></li> <li><a href="/matthew-reilly/author3.html">Matthew Reilly</a></li> <li><a href="/peter-fitzsimons/author22.html">Peter FitzSimons</a></li> <li><a href="/sally-rooney/author1154.html">Sally Rooney</a></li> <li><a href="/sarah-j-maas/author991.html">Sarah J. Maas</a></li> <li><a href="/taylor-jenkins-reid/author1414.html">Taylor Jenkins Reid</a></li> <li><a href="/tim-winton/author46.html">Tim Winton</a></li> <li><a href="/trent-dalton/author1259.html">Trent Dalton</a></li> <li><a href="/yotam-ottolenghi/author1002.html">Yotam Ottolenghi</a></li> </ul> </div> <div class="col-3"> <h4>Popular Subjects</h4> <ul> <li><a href="/books/non-fiction/biographies-true-stories/cB-p1.html">Biographies & True Stories</a></li> <li><a href="/books/non-fiction/business-management/cKJ-p1.html">Business & Management</a></li> <li><a href="/books/non-fiction/cooking-food-drink/cWB-p1.html">Cooking, Food & Drink</a></li> <li><a href="/books/non-fiction/crafts-handiwork/cWF-p1.html">Crafts & Handiwork</a></li> <li><a href="/books/non-fiction/family-health/cVF-p1.html">Family & Health</a></li> <li><a href="/books/non-fiction/family-health/fitness-diet/cVFM-p1.html">Fitness & Diet</a></li> <li><a href="/books/non-fiction/history/cHB-p1.html">History</a></li> <li><a href="/books/non-fiction/self-help-personal-development/cVS-p1.html">Self-Help & Personal Development</a></li> <li><a href="/books/fiction/cF-p1.html?list=10">Australian Fiction</a></li> <li><a href="/books/fiction/crime-mystery/cFF-p1.html">Crime & Mystery</a></li> <li><a href="/books/fiction/classic-fiction/cFC-p1.html">Classic Fiction</a></li> <li><a href="/books/fiction/fantasy-fiction/cFM-p1.html">Fantasy Fiction</a></li> <li><a href="/books/fiction/modern-contemporary-fiction/cFA-p1.html">Modern & Contemporary Fiction</a></li> <li><a href="/books/fiction/graphic-novels/manga/cFXA-p1.html">Manga</a></li> <li><a href="/books/kids-childrens-books/picture-books-early-learning/picture-books-in-general/cYBC-p1.html">Picture Books</a></li> <li><a href="/books/kids-childrens-books/children-s-fiction/young-adult-ya-fiction/cYFY-p1.html">Young Adult Fiction</a></li> </ul> </div> </div> </div> </div> <div id="awards"> <div class="row no-gutters align-items-center"> <div class="col-auto"> <img class="lazyload" src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/images/assets/footer/australian-booksellers-association.png" /> </div> <div class="col"> Voted Australia’s Favourite Bookstore by Australian Book Buyers </div> <div class="col-auto"> <img class="lazyload" src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/images/assets/footer/national-bookshop-day.png" /> </div> <div class="col-12"> <br>&copy; 2024 Booktopia Direct Pty Ltd. </div> </div> </div> <script type="text/javascript"> history.navigationMode = 'compatible'; </script> <div style="display:none;"> <script type="text/javascript"> /* <![CDATA[ */ var google_conversion_id = 1071893088; var google_conversion_language = "en"; var google_conversion_format = "3"; var google_conversion_color = "ffffff"; var google_conversion_label = "qrp2CNvw4wIQ4JSP_wM"; var google_conversion_value = 0; /* ]]> */ </script> <script> lazyLoadScript("https://www.googleadservices.com/pagead/conversion.js",function(){}) </script> <noscript> <div style="display:inline;"> <img height="1" width="1" style="border-style:none;" alt="" src="https://www.googleadservices.com/pagead/conversion/1071893088/?label=qrp2CNvw4wIQ4JSP_wM&amp;guid=ON&amp;script=0"/> </div> </noscript> </div> </div> <!-- 537c6b2dcafa405b9a2badec2ee8ba16 --> <!-- Version: dev-20241119152116 --> <script> lazyLoadScript("/template-resources/js/polyfills/intersection-observer.js", function(){}) </script> <script type="text/javascript" src="/wro/5148/jQuery.js?v=dev-20241119152116"></script> <script type="text/javascript"> !function(t,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t=t||self).LazyLoad=n()}(this,(function(){"use strict";function t(){return(t=Object.assign||function(t){for(var n=1;n<arguments.length;n++){var e=arguments[n];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t}).apply(this,arguments)}var n="undefined"!=typeof window,e=n&&!("onscroll"in window)||"undefined"!=typeof navigator&&/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent),i=n&&"IntersectionObserver"in window,o=n&&"classList"in document.createElement("p"),a=n&&window.devicePixelRatio>1,r={elements_selector:"img",container:e||n?document:null,threshold:300,thresholds:null,data_src:"src",data_srcset:"srcset",data_sizes:"sizes",data_bg:"bg",data_bg_hidpi:"bg-hidpi",data_bg_multi:"bg-multi",data_bg_multi_hidpi:"bg-multi-hidpi",data_poster:"poster",class_applied:"applied",class_loading:"loading",class_loaded:"loaded",class_error:"error",load_delay:0,auto_unobserve:!0,cancel_on_exit:!1,callback_enter:null,callback_exit:null,callback_applied:null,callback_loading:null,callback_loaded:null,callback_error:null,callback_finish:null,callback_cancel:null,use_native:!1},c=function(n){return t({},r,n)},l=function(t,n){var e,i=new t(n);try{e=new CustomEvent("LazyLoad::Initialized",{detail:{instance:i}})}catch(t){(e=document.createEvent("CustomEvent")).initCustomEvent("LazyLoad::Initialized",!1,!1,{instance:i})}window.dispatchEvent(e)},s=function(t,n){return t.getAttribute("data-"+n)},u=function(t,n,e){var i="data-"+n;null!==e?t.setAttribute(i,e):t.removeAttribute(i)},d=function(t){return s(t,"ll-status")},f=function(t,n){return u(t,"ll-status",n)},_=function(t){return f(t,null)},g=function(t){return null===d(t)},v=function(t){return"delayed"===d(t)},b=["loading","applied","loaded","error"],p=function(t){return b.indexOf(d(t))>-1},m=function(t,n){return u(t,"ll-timeout",n)},h=function(t){return s(t,"ll-timeout")},E=function(t,n,e,i){t&&(void 0===i?void 0===e?t(n):t(n,e):t(n,e,i))},y=function(t,n){o?t.classList.add(n):t.className+=(t.className?" ":"")+n},L=function(t,n){o?t.classList.remove(n):t.className=t.className.replace(new RegExp("(^|\\s+)"+n+"(\\s+|$)")," ").replace(/^\s+/,"").replace(/\s+$/,"")},I=function(t){return t.llTempImage},k=function(t,n,e){if(e){var i=e._observer;i&&n.auto_unobserve&&i.unobserve(t)}},A=function(t){t&&(t.loadingCount+=1)},w=function(t){for(var n,e=[],i=0;n=t.children[i];i+=1)"SOURCE"===n.tagName&&e.push(n);return e},z=function(t,n,e){e&&t.setAttribute(n,e)},C=function(t,n){t.removeAttribute(n)},O=function(t){return!!t.llOriginalAttrs},x=function(t){if(!O(t)){var n={};n.src=t.getAttribute("src"),n.srcset=t.getAttribute("srcset"),n.sizes=t.getAttribute("sizes"),t.llOriginalAttrs=n}},N=function(t){if(O(t)){var n=t.llOriginalAttrs;z(t,"src",n.src),z(t,"srcset",n.srcset),z(t,"sizes",n.sizes)}},M=function(t,n){z(t,"sizes",s(t,n.data_sizes)),z(t,"srcset",s(t,n.data_srcset)),z(t,"src",s(t,n.data_src))},R=function(t){C(t,"src"),C(t,"srcset"),C(t,"sizes")},T=function(t,n){var e=t.parentNode;e&&"PICTURE"===e.tagName&&w(e).forEach(n)},G={IMG:function(t,n){T(t,(function(t){x(t),M(t,n)})),x(t),M(t,n)},IFRAME:function(t,n){z(t,"src",s(t,n.data_src))},VIDEO:function(t,n){w(t).forEach((function(t){z(t,"src",s(t,n.data_src))})),z(t,"poster",s(t,n.data_poster)),z(t,"src",s(t,n.data_src)),t.load()}},S=function(t,n,e){var i=G[t.tagName];i&&(i(t,n),A(e),y(t,n.class_loading),f(t,"loading"),E(n.callback_loading,t,e),E(n.callback_reveal,t,e))},j=["IMG","IFRAME","VIDEO"],D=function(t){t&&(t.loadingCount-=1)},F=function(t,n){!n||n.toLoadCount||n.loadingCount||E(t.callback_finish,n)},P=function(t,n,e){t.addEventListener(n,e),t.llEvLisnrs[n]=e},V=function(t,n,e){t.removeEventListener(n,e)},U=function(t){return!!t.llEvLisnrs},$=function(t){if(U(t)){var n=t.llEvLisnrs;for(var e in n){var i=n[e];V(t,e,i)}delete t.llEvLisnrs}},q=function(t,n,e){!function(t){delete t.llTempImage}(t),D(e),L(t,n.class_loading),k(t,n,e)},H=function(t,n,e){var i=I(t)||t;if(!U(i)){!function(t,n,e){U(t)||(t.llEvLisnrs={}),P(t,"load",n),P(t,"error",e),"VIDEO"===t.tagName&&P(t,"loadeddata",n)}(i,(function(o){!function(t,n,e,i){q(n,e,i),y(n,e.class_loaded),f(n,"loaded"),E(e.callback_loaded,n,i),F(e,i)}(0,t,n,e),$(i)}),(function(o){!function(t,n,e,i){q(n,e,i),y(n,e.class_error),f(n,"error"),E(e.callback_error,n,i),F(e,i)}(0,t,n,e),$(i)}))}},B=function(t){t&&(t.toLoadCount-=1)},J=function(t,n,e){!function(t){t.llTempImage=document.createElement("img")}(t),H(t,n,e),function(t,n,e){var i=s(t,n.data_bg),o=s(t,n.data_bg_hidpi),r=a&&o?o:i;r&&(t.style.backgroundImage='url("'.concat(r,'")'),I(t).setAttribute("src",r),A(e),y(t,n.class_loading),f(t,"loading"),E(n.callback_loading,t,e),E(n.callback_reveal,t,e))}(t,n,e),function(t,n,e){var i=s(t,n.data_bg_multi),o=s(t,n.data_bg_multi_hidpi),r=a&&o?o:i;r&&(t.style.backgroundImage=r,y(t,n.class_applied),f(t,"applied"),k(t,n,e),E(n.callback_applied,t,e))}(t,n,e)},K=function(t,n,e){!function(t){return j.indexOf(t.tagName)>-1}(t)?J(t,n,e):function(t,n,e){H(t,n,e),S(t,n,e)}(t,n,e),B(e),F(n,e)},Q=function(t){var n=h(t);n&&(v(t)&&_(t),clearTimeout(n),m(t,null))},W=function(t,n,e,i){"IMG"===t.tagName&&($(t),function(t){T(t,(function(t){R(t)})),R(t)}(t),function(t){T(t,(function(t){N(t)})),N(t)}(t),L(t,e.class_loading),D(i),E(e.callback_cancel,t,n,i),setTimeout((function(){i.resetElementStatus(t,i)}),0))},X=function(t,n,e,i){E(e.callback_enter,t,n,i),p(t)||(e.load_delay?function(t,n,e){var i=n.load_delay,o=h(t);o||(o=setTimeout((function(){K(t,n,e),Q(t)}),i),f(t,"delayed"),m(t,o))}(t,e,i):K(t,e,i))},Y=function(t,n,e,i){g(t)||(e.cancel_on_exit&&function(t){return"loading"===d(t)}(t)&&W(t,n,e,i),E(e.callback_exit,t,n,i),e.load_delay&&v(t)&&Q(t))},Z=["IMG","IFRAME"],tt=function(t){return t.use_native&&"loading"in HTMLImageElement.prototype},nt=function(t,n,e){t.forEach((function(t){-1!==Z.indexOf(t.tagName)&&(t.setAttribute("loading","lazy"),function(t,n,e){H(t,n,e),S(t,n,e),B(e),f(t,"native"),F(n,e)}(t,n,e))})),e.toLoadCount=0},et=function(t){var n=t._settings;i&&!tt(t._settings)&&(t._observer=new IntersectionObserver((function(e){!function(t,n,e){t.forEach((function(t){return function(t){return t.isIntersecting||t.intersectionRatio>0}(t)?X(t.target,t,n,e):Y(t.target,t,n,e)}))}(e,n,t)}),function(t){return{root:t.container===document?null:t.container,rootMargin:t.thresholds||t.threshold+"px"}}(n)))},it=function(t){return Array.prototype.slice.call(t)},ot=function(t){return t.container.querySelectorAll(t.elements_selector)},at=function(t){return function(t){return"error"===d(t)}(t)},rt=function(t,n){return function(t){return it(t).filter(g)}(t||ot(n))},ct=function(t){var n,e=t._settings;(n=ot(e),it(n).filter(at)).forEach((function(t){L(t,e.class_error),_(t)})),t.update()},lt=function(t,e){var i;this._settings=c(t),this.loadingCount=0,et(this),i=this,n&&window.addEventListener("online",(function(t){ct(i)})),this.update(e)};return lt.prototype={update:function(t){var n,o,a=this._settings,r=rt(t,a);(this.toLoadCount=r.length,!e&&i)?tt(a)?nt(r,a,this):(n=this._observer,o=r,function(t){t.disconnect()}(n),function(t,n){n.forEach((function(n){t.observe(n)}))}(n,o)):this.loadAll(r)},destroy:function(){this._observer&&this._observer.disconnect(),delete this._observer,delete this._settings,delete this.loadingCount,delete this.toLoadCount},loadAll:function(t){var n=this,e=this._settings;rt(t,e).forEach((function(t){K(t,e,n)}))},resetElementStatus:function(t){!function(t,n){p(t)&&function(t){t&&(t.toLoadCount+=1)}(n),f(t,null)}(t,this)},load:function(t){K(t,this._settings,this)}},lt.load=function(t,n){var e=c(n);K(t,e)},n&&function(t,n){if(n)if(n.length)for(var e,i=0;e=n[i];i+=1)l(t,e);else l(t,n)}(lt,window.lazyLoadOptions),lt})); </script> <script type="text/javascript"> function getCookie(cname) { var name = cname + "="; var decodedCookie = decodeURIComponent(document.cookie); var ca = decodedCookie.split(';'); for(var i = 0; i <ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') { c = c.substring(1); } if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); } } return null; } function enhancedEcommerceAddProduct(product) { if (product) ga('enhancedEcommerce.ec:addProduct', product); } function enhancedEcommerceAddToCart(product) { if (product) { enhancedEcommerceAddProduct(product); ga('enhancedEcommerce.ec:setAction', 'add'); ga('enhancedEcommerce.send', 'event', 'UX', 'click', 'add to cart'); } } function ecEventDispatch(productData) { if (productData) { enhancedEcommerceAddProduct(productData); ga('enhancedEcommerce.ec:setAction', 'click', {list: productData.list}); // Send click with an event, then send user to product page. ga('enhancedEcommerce.send', 'event', 'UX', 'click', 'Product'); } } function toggleModal(target) { let templateId = target + '-template'; if (target === "#add-item-to-wishlist-modal" || target === "#create-new-wishlist-modal" || target === "#add-wishlist-templates") { templateId = "#wishlist-actions-template"; } else if (target === "#delete-wishlist-modal" || target === "#share-wishlist-modal" || target === '#share-lists-modal') { templateId = "#wishlist-popups-template"; } appendModalTemplate(target, templateId); if (target !== "#undefined-modal") { const activeModal = jQuery('.b-show-modal'), activeModalId = '#' + activeModal.attr('id'), targetSelector = $(target), targetModal = $(target + '.b-modal'); if (activeModal.length && activeModalId !== target) { activeModal.trigger('b-modal-closed'); activeModal.removeClass('b-show-modal'); } if (targetModal.hasClass('b-show-modal')) { targetSelector.trigger('b-modal-closed', [target]); } else { targetSelector.trigger('b-modal-opened', [target]); showModalContent(targetModal); } if(window.BKT_GLOBALS.isSidePanelTheme && !window.BKT_GLOBALS.isKoboPopup && targetSelector.hasClass('side-panel-theme')) { const targetModalContent = targetModal.find('.b-modal-content'); if(targetSelector.hasClass('b-show-modal')) { targetModalContent.toggleClass('slide-side-panel'); setTimeout(function() { targetModal.toggleClass("b-show-modal"); }, 300) } else { targetModal.toggleClass("b-show-modal"); setTimeout(function() { targetModalContent.toggleClass('slide-side-panel'); }, 300) } $('.b-modal:not(.b-show-modal) .b-modal-content').removeClass('slide-side-panel'); } else { targetModal.toggleClass("b-show-modal"); } lazyLoadInstance.update(); } } function createModal(name, className) { if (className === undefined) className = ""; if (jQuery("#" + name + "").length == 0) { var modal = '<div id="' + name + '" class="b-modal dynamic-modal ' + className + '">\n' + '<div id="' + name + '-popup" class="b-modal-content">' + '<button class="b-close-button b-modal-close"><i class="icon-cross"></i></button>' + '<div id="' + name + '-container"><div class="loader-wrapper"><i class="icon-spinner3 loader"></i></div></div>' + '</div>' + '</div>'; jQuery("#footer").append(modal); } } function windowOnClick(event) { var activeModal = jQuery('.b-show-modal'); if (activeModal[0] !== undefined && (event.target === activeModal[0] || event.target === jQuery('#paypal-terms-modal .overlay')[0]) && jQuery(activeModal[0]).find('.loader-wrapper').length === 0) { window.parent.jQuery('.b-modal-close').first().trigger('click'); } } function showModalContent(target) { target.show(); target.find('.b-modal-content').show(); } function openWishListDrawer() { appendModalTemplate(); var jNotificationContainer = jQuery("#product-wishlist-notification"); var jParentSelector = jQuery("#booktopia-notification-wrapper"); jParentSelector.find('#booktopia-notification > div').hide(); jNotificationContainer.show(); jParentSelector.show(); jQuery('.b-modal').hide(); jQuery('#wishlist-confirmation').hide(); showModalContent($('#add-item-to-wishlist-modal')); jQuery('#create-wishlist-form').trigger('reset'); jQuery('#add-item-to-wishlist-modal').trigger('b-modal-opened', ['#add-item-to-wishlist-modal']); setTimeout(function () { jParentSelector.addClass('active'); }, 20) } $(function () { $(document).on('b-modal-opened', '#add-item-to-wishlist-modal', function (e, target) { const form = $('#create-wishlist-form'); form.trigger('reset'); form.find('.input-error').remove(); form.find('.field').removeClass('error'); $.ajax({ url: "/api/customer/wishlist?version=v1", method: "get", dataType: "json" }).done(function(response) { if(response.success) { const responseData = response && response.data ? response.data : null, wishListSelect = $('#wishlist-select'); if (responseData.length <= 1) { const label = wishListSelect.closest('.field').find('label'); wishListSelect.hide(); label.html('This item will be added to your Wish List (default)'); label.addClass('mb-0'); } else { let options = []; responseData.forEach(function (item) { const option = '<option value="' + item.uidPk + '">' + item.displayName + '</option>' options.push(option) }); wishListSelect.show(); wishListSelect.parents('.field').find('label').html('Select a list to add to'); wishListSelect.html(options); } } }).fail(function(response){ console.warn(response); }); }); jQuery(document).on('click', '.b-modal-close', function () { const activeModal = $('.b-show-modal'), modal = $(activeModal[0]); if (modal.find('.loader-wrapper').length === 0) { toggleModal('#' + modal.attr('id')); const bModal = $(this).parents('.b-modal') if(bModal.attr('id') !== 'gallery-modal') { if (bModal.hasClass('dynamic-modal') && !bModal.hasClass('google-preview')) { setTimeout(function () { bModal.remove(); }, 100) } } } }); window.addEventListener("click", windowOnClick); //------END MODAL-------- jQuery(document).on('click', '#cancel-modal, .cancel-modal', function () { window.parent.jQuery('.b-modal-close').trigger('click'); }) jQuery("#reload-page").on('click', function () { parent.location.reload(); }) var trigger = $('.b-trigger'); trigger.on('click', function(e) { if(trigger.data('target') === "donation") { e.preventDefault(); } }) jQuery(document).on('click', 'a[data-product-data]', function(){ if($(this).hasClass('cart-item')) return; var productData = jQuery(this).data('product-data'); if (productData) { const wo = window.google_object?window.google_object:null; productData.dimension27 = wo?wo.dimension27:''; productData.deliveryExpectation = getOccasionDeliveryExpectation(productData); dataLayer.push({ecommerce: null}); dataLayer.push({ 'event': 'addToCart', 'ecommerce': { 'currencyCode': wo?wo.currency:'', 'add': { 'products': [productData] } } }) } }) jQuery(document).on('click', '[data-promo-data]', function() { const wo = window.google_object?window.google_object:null, promoData = jQuery(this).data('promo-data'); if (promoData) { dataLayer.push({ ecommerce: null }); dataLayer.push({ 'event': 'promotionClick', 'dimension5': wo?wo.dimension5:'', 'dimension6': wo?wo.dimension6:'', 'ecommerce': { 'promoClick': { 'promotions': [ promoData ] } } }); } }); $(window).on('beforeunload', function(){ if(loadedProducts.length > 0) { const wo = window.google_object?window.google_object:null; dataLayer.push({ ecommerce: null }); dataLayer.push({ 'event': 'productImpression', 'dimension5': wo?wo.dimension5:'', 'dimension6': wo?wo.dimension6:'', 'ecommerce': { 'currencyCode': wo?wo.currency:'', 'products': loadedProducts } }); loadedProducts = []; } }); }); function appendModalTemplate(contentId, templateId) { const nonFooterModals = ["#zookal-study-modal","#paypal-terms-modal","#flat-rate-modal","#share-lists-modal","#etext-access-modal", "#free-shipping-modal"] if(window.BKT_GLOBALS.isMobileSession && !nonFooterModals.includes(contentId)) { const modalTemplateContainer = jQuery("#booktopia-notification"); if (modalTemplateContainer.children().length === 1) { modalTemplateContainer.append(jQuery("#footer-modal-template").html()); } } else { var desktopTemplateParent = jQuery(templateId).parent(); if(templateId === '#gallery-modal-template') desktopTemplateParent = jQuery('body'); var desktopTemplate = jQuery(templateId); var modalContent = jQuery(contentId); if (navigator.userAgent.indexOf("MSIE ") > -1 || navigator.userAgent.indexOf("Trident/") > -1) { desktopTemplate.show(); } else if (modalContent.length === 0) { desktopTemplateParent.append(desktopTemplate.html()); desktopTemplate.remove(); if(contentId === "#flat-rate-modal") { getShippingFeeTable(); } } } } function appendModalTemplateAfter(templateId, elementAfter) { const sharedTemplateId = $(templateId); if (typeof elementAfter !== 'undefined' && $(elementAfter).length > 0 && sharedTemplateId.length === 1) { $(sharedTemplateId.html()).insertAfter(elementAfter); } } function addProductToWishListPopup() { var timeout = 0; if($('#product-browse').length > 0) { $('html, body').scrollTop($('[id*=' + $('#product-hidden-isbn').val() + ']').offset().top - 60); timeout = 300; } setTimeout(function() { toggleModal("#add-item-to-wishlist-modal"); }, timeout); } function getOccasionDeliveryExpectation(productData) { return willDeliverBeforeOccasion === null ? null : (willDeliverBeforeOccasion && (productData.dimension1 ? productData.dimension1.trim() : false) === 'In-Stock'); } //Global variable for occasion delivery GA4 willDeliverBeforeOccasion = null; $(function(){ $(document).on('occasionDeliveryEstimate', function(e, willArriveBeforeCutoff){ // set value for this global variable willDeliverBeforeOccasion = willArriveBeforeCutoff; }) }) function getShippingFeeTable() { $.ajax({ method: "GET", url: '/news240.html' }).done(function (result) { const content = $('<div />').append(result).find('#content').html(); $('.shipping-fee-table-container').html(content); }); } </script> <script type="text/javascript"> document.addEventListener("DOMContentLoaded", function() { $('body').addClass('side-panel-theme-active'); window.BKT_GLOBALS.isSidePanelTheme = true; }); jQuery(document).on('header-version-b-loaded',function(){ jQuery('#top-nav #shopping-cart-summary').appendTo(jQuery('.main-content .content-right-section')); jQuery('#fiction-sub').appendTo(jQuery('#navlink-fiction-sub')); jQuery('#non-fiction-sub').appendTo(jQuery('#navlink-non-fiction-sub')); jQuery('#kids-sub').appendTo(jQuery('.navlink-kids-sub')); jQuery('#schools-sub').appendTo(jQuery('#navlink-schools-sub')); }); function isTouchDevice() { // Workaround as `Modernizr.touch == false` on new Windows Phone and true on some Firefox desktop versions. // Also cover Opera Mini for Android 4.0. return isModernMobileUserAgent(); } // Including "Windows Phone OS 7.5" and "Windows Phone 8.0" function isModernMobileUserAgent() { var ua = navigator.userAgent; return (ua.match(/(iPhone|iPod|iPad)/) || ua.match(/Android/) || ua.match(/BlackBerry/) || ua.match(/Opera Mini/) || ua.match(/Windows Phone/) ? true : false); } function isOldIE() { var oldIE = (navigator.userAgent.match(/msie/i)) && parseInt(jQuery.browser.version, 10) < 9; return oldIE; } // Toggle the floating navigation bar and quicklinks function togglePersistentNavBar() { var persistentNavBar = jQuery('.persistent-nav-bar'); if (persistentNavBar.length) { var showNavBar = jQuery(window).scrollTop() > 210; if (showNavBar) { persistentNavBar.show(); jQuery(document).trigger('persistentNavBar.shown'); if (!jQuery('.persistent-nav-bar #shopping-cart-summary').length && !jQuery('.persistent-nav-bar #searchform').length) { jQuery('#shopping-cart-summary').appendTo(jQuery('.persistent-cart-summary')); jQuery('#header #searchform').appendTo(jQuery('.persistent-search-box')); } if (jQuery('.autocomplete-suggestions').is(':visible')) { jQuery('.autocomplete-suggestions').hide(); } } else { persistentNavBar.hide(); jQuery(document).trigger('persistentNavBar.hidden'); if (!jQuery('#top-nav #shopping-cart-summary').length && !jQuery('#header #searchform').length) { if (jQuery('body').hasClass("header-version-b")) { jQuery('.persistent-nav-bar #shopping-cart-summary').appendTo(jQuery('.main-content .content-right-section')); } else { jQuery('.persistent-nav-bar #shopping-cart-summary').insertAfter('#top-nav .content > ul.header-version-default-item'); } jQuery('.persistent-nav-bar #searchform').appendTo(jQuery('#header #search')); } } } } function togglePersistentNavQuicklinks(quicklinksButton) { var quicklinkList = jQuery(quicklinksButton).siblings(".persistent-quicklink-list"); if (quicklinkList.hasClass("persistent-quicklink-list-open")) { quicklinkList.removeClass("persistent-quicklink-list-open"); quicklinkList.hide(); } else { quicklinkList.addClass("persistent-quicklink-list-open"); quicklinkList.show(); } } // below function called from CMS, init 'book of the month' img function initBookOfTheMonth(productLink, productImgURL, altText) { var bookOfTheMonthHtml = "<a href='" + productLink + "'><img class='book-of-the-month-img lazyload block' src='//images.booktopia.com.au/loading-cover-150.gif' data-src='" + productImgURL + "'alt='" + altText + "'></a>"; jQuery("#book-of-the-month-section").append(bookOfTheMonthHtml); var middleTile = jQuery("#banner .banner-middle-section .tile"); if (middleTile.length == 1) { middleTile.find("img").css("max-height", "260px"); } lazyLoadInstance.update(); }; </script> <script type="text/javascript" src="/template-resources/js/slick.min.js"></script> <script type="text/javascript"> // Excluding (true, 4) which is handled by initAddToCart (above) // and "product-carousel-priced-5" which is used for the No Products carousel function initCarousels(numResults, productType, parentSelector) { if (!parentSelector || parentSelector === "body") { if (numResults > 0) { initCarousel("small", 5, productType, parentSelector); // For categoryTemplateHead initCarousel("priced", 5, productType, parentSelector); // For categoryTemplate, categoryLandingPageTemplate, holidayHaven, clickFrenzy initCarousel("priced", 7, productType, parentSelector); // For /books-online/bargains/c9-p1.html initCarousel("", 4, productType, parentSelector); initCarousel("", 5, productType, parentSelector); // For productTemplateHead, productUnavailableTemplate initCarousel("", 7, productType, parentSelector); // For baum initCarousel("grid", 5, productType, parentSelector); } else initCarousel("priced", 5, productType, parentSelector); // For searchResultsDescription (No Results page) } } // Size carousels and set animate style for the overlaid price on the main carousel. // Returns the number of carousel containers that needed initialising function initCarousel(style, scroll, productType, parentSelector) { if (!parentSelector) parentSelector = "body"; var carouselSelector = null, options = {speed: 500, slidesToShow: scroll, slidesToScroll: scroll, infinite: false}; var initCount = 0; // Get common options for given carousel type if (style === "small") { // scroll will be 4 or 5 carouselSelector = ".product-carousel-small-5"; } else if (style === "priced") { carouselSelector = ".product-carousel-priced-" + scroll; } else if (style === "grid") { carouselSelector = ".product-carousel-grid-6"; options['slidesToShow'] = 6 options['slidesToScroll'] = 5 options['variableWidth'] = true } else { options['responsive'] = [{ breakpoint: 1150,// normal number of products up until 1150 settings: { slidesToShow: scroll, slidesToScroll: scroll, } },{ breakpoint: 3000,// setting this more than 1200 so the break point is never reached settings: { slidesToShow: scroll + 1, slidesToScroll: scroll + 1, } }] carouselSelector = ".product-carousel-" + scroll; } options['prevArrow'] = '<span class="slick-prev icon-arrow-left10" data-mh-ea="Arrow click" data-mh-el="Left"></span>'; options['nextArrow'] = '<span class="slick-next icon-uniE89B" data-mh-ea="Arrow click" data-mh-el="Right"></span>'; var listIds = new Array(); var categoryCode = null; var batch = true; jQuery(parentSelector).find(carouselSelector).each(function (index, element) { var jqContainer = jQuery(this); if (jqContainer.attr('data-batch') === "no") { batch = false } if (jqContainer.attr('data-dynamic') === "ajax") { // For AJAX carousels, <li> items must be appended to DOM before jcarousel() is called if (jqContainer.find("na").length == 0) { categoryCode = jqContainer.attr('data-category'); if (batch) { listIds.push(jqContainer.attr('data-list')); } else { let productListUrl = '/api/product/productsInList?version=v1&productTypeId=' + productType + '&listId=' + jqContainer.attr('data-list'); if(categoryCode) productListUrl += '&categoryCode=' + categoryCode; $.ajax({ url: productListUrl, dataType: "json" }).done(function(response) { const listProducts = response.data; setCarouselProducts(listProducts, jqContainer, options, parentSelector); }).fail(function(response) { console.warn(response); }); initCount++; } } } else { if (initCarouselInstanceFromDOM(jqContainer, options, parentSelector)) initCount++; } }); if (batch && listIds.length > 0) { var l = 0; let batchListUrl = '/api/product/productsInListBatch?version=v1&productTypeId=' + productType + '&listIds=' + listIds; if(categoryCode) batchListUrl += '&categoryCode=' + categoryCode; $.ajax({ url: batchListUrl, dataType: "json" }).done(function(response) { const listOfLists = response.data; jQuery(parentSelector).find(carouselSelector).each(function (index, element) { var jqContainer = jQuery(this); if (jqContainer.attr('data-dynamic') === "ajax" && l < listOfLists.length) { setCarouselProducts(listOfLists[l], jqContainer, options, parentSelector); initCount++; l++; } }); if(window.BKT_GLOBALS.isKeyboardAccessible) { initAccessibleCarousel(parentSelector); } }).fail(function(response){ console.warn(response); }); } return initCount; } // Get/set memory with template html function substituteFromTemplate(selector, vars) { if (!parent.cache) parent.cache = {}; if (!parent.cache[selector]) { var jTemplate = jQuery(selector); if (jTemplate.length === 0) { if (window.console && console.warn) console.warn("Template not found: " + selector); return ""; } var html = jTemplate.html().trim(); if (!html || html === "") { if (window.console && console.warn) console.warn("Template empty: " + selector); return ""; } parent.cache[selector] = html; } return substitute(parent.cache[selector], vars); } // Simple template substitution. If array passed in, assume pattern has format "Var1: {0} Var2: {1}". // If object passed in, assume pattern has Velocity-style format "Var1: ${var1} Var2: ${var2}". function substitute(pattern, vars) { var substitution; if (!vars) return pattern; else if (jQuery.isArray(vars)) { return pattern.replace(/{([0-9]+)}/g, function (match, key, value) { substitution = vars[key]; return (substitution ? substitution : ""); }); } else { return pattern.replace(/\${([A-Za-z0-9\.]+)}/g, function (match, key, value) { substitution = vars[key]; return (substitution ? substitution : ""); }); } } function setCarouselProducts(listProducts, jqContainer, options, parentSelector) { var fullTemplate = jqContainer.attr('data-details') === "full"; var isGridCarousel = jqContainer.hasClass('product-carousel-grid-6'); if (listProducts && listProducts.length > 0) { for (var i in listProducts) { if (listProducts[i] != null) { var itemHtml = carouselComposeItemHTML(listProducts[i], fullTemplate, isGridCarousel, i); jqContainer.find('.jcarousel-skin-booktopia').append('<li>' + itemHtml + '</li>'); } } options['lazyLoad'] = 'ondemand'; initCarouselInstanceFromDOM(jqContainer, options, parentSelector); //update lazy loading once the carousel is loaded in DOM lazyLoadInstance.update(); if (isTouchDevice()) { jQuery(parentSelector).find(".product-carousel-7 .jcarousel-skin-booktopia .product .sale-price, .product-carousel-small-5 .jcarousel-skin-booktopia .product .sale-price, .product-carousel-grid-6 .jcarousel-skin-booktopia .product .sale-price").animate({"opacity": 1.0}, 300); jQuery(parentSelector).find(".button").animate({"opacity": 1.0}, 300); } // //update the delivery icon for dynamic carousel if(localStorage.getItem('inStockDeliveryForPostcode') === "1") displayDeliveryIcon(); } else jqContainer.hide(); } // Initialise a specific carousel function initCarouselInstanceFromDOM(jqContainer, options, parentSelector) { var instanceOptions = carouselGetInstanceOptions(jqContainer, options); instanceOptions['_parentSelector'] = parentSelector; if (instanceOptions['visibleSize'] > 0 || instanceOptions['invisibleSize'] > 0) { var carouselRoot = jqContainer.find(".jcarousel-skin-booktopia"); if (carouselRoot.length > 0) { carouselRoot.slick(instanceOptions) // Add numbers to carousel images, similar to Bestsellers carousel try { if (jqContainer.parent().hasClass("carousel-grid-1-4-layout") && jqContainer.hasClass("product-rankings")) { // E.g. Carousel style used on eBook Fiction landing page jqContainer.find(".slick-slide").each(function (iCounter) { if (!jQuery(this).find(".ranking").length) { var iRanking = iCounter + 1; jQuery(this).find("div.image").append('<span class="ranking">' + iRanking + '</span>'); } }); } } catch (e) {} return true; } else return false; } else { if (window.console && console.warn) console.warn("Carousel data not found: " + parentSelector + " > " + jqContainer.attr('id') + " " + instanceOptions['size'] + " " + instanceOptions['visibleSize'] + " " + instanceOptions['invisibleSize']); return false; } } // Inspect a specific carousel to count the number of items to be added to it function carouselGetInstanceOptions(jqContainer, options) { var instanceOptions = jQuery.extend(true, {}, options); // clone var dynamic = false; var visibleSize = 0; var invisibleSize = 0; try { dynamic = jqContainer.attr("data-dynamic") || false; if ("domUpdate" == dynamic) { invisibleSize = jqContainer.find(".image img[src='']").parent().parent().length; // product.image count visibleSize = jqContainer.find("li").length - invisibleSize; } else { invisibleSize = jqContainer.find("na").length; visibleSize = jqContainer.find("li").length; // static/added carousel items } } catch (e) { } instanceOptions['visibleSize'] = visibleSize; instanceOptions['invisibleSize'] = invisibleSize; return instanceOptions; } //Generate stars sprite Y position from rounded rating (dynamic carousel helper) function getStarsSpriteY(rating, imageOffset) { var r = Number(rating); if (r === NaN || r <= 0.0) return -200; return -36.0 * rating + 2 + imageOffset; } // Item HTML creation helper function carouselComposeItemHTML(vars, fullTemplate, isGridCarousel, index) { // Alt text should NOT display as tooltips (that's what title is for), this was only fixed in IE8 if (!vars.altText || isOldIE()) vars.altText = ""; if (vars.formattedDateIfInFuture == "null" || typeof vars.formattedDateIfInFuture === "undefined") { vars.formattedDateIfInFuture = ''; } // Replaces image URL width parameter to 200 and 100 for grid carousels if (isGridCarousel && index % 5 == 0) { vars.imageUrl = vars.imageUrl.replace("/150/", "/200/"); } else { vars.imageUrl = vars.imageUrl.replace("/150/", "/110/"); } vars.productTypeTagClass = getProductTypeTagClass(vars.binding); vars.rating = vars.rating || 0.0; vars.starsSpriteY = getStarsSpriteY(vars.rating, 0); // ISBN and CODE can be used interchangeablely but template is using: data-code="${isbn}" if (vars.code && !vars.isbn) { vars.isbn = vars.code; } var itemHtml = substituteFromTemplate((fullTemplate ? "#carousel-item-buy-now-full-template" : "#carousel-item-buy-now-short-template"), vars, false); if (itemHtml) { if (document.getElementById('ec_enabled') && document.getElementById('ec_enabled').getAttribute('content') == 'true') { var ecData = jQuery("<div></div>").append(itemHtml), buyButton = ecData.find(".buy-button > a"), enhancedEcommerceData = { 'id': vars.uidPk.toString(), 'name': vars.displayName, 'category': buyButton.data('category'), 'brand': vars.altText.split(' - ')[1], 'variant': vars.defaultSupplierVitalSource ? "eText" : vars.fmtBinding, 'price': vars.fmtSalePrice.replace('$', ''), 'quantity': 1, 'dimension1': vars.hasStockAvailable ? 'In-Stock' : 'Not in Stock', 'list': 'Dynamic Carousel', 'position': index }; buyButton.attr('data-product-data', JSON.stringify(enhancedEcommerceData)); itemHtml = ecData.html(); } itemHtml = itemHtml.replace('data-src=""', 'data-src="' + vars.imageUrl + '"').replace('data-ll-status', 'data'); if (vars.hasStockAvailable && vars.binding !== "MAG") { itemHtml = itemHtml.replace('<img', '<span class="special-occasion-icon" title="This item will arrive by Christmas"></span><img'); itemHtml = itemHtml.replace('class="delivery">', 'class="delivery"><div class="in-stock"></div>'); } if (vars.fmtBinding === "eBook") { itemHtml = itemHtml.replace('buy-now button', 'buy-now ebook button'); itemHtml = itemHtml.replace('>BUY NOW<', '>BUY EBOOK<'); itemHtml = itemHtml.replace('icon-cart', 'icon-download'); } else if (vars.availability == "PREORDER") { itemHtml = itemHtml.replace('buy-now button', 'pre-order button'); itemHtml = itemHtml.replace('>BUY NOW<', '>PREORDER<'); } else if (vars.availability == "BACKORDER") { itemHtml = itemHtml.replace('buy-now button', 'back-order button'); itemHtml = itemHtml.replace('>BUY NOW<', '>BACKORDER<'); } if (vars.bundledProduct || vars.signed || vars.displayProductBadge || vars.productTypeTagClass) { var productBadge = ""; if (vars.bundledProduct) productBadge += '<span class="bundle-badge" title="This product belongs to a bundle"></span>'; if (vars.signed) productBadge += '<span class="signed-copy-sticker"></span>'; if (vars.displayProductBadge) { var badgeBgColor = vars.badgeBackgroundColor; if (!badgeBgColor || badgeBgColor == "") { badgeBgColor = "#009933"; } productBadge += '<div class="campaign-badge-wrapper"><div style="background-color: ' + badgeBgColor + '" class="campaign-badge-background"><div class="campaign-badge-text" style="color: ' + badgeBgColor + ';">' + vars.displayProductBadge + '</div></div></div>' var campaignBorder = '<div class="image" style="outline: 1px solid rgba(255,255,255,0.5); box-shadow: 0 0 0 1px ' + badgeBgColor + ';"'; itemHtml = itemHtml.replace('<div class="image"', campaignBorder); } if (vars.productTypeTagClass) productBadge += '<div class="' + vars.productTypeTagClass + '"></div>'; itemHtml = itemHtml.replace('<div class="product-badges-empty">', '<div class="product-badges">' + productBadge); } if (vars.adultCover) { itemHtml = itemHtml.replace('<img class="lazyload "', '<img class="lazyload blur"'); // Other browsers } } return itemHtml; } // Product type identifier overlaid on product images (dynamic carousel helper) function getProductTypeTagClass(binding) { if (!binding || binding === "") return ""; var tagClass = ""; if (binding === "DG_EPUB_PDF" || binding === "DG_PDF" || binding === "DG_EPUB") tagClass = "product-type-tag-ebook"; else if (binding === "AA" || binding === "RI" || binding === "AZ" || binding === "AJ" || binding === "C3" || binding === "CD" || binding === "CX" || binding === "DA" || binding === "M3" || binding === "MP3") tagClass = "product-type-tag-audio"; else if (binding === "DR" || binding === "CR" || binding === "DH" || binding === "DZ") tagClass = "product-type-tag-cd-dvd"; else if (binding === "BLR") tagClass = "product-type-tag-blu-ray"; else if (binding === "DAB") tagClass = "product-type-tag-audio-digital"; return tagClass; } </script> <script type="text/javascript"> function initHelpLinks() { jQuery('.question').on('click', function () { var next = jQuery(this).closest('.question').nextAll('.answer').eq(0); if ($(next).is(":visible")) { next.hide(); jQuery(this).css("background-position", ""); } else { next.show(); jQuery(this).css("background-position", "0 3px"); } }); jQuery(".menu > li > a").on('click', function () { jQuery(".menu > li").removeClass("selected"); jQuery(this).parent().addClass("selected"); }); } function triggerHelpLink(helpSection) { if (!helpSection || helpSection === "") return false; var link = jQuery(".menu > li[data-id='" + helpSection + "'] > a"); link.trigger('click'); return (link.length > 0); } function displayHelpSection(helpSection, page, anchor) { if (!helpSection || helpSection === "") return false; window.BKT_GLOBALS.isMobileSession ? jQuery("div.section:not(.accessing-digital-products)").hide() : jQuery("div.section").hide(); let section = jQuery(`#${helpSection}`); section.show(); if (window.history.replaceState) window.history.replaceState({}, 'Booktopia Help Centre', "/helpCentre.ep?p=" + page + "&o=" + helpSection + anchor); return (section.length > 0); } function displayDigitalSection(helpSection, productType, deviceType) { if (!helpSection || helpSection === "") return false; window.BKT_GLOBALS.isMobileSession ? jQuery(".accessing-digital-products").hide() : jQuery("div.section").hide(); let section = jQuery(`#${helpSection}`); section.show(); let url = "/helpCentre.ep?p=policies&o=digital-access-info"; if (productType && productType !== "") { url = url + "&pt=" + productType; if (deviceType && deviceType !== "") { url = url + "&dt=" + deviceType; } } if (window.history.replaceState) window.history.replaceState({}, 'Booktopia Help Centre', url); } function selectProductType(productType) { displayDigitalSection("device-type-selection", productType); $('.selected-product').text(productType); } function selectDeviceType(deviceType) { const productType = $('.selected-product:first').text(); displayDigitalSection("access-steps", productType, deviceType); $('.selected-device').text(deviceType); $(".step-info").hide(); if(productType === "eTextbook") { if(deviceType === "eReader") { $("#etextbook-eReader-steps").show(); } else { $("#etextbook-non-eReader-steps").show(); } } else if ((productType === "eBook" || productType === "Subscription") && deviceType === "Computer") { $("#eBook-Subscription-Computer-steps").show(); } else if ((productType === "eBook" || productType === "Subscription") && deviceType === "eReader") { $("#eBook-Subscription-eReader-steps").show(); } else if (productType === "Audiobook" && (deviceType === "Computer" || deviceType === "eReader")) { $("#audiobook-Computer-eReader-steps").show(); $("[class*='-item']").hide(); if (deviceType === "Computer") { $(".audiobook-Computer-item").show() } else { $(".audiobook-eReader-item").show() } } else { $("#common-steps").show(); $("[class*='-item']").hide(); if (deviceType === "Apple") { $(".apple-item").show(); } else { $(".android-item").show(); } if (productType === "Audiobook") { $(".audiobook-item").show(); } else { $(".ebook-item").show(); } } } function displayProceedWithChargeback(helpSection, chargebackType) { if (!helpSection || helpSection === "") return false; window.BKT_GLOBALS.isMobileSession ? jQuery(".proceeding-with-chargeback").hide() : jQuery("div.section").hide(); let section = jQuery(`#${helpSection}`); section.show(); let url = "/helpCentre.ep?p=policies&o=proceed-with-chargeback"; if (chargebackType && chargebackType !== "") { url = url + "&cbt=" + chargebackType; } if (window.history.replaceState) window.history.replaceState({}, 'Booktopia Help Centre', url); } function selectChargebackType(chargebackType) { displayProceedWithChargeback("access-steps", chargebackType); $(".step-info").hide(); $('.selected-chargeback-type').text(chargebackType); $('#chargeback-steps').show(); if(chargebackType === "Card") { $("#card-steps").show(); } else if (chargebackType === 'PayPal') { $("#paypal-steps").show(); } else if (chargebackType === 'AfterPay') { $("#afterpay-steps").show(); } } </script> <script type="text/javascript" src="/wro/5148/booktopia.desktop.js?v=dev-20241119152116"></script> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', "UA-413837-1"]); _gaq.push(['_trackPageview']); _gaq.push(['_setCustomVar', 1, 'Site', "PC", 2]); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', "UA-413837-3", 'auto'); ga('send', 'pageview'); ga('create', 'UA-413837-4', 'auto', 'enhancedEcommerce'); ga('enhancedEcommerce.require', 'ec'); ga('enhancedEcommerce.set', 'currencyCode', 'AUD'); ga('create', "UA-413837-1", 'auto', 'MHEnhancedEcommerce'); ga('MHEnhancedEcommerce.require', 'ec'); ga('MHEnhancedEcommerce.set', 'currencyCode', 'AUD'); var ecPageViewSent; window.onbeforeunload = function(){ if(ecPageViewSent !== true) { ga('enhancedEcommerce.send', 'pageview'); ga('MHEnhancedEcommerce.send', 'pageview'); return null; } }; </script> <script type="text/javascript" src="/Ns7aBMIv/init.js" async></script> <script type="text/javascript"> var advertTrackerRaw = localStorage.getItem('advertTracker') var advertTracker = JSON.parse(advertTrackerRaw) if(advertTrackerRaw && window.location.pathname != advertTracker.pathname){ localStorage.removeItem('advertTracker') } </script> <script> lazyLoadScript("/wro/5148/booktopia.desktop.help-centre.js?v=dev-20241119152116", function(){ $(document).trigger('wroJsLoaded'); }); </script> <script> window.addEventListener('load', function() { lazyLoadScript('https://apis.google.com/js/platform.js?onload=initGoogleAuth', function(){}); }); </script> <script type="text/javascript"> var advertTrackerRaw = localStorage.getItem('advertTracker') var advertTracker = JSON.parse(advertTrackerRaw) if(advertTrackerRaw && window.location.pathname != advertTracker.pathname){ localStorage.removeItem('advertTracker') } </script> <div id="freshbot-initiator-mock" style="bottom:30px; right:30px; display: none;"> <div id="chat-bubble"> <svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 30 30"><path d="M13.5 0h-9C2.016 0 0 1.99 0 4.44v7.565A1 1 0 001.008 13H13.5c2.484 0 4.5-1.99 4.5-4.44V4.44C18 1.99 15.984 0 13.5 0zm-3.24 9.52H3.744a.87.87 0 01-.864-.853.87.87 0 01.864-.853h6.516a.87.87 0 01.864.853.87.87 0 01-.864.852zm3.996-4.228H3.744a.87.87 0 01-.864-.852.87.87 0 01.864-.853h10.512a.87.87 0 01.864.853c0 .462-.36.852-.864.852z" fill="#fff" fill-rule="nonzero"/></svg> </div> </div> <script> window.addEventListener('load', function() { if(!isBotUserAgent()) { isFClicked = false; var freshBotCookie = getCookie('initiateFreshBotOnLoad'); if (freshBotCookie === 'true') { initiateFreshService(freshBotCookie); return true; } $('#freshbot-initiator-mock').show(); $('#freshbot-initiator-mock').one('click', function () { isFClicked = true; initiateFreshService(freshBotCookie); }); } }); function initFcWidget(cookie = null) { window.fcWidget.init({ token: "650540ae-cdd9-4b5e-9933-1035f1ff2c4e", host: "https://wchat.freshchat.com", tags:["chatbot"] }); window.fcWidget.on('widget:loaded', function() { if (isFClicked) { $('#freshbot-initiator-mock').hide(); window.fcWidget.open(); isFClicked = false; } }) window.fcWidget.on('widget:opened', function() { if(cookie === null) { setCookie('initiateFreshBotOnLoad', true, 1); } }); } function initiateFreshService(cookie){ var i = document, t = 'Freshchat-js-sdk', e; i.getElementById(t) ? initFcWidget(cookie) : ((e = i.createElement("script")).id = t, e.async = !0, e.src = "https://wchat.freshchat.com/js/widget.js", e.onload = function(){ initFcWidget(cookie); }, i.head.appendChild(e)) } </script> <script> window.insider_object= { "page": { "type": "Help" }, "basket": { "currency": "AUD", "total": 0, "shipping_cost": 0, "quantity": 0, "line_items": [ ] } }; </script> <script> var breadcrumbs = $('#breadcrumbs'), nav = "help", category = "", genre = "", subGenre = ""; if(breadcrumbs.length > 0){ let crumbs = breadcrumbs.text().split('>'); category = crumbs.shift().trim(); genre = crumbs.length > 0 ? crumbs[0].trim() : ""; subGenre = crumbs.length > 1 ? crumbs[crumbs.length - 1].trim(): ""; } else if (nav === "Gift Certificates") { category = nav; } window.google_object = { "page": { "type": "help" }, currency: "AUD", dimension27: "CC|PayPal|Afterpay|Bank Transfer|Visa Checkout", dimension5: getCookie('gaUniqueIdentifier') || "", dimension6: getCookie('customerUid') || "", dimension12: getCookie('__utmz')?getCookie('__utmz').indexOf('emarsys') >= -1 : "", dimension13: getCookie('insdrSubsId') || "", dimension14: "", dimension15: getCookie('irclickid') || "", dimension16: category, dimension17: genre, dimension18: subGenre, } </script> <script> var lazyLoadInstance = new LazyLoad({ elements_selector: ".lazyload", callback_loaded: function(el){ var promoItem = $(el).parents('[data-promo-data]'); if(promoItem.length) { handlePromoImpression(promoItem.data('promo-data')); return; } const elem = $(el), wishlistItem = elem.parents('.wishlist-item'); let productData; const searchAndCarouselItem = elem.parents('.product'), bestsellingItem = elem.parents('.bestselling-product'); if(wishlistItem.length > 0){ productData = wishlistItem.find('.wishlist-unit-cost > a').data('product-data'); }else if (searchAndCarouselItem.length > 0){ productData = searchAndCarouselItem.find('.buy-button > a').data('product-data'); }else if (bestsellingItem.length > 0){ productData = bestsellingItem.data('product-data'); } if(productData){ const wo = window.google_object ? window.google_object : null; let extendedProductData = { deliveryExpectation: getOccasionDeliveryExpectation(productData) }, paymentType = {dimension27: wo?wo.dimension27:''}; Object.assign(extendedProductData, productData, paymentType); var MHExtendedProductData = {}, additionalParams = { currency: wo?wo.currency:'', dimension5: wo?wo.dimension5:'', dimension6: wo?wo.dimension6:'', dimension12: wo?wo.dimension12:'', dimension13: wo?wo.dimension13:'', dimension14: wo?wo.dimension14:'', dimension27: wo?wo.dimension27:'', "eventCategory": "Enhanced Ecommerce", "eventAction": "Product Impressions", "eventLabel": "", deliveryExpectation: getOccasionDeliveryExpectation(productData) }; Object.assign(MHExtendedProductData, productData, additionalParams); ga('enhancedEcommerce.ec:addImpression', MHExtendedProductData) ga('MHEnhancedEcommerce.ec:addImpression', MHExtendedProductData) MHLoadedCount++; if(MHLoadedCount > 9) { ga('enhancedEcommerce.send', 'event', 'Scroll Tracking', 'scroll', window.location.href); ga('MHEnhancedEcommerce.send', 'event', 'Scroll Tracking', 'scroll', window.location.href); MHLoadedCount = 0; } // Add product data to data layer loadedProducts.push(extendedProductData); if(loadedProducts.length > 9){ addProductImpressions(loadedProducts); loadedProducts = []; } } } }); let loadedProducts = []; let MHLoadedCount = 0; function handlePromoImpression(promoData) { addPromoImpression(promoData); } function addPromoImpression(promoData) { const wo = window.google_object?window.google_object:null; if(promoData.creative === "Citrus") { const productType = "Books"; if(productType.length) { promoData.creative += " " + productType; } } dataLayer.push({ecommerce: null}); dataLayer.push({ 'event': 'promotionImpression', 'dimension5': wo?wo.dimension5:'', 'dimension6': wo?wo.dimension6:'', 'ecommerce': { 'promoView': { 'promotions': [ promoData ] } } }); } function addProductImpressions(productsData) { const wo = window.google_object?window.google_object:null; dataLayer.push({ecommerce: null}); dataLayer.push({ 'event': 'productImpression', 'dimension5': wo?wo.dimension5:'', 'dimension6': wo?wo.dimension6:'', 'ecommerce': { 'currencyCode': wo?wo.currency:'', 'products': productsData } }); } </script> <script language="javascript"> function displayHelp(helpSection) { displayHelpSection(helpSection, "policies", "#"); if (window.BKT_GLOBALS.isMobileSession && !($(`#${helpSection}`).hasClass("accessing-digital-products"))) { $('html, body').animate({ scrollTop: $("a[name='content']").offset().top }, 500); } } jQuery(function() { initHelpLinks(); const validPt = ["eTextbook", "eBook", "Audiobook", "Subscription"], validDt = ["Android", "Apple", "Computer", "eReader"]; if (!triggerHelpLink("terms")) { displayHelp("terms"); } if (window.BKT_GLOBALS.isMobileSession) { $('#product-type-selection').show(); } }); </script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"errorBeacon":"bam.nr-data.net","licenseKey":"18e954a8c4","agent":"","beacon":"bam.nr-data.net","applicationTime":36,"applicationID":"457372","transactionName":"Z1FVY0FZXEZQBUEKCl4bZEdBUVxScglbFxdfWFtSQRdaUF0WdgYLREZSGVZIEh12I2FK","queueTime":0}</script> <!-- Emarsys JavaScript API Header code. Loads the scarab-v2.js --> <script type="text/javascript"> var ScarabQueue = ScarabQueue || []; (function(id) { if(isBotUserAgent()) return; if (document.getElementById(id)) return; var js = document.createElement('script'); js.id = id; js.src = '//cdn.scarabresearch.com/js/189BDB0239BB84D9/scarab-v2.js'; var fs = document.getElementsByTagName('script')[0]; fs.parentNode.insertBefore(js, fs); })('scarab-js-api'); </script> <!-- [WEB-1422] Emarsys JavaScript API code. See booktopia.common.js --> <script type="text/javascript"> window.addEventListener('emarsysTracking', function(customerSession) { emarsysInit(customerSession.detail); }) var emarsysEnabled = true; function emarsysInit(ajaxCustomerSession){ pushEmarsysData(ajaxCustomerSession) } function pushEmarsysData(ajaxCustomerSession) { emarsysPushDefault(ajaxCustomerSession.emarsysCustomerUid,'false','false'); } </script> <div class="persistent-nav-bar"> <div class="persistent-nav-bar-inner"> <button class="sidenav-menu-switch"> <i class="icon-menu-new"></i> <span>ALL CATEGORIES</span> </button> <div class="persistent-search-box"></div> <div class="persistent-cart-summary"></div> </div> </div><script type="text/javascript"> if (!isTouchDevice()) { jQuery(window).on('scroll', function() {togglePersistentNavBar();}); } </script> </body> </html>

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