CINXE.COM
Harlequin.com
<!-- mainHtml.vm --> <!DOCTYPE html> <!--[if !(IE 6) | !(IE 7) | !(IE 8) ]><!--> <html xmlns="https://www.w3.org/1999/xhtml" xmlns:og="https://ogp.me/ns#" xmlns:fb="https://www.facebook.com/2008/fbml" xmlns:book="https://ogp.me/ns/book#" xmlns:addthis="https://www.addthis.com/help/api-spec" xml:lang="en" lang="en"> <!--<![endif]--> <!-- doctype.vm --> <!-- homeLink https://www.harlequin.com/shop/index.html --> <head> <meta charset="utf-8" /> <meta http-equiv="x-ua-compatible" content="ie=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- TODO: Facebook tags --> <meta property="og:url" content="" /> <meta property="og:type" content="" /> <meta property="og:title" content="" /> <meta property="og:description" content="" /> <meta property="og:image" content="" /> <!-- TODO: Twitter tags --> <meta name="twitter:site" content="" /> <meta name="twitter:image" content="" /> <meta name="twitter:card" content="" /> <meta name="twitter:creator" content="" /> <title>Harlequin.com</title> <meta name='description' content='Visit the official Harlequin book site. See the newest novels, discuss with other book lovers, buy romance books online.' /> <script> !function(e){if(!window.pintrk){window.pintrk = function () { window.pintrk.queue.push(Array.prototype.slice.call(arguments))};var n=window.pintrk;n.queue=[],n.version="3.0";var t=document.createElement("script");t.async=!0,t.src=e;var r=document.getElementsByTagName("script")[0]; r.parentNode.insertBefore(t,r)}}("https://s.pinimg.com/ct/core.js"); pintrk('load', '2614058472554', {em: '$email'}); pintrk('page'); </script> <noscript> <img height="1" width="1" style="display:none;" alt="" src="https://ct.pinterest.com/v3/?event=init&tid=2614058472554&pd[em]=$email&noscript=1" /> </noscript> <!-- LiveConnectTag for advertisers --> <script type="text/javascript" src="//b-code.liadm.com/a-021e.min.js" async="true" charset="utf-8"></script> <!-- LiveConnectTag for advertisers --> <!-- Global site tag (gtag.js) - Google Ads: AW-1066987404 --> <script async src="https://www.googletagmanager.com/gtag/js?id=AW-1066987404"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config','AW-1066987404'); <!-- Event snippet for Page Views conversion page --> gtag('event', 'conversion', { 'send_to': 'AW-1066987404/-U5YCPDb9AEQjN_j_AM', 'value': 1.0, 'currency': 'CAD' }); </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){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=raJMhPi0XwctsaYKdF81VQ>m_preview=env-1>m_cookies_win=x';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NP3FG9X');</script> <!-- End Google Tag Manager --> <link rel="icon" href="https://www.harlequin.com/store/20160115001/responsive/assets/img/favicon/hqn_icon_red_white_bg.png"> <link rel="apple-touch-icon" sizes="any" href="https://www.harlequin.com/store/20160115001/responsive/assets/img/favicon/hqn_icon_red_white_bg.png"> <link rel="stylesheet" href="https://www.harlequin.com/store/20160115001/responsive/assets/css/app.css?v=20240608"> <link type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css" rel="stylesheet" /> <link rel="stylesheet" href="https://www.harlequin.com/store/20160115001/responsive/assets/scripts/slick/slick.css"> <link rel="stylesheet" href="https://www.harlequin.com/store/20160115001/responsive/assets/scripts/slick/slick-theme.css"> <script type="text/javascript" src="https://www.harlequin.com/store/20160115001/scripts/jquery/jquery.min.js?099b02f557da83a01eca886f070d6cac984b12c1"></script> <script type="text/javascript" src="https://www.harlequin.com/store/20160115001/scripts/main.js?ver=20210613"></script> <link rel="stylesheet" href="https://www.harlequin.com/store/20160115001/responsive/assets/css/algolia_styles.css?v=20230526"> <script> function imgError(image) { image.onerror = ""; image.src = "https://www.harlequin.com/store/20160115001/images/missing_cover_lg.png"; return true; } var formatNames = {}; formatNames['PB'] = 'Paperback'; formatNames['EB'] = 'eBook'; formatNames['HC'] = 'Hardcover'; formatNames['TP'] = 'Trade Paperback'; formatNames['LP'] = 'Larger Print'; formatNames['AB'] = 'Audiobook'; </script> <script> function authorImgError(image) { image.onerror = ""; return true; } </script> <!--[if IE 9]> <style> select { background-image: none !important; padding-right: 0.5rem !important; } </style> <![endif]--> <script> $('#MyRewardsBlock').show(); $('#MyRewardsBlock').append('<a href="myrewards.html?mt=loyalty" class="mega-link">My Rewards</a>'); </script> <!-- sub_socialLogin_native.vm --> <script type="text/javascript"> /** * * Facebook SSO */ function triggerFacebookLoginDialog() { //setTimeout(function(){ FB.login(myFacebook_statusChangeCallback); }, 1); FB.login(myFacebook_statusChangeCallback); return false; } function myFacebook_statusChangeCallback(response) { //console.log(response); if (response.status === 'connected') { // Logged into your app and Facebook. postFacebookLoginDoingSsoCheck(response); } else if (response.status === 'not_authorized') { // The person is logged into Facebook, but not your app. //document.getElementById('status').innerHTML = 'Please log ' + 'into this app.'; } else { // The person is not logged into Facebook, so we're not sure if // they are logged into this app or not. } } // This function is called when someone finishes with the Login // Button. See the onlogin handler attached to it in the sample // code below. function myFacebook_checkLoginState() { FB.getLoginStatus(function(response) { myFacebook_statusChangeCallback(response); }); } window.fbAsyncInit = function() { FB.init({ appId : 815927408545013 , //defining cookie true will cause slowness??? cookie : false, // enable cookies to allow the server to access the session //defining xfbml true will cause slowness??? xfbml : true, // parse social plugins on this page version : 'v2.2' // use version 2.2 }); FB.Event.subscribe('edge.create', function(url, htmlElement) { onFacebookEvent('like', url); }); FB.Event.subscribe('comment.create', function(url, htmlElement) { onFacebookCommentEvent('comment', url); }); }; //expect to be redefined in individual page var onFacebookEventListener = null; function onFacebookEvent(evt, evtSrc) { if (onFacebookEventListener != null) { onFacebookEventListener(evt, evtSrc); } }; var facebookCommentEventListener = null; function onFacebookCommentEvent(evt, evtSrc) { if((evt=="comment") && (facebookCommentEventListener!=null)) { facebookCommentEventListener(evt, evtSrc); } }; function openOwnFacebookShareDialog() { FB.ui( { method: 'feed', name: 'Facebook Dialogs', link: windows.location.href, //picture: 'https://fbrell.com/f8.jpg', //caption: 'Reference Documentation', description: 'Dialogs provide a simple, consistent interface for applications to interface with users.' }, function(response) { if (response && response.post_id) { //console.log('Post was published.'); onFacebookEvent('share', windows.location.href); } //else { console.log('Post was not published.'); } } ); } // Load the SDK asynchronously (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); var fbAuthResponseObject = null; function postFacebookLoginDoingSsoCheck(fbLoginStatusResponseObject) { fbAuthResponseObject = fbLoginStatusResponseObject; var fbLoginStatusResponseString = JSON.stringify( fbLoginStatusResponseObject ); // FB.api('/me', function(response) { // console.log('Successful fb login for user : ' + response); // checkSsoStatus(fbAuthResponseObject, response ); // }); var pms = getMememberTypeRedirect(); //alert ("mt=" + pms.mt + ", redirect=" + pms.redirecturl); jQuery.ajax( { type: "POST", dataType: 'json', async: false, url: "https://www.harlequin.com/social_facebook_login_authorized.html?mt=" + getMememberTypeRedirect().mt , data: { provider: 'facebook', providerLoginStatusResponse: fbLoginStatusResponseString, providerLoginStatus:true, providerUid: fbLoginStatusResponseObject.authResponse.userID, siteLoginStatus : false, timestampInSecond : 0, accessToken : fbLoginStatusResponseObject.authResponse.accessToken, action : 'socialFacebookAuthorized', actionResultCode : 0 }, success: function( ssoStatusResponse ) { //console.log("plain response =" + ssoStatusResponse); onLoginHandler_hqn(ssoStatusResponse); } }); } /** * Twitter SSO */ var twitterLoginPopup = null; function triggerTwitterLoginDialog() { twitterLoginPopup = window.open('', '_blank','location=1,titlebar=yes,width=500, height=400'); //avoid ad blocker twitterRequestToken(); } function twitterRequestToken() { jQuery.getJSON( "https://www.harlequin.com/social_twitter_req_token.html", { token: document.getElementById('loginBoxSocialMediaWrapperToken').innerHTML, signature: document.getElementById('loginBoxSocialMediaWrapperSignature').innerHTML, redirecturl: window.location.href, mt: getMememberTypeRedirect().mt }, function( data ) { //console.log("twitter request token done, redirect to twitter login page") //window.location = data; var good = false; if (data != null ) { var url = data.toLowerCase(); if (url.indexOf("twitter.") >-1) { good = true; twitterLoginPopup.location.href=data; } } if (!good) { location.reload(); //token expired?? } }); } </script> <script type="text/javascript" src="https://www.harlequin.com/store/20160115001/scripts/harlequin/socialLogin.js?v1.2"></script> <script type="text/javascript"> // ForeSee Production Embed Script v2.00 // DO NOT MODIFY BELOW THIS LINE ***************************************** ;(function (g) { var d = document, am = d.createElement('script'), h = d.head || d.getElementsByTagName("head")[0], fsr = 'fsReady', aex = { "src": "//gateway.foresee.com/sites/harlequin-ca/production/gateway.min.js", "type": "text/javascript", "async": "true", "data-vendor": "fs", "data-role": "gateway" }; for (var attr in aex){am.setAttribute(attr, aex[attr]);}h.appendChild(am);g[fsr] = function () {var aT = '__' + fsr + '_stk__';g[aT] = g[aT] || [];g[aT].push(arguments);}; })(window); // DO NOT MODIFY ABOVE THIS LINE ***************************************** </script> <script> function headerSignInToggle() { var headerSigninDropDownToggle = document.querySelector(".header-account-dropdown-toggle"); var navAccountDropdownLarge = document.querySelector(".nav-account-dropdown-large"); if (headerSigninDropDownToggle === null || navAccountDropdownLarge === null) { return; } // adjust dropdown position closer to toggle button navAccountDropdownLarge.style.top = "37px"; navAccountDropdownLarge.style.left = "70px"; headerSigninDropDownToggle.addEventListener('click', function () { var toggleAriaExpandedValue = this.getAttribute("aria-expanded"); if (toggleAriaExpandedValue == "true") { toggleAriaExpandedValue = "false"; navAccountDropdownLarge.setAttribute("aria-hidden", "true"); navAccountDropdownLarge.classList.remove("is-open"); } else { toggleAriaExpandedValue = "true"; navAccountDropdownLarge.setAttribute("aria-hidden", "false"); navAccountDropdownLarge.classList.add("is-open"); } this.setAttribute("aria-expanded", toggleAriaExpandedValue); }); }; if (document.readyState == 'loading') { // DOM not ready yet document.addEventListener('DOMContentLoaded', headerSignInToggle); } else { // DOM is ready headerSignInToggle(); } </script> <!-- OneTrust Cookies Consent Notice start for harlequin.com --> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="c1a7fc56-0e0e-43d9-82e8-b8cd04039d8a" ></script> <script type="text/javascript"> function OptanonWrapper() { } </script> <!-- OneTrust Cookies Consent Notice end for harlequin.com --> <script src="https://ak.sail-horizon.com/spm/spm.v1.min.js"></script> <script>Sailthru.init({ customerId:'cf155ee21bf9f2f9b9ed45b9b3800792' });</script> <script> function stSubscribeNewsletter(engagement_category, emailAddress, firstName, birthDay) { var d = new Date(); var firstName=firstName==null?'':firstName; var birthDay=birthDay==null?'':birthDay; var date = new Date(); var dateTimeFormat = new Intl.DateTimeFormat('en', { year: 'numeric', month: '2-digit', day: '2-digit' }); const [{ value: month },,{ value: day },,{ value: year }] = dateTimeFormat.formatToParts(date); console.log(year+'-'+month+'-'+day); var formatted_date=year+'-'+month+'-'+day; console.log('engagement_category='+engagement_category); console.log('emailAddress='+emailAddress); console.log('var optin_date='+formatted_date); console.log('var first_name='+firstName); console.log('var birth_date='+birthDay); Sailthru.integration("userSignUp", { "email" : emailAddress, "lists" : { "harlequin_news" : 1 // list to add user to }, "vars" : { "optin_date" : formatted_date, "first_name" : firstName, "birth_date" : birthDay, "user_optin_update": "true" }, "source" : engagement_category, "onSuccess" : function() { console.log('Thank you for signing up for our list'); window.location.href = "http://www.harlequin.com/shop/pages/newsletter-sign-up-confirmation.html"; }, "onError" : function() { console.log('We encountered an issue signing you up. Please try again'); } }); } function stUnSubscribeNewsletter(emailAddress) { console.log('newsletter unsubscribe emailAddress='+emailAddress); Sailthru.integration("userSignUp", { "email" : emailAddress, "lists" : { "harlequin_news" : 0 // list to remove user from }, "onSuccess" : function() { console.log('unsubscribed from newsletter succesfully'); window.location.href = "https://www.harlequin.com/shop/pages/unsubscribe-confirmation.html"; }, "onError" : function() { console.log('We encountered an issue unsubing you from newsletter. Please try again'); } }); } function stUnSubscribeGlobal(emailAddress) { console.log('global unsubscribe emailAddress='+emailAddress); Sailthru.integration("userSignUp", { "email" : emailAddress, "lists" : { "global unsub list" : 0 // list to remove user from (must exist in Sailthru account) }, "onSuccess" : function() { console.log('global unsubscribed succesfully'); }, "onError" : function() { console.log('We encountered an issue global unsubing you. Please try again'); } }); } </script> <script> !function (w, d, t) { w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)}; ttq.load('CFV5AQJC77UFDMGL7J4G'); ttq.page(); }(window, document, 'ttq'); </script><!-- header_cookies.vm --> <script type="text/javascript" src="https://www.harlequin.com/store/20160115001/scripts/base64.js"></script> <script type="text/javascript"> function getMyCookie(cname) { var name = cname + "="; var ca = document.cookie.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) != -1) return Base64.decode(c.substring(name.length,c.length)); } return ""; } function setBase64Cookie(cname, cvalue) { document.cookie = cname +"=" + Base64.encode(cvalue) + "; expires=2038-01-15, 03:14:08 UTC;domain=.harlequin.com; path=/"; } function removeCookie(cname) { var pastTime = new Date(); pastTime.setTime(pastTime.getTime() - 600000); document.cookie = cname+"=; expires="+pastTime.toUTCString()+";domain=.harlequin.com;path=/"; } function setHerderInfoCookie() { removeCookie("hqUserInfo"); setBase64Cookie("hqMiniBasket", "0|||||"); } setHerderInfoCookie(); </script> </head> <body class=" wp-admin auto-fold "> <!-- checking $topBarDTO.topBar --> <!-- checking $popUpModalDTO.popUpModal --> <noscript><center><strong>JavaScript must be enabled in your browser in order to use some functions.</strong></center></noscript> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NP3FG9X>m_auth=raJMhPi0XwctsaYKdF81VQ>m_preview=env-1>m_cookies_win=x" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id="skiplink-container"> <a href="#main-content">Skip to main content</a> <a href="#main-nav">Skip to main navigation</a> <a href="https://www.harlequin.com/shop/pages/accessibility-policy.html">Accessibility Policy</a> </div> <div id="container"> <input type="hidden" id="cemail" name="cemail" value=""> <div class="header-nav-container" role="banner"> <div class="row expanded no-print small-medium-header hide-for-large header-nav-mobile"> <button id="nav-toggle" class="" aria-expanded="false" aria-controls="hqn-nav"> <div class="nav-toggle__lines"><span class="nav-toggle__line" aria-hidden="true"></span><span class="nav-toggle__line" aria-hidden="true"></span><span aria-hidden="true" class="nav-toggle__line"></span></div> </button> <div id="nav-container-medium-down"></div> <div class="hqn-logo-mobile"> <a id="hqn-logo-mobile-home-link" href="https://www.harlequin.com/" title="Harlequin home"> <img src="https://www.harlequin.com/store/20160115001/responsive/assets/img/Harlequin-Logo_RGB_RED.png" alt="Harlequin Home" /> </a> </div> <div class="header-nav-action-icons-mobile"> <button id="small-medium-search-toggle" class="small-medium-search-toggle" aria-expanded="false" aria-controls="small-medium-search-container"><span class="fa fa-search" aria-hidden="true"></span><span class="fa fa-times" aria-hidden="true"></span><span class="show-for-sr">Search</span></button> <div class="small-medium-search-container " id="small-medium-search-container" aria-hidden="true" style="position: fixed; top:50px; left:0; right:0; z-index: 1; background: #fff; padding-bottom: 20px; box-shadow: 0 2px 5px 0 rgb(0 0 0 / 24%)"> <form role="search" action="/search.html?w=document.getElementById('searchBox2').value"> <div id="mobile-search-input-container" class="search-box search-box_theme-1"> <label for="searchBox2" class="show-for-sr">Search Harlequin</label> <input id="searchBox2" name="w" value="" class="deletable" type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" placeholder="Search"> <ul id="sli_autocomplete" class="sli_rich" style="display: none"> <div data-tb-sid="st_div-outer"> <!-- <div class="sli_ac_suggestions"> <h4 class="sli_ac_section"><span>Search Suggestions</span></h4> <ul role="listbox" aria-labelledby="sli_ac_section_suggestions" id="sli_raclist_suggestions" class="sli_suggestions_wrapper"> <li><spanclass="sli_suggestion_arrow"><i class="sli_icon_arrow_up"></i></span> <a href="" class="sli_ac_sugg"><span class="highlight">tes</span>sa dare</a> </li> </ul> </div> --> <div class="sli_ac_products"> <h4 aria-hidden="true" id="sli_ac_section_products" class="sli_ac_section"> <span id="selectionHeader"></span> </h4> <div class="sli_grid"> <div data-tb-sid="sts_product-loader" class="sli_loader"> <img class="sli_loader_icon" src="//assets.resultspage.com/js/autocomplete/loader.gif"> </div> <div role="listbox" id="sli_raclist_products" class="sli_product_list"> </div> <div aria-hidden="true" class="sli_view_more_link_wrapper"> <a href="" id="searchHref" class="sli_view_more_link">View More</a> </div> </div> </div> <div data-tb-sid="st_close-button" class="sli_close_rac">Close</div> </div> </ul> <button id="global-search-button-mobile" onclick="fbSearchEvent(document.getElementById('searchBox2').value)" class="orb-search__button"><span class="show-for-sr">Search Harlequin</span><span class="fa fa-search" aria-hidden="true"></span></button> </div> </form> </div> <a id="mobile-header-cart-link" href="/basket.html" aria-live="polite" aria-atomic="true" aria-label="Cart, 0 item in your cart" title="View your cart" class="header__cart header__cart_bubble header-mini-cart-toggle"><span class="fa fa-shopping-cart" aria-hidden="true"></span><span id="harlequinItemQty1" class="header__cart-qty"> 0 </span></a> </div> </div> <div class="row column no-print header-1 show-for-large u-padding-top-1"> <div class="u-position-relative"> <div class="hqn-logo-desktop"> <a href="https://www.harlequin.com/" title="Harlequin home"> <img src="https://www.harlequin.com/store/20160115001/responsive/assets/img/Harlequin-Logo_RGB_RED.png" alt="Harlequin Home" /> </a> </div> <form action="/search.html?w=document.getElementById('searchBox').value" class="header-search-form-desktop"> <div id="desktop-search-input-container" class="search-box search-box_theme-1"> <label for="searchBox" class="show-for-sr">Search Harlequin</label> <input id="searchBox" name="w" value="" class="deletable" type="text" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" placeholder="Search"> <button id="global-search-button-desktop" onclick="fbSearchEvent(document.getElementById('searchBox').value)" class="orb-search__button"><span class="show-for-sr">Search Harlequin</span><span class="fa fa-search" aria-hidden="true"></span></button> </div> </form> <div class="header-nav-actions-desktop"> <button class="header-account-dropdown-toggle header-account-dropdown-toggle_not-signed-in data-toggle" type="button" aria-expanded="false" aria-controls="header-account-dropdown-large"><span>Account</span></button> <style> #header-account-dropdown-large { left: 0 !important; } </style> <div class="dropdown-pane bottom nav-account-dropdown-large" id="header-account-dropdown-large" aria-hidden="true"> <div class="sign-in-new-customer-desktop"> <a href="https://www.harlequin.com/signin.html?mt=1&redirecturl=/myaccount.html" class="button button_theme-1 expanded">Sign in</a> <div class="text-center"><a href="https://www.harlequin.com/signin.html?mt=1®ister=1&redirecturl=/myaccount.html" class="u-bold u-harlequin-red">Create an Account</a></div> </div> <ul class="nav-account-dropdown-links"> <li><a href="https://www.harlequin.com/myaccount.html" class="nav-account-dropdown-large__my-account">Account</a></li> <li><a href="https://www.harlequin.com/bookshelf.html">Bookshelf</a></li> <li><a href="https://www.harlequin.com/wishlist.html">Wishlist</a></li> <li><a href="https://www.harlequin.com/ebook_subscribe_list.html">Subscriptions</a></li> <li><a href="https://www.harlequin.com/order_history.html">Purchase History</a></li> <li><a href="https://www.harlequin.com/editaccount.html" class="">Account Settings</a></li> </ul> </div> <div class="header__cart_bubble"> <span class="nav-spend-amount-free-shipping">Spend $30,<br>Get Free Shipping</span> <a href="/basket.html" aria-live="polite" aria-atomic="true" aria-label="Cart, 0 item in your cart" title="View your cart" class="header__cart header-mini-cart-toggle" id="header-cart-link-large"> <span class="fa fa-shopping-cart" aria-hidden="true"></span> <span id="harlequinItemQty2" class="header__cart-qty"> 0 </span><span class="show-for-sr">items in your cart</span> </a> </div> </div> </div> </div> <script type="text/javascript" src="https://www.harlequin.com/store/20160115001/scripts/algolia/instantsearch.production.min.js"></script> <script type="text/javascript" src="https://www.harlequin.com/store/20160115001/scripts/algolia/algoliasearch-lite.umd.js"></script> <link rel="stylesheet" href="https://www.harlequin.com/store/20160115001/scripts/algolia/reset-min.css"> <link rel="stylesheet" href="https://www.harlequin.com/store/20160115001/scripts/algolia/instantsearch.min.css"> <script> const algoliaClient = algoliasearch( 'ICJV6BX83Y', '0a289a0695f505361b2da631e0196915' ); const searchClient = { search(requests) { //console.log(requests) const newRequests = requests.map((request)=>{ // test for empty string and change request parameter: analytics if(!request.params.query || request.params.query.length===0) { request.params.analytics=false } return request }); return algoliaClient.search(newRequests); }, }; const search = instantsearch({ indexName: 'hqn_books_prod', searchClient: searchClient, }); search.addWidgets([ instantsearch.widgets.configure({ hitsPerPage: 8, clickAnalytics: true, }), ]); //for analytics search.addWidget( instantsearch.widgets.analytics({ pushFunction(formattedParameters, state, results) { dataLayer.push({ 'event': 'search', 'Search Query': state.query, 'Facet Parameters': formattedParameters, 'Number of Hits': results.nbHits, }); }, }) ); search.addWidget({ init: function(opts) { const helper = opts.helper; const input = document.querySelector('#searchBox'); const input2 = document.querySelector('#searchBox2'); input.addEventListener('input', function(e) { document.getElementById("sli_autocomplete").style.display = "block"; document.querySelector('#selectionHeader').innerHTML = 'Product Suggestions for "'+e.currentTarget.value+'"' var a = document.querySelector('#searchHref'); a.href = '/search.html?w='+e.currentTarget.value; if(e.currentTarget.value.length >= 1){ helper.setQuery(e.currentTarget.value) // update the parameters .search(); // launch the query }else{ document.getElementById("sli_autocomplete").style.display = "none"; } }); $("body").click(function(e) { if (e.target.id == "sli_autocomplete" || e.target.id == "searchBox" || e.target.id == "searchBox2") { //alert("dont hide"); } else { document.getElementById("sli_autocomplete").style.display = "none"; } }); $( "#searchBox" ).focus(function(e) { if(e.currentTarget.value.length >= 1){ document.getElementById("sli_autocomplete").style.display = "block"; } }); $( "#searchBox2" ).focus(function(e) { console.log("got focus"); console.log(e.currentTarget.value.length); if(e.currentTarget.value.length >= 1){ document.getElementById("sli_autocomplete").style.display = "block"; } }); $( "#searchBox2" ).keydown(function(e) { console.log(e.currentTarget.value.length); if(e.currentTarget.value.length >= 1){ helper.setQuery(e.currentTarget.value) // update the parameters .search(); // launch the query document.getElementById("sli_autocomplete").style.display = "block"; }else{ document.getElementById("sli_autocomplete").style.display = "none"; } }); } }); search.addWidget({ render: function(opts) { const results = opts.results; document.querySelector('#sli_raclist_products').innerHTML = results.hits.map(function(h) { var book_html=""; book_html +='<div data-tb-sid="sts_product" class="sli_ac_product sli_rac">'; book_html+='<div data-tb-sid="st_image-container" id="searchAtag" class="sli_image">'; book_html+='<a data-tb-sid="sts_product-link" onclick="goto(this)" href="'+h.url+'">'; book_html+='<img data-tb-sid="st_image" border="0" src="'+h.image.replace("y404","x50")+'" alt="'+h.title+'" title="'+h.title+'">' book_html+='<h2 data-tb-sid="st_title" data-tb-cid="4c32ae8d-409a-4268-b63c-35f94dc46927" class="sli_title">'+h._highlightResult.title.value+'</h2> </a></div></div>'; return book_html; }).join(''); if(results.hits.length == 0){ document.querySelector('#sli_raclist_products').innerHTML = '<h1 data-tb-sid="st_title" class="sli_title">No Products Found</h1>'; } } }); function goto(element){ document.location = element; } search.start(); // Move ul#sli_autocomplete to right after the mobile or desktop input search field depending on screen size document.addEventListener('readystatechange', function(event){ if (event.target.readyState === 'complete') { if (Foundation.MediaQuery.current == "large" || Foundation.MediaQuery.current == "xlarge" || Foundation.MediaQuery.current == "xxlarge"){ document.getElementById('desktop-search-input-container').insertBefore(document.getElementById('sli_autocomplete'), document.getElementById('global-search-button-desktop')); } $(window).on('changed.zf.mediaquery', function (event, newSize, oldSize) { if ( (newSize == "small" || newSize == "medium") && (oldSize == "large" || oldSize == "xxlarge" || oldSize == "xxlarge") ) { document.getElementById('mobile-search-input-container').insertBefore(document.getElementById('sli_autocomplete'), document.getElementById('global-search-button-mobile')); } if ( (newSize == "large" || newSize == "xlarge" || newSize == "xxlarge") && (oldSize == "medium" || oldSize == "small") ) { document.getElementById('desktop-search-input-container').insertBefore(document.getElementById('sli_autocomplete'), document.getElementById('global-search-button-desktop')); } }); } } ) </script> <div class="row column header-2 nav-menu-wrapper" id="main-nav-container-large-up"> <nav role="navigation" class="hqn-nav u-display-none" id="hqn-nav" aria-label="primary navigation"> <div class="hqn-nav-inner"> <div class="header-sign-in-mobile hide-for-large sign-in-new-customer-mobile"> <a id="menu-sign-in-link-medium-down" href="https://www.harlequin.com/signin.html?mt=1®ister=1&redirecturl=/myaccount.html" class="button button_theme-1 expanded">New Customer? Start Here</a> <div class="header-new-customer-mobile"><a href="https://www.harlequin.com/signin.html?mt=1&redirecturl=/myaccount.html" class="">or Sign in</a></div> </div> <ul class="hqn-nav-primary hqn-accordion" id="main-nav"> <li class="hide-for-large"> <button id="mobile-my-account-button" class="hqn-accordion-button hqn-nav-link" aria-expanded="false" aria-controls="megamenu-2"><span>Account</span></button> <ul class="hqn-nav-submenu hqn-megamenu hqn-grid-full u-display-none" id="megamenu-2"> <li class="hqn-megamenu-col"> <ul> <li><a href="https://www.harlequin.com/bookshelf.html">Bookshelf</a></li> </ul> </li> <li class="hqn-megamenu-col"> <ul> <li><a href="https://www.harlequin.com/wishlist.html">Wishlist</a></li> </ul> </li> <li class="hqn-megamenu-col"> <ul> <li><a href="https://www.harlequin.com/ebook_subscribe_list.html">Subscriptions</a></li> </ul> </li> <li class="hqn-megamenu-col"> <ul> <li><a href="https://www.harlequin.com/order_history.html">Purchase History</a></li> </ul> </li> <li class="hqn-megamenu-col"> <ul> <li><a href="https://www.harlequin.com/editaccount.html">Account Settings</a></li> </ul> </li> </ul> </li> <!-- checking $megaMenuDTO.megaMenu --> <li class="hide-for-large"><a href="https://intercom.help/harlequin" class="hqn-nav__primary-link">Help</a></li> </ul> </div> </nav> </div> </div> <style> @media screen and (min-width: 64em){ .email-signup-modal__img { align-self: stretch; } } .email-signup-modal__img img { width: 100%; object-fit: cover; height: 100%; object-position: left center; } #email_acquisition_recaptcha { display: flex; justify-content: center; padding-bottom: 5px; } </style> <div class="reveal email-signup-modal small" id="email-signup-modal" data-reveal data-close-on-click="false" aria-live="polite"> <div class="email-signup-modal__wrapper"> <div class="email-signup-modal__signup"> <div class="email-signup-modal__form"> <div> <h2 class="email-signup-modal__header">DON'T MISS OUT!</h2> <p class="email-signup-modal__lead">Stay up to date on new books and get an exclusive coupon for 20% OFF your next purchase when you sign up to receive newsletters, special offers and other promotional emails from Harlequin.*</p> <strong class="email-signup-modal__emphasis"><span class="email-signup-modal__discount">20% OFF</span> </strong> <div class="email-signup-modal__form-outer"> <form class="email-signup-modal-form" name="email-signup-modal-form" id="email-signup-modal-form" method="post" action="https://www.pages03.net/harlequin/Harlequincom/HarlequincomOptIn" pageid="6064723" siteid="204481" parentpageid="6064722"></form> <input type="hidden" name="formSourceName" value="StandardForm"> <!-- DO NOT REMOVE HIDDEN FIELD sp_exp --> <input type="hidden" name="sp_exp" value="yes"> <input type="hidden" name="Engagement_category" id="control_COLUMN6" value="Harlequin.com Exit Pop"> <div class="email-signup-modal__input-submit-wrapper"> <div class="email-signup-modal__email-input-wrapper"> <label for="email-signup-modal__input" class="show-for-sr">Your Email</label> <input id="email-signup-modal__input" class="email-signup-modal__input" type="email" name="Email" required="" data-parsley-type-message="Sorry, that doesn't look right. Please check it's a proper email address." placeholder="Enter your Email here" data-parsley-required-message="Please enter your email address." aria-label="Your Email" required> <span class="messages"></span> </div> <div id="email_acquisition_recaptcha"></div> <div id="email_acquisition_recaptcha_response" class="parsley-errors-list"></div> <div class="email-signup-modal__submit-wrapper"> <button id="newsletter-form-submit" class="button expanded button_theme-2 email-signup-modal__submit" type="button" onclick="submitForm();" value="Submit">Sign Up</button> </div> </div> </form> <p class="email-signup-modal__legal">*Harlequin Enterprises ULC (Harlequin.com) is located at 22 Adelaide Street West, 41st Floor, Toronto, Ontario M5H 4E3 and sends informational and promotional emails on behalf of itself, Harlequin Sales Corporation and Harlequin Digital Sales Corporation. Subscribers can unsubscribe at any time. Read Harlequin’s Privacy Policy <a href="https://corporate.harlequin.com/privacy-notice/" target="_blank" style="color:#fff; text-underline-offset:unset">here</a>. <button class="email-signup-modal__no-thanks" data-close>No thanks.</button></p> </div> <button class="close-button" data-close aria-label="Close modal" type="button"> <span aria-hidden="true">×</span> </button> </div> </div> <div class="email-signup-modal__img"> <img loading="lazy" src="https://www.harlequin.com/store/20160115001/responsive/assets/img/email_popup_women_image.webp" alt=""> </div> </div> </div> </div> <script> function submitForm() { $("#email_acquisition_recaptcha_response").removeClass("filled"); jQuery.getJSON( "/glrcbchverify.ajx?requestVerify="+getNewsLetterResponse()+"&email="+jQuery('#email-signup-modal__input').val(), function(data) { if (data && data.success) { console.log('captcha successful'); var engagementCategory='Harlequin.com Exit Pop'; stSubscribeNewsletter(engagementCategory, jQuery('#email-signup-modal__input').val(), null, null); emailSignUpGA(jQuery('#email-signup-modal__input').val()); fbEmailSignUp(); return false; } else { grecaptcha.reset(); $("#email_acquisition_recaptcha_response").html("Invalid Captcha"); $("#email_acquisition_recaptcha_response").addClass("filled"); } }); return false; } function getNewsLetterResponse() { return grecaptcha.getResponse(1); } </script> <!-- page content starts --> <!-- currPage membership_agreement --> <!-- myaccount_membership_agreement.vm --> <!-- PAGE CONTENT START --> <div class="header-breadcrumb-search"> <div class="row"> <div class="column"> <nav class="" aria-label="You are here:" role="navigation"> </nav> </div> </div> </div> <main class="main-content" id="main-content" role="main"> <div class="row column"> <h1>Membership Agreement</h1> <div style="font-size: 1.2em"> <p><strong>ATTENTION: NOTICE OF CHANGES TO MEMBERSHIP AGREEMENT AND TERMINATION OF HARLEQUIN MY REWARDS</strong></p> <p><strong>Harlequin is ending its Harlequin My Rewards Program. Effective January 1, 2023, all unredeemed points will expire. New points will not be awarded after October 31, 2022. For more information visit <a href="https://help.harlequin.com/en/collections/578892-my-rewards">Harlequin Help Center</a></strong></p> </div> <p><strong>Effective date: December 4, 2018</strong></p> <p><strong>BY JOINING HARLEQUIN.COM OR CARINAPRESS.COM (each, a “Site”), AND PRESSING THE "ACCEPT AND CONTINUE" BUTTON, YOU AGREE TO ABIDE BY THE TERMS AND CONDITIONS BELOW.</strong></p> <p>This agreement specifically incorporates by reference the <a href="http://corporate.harlequin.com/terms-and-conditions/" class="u-link-underline">Site Terms of Use</a> and the <a href="http://corporate.harlequin.com/privacy-policy/" class="u-link-underline">Privacy Policy</a> (collectively, “Agreement”), which together form the entire agreement. By accepting this Agreement, you expressly consent to the use and disclosure of your personally identifiable and other information as described in the Privacy Policy. The Privacy Policy supersedes the Membership Agreement which in turn supersedes the Site Terms of Use in the case of any conflict or discrepancy.</p> <p>We reserve the right to modify this Agreement at any time. Updated Agreements will be posted at least 30 days prior to any changes taking effect. </p> <p>1. ELIGIBILITY: You are eligible to become a member of the Site so long as you are age 18 or over. If you are under age 18, you may not register with the Site. Memberships are available for free. They include access to message boards, the shopping cart, your choice of email newsletters and service personalization, as well as additional benefits to be added in the future. We reserve the right to add, delete or change some or all of your free membership services at any time.</p> <p>2. MEMBERSHIP: You should register yourself, and only yourself, for a membership. Membership is personal to you and may not be transferred or shared. Message boards may only be used for personal purposes, not commercial purposes. You shall comply with all applicable laws regarding your access to membership and your participation in member services.</p> <p>3. PURCHASES: All prices, unless otherwise indicated, are in United States dollars. All orders are subject to approval. Purchases may be subject to sales tax. Price and availability information is subject to change without notice. You agree to pay all fees and charges incurred in connection with your user name and password, including applicable taxes.</p> <p><strong>Upon the purchase of any digital content from the Site you will receive a limited and non-exclusive, non-transferable, revocable license to view such content on your personal device(s). </strong> The license gives you a personal right to use, to view and to display the content on your personal device. You may not use the content for any other purpose other than as stated above. Any other use is strictly prohibited, including but not limited to commercial use, file sharing, compilation, modification or uploading to any third party database. The license you receive does not allow you to sell, rent, sublicense or assign your rights to the content. Any prohibited use or disposition will result in the automatic termination of the license granted to you in addition to any other rights or remedies afforded us under the law.</p> <p>4. RETURNS: Customer Satisfaction is our most important goal. If you are unhappy with your order for any reason please contact Customer Service.</p> <p>5. TERMINATION: We may terminate your membership immediately if you breach this Agreement or the Site Terms of Use or if we are unable to verify or authenticate any information you provide to us.</p> <p>6. WARRANTIES: ALL SERVICES ARE PROVIDED "AS IS." WE AND OUR SUPPLIERS DISCLAIM ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. We do not guarantee continuous or uninterrupted access to your membership. Applicable law may not allow the disclaimer of implied warranties, so the foregoing disclaimer may not apply to you.</p> <p>7. MY REWARDS: If you register to become a member of the My Rewards program, the terms and conditions of this Section 7 shall apply.</p> <p>7.1 Eligibility and Registration: The My Rewards program is offered to members in the United States and Canada (excluding Quebec), except where prohibited or restricted by law, who: a) are 18 years of age or older as of the date of their first participation in the My Rewards Program; and b) possess a valid, active and personal email address or a third party account, e.g., a Facebook or other account requested during the registration process, issued in the member's name, for access to the My Rewards program. Harlequin is not responsible for determining compliance with local laws. To the extent local laws apply, you are solely responsible for compliance. Taxes on Coupons (defined below) or rewards, if any, are your sole responsibility.</p> <p>When registering for the My Rewards program you may only register one (1) account for the purpose of accruing or earning Points. For example, if a promotion allows you to accrue points via Facebook or Foursquare, you may have one user account for Facebook and one user account for Foursquare that may accrue points, so long as they are both registered in your name. Any person who tries to use more than one user account, user ID or create more than one identity to obtain more Points shall be disqualified in Harlequin's sole discretion. Harlequin employees (including members of their households) are ineligible to participate in the My Rewards program.</p> <p>7.2 Points: For the purposes of the My Rewards program, "Points" mean those particular measurement increments based on dollars spent on qualifying purchases, as detailed below, or other qualifying behaviors. Points and their values are: (a) determined by Harlequin in its sole discretion; (b) subject to change without notice; and (c) variable among promotions. Points have no cash value and can only be redeemed for Coupons (defined below). All Points and actions utilizing Points, including but not limited to earning, saving and using, must be in compliance with this Agreement. Points are not transferable and Points cannot be earned after the My Rewards program is terminated as set out below. Unless prohibited by law, unused Points are forfeited upon termination of the My Rewards program. The total Points awarded for qualifying purchases are based on Harlequin's suggested retail price. The amount of points awarded for qualifying purchases will be the dollar amount rounded up to the nearest one hundred (ex. $5.75 = 600 points). Points will be reflected in a commercially reasonable time after they are earned or after the retailer purchase upload date. Uploads must be completed within 90 days of receipt date. Any inquiries regarding Points not correctly reflected must be received by Harlequin within 7 days of the date of alleged accrual of Points. Earned Points are not transferable. If an item is returned, your Points related to the returned purchase may be deducted.</p> <p>7.3 Points Redemption: Coupons may be exchanged online by signing into your account at <a href="https://www.harlequin.com/myrewards.html?mt=loyalty" class="u-link-underline">http://www.harlequin.com/myrewards.html?mt=loyalty</a> (the "Redemption Page") and according to the terms set out on the Redemption Page. The number of points required to redeem for specific Coupons is subject to change at Harlequin's discretion and will be as set out at the time of redemption. Points may not be combined with cash or with another member's points in order to redeem.</p> <p>7.4 Earning Points: Users may earn Points for specific activities outlined on the Redemption Page or via proof of purchase (sales receipt) of new Harlequin books at participating retailers, in accordance with the rules set out for each such activity. Harlequin reserves the right to refuse to award Points for books purchased second hand or through non-participating retailers. If you would like more details on participating retailers in your area, please contact <a href="mailto:CustomerService@Harlequin.com" class="u-link-underline">CustomerService@Harlequin.com</a>. Points earned are reflected in your account and can be used to redeem coupons ("Coupons") exchangeable for: (i) any book with a cover value of $8.99 or less on Harlequin.com; (ii) experiences provided by Harlequin as listed from time to time on the Redemption Page; or (iii) goods and services from third party providers as listed from time to time on the Redemption Page. The Coupon values and participating retailers may change from time to time, without notice, at Harlequin's discretion.</p> <p>7.5 Termination of My Rewards: The My Rewards program may terminate at Harlequin's discretion, upon 30 days prior notice. Notice of termination shall be provided to you in the manner Harlequin deems reasonable, including but not limited to, posting such notice on the Site or via email. Points may expire, subject to applicable law. You must redeem and use all Points and exchange your Coupons before expiration or the effective date of termination. Harlequin may also terminate your participation in the My Rewards program if it determines, in its sole discretion, you are in breach of any terms of this Agreement.</p> <p>7.6 Use: Harlequin reserves the right to modify, suspend and/or terminate the My Rewards program, without notice, in whole or in part, in the event of computer, programming, system errors or other problems which are beyond Harlequin's control and that affect Harlequin's ability to proceed as intended. Any attempts by you to access the My Rewards program via a bot script or other brute-force attack shall result in your becoming ineligible and forfeiting any and all accrued Points, Coupons and rewards. Any use of automated means, whether programmatic or robotic or the like, to gather Points shall result in your disqualification from the My Rewards program and forfeiture of Points.</p> <p>8.INDEMNITY: You agree to defend, indemnify and hold harmless the Site and its affiliates, representatives, officers, directors and employees from all liabilities, claims, costs and expenses, including attorney fees that arise out of or in connection with your use of the site or participation in the My Rewards program. Harlequin is not responsible for the inability of a User to accept, redeem and/or use Coupons for any reason, including any third-party's terms and conditions and/or the terms of business and operations for a particular entity (e.g., timeframes for selecting merchandise, registration obligations, etc.) which is offering Coupons. Normal Internet access and usage charges imposed by a User's online service shall apply.</p> </div> </main> <!-- PAGE CONTENT END --> <script src="https://www.harlequin.com/store/20160115001/responsive/assets/js/app.js?20210613"></script> <!-- page content ends --> <form name="hqnAddCrtForItem" action="https://www.harlequin.com/basket.html?vid=20160115001" class="form-book-listing checkout-modal"> <input type="hidden" name="securitytoken" value="2d32adea-e192-4b9b-844d-b959e57f3672"> <input type="hidden" name="basketItems[0].itemToProcess" value="true" /> <input type="hidden" name="basketItems[0].quantity" value="1" /> <input type="hidden" name="basketItems[0].vendorId" value="20160115001" /> <input type="hidden" name="itemscount" value="1" /> <input type="hidden" name="mode" value="addItem" /> <input type="hidden" name="vendorId" value="20160115001" /> <input type="hidden" name="viewMode" value="item" /> <input type="hidden" name="showModalWindow" value="false"> <input type="hidden" id="hqn_add_cart_isbn" name="basketItems[0].itemCode" value="" /> </form> <!-- sub_omniture_vars.vm --> <!-- currPage membership_agreement --> <!-- cid $request.getParameter("cid") --> <!-- OMNITURE VARIABLES --> <!-- pageType --> <!-- channel --> <!-- category --> <!-- subCategory1 --> <!-- subCategory2 --> <!-- actualItem --> <!-- pageName --> <!-- SiteCatalyst code version: H.11. Copyright 1997-2007 Omniture, Inc. More info available at https://www.omniture.com --> <script language="JavaScript" src="https://www.harlequin.com/store/20160115001/scripts/harlequin/s_code_v2.js"></script> <script language="JavaScript"><!-- /* You may give each page an identifying name, server, and channel on the next lines. */ s.pageName=unescape(""); s.server=""; s.channel=""; s.pageType=""; s.prop1=""; s.prop2=""; s.prop3=""; s.prop4=""; s.prop5=""; s.prop6=""; s.prop7=""; s.prop8="8.222.208.146|||"; s.prop9=""; //non checkout pages '',false s.prop10=unescape("Undefined"); s.prop11=unescape("Undefined"); s.prop12=unescape("Undefined"); s.prop13=unescape("Undefined"); /* E-commerce Variables */ scPageSrc=""; scPageType="Undefined" scCategory=""; scSubCategory=""; scSubCategory2=""; scMerchandising="false"; /************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ var s_code=s.t();if(s_code)document.write(s_code)//--></script> <script language="JavaScript" type="text/javascript"><!-- if(navigator.appVersion.indexOf('MSIE')>=0)document.write(unescape('%3C')+'\!-'+'-') //--></script><noscript><img src="https://eharlequin.d1.sc.omtrdc.net/b/ss/harlequincom/1/H.25.5--NS/0" height="1" width="1" border="0" alt="" /></noscript><!--/DO NOT REMOVE/--> <!-- End SiteCatalyst code version: H.25.1. --><!-- sub_jira_tag.vm --> <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function() {n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('dataProcessingOptions', ['LDU'], 0, 0); fbq('init', '1421149728143095'); fbq('track', 'PageView'); </script> <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1421149728143095&ev=PageView&noscript=1"/></noscript> <script> function viewContent(){ var randomValue = new Date().valueOf() + ".ViewContent"; fbq('track', 'ViewContent', { referrer: document.referrer, userAgent: navigator.userAgent, language: navigator.language }, {eventID: randomValue}); jQuery.getJSON( "/fbsearchevent.ajx?type=ViewContent&val="+randomValue, function(data) { if (data && data.success) { console.log('triggered faceBook Server API ViewContent '); } }); } window.onload = viewContent(); function fbSearchEvent(searchTerm) { var randomValue = new Date().valueOf()+'.'+searchTerm+'.searchEvent'+uuidv4(); gtag('event', 'conversion', {'send_to': 'AW-1066987404/7SgPCOG2tqcBEIzf4_wD'}); gtag('event', 'search', { 'event_category': 'engagement', 'search_term': searchTerm }); pintrk('track', 'search', {search_query: searchTerm}); fbq('track', 'Search', {search_string: searchTerm,content_category: 'Product Search'}, {eventID: randomValue}); window.liQ = window.liQ || [];window.liQ.push({"event": "viewSearchResults", "searchTerm":searchTerm}); jQuery.getJSON( "/fbsearchevent.ajx?type=search&search_term="+searchTerm+"&val="+randomValue, function(data) { if (data && data.success) { console.log('triggered faceBook Server API SearchEvent '); } }); } function uuidv4() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }); } function fbTrackBookDetailRetailer(isbn,retailer) { var eventName='intentToPurchase'+'-'+retailer; fbq('trackCustom', eventName, { retailer: retailer, event_category: 'engagement', isbn: isbn }); } function fbEbookSubInitCheckout() { return true; } function fbLeadCreateAccount() { fbq('track', 'Leads'); return true; } function fbEmailSignUp() { fbq('track', 'EmailSignUps'); return true; } </script> <!-- Base Code: Pinterest Tag --> <!-- end Pinterest Tag --> <script> pintrk('track', 'pagevisit'); function trackBookDetailRetailer(isbn,retailer) { pintrk('track', 'intentToPurchase', {lead_type: retailer, line_items: [{product_id: isbn,product_category:''}]}); } </script> <script type="text/javascript"> function newCust(email) { window.liQ = window.liQ || []; window.liQ.push({"event": "conversion","name": "lead","email": email}); } function emailSignUp(email) { if (email.trim().length>0) { window.liQ = window.liQ || []; window.liQ.push({"event": "conversion","name": "email_signup","email": email}); } } function liveIntentTrackBookDetailRetailer(isbn,retailer,price) { window.liQ = window.liQ || []; window.liQ.push({ "event": "conversion", "name":"IntentToPurchase", "email": "", "conversionId": retailer, "items": [ { "id": isbn, "price": price, "quantity": "1", "currency": "USD" } ] }); } </script> <script type="text/javascript"> function newCustGA(email) { gtag('event', 'conversion', { 'send_to': 'AW-1066987404/4Fh4CLD2igIQjN_j_AM', }); //gtag('event', 'leads', { // 'event_category': 'engagement', // 'event_label': email //}); } function emailSignUpGA(email) { if (email.trim().length>0) { gtag('event', 'conversion', {'send_to': 'AW-1066987404/rhiBCOuDsNgBEIzf4_wD'}); gtag('event', 'newsletter_email_sign_up', { 'event_category': 'engagement', 'event_label': email }); } } function gaTrackBookDetailRetailer(isbn,retailer) { gtag('event', 'conversion', {'send_to': 'AW-1066987404/eJwaCPTT9qkBEIzf4_wD'}); gtag('event', 'intent_to_purchase'+":" +retailer, { 'event_category': 'engagement', 'event_label': isbn }); } </script> <script src='https://cdn.levelaccess.net/accessjs/YW1wMTI2MjE/access.js'></script> <script type="text/javascript"> </script><!-- Start WKND tag. Deploy at the beginning of document head. --> <!-- Tag for Harlequin (harlequin.com/shop/index.html) --> <script> (function(d) { var e = d.createElement('script'); e.src = d.location.protocol + '//tag.wknd.ai/7414/i.js'; e.async = true; d.getElementsByTagName("head")[0].appendChild(e); }(document)); </script> <!-- End WKND tag --> <!--Adblock Check --> <!-- disable adblock due to conflict with sli-search <script type="text/javascript" src="https://www.harlequin.com/store/20160115001/scripts/adsense.js"></script> <script type="text/javascript"> jQuery(document).ready(checkAds()); function checkAds() {if (document.getElementById('adsense')!=undefined) {document.write("<script>_gaq.push(['_trackEvent', 'Adblock Unblocked', 'Unblocked', 'false',,true]);</sc" + "ript>"); }else{ document.write("<script>_gaq.push(['_trackEvent', 'Adblock Blocked', 'Blocked', 'true',,true]);</sc" + "ript>"); }} </script> --> <!--End Adblock Check--> <!--Alliant--> <img src="//pixel.adblade.com/imps.php?sgms=17188" alt="" border="0" /> <img src="https://tags.w55c.net/rs?id=53f3f7c4a2f34dde9e02f27567bfb46e&t=marketing" height="1" width="1" style="display:none" alt="" aria-hidden="true" /> <div class="footer-help u-margin-top-2" role="contentinfo" id="footer-help"> <div class="row collapse"> <div class="column large-4 large-text-left text-center"> <a class="footer-help__link" href="mailto:CustomerService@Harlequin.com"><span class="fa fa-envelope" aria-hidden="true"></span> Email customer service</a> </div> <div class="column large-4 text-center"> <a class="footer-help__link" href="//help.harlequin.com"><span class="fa fa-question-circle" aria-hidden="true"></span> FAQs</a> </div> <div class="column large-4 large-text-right text-center"> <a href="#main-content">back to top <span class="fa fa-arrow-up" aria-hidden="true"></span></a> </div> </div> </div> <script src="https://www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit" async defer"></script> <script> var CaptchaCallback = function() { grecaptcha.render('footer-email-signup-recaptcha-wrapper', {'sitekey' : '6LdNi58UAAAAAP6m5ZQfxSJXRpV7hfYecvQ7FbDw', 'callback': footer_capcha_filled, 'expired-callback': footer_capcha_expired}); grecaptcha.render('email_acquisition_recaptcha', {'sitekey' : '6LdNi58UAAAAAP6m5ZQfxSJXRpV7hfYecvQ7FbDw', 'callback': popup_capcha_filled, 'expired-callback': popup_capcha_expired}); var element = document.getElementById('quick_sign_up_recaptcha'); if (typeof(element) != 'undefined' && element != null) { grecaptcha.render('quick_sign_up_recaptcha', {'sitekey' : '6LdNi58UAAAAAP6m5ZQfxSJXRpV7hfYecvQ7FbDw', 'callback': quicksign_capcha_filled, 'expired-callback': quicksign_capcha_expired}); } }; </script> <script type="text/javascript"> function popup_capcha_filled(data){ $("#email_acquisition_recaptcha_response").removeClass("filled"); } function popup_capcha_expired(){ grecaptcha.reset(); $("#email_acquisition_recaptcha_response").addClass("filled"); } function footer_capcha_filled(data){ $("#recaptcha_response").removeClass("filled"); } function footer_capcha_expired(){ grecaptcha.reset(); $("#recaptcha_response").addClass("filled"); } function getResponse() { return grecaptcha.getResponse(0); } function validateCaptcha(formId) { $("#recaptcha_response").removeClass("filled"); var form = $("#"+formId).closest("form"); var formVal = form.parsley(); formVal.whenValidate(); if(formVal.isValid()==false) return; jQuery.getJSON( "/glrcbchverify.ajx?requestVerify="+getResponse()+"&email="+document.getElementById('email-newsletters').value, function(data) { if (data && data.success) { captchaResponse = "true"; emailSignUp(document.getElementById('email-newsletters').value); emailSignUpGA(document.getElementById('email-newsletters').value); fbEmailSignUp(); var engagementCategory='Harlequin.com footer'; stSubscribeNewsletter( engagementCategory, document.getElementById('email-newsletters').value, null, null); } else { grecaptcha.reset(); $("#recaptcha_response").html("Invalid Captcha:"); $("#recaptcha_response").addClass("filled"); } }); return false; } </script> <footer class="footer footer_theme_main u-padding-top-2" role="contentinfo"> <div class="row"> <div class="column large-5 u-margin-bottom-2"> <div class="footer-links row small-up-1 medium-up-2 large-up-2"> <div class="footer__link-group column column-block"> <h2 class="footer__link-group-header">Customer Service</h2> <ul> <li><a href="http://help.harlequin.com">Help</a></li> <li><a href="http://help.harlequin.com/ebook-faqs">eBook FAQs</a></li> <li><a href="http://help.harlequin.com/shopping-on-harlequin-com#shipping">Shipping and Delivery</a></li> <li><a href="http://help.harlequin.com/contact-customer-service/contacting-customer-service">Contact Customer Service</a></li> </ul> </div> <div class="footer__link-group column column-block"> <h2 class="footer__link-group-header">About Harlequin</h2> <ul> <li><a href="http://corporate.harlequin.com/">About Harlequin</a></li> <!-- <li><a href="http://careers.harlequin.com/">Our Company</a></li> --> <li><a href="http://corporate.harlequin.com/press-room/">Press Room</a></li> <li><a href="http://careers.harlequin.com/">Careers</a></li> <li><a href="https://www.writeforharlequin.com/">Write for Harlequin</a></li> <li><a href="/shop/pages/2014-newsletter-quick-sign-up.html">Email Newsletters</a></li> </ul> </div> </div> <div class="show-for-large"> <h2 class="footer-stay-connected-header">Stay Connected</h2> <style> .homepage-social__links li:not(:last-child) { margin-right: 10px; } </style> <ul class="homepage-social__links"> <li><a href="https://www.facebook.com/HarlequinBooks" ><span class="fa-brands fa-facebook-f" aria-hidden="true"></span> <span class="show-for-sr">Facebook</span></a></li> <li><a href="https://twitter.com/HarlequinBooks" ><span class="fa-brands fa-x-twitter" aria-hidden="true"></span> <span class="show-for-sr">Twitter</span></a></li> <li><a href="https://www.pinterest.com/harlequinbooks/"><span class="fa-brands fa-pinterest" aria-hidden="true"></span> <span class="show-for-sr">Pinterest</span></a></li> <li><a href="https://www.youtube.com/user/harlequinbooks" ><span class="fa-brands fa-youtube" aria-hidden="true"></span> <span class="show-for-sr">Youtube</span></a></li> <li><a href="https://www.instagram.com/harlequinbooks/" ><span class="fa-brands fa-instagram" aria-hidden="true"></span> <span class="show-for-sr">Instagram</span></a></li> <li><a href="https://www.tiktok.com/@harlequinbooks" ><span class="fa-brands fa-tiktok" aria-hidden="true"></span> <span class="show-for-sr">TikTok</span></a></li> </ul> </div> </div> <style> #recaptcha_response { background-color: #e4134f; color: #fff; font-size: 0.875rem; list-style-type: none; margin: 1rem 0; padding: 0.25rem; position: relative; } #recaptcha_response:after { border-top-color: #e4134f; border-right-color: #e4134f; border-bottom-color: #e4134f; border-left-color: #e4134f; border-bottom: 8px solid; border-left: 8px solid transparent; border-right: 8px solid transparent; color: #e4134f; content: ""; display: block; left: 8px; margin-left: -4px; position: absolute; top: -6px; width: 0; } </style> <div class="column large-7"> <div class="email_signup_wrapper"> <form class="email_signup_form" name="email_signup_form" onsubmit="event.preventDefault()" id="emailSignUpForm" novalidate="" data-parsley-validate="" data-captcha-type="recaptcha_v2"> <input type="hidden" name="formSourceName" value="StandardForm"> <!-- DO NOT REMOVE HIDDEN FIELD sp_exp --> <input type="hidden" name="sp_exp" value="yes"> <input type="hidden" name="Engagement_category" id="control_COLUMN5" value="Harlequin.com footer"> <p class="u-bold">Sign-up to receive newsletters, special offers and other promotional emails from Harlequin.*</p> <div class="row"> <div class="column medium-7 large-12"> <div style="max-width: 304px"><label for="email-newsletters" class="text-right-medium middle">Email:</label> <input id="email-newsletters" autocomplete="email" aria-invalid="true" type="email" name="Email" required="" data-parsley-type-message="Sorry, that doesn't look right. Please check it's a proper email address." data-parsley-required-message="Please enter your email address."> <span class="messages"></span> <div id="footer-email-signup-recaptcha-wrapper"> </div> <div id="recaptcha_response" class="parsley-errors-list"></div> <button id="footer-email-submit" class="button expanded button_theme-2 u-margin-top-1" onclick="validateCaptcha('emailSignUpForm');">Subscribe</button> </div> </div> </div> </form> <p>*Harlequin Enterprises ULC (Harlequin.com) is located at 22 Adelaide Street West, 41st Floor, Toronto, Ontario M5H 4E3 and sends informational and promotional emails on behalf of itself, Harlequin Sales Corporation and Harlequin Digital Sales Corporation. Subscribers can unsubscribe at any time. Read Harlequin’s Privacy Policy <a href="https://corporate.harlequin.com/privacy-notice/" target="_blank">here</a>.</p> </div> <!-- email_signup_wrapper --> <div class="u-margin-top-2 hide-for-large"> <h2 class="footer-stay-connected-header">Stay Connected</h2> <ul class="homepage-social__links"> <li><a href="https://www.facebook.com/HarlequinBooks" ><span class="fa-brands fa-facebook-f" aria-hidden="true"></span> <span class="show-for-sr">Facebook</span></a></li> <li><a href="https://twitter.com/HarlequinBooks" ><span class="fa-brands fa-x-twitter" aria-hidden="true"></span> <span class="show-for-sr">Twitter</span></a></li> <li><a href="https://www.pinterest.com/harlequinbooks/"><span class="fa-brands fa-pinterest" aria-hidden="true"></span> <span class="show-for-sr">Pinterest</span></a></li> <li><a href="https://www.youtube.com/user/harlequinbooks" ><span class="fa-brands fa-youtube" aria-hidden="true"></span> <span class="show-for-sr">Youtube</span></a></li> <li><a href="https://www.instagram.com/harlequinbooks/" ><span class="fa-brands fa-instagram" aria-hidden="true"></span> <span class="show-for-sr">Instagram</span></a></li> <li><a href="https://www.tiktok.com/@harlequinbooks" ><span class="fa-brands fa-tiktok" aria-hidden="true"></span> <span class="show-for-sr">TikTok</span></a></li> </ul> </div> </div> </div> <div class="row u-margin-top-2"> <div class="column"> <ul class="footer__links"> <!-- <li> <a href="https://www.harlequin.com/shop/pages/privacy-policy.html">Privacy Policy</a></li> <li> <a href="https://www.harlequin.com/shop/pages/terms-conditions.html">Terms & Conditions</a></li> <li> <a href="https://www.harlequin.com/shop/pages/terms-conditions.html#copyright">Intellectual Property Notice</a></li> <li> <a href="https://www.harlequin.com/shop/pages/accessibility-policy.html">Accessibility Policy</a></li> --> <li><a href="https://corporate.harlequin.com/privacy-notice/">Privacy Notice</a></li> <li><a href="https://corporate.harlequin.com/california-privacy/">California Privacy Rights</a></li> <li><a href="https://corporate.harlequin.com/ccpa-optout/">Do Not Sell My Personal Information</a></li> <li><a href="http://corporate.harlequin.com/terms-and-conditions/">Terms & Conditions</a></li> <li><a href="/membership-agreement.html">Membership Agreement</a></li> <li><a href="http://corporate.harlequin.com/accessibility/">Accessibility Policy</a></li> <li><a href="https://www.harpercollins.com/pages/for-authors-report-piracy">Report Piracy</a></li> <li><a href="/sitemap.html">Sitemap</a></li> </ul> </div> <div class="column u-margin-top-1"> <p>Copyright © 2000-2024 Harlequin Enterprises ULC. All Rights Reserved.</p> </div> </div> </footer> <script> (function($) { $(document).ready(function() { // if you want to use the 'fire' or 'disable' fn, // you need to save OuiBounce to an object var _ouibounce = ouibounce(document.getElementById('email-signup-modal'), { timer: 0, cookieExpire: 15, sitewide: true, callback: function() { if (document.querySelector('body').classList.contains('is-reveal-open')) { console.log('another modal open, return and exit'); return false }; gtag('event','Impression', {'event_category': 'Modals', 'event_label': 'Email Signup', 'non_interaction': true}); $('#email-signup-modal').foundation('open'); $('#email-signup-modal-form').parsley().on('form:success', function() { gtag('event','Conversion', {'event_category': 'Modals', 'event_label': 'Email Signup'}); return true; }); $(window).on( 'closed.zf.reveal', function() { gtag('event','Close-User', {'event_category': 'Modals', 'event_label': 'Email Signup', 'non_interaction': true}); } ); } }); }); })(jQuery); </script> <script src="https://www.harlequin.com/store/20160115001/responsive/assets/scripts/parsley.min.js"></script> <!--<script src="//harlequin.resultspage.com/autocomplete/custom/sli-rac.config.js"></script>--> <script src="https://www.harlequin.com/store/20160115001/responsive/assets/scripts/ouibounce.min.js"></script> <script src="https://www.harlequin.com/store/20160115001/responsive/assets/scripts/header-nav-keyboard-control-wcag-aoda.js?v=20230605"></script> <script src="https://www.harlequin.com/store/20160115001/responsive/assets/scripts/sailthru-overlay-make-accessible.js"></script> </div> <script type="text/javascript"> function resetItemsQty() { totalItemsNumber=1-1; if(totalItemsNumber>0) for(currentNum=1;currentNum<=totalItemsNumber;currentNum++){ execString="document.additem"+currentNum+".qty"+currentNum+".value='0'"; eval(execString); } return true; } var hqn_solr_currenyid=${currencyIDInUse}; function getViewport() { var viewPortWidth; var viewPortHeight; // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight if (typeof window.innerWidth != 'undefined') { viewPortWidth = window.innerWidth, viewPortHeight = window.innerHeight } // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document) else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) { viewPortWidth = document.documentElement.clientWidth, viewPortHeight = document.documentElement.clientHeight } // older versions of IE else { viewPortWidth = document.getElementsByTagName('body')[0].clientWidth, viewPortHeight = document.getElementsByTagName('body')[0].clientHeight } return [viewPortWidth, viewPortHeight]; } //document.write('<center>User Agent: ' + navigator.userAgent + '</center>'); //document.write('<center>viewport size: ' + getViewport() + '</center>'); </script> <script type="text/javascript" src="//harlequin.resultspage.com/autocomplete/rac-data/sli-rac.js"></script> <div class="reveal added-to-cart-modal" id="added-to-cart-modal" data-reveal data-close-on-click="false"> <p class="text-center">We have added <span id="cart-modal-book-title"></span> this item to your <a href="/basket.html">cart</a>.</p> <button class="close-button" data-close aria-label="Close modal" type="button"> <span aria-hidden="true">×</span> </button> <div class="row"> <div class="column medium-6"> <button class="button button_theme-5 expanded" data-close>Continue shopping</button> </div> <div class="column medium-6"> <a href="/basket.html" class="button button_theme-2 expanded">View cart</a> </div> </div> </div> <div class="reveal added-to-wishlist-modal" id="added-to-wishlist-modal" data-reveal data-close-on-click="false"> <p class="text-center">We have added this item to your <a href="/wishlist.html">wishlist</a>.</p> <button class="close-button" data-close aria-label="Close modal" type="button"> <span aria-hidden="true">×</span> </button> </div> <div class="reveal added-to-wishlist-full-modal" id="added-to-wishlist-full-modal" data-reveal data-close-on-click="false"> <p class="text-center">The Wishlist is limited to 20 books, please <a href="/wishlist.html">remove some</a> if you wish to add more.</p> <button class="close-button" data-close aria-label="Close modal" type="button"> <span aria-hidden="true">×</span> </button> </div> </body> </html>