PageSourceSearch

https://rosemackie.com/cart

html rosemackie.com collected 2026-09-27 09:51:37 UTC 80,431 bytes, 1,982 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3  <head>
4    <meta charset="utf-8" />
5    <meta content="IE=edge" http-equiv="X-UA-Compatible" />
6    <meta content="width=device-width,initial-scale=1" name="viewport" />
7    <link rel="canonical" href="https://rosemackie.com/cart" />
8
9    <title>Your Shopping Cart | RoseMackie</title>
10
11    
12<meta name="description" content="The official website and shop of Rose Mackie. Find the latest content, buy merch, and support your favorite creator." />
13<meta property="og:site_name" content="RoseMackie" />
14<meta property="og:url" content="https://rosemackie.com/cart" />
15<meta property="og:description" content="The official website and shop of Rose Mackie. Find the latest content, buy merch, and support your favorite creator." />
16
17
18
19
20
21<meta property="og:title" content="Your Shopping Cart | RoseMackie" />
22<meta property="og:type" content="website" />
23
24
25  <meta property="og:image" content="https://imgproxy.fourthwall.dev/Zsd_ryJEwXQD0J-Op03NtWYtcajt-zCApB7ttAPGrcg/w:1200/sm:1/enc/W7DgHxN3Uvk67dOZ/8_spiB8s2uHG1VYz/1d1hdwA1g8Tw_JNM/0hwjwkBhvC-Aerg0/1XF4uYdFT4a787OK/6KZSudQwshINMWna/ZOIp0FUwZ3jOFZh5/UgEvdlxcNdl5sXX2/SmXro4ae4S6WuPsd/SW5P19w8JSlBJ6bJ/M7HTcRsGGjE-Vzz-/evxqel4_yQUXWur_/CSC4o64N5GRES019/rm8gBY_dw26O2y5W/9qQCdUx4YdiEmbR7/r97NBwBY-Jj3zIMi.png" />
26  <meta property="og:image:secure_url" content="https://imgproxy.fourthwall.dev/Zsd_ryJEwXQD0J-Op03NtWYtcajt-zCApB7ttAPGrcg/w:1200/sm:1/enc/W7DgHxN3Uvk67dOZ/8_spiB8s2uHG1VYz/1d1hdwA1g8Tw_JNM/0hwjwkBhvC-Aerg0/1XF4uYdFT4a787OK/6KZSudQwshINMWna/ZOIp0FUwZ3jOFZh5/UgEvdlxcNdl5sXX2/SmXro4ae4S6WuPsd/SW5P19w8JSlBJ6bJ/M7HTcRsGGjE-Vzz-/evxqel4_yQUXWur_/CSC4o64N5GRES019/rm8gBY_dw26O2y5W/9qQCdUx4YdiEmbR7/r97NBwBY-Jj3zIMi.png" />
27  <meta property="twitter:image" content="https://imgproxy.fourthwall.dev/Zsd_ryJEwXQD0J-Op03NtWYtcajt-zCApB7ttAPGrcg/w:1200/sm:1/enc/W7DgHxN3Uvk67dOZ/8_spiB8s2uHG1VYz/1d1hdwA1g8Tw_JNM/0hwjwkBhvC-Aerg0/1XF4uYdFT4a787OK/6KZSudQwshINMWna/ZOIp0FUwZ3jOFZh5/UgEvdlxcNdl5sXX2/SmXro4ae4S6WuPsd/SW5P19w8JSlBJ6bJ/M7HTcRsGGjE-Vzz-/evxqel4_yQUXWur_/CSC4o64N5GRES019/rm8gBY_dw26O2y5W/9qQCdUx4YdiEmbR7/r97NBwBY-Jj3zIMi.png" />
28
29<meta name="twitter:card" content="summary_large_image" />
30<meta name="twitter:title" content="Your Shopping Cart | RoseMackie" />
31<meta name="twitter:description" content="The official website and shop of Rose Mackie. Find the latest content, buy merch, and support your favorite creator." />
32
33    
34    <link rel="shortcut icon" href="https://imgproxy.fourthwall.dev/NA4j1N0PhlQlLnJM8FL-mG1kHgPJy6Fugrlu10NZP7M/s:96:96/sm:1/enc/E8ck9tUfM7_Xrz6F/Ce6M2TFVuW4LL-Z5/H4k8lFNFqyjHhfl6/Qpa-5gfp8LL2l0d0/PtXakyS0mUpFqdDm/SW93fF1viJ5_nCJC/Al2RFOQ-k82M8NE1/azBIcIDriym0G3Vf/enQx8G6DndBz-ep2/KEgPtUOv2QyZYfxV/7QlOTL-n_MJCq71k/qLOIdcOZtGbB8yVj/PhR0802Pu5nD5yKG/Re4wpzxfIUJXu3HO/s1oF8oXAUN-SBliD/5c8vDSlyOIZHstmW.webp" sizes="96x96" type="image/png" />
35<link rel="shortcut icon" href="https://imgproxy.fourthwall.dev/_RCDJOQ5TYOzJP-se6I7aCJSgDwDHV2VM_tNE-K8PpY/s:48:48/sm:1/enc/E8ck9tUfM7_Xrz6F/Ce6M2TFVuW4LL-Z5/H4k8lFNFqyjHhfl6/Qpa-5gfp8LL2l0d0/PtXakyS0mUpFqdDm/SW93fF1viJ5_nCJC/Al2RFOQ-k82M8NE1/azBIcIDriym0G3Vf/enQx8G6DndBz-ep2/KEgPtUOv2QyZYfxV/7QlOTL-n_MJCq71k/qLOIdcOZtGbB8yVj/PhR0802Pu5nD5yKG/Re4wpzxfIUJXu3HO/s1oF8oXAUN-SBliD/5c8vDSlyOIZHstmW.webp" sizes="48x48" type="image/png" />
36
37
38  <link rel="apple-touch-icon" href="https://imgproxy.fourthwall.dev/RAh13HNJ0M_gGswZBefKB3JyEmJl2-auABCW7BSfmW8/s:180:180/sm:1/enc/E8ck9tUfM7_Xrz6F/Ce6M2TFVuW4LL-Z5/H4k8lFNFqyjHhfl6/Qpa-5gfp8LL2l0d0/PtXakyS0mUpFqdDm/SW93fF1viJ5_nCJC/Al2RFOQ-k82M8NE1/azBIcIDriym0G3Vf/enQx8G6DndBz-ep2/KEgPtUOv2QyZYfxV/7QlOTL-n_MJCq71k/qLOIdcOZtGbB8yVj/PhR0802Pu5nD5yKG/Re4wpzxfIUJXu3HO/s1oF8oXAUN-SBliD/5c8vDSlyOIZHstmW.webp" sizes="180x180" type="image/png" />
39
40
41<meta content="#ffffff" name="msapplication-TileColor" />
42<meta content="1.0.0" name="version" />
43
44
45    <link rel="stylesheet" type="text/css" href="https://themes.fourthwall.dev/themes-library/assets/c97a08c2-fa31-4bff-93d5-c7aad9121754/assets/vendor.css?v=b1b11eb5397f6f25bd27f727622a7b127d42cd4e0ede0f0b643a4ec082686d92" media="all" integrity="sha256-sbEetTl/byW9J/cnYip7En1CzU4O3g8LZDpOw
45IJobZI=" crossorigin="anonymous" />
46
47    <link rel="stylesheet" type="text/css" href="https://themes.fourthwall.dev/themes/assets/1ac0478f-37a1-41fa-8c6f-6ad72af86699/assets/styles/css-variables.scss.css?v=c9adf795aebebebdedb72c80e29f2ee608eed7015d0fd212116d25f3351a4df8" media="all" integrity="sha256-ya33la6+vr3ttyyA4p8u5gju1wFdD9ISEW0l8zUaTfg=" crossorigin="anonymous" />
48    <link rel="stylesheet" type="text/css" href="https://themes.fourthwall.dev/themes/assets/1ac0478f-37a1-41fa-8c6f-6ad72af86699/assets/styles/theme.scss.css?v=c4e0faae7235a7742a2a1b71a174e644abe153cf42479c37edcb8ec7ac718554" media="all" integrity="sha256-xOD6rnI1p3QqKhtxoXTmRKvhU89CR5w37cuOx6xxhVQ=" crossorigin="anonymous" />
49    
50    <link rel="preconnect" href="https://imgproxy.fourthwall.com" crossorigin>
51<link rel="preconnect" href="https://storage.googleapis.com" crossorigin>
52<script src="/platform/geo/redirect.js"></script>
vendor: 1 bytes, line 52
52
53<script src="https://js.stripe.com/v3/" async></script>
53
54<link rel="alternate" href="https://rosemackie.com/cart" hreflang="x-default" />
55<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-AQ" />
56<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-AS" />
57<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-BQ" />
58<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-EC" />
59<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-FM" />
60<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-GU" />
61<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-IO" />
62<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-MH" />
63<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-MP" />
64<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-PR" />
65<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-PW" />
66<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-SV" />
67<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-TC" />
68<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-UM" />
69<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-US" />
70<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-VG" />
71<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-VI" />
72<link rel="alternate" href="https://rosemackie.com/en-usd/cart" hreflang="en-ZW" />
73<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-AD" />
74<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-AT" />
75<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-AX" />
76<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-BE" />
77<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-BG" />
78<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-BL" />
79<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-CY" />
80<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-DE" />
81<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-EE" />
82<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-ES" />
83<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-FI" />
84<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-FR" />
85<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-GF" />
86<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-GP" />
87<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-GR" />
88<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-HR" />
89<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-IE" />
90<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-IT" />
91<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-LT" />
92<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-LU" />
93<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-LV" />
94<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-MC" />
95<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-ME" />
96<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-MF" />
97<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-MQ" />
98<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-MT" />
99<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-NL" />
100<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-PM" />
101<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-PT" />
102<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-RE" />
103<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-SI" />
104<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-SK" />
105<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-SM" />
106<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-TF" />
107<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-VA" />
108<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-YT" />
109<link rel="alternate" href="https://rosemackie.com/en-eur/cart" hreflang="en-XK" />
110<link rel="alternate" href="https://rosemackie.com/en-cad/cart" hreflang="en-CA" />
111<link rel="alternate" href="https://rosemackie.com/en-gbp/cart" hreflang="en-GB" />
112<link rel="alternate" href="https://rosemackie.com/en-gbp/cart" hreflang="en-GG" />
113<link rel="alternate" href="https://rosemackie.com/en-gbp/cart" hreflang="en-GS" />
114<link rel="alternate" href="https://rosemackie.com/en-gbp/cart" hreflang="en-IM" />
115<link rel="alternate" href="https://rosemackie.com/en-gbp/cart" hreflang="en-JE" />
116<link rel="alternate" href="https://rosemackie.com/en-aud/cart" hreflang="en-AU" />
117<link rel="alternate" href="https://rosemackie.com/en-aud/cart" hreflang="en-CC" />
118<link rel="alternate" href="https://rosemackie.com/en-aud/cart" hreflang="en-CX" />
119<link rel="alternate" href="https://rosemackie.com/en-aud/cart" hreflang="en-HM" />
120<link rel="alternate" href="https://rosemackie.com/en-aud/cart" hreflang="en-KI" />
121<link rel="alternate" href="https://rosemackie.com/en-aud/cart" hreflang="en-NF" />
122<link rel="alternate" href="https://rosemackie.com/en-aud/cart" hreflang="en-NR" />
123<link rel="alternate" href="https://rosemackie.com/en-aud/cart" hreflang="en-TV" />
124<link rel="alternate" href="https://rosemackie.com/en-nzd/cart" hreflang="en-CK" />
125<link rel="alternate" href="https://rosemackie.com/en-nzd/cart" hreflang="en-NU" />
126<link rel="alternate" href="https://rosemackie.com/en-nzd/cart" hreflang="en-NZ" />
127<link rel="alternate" href="https://rosemackie.com/en-nzd/cart" hreflang="en-PN" />
128<link rel="alternate" href="https://rosemackie.com/en-nzd/cart" hreflang="en-TK" />
129<link rel="alternate" href="https://rosemackie.com/en-sek/cart" hreflang="en-SE" />
130<link rel="alternate" href="https://rosemackie.com/en-nok/cart" hreflang="en-BV" />
131<link rel="alternate" href="https://rosemackie.com/en-nok/cart" hreflang="en-NO" />
132<link rel="alternate" href="https://rosemackie.com/en-nok/cart" hreflang="en-SJ" />
133<link rel="alternate" href="https://rosemackie.com/en-dkk/cart" hreflang="en-DK" />
134<link rel="alternate" href="https://rosemackie.com/en-dkk/cart" hreflang="en-FO" />
135<link rel="alternate" href="https://rosemackie.com/en-dkk/cart" hreflang="en-GL" />
136<link rel="alternate" href="https://rosemackie.com/en-pln/cart" hreflang="en-PL" />
137<link rel="alternate" href="https://rosemackie.com/en-inr/cart" hreflang="en-IN" />
138<link rel="alternate" href="https://rosemackie.com/en-jpy/cart" hreflang="en-JP" />
139<link rel="alternate" href="https://rosemackie.com/en-myr/cart" hreflang="en-MY" />
140<link rel="alternate" href="https://rosemackie.com/en-sgd/cart" hreflang="en-SG" />
141<link rel="alternate" href="https://rosemackie.com/en-mxn/cart" hreflang="en-MX" />
142<link rel="alternate" href="https://rosemackie.com/en-brl/cart" hreflang="en-BR" />
143<link rel="alternate" href="https://rosemackie.com/en-chf/cart" hreflang="en-CH" />
144<link rel="alternate" href="https://rosemackie.com/en-chf/cart" hreflang="en-LI" />
vendor: 68 bytes, lines 144-145
144
145<script src="https://www.google.com/recaptcha/enterprise.js?render=
1456LcUIoYlAAAAALE9OrjdIcUfeYTpTq5RlXh5HuZt
vendor: 18 bytes, line 145
145" async></script>
146<script>window.recaptchaSiteKey = '6LcUIoYlAAAAALE9OrjdIcUfeYTpTq5RlXh5HuZt';</script>
146
147<style>
148  .grecaptcha-badge { display: none !important; }
149</style>
150<script type='module' src="https://cdn.fourthwall.dev/web-perf/instant.js" defer></script>
vendor: 1 bytes, line 150
150
151<script>
152  window.shopName = 'RoseMackie';
153  window.shopId = 'sh_6fa713c7-6a12-4abe-8f2a-6f11177e14cc';
154  window.cookie_policy = 'ShowInEu';
155</script>
155
156<!-- Google Tag Manager -->
157<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
158new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
159j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
160'/_c/mtg.js?id='+i+dl;f.parentNode.insertBefore(j,f);
161})(window,document,'script','dataLayer','GTM-PV2BBNN');</script>
161
162<!-- End Google Tag Manager -->
163<script>window.creatorGa4Id = 'G-WE16P9VCDR'; window.creatorFbPixelId = '759037843540887'; window.creatorTiktokAnalyticsId = ''; window.creatorKlaviyoAnalyticsId = ''; window.useServerAnalytics = true;</script>
vendor: 1 bytes, line 163
163
164<script>
165  (function () {
166    function setCookie(name, value, days) {
167      if (typeof days === 'undefined') days = 90;
168      var expires = new Date(Date.now() + days * 86400000).toUTCString();
169      document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value.substring(0, 200)) + '; expires=' + expires + '; path=/';
170    }
171  
172    function getCookie(name) {
173      var cookies = document.cookie.split('; ');
174      for (var i = 0; i < cookies.length; i++) {
175        if (cookies[i].indexOf(name + '=') === 0) {
176          return cookies[i].split('=')[1];
177        }
178      }
179      return null;
180    }
181  
182    function handleTrackingParams() {
183      var params = window.location.search.substring(1).split('&');
184      var paramMap = {};
185  
186      for (var i = 0; i < params.length; i++) {
187        var kv = params[i].split('=');
188        if (kv.length === 2) {
189          paramMap[decodeURIComponent(kv[0])] = decodeURIComponent(kv[1]);
190        }
191      }
192  
193      if (!getCookie('_fbp')) {
194        var randomPart = Math.floor(Math.random() * 10000000000);
195        var fbp = 'fb.1.' + Date.now() + '.' + randomPart;
196        setCookie('_fbp', fbp);
197      }
198  
199      for (var key in paramMap) {
200        if (paramMap.hasOwnProperty(key)) {
201          var value = paramMap[key];
202          var isUTM = key.indexOf('utm_') === 0;
203          
204          if(key === 'utm_source' && getCookie('utm_source') === 'fourthwall_ads') {
205            continue;
206          }
207  
208          if (isUTM || key === 'gclid' || key === 'fbclid') {
209            setCookie(key, value);
210          }
211  
212          if (key === 'fbclid' && !getCookie('_fbc')) {
213            var fbc = 'fb.1.' + Date.now() + '.' + value;
214            setCookie('_fbc', fbc);
215          }
216        }
217      }
218    }
219  
220    handleTrackingParams();
221  })();
222</script>
vendor: 1 bytes, line 222
222
223<script type='text/javascript'>var eventsListenerScript = document.createElement('script');eventsListenerScript.async = true;eventsListenerScript.src = "https://cdn.fourthwall.dev/shop-event-listener/shop-events-listener.js";document.getElementsByTagName('head')[0].appendChild(eventsListenerScript);</script>
223
224<meta name='theme-color' content='#F6EDFB' />
225<link rel="stylesheet" type="text/css" href="https://themes.fourthwall.dev/themes/assets/1ac0478f-37a1-41fa-8c6f-6ad72af86699/assets/styles/custom_sections.css?v=c49528a1f22de45ea37696242f074e4457c8b7c0ce5fbd3e9a71576a86943fc9" media="all">
226<script>
227  (function() {
228    window.addEventListener('cart:updated', function(event) {
229      var cart = event.detail;
230      if (!cart || !cart.items || !cart.items.length) return;
231      var currency = 'USD';
232      var isZeroDecimal = currency === 'JPY';
233      var items = cart.items.map(function(item) {
234        var price = isZeroDecimal ? item.price : item.price / 100;
235        return {
236          item_id: item.id || item.offer_id,
237          item_name: item.title || item.name,
238          item_brand: `RoseMackie`,
239          price: price,
240          quantity: item.quantity || 1
241        };
242      });
243      var value = isZeroDecimal ? cart.total_price : cart.total_price / 100;
244      dataLayer.push({ ecommerce: null });
245      dataLayer.push({
246        event: "view_cart",
247        ecommerce: {
248          currency: currency,
249          value: value,
250          items: items
251        },
252        shopId: 'sh_6fa713c7-6a12-4abe-8f2a-6f11177e14cc'
253      });
254    }, { once: true });
255  })();
256</script>
vendor: 1 bytes, line 256
256
257<script type="text/javascript">
258    var currentCart = {"id":null,"item_count":0,"unique_item_count":0,"items":[]};
259</script>
vendor: 1 bytes, line 259
259
260<script type="module">
261  function iframeReady(section, iframe, url, appId, settings) {
262    const baseIframeUrl = url;
263  
264    function buildUrl(url, params) {
265      if (!params) return url;
266      var qs = Object.keys(params)
267        .map((k) => encodeURIComponent(k) + '=' + encodeURIComponent(params[k]))
268        .join('&');
269      return url + (url.includes('?') ? '&' : '?') + qs + '&' + settings;
270    }
271  
272    const params = {
273      hmac: window.appHmac[appId],
274      timestamp: window.hmacTimestamp,
275      tier_id: window.tierId,
276      supporter_id: window.supporterId,
277      shop_id: window.shopId,
278    };
279  
280    iframe.src = buildUrl(baseIframeUrl, window.appHmac[appId] ? params : null);
281    iframe.onload = null
282  
283    // Extract origin from URL for security checking
284    let expectedOrigin;
285    try {
286      expectedOrigin = new URL(url).origin;
287    } catch (e) {
288      console.warn('Could not parse URL origin:', url);
289    }
290  
291    // Listen for messages specifically from this iframe
292    const messageHandler = (event) => {
293      // Check if the message is from this specific iframe
294      if (event.source !== iframe.contentWindow) {
295        return; // Ignore messages from other iframes/windows
296      }
297  
298      // Optional: Also verify the origin for security
299      if (expectedOrigin && event.origin !== expectedOrigin) {
300        console.warn('Message received from unexpected origin:', event.origin);
301        return;
302      }
303      
304      if (event.data.type === 'RESIZE') {
305        iframe.style.height = event.data.data.height + 'px';
306      } else if (event.data.type === 'CLOSE') {
307        section.style.height = '0px';
308      }
309    };
310  
311    window.addEventListener('message', messageHandler);
312    
313    // Store the handler for cleanup (optional)
314    iframe._messageHandler = messageHandler;
315  }
316  
317  class Hmac extends HTMLElement {
318    constructor() {
319      super()
320      this.section = this.parentElement.parentElement;
321      this.iframe = this.querySelector('iframe')
322      this.url = this.getAttribute('url')
323      this.appId = this.getAttribute('app_id')
324      this.settings = this.getAttribute('settings')
325    }
326  
327    connectedCallback() {
328      if (this.iframe && this.iframe.contentDocument && this.iframe.contentDocument.readyState === 'complete') {
329        iframeReady(this.section, this.iframe, this.url, this.appId, this.settings)
330      } else {
331        this.iframe.onload = () => iframeReady(this.section, this.iframe, this.url, this.appId, this.settings)
332      }
333    }
334  
335    disconnectedCallback() {
336      if (this.iframe && this.iframe._messageHandler) {
337        window.removeEventListener('message', this.iframe._messageHandler);
338        delete this.iframe._messageHandler;
339      }
340    }
341  }
342  
343  customElements.define('app-hmac-component', Hmac)
344</script>
344
345
346  </head>
347
348  
349  
350
351  
352
353  <body class="body cart "  >
354 <!-- Google Tag Manager (noscript) -->
355<noscript><iframe src='/_c/ns.html?id=GTM-PV2BBNN'
356height='0' width='0' style='display:none;visibility:hidden'></iframe></noscript>
357<!-- End Google Tag Manager (noscript) -->
358
359    <a href="#main-content" class="skip-link">Skip to content</a>
360
361    <div class="page">
362      <div>
363        <div id="fw-section-announcement-bar-bf015522-db3f-48a7-8df1-f61adcf4688a" class="fw-section"><section class="announcement-bar">
364  <div class="wrapper">
365    
366    
367    
368    
369    
370
371    
372      <a href="https://mybook.to/AStormofFuries" target="_blank" class="announcement-bar__inner">
373    
374
375    
376      <div class="announcement-bar__label">
377        New Release - A Storm of Furies - A post-apocalyptic romantasy set in Australia
378      </div>
379    
380
381    
382      </a>
383    
384  </div>
385</section>
386
387
388</div><div id="fw-section-header" class="fw-section">
389
390
391
392
393
394<header
395  data-testid='main.single.section'
396  class='header'
397>
398  <div class='wrapper'>
399    <div class='header__grid header__grid--search header--left header__size--sm'>
400      <div class='header__mobile-menu hidden@sm'>
401        <button data-drawer-trigger-primary='mobile-menu' class='header__icon' aria-label='Open menu'>
402          <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
403  <path fill-rule="evenodd" clip-rule="evenodd" d="M16 3.75H0V2.25H16V3.75ZM16 8.75H0V7.25H16V8.75ZM16 13.75H0V12.25H16V13.75Z" fill="currentColor"/>
404</svg>
405
406        </button>
407      </div>
408
409      
410
411      <div class='header__logo-container'><div class='header__logo'>
412          <a href='/' class='header__logo-link'>
413            
414            
415  
416
417  <img
418    src="https://imgproxy.fourthwall.dev/PwxDL1U_irf_s8GYMjKhyy7UZ091KAX8s3ZV8JoYOwU/w:320/sm:1/enc/gFEFKhsb3Cey1G_V/vHZHVlrvWNrUxAmg/silJh5FUXOzcBeg8/Z_TuiL2mmHT7VzQe/awis5RUiI5BIXGlJ/r0uH1zLab3VEeCMM/Ek76z91AfuA6bZgq/IKPiUBdeQ8VngLZ_/T8S_CyRuvXYNLKz3/dl4D0oWnxSITqCtL/6bF-KPRM_a3B1lSL/vL98-9zxCQQQxPFD/QA64D4DBMOIFxTs8/_y0MorU39-j3fIiz/IYiNNqIpW4xk5pnZ/OVXIKldjbWGS7pWc.webp"
419    srcset="https://imgproxy.fourthwall.dev/PwxDL1U_irf_s8GYMjKhyy7UZ091KAX8s3ZV8JoYOwU/w:320/sm:1/enc/gFEFKhsb3Cey1G_V/vHZHVlrvWNrUxAmg/silJh5FUXOzcBeg8/Z_TuiL2mmHT7VzQe/awis5RUiI5BIXGlJ/r0uH1zLab3VEeCMM/Ek76z91AfuA6bZgq/IKPiUBdeQ8VngLZ_/T8S_CyRuvXYNLKz3/dl4D0oWnxSITqCtL/6bF-KPRM_a3B1lSL/vL98-9zxCQQQxPFD/QA64D4DBMOIFxTs8/_y0MorU39-j3fIiz/IYiNNqIpW4xk5pnZ/OVXIKldjbWGS7pWc.webp 1x, https://imgproxy.fourthwall.dev/oEbaUyVnNN7iyJrXjttAf9IbHEJvxfimd4uztV3fRHg/w:320/dpr:2/sm:1/enc/gFEFKhsb3Cey1G_V/vHZHVlrvWNrUxAmg/silJh5FUXOzcBeg8/Z_TuiL2mmHT7VzQe/awis5RUiI5BIXGlJ/r0uH1zLab3VEeCMM/Ek76z91AfuA6bZgq/IKPiUBdeQ8VngLZ_/T8S_CyRuvXYNLKz3/dl4D0oWnxSITqCtL/6bF-KPRM_a3B1lSL/vL98-9zxCQQQxPFD/QA64D4DBMOIFxTs8/_y0MorU39-j3fIiz/IYiNNqIpW4xk5pnZ/OVXIKldjbWGS7pWc.webp 2x"
420    alt="RoseMackie"
421    class="header__logo-image header__logo-image--sm"
422    itemprop="logo"
423  >
424
425
426          </a>
427        </div>
428      </div>
429
430      
431        <div class='header__nav-container visible@sm'>
432          <nav class='header__nav' aria-label='Primary'>
433            <ul class='header__list list--horizontal'>
434              
435  <li class="header__list-item">
436    <a
437      href="/"
438      class="header__link"
439      
440    >
441      Home
442
443      
444    </a>
445
446    
447  </li>
448
449  <li class="header__list-item">
450    <a
451      href="/pages/about"
452      class="header__link"
453      
454    >
455      About
456
457      
458    </a>
459
460    
461  </li>
462
463  <li class="header__list-item">
464    <a
465      href="/pages/books"
466      class="header__link"
467      
468    >
469      Books
470
471      
472    </a>
473
474    
475  </li>
476
477  <li class="header__list-item">
478    <a
479      href="/collections/audiobooks"
480      class="header__link"
481      
482    >
483      Audiobooks
484
485      
486    </a>
487
488    
489  </li>
490
491  <li class="header__list-item">
492    <a
493      href="/collections/bookish-merch"
494      class="header__link"
495      
496    >
497      Merch
498
499      
500    </a>
501
502    
503  </li>
504
505  <li class="header__list-item">
506    <a
507      href="/pages/newsletter"
508      class="header__link"
509      
510    >
511      Newsletter
512
513      
514    </a>
515
516    
517  </li>
518
519  <li class="header__list-item">
520    <a
521      href="/collections/all"
522      class="header__link"
523      
524    >
525      Browse all
526
527      
528    </a>
529
530    
531  </li>
532
533            </ul>
534          </nav>
535        </div>
536      
537
538      <div class='header__icons'>
539        <ul class='header__list list list--horizontal'>
540          
541            
542
543
544
545  
546    <li class="header__list-item visible@sm">
547      <a
548        
549          href="https://tiktok.com/@rosemackieauthor"
550        
551        target="_blank"
552        class="header__icon"
553        aria-label="Tiktok (opens in a new tab)"
554      >
555        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
556<path fill-rule="evenodd" clip-rule="evenodd" d="M13.7329 0C14.0629 2.83809 15.6469 4.53015 18.401 4.71015V7.90226C16.805 8.05826 15.4069 7.53624 13.7809 6.55221V12.5224C13.7809 20.1067 5.51259 22.4767 2.18848 17.0406C0.0524123 13.5424 1.36045 7.40424 8.21268 7.15823V10.5243C7.69066 10.6083 7.13264 10.7403 6.62263 10.9144C5.09858 11.4304 4.23455 12.3964 4.47456 14.1005C4.93657 17.3646 10.9248 18.3306 10.4267 11.9524V0.00600019H13.7329V0Z" fill="currentColor"/>
557</svg>
558
559        
560      </a>
561    </li>
562  
563
564
565  
566    <li class="header__list-item visible@sm">
567      <a
568        
569          href="https://instagram.com/rosemackieauthor"
570        
571        target="_blank"
572        class="header__icon"
573        aria-label="Instagram (opens in a new tab)"
574      >
575        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
576<path fill-rule="evenodd" clip-rule="evenodd" d="M4.99525 0H15.0047C17.7635 0 20 2.23604 20 4.99525V15.0047C20 17.7635 17.764 20 15.0047 20H4.99525C2.23645 20 0 17.764 0 15.0047V4.99525C0 2.23645 2.23604 0 4.99525 0ZM2 15.0047C2 16.6592 3.34085 18 4.99525 18H15.0047C16.6592 18 18 16.6591 18 15.0047V4.99525C18 3.34078 16.6591 2 15.0047 2H4.99525C3.34078 2 2 3.34085 2 4.99525V15.0047ZM5 10C5 7.23858 7.23858 5 10 5C12.7614 5 15 7.23858 15 10C15 12.7614 12.7614 15 10 15C7.23858 15 5 12.7614 5 10ZM13 10C13 8.34315 11.6569 7 10 7C8.34315 7 7 8.34315 7 10C7 11.6569 8.34315 13 10 13C11.6569 13 13 11.6569 13 10ZM15 6C15.5523 6 16 5.55228 16 5C16 4.44772 15.5523 4 15 4C14.4477 4 14 4.44772 14 5C14 5.55228 14.4477 6 15 6Z" fill="currentColor"/>
577</svg>
578
579        
580      </a>
581    </li>
582  
583
584
585  
586    <li class="header__list-item visible@sm">
587      <a
588        
589          href="https://open.spotify.com/show/1DUrD988r6Ka5UnFosm5vf"
590        
591        target="_blank"
592        class="header__icon"
593        aria-label="Spotify (opens in a new tab)"
594      >
595        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
596<path d="M10.0006 0.150391C4.56099 0.150391 0.151703 4.55968 0.151703 9.99926C0.151703 15.4388 4.56099 19.8481 10.0006 19.8481C15.4401 19.8481 19.8494 15.4388 19.8494 9.99926C19.8494 4.55968 15.4401 0.150391 10.0006 0.150391ZM14.5169 14.3568C14.3405 14.6473 13.9618 14.7379 13.6724 14.5614C11.359 13.1477 8.44808 12.829 5.01968 13.6123C4.68919 13.6876 4.35988 13.4806 4.2846 13.1513C4.20933 12.8208 4.41515 12.4915 4.74682 12.4162C8.49866 11.5588 11.7165 11.9281 14.3134 13.5135C14.6027 13.6888 14.6945 14.0675 14.5169 14.3568ZM15.7224 11.6752C15.5001 12.0363 15.0273 12.1504 14.6663 11.9281C12.02 10.3015 7.98352 9.8299 4.8515 10.7802C4.44573 10.9025 4.01645 10.6744 3.89295 10.2686C3.77064 9.86283 3.99998 9.43472 4.40457 9.31123C7.98234 8.22566 12.4293 8.75139 15.4684 10.6203C15.8306 10.8414 15.9435 11.3142 15.7224 11.6752ZM15.8259 8.88194C12.6516 6.99661 7.41427 6.82372 4.3834 7.74345C3.89648 7.89164 3.38252 7.61643 3.23433 7.12951C3.08731 6.6426 3.36135 6.12863 3.84826 5.98044C7.32724 4.92428 13.1114 5.12893 16.7656 7.2977C17.2032 7.55762 17.3466 8.12334 17.0879 8.5
5965968C16.8291 8.9972 16.2623 9.14186 15.8259 8.88194Z" fill="currentColor"/>
597</svg>
598
599        
600      </a>
601    </li>
602  
603
604
605  
606    <li class="header__list-item visible@sm">
607      <a
608        
609          href="https://youtube.com/channel/UC6Zx5GV86iuU_0azPcI0g8A"
610        
611        target="_blank"
612        class="header__icon"
613        aria-label="Youtube (opens in a new tab)"
614      >
615        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
616<path d="M16.7183 3.125H3.28167C1.4725 3.125 0 4.59833 0 6.4075V14.0083C0 15.8183 1.4725 17.2917 3.28167 17.2917H16.7192C18.5275 17.2917 20 15.8183 20 14.0083V6.4075C20 4.59833 18.5275 3.125 16.7183 3.125ZM13.7817 10.2342L8.14083 13.8433C8.0725 13.8867 7.99417 13.9092 7.91667 13.9092C7.8475 13.9092 7.77917 13.8917 7.71667 13.8575C7.58333 13.785 7.5 13.6442 7.5 13.4925V6.27417C7.5 6.12083 7.58333 5.98083 7.71667 5.9075C7.85083 5.835 8.01333 5.84083 8.14167 5.9225L13.7825 9.5325C13.9025 9.60917 13.975 9.74083 13.975 9.88333C13.9742 10.0258 13.9017 10.1575 13.7817 10.2342Z" fill="currentColor"/>
617</svg>
618
619        
620      </a>
621    </li>
622  
623
624
625          
626
627          
628
629
630          
631            <li class='header__list-item visible@sm'>
632              <a class='header__link header__link--icon' tabindex='0' role='button' aria-label='Currency selector, current: USD'>
633                USD
634
635                
636                  <span class='header__link-icon'>
637                    <svg class="svg-fill-current-color" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
638  <path d="M0 7.33l2.829-2.83 9.175 9.339 9.167-9.339 2.829 2.83-11.996 12.17z" vector-effect="non-scaling-stroke"/>
639</svg>
640
641                  </span>
642                
643              </a>
644
645              
646                <div class='header__dropdown header__dropdown--content'>
647                  <ul class='header__dropdown-inner'>
648                    
649                      <li class='header__dropdown-item'>
650                        <a
651                          class='header__dropdown-link'
652                          href='/localization?currency=USD&return_to=/cart'
653                        >
654                          USD
655                        </a>
656                      </li>
657                    
658                      <li class='header__dropdown-item'>
659                        <a
660                          class='header__dropdown-link'
661                          href='/localization?currency=EUR&return_to=/cart'
662                        >
663                          EUR
664                        </a>
665                      </li>
666                    
667                      <li class='header__dropdown-item'>
668                        <a
669                          class='header__dropdown-link'
670                          href='/localization?currency=CAD&return_to=/cart'
671                        >
672                          CAD
673                        </a>
674                      </li>
675                    
676                      <li class='header__dropdown-item'>
677                        <a
678                          class='header__dropdown-link'
679                          href='/localization?currency=GBP&return_to=/cart'
680                        >
681                          GBP
682                        </a>
683                      </li>
684                    
685                      <li class='header__dropdown-item'>
686                        <a
687                          class='header__dropdown-link'
688                          href='/localization?currency=AUD&return_to=/cart'
689                        >
690                          AUD
691                        </a>
692                      </li>
693                    
694                      <li class='header__dropdown-item'>
695                        <a
696                          class='header__dropdown-link'
697                          href='/localization?currency=NZD&return_to=/cart'
698                        >
699                          NZD
700                        </a>
701                      </li>
702                    
703                      <li class='header__dropdown-item'>
704                        <a
705                          class='header__dropdown-link'
706                          href='/localization?currency=SEK&return_to=/cart'
707                        >
708                          SEK
709                        </a>
710                      </li>
711                    
712                      <li class='header__dropdown-item'>
713                        <a
714                          class='header__dropdown-link'
715                          href='/localization?currency=NOK&return_to=/cart'
716                        >
717                          NOK
718                        </a>
719                      </li>
720                    
721                      <li class='header__dropdown-item'>
722                        <a
723                          class='header__dropdown-link'
724                          href='/localization?currency=DKK&return_to=/cart'
725                        >
726                          DKK
727                        </a>
728                      </li>
729                    
730                      <li class='header__dropdown-item'>
731                        <a
732                          class='header__dropdown-link'
733                          href='/localization?currency=PLN&return_to=/cart'
734                        >
735                          PLN
736                        </a>
737                      </li>
738                    
739                      <li class='header__dropdown-item'>
740                        <a
741                          class='header__dropdown-link'
742                          href='/localization?currency=INR&return_to=/cart'
743                        >
744                          INR
745                        </a>
746                      </li>
747                    
748                      <li class='header__dropdown-item'>
749                        <a
750                          class='header__dropdown-link'
751                          href='/localization?currency=JPY&return_to=/cart'
752                        >
753                          JPY
754                        </a>
755                      </li>
756                    
757                      <li class='header__dropdown-item'>
758                        <a
759                          class='header__dropdown-link'
760                          href='/localization?currency=MYR&return_to=/cart'
761                        >
762                          MYR
763                        </a>
764                      </li>
765                    
766                      <li class='header__dropdown-item'>
767                        <a
768                          class='header__dropdown-link'
769                          href='/localization?currency=SGD&return_to=/cart'
770                        >
771                          SGD
772                        </a>
773                      </li>
774                    
775                      <li class='header__dropdown-item'>
776                        <a
777                          class='header__dropdown-link'
778                          href='/localization?currency=MXN&return_to=/cart'
779                        >
780                          MXN
781                        </a>
782                      </li>
783                    
784                      <li class='header__dropdown-item'>
785                        <a
786                          class='header__dropdown-link'
787                          href='/localization?currency=BRL&return_to=/cart'
788                        >
789                          BRL
790                        </a>
791                      </li>
792                    
793                      <li class='header__dropdown-item'>
794                        <a
795                          class='header__dropdown-link'
796                          href='/localization?currency=CHF&return_to=/cart'
797                        >
798                          CHF
799                        </a>
800                      </li>
801                    
802                  </ul>
803                </div>
804              
805            </li>
806          
807
808          
809            <li class='header__list-item'>
810              <button class='header__icon' aria-label='Search' type='button' data-search-toggle>
811                <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
812<path fill-rule="evenodd" clip-rule="evenodd" d="M0 6.37079C0 2.8523 2.8523 0 6.37079 0C9.88927 0 12.7416 2.8523 12.7416 6.37079C12.7416 7.85977 12.2308 9.22945 11.3748 10.3141L15.7803 14.7197L14.7197 15.7803L10.3141 11.3748C9.22945 12.2308 7.85977 12.7416 6.37079 12.7416C2.8523 12.7416 0 9.88927 0 6.37079ZM6.37079 1.5C3.68073 1.5 1.5 3.68073 1.5 6.37079C1.5 9.06085 3.68073 11.2416 6.37079 11.2416C9.06085 11.2416 11.2416 9.06085 11.2416 6.37079C11.2416 3.68073 9.06085 1.5 6.37079 1.5Z" fill="currentColor"/>
813</svg>
814
815              </button>
816            </li>
817          
818
819          
820
821          <li class='header__list-item'>
822            <a
823              href='/cart'
824              class='header__icon'
825              aria-label='Cart'
826            >
827              <div 
828  data-cart-widget="widget"
829  data-testid="cart.icon"
830  class="cart-widget cart-widget--icons empty"
831>
832  
833    <span data-cart-widget="quantity" class="cart-widget__items"></span>
834    <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
835  <path fill-rule="evenodd" clip-rule="evenodd" d="M7.99999 1.5C7.40211 1.5 6.83677 1.72464 6.4264 2.11207C6.0175 2.49812 5.79646 3.0122 5.79646 3.53846V4.46154H10.2035V3.53846C10.2035 3.0122 9.98249 2.49812 9.57359 2.11207C9.16322 1.72464 8.59788 1.5 7.99999 1.5ZM11.7035 4.46154V3.53846C11.7035 2.58564 11.3022 1.68119 10.6033 1.02137C9.90591 0.362928 8.96875 0 7.99999 0C7.03123 0 6.09408 0.362928 5.39666 1.02137C4.69777 1.68119 4.29646 2.58564 4.29646 3.53846V4.46154H2.96808C2.09126 4.46154 1.34979 5.11042 1.23353 5.97949L0.15814 14.018C0.0177587 15.0673 0.833995 16 1.89269 16H14.1073C15.166 16 15.9822 15.0673 15.8419 14.018L14.7665 5.97949C14.6502 5.11042 13.9087 4.46154 13.0319 4.46154H11.7035ZM2.96808 5.96154C2.84282 5.96154 2.73689 6.05424 2.72028 6.17839L1.64489 14.2169C1.62484 14.3668 1.74145 14.5 1.89269 14.5H14.1073C14.2586 14.5 14.3752 14.3668 14.3551 14.2169L13.2797 6.17839C13.2631 6.05424 13.1572 5.96154 13.0319 5.96154H2.96808Z" fill="currentColor"/>
836</svg>
837
838  
839</div>
840            </a>
841          </li>
842        </ul>
843
844        <div data-cart-announcer aria-live="polite" aria-atomic="true" class="visually-hidden"></div>
845
846      </div>
847    </div>
848    
849      <search-header>
850        <div class='search-header'>
851  <div class='search-header__inner'>
852    <form class='search-header__form' action='/search' method='get'>
853      <button type='submit' class='search-header__button' aria-label='Search'>
854        <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
855<path fill-rule="evenodd" clip-rule="evenodd" d="M0 6.37079C0 2.8523 2.8523 0 6.37079 0C9.88927 0 12.7416 2.8523 12.7416 6.37079C12.7416 7.85977 12.2308 9.22945 11.3748 10.3141L15.7803 14.7197L14.7197 15.7803L10.3141 11.3748C9.22945 12.2308 7.85977 12.7416 6.37079 12.7416C2.8523 12.7416 0 9.88927 0 6.37079ZM6.37079 1.5C3.68073 1.5 1.5 3.68073 1.5 6.37079C1.5 9.06085 3.68073 11.2416 6.37079 11.2416C9.06085 11.2416 11.2416 9.06085 11.2416 6.37079C11.2416 3.68073 9.06085 1.5 6.37079 1.5Z" fill="currentColor"/>
856</svg>
857
858      </button>
859      <input
860        type='search'
861        name='q'
862        class='search-header__input'
863        placeholder='Search'
864        aria-label='Search'
865        autocomplete='off'
866      >
867      <button class='search-header__button' type='button' aria-label='Close search'>
868        <svg class="svg-fill-current-color" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
869  <path d="M1.25 18.75L18.75 1.25M18.75 18.75L1.25 1.25" vector-effect="non-scaling-stroke" stroke="currentColor" stroke-width="1.5" stroke-linejoin="bevel"/>
870</svg>
871
872      </button>
873    </form>
874  </div>
875</div>
876
877      </search-header>
878    
879  </div>
880</header>
881
882
883<aside 
884  data-drawer="mobile-menu" 
885  class="drawer hidden@sm"
886>
887  <div class="drawer__background" data-drawer-trigger-primary="mobile-menu"></div>
888  <div class="drawer__content drawer__content--small mobile-menu">
889    <div class="mobile-menu__section mobile-menu__section--header">
890      <button type="button" class="mobile-menu__close" data-drawer-trigger-primary="mobile-menu" aria-label="Close menu">
891        <svg class="svg-fill-current-color" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false">
892  <path d="M1.25 18.75L18.75 1.25M18.75 18.75L1.25 1.25" vector-effect="non-scaling-stroke" stroke="currentColor" stroke-width="1.5" stroke-linejoin="bevel"/>
893</svg>
894
895      </button>
896    </div>
897    <div class="mobile-menu__section mobile-menu__section--body">
898      <div class="mobile-menu__nav">
899        <ul class="mobile-menu__list">
900          
901            <li class="mobile-menu__list-item">
902              
903                <a
904                  href="/"
905                  class="mobile-menu__link"
906                >
907                  Home
908                </a>
909              
910
911              
912            </li>
913          
914            <li class="mobile-menu__list-item">
915              
916                <a
917                  href="/pages/about"
918                  class="mobile-menu__link"
919                >
920                  About
921                </a>
922              
923
924              
925            </li>
926          
927            <li class="mobile-menu__list-item">
928              
929                <a
930                  href="/pages/books"
931                  class="mobile-menu__link"
932                >
933                  Books
934                </a>
935              
936
937              
938            </li>
939          
940            <li class="mobile-menu__list-item">
941              
942                <a
943                  href="/collections/audiobooks"
944                  class="mobile-menu__link"
945                >
946                  Audiobooks
947                </a>
948              
949
950              
951            </li>
952          
953            <li class="mobile-menu__list-item">
954              
955                <a
956                  href="/collections/bookish-merch"
957                  class="mobile-menu__link"
958                >
959                  Merch
960                </a>
961              
962
963              
964            </li>
965          
966            <li class="mobile-menu__list-item">
967              
968                <a
969                  href="/pages/newsletter"
970                  class="mobile-menu__link"
971                >
972                  Newsletter
973                </a>
974              
975
976              
977            </li>
978          
979            <li class="mobile-menu__list-item">
980              
981                <a
982                  href="/collections/all"
983                  class="mobile-menu__link"
984                >
985                  Browse all
986                </a>
987              
988
989              
990            </li>
991          
992
993          
994            <li class="mobile-menu__list-item">
995              <a for="input-drawer" class="mobile-menu__link" data-accordion="trigger" role="button" tabindex="0">
996                USD
997
998                
999                  <div class="mobile-menu__link-icon">
1000                    <svg class="svg-fill-current-color" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
1001  <path d="M0 7.33l2.829-2.83 9.175 9.339 9.167-9.339 2.829 2.83-11.996 12.17z" vector-effect="non-scaling-stroke"/>
1002</svg>
1003
1004                  </div>
1005                
1006              </a>
1007
1008              
1009                <div class="mobile-menu__dropdown mobile-menu__dropdown--content">
1010                  <ul class="mobile-menu__dropdown-inner">
1011                    
1012                      <li class="mobile-menu__dropdown-item">
1013                        <a class="mobile-menu__dropdown-link" href="/localization?currency=USD&return_to=/cart">
1014                          USD
1015                        </a>
1016                      </li>
1017                    
1018                      <li class="mobile-menu__dropdown-item">
1019                        <a class="mobile-menu__dropdown-link" href="/localization?currency=EUR&return_to=/cart">
1020                          EUR
1021                        </a>
1022                      </li>
1023                    
1024                      <li class="mobile-menu__dropdown-item">
1025                        <a class="mobile-menu__dropdown-link" href="/localization?currency=CAD&return_to=/cart">
1026                          CAD
1027                        </a>
1028                      </li>
1029                    
1030                      <li class="mobile-menu__dropdown-item">
1031                        <a class="mobile-menu__dropdown-link" href="/localization?currency=GBP&return_to=/cart">
1032                          GBP
1033                        </a>
1034                      </li>
1035                    
1036                      <li class="mobile-menu__dropdown-item">
1037                        <a class="mobile-menu__dropdown-link" href="/localization?currency=AUD&return_to=/cart">
1038                          AUD
1039                        </a>
1040                      </li>
1041                    
1042                      <li class="mobile-menu__dropdown-item">
1043                        <a class="mobile-menu__dropdown-link" href="/localization?currency=NZD&return_to=/cart">
1044                          NZD
1045                        </a>
1046                      </li>
1047                    
1048                      <li class="mobile-menu__dropdown-item">
1049                        <a class="mobile-menu__dropdown-link" href="/localization?currency=SEK&return_to=/cart">
1050                          SEK
1051                        </a>
1052                      </li>
1053                    
1054                      <li class="mobile-menu__dropdown-item">
1055                        <a class="mobile-menu__dropdown-link" href="/localization?currency=NOK&return_to=/cart">
1056                          NOK
1057                        </a>
1058                      </li>
1059                    
1060                      <li class="mobile-menu__dropdown-item">
1061                        <a class="mobile-menu__dropdown-link" href="/localization?currency=DKK&return_to=/cart">
1062                          DKK
1063                        </a>
1064                      </li>
1065                    
1066                      <li class="mobile-menu__dropdown-item">
1067                        <a class="mobile-menu__dropdown-link" href="/localization?currency=PLN&return_to=/cart">
1068                          PLN
1069                        </a>
1070                      </li>
1071                    
1072                      <li class="mobile-menu__dropdown-item">
1073                        <a class="mobile-menu__dropdown-link" href="/localization?currency=INR&return_to=/cart">
1074                          INR
1075                        </a>
1076                      </li>
1077                    
1078                      <li class="mobile-menu__dropdown-item">
1079                        <a class="mobile-menu__dropdown-link" href="/localization?currency=JPY&return_to=/cart">
1080                          JPY
1081                        </a>
1082                      </li>
1083                    
1084                      <li class="mobile-menu__dropdown-item">
1085                        <a class="mobile-menu__dropdown-link" href="/localization?currency=MYR&return_to=/cart">
1086                          MYR
1087                        </a>
1088                      </li>
1089                    
1090                      <li class="mobile-menu__dropdown-item">
1091                        <a class="mobile-menu__dropdown-link" href="/localization?currency=SGD&return_to=/cart">
1092                          SGD
1093                        </a>
1094                      </li>
1095                    
1096                      <li class="mobile-menu__dropdown-item">
1097                        <a class="mobile-menu__dropdown-link" href="/localization?currency=MXN&return_to=/cart">
1098                          MXN
1099                        </a>
1100                      </li>
1101                    
1102                      <li class="mobile-menu__dropdown-item">
1103                        <a class="mobile-menu__dropdown-link" href="/localization?currency=BRL&return_to=/cart">
1104                          BRL
1105                        </a>
1106                      </li>
1107                    
1108                      <li class="mobile-menu__dropdown-item">
1109                        <a class="mobile-menu__dropdown-link" href="/localization?currency=CHF&return_to=/cart">
1110                          CHF
1111                        </a>
1112                      </li>
1113                    
1114                  </ul>
1115                </div>
1116              
1117            </li>
1118          
1119        </ul>
1120      </div>
1121    </div>
1122    <div class="mobile-menu__section mobile-menu__section--socials">
1123      <div class="mobile-menu__list-social">
1124        <ul class="mobile-menu__socials">
1125          
1126
1127
1128
1129  
1130    <li class="mobile-menu__social">
1131      <a
1132        
1133          href="https://tiktok.com/@rosemackieauthor"
1134        
1135        target="_blank"
1136        class="mobile-menu__social-link"
1137        aria-label="Tiktok (opens in a new tab)"
1138      >
1139        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
1140<path fill-rule="evenodd" clip-rule="evenodd" d="M13.7329 0C14.0629 2.83809 15.6469 4.53015 18.401 4.71015V7.90226C16.805 8.05826 15.4069 7.53624 13.7809 6.55221V12.5224C13.7809 20.1067 5.51259 22.4767 2.18848 17.0406C0.0524123 13.5424 1.36045 7.40424 8.21268 7.15823V10.5243C7.69066 10.6083 7.13264 10.7403 6.62263 10.9144C5.09858 11.4304 4.23455 12.3964 4.47456 14.1005C4.93657 17.3646 10.9248 18.3306 10.4267 11.9524V0.00600019H13.7329V0Z" fill="currentColor"/>
1141</svg>
1142
1143        
1144      </a>
1145    </li>
1146  
1147
1148
1149  
1150    <li class="mobile-menu__social">
1151      <a
1152        
1153          href="https://instagram.com/rosemackieauthor"
1154        
1155        target="_blank"
1156        class="mobile-menu__social-link"
1157        aria-label="Instagram (opens in a new tab)"
1158      >
1159        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
1160<path fill-rule="evenodd" clip-rule="evenodd" d="M4.99525 0H15.0047C17.7635 0 20 2.23604 20 4.99525V15.0047C20 17.7635 17.764 20 15.0047 20H4.99525C2.23645 20 0 17.764 0 15.0047V4.99525C0 2.23645 2.23604 0 4.99525 0ZM2 15.0047C2 16.6592 3.34085 18 4.99525 18H15.0047C16.6592 18 18 16.6591 18 15.0047V4.99525C18 3.34078 16.6591 2 15.0047 2H4.99525C3.34078 2 2 3.34085 2 4.99525V15.0047ZM5 10C5 7.23858 7.23858 5 10 5C12.7614 5 15 7.23858 15 10C15 12.7614 12.7614 15 10 15C7.23858 15 5 12.7614 5 10ZM13 10C13 8.34315 11.6569 7 10 7C8.34315 7 7 8.34315 7 10C7 11.6569 8.34315 13 10 13C11.6569 13 13 11.6569 13 10ZM15 6C15.5523 6 16 5.55228 16 5C16 4.44772 15.5523 4 15 4C14.4477 4 14 4.44772 14 5C14 5.55228 14.4477 6 15 6Z" fill="currentColor"/>
1161</svg>
1162
1163        
1164      </a>
1165    </li>
1166  
1167
1168
1169  
1170    <li class="mobile-menu__social">
1171      <a
1172        
1173          href="https://open.spotify.com/show/1DUrD988r6Ka5UnFosm5vf"
1174        
1175        target="_blank"
1176        class="mobile-menu__social-link"
1177        aria-label="Spotify (opens in a new tab)"
1178      >
1179        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
1180<path d="M10.0006 0.150391C4.56099 0.150391 0.151703 4.55968 0.151703 9.99926C0.151703 15.4388 4.56099 19.8481 10.0006 19.8481C15.4401 19.8481 19.8494 15.4388 19.8494 9.99926C19.8494 4.55968 15.4401 0.150391 10.0006 0.150391ZM14.5169 14.3568C14.3405 14.6473 13.9618 14.7379 13.6724 14.5614C11.359 13.1477 8.44808 12.829 5.01968 13.6123C4.68919 13.6876 4.35988 13.4806 4.2846 13.1513C4.20933 12.8208 4.41515 12.4915 4.74682 12.4162C8.49866 11.5588 11.7165 11.9281 14.3134 13.5135C14.6027 13.6888 14.6945 14.0675 14.5169 14.3568ZM15.7224 11.6752C15.5001 12.0363 15.0273 12.1504 14.6663 11.9281C12.02 10.3015 7.98352 9.8299 4.8515 10.7802C4.44573 10.9025 4.01645 10.6744 3.89295 10.2686C3.77064 9.86283 3.99998 9.43472 4.40457 9.31123C7.98234 8.22566 12.4293 8.75139 15.4684 10.6203C15.8306 10.8414 15.9435 11.3142 15.7224 11.6752ZM15.8259 8.88194C12.6516 6.99661 7.41427 6.82372 4.3834 7.74345C3.89648 7.89164 3.38252 7.61643 3.23433 7.12951C3.08731 6.6426 3.36135 6.12863 3.84826 5.98044C7.32724 4.92428 13.1114 5.12893 16.7656 7.2977C17.2032 7.55762 17.3466 8.12334 17.0879 8.5
11805968C16.8291 8.9972 16.2623 9.14186 15.8259 8.88194Z" fill="currentColor"/>
1181</svg>
1182
1183        
1184      </a>
1185    </li>
1186  
1187
1188
1189  
1190    <li class="mobile-menu__social">
1191      <a
1192        
1193          href="https://youtube.com/channel/UC6Zx5GV86iuU_0azPcI0g8A"
1194        
1195        target="_blank"
1196        class="mobile-menu__social-link"
1197        aria-label="Youtube (opens in a new tab)"
1198      >
1199        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
1200<path d="M16.7183 3.125H3.28167C1.4725 3.125 0 4.59833 0 6.4075V14.0083C0 15.8183 1.4725 17.2917 3.28167 17.2917H16.7192C18.5275 17.2917 20 15.8183 20 14.0083V6.4075C20 4.59833 18.5275 3.125 16.7183 3.125ZM13.7817 10.2342L8.14083 13.8433C8.0725 13.8867 7.99417 13.9092 7.91667 13.9092C7.8475 13.9092 7.77917 13.8917 7.71667 13.8575C7.58333 13.785 7.5 13.6442 7.5 13.4925V6.27417C7.5 6.12083 7.58333 5.98083 7.71667 5.9075C7.85083 5.835 8.01333 5.84083 8.14167 5.9225L13.7825 9.5325C13.9025 9.60917 13.975 9.74083 13.975 9.88333C13.9742 10.0258 13.901
12007 10.1575 13.7817 10.2342Z" fill="currentColor"/>
1201</svg>
1202
1203        
1204      </a>
1205    </li>
1206  
1207
1208
1209        </ul>
1210      </div>
1211    </div>
1212  </div>
1213</aside>
1214
1215<script>
1216  const currencyData = {
1217    locale: 'en-US',
1218    currency: 'USD',
1219  }
1220</script>
1220
1221
1222
1223
1224</div>
1225      </div>
1226
1227      <main id="main-content" class="page__main">
1228        <div class="main main--cart">
1229  <div class="main__sections main__sections--space" data-testid="main.sections">
1230    <div id="fw-section-cart" class="fw-section">
1231<section class="cart-container" data-cart="cart" data-testid="main.single.section">
1232  <div class="container container--10 wrapper">
1233    <div id="cart-component" class="cart-container__cart-component"></div>
1234  </div>
1235</section>
1236</div>
1237
1238    <div id="fw-section-cart-product-recommendations" class="fw-section">
1239<section data-testid="main.single.section" class="cart-product-recommendations">
1240  <cart-product-recommendations />
1241</section>
1242
1243<template id="product-template">
1244  <div>
1245    <div data-testid="product" class="product-tile" data-id="fw-section-cart-product-recommendations">
1246      <a href="" class="tile">
1247        <div class="tile__image">
1248          <div class="image image--background-color">
1249            <div class="image__object">
1250              <img
1251                alt=""
1252                class="tile__item"
1253              >
1254            </div>
1255          </div>
1256        </div>
1257
1258        
1259          <div class="tile__description tile__description--center">
1260            <h3 class="tile__heading">
1261            </h3>
1262
1263
1264            <p class="tile__prices">
1265              <span class="tile__price tile__price--offer">
1266              </span>
1267
1268              <span class="tile__price tile__price--original">
1269              </span>
1270            </p>
1271          </div>
1272        
1273      </a>
1274    </div>
1275  </div>
1276</template>
1277</div>
1278  </div>
1279</div>
1280
1281      </main>
1282
1283      <div class="page__footer">
1284        <div id="fw-section-footer" class="fw-section"><style>
1285  .section-fw-section-footer-padding {
1286    padding-top: 15px;
1287    padding-bottom: 15px;
1288  }
1289
1290  @media screen and (min-width: 640px) {
1291    .section-fw-section-footer-padding {
1292      padding-top: 20px;
1293      padding-bottom: 20px;
1294    }
1295  }
1296</style>
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313<footer data-testid="main.single.section" class="footer section-fw-section-footer-padding">
1314  
1315  <div class="wrapper ">
1316    <div class="footer__inner">
1317      
1318        <div class="footer__top">
1319          <div class="col-grid col-grid--middle col-grid--4-8@md col-grid--reversed@md">
1320            <div>
1321              
1322  <div class="footer__socials">
1323    <ul class="footer__list footer__list--socials">
1324      
1325
1326
1327
1328  
1329    <li class="footer__list-item footer__list-item--social">
1330      <a
1331        
1332          href="https://tiktok.com/@rosemackieauthor"
1333        
1334        target="_blank"
1335        class="footer__social-link"
1336        aria-label="Tiktok (opens in a new tab)"
1337      >
1338        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
1339<path fill-rule="evenodd" clip-rule="evenodd" d="M13.7329 0C14.0629 2.83809 15.6469 4.53015 18.401 4.71015V7.90226C16.805 8.05826 15.4069 7.53624 13.7809 6.55221V12.5224C13.7809 20.1067 5.51259 22.4767 2.18848 17.0406C0.0524123 13.5424 1.36045 7.40424 8.21268 7.15823V10.5243C7.69066 10.6083 7.13264 10.7403 6.62263 10.9144C5.09858 11.4304 4.23455 12.3964 4.47456 14.1005C4.93657 17.3646 10.9248 18.3306 10.4267 11.9524V0.00600019H13.7329V0Z" fill="currentColor"/>
1340</svg>
1341
1342        
1343      </a>
1344    </li>
1345  
1346
1347
1348  
1349    <li class="footer__list-item footer__list-item--social">
1350      <a
1351        
1352          href="https://instagram.com/rosemackieauthor"
1353        
1354        target="_blank"
1355        class="footer__social-link"
1356        aria-label="Instagram (opens in a new tab)"
1357      >
1358        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
1359<path fill-rule="evenodd" clip-rule="evenodd" d="M4.99525 0H15.0047C17.7635 0 20 2.23604 20 4.99525V15.0047C20 17.7635 17.764 20 15.0047 20H4.99525C2.23645 20 0 17.764 0 15.0047V4.99525C0 2.23645 2.23604 0 4.99525 0ZM2 15.0047C2 16.6592 3.34085 18 4.99525 18H15.0047C16.6592 18 18 16.6591 18 15.0047V4.99525C18 3.34078 16.6591 2 15.0047 2H4.99525C3.34078 2 2 3.34085 2 4.99525V15.0047ZM5 10C5 7.23858 7.23858 5 10 5C12.7614 5 15 7.23858 15 10C15 12.7614 12.7614 15 10 15C7.23858 15 5 12.7614 5 10ZM13 10C13 8.34315 11.6569 7 10 7C8.34315 7 7 8.34315 7 10C7 11.6569 8.34315 13 10 13C11.6569 13 13 11.6569 13 10ZM15 6C15.5523 6 16 5.55228 16 5C16 4.44772 15.5523 4 15 4C14.4477 4 14 4.44772 14 5C14 5.55228 14.4477 6 15 6Z" fill="currentColor"/>
1360</svg>
1361
1362        
1363      </a>
1364    </li>
1365  
1366
1367
1368  
1369    <li class="footer__list-item footer__list-item--social">
1370      <a
1371        
1372          href="https://open.spotify.com/show/1DUrD988r6Ka5UnFosm5vf"
1373        
1374        target="_blank"
1375        class="footer__social-link"
1376        aria-label="Spotify (opens in a new tab)"
1377      >
1378        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
1379<path d="M10.0006 0.150391C4.56099 0.150391 0.151703 4.55968 0.151703 9.99926C0.151703 15.4388 4.56099 19.8481 10.0006 19.8481C15.4401 19.8481 19.8494 15.4388 19.8494 9.99926C19.8494 4.55968 15.4401 0.150391 10.0006 0.150391ZM14.5169 14.3568C14.3405 14.6473 13.9618 14.7379 13.6724 14.5614C11.359 13.1477 8.44808 12.829 5.01968 13.6123C4.68919 13.6876 4.35988 13.4806 4.2846 13.1513C4.20933 12.8208 4.41515 12.4915 4.74682 12.4162C8.49866 11.5588 11.7165 11.9281 14.3134 13.5135C14.6027 13.6888 14.6945 14.0675 14.5169 14.3568ZM15.7224 11.6752C15.5001 12.0363 15.0273 12.1504 14.6663 11.9281C12.02 10.3015 7.98352 9.8299 4.8515 10.7802C4.44573 10.9025 4.01645 10.6744 3.89295 10.2686C3.77064 9.86283 3.99998 9.43472 4.40457 9.31123C7.98234 8.22566 12.4293 8.75139 15.4684 10.6203C15.8306 10.8414 15.9435 11.3142 15.7224 11.6752ZM15.8259 8.88194C12.6516 6.99661 7.41427 6.82372 4.3834 7.74345C3.89648 7.89164 3.38252 7.61643 3.23433 7.12951C3.08731 6.6426 3.36135 6.12863 3.84826 5.98044C7.32724 4.92428 13.1114 5.12893 16.7656 7.2977C17.2032 7.55762 17.3466 8.12334 17.0879 8.5
13795968C16.8291 8.9972 16.2623 9.14186 15.8259 8.88194Z" fill="currentColor"/>
1380</svg>
1381
1382        
1383      </a>
1384    </li>
1385  
1386
1387
1388  
1389    <li class="footer__list-item footer__list-item--social">
1390      <a
1391        
1392          href="https://youtube.com/channel/UC6Zx5GV86iuU_0azPcI0g8A"
1393        
1394        target="_blank"
1395        class="footer__social-link"
1396        aria-label="Youtube (opens in a new tab)"
1397      >
1398        <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
1399<path d="M16.7183 3.125H3.28167C1.4725 3.125 0 4.59833 0 6.4075V14.0083C0 15.8183 1.4725 17.2917 3.28167 17.2917H16.7192C18.5275 17.2917 20 15.8183 20 14.0083V6.4075C20 4.59833 18.5275 3.125 16.7183 3.125ZM13.7817 10.2342L8.14083 13.8433C8.0725 13.8867 7.99417 13.9092 7.91667 13.9092C7.8475 13.9092 7.77917 13.8917 7.71667 13.8575C7.58333 13.785 7.5 13.6442 7.5 13.4925V6.27417C7.5 6.12083 7.58333 5.98083 7.71667 5.9075C7.85083 5.835 8.01333 5.84083 8.14167 5.9225L13.7825 9.5325C13.9025 9.60917 13.975 9.74083 13.975 9.88333C13.9742 10.0258 13.9017 10.1575 13.7817 10.2342Z" fill="currentColor"/>
1400</svg>
1401
1402        
1403      </a>
1404    </li>
1405  
1406
1407
1408    </ul>
1409  </div>
1410
1411            </div>
1412
1413            <div>
1414              <nav class="footer__nav" aria-label="Footer">
1415                <ul class="footer__list footer__list--menu">
1416                  
1417  
1418    <li class="footer__list-item">
1419      <a class="footer__menu-link footer__menu-link--icon" tabindex="0" role="button" aria-label="Currency selector, current: USD">
1420        USD
1421        
1422          <span class="footer__link-icon">
1423            <svg class="svg-fill-current-color" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true" focusable="false">
1424  <path d="M0 7.33l2.829-2.83 9.175 9.339 9.167-9.339 2.829 2.83-11.996 12.17z" vector-effect="non-scaling-stroke"/>
1425</svg>
1426
1427          </span>
1428        
1429      </a>
1430      
1431        <div class="footer__dropdown footer__dropdown--content">
1432          <ul class="footer__dropdown-inner">
1433            
1434              <li class="footer__dropdown-item">
1435                <a class="footer__dropdown-link" href="/localization?currency=USD&return_to=/cart">
1436                  USD
1437                </a>
1438              </li>
1439            
1440              <li class="footer__dropdown-item">
1441                <a class="footer__dropdown-link" href="/localization?currency=EUR&return_to=/cart">
1442                  EUR
1443                </a>
1444              </li>
1445            
1446              <li class="footer__dropdown-item">
1447                <a class="footer__dropdown-link" href="/localization?currency=CAD&return_to=/cart">
1448                  CAD
1449                </a>
1450              </li>
1451            
1452              <li class="footer__dropdown-item">
1453                <a class="footer__dropdown-link" href="/localization?currency=GBP&return_to=/cart">
1454                  GBP
1455                </a>
1456              </li>
1457            
1458              <li class="footer__dropdown-item">
1459                <a class="footer__dropdown-link" href="/localization?currency=AUD&return_to=/cart">
1460                  AUD
1461                </a>
1462              </li>
1463            
1464              <li class="footer__dropdown-item">
1465                <a class="footer__dropdown-link" href="/localization?currency=NZD&return_to=/cart">
1466                  NZD
1467                </a>
1468              </li>
1469            
1470              <li class="footer__dropdown-item">
1471                <a class="footer__dropdown-link" href="/localization?currency=SEK&return_to=/cart">
1472                  SEK
1473                </a>
1474              </li>
1475            
1476              <li class="footer__dropdown-item">
1477                <a class="footer__dropdown-link" href="/localization?currency=NOK&return_to=/cart">
1478                  NOK
1479                </a>
1480              </li>
1481            
1482              <li class="footer__dropdown-item">
1483                <a class="footer__dropdown-link" href="/localization?currency=DKK&return_to=/cart">
1484                  DKK
1485                </a>
1486              </li>
1487            
1488              <li class="footer__dropdown-item">
1489                <a class="footer__dropdown-link" href="/localization?currency=PLN&return_to=/cart">
1490                  PLN
1491                </a>
1492              </li>
1493            
1494              <li class="footer__dropdown-item">
1495                <a class="footer__dropdown-link" href="/localization?currency=INR&return_to=/cart">
1496                  INR
1497                </a>
1498              </li>
1499            
1500              <li class="footer__dropdown-item">
1501                <a class="footer__dropdown-link" href="/localization?currency=JPY&return_to=/cart">
1502                  JPY
1503                </a>
1504              </li>
1505            
1506              <li class="footer__dropdown-item">
1507                <a class="footer__dropdown-link" href="/localization?currency=MYR&return_to=/cart">
1508                  MYR
1509                </a>
1510              </li>
1511            
1512              <li class="footer__dropdown-item">
1513                <a class="footer__dropdown-link" href="/localization?currency=SGD&return_to=/cart">
1514                  SGD
1515                </a>
1516              </li>
1517            
1518              <li class="footer__dropdown-item">
1519                <a class="footer__dropdown-link" href="/localization?currency=MXN&return_to=/cart">
1520                  MXN
1521                </a>
1522              </li>
1523            
1524              <li class="footer__dropdown-item">
1525                <a class="footer__dropdown-link" href="/localization?currency=BRL&return_to=/cart">
1526                  BRL
1527                </a>
1528              </li>
1529            
1530              <li class="footer__dropdown-item">
1531                <a class="footer__dropdown-link" href="/localization?currency=CHF&return_to=/cart">
1532                  CHF
1533                </a>
1534              </li>
1535            
1536          </ul>
1537        </div>
1538      
1539    </li>
1540  
1541
1542                  
1543  
1544    <li class="footer__list-item">
1545      <a href="/contact" class="footer__menu-link" >Contact Support</a>
1546    </li>
1547  
1548    <li class="footer__list-item">
1549      <a href="/pages/terms-of-service" class="footer__menu-link" >Terms of Service</a>
1550    </li>
1551  
1552    <li class="footer__list-item">
1553      <a href="/pages/privacy-policy" class="footer__menu-link" >Privacy Policy</a>
1554    </li>
1555  
1556    <li class="footer__list-item">
1557      <a href="/pages/returns-faq" class="footer__menu-link" >Returns &amp; FAQ</a>
1558    </li>
1559  
1560
1561                </ul>
1562              </nav>
1563            </div>
1564          </div>
1565        </div>
1566
1567        <div class="footer__bottom">
1568          <ul class="footer__list footer__list--bottom">
1569            <li class="footer__list-item">
1569<div class="footer__copy">&copy; 2026 RoseMackie</div></li>
1570            
1571              <li class="footer__list-item"><div class="footer__powered-by">Powered by <a href="https://fourthwall.com/?utm_source=footer&utm_medium=fourthwall&utm_campaign=poweredby" style="padding-left: 0;" target="_blank" rel="noopener">Fourthwall</a></div></li>
1572            
1573          </ul>
1574        </div>
1575      
1576    </div>
1577  </div>
1578</footer>
1579
1580
1581</div>
1582      </div>
1583    </div>
1584
1585    
1585<script>
1586  var fourthwallTheme = {
1587    strings: {
1588      addToCart: "Add to Cart",
1589      redeemGift: "Redeem Your Gift",
1590      viewCart: "View Cart",
1591      checkout: "Checkout",
1592      outOfStock: "Out of Stock",
1593      unavailable: "Not Available",
1594      soldOut: "Sold Out",
1595      soldOutSuffix: " - Sold Out",
1596      missingQuantityError: "Please choose the quantity.",
1597      generalError: "An error occurred. Please try refreshing the page.",
1598      item: "item",
1599      items: "items",
1600      startShopping: "Start Shopping",
1601      subtotal: "Subtotal",
1602      backToShopping: "Back to Shopping",
1603      cart: {
1604        heading: "[item_count] [item_count_label] in your cart for [total]",
1605        emptyHeading: "Your Shopping Cart is Empty",
1606        tableHeader: {
1607          item: "Item",
1608          quantity: "Quantity",
1609          price: "Price"
1610        },
1611        deleteModal: {
1612          heading: "Are you sure you want to remove [title] from your cart?",
1613          cancel: "Cancel",
1614          delete: "Delete"
1615        }
1616      },
1617      newsletter: {
1618        missingEmailError: 'Please enter your email.',
1619        invalidEmailError: 'Please enter a valid email.',
1620        subscribeSuccess: 'Thanks for subscribing!'
1621      },
1622      donation: {
1623        missingAmountError: 'Please select or enter the donation amount.',
1624        invalidAmountError: 'Please enter a valid donation amount.',
1625        missingNameError: 'Please enter your name.',
1626        missingMessageError: 'Please enter the message.'
1627      },
1628      checkoutErrors: {
1629        default: "There was an issue with your checkout. Please review your cart and try again.",
1630        CHECKOUT_CART_ITEMS_CHANGED: "Your cart has changed since you started checkout. Please review your items and try again.",
1631        CHECKOUT_STOCK_NOT_ENOUGH_QUANTITY: "Some items in your cart are no longer available in the requested quantity. Please update your cart and try again."
1632      }
1633    },
1634    urls: {
1635      cart: "/cart",
1636      cartItemLocalizedPrefix: "",
1637      cartAddUrl: "/cart/add",
1638      cartChangeUrl: "/cart/change",
1639      productsUrlPrefix: "/products",
1640      allProductsCollection: "/collections/all",
1641    }
1642  };
1643</script>
1643
1644
1645
1646    
1646<script src="https://themes.fourthwall.dev/themes-library/assets/c97a08c2-fa31-4bff-93d5-c7aad9121754/assets/theme.js?v=0f65449d1e112719f88bf7fc40bdfe6de3f7838a6b512445ac45a069382e2fe4" rel="preload" integrity="sha256-D2VEnR4RJxn4i/f8QL3+beP3g4prUSRFrEWgaTguL+Q=" crossorigin="anonymous"></script>
1646
1647    
1648    
1649<div id="cookie-consent-banner-container" data-turbo-permanent="true"></div>
1650
1651
1652  <div class="admin-bar-container hidden">
1653  <div id="admin-bar" class="admin-bar sticky hidden">
1654    <div class="wrapper">
1655      <div>
1656        <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
1657          <path fill="#FDFCFB" d="m11.947 6-.682 3.151H9.983c-1.61 0-1.964.081-2.237 1.195l-.136.733h3.246l-.683 3.178H6.928L4.5 25.692H0l2.428-11.435H.409l.682-3.178h1.991l.219-.923C4.01 6.706 5.7 6 9.628 6h2.319Zm3.525 5.08 1.936 9.913 1.718-9.914h4.637l1.69 9.914 1.938-9.914H32l-3.382 14.613h-5.21L21.446 14.91 19.48 25.692h-5.237L10.862 11.08h4.61Z"/>
1658        </svg>
1659      </div>
1660      <div class="actions">
1661        <div class='desktop'>
1662          <div class="dropdown">
1663            <button class="dropdown-button desktop-switcher pill" data-target="desktop-switcher">View as: </button>
1664            <div class="dropdown-content" id="desktop-switcher">
1665              <ul>
1666                <li class="dropdown-item" data-mode="creator">Admin</li>
1667                <li class="dropdown-item" data-mode="supporter">Supporter</li>
1668              </ul>
1669            </div>
1670          </div>
1671          
1672          <a href="/admin/dashboard" rel="noopener noreferrer" class="pill dashboard-link">Go to dashboard</a>
1673        </div>
1674
1675        <div class='mobile'>
1676          <div class="dropdown">
1677            <button class="dropdown-button pill mobile-switcher" data-target="mobile-switcher">View as</button>
1678            <div class="dropdown-content" id="mobile-switcher">
1679              <ul>
1680                <li class="dropdown-item" data-mode="creator">Admin</li>
1681                <li class="dropdown-item" data-mode="supporter">Supporter</li>
1682              </ul>
1683            </div>
1684          </div>
1685
1686          <div class="dropdown mobile">
1687            <button class="dropdown-button pill" data-target="mobile-links">
1688              <svg width="16" height="14" viewBox="0 0 16 14" fill="none" xmlns="http://www.w3.org/2000/svg">
1689                <g id="Dots horizontal">
1690                  <g>
1691                    <path d="M2.96875 7C2.96875 7.42284 2.62597 7.76562 2.20312 7.76562C1.78028 7.76562 1.4375 7.42284 1.4375 7C1.4375 6.57716 1.78028 6.23438 2.20312 6.23438C2.62597 6.23438 2.96875 6.57716 2.96875 7Z" stroke="#FDFCFB" stroke-width="1.5"/>
1692                    <path d="M8.76562 7C8.76562 7.42284 8.42284 7.76562 8 7.76562C7.57716 7.76562 7.23438 7.42284 7.23438 7C7.23438 6.57716 7.57716 6.23438 8 6.23438C8.42284 6.23438 8.76562 6.57716 8.76562 7Z" stroke="#FDFCFB" stroke-width="1.5"/>
1693                    <path d="M14.5625 7C14.5625 7.42284 14.2197 7.76562 13.7969 7.76562C13.374 7.76562 13.0312 7.42284 13.0312 7C13.0312 6.57716 13.374 6.23438 13.7969 6.23438C14.2197 6.23438 14.5625 6.57716 14.5625 7Z" stroke="#FDFCFB" stroke-width="1.5"/>
1694                  </g>
1695                </g>
1696              </svg>
1697            </button>
1698            <div class="dropdown-content" id="mobile-links">
1699              <a href="/admin/dashboard" rel="noopener noreferrer" class="dropdown-item">Go to dashboard</a>
1700            </div>
1701          </div>
1702        </div>
1703
1704        <div class="pill close">
1705          <svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
1706            <g>
1707              <path d="M0.875 13.125L13.125 0.875M13.125 13.125L0.875 0.875" stroke="#FDFCFB" stroke-width="1.5" stroke-linejoin="bevel"/>
1708            </g>
1709          </svg>
1710        </div>
1711      </div>
1712    </div>
1713  </div>
1714
1715  <div id="admin-bar-small" class="admin-bar-small sticky hidden">
1716    <div class="wrapper">
1717      <div>
1718        <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
1719          <path fill="#FDFCFB" d="m11.947 6-.682 3.151H9.983c-1.61 0-1.964.081-2.237 1.195l-.136.733h3.246l-.683 3.178H6.928L4.5 25.692H0l2.428-11.435H.409l.682-3.178h1.991l.219-.923C4.01 6.706 5.7 6 9.628 6h2.319Zm3.525 5.08 1.936 9.913 1.718-9.914h4.637l1.69 9.914 1.938-9.914H32l-3.382 14.613h-5.21L21.446 14.91 19.48 25.692h-5.237L10.862 11.08h4.61Z"/>
1720        </svg>
1721      </div>
1722    </div>
1723  </div>
1724</div>
1725
1726<script>
1727  const cookieModule = {
1728    setCookie: function (name, value, days = 365, maxAge) {
1729      const expires = new Date(Date.now() + days * 24 * 60 * 60 * 1000).toUTCString();
1730      let cookieString = `${name}=${value}; expires=${expires}; path=/`;
1731
1732      if (maxAge) {
1733        cookieString += `; max-age=${maxAge}`;
1734      }
1735
1736      document.cookie = cookieString;
1737    },
1738
1739    getCookie: function (name) {
1740      const cookie = document.cookie.split(';').find(c => c.trim().startsWith(`${name}=`));
1741      return cookie ? cookie.split('=')[1] : null;
1742    }
1743  };
1744
1745  const AdminBar = {
1746    adminBar: document.getElementById("admin-bar"),
1747    adminBarContainer: document.querySelector(".admin-bar-container"),
1748    adminBarSmall: document.getElementById("admin-bar-small"),
1749    closeButton: document.querySelector('#admin-bar .close'),
1750    viewAsDesktopButton: document.querySelector(".desktop-switcher"),
1751    dropdownButtons: document.querySelectorAll(".dropdown-button"),
1752    dropdownContents: document.querySelectorAll(".dropdown-content"),
1753    inIframe: () => {
1754      try {
1755        return window.self !== window.top;
1756      } catch (e) {
1757        return true;
1758      }
1759    },
1760    inThemeEditor: () => cookieModule.getCookie('view_as') === 'theme_editor' || AdminBar.inIframe(),
1761    viewAsCreator: () => cookieModule.getCookie('view_as') === 'creator',
1762    viewAsSupporter: () => cookieModule.getCookie('view_as') === 'supporter',
1763    verifyCreator: () => {
1764      document.cookie = 'return_to=' + window.location.href + '; path=/; max-age=30;';
1765      window.location.href = '/platform/creators/handoff/start?return=' + encodeURIComponent(window.location.pathname + window.location.search);
1766    },
1767    getSelectedView: () => (AdminBar.viewAsCreator() ? 'Admin' : 'Supporter'),
1768    toggleDropdown: (dropdownContent) => {
1769      dropdownContent.style.display = dropdownContent.style.display === 'none' || dropdownContent.style.display === '' ? 'block' : 'none';
1770    },
1771    init() {
1772      if (
1773        !AdminBar.inThemeEditor() &&
1774        cookieModule.getCookie('core_dashboard_visited')
1775      ) {
1776        AdminBar.viewAsDesktopButton.textContent = 'View as: ' + AdminBar.getSelectedView();
1777        AdminBar.adminBarContainer.classList.toggle('hidden');
1778        if (cookieModule.getCookie('admin_bar_mode') === 'condensed') {
1779          AdminBar.adminBarSmall.classList.toggle('hidden');
1780        } else {
1781          AdminBar.adminBar.classList.toggle('hidden');
1782        }
1783      }
1784
1785      AdminBar.closeButton.addEventListener('click', () => {
1786        cookieModule.setCookie('admin_bar_mode', 'condensed');
1787        AdminBar.adminBar.classList.toggle('hidden');
1788        AdminBar.adminBarSmall.classList.toggle('hidden');
1789      });
1790
1791      AdminBar.adminBarSmall.addEventListener('click', () => {
1792        cookieModule.setCookie('admin_bar_mode', 'expanded');
1793        AdminBar.adminBar.classList.toggle('hidden');
1794        AdminBar.adminBarSmall.classList.toggle('hidden');
1795      });
1796
1797      // Add event listeners to each dropdown button
1798      AdminBar.dropdownButtons.forEach((button) => {
1799        button.addEventListener("click", () => {
1800          const dropdownId = button.getAttribute("data-target");
1801          const dropdownContent = document.getElementById(dropdownId);
1802          AdminBar.toggleDropdown(dropdownContent);
1803        });
1804      });
1805
1806      // Close the dropdowns when clicking outside
1807      document.addEventListener("click", (event) => {
1808        AdminBar.dropdownButtons.forEach((button) => {
1809          const dropdownId = button.getAttribute("data-target");
1810          const dropdownContent = document.getElementById(dropdownId);
1811          if (event.target !== button && !button.contains(event.target) && event.target !== dropdownContent) {
1812            dropdownContent.style.display = "none";
1813          }
1814        });
1815      });
1816
1817      document.querySelectorAll(".dropdown-content li").forEach((item) => {
1818        item.addEventListener("click", (event) => {
1819          const mode = event.target.getAttribute("data-mode");
1820          if (mode === 'creator') {
1821            cookieModule.setCookie('view_as', 'creator');
1822            AdminBar.verifyCreator();
1823          } else {
1824            cookieModule.setCookie('view_as', 'supporter');
1825            window.location.reload();
1826          }
1827        });
1828      });
1829    },
1830  };
1831
1832  AdminBar.init();
1833</script>
1833
1834
1835<style>
1836  .admin-bar-container {
1837    height: 56px;
1838  }
1839
1840  .hidden {
1841    display: none;
1842  }
1843
1844  .admin-bar,
1845  .admin-bar-small {
1846    z-index: 1000;
1847    background-color: rgba(0, 0, 0, 0.7);
1848    backdrop-filter: blur(15px);
1849    -webkit-backdrop-filter: blur(15px);
1850    height: 56px;
1851    width: 100%;
1852  }
1853
1854  .admin-bar-small {
1855    width: 73px;
1856    cursor: pointer;
1857  }
1858
1859  .sticky {
1860    position: fixed;
1861    bottom: 0;
1862  }
1863
1864  .admin-bar a {
1865    color: #FDFCFB;
1866    padding: 14px;
1867    font-size: 14px;
1868    text-decoration: none;
1869  }
1870
1871  .admin-bar button {
1872    padding: 14px;
1873    font-size: 14px;
1874  }
1875
1876  .admin-bar .wrapper,
1877  .admin-bar-small .wrapper {
1878    display: flex;
1879    justify-content: space-between;
1880    align-items: center;
1881    padding: 10px 20px;
1882  }
1883
1884  .admin-bar-small .wrapper {
1885    padding: 12px 20px;
1886  }
1887
1888  .admin-bar .pill {
1889    display: flex;
1890    justify-content: center;
1891    align-items: center;
1892    gap: 10px;
1893    text-transform: capitalize;
1894
1895    padding: 6px 14px;
1896    border-radius: 100px;
1897    background: rgba(253, 252, 251, 0.12);
1898
1899    cursor: pointer;
1900  }
1901
1902  .admin-bar .pill:hover {
1903    background: rgba(253, 252, 251, 0.22);
1904  }
1905
1906  .admin-bar .close {
1907    padding: 6px 11px;
1908  }
1909
1910  .admin-bar .actions,
1911  .admin-bar .actions .desktop,
1912  .admin-bar .actions .mobile {
1913    display: flex;
1914    gap: 10px;
1915  }
1916
1917  .admin-bar .actions .desktop,
1918  .admin-bar .actions .edit-page {
1919    display: none;
1920  }
1921
1922  @media (min-width: 768px) {
1923    .admin-bar a,
1924    .admin-bar button {
1925      font-size: 16px;
1926    }
1927
1928    .admin-bar .actions .desktop,
1929    .admin-bar .actions .edit-page {
1930      display: flex;
1931      gap: 10px;
1932    }
1933
1934    .admin-bar .actions .mobile {
1935      display: none;
1936    }
1937  }
1938
1939  .dropdown {
1940    position: relative;
1941  }
1942
1943  .dropdown-content {
1944    display: none;
1945    position: absolute;
1946    background-color: rgba(0,0,0,0.9);
1947    min-width: 130px;
1948    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
1949    bottom: 100%; /* Position above the button */
1950    border-radius: 10px;
1951    bottom: calc((100% + 8px) - 0px);
1952    right: 0;
1953  }
1954
1955  /* Style for each list item */
1956  .dropdown-content .dropdown-item {
1957    color: white;
1958    padding: 12px 16px;
1959    text-decoration: none;
1960    white-space: nowrap;
1961    display: block;
1962    cursor: pointer;
1963    border-radius: 10px;
1964  }
1965
1966  .dropdown-content .dropdown-item:hover {
1967    background-color: rgba(255,255,255,0.2)
1968  }
1969
1970  /* Style for the button */
1971  .dropdown-button {
1972    color: white;
1973    padding: 10px 20px;
1974    border: none;
1975    border-radius: 5px;
1976    cursor: pointer;
1977    line-height: 24px;
1978  }
1979</style>
1980
1981</body>
1982</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.