CINXE.COM
Games & Puzzles | Booktopia | Buy Online | Australia
<!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>Games & Puzzles | Booktopia | Buy Online | Australia</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta property="og:description" content="Booktopia - Buy Games and Puzzles books online from Australia's leading online bookstore. Discount Games and Puzzles books and flat rate shipping of $9.99 per online book order."> <meta name="description" content="Explore our huge range of exciting board games and puzzles, including strategy and role playing games (RPGs), Dungeons & Dragons (D&D), bingo, card games and more." /> <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="preconnect" href="https://cdn.flavedo.io" crossorigin/> <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: "",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 + '>m_auth=CYkt4R7ZvVvpqpVwuMhNgw>m_preview=env-2>m_cookies_win=x'; f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-N74L7GH'); </script> <link rel="stylesheet" href="/wro/5148/booktopia.desktop.category-landing.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> <link rel="canonical" href="https://www.booktopia.com.au/books/games-and-puzzles/cGMP-p1.html"/> <link rel="next" href=" /books/games-and-puzzles/cGMP-p2.html"/> </head> <body id="" class=" "> <script> var currentPageNav = ""; </script> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N74L7GH>m_auth=CYkt4R7ZvVvpqpVwuMhNgw>m_preview=env-2>m_cookies_win=x" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <style> #education-central-intro{color:#fff;padding-top: 30px;} #education-central-intro>h1{text-shadow:0px 0px 50px #000;} #why-booktopia h2{font-size:26px;margin-bottom:30px;} #why-booktopia span{font-size:90px;margin-bottom:10px;display:inline-block;transition: color 0.3s ease-in-out;} #why-booktopia h3{margin-bottom:5px;} #why-booktopia p{color:#808080;} .feature-box {background: #f7f7f7;height: 200px;} .feature-images {background: #ebebeb;border:none;height: 144px;overflow: hidden;position: relative;} .feature-images .feature-image-1 {bottom: 0;left: 50%;transform: translateX(-50%);z-index: 99;} .feature-images img {display: block;height: 120px;position: absolute; transition: all 0.3s ease-out} .feature-images .feature-image-2 {bottom: -10px;left: 20px; transform: none;} .feature-images .feature-image-3 {bottom: -10px;right: 20px;transform: none; left:auto;} .feature-box h2 {font-size: 17px;height: 53px;line-height: 23px;margin-top: 15px;position: relative;text-align: center;} .custom-category-block-links {border-top:4px solid #f4f4f4;} .custom-category-block>div {position:relative;} .university-category-blocks p {color: #808080;} .custom-category-block .custom-quick-links-tiles .quick-links-thumbnail {background-color:unset;flex-direction:column;overflow:visible;text-align:center;justify-content:flex-end;} .custom-category-block .quick-links-thumbnail:after{content:unset;} .quick-links-thumbnail{height:100%;} .quick-links-thumbnail .link-name {padding-top:10px;color:#333;} .product-carousel-7 h2.dual {margin-top:0;} .product-carousel-7 h2{padding:0;border:none;font-size: 18px;} #body .custom-category-block .university-category-blocks.custom-category-block-links.visible {background-size: cover;} p{margin:0;} #education-central-intro>*{display:inline-block;} .quick-links-tiles>li>a:hover:after{bottom:0px;} .quick-links-tiles>li>a:hover{color:#009933;} .quick-links-tiles>li>a:hover>span{margin-left:10px;transform: translateX(5px); color:#009933;} .quick-links-thumbnail img {max-width:150px;max-height:180px;border-radius:2px;} .view-more a:hover{box-shadow: inset 200px 0px 0px #009933; color: #fff;} .view-more.long a:hover {box-shadow: inset 500px 0px 0px #009933;color: #fff;} .custom-category-block .category-see-more {position:absolute;right:16px;top:20px;z-index:2;border-radius:8px;} #education-central-head .container{background: rgba(255,255,255,0.2);} .feature-images:hover .feature-image-2{left:30px;} .feature-images:hover .feature-image-3{right:30px;} .feature-images:hover .feature-image-1{height:130px;} #university-carousel h3{font-size:24px;} #why-booktopia span:hover{color: #78ba22;} </style> <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> </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 ></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 ></a> </div> </div> </div> </li> <li ><a href="/?audiobooks" onclick="checkLatestKeywords(this, '917510')"><span class="navLink">AUDIOBOOKS</span></a></li> <li class="selected"><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" class="next-selected" ><a href="/?audiobooks" onclick="checkLatestKeywords(this, '917510')"><span class="navLink">AUDIOBOOKS</span></a></li> <li id="nav-games-toys-puzzles" class="selected" ><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"></span> <span id="numItemsUnits"></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=""/> </form> <div class="clearfix"></div> </div> </div> <div id="sub-nav" class=" fluid-sub-nav header-version-default-item"> <div class="content"> <div class="dcjq-mega-menu"> <ul id="hover-menu-top" class="menu"> <li><a href="/books/games-and-puzzles/board-games/cGMPA-p1.html">BOARD GAMES</a></li> <li><a href="/books/games-and-puzzles/card-games/cGMPB-p1.html">CARD GAMES</a></li> <li><a href="/books/games-and-puzzles/puzzles/cGMPC-p1.html">PUZZLES</a></li> <li><a href="/books/games-and-puzzles/figurines-collectables/cGMPD-p1.html">FIGURINES & COLLECTABLES</a></li> <li><a href="/books/games-and-puzzles/activities/cGMPE-p1.html">ACTIVITIES</a></li> </ul> </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">© 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 & 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-fluid" > <section id="education-central-head" class=""> <div class="container px-md-3"> <div id="breadcrumbs" data-mh-pe="eventDetailsNav" data-mh-ec="Details - Navigation" data-mh-ea="Top breadcrumb click" data-dimension-16to18 data-dimension-28 > <a href="/?books"> Books </a> > <a href="/books/games-and-puzzles/cGMP-p1.html">Games and Puzzles</a> </div> <div id="education-central-intro" class="mb-4"> <h1>Games and Puzzles</h1> <div class="view-more"><a href="/books-online/games-and-puzzles/cGMP-p1.html?sorter=sortorder-en-dsc">See All</a></div> </div> <ul id="head-quick-links" class="bx-quick-links-tiles quick-links-tiles row pb-4 px-md-2" data-mh-pe="eventOnClick" data-mh-ec="Section click" data-mh-ea="Click" data-dimension-16to18> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/board-games/cGMPA-p1.html">Board Games <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/puzzles/puzzles-for-adults/cGMPCA-p1.html">Puzzles for Adults <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/card-games/family-card-games/cGMPBC-p1.html">Family Card Games <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/search.ep?keywords=Dungeons+and+Dragons+&productType=917504">Dungeons & Dragons <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/board-games/role-playing-games/cGMPAE-p1.html">Role Playing Games <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/puzzles/puzzles-for-kids/cGMPCB-p1.html">Puzzles for Kids <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/figurines-collectables/cGMPD-p1.html">Figurines & Collectables <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/search.ep?pn=1&productType=917504&keywords=Bingo">Bingo <span class="icon-arrow-right8"></span></a></li> </ul> </div> </section> <div id="body" class="container px-0 "> <script> window.addEventListener('DOMContentLoaded', function() { var pathfinder = $('.row.px-3.px-md-0 .col-6:nth-child(1) .feature-images a'); pathfinder.append('<img class="feature-image-1" src="//covers.booktopia.com.au/150/9781601255389/0000/pathfinder-flip-mat.jpg"><img class="feature-image-2" src="//covers.booktopia.com.au/150/9781922615152/7807/thinks-he-s-a-bird.jpg"><img class="feature-image-3" src="//covers.booktopia.com.au/150/9781640781689/2529/pathfinder-core-rulebook-p2-.jpg">'); }); </script> <style> #education-central-head { color: #fff; background: url(https://www.booktopia.com.au/images/assets/landing-pages/games-toys-puzzles/header.jpg) no-repeat center; } h2 { font-size: 24px; } #gift-guide-content > .container { display: none; } #refinements-links { margin-bottom: 2rem !important; } #refinements-links > .container > .row { padding: 0 10px; } .refinements { min-height: 679px !important;} .refinements h4 { font-size: 24px;} .refinements h4:nth-child(3), .refinements h4:nth-child(7) { margin-top: 30px; } .refinements li { margin-bottom: 5px; border-bottom: 1px solid #ccc; padding: 8px 0; } .feature-box { height: auto;} #body .university-category-blocks0.visible, html.ie .university-category-blocks0 { background: url(https://www.booktopia.com.au/images/assets/landing-pages/games-toys-puzzles/for-kids-families.jpg) no-repeat; } .search-module form input[type="Submit"]:hover { box-shadow: inset 270px 0px 0px #075f20; } body { font-size: 14px; } #education-central-head { background-position: top center; background-size: cover; } #breadcrumbs, #breadcrumbs a, #breadcrumbs a:visited, #breadcrumbs a:hover { background-color: transparent; border: 0; color: #fff; padding-left: 0; } #education-central-intro { display: flex; justify-content: space-between; } #education-central-intro .view-more a { border: 2px solid #fff; color: #fff; margin: 0; } .quick-links-tiles > li { font-size: 15px; padding: 8px; } .quick-links-tiles > li > a { position: relative; overflow: hidden; transition: all 0.3s ease-in-out; font-weight: bold; background: #fff; display: flex; padding: 0px 15px; text-decoration: none; color: #333; align-items: center; min-height: 55px !important; justify-content: space-between; padding-right: 5px; font-size: initial !important; } .quick-links-tiles > li > a > span { float: right; font-size: 1.8em; transform: none; transition: all 0.2s linear; color: inherit; } .quick-links-tiles > li > a:after { content: ""; height: 4px; width: 100%; position: absolute; bottom: -4px; left: 0; background: #009933; transition: all 0.2s linear; } .quick-links-tiles > li > a:hover { color:#009933; } .quick-links-tiles > li > a:hover:after { bottom:0px; } .quick-links-tiles > li > a:hover > span { margin-left: 0; } .quick-links-tiles.gray > li > a { background: #f4f4f4; } #landing-page-whats-hot h2.dual { display: none; } #refinements-links .container { background: #fff; } .refinements { background: #eee; } .refinements h4 { text-transform: lowercase; } .refinements h4:first-letter { text-transform: uppercase; } .refinements h4:nth-child(5) { display: none; } .refinements #price li:last-child { border-bottom: 0; } #lists .refinement-detail-list li:first-child a { font-weight: bold; } .refinements a { color: inherit; } .refinements a:hover { text-decoration: none; } #availability { display: none; } .search-module { background: #eee; } .search-module form input { width: 100%; } #textbook-search-input { margin: 0; font-size: 16px; height: 50px; border: none; vertical-align: top; padding: 0px 10px; } .search-module form input[type="Submit"] { transition: box-shadow 0.5s linear; background: #009933; display: inline-block; padding: 0; border: none; text-transform: uppercase; color: #fff; height: 50px; vertical-align: top; margin: 0; padding: 0px 30px; font-size: 18px; } .search-module form input[type="Submit"]:hover { box-shadow:inset 250px 0px 0px #075f20; } .feature-box a { text-decoration: none; } .feature-images { height: 154px; } .feature-images img { height: 130px; } .feature-images:hover .feature-image-1 { height:140px; } .feature-images:hover .feature-image-2 { left:30px; } .feature-images:hover .feature-image-3 { right:30px; } .feature-box a, .feature-box a:visited, .feature-box a:hover { color: #53565A; } .university-category-blocks > h2 { color: #fff; margin-top: 1rem; margin-bottom: 1rem;} .university-category-blocks .product-carousel-7 h2 { margin-top: 40px; } .university-category-blocks0 .view-more { display: none; } </style> <section id="landing-page-whats-hot" class="carousel p-3"> <div class="gg-carousel pb-0"> <h2>Trending in Games & Puzzles</h2> <div id="car-product" class="product-carousel dynamic-carousel product-carousel-7 " data-size="7" data-details="true" data-mh-pe="eventOnClick" data-mh-ec="Carousel" data-dimension-16to18 > <ul class="jcarousel-skin-booktopia" onclick="buyButtonClickHandlerDelegate(event)"> <li > <div class="product"> <div class="image" > <div class="product-badges"> </div> <a data-mh-productclick href="/poo-bingo-claudia-boldt/book/9781786277466.html" target="_parent" > <img class="lazyload " src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/covers/110/9781786277466/1717/poo-bingo.jpg" alt="Poo Bingo : Magma for Laurence King - Claudia Boldt" > </a> </div> <div class="product-details"> <div class="title"> <a data-mh-productclick class="title" target="_parent" href="/poo-bingo-claudia-boldt/book/9781786277466.html" data-mh-ea="Product Click">Poo Bingo</a> <br><a data-mh-productclick class="subtitle" target="_parent" href="/poo-bingo-claudia-boldt/book/9781786277466.html" data-mh-ea="Product Click">Magma for Laurence King</a> </div> <div class="binding"> Game </div> </div> <div class="reviews-rating"> <a href='/poo-bingo-claudia-boldt/book/9781786277466.html'><div class="pr-snippet"> <div class="pr-snippet-wrapper"> <div class="pr-snippet-stars"> <div class="pr-stars pr-stars-small" style="background-position: 0px -160.0px;"> </div> <div class="review-count">(10<span class="review-count-text"> reviews</span>)</div> </div> </div> </div> </a> </div> <div class="delivery"><div class="in-stock"><span class="icon-check-circle"></span> In Stock</div></div> <div class="price"> <div class="rrp"> RRP <span class="strike">$39.99</span> </div> <div class="sale-price">$35.35</div> </div> <div class="buy-button"> <a class="buy-now button" href="javascript:void(0)" data-id="48732827" data-formattedavailabledate="" data-hasstockavailable="true" data-code="9781786277466" data-binding="GM" data-lang="ENG" data-publisher-name="${publisherName}" data-supplier-item-status="AC" data-show-product-popup="false" data-product-data='{"name": "Poo Bingo","id": "48732827","price": "35.35","brand": "Claudia Boldt, Aidan Onn","category": "Books > Games and Puzzles","variant": "Game","position": "1","quantity": "1","dimension1": "in stock","dimension3": "Ships 1-2 Days","dimension4": "false","dimension10": "true","dimension11": "4.5","dimension19": "","dimension20": "","dimension21": "","dimension22": "","dimension23": "","dimension24": "false","dimension25": "","dimension26": "","dimension27": "CC|PayPal|Afterpay|Bank Transfer|Visa Checkout","list": "Carousel"}' ><span class="button-text">BUY NOW</span><span class="icon icon-cart"></span> </a> </div> </div> </li> <li > <div class="product"> <div class="image" > <div class="product-badges"> </div> <a data-mh-productclick href="/299-cats-and-a-dog-a-feline-cluster-puzzle-lea-maupetit/book/9781786276582.html" target="_parent" > <img class="lazyload " src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/covers/110/9781786276582/2906/299-cats-and-a-dog-a-feline-cluster-puzzle.jpg" alt="299 Cats (and a dog) - A Feline Cluster Puzzle : 300-Piece Shaped Jigsaw Puzzle - Lea Maupetit" > </a> </div> <div class="product-details"> <div class="title"> <a data-mh-productclick class="title" target="_parent" href="/299-cats-and-a-dog-a-feline-cluster-puzzle-lea-maupetit/book/9781786276582.html" data-mh-ea="Product Click">299 Cats (and a dog) - A Feline Cluster Puzzle</a> <br><a data-mh-productclick class="subtitle" target="_parent" href="/299-cats-and-a-dog-a-feline-cluster-puzzle-lea-maupetit/book/9781786276582.html" data-mh-ea="Product Click">300-Piece Shaped Jigsaw Puzzle</a> </div> <div class="binding"> Puzzle </div> </div> <div class="reviews-rating"> <a href='/299-cats-and-a-dog-a-feline-cluster-puzzle-lea-maupetit/book/9781786276582.html'><div class="pr-snippet"> <div class="pr-snippet-wrapper"> <div class="pr-snippet-stars"> <div class="pr-stars pr-stars-small" style="background-position: 0px -178.0px;"> </div> <div class="review-count">(6<span class="review-count-text"> reviews</span>)</div> </div> </div> </div> </a> </div> <div class="delivery"><div class="in-stock"><span class="icon-check-circle"></span> In Stock</div></div> <div class="price"> <div class="rrp"> RRP <span class="strike">$39.99</span> </div> <div class="sale-price">$35.35</div> </div> <div class="buy-button"> <a class="buy-now button" href="javascript:void(0)" data-id="48490978" data-formattedavailabledate="" data-hasstockavailable="true" data-code="9781786276582" data-binding="ZJ" data-lang="ENG" data-publisher-name="${publisherName}" data-supplier-item-status="AC" data-show-product-popup="false" data-product-data='{"name": "299 Cats (and a dog) - A Feline Cluster Puzzle","id": "48490978","price": "35.35","brand": "Lea Maupetit","category": "Books > Games and Puzzles","variant": "Puzzle","position": "2","quantity": "1","dimension1": "in stock","dimension3": "Ships 1-2 Days","dimension4": "false","dimension10": "true","dimension11": "5.0","dimension19": "","dimension20": "Lea Maupetit","dimension21": "","dimension22": "","dimension23": "","dimension24": "false","dimension25": "","dimension26": "","dimension27": "CC|PayPal|Afterpay|Bank Transfer|Visa Checkout","list": "Carousel"}' ><span class="button-text">BUY NOW</span><span class="icon icon-cart"></span> </a> </div> </div> </li> <li > <div class="product"> <div class="image" > <div class="product-badges"> </div> <a data-mh-productclick href="/dinner-with-matisse-puzzle-iratxe-l-pez-de-mun-in/book/9781760762728.html" target="_parent" > <img class="lazyload " src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/covers/110/9781760762728/8014/dinner-with-matisse-puzzle.jpg" alt="Dinner with Matisse - Puzzle : A 1000-Piece Dinner Date Jigsaw Puzzle - Iratxe López de Munáin" > </a> </div> <div class="product-details"> <div class="title"> <a data-mh-productclick class="title" target="_parent" href="/dinner-with-matisse-puzzle-iratxe-l-pez-de-mun-in/book/9781760762728.html" data-mh-ea="Product Click">Dinner with Matisse - Puzzle</a> <br><a data-mh-productclick class="subtitle" target="_parent" href="/dinner-with-matisse-puzzle-iratxe-l-pez-de-mun-in/book/9781760762728.html" data-mh-ea="Product Click">A 1000-Piece Dinner Date Jigsaw Puzzle</a> </div> <div class="binding"> Puzzle </div> </div> <div class="reviews-rating"> <a href='/dinner-with-matisse-puzzle-iratxe-l-pez-de-mun-in/book/9781760762728.html'><div class="pr-snippet"> <div class="pr-snippet-wrapper"> <div class="pr-snippet-stars"> <div class="pr-stars pr-stars-small" style="background-position: 0px -178.0px;"> </div> <div class="review-count">(3<span class="review-count-text"> reviews</span>)</div> </div> </div> </div> </a> </div> <div class="delivery"><div class="in-stock"><span class="icon-check-circle"></span> In Stock</div></div> <div class="price"> <div class="rrp"> RRP <span class="strike">$34.99</span> </div> <div class="sale-price">$31.75</div> </div> <div class="buy-button"> <a class="buy-now button" href="javascript:void(0)" data-id="51260507" data-formattedavailabledate="" data-hasstockavailable="true" data-code="9781760762728" data-binding="ZJ" data-lang="ENG" data-publisher-name="${publisherName}" data-supplier-item-status="AC" data-show-product-popup="false" data-product-data='{"name": "Dinner with Matisse - Puzzle","id": "51260507","price": "31.75","brand": "Iratxe L\\u00F3pez de Mun\\u00E1in","category": "Books > Games and Puzzles","variant": "Puzzle","position": "3","quantity": "1","dimension1": "in stock","dimension3": "Ships 1-2 Days","dimension4": "false","dimension10": "true","dimension11": "5.0","dimension19": "","dimension20": "","dimension21": "","dimension22": "","dimension23": "","dimension24": "true","dimension25": "","dimension26": "","dimension27": "CC|PayPal|Afterpay|Bank Transfer|Visa Checkout","list": "Carousel"}' ><span class="button-text">BUY NOW</span><span class="icon icon-cart"></span> </a> </div> </div> </li> <li > <div class="product"> <div class="campaign-badge-wrapper"> <div style="background-color: #009933" class="campaign-badge-background"> <div class="campaign-badge-text" style="color: #009933"> BLACK FRIDAY </div> </div> </div> <div class="image" style="outline: 1px solid rgba(255,255,255,0.5); box-shadow: 0 0 0 1px #009933"> <div class="product-badges"> </div> <a data-mh-productclick href="/pathfinder-beginner-box-p2--logan-bonner/book/9781640782846.html" target="_parent" style="outline: 1px solid rgba(255,255,255,0.5); box-shadow: 0 0 0 1px #009933"> <img class="lazyload " src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/covers/110/9781640782846/4105/pathfinder-beginner-box-p2-.jpg" alt="Pathfinder Beginner Box (P2) - Logan Bonner" > </a> </div> <div class="product-details"> <div class="title"> <a data-mh-productclick class="title" target="_parent" href="/pathfinder-beginner-box-p2--logan-bonner/book/9781640782846.html" data-mh-ea="Product Click">Pathfinder Beginner Box (P2)</a> </div> <div class="binding"> Game </div> </div> <div class="reviews-rating"> <a href='/pathfinder-beginner-box-p2--logan-bonner/book/9781640782846.html'><div class="pr-snippet"> <div class="pr-snippet-wrapper"> <div class="pr-snippet-stars"> <div class="pr-stars pr-stars-small" style="background-position: 0px -178.0px;"> </div> <div class="review-count">(1<span class="review-count-text"> review</span>)</div> </div> </div> </div> </a> </div> <div class="delivery"><div class="in-stock"><span class="icon-check-circle"></span> In Stock</div></div> <div class="price"> <div class="rrp"> RRP <span class="strike">$80.99</span> </div> <div class="sale-price">$44.75</div> <div class="save">45%<br>OFF</div> </div> <div class="buy-button"> <a class="buy-now button" href="javascript:void(0)" data-id="49047671" data-formattedavailabledate="" data-hasstockavailable="true" data-code="9781640782846" data-binding="GM" data-lang="ENG" data-publisher-name="${publisherName}" data-supplier-item-status="AC" data-show-product-popup="false" data-product-data='{"name": "Pathfinder Beginner Box (P2)","id": "49047671","price": "44.75","brand": "Logan Bonner, Jason Bulmahn, Lyz Liddell, Mark Seifter","category": "Books > Games and Puzzles","variant": "Game","position": "4","quantity": "1","dimension1": "in stock","dimension3": "Ships 1-2 Days","dimension4": "false","dimension10": "true","dimension11": "5.0","dimension19": "","dimension20": "","dimension21": "","dimension22": "","dimension23": "","dimension24": "false","dimension25": "","dimension26": "","dimension27": "CC|PayPal|Afterpay|Bank Transfer|Visa Checkout","list": "Carousel"}' ><span class="button-text">BUY NOW</span><span class="icon icon-cart"></span> </a> </div> </div> </li> <li > <div class="product"> <div class="image" > <div class="product-badges"> </div> <a data-mh-productclick href="/dune-house-secrets-strategy-board-game-portal-games/book/5902560384192.html" target="_parent" > <img class="lazyload " src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/covers/110/5902560384192/8819/dune-house-secrets-strategy-board-game.jpg" alt="Dune House Secrets - Strategy Board Game - Portal Games" > </a> </div> <div class="product-details"> <div class="title"> <a data-mh-productclick class="title" target="_parent" href="/dune-house-secrets-strategy-board-game-portal-games/book/5902560384192.html" data-mh-ea="Product Click">Dune House Secrets - Strategy Board Game</a> </div> <div class="binding"> Game </div> </div> <div class="reviews-rating"> </div> <div class="delivery"><div class="in-stock"><span class="icon-check-circle"></span> In Stock</div></div> <div class="price"> <div class="rrp"> RRP <span class="strike">$74.99</span> </div> <div class="sale-price">$55.75</div> <div class="save">26%<br>OFF</div> </div> <div class="buy-button"> <a class="buy-now button" href="javascript:void(0)" data-id="51966902" data-formattedavailabledate="" data-hasstockavailable="true" data-code="5902560384192" data-binding="GM" data-lang="ENG" data-publisher-name="${publisherName}" data-supplier-item-status="OP" data-show-product-popup="false" data-product-data='{"name": "Dune House Secrets - Strategy Board Game","id": "51966902","price": "55.75","brand": "Portal Games","category": "Books > Games and Puzzles","variant": "Game","position": "5","quantity": "1","dimension1": "in stock","dimension3": "Ships 1-2 Days","dimension4": "false","dimension10": "true","dimension11": "0.0","dimension19": "","dimension20": "","dimension21": "","dimension22": "","dimension23": "","dimension24": "false","dimension25": "","dimension26": "","dimension27": "CC|PayPal|Afterpay|Bank Transfer|Visa Checkout","list": "Carousel"}' ><span class="button-text">BUY NOW</span><span class="icon icon-cart"></span> </a> </div> </div> </li> <li > <div class="product"> <div class="image" > <div class="product-badges"> </div> <a data-mh-productclick href="/land-vs-sea-board-game-good-games-publishing/book/9369998088447.html" target="_parent" > <img class="lazyload " src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/covers/110/9369998088447/4210/land-vs-sea-board-game.jpg" alt="Land vs Sea - Board Game - Good Games Publishing" > </a> </div> <div class="product-details"> <div class="title"> <a data-mh-productclick class="title" target="_parent" href="/land-vs-sea-board-game-good-games-publishing/book/9369998088447.html" data-mh-ea="Product Click">Land vs Sea - Board Game</a> </div> <div class="binding"> Game </div> </div> <div class="reviews-rating"> </div> <div class="delivery"><div class="in-stock"><span class="icon-check-circle"></span> In Stock</div></div> <div class="price"> <div class="rrp"> RRP <span class="strike">$44.99</span> </div> <div class="sale-price">$40.95</div> </div> <div class="buy-button"> <a class="buy-now button" href="javascript:void(0)" data-id="51585588" data-formattedavailabledate="" data-hasstockavailable="true" data-code="9369998088447" data-binding="GM" data-lang="ENG" data-publisher-name="${publisherName}" data-supplier-item-status="AC" data-show-product-popup="false" data-product-data='{"name": "Land vs Sea - Board Game","id": "51585588","price": "40.95","brand": "Good Games Publishing","category": "Books > Games and Puzzles","variant": "Game","position": "6","quantity": "1","dimension1": "in stock","dimension3": "Ships 1-2 Days","dimension4": "false","dimension10": "true","dimension11": "0.0","dimension19": "","dimension20": "","dimension21": "","dimension22": "","dimension23": "","dimension24": "true","dimension25": "","dimension26": "","dimension27": "CC|PayPal|Afterpay|Bank Transfer|Visa Checkout","list": "Carousel"}' ><span class="button-text">BUY NOW</span><span class="icon icon-cart"></span> </a> </div> </div> </li> <li > <div class="product"> <div class="image" > <div class="product-badges"> </div> <a data-mh-productclick href="/d-d-players-handbook-dungeons-dragons/book/9780786965601.html" target="_parent" > <img class="lazyload " src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/covers/110/9780786965601/7308/d-d-players-handbook.jpg" alt="D &D Players Handbook : (Dungeons & Dragons Core Rulebook) - Dungeons & Dragons" > </a> </div> <div class="product-details"> <div class="title"> <a data-mh-productclick class="title" target="_parent" href="/d-d-players-handbook-dungeons-dragons/book/9780786965601.html" data-mh-ea="Product Click">D &D Players Handbook</a> <br><a data-mh-productclick class="subtitle" target="_parent" href="/d-d-players-handbook-dungeons-dragons/book/9780786965601.html" data-mh-ea="Product Click">(Dungeons & Dragons Core Rulebook)</a> </div> <div class="binding"> Hardcover </div> </div> <div class="reviews-rating"> <a href='/d-d-players-handbook-dungeons-dragons/book/9780786965601.html'><div class="pr-snippet"> <div class="pr-snippet-wrapper"> <div class="pr-snippet-stars"> <div class="pr-stars pr-stars-small" style="background-position: 0px -178.0px;"> </div> <div class="review-count">(3<span class="review-count-text"> reviews</span>)</div> </div> </div> </div> </a> </div> <div class="delivery"><div class="backorder"><span class="icon-calendar"></span> Available for Backorder</div></div> <div class="price"> <div class="rrp"></div> <div class="sale-price">$114.95</div> </div> <div class="buy-button"> <a class="back-order button" href="javascript:void(0)" data-id="31172363" data-formattedavailabledate="" data-hasstockavailable="false" data-code="9780786965601" data-binding="TC" data-lang="ENG" data-publisher-name="${publisherName}" data-supplier-item-status="AC" data-show-product-popup="false" data-product-data='{"name": "D &D Players Handbook","id": "31172363","price": "114.95","brand": "Dungeons & Dragons","category": "Books > Games and Puzzles","variant": "Hardcover","position": "7","quantity": "1","dimension1": "in stock","dimension3": "This title will be sourced from our supplier. If any issues, you will be contacted prior to your order being charged.","dimension4": "false","dimension10": "false","dimension11": "5.0","dimension19": "","dimension20": "","dimension21": "","dimension22": "","dimension23": "","dimension24": "false","dimension25": "","dimension26": "","dimension27": "CC|PayPal|Afterpay|Bank Transfer|Visa Checkout","list": "Carousel"}' ><span class="button-text">BACKORDER</span><span class="icon icon-cart"></span> </a> </div> </div> </li> </ul> </div> </div> </section> <section id="refinements-links"> <div class="container px-0 px-md-4"> <div class="row"> <div class="refinements col-3 py-4"> <h4>SUBJECTS</h4> <div id="subjects" class="refinement"> <ul class="refinement-detail-list"> <li><a href="/books-online/games-and-puzzles/board-games/cGMPA-p1.html">Board Games</a></li> <li><a href="/books-online/games-and-puzzles/card-games/cGMPB-p1.html">Card Games </a></li> <li><a href="/books-online/games-and-puzzles/puzzles/cGMPC-p1.html">Puzzles</a></li> <li><a href="/books-online/games-and-puzzles/figurines-collectables/cGMPD-p1.html">Figurines & Collectables</a></li> <li><a href="/books-online/games-and-puzzles/activities/cGMPE-p1.html">Activities</a></li> </ul> </div> <h4>LISTS</h4> <div id="lists" class="refinement" data-mh-pe="eventOnClick" data-mh-ec="Refine your results" data-mh-ea="Lists click" data-dimension-16to18 data-dimension-8to9> <ul class="refinement-detail-list"> <li><a href="/books/games-and-puzzles/cGMP-p1.html?$defaultQueryStringForFilters"> <span class="list-name" data-mh-el> All Books </span> <span class="results">(3080)</span></a></li> <li><a href="/books/games-and-puzzles/cGMP-p1.html?list=10" > <span class="list-name" data-mh-el> Australian Authors Books </span> <span class="results">(9)</span></a></li> <li><a href="/books/games-and-puzzles/cGMP-p1.html?list=13" id="reduced-to-clear"> <span class="list-name" data-mh-el> Hot Prices </span> <span class="results">(387)</span></a></li> </ul> </div> <h4>AVAILABILITY</h4> <div id="availability" class="refinement" data-mh-pe="eventOnClick" data-mh-ec="Refine your results" data-mh-ea="Availability click" data-dimension-16to18 data-dimension-8to9> <ul class="refinement-detail-list"> <li><a href="/books/games-and-puzzles/cGMP-p1.html?$defaultQueryStringForFilters"> <span class="list-name" data-mh-el> All Books </span> <span class="results">(3080)</span></a></li> <li><a href="/books/games-and-puzzles/cGMP-p1.html?list=2" > <span class="list-name" data-mh-el> New Releases </span> <span class="results">(44)</span></a></li> <li><a href="/books/games-and-puzzles/cGMP-p1.html?list=3" > <span class="list-name" data-mh-el> Coming Soon </span> <span class="results">(4)</span></a></li> <li><a href="/books/games-and-puzzles/cGMP-p1.html?list=9" > <span class="list-name" data-mh-el> Ready To Ship </span> <span class="results">(528)</span></a></li> </ul> </div> <h4>PRICE</h4> <div id="price" class="refinement" data-mh-pe="eventOnClick" data-mh-ec="Refine your results" data-mh-ea="Price click" data-dimension-16to18 data-dimension-8to9> <ul class="refinement-detail-list"> <li><a href="/books/games-and-puzzles/cGMP-p1.html?priceFilters=price-lessthan-AUD-5" rel="nofollow"><span data-mh-el>Under $5</span> <span class="results">(6)</span></a></li> <li><a href="/books/games-and-puzzles/cGMP-p1.html?priceFilters=price-between-AUD-5-and-10" rel="nofollow"><span data-mh-el>$5 - $10</span> <span class="results">(40)</span></a></li> <li><a href="/books/games-and-puzzles/cGMP-p1.html?priceFilters=price-between-AUD-10-and-20" rel="nofollow"><span data-mh-el>$10 - $20</span> <span class="results">(423)</span></a></li> <li><a href="/books/games-and-puzzles/cGMP-p1.html?priceFilters=price-between-AUD-20-and-30" rel="nofollow"><span data-mh-el>$20 - $30</span> <span class="results">(633)</span></a></li> <li><a href="/books/games-and-puzzles/cGMP-p1.html?priceFilters=price-between-AUD-30-and-50" rel="nofollow"><span data-mh-el>$30 - $50</span> <span class="results">(1632)</span></a></li> <li><a href="/books/games-and-puzzles/cGMP-p1.html?priceFilters=price-between-AUD-50-and-100" rel="nofollow"><span data-mh-el>$50 - $100</span> <span class="results">(277)</span></a></li> <li><a href="/books/games-and-puzzles/cGMP-p1.html?priceFilters=price-morethan-AUD-100" rel="nofollow"><span data-mh-el>Over $100</span> <span class="results">(70)</span></a></li> </ul> </div> </div> <div class="links col-12 col-md-9 pr-md-0"> <h2 class="px-3 px-md-0 mt-4 mb-0">Popular in Games & Puzzles</h2> <div id="top-small-crowns"> <div class="row px-3 px-md-0"> <div class="col-6 col-md-4 pt-3 pt-md-0"> <div class="feature-box mt-md-3 mb-md-2"> <div class="feature-images"> <a href="/search.ep?keywords=Pathfinder&productType=917504"> </a> </div> <h2><a href="/search.ep?keywords=Pathfinder&productType=917504">Pathfinder</a></h2> </div> </div> <div class="col-6 col-md-4 pt-3 pt-md-0"> <div class="feature-box mt-md-3 mb-md-2"> <div class="feature-images"> <a href="/books-online/games-and-puzzles/puzzles/puzzles-for-adults/1000-pieces/cGMPCAC-p1.html"> </a> </div> <h2><a href="/books-online/games-and-puzzles/puzzles/puzzles-for-adults/1000-pieces/cGMPCAC-p1.html">1000 Piece Puzzles</a></h2> </div> </div> <div class="col-6 col-md-4 pt-3 pt-md-0"> <div class="feature-box mt-md-3 mb-md-2"> <div class="feature-images"> <a href="/books-online/games-and-puzzles/puzzles/puzzle-accessories/cGMPCC-p1.html"> </a> </div> <h2><a href="/books-online/games-and-puzzles/puzzles/puzzle-accessories/cGMPCC-p1.html">Puzzle Accessories</a></h2> </div> </div> <div class="col-6 col-md-4 pt-3 pt-md-0"> <div class="feature-box mt-md-3 mb-md-2"> <div class="feature-images"> <a href="/books-online/games-and-puzzles/board-games/strategy-games/cGMPAA-p1.html"> </a> </div> <h2><a href="/books-online/games-and-puzzles/board-games/strategy-games/cGMPAA-p1.html">Strategy Board Games</a></h2> </div> </div> <div class="col-6 col-md-4 pt-3 pt-md-0"> <div class="feature-box mt-md-3 mb-md-2"> <div class="feature-images"> <a href="/books-online/games-and-puzzles/card-games/party-card-games/cGMPBA-p1.html"> </a> </div> <h2><a href="/books-online/games-and-puzzles/card-games/party-card-games/cGMPBA-p1.html">Party Card Games</a></h2> </div> </div> <div class="col-6 col-md-4 pt-3 pt-md-0"> <div class="feature-box mt-md-3 mb-md-2"> <div class="feature-images"> <a href="/books-online/games-and-puzzles/activities/buildable-kits/cGMPEE-p1.html"> </a> </div> <h2><a href="/books-online/games-and-puzzles/activities/buildable-kits/cGMPEE-p1.html">Buildable Activity Kits</a></h2> </div> </div> </div> </div> </div> </div> </div> </section> <section id="custom-block0" class="custom-category-block"> <div class="university-category-blocks university-category-blocks0 custom-category-block-links lazy-background px-3 pt-4"> <h2 class="mb-3">For Kids & Families</h2> <ul class="bx-quick-links-tiles block-main-links quick-links-tiles gray row pb-4 px-md-2" data-mh-pe="eventOnClick" data-mh-ec="For Kids & Families" data-dimension-16to18> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/puzzles/puzzles-for-kids/floor-puzzles/cGMPCBH-p1.html" data-mh-ea="Category Click">Kids Floor Puzzles <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/puzzles/puzzles-for-kids/less-than-60-pieces/cGMPCBA-p1.html" data-mh-ea="Category Click">Kids Small Puzzles <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/puzzles/puzzles-for-kids/500-pieces/cGMPCBE-p1.html" data-mh-ea="Category Click">Kids 500 Piece Puzzles <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/card-games/children-s-card-games/cGMPBD-p1.html" data-mh-ea="Category Click">Kids Card Games <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/board-games/family-games/cGMPAC-p1.html" data-mh-ea="Category Click">Family Board Games <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/card-games/family-card-games/cGMPBC-p1.html" data-mh-ea="Category Click">Family Card Games <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/activities/play-activities/cGMPED-p1.html" data-mh-ea="Category Click">Play Activities <span class="icon-arrow-right8"></span></a></li> <li class="col-6 col-sm-3"><a href="/books-online/games-and-puzzles/puzzles/puzzles-for-kids/wood-puzzles/cGMPCBF-p1.html" data-mh-ea="Category Click">Kids Wood Puzzles <span class="icon-arrow-right8"></span></a></li> </ul> </div> <div class="py-4 px-3"> <div id="car-list0" class="product-carousel dynamic-carousel product-carousel-7 " data-dynamic="ajax" data-details="short" data-list="0" data-category="GMP" data-batch="no" data-mh-pe="eventOnClick" data-mh-ec="Carousel - Popular in For Kids & Families" data-dimension-16to18 > <h2 class="dual"> <a href="/cGMP-p1.html?sorter=sortorder-en-dsc&list=0">Popular in For Kids & Families</a> </h2> <ul class="jcarousel-skin-booktopia" onclick="buyButtonClickHandlerDelegate(event)"> </ul> </div> <div class="text-center view-more long" data-mh-pe="eventOnClick" data-mh-ec="Button" data-mh-ea="Click"><a href="/cGMP-p1.html">View All in For Kids & Families</a></div> </div> </section> <section class="advertisement advertisement0 full-width landing-page-promo-dual row no-gutters px-md-3 py-md-3 text-center" data-mh-pe="eventOnClick" data-mh-ec="Promotion Tile" data-mh-ea="Tile click" data-dimension-16to18> <div class="col-12 col-sm-6 pb-3 pb-sm-0 pr-sm-2 pr-md-0"> <a href="/books-online/games-and-puzzles/board-games/classic-games/cGMPAF-p1.html" data-mh-el="/books-online/games-and-puzzles/board-games/classic-games/cGMPAF-p1.html"><img class="lazyload" src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/images/assets/landing-pages/games-toys-puzzles/classic-board-games.jpg" alt="Classic Board Games"></a> </div> <div class="col-12 col-sm-6 pl-sm-2 pl-md-0"> <a href="/books-online/games-and-puzzles/activities/cGMPE-p1.html" data-mh-el="/books-online/games-and-puzzles/activities/cGMPE-p1.html"><img class="lazyload" src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="https://www.booktopia.com.au/images/assets/landing-pages/games-toys-puzzles/activities.jpg" alt="Activities"></a> </div> </section> <div id="description" class="p-3"> <b>Games and Puzzles</b> <p class="pt-2"> Welcome to Booktopia's Games and Puzzles Paradise, where fun meets challenge and excitement knows no bounds! Step into a world of endless entertainment and mental stimulation as you explore our curated collection of games and puzzles, designed to delight players of all ages and interests. <br><br> From <a href="https://www.booktopia.com.au/books-online/games-and-puzzles/board-games/strategy-games/cGMPAA-p1.html">classic board games</a> that bring families together to brain-teasing puzzles that test your wits and logic, our selection offers something for everyone. Whether you're a seasoned gamer looking for your next obsession or a casual player seeking a fun way to pass the time, our Games and Puzzles Paradise has you covered. <br><br> Immerse yourself in the thrill of competition with our range of board games, <a href="https://www.booktopia.com.au/books/games-and-puzzles/cGMP-p1.html">card games</a>, and <a href="https://www.booktopia.com.au/books-online/games-and-puzzles/board-games/strategy-games/cGMPAA-p1.html">strategy games</a>, where every move counts and victory is always within reach. Gather your friends and family for a game night to remember, or challenge yourself to a solo adventure that will put your skills to the test. <br><br> But our collection goes beyond traditional games – we also offer a wide range of <a href="https://www.booktopia.com.au/books-online/games-and-puzzles/puzzles/puzzles-for-adults/1000-pieces/cGMPCAC-p1.html">puzzles</a> and brain teasers that are perfect for exercising your mind and honing your problem-solving skills. From <a href="https://www.booktopia.com.au/search.ep?keywords=jigsaw&productType=917504">jigsaw puzzles</a> and <a href="https://www.booktopia.com.au/search.ep?keywords=crossword&productType=917504">crossword puzzles</a> to <a href="https://www.booktopia.com.au/search.ep?keywords=sodoku&productType=917504">Sudoku</a> and <a href="https://www.booktopia.com.au/search.ep?keywords=logic+puzzles&productType=917504">logic puzzles</a>, our selection is sure to keep you entertained for hours on end. <br><br> At Booktopia, we're committed to providing high-quality games and puzzles at affordable prices, ensuring that everyone has access to the joy of play and the thrill of discovery. With fast shipping, easy returns, and a dedication to customer satisfaction, we're your trusted partner for all your gaming needs. <br><br> Dive into our Games and Puzzles Paradise today and embark on an adventure that will challenge, entertain, and inspire you. Whether you're playing solo or competing with friends, our collection is here to bring joy and excitement to every moment. Let the games begin! </p> </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" data-dimension-16to18 > <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&utm_medium=booktopian&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>© 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&guid=ON&script=0"/> </div> </noscript> </div> </div> <!-- 02e138218ac34772a8fff47fb09d0523 --> <!-- 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="9780786965601" 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"> document.addEventListener("DOMContentLoaded", function() { if(navigator.userAgent.indexOf('MSIE') > -1 || navigator.userAgent.indexOf('Trident') > -1) { $('.lazy-background').addClass('visible'); } else { var lazyBackgrounds = [].slice.call(document.querySelectorAll(".lazy-background")); if ("IntersectionObserver" in window) { let lazyBackgroundObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { entry.target.classList.add("visible"); if(true) { var promoEl = $(entry.target).parent('[data-promo-data]'); if(promoEl.length) { var promoData = promoEl.data('promo-data'); handlePromoImpression(promoData); } } lazyBackgroundObserver.unobserve(entry.target); } }); }); lazyBackgrounds.forEach(function(lazyBackground) { lazyBackgroundObserver.observe(lazyBackground); }); } else { $('.lazy-background').addClass('visible'); } } }); </script> <script> $(function() { if($('#top-small-crowns').length > 0) { let lazyTopSmallCrowns = [].slice.call(document.querySelectorAll('#top-small-crowns')); if ("IntersectionObserver" in window) { let lazyTopSmallCrownsObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { lazyTopSmallCrownsObserver.unobserve(entry.target); getTopSmallCrowns('302437330','917504'); } }); }); lazyTopSmallCrowns.forEach(function(lazyTopSmallCrown) { lazyTopSmallCrownsObserver.observe(lazyTopSmallCrown); }); } else { getTopSmallCrowns('302437330','917504'); } } }) function getTopSmallCrowns(categoryId, productTypeId) { if(categoryId && productTypeId) { $.ajax({ url: '/api/categorylandingpage', method: 'get', data: { 'categoryId': categoryId, 'productTypeId' : productTypeId, 'blockType': 'TOP SMALL CROWNS', 'version': 'v1' }, dataType: "json" }).done(function(response) { const crownData = response && response.data ? response.data.crowns : null; if(crownData && crownData.length > 0) { const crownContainer = $('#top-small-crowns'); let crownHtml = crownContainer[0].outerHTML, crownImages = $(crownHtml).find('.row > div[class*="col"]'); crownImages.each(function(index) { const _this = $(this), imageWrapper = _this.find('.feature-images a'), crown = crownData[index] ? crownData[index] : null, crownProducts = (crown && crown.products) ? crown.products : null; if(crownProducts && crownProducts.length > 0) { for(let i = 0; i < crownProducts.length; i++) { const featureImage = document.createElement('img'); featureImage.setAttribute('src', crownProducts[i].imgUrl); featureImage.classList.add(`feature-image-${(i + 1)}`); featureImage.setAttribute('alt', crownProducts[i].imgText); imageWrapper.append(featureImage); } } }); $(crownContainer).find('.row').html(crownImages); } }).fail(function(response){ console.warn(response); }).always(function() { $(document).trigger('topSmallCrownsLoaded'); }); } } </script> <script type="text/javascript"> function reportCitrusImpression(id) { if(isBotUserAgent()) return; if (typeof citrusAd !== 'undefined' && citrusAd) { citrusAd.reportImpression(id).then(function (result) { }).catch(function (error) { console.log('error ', error); }); } } </script> <script type="text/javascript"> function displayDeliveryIcon(){ var themeStyle = window.BKT_GLOBALS.occasion.theme, occasionName = window.BKT_GLOBALS.occasion.occasionName, style = 'style="'+ themeStyle +'"'; $('.delivery-icon,.arrives-by-text').remove(); var html = '<div class="delivery-icon" '+style+'><span><i class="icon-truck"></i></span></div><em class="arrives-by-text" '+style+'>Arrives by '+occasionName+'</em>'; var htmlWithText = '<div class="delivery-icon-pdp" '+style+'><i class="icon-truck"></i><span>Arrives By '+occasionName+'</span></div>'; if (window.BKT_GLOBALS.isMobileSession) { $('.delivery-icon-pdp').remove();//since we use this to display the ribbon, remove this before append $('.in-stock').closest('li.container').find('a').append(html); if($('#product-browse').length > 0 || $('#wishlist-container').length > 0) {//search grid or wishlist $('.in-stock').closest('.product').find('.image a').append(html); //in-stock with range $('.in-stock').closest('.product').find('.container-prod-details ').prepend(htmlWithText); } }else{ $('.in-stock').closest('.product').find('.image a').append(html); //in-stock with range } } </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.category-landing.js?v=dev-20241119152116", function(){ $(document).trigger('wroJsLoaded'); }); </script> <script type="text/javascript"> (function (a, b, c, d, e, f, g) { e['ire_o'] = c; e[c] = e[c] || function () { (e[c].a = e[c].a || []).push(arguments) }; f = d.createElement(b); g = d.getElementsByTagName(b)[0]; f.async = 1; f.src = a; g.parentNode.insertBefore(f, g); })('//d.impactradius-event.com/A1393524-e137-4555-83c9-d01ef05ce3901.js', 'script', 'ire', document, window); </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": "Category" }, }; </script> <script> var breadcrumbs = $('#breadcrumbs'), nav = "Category", 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": "Category" }, 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); if(isCustomerSessionLoaded) { extendedProductData.dimension2 = sessionDataAccountType; ga('enhancedEcommerce.ec:addImpression', MHExtendedProductData); ga('MHEnhancedEcommerce.ec:addImpression', MHExtendedProductData); MHLoadedCount++; } else { MHProductQueue.push(MHExtendedProductData); } 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){ if(!isCustomerSessionLoaded) { productEventQueue.push(loadedProducts); loadedProducts = []; return; } addProductImpressions(loadedProducts); loadedProducts = []; } } } }); let loadedProducts = []; let MHLoadedCount = 0; let MHProductQueue = []; let productEventQueue = [], promoEventQueue = [], isCustomerSessionLoaded = false, sessionDataAccountType = ""; $(document).on("customerSessionLoaded", function(event, customerSessionData) { isCustomerSessionLoaded = true, sessionDataAccountType = customerSessionData.accountType; let sessionDataCustomerUid = customerSessionData.customerUid; MHProductQueue.forEach(function(extendedProductData) { extendedProductData.dimension2 = sessionDataAccountType, extendedProductData.dimension6 = sessionDataCustomerUid; ga('enhancedEcommerce.ec:addImpression', extendedProductData); ga('MHEnhancedEcommerce.ec:addImpression', extendedProductData); 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; } }); productEventQueue.forEach(function(event) { addProductImpressions(event); }); promoEventQueue.forEach(function(event) { addPromoImpression(event); }); }); function handlePromoImpression(promoData) { if(!isCustomerSessionLoaded) { promoEventQueue.push(promoData); return; } 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> lazyLoadScript("https://assets.citrusad.net/citrusjs/0.3.1/citrus.js", function(){ citrusAd = CitrusAd.init("https://au-integration.citrusad.com/v1"); }) </script> <script type="text/javascript"> let citrusInitialised = false, bannerSlots = $('[data-citrus-banner]'), bannerIds = [], banners = null; bannerSlots.each(function(i,elem){ bannerIds.push($(elem).data('citrus-bannerid')) }) if (bannerIds.length > 0) { $.ajax({ url: '/api/citrus/banners/917504/category-landing-page', method: 'get', data: { 'filters': '302437330', 'bannerSlotIds': bannerIds.join(), 'version': 'v1' }, dataType: "json" }).done(function (response) { if(response.success) { const responseData = response.data, banners = responseData ? responseData.banners : null; citrusInitialised = true; let citrusCarouselCount = 0 if (banners && banners.length > 0) { banners.forEach(function (banner, index) { if (banner.slotId.includes("Carousel")) { let img = $('<img></img>').attr({'src': banner.imageUrl, 'id': 'sliderImg' + index, 'alt': banner.altText}), anchor = $('<a>').attr({'href': banner.linkUrl, 'id': banner.id, 'data-citrus-banner': "", 'data-citrus-impressed': "false", 'aria-hidden': 'true'}).append(img); const anchorWrapper = $('<div>').append(anchor.clone()), slider = $('#slider'), sliderPlaceholder = $('#slider-placeholder'); slider.append(anchorWrapper); if (citrusCarouselCount === 0) { anchor.attr('id', `${banner.id}-1`); sliderPlaceholder.append(anchor.clone()); if (sliderPlaceholder.visible()) { sliderPlaceholder.find('a:last-child').attr('data-citrus-impressed', 'true'); slider.find('a:first-child').attr('data-citrus-impressed', 'true'); reportCitrusImpression(banner.id); } sliderPlaceholder.find('a:first-child').hide(); } citrusCarouselCount++; } $('a[data-citrus-banner]').each(function (i) { const bannerContainer = $(this), id = bannerContainer.data('citrus-bannerid'), bannerSlotId = banner.slotId; if (id && bannerSlotId === id && !bannerSlotId.includes("Carousel")) { const citrusBanner = bannerContainer.find('img'); reportCitrusImpression(banner.id); let position = ''; if (bannerContainer.parent('.feature-box').length > 0) { position = 'Category Landing Page Blocks' } else if (bannerContainer.parent('.banner-middle-section').length > 0) { position = 'Category Banner Small Tiles' } const promoData = { 'id': banner.id, 'name': banner.altText.replace(/['"]/g, ''), 'creative': 'Citrus Books', 'position': position } bannerContainer.attr('data-promo-data', JSON.stringify(promoData)); if (citrusBanner.hasClass('loaded')) handlePromoImpression(promoData); bannerContainer.attr({href: banner.linkUrl, id: banner.id}).find('img').attr({alt: banner.altText}); citrusBanner.attr(citrusBanner.attr('src').indexOf('loading-cover-150.gif') > -1 ? 'data-src' : 'src', banner.imageUrl); citrusBanner.closest('a').attr('data-mh-el', banner.altText) } }) }) if (citrusCarouselCount > 1) { initSliderAsync(); } } if (citrusCarouselCount === 0) { jQuery('#slider-placeholder').find('a').show(); } } }).fail(function(response){ console.warn(response); }); $(document).on('click', '[data-citrus-banner]', function(e){ const _this = $(this), href = _this.attr('href'), citrusId = _this.attr('id') e.preventDefault(); reportCitrusClick(citrusId, href); setTimeout(function () { window.location.href = href; }, 1000) }); setTimeout(function () { if (!citrusInitialised) { $('#slider-placeholder').find('a').show(); } }, 1000) } </script> <script> jQuery( function() { if(window.location.hash) { var hash = window.location.hash.substring(1); if (hash === 'joined-bookclub') { var productCode = getParameterByName("code", window.location.search) addProductAfterOptIn(productCode, false, false) } else if(hash === 'join-bookclub'){ displayJoinBookClubModalOnRedirect(); } else if(hash === 'add-to-wishlist') { populateListISBN($('#product-hidden-isbn'), getParameterByName('code', window.location.search)); addProductToWishListPopup(); } if (!(navigator.userAgent.match(/msie/i))) { window.location.hash = ""; } } }) </script> <script type="text/javascript"> jQuery(function() { // initProductButtons(); initCarousels(3080, "917504"); }); jQuery(document).on('load', function() { initProductButtons(); }); </script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"errorBeacon":"bam.nr-data.net","licenseKey":"18e954a8c4","agent":"","beacon":"bam.nr-data.net","applicationTime":162,"applicationID":"457372","transactionName":"Z1FVY0FZXEZQBUEKCl4bdEJATF1YHjVQAhdTXHVFXE9BUHIJWxcXX1hbUkEXUVRFA1IMF0k=","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) { emarsysPushCategoryView(ajaxCustomerSession.emarsysCustomerUid,'GMP','false','false'); } </script> <template id="add-to-cart-templates-template" style="display: none"> <div id="add-to-cart-templates" class="b-modal side-panel-theme"> <div id="add-cart-popup" class="b-modal-content" data-mh-pe="eventCartActions" data-mh-ec="Details - Cart Actions" data-dimension-16to18 data-dimension-28> <button data-mh-ea="close" class="b-close-button b-modal-close"><i class="icon-cross"></i></button> <div id="add-cart-page-container"> <div id="shopping-cart-popup" class="popup-container"> <div class="header"> <div id="add-cart-page-placeholder"> <div id="add-cart-page-content" class="content"> <div id="add-cart-heading"> <i class="panel-icon icon-check d-none"></i> <h2 id="cartPopupTitle">Item Added to your Shopping Cart</h2> <template id="addToSubscriptionResult" style="display:none;"></template> <script> </script> <div id="item-added" data-binding="Hardcover" data-code="${cartProduct.code}" data-userid="0"> Item Added: <a href="${productUrl}" target="_parent" data-mh-ea=""></a> </div> </div> <div id="navigation" class="row no-gutters"> <div class="col-auto col-continue-shopping"> <a href="javascript:void(0)" class="continue-shopping-button bx-button bx-button-continue b-modal-close" data-mh-ea="Continue shopping"><span class="icon icon-cart"></span><span class="button-text">Continue Shopping</span></a> </div> <div class="col-auto col-cart-details"> <div id="cart-details"> <i class="panel-icon icon-shopping-cart d-none"></i> <a href="javascript:void(0)" onclick="viewCart()" id="cart"><span class="icon icon-cart"></span></a> <div class="cart-details-row"> <div id="items" data-quantity="0">0 item</div> <div id="subtotal">$0.00</div> </div> <a href="javascript:void(0)" data-mh-ea="View Shopping Cart" onclick="viewCart()">View Shopping Cart</a> </div> </div> <div class="col-auto col-view-cart"> <a href="javascript:void(0)" onclick="viewCart()" class="proceed-to-checkout-button bx-button bx-button-action"><span class="button-text" data-mh-ea="PROCEED TO CHECKOUT">Proceed to Checkout</span></a> </div> </div> <div id="cart-recommended"> </div> </div> </div> </div> </div> </div> </div> </div> </template> </div> <div id="add-cart-templates" style="display:none"> <div id="carousel-item-buy-now-short-template"> <div class="product"> <div class="image" > <div class="product-badges-empty"></div> <a data-mh-productclick href="${productUrl}" target="_parent" > <img class="lazyload " src="https://www.booktopia.com.au/images/loading-cover-150.gif" data-src="" alt="${altTag}" > </a> </div> <div class="reviews-rating"> </div> <div class="delivery"></div> <div class="price"> <div class="rrp"> RRP <span class="strike">${fmtRetailPrice}</span> </div> <div class="sale-price">${fmtSalePrice}</div> </div> <div class="buy-button"> <a class="buy-now button" href="javascript:void(0)" data-id="${uidPk}" data-formattedavailabledate="${formattedDateIfInFuture}" data-hasstockavailable="${hasStockAvailable}" data-code="${isbn}" data-binding="${binding}" data-lang="${language}" data-publisher-name="${publisherName}" data-supplier-item-status="${supplierItemStatus}" data-show-product-popup="${showProductPopup}" data-category="Books > Games and Puzzles" ><span class="button-text">BUY NOW</span><span class="icon icon-cart"></span> </a> </div> </div> </div> </div> <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>