PageSourceSearch

https://eclectaperennial.com/about

html eclectaperennial.com collected 2026-09-28 23:23:50 UTC 43,562 bytes, 408 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4<script>var _rollbarConfig = {"accessToken":"295d6d2e8f934257b0f4ddb304115b52","autoInstrument":true,"captureUncaught":true,"captureUnhandledRejections":true,"hostSafeList":[],"hostBlockList":[],"ignoredMessages":[],"payload":{"environment":"production"}};</script>
vendor: 1 bytes, line 4
4
5<script>!function(r){var e={};function o(n){if(e[n])return e[n].exports;var t=e[n]={i:n,l:!1,exports:{}};return r[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=e,o.d=function(r,e,n){o.o(r,e)||Object.defineProperty(r,e,{enumerable:!0,get:n})},o.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},o.t=function(r,e){if(1&e&&(r=o(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var t in r)o.d(n,t,function(e){return r[e]}.bind(null,t));return n},o.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return o.d(e,"a",e),e},o.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},o.p="",o(o.s=0)}([function(r,e,o){"use strict";var n=o(1),t=o(5);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdn.rollbar.com/rollbarjs/refs/tags/v2.26.1/rollbar.min.js",_rollbarConfig.async=void 0===_rollbarConfig.async||_rollbarConfig.async;var a=n.setupShim(window,_rollbarConfig),l=t(_rollbarConfig);window.rollbar=n.Rollbar,a.loadFull(window,document,!_rollbarConfig.async,_rollbarConfig,l)},function(r,e,o){"use strict";var n=o(2),t=o(3);function a(r){return function(){try{return r.apply(this,arguments)}catch(r){try{console.error("[Rollbar]: Internal error",r)}catch(r){}}}}var l=0;function i(r,e){this.options=r,this._rollbarOldOnError=null;var o=l++;this.shimId=function(){return o},"undefined"!=typeof window&&window._rollbarShims&&(window._rollbarShims[o]={handler:e,messages:[]})}var s=o(4),d=function(r,e){return new i(r,e)},c=function(r){return new s(d,r)};function u(r){return a((function(){var e=this,o=Array.prototype.slice.call(arguments,0),n={shim:e,method:r,args:o,ts:new Date};window._rollbarShims[this.shimId()].messages.push(n)}))}i.prototype.loadFull=function(r,e,o,n,t){var l=!1,i=e.createElement("script"),s=e.getElementsByTagName("script")[0],d=s.parentNode;i.crossOrigin="",i.src=n.rollbarJsUrl,o||(i.async=!0),i.onload=i.onreadystatechange=a((function(){if(!(l||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)){i.onload=i.onreadystatechange=null;try{d.removeChild(i)}catch(r){}l=!0,function(){var e;if(void 0===r._rollbarDidLoad){e=new Error("rollbar.js did not load");for(var o,n,a,l,i=0;o=r._rollbarShims[i++];)for(o=o.messages||[];n=o.shift();)for(a=n.args||[],i=0;i<a.length;++i)if("function"==typeof(l=a[i])){l(e);break}}"function"==typeof t&&t(e)}()}})),d.insertBefore(i,s)},i.prototype.wrap=function(r,e,o){try{var n;if(n="function"==typeof e?e:function(){return e||{}},"function"!=typeof r)return r;if(r._isWrap)return r;if(!r._rollbar_wrapped&&(r._rollbar_wrapped=function(){o&&"function"==typeof o&&o.apply(this,arguments);try{return r.apply(this,arguments)}catch(o){var e=o;throw e&&("string"==typeof e&&(e=new String(e)),e._rollbarContext=n()||{},e._rollbarContext._wrappedSource=r.toString(),window._rollbarWrappedError=e),e}},r._rollbar_wrapped._isWrap=!0,r.hasOwnProperty))for(var t in r)r.hasOwnProperty(t)&&(r._rollbar_wrapped[t]=r[t]);return r._rollbar_wrapped}catch(e){return r}};for(var p="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(","),f=0;f<p.length;++f)i.prototype[p[f]]=u(p[f]);r.exports={setupShim:function(r,e){if(r){var o=e.globalAlias||"Rollbar";if("object"==typeof r[o])return r[o];r._rollbarShims={},r._rollbarWrappedError=null;var l=new c(e);return a((function(){e.captureUncaught&&(l._rollbarOldOnError=r.onerror,n.captureUncaughtExceptions(r,l,!0),e.wrapGlobalEventHandlers&&t(r,l,!0)),e.captureUnhandledRejections&&n.captureUnhandledRejections(r,l,!0);var a=e.autoInstrument;return!1!==e.enabled&&(void 0===a||!0===a||function(r){return!("object"!=typeof r||void 0!==r.page&&!r.page)}(a))&&r.addEventListener&&(r.addEventListener("load",l.captureLoad.bind(l)),r.addEventListener("DOMContentLoaded",l.captureDomContentLoaded.bind(l))),r[o]=l,l}))()}},Rollbar:c}},function(r,e,o){"use strict";function n(r,e,o,n){r._rollbarWrappedError&&(n[4]||(n[4]=r._rollbarWrappedError),n[5]||(n[5]=r._rollbarWrappedError._rollbarContext),r._rollbarWrappedError=null);var t=e.handleUncaughtException.apply(e,n);o&&o.apply(r,n),"anonymous"===t&&(e.anonymousErrorsPending+=1)}r.exports={captureUncaughtExceptions:function(r,e,o){if(r){var t;if("function"==typeof e._rollbarOldOnError)t=e._rollbarOldOnError;else if(r.onerror){for(t=r.onerror;t._rollbarOldOnError;)t=t._rollbarOldOnError;e._rollbarOldOnError=t}e.handleAnonymousErrors();var a=function(){var o=Array.prototype.slice.call(arguments,0);n(r,e,t,o)};o&&(a._rollbarOldOnError=t),r.onerror=a}},captureUnhandledRejections:function(r,e,o){if(r){"function"==typeof r._rollbarURH&&r._rollbarURH.belongsToShim&&r.removeEventListener("unhandledrejection",r._rollbarURH);var n=function(r){var o,n,t;try{o=r.reason}catch(r){o=void 0}try{n=r.promise}catch(r){n="[unhandledrejection] error getting `promise` from event"}try{t=r.detail,!o&&t&&(o=t.reason,n=t.promise)}catch(r){}o||(o="[unhandledrejection] error getting `reason` from event"),e&&e.handleUnhandledRejection&&e.handleUnhandledRejection(o,n)};n.belongsToShim=o,r._rollbarURH=n,r.addEventListener("unhandledrejection",n)}}}},function(r,e,o){"use strict";function n(r,e,o){if(e.hasOwnProperty&&e.hasOwnProperty("addEventListener")){for(var n=e.addEventListener;n._rollbarOldAdd&&n.belongsToShim;)n=n._rollbarOldAdd;var t=function(e,o,t){n.call(this,e,r.wrap(o),t)};t._rollbarOldAdd=n,t.belongsToShim=o,e.addEventListener=t;for(var a=e.removeEventListener;a._rollbarOldRemove&&a.belongsToShim;)a=a._rollbarOldRemove;var l=function(r,e,o){a.call(this,r,e&&e._rollbar_wrapped||e,o)};l._rollbarOldRemove=a,l.belongsToShim=o,e.removeEventListener=l}}r.exports=function(r,e,o){if(r){var t,a,l="EventTarget,Window,Node,ApplicationCache,AudioTrackList,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDB
5Request,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload".split(",");for(t=0;t<l.length;++t)r[a=l[t]]&&r[a].prototype&&n(e,r[a].prototype,o)}}},function(r,e,o){"use strict";function n(r,e){this.impl=r(e,this),this.options=e,function(r){for(var e=function(r){return function(){var e=Array.prototype.slice.call(arguments,0);if(this.impl[r])return this.impl[r].apply(this.impl,e)}},o="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(","),n=0;n<o.length;n++)r[o[n]]=e(o[n])}(n.prototype)}n.prototype._swapAndProcessMessages=function(r,e){var o,n,t;for(this.impl=r(this.options);o=e.shift();)n=o.method,t=o.args,this[n]&&"function"==typeof this[n]&&("captureDomContentLoaded"===n||"captureLoad"===n?this[n].apply(this,[t[0],o.ts]):this[n].apply(this,t));return this},r.exports=n},function(r,e,o){"use strict";r.exports=function(r){return function(e){if(!e&&!window._rollbarInitialized){for(var o,n,t=(r=r||{}).globalAlias||"Rollbar",a=window.rollbar,l=function(r){return new a(r)},i=0;o=window._rollbarShims[i++];)n||(n=o.handler),o.handler._swapAndProcessMessages(l,o.messages);window[t]=n,window._rollbarInitialized=!0}}}}]);</script>
vendor: 1 bytes, line 5
5
6<script type="importmap" data-turbo-track="reload">{
7  "imports": {
8    "application": "https://d32hgpjj5y625p.cloudfront.net/assets/application-f207b082d340e2d7ef1faf6a3963b9409fa3147fb7e312868adaa67e76083f68.js",
9    "turbo_stream_actions": "https://d32hgpjj5y625p.cloudfront.net/assets/turbo_stream_actions-ff801f8567a3558f4a5e50a81da697f29e835e2fa46cc6bf769179d5831663dc.js",
10    "@hotwired/turbo-rails": "https://d32hgpjj5y625p.cloudfront.net/assets/turbo.min-ddd8b828c747ffd95dbdfaa87b2414d120a316eed8407f19f78e777d074e5e96.js",
11    "trix": "https://cdn.jsdelivr.net/npm/[email protected]/dist/trix.umd.min.js",
12    "js-cookie": "https://cdn.jsdelivr.net/npm/[email protected]/dist/js.cookie.min.js",
13    "sortablejs": "https://cdn.jsdelivr.net/npm/sortablejs@latest/Sortable.min.js",
14    "jquery-sortablejs": "https://cdn.jsdelivr.net/npm/jquery-sortablejs@latest/jquery-sortable.js",
15    "@hotwired/stimulus": "https://d32hgpjj5y625p.cloudfront.net/assets/stimulus.min-976b4e166c7f712397cad15409e0b976dfd9f2373f5e04d9f4520f0d5a7597f5.js",
16    "@hotwired/stimulus-loading": "https://d32hgpjj5y625p.cloudfront.net/assets/stimulus-loading-39227295c8a6d71e10ca2a94dede18522ced047f6ccbf8788e926f8be14aff1b.js",
17    "controllers/add_subscriber_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/add_subscriber_controller-fd9fe8936dd464dc1cbae3d31c3bc986e5e2114ee003fab4e5418f3efdaa46be.js",
18    "controllers/application": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/application-44e5edd38372876617b8ba873a82d48737d4c089e5180f706bdea0bb7b6370be.js",
19    "controllers/design_nav_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/design_nav_controller-2f712f7500c82845450b65dec862659df22dea1d2d39a17b9469d7070bb1d233.js",
20    "controllers/design_page_section_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/design_page_section_controller-f1a457031a27726cd23bb568294b137349e91d691cdbe35758af8b0e4cce37f4.js",
21    "controllers": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/index-d92597c94be3b5a5adba9c0f17fb1601585e59e54ed1e242cd99ce6f935198e5.js",
22    "controllers/manage_subscribers_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/manage_subscribers_controller-93a288f637c86f52c4661a1427e3ffb7c2bf46f425ce2a36ff995c948bcf7c89.js",
23    "controllers/modal_form_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/modal_form_controller-ed45881813baad0b886a257c8389b563a3f232cbc408f66cf4da53daa38bc4c1.js",
24    "controllers/newsletter_builder_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/newsletter_builder_controller-f2f1e3b58c8d4436bcdd8eea1d3b71a276a963c5e87549fffa49bab275bc9580.js",
25    "controllers/newsletter_builder_image_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/newsletter_builder_image_controller-13937df8f37d686d07b0834fdc8e977b71cc4e700adfc069d1c499f0cbb6b6b6.js",
26    "controllers/newsletter_builder_image_form_fields_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/newsletter_builder_image_form_fields_controller-5fb397c6153ab53d8aec1e3027c32a699349fbdbf1ebee1143215f8bd6eee05a.js",
27    "controllers/newsletter_builder_modal_form_fields_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/newsletter_builder_modal_form_fields_controller-9e5fb79d742394fa9eaeeddb437123dd78ed2f87d4cea5d220a404e294795000.js",
28    "controllers/newsletter_builder_replaceable_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/newsletter_builder_replaceable_controller-21efea64bf8648e6883566d7b7be4c37654a24e08b2367dfeed4e44956097ee8.js",
29    "controllers/newsletter_builder_tags_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/newsletter_builder_tags_controller-0eb8d1f271977faa68a92a53741979bf58ffc86c075f84f2d25deafbd3a60e47.js",
30    "controllers/newsletter_message_schedule_modal_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/newsletter_message_schedule_modal_controller-c70893dd83a505fe506ad4430a1f8439966c9f4d9c8392d85895e73869ca3122.js",
31    "controllers/search_modal_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/search_modal_controller-35710a5ac2b54272c5c23a69e0adb29820848de5844d613f73d58a2ea27a61f3.js",
32    "controllers/section_card_controller": "https://d32hgpjj5y625p.cloudfront.net/assets/controllers/section_card_controller-6e39fd28ad51d887ed0c7a10d2c51b3ff3a1bd36621fdcf810dbc908a2f82624.js"
33  }
34}</script>
34
35<link rel="modulepreload" href="https://d32hgpjj5y625p.cloudfront.net/assets/application-f207b082d340e2d7ef1faf6a3963b9409fa3147fb7e312868adaa67e76083f68.js">
36<link rel="modulepreload" href="https://d32hgpjj5y625p.cloudfront.net/assets/turbo_stream_actions-ff801f8567a3558f4a5e50a81da697f29e835e2fa46cc6bf769179d5831663dc.js">
37<link rel="modulepreload" href="https://d32hgpjj5y625p.cloudfront.net/assets/turbo.min-ddd8b828c747ffd95dbdfaa87b2414d120a316eed8407f19f78e777d074e5e96.js">
38<script type="esms-options">{"nonce":null}</script>
vendor: 1 bytes, line 38
38
39<script src="https://d32hgpjj5y625p.cloudfront.net/assets/es-module-shims.min-a0e02f0f37eb67badf69f69d30f3d3ef921c0ba3d076579d03a937c6b1c29d2d.js" async="async" data-turbo-track="reload"></script>
vendor: 1 bytes, line 39
39
40<script type="module">import "application"</script>
vendor: 1 bytes, line 40
40
41<script type="module">import "js-cookie"</script>
41
42<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
43<title>About | Cathryn deVries @ Eclecta Perennial | Clean Romantic Fantasy &amp; Sci-Fi Books by Cathryn deVries</title>
44<meta name="csrf-param" content="authenticity_token" />
45<meta name="csrf-token" content="8nF5uPMRuS2-y1xdY-yQe_0iqFwn9Or3wMQhM4AgmcJ6baU8LxQhJKCMjVbe6bV5Jtt6lCyA0oXqXchxxpDcIw" />
46<meta name="csp-nonce" />
47<meta content="width=device-width, initial-scale=1, shrink-to-fit=no" name="viewport">
48  
48<script>
49    window.renderTurnstile = function () {
50      $('.cloudflare-turnstile-widget').each((i, widget) => {
51        turnstile.render(widget, {
52          sitekey: '0x4AAAAAABCVYQo6ZyG97FYI',
53          callback: function (token) {
54            $(widget).parents('form').find("input[type='submit']").prop("disabled", false);
55          },
56        });
57      });
58    };
59    window.turnstileLoaded = function() {
60      if (document.readyState === "loading") {
61        document.addEventListener('DOMContentLoaded', renderTurnstile);
62      } else {
63        renderTurnstile();
64      }
65    };
66    document.addEventListener("turbo:frame-load", renderTurnstile);
67  </script>
67
68
69    
69<script src="https://challenges.cloudflare.com/turnstile/v0/api.js?onload=turnstileLoaded" async defer></script>
69
70
71<meta content="About Cathryn deVries | Eclecta Perennial" name="description">
72<meta content="About | Cathryn deVries @ Eclecta Perennial | Clean Romantic Fantasy &amp;amp; Sci-Fi Books by Cathryn deVries" property="og:title">
73<meta content="About Cathryn deVries | Eclecta Perennial" property="og:description">
74<meta content="https://eclectaperennial.com/about" property="og:url">
75<meta content="website" property="og:type">
76<meta content="https://res.cloudinary.com/wellfleet/image/upload/c_fill,f_auto,h_300,q_auto,w_300/u6shimr4636cr1u5q7g6qomo450h" property="og:image">
77<meta content="summary" property="twitter:card">
78<link rel="icon" type="image/x-icon" href="https://res.cloudinary.com/wellfleet/image/upload/c_lpad,b_rgb:062832,w_32,h_32/c_lpad,w_28,h_28,co_rgb:FFFFFF,l_text:Great%20Vibes_24_bold:CD|/v1701462860/favicon.png" />
79<style type="text/css">
80body {
81  --background-color: #062832;
82  --accent-color: #63C3A8;
83  --text-color: #FFFFFF;
84  --accent-contrast-color: #000000;
85  --logo-font: "Great Vibes", cursive;
86  --logo-font-weight: 400;
87  --logo-font-case: none;
88  --header-font: "Oswald", sans-serif;
89  --header-font-weight: 400;
90  --body-font: "DM Sans", sans-serif;
91  --background-image-url: url();
92  --mailing-list-background-image-url: url();
93}
94
95
96</style>
97<link href="https://eclectaperennial.com/about" rel="canonical">
98<link href="//fonts.googleapis.com" rel="preconnect">
99<link crossorigin="true" href="//fonts.gstatic.com" rel="preconnect">
100<link as="style" crossorigin="anonymous" href="https://fonts.googleapis.com/css2?display=swap&amp;family=Great Vibes:wght@400&amp;family=Oswald:wght@400&amp;family=DM Sans:ital,opsz,wght@0,9..40,400;0,9..40,700;1,9..40,400;1,9..40,700" rel="preload" type="text/css">
101<link crossorigin="anonymous" href="https://fonts.googleapis.com/css2?display=swap&amp;family=Great Vibes:wght@400&amp;family=Oswald:wght@400&amp;family=DM Sans:ital,opsz,wght@0,9..40,400;0,9..40,700;1,9..40,400;1,9..40,700" rel="stylesheet" type="text/css">
102<link rel="stylesheet" href="https://d32hgpjj5y625p.cloudfront.net/assets/website-5164b3cb3279842da358c6c907e0cf5e9d72106743dddf3c2802599bbf187c77.css" media="all" />
103<script src="https://d32hgpjj5y625p.cloudfront.net/assets/website-51048669aa058af730a2050187f188c2dff273ff3c464e46b7b3f7ddaf6ad92b.js"></script>
103
104<turbo-frame data-turbo="true" id="analytic_tags"></turbo-frame>
105</head>
106<body class="biography_modules_controller show_action " data-turbo="false">
107<main role="main">
108<div class="min-vh-100 d-flex flex-column">
109<div class="header my-lg-2">
110<nav class="navbar banner navbar-expand-lg banner pb-lg-1 container-xl">
111<a class="banner-image-container d-flex justify-content-center w-100" href="/"><img class="banner-image m-auto" alt="Cathryn deVries | Eclecta Perennial" width="1000" height="250" src="https://res.cloudinary.com/wellfleet/image/upload/w_1150,f_auto,q_auto/pv7pbk4nexiiqkaemdckotw16gcf" />
112</a></nav>
113
114<nav class="navbar navbar-expand-lg py-1 d-flex flex-lg-column gap-lg-1 container">
115<a class="navbar-brand m-0 p-0" href="/"><img class="logo-image img-fluid centered" alt="Cathryn deVries | Eclecta Perennial" src="https://res.cloudinary.com/wellfleet/image/upload/c_fill,f_auto,h_150,q_auto/zg5w5jurv7v9nemqruavepjj53fh" />
116</a><button class="d-block d-lg-none btn p-0" data-bs-target=".navbar-collapse" data-bs-toggle="collapse">
117<svg width="1em" height="1em" style="fill: none; stroke: currentColor; vertical-align: middle; " viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">
118<path d="M1 2H19"  stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
119<path d="M1 9H19"  stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
120<path d="M1 16H19" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
121<path d="M1 2H19"  stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
122<path d="M1 9H19"  stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
123<path d="M1 16H19" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
124</svg>
125
126</button>
127<div class="collapse navbar-collapse navbar-nav-scroll flex-grow-0 mh-100">
128<div class="mobile-menu-header d-flex d-lg-none align-items-center justify-content-between px-2 px-md-6 pt-3">
129<a class="author-name text-reset text-decoration-none mb-0" href="/">Cathryn deVries | Eclecta Perennial</a>
130<button class="btn p-0" data-bs-target=".navbar-collapse" data-bs-toggle="collapse">
131<svg width="1em" height="1em" style="fill: none; stroke: currentColor; vertical-align: middle; " viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
132<path d="M1 1L17 17" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
133<path d="M1 17L17 1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
134<path d="M1 1L17 17" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
135<path d="M1 17L17 1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
136</svg>
137
138</button>
139</div>
140<ul class="navbar-nav mt-1 mt-lg-0 flex-lg-wrap px-2 px-md-6 justify-content-lg-center">
141<div class="d-lg-inline-flex">
142<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/">Home</a></li>
143
144<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/about">About</a></li>
145
146<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/books">Books</a></li>
147
148<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/other-writings">Other Writing</a></li>
149
150<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/praise">Praise</a></li>
151
152<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/updates">Updates</a></li>
153
154<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/blog">Blog</a></li>
155
156<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/events">Events</a></li>
157
158<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/contact">Contact</a></li>
159
160<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/press-kit">Press Kit</a></li>
161
162<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/media-coverage">Media</a></li>
163
164<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/pages/bonus-material">Bonus Material</a></li>
165
166<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/faq">FAQ</a></li>
167
168<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/pages/resources-for-authors">
168Resources for Authors</a></li>
169
170<li class="nav-item py-1 py-lg-0 font-body-medium"><a class="nav-link" href="/pages/merch">Merch</a></li>
171
172</div>
173<li class="nav-item d-flex pt-2 pt-lg-0 gap-2 gap-lg-0 justify-content-center">
174<a target="_blank" name="BookBub" class="nav-link d-flex align-items-center" href="https://www.bookbub.com/authors/cathryn-devries"><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
175	 viewBox="0 0 48 48" style="fill: currentColor; stroke: currentColor; vertical-align: middle; " xml:space="preserve" width="24px" height="24px">
176<path d="M34.2,20.9c0.7-0.5,1-1.3,1-2.3c0-1.8-1.3-2.7-3.8-2.7h-2.2v5.8h2.3C32.7,21.8,33.6,21.5,34.2,20.9z"/>
177<path d="M14.6,25.1h-2.8v6.5h3c1.3,0,2.3-0.3,3-0.9c0.7-0.6,1.1-1.4,1.1-2.4C18.8,26.1,17.4,25.1,14.6,25.1z"/>
178<path d="M16.9,20.9c0.7-0.5,1-1.3,1-2.3c0-1.8-1.3-2.7-3.8-2.7h-2.2v5.8h2.3C15.3,21.8,16.2,21.5,16.9,20.9z"/>
179<path d="M24.1,0.3C11.2,0.3,0.7,10.8,0.7,23.8c0,12.9,10.5,23.4,23.4,23.4s23.4-10.5,23.4-23.4C47.5,10.8,37,0.3,24.1,0.3z
180	 M21.2,33.1c-1.4,1.2-3.3,1.8-5.7,1.8H7.5V12.6h7.6c2.3,0,4.1,0.5,5.4,1.4c1.3,0.9,1.9,2.2,1.9,3.8c0,1.2-0.4,2.2-1.1,3.2
181	c-0.8,0.9-1.8,1.6-3.1,2v0c1.6,0.2,2.8,0.8,3.7,1.8c0.9,1,1.4,2.2,1.4,3.6C23.3,30.3,22.6,31.9,21.2,33.1z M38.5,33.1
182	c-1.4,1.2-3.3,1.8-5.7,1.8h-7.9V12.6h7.6c2.3,0,4.1,0.5,5.4,1.4c1.3,0.9,1.9,2.2,1.9,3.8c0,1.2-0.4,2.2-1.1,3.2
183	c-0.8,0.9-1.8,1.6-3.1,2v0c1.6,0.2,2.8,0.8,3.7,1.8c0.9,1,1.4,2.2,1.4,3.6C40.7,30.3,40,31.9,38.5,33.1z"/>
184<path d="M32,25.1h-2.8v6.5h3c1.3,0,2.3-0.3,3-0.9c0.7-0.6,1.1-1.4,1.1-2.4C36.1,26.1,34.7,25.1,32,25.1z"/>
185</svg>
186
187</a><a target="_blank" name="Instagram" class="nav-link d-flex align-items-center" href="https://www.instagram.com/_eclecta_perennial_books"><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
188	 viewBox="0 0 48 48" style="fill: currentColor; stroke: currentColor; vertical-align: middle; " xml:space="preserve" width="24px" height="24px">
189<g>
190	<path class="st0" d="M24,4.3c6.4,0,7.2,0,9.7,0.1C36,4.6,37.3,5,38.1,5.3c1.1,0.4,1.9,1,2.8,1.8c0.8,0.8,1.4,1.6,1.8,2.8
191		c0.3,0.8,0.7,2.1,0.8,4.5c0.1,2.5,0.1,3.3,0.1,9.7c0,6.4,0,7.2-0.1,9.7c-0.1,2.3-0.5,3.6-0.8,4.5c-0.4,1.1-1,1.9-1.8,2.8
192		c-0.8,0.8-1.6,1.4-2.8,1.8c-0.8,0.3-2.1,0.7-4.5,0.8c-2.5,0.1-3.3,0.1-9.7,0.1c-6.4,0-7.2,0-9.7-0.1c-2.3-0.1-3.6-0.5-4.5-0.8
193		c-1.1-0.4-1.9-1-2.8-1.8c-0.8-0.8-1.4-1.6-1.8-2.8C5,37.3,4.6,36,4.5,33.7c-0.1-2.5-0.1-3.3-0.1-9.7c0-6.4,0-7.2,0.1-9.7
194		c0.1-2.3,0.5-3.6,0.8-4.5c0.4-1.1,1-1.9,1.8-2.8c0.8-0.8,1.6-1.4,2.8-1.8C10.7,5,12,4.6,14.3,4.5C16.8,4.3,17.6,4.3,24,4.3z M24,0
195		c-6.5,0-7.3,0-9.9,0.1c-2.6,0.1-4.3,0.5-5.8,1.1C6.7,1.9,5.4,2.7,4,4C2.7,5.4,1.9,6.7,1.3,8.3c-0.6,1.5-1,3.3-1.1,5.8
196		C0,16.7,0,17.5,0,24s0,7.3,0.1,9.9c0.1,2.6,0.5,4.3,1.1,5.8C1.9,41.3,2.7,42.6,4,44c1.3,1.3,2.7,2.2,4.2,2.8c1.5,0.6,3.3,1,5.8,1.1
197		C16.7,48,17.5,48,24,48c6.5,0,7.3,0,9.9-0.1c2.5-0.1,4.3-0.5,5.8-1.1c1.6-0.6,2.9-1.4,4.2-2.8c1.3-1.3,2.2-2.7,2.8-4.2
198		c0.6-1.5,1-3.3,1.1-5.8c0.1-2.6,0.1-3.4,0.1-9.9s0-7.3-0.1-9.9c-0.1-2.6-0.5-4.3-1.1-5.8C46.1,6.7,45.3,5.4,44,4
199		c-1.3-1.3-2.7-2.2-4.2-2.8c-1.5-0.6-3.3-1-5.8-1.1C31.3,0,30.5,0,24,0z"/>
200	<path class="st0" d="M24,11.7c-6.8,0-12.3,5.5-12.3,12.3S17.2,36.3,24,36.3S36.3,30.8,36.3,24S30.8,11.7,24,11.7z M24,32
201		c-4.4,0-8-3.6-8-8s3.6-8,8-8s8,3.6,8,8S28.4,32,24,32z"/>
202	<path class="st0" d="M39.7,11.2c0,1.6-1.3,2.9-2.9,2.9c-1.6,0-2.9-1.3-2.9-2.9c0-1.6,1.3-2.9,2.9-2.9C38.4,8.3,39.7,9.6,39.7,11.2z
203		"/>
204</g>
205</svg>
206
207</a><a target="_blank" name="Facebook" class="nav-link d-flex align-items-center" href="https://www.facebook.com/profile.php?id=100089982721754"><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
208	 viewBox="0 0 48 48" style="fill: currentColor; stroke: currentColor; vertical-align: middle; " xml:space="preserve" width="24px" height="24px">
209<g>
210	<path class="st0" d="M24,0C10.7,0,0,10.7,0,24c0,11.3,7.7,20.7,18.2,23.3v-16h-4.9V24h4.9v-3.2c0-8.2,3.7-12,11.7-12
211		c1.5,0,4.1,0.3,5.2,0.6v6.6c-0.6-0.1-1.6-0.1-2.8-0.1c-3.9,0-5.5,1.5-5.5,5.4V24h7.8l-1.3,7.3h-6.5v16.5C38.8,46.4,48,36.3,48,24
212		C48,10.7,37.3,0,24,0z"/>
213</g>
214</svg>
215
216</a><a target="_blank" name="Pinterest" class="nav-link d-flex align-items-center" href="http://www.pinterest.com/cathryn_deVries_author"><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
217	 viewBox="0 0 48 48" style="fill: currentColor; stroke: currentColor; vertical-align: middle; " xml:space="preserve" width="24px" height="24px">
218<g>
219	<path class="st0" d="M24,0C10.7,0,0,10.7,0,24c0,10.2,6.3,18.9,15.3,22.3c-0.2-1.9-0.4-4.8,0.1-6.9c0.4-1.9,2.8-11.9,2.8-11.9
220		s-0.7-1.4-0.7-3.6c0-3.3,1.9-5.8,4.3-5.8c2,0,3,1.5,3,3.4c0,2.1-1.3,5.1-2,8c-0.6,2.4,1.2,4.3,3.6,4.3c4.3,0,7.5-4.5,7.5-11
221		c0-5.7-4.1-9.8-10-9.8c-6.8,0-10.8,5.1-10.8,10.4c0,2.1,0.8,4.3,1.8,5.5c0.2,0.2,0.2,0.4,0.2,0.7c-0.2,0.8-0.6,2.4-0.7,2.7
222		c-0.1,0.4-0.3,0.5-0.8,0.3c-3-1.4-4.9-5.8-4.9-9.3c0-7.6,5.5-14.5,15.9-14.5c8.3,0,14.8,5.9,14.8,13.9c0,8.3-5.2,14.9-12.4,14.9
223		c-2.4,0-4.7-1.3-5.5-2.8c0,0-1.2,4.6-1.5,5.7c-0.5,2.1-2,4.7-3,6.3c2.2,0.7,4.6,1.1,7.1,1.1c13.3,0,24-10.7,24-24S37.3,0,24,0z"/>
224</g>
225</svg>
226
227</a><a target="_blank" name="Goodreads" class="nav-link d-flex align-items-center" href="https://www.goodreads.com/cathryn_devries"><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
228	 viewBox="0 0 48 48" style="fill: currentColor; stroke: currentColor; vertical-align: middle; " xml:space="preserve" width="24px" height="24px">
229<path d="M32,17c0.5,3.9-0.5,8.3-3.8,10.6c-2.3,1.6-5.5,1.5-7.4,0.6c-3.9-1.8-5.2-6.2-4.9-10.2c0.5-6.4,4.3-9.2,7.9-9.2
230	C28.7,8.7,31.3,12.1,32,17L32,17z M47.6,6.2v35.3c0,3.2-2.6,5.9-5.9,5.9H6.4c-3.2,0-5.9-2.6-5.9-5.9V6.2c0-3.2,2.6-5.9,5.9-5.9h35.3
231	C44.9,0.3,47.6,2.9,47.6,6.2z M35.2,29.8c0,0,0-3.6,0-22.8h-3v4.2c-0.1,0-0.1-0.1-0.2-0.1c-1-2.2-3.8-4.9-8-4.8
232	c-5.5,0-9.2,3.3-10.6,8.2c-0.5,1.6-0.6,3.2-0.6,4.8c0.2,8.2,4.7,12.4,11.8,12.1c3-0.1,5.7-1.8,7.3-4.7c0.1-0.1,0.1-0.2,0.2-0.3
233	c0,0,0,0,0.1,0c0,0.4,0,3.2,0,3.6c0,1.6-0.2,3.1-0.8,4.6c-0.8,2.2-2.3,3.6-4.7,4.2c-1.9,0.4-3.7,0.4-5.6-0.1c-2.3-0.6-3.8-2-4.3-4.4
234	c0-0.2-0.1-0.1-0.2-0.1h-2.8c0.1,1.1,0.3,2.1,0.9,3.1c2.5,4.3,8.7,5.1,13.5,3.9C33.3,39.7,35.2,35.2,35.2,29.8L35.2,29.8z"/>
235</svg>
236
237</a></li>
238<div class="nav-item ms-lg-1 d-flex d-lg-block align-self-center mt-3 mt-lg-0">
239<a class="nav-link px-2 header-button btn btn-primary" target="_blank" rel="noopener" href="https://eclectaperennial.com/landers/free-short-story-offer">FREE BOOK</a>
240</div>
241
242</ul>
243</div>
244</nav>
245</div>
246
247
248<div class="website-content mt-4 flex-grow-1">
249<div class="biography-module stripe px-0" id="biography-module" itemprop="author" itemscope="" itemtype="https://schema.org/Person">
250<div class="position-relative">
251<div class="bg-stripe bg-accent position-absolute start-0 w-100 z-1"></div>
252<div class="position-relative z-2">
253<div class="container">
254<div class="row gx-4 gx-lg-8">
255<div class="col-12 col-lg-5 text-center text-lg-start" style="padding-right: 16px;">
256<div class="author-image-wrapper w-100">
257<img class="author-image img-fluid" alt="Cathryn deVries | Eclecta Perennial" itemprop="image" loading="lazy" src="https://res.cloudinary.com/wellfleet/image/upload/c_fill,f_auto,h_469,q_auto,w_469/u6shimr4636cr1u5q7g6qomo450h" />
258</div>
259</div>
260<div class="col-12 text-accent-contrast pb-3 mt-4 mt-lg-0 col-lg-7 py-lg-6 py-xl-7 py-xxl-8">
261<h2 class="font-logo-medium mb-3 mb-xxl-2">About</h2>
262<meta content="Cathryn deVries | Eclecta Perennial" itemprop="name">
263<div class="biography font-body-large mb-2 lh-base mb-xxl-3">
264<div class="text-break font-body-large rich-text">
265<p><em>Looking for fantasy and science fiction stories that SAY something? With deep and immersive world-building? No spice? Where romance is central to the plot, but not THE plot?</em></p><p>Cathryn deVries is a multi-award-winning author who writes clean romantic fantasy and science fiction stories filled with hope, mystery, emotional tension, adventure and true love for readers who love immersive and imaginative worlds, a classic feel, and no explicit content.</p><p>In addition, she explores themes of restorative justice, empowerment, connection with earth and spirit, and finding the true self. She is the author of <em>Son of Osivirius</em>, a standalone dystopian science fantasy novella, and a romantic fantasy trilogy co-authored with her neurodiverse daughter to be published in 2027.</p><p>Bathed in literature from her earliest days, Cathryn memorised <em>Cinderella</em> at age three and began writing and illustrating her own stories as soon as she could hold a pencil. She continued writing all through high-school, though she pursued a maths-science stream in senior and won the 1995 Australian Student’s Prize for Excellence. She then graduated from a Bachelor of Aeronautical Engineering with first class honours and writing was shelved for a decade. </p><p>Preferring to work on only one project at a time, she retired from the Royal Australian Air Force upon becoming a mother, and has spent the last decade and a half homeschooling her four children, two of whom are on the autism spectrum. This forced her to recover from perfectionism, but also ultimately led to her picking up the pen once more. She and her family live in the Gold Coast Hinterland of Australia, where she enjoys living in the rainforest and pretending she’s an elf.</p><p>Cathryn’s accolades include the 2023 Stuart and Hadow short story prize, the Literary Titan Gold Book Award, the Firebird Book Award, the Reader’s Choice Book Award, the Pencraft Award, the American Writing Award, and the Chanticleer International Book Award. Her short stories appear in the <em>My Story, My Voice</em>, <em>Dragons, Doorways and Destiny, Ritardando</em>, and <em>Holometabola </em>anthologies. Primarily self-taught, she credits mentorship with a <em>Story Grid</em> certified editor for her success.</p><p><strong>Join the </strong><strong><em>Slow Readers Society</em></strong><strong> now and get </strong><strong><em>Lightning Hunter</em></strong><strong>, a non-spoiler 'epilogue' for her upcoming romantic fantasy trilogy, and her award-winning short story </strong><strong><em>When A Slave Falls</em></strong><strong>, for </strong><a href="https://eclectaperennial.com/landers/free-short-story-offer" target="_blank" rel="noopener"><strong>FREE</strong></a><strong>.</strong></p><p><br></p><p><a href="https://eclectaperennial.com/pages/my-stance-on-generative-ai-as-an-author" target="_blank" rel="noopener"><strong>Cathryn's stance on generative AI</strong></a></p><p><a href="https://eclectaperennial.com/pages/the-mission-of-eclecta-perennial" target="_blank" rel="noopener"><strong>The Mission of Eclecta Perennial</strong></a></p><p><br></p><p><strong>EDUCATION</strong> </p><ul><li>Maryfields Catholic Primary School, Kingston</li><li>Our Lady's College, Annerley</li><li>BE (Aero) UNSW through ADFA, ACT</li></ul><p><br></p><p><strong>INFLUENCES</strong></p><p>Cathryn writes hopeful speculative fiction with deeper themes, and all of these things have shaped her and Emalyn, influencing their writing in one way or another.</p><ul><li> <a href="https://eclectaperennial.com/pages/favourite-books" target="_blank" rel="noopener">favourite books</a></li><li> <a href="https://eclectaperennial.com/pages/favourite-movies-and-tv-series" target="_blank" rel="noopener">favourite movies and TV series</a></li></ul><p><br></p><p><strong>MORE INFORMATION</strong></p><ul><li> <a href="https://eclectaperennial.com/pages/wacky-facts" target="_blank" rel="noopener">interesting facts that didn't make the bio</a></li><li> <a href="https://eclectaperennial.com/pages/what-you-can-expect-from-our-books" target="_blank" rel="noopener">what you will and won't see in Cathryn's books</a></li><li> <a href="https://eclectaperennial.com/pages/books-in-the-pipeline" target="_blank" rel="noopener">what Cathryn and Emalyn have in the pipeline</a></li><li> learn more about <a href="https://eclectaperennial.com/pages/the-slow-readers-society-of-eclecta-perennial" target="_blank" rel="noopener"><em>The Slow Reader's Society of Eclecta Perennial</em></a>, their newsletter!</li></ul><p><br></p><p><strong>Accessibility</strong></p><p>Cathryn and Emalyn take accessibility seriously and are working toward WCAG 2.2 AA compliance. Accessibility is an ongoing effort, please use our website contact form if you run into an issue.</p><p><strong>Alt text on images.</strong> Currently, we are unable to manually add ALT text on images. We have contacted our website host about this issue. Images are captioned where possible, but this is something we'll address as soon as our website provider adjusts the backend.</p>
266</div>
267</div>
268<ul class="list-unstyled d-flex flex-wrap gap-3 justify-content-start">
269<li><a target="_blank" rel="noopener" class="social-link font-body-large fw-bold flex-shrink-0" itemprop="sameAs" href="https://buymeacoffee.com/cathryn_devries">Buy Me a Coffee (even though I don&#39;t drink coffee)</a></li>
270<li><a target="_blank" rel="noopener" class="social-link font-body-large fw-bold flex-shrink-0" itemprop="sameAs" href="https://slowreaderssociety.etsy.com/">Etsy Store for Exclusive Merch</a></li>
271<li><a target="_blank" rel="noopener" class="social-link font-body-large fw-bold flex-shrink-0" itemprop="sameAs" href="https://books.by/cathryn-devries/son-of-osivirius-i8xuxd">Buy Books Directly From Me</a></li>
272</ul>
273
274</div>
275</div>
276</div>
277</div>
278</div>
279</div>
280
281
282</div>
283<div class="mt-auto container"><div class="footer mt-8 mb-2 pt-2">
284<div class="d-flex flex-wrap font-body-small">
285<div class="mb-1 mb-md-0">
286<strong>
287Copyright
2882026
289</strong>
290&nbsp;<a class="text-reset text-decoration-none amp-link" href="https://eclectaperennial.com">Cathryn deVries | Eclecta Perennial</a>&nbsp;
291</div>
292<div class="mb-2 mb-md-0 me-auto">
293<div class="d-inline opacity-75">
294<div class="d-none d-md-inline">
295|
296</div>
297Built with
298<a target="_blank" class="text-reset text-decoration-none amp-link" href="https://authorwebsites.bookbub.com?source=ausite_ref">Author Websites by BookBub</a>
299</div>
300</div>
301<div class="ms-md-1 d-flex gap-2">
302
303<a class="footer-link" href="/terms-of-service">Terms of Service</a>
304<a class="footer-link" href="/privacy-policy">Privacy Policy</a>
305</div>
306<div class="ms-auto ms-md-3 d-flex align-content-center">
307<a title="rss" class="opacity-50 text-reset d-flex align-items-start" href="/feed.xml"><svg width="16px" height="16px" style="fill: none; stroke: none; vertical-align: middle; margin-top:3px;" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
308<path fill-rule="evenodd" clip-rule="evenodd" d="M5 17C5 18.104 4.104 19 3 19C1.896 19 1 18.104 1 17C1 15.896 1.896 15 3 15C4.104 15 5 15.896 5 17Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
309<path d="M1 7C7.627 7 13 12.373 13 19" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
310<path d="M1 1C10.941 1 19 9.059 19 19" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
311</svg>
312
313</a></div>
314</div>
315</div>
316</div>
317</div>
318
319<div aria-hidden="true" aria-labelledby="" class="modal cookie-consent-modal website-content w-100 d-block" data-bs-backdrop="false" role="dialog" tabindex="-1">
320<div class="modal-dialog" role="document">
321<div class="modal-content bg-blend-95 border-blend-90">
322<div class="modal-body text-center">
323Cookie Consent
324<div class="mt-1 font-body-small">
325This website uses essential cookies to ensure that it works properly.
326I would also like to use analytics cookies to understand how you interact with the site.
327</div>
328</div>
329<turbo-frame data-turbo="true" id="cookie_consent"><form data-turbo-frame="analytic_tags" action="/cookie_consent" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="1xRDGzAiskE8PdbohBIFjnxTMvZPI0BIf8kmquutN8jkNAMBwzaOqaJVsyYsFURtkyErywT9RsK-_qCY_mWqxw" /><div class="mt-2 mx-1">
330<button aria-label="Close" class="btn btn-primary w-100" name="consent" onclick="$(this).parents(&#39;.modal&#39;).removeClass(&#39;d-block&#39;)" type="submit" value="accepted">Accept</button>
331</div>
332<div class="my-1 mx-1">
333<button aria-label="Close" class="btn btn-outline-secondary w-100" name="consent" onclick="$(this).parents(&#39;.modal&#39;).removeClass(&#39;d-block&#39;)" type="submit" value="rejected">Reject</button>
334</div>
335</form></turbo-frame></div>
336</div>
337</div>
338
339<div aria-hidden aria-label="Email Collection Pop-Up" class="modal email-collection-modal website-content" data-delay="20000" role="dialog" tabindex="-1">
340<div class="modal-dialog modal-dialog-centered" role="document">
341<div class="modal-content bg-blend-95 border-blend-90 shadow-sm">
342<div class="modal-header p-3 border-0">
343<button class="bg-transparent border-0 text-reset ms-auto" data-bs-dismiss="modal" data-bs-target=".email-collection-modal" title="Close" type="button">
344<svg width="1em" height="1em" style="fill: none; stroke: currentColor; vertical-align: middle; " viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
345<path d="M1 1L17 17" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
346<path d="M1 17L17 1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
347<path d="M1 1L17 17" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
348<path d="M1 17L17 1" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
349</svg>
350
351</button>
352</div>
353<div class="modal-body text-center px-5 pb-8">
354<turbo-frame data-turbo="true" id="email_collection_pop_up"><div class="newsletter-module">
355<div class="mb-1"><svg width="104px" height="104px" viewBox="0 0 108 84" style="fill: none; stroke: currentColor; vertical-align: middle; " xmlns="http://www.w3.org/2000/svg">
356<g clip-path="url(#clip0_1414_5588)">
357<path d="M84.4899 0.236013C88.8679 1.08022 96.6192 -2.2946 97.3766 3.41306C98.5107 13.6404 100.904 23.6389 102.719 33.742C102.584 39.5379 112.152 70.2734 105.849 70.3632C74.8125 75.4599 43.764 81.7996 12.3753 83.9928C9.78969 84.0897 8.73401 83.2051 8.68246 80.617C8.11338 60.1148 1.42907 40.5738 0.0527581 20.1776C-0.258558 17.203 0.795792 15.9215 3.53777 15.2553C14.2825 12.6449 25.0255 10.0287 35.7649 7.39656C51.538 3.21195 68.3181 0.89
3576144 84.4899 0.236013ZM65.0143 38.0118C54.6737 49.6844 53.7115 48.0972 40.2265 42.0528C31.6374 54.9447 21.96 67.4434 13.748 80.3728C42.6482 76.8917 71.8403 72.8808 100.325 67.0803C88.4099 57.2712 76.7599 47.6809 65.0143 38.0121V38.0118ZM4.58513 18.8189C17.692 29.5981 34.4754 34.476 49.7831 41.3085C54.2753 43.1535 53.477 43.1074 56.7625 39.9905C68.5785 28.5077 80.5915 17.0657 90.6956 4.01272C61.2277 3.86874 33.1883 12.8984 4.58546 18.8192L4.58513 18.8189ZM103.259 63.5297C100.156 43.7151 97.7584 24.2523 94.1184 4.50849C85.6979 15.6094 77.4806 25.338 68.1069 35.2951C79.733 44.6335 91.2999 53.9241 103.259 63.5297ZM3.94487 24.1494C6.44139 41.0065 10.6608 57.4476 12.0421 74.9618C20.7137 63.2939 28.9945 52.1518 37.4326 40.798C26.0463 35.8093 14.5882 30.9328 3.94487 24.1494Z" fill="currentColor"/>
358<path d="M81.9462 8.47149C74.5368 18.1356 65.4684 27.3577 55.4414 34.1842C61.5383 23.3482 71.4439 15.9895 80.6879 8.10368C80.8166 7.99343 81.268 8.26303 81.9462 8.47149Z" fill="currentColor"/>
359<path d="M11.5611 48.9141C3.83171 26.2294 11.6861 25.0732 12.3048 48.7083C12.057 48.7768 11.8088 48.8452 11.5611 48.9141Z" fill="currentColor"/>
360</g>
361</svg>
362</div>
363<div class="newsletter-form mt-0 text-center">
364<turbo-frame data-turbo="true" id="newsletter_turbo_frame"><div class="newsletter-header font-logo-medium">Get a Free Short Story!</div>
365<div class="mb-3 newsletter-subheader rich-text font-body-large"><p>Join my mailing list to receive a free copy of <em>Lightning Hunter</em>: a non-spoiler 'epilogue' for my upcoming romantic fantasy trilogy.</p></div>
366<form class="track-newsletter-form" id="new_newsletter_subscription" action="/newsletter_subscriptions" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="TwBTqb69oznlQA226l-mldseaSEKuHwJxvsXngiFQ6OpYC2_qo9m4-98MM8acyanq-pWN_-maSbXzoHlnb6wPQ" /><input type="hidden" name="newsletter_module_id" id="newsletter_module_id" value="32606" />
367<input type="hidden" name="landing_page" id="landing_page" value="false" />
368<input value="Pop Up" type="hidden" name="newsletter_subscription[source]" id="newsletter_subscription_source" />
369<div class="form-group d-flex flex-column gap-3 rounded-1 bg-text-transparent-10">
370<div class="row flex-column gap-2 gap-lg-0 flex-lg-row text-start">
371<div class="col">
372<label class="form-label fw-bold font-body-large" for="newsletter_subscription_first_name">First Name</label>
373<input required="required" placeholder="John" aria-label="First Name" class="form-control" type="text" name="newsletter_subscription[first_name]" id="newsletter_subscription_first_name" />
374</div>
375<div class="col">
376<label class="form-label fw-bold font-body-large" for="newsletter_subscription_last_name">Last Name</label>
377<input placeholder="Doe" aria-label="Last Name" class="form-control" type="text" name="newsletter_subscription[last_name]" id="newsletter_subscription_last_name" />
378</div>
379</div>
380<div class="text-start">
381<label class="form-label fw-bold font-body-large" for="newsletter_subscription_email">Email Address</label>
382<div class="d-flex flex-column gap-3">
383<div class="flex-grow-1">
384<input placeholder="[email protected]" required="required" aria-label="Email Address" class="form-control turnstile-email-field " type="email" name="newsletter_subscription[email]" id="newsletter_subscription_email" />
385<div class="email-hint mt-2 d-none">
386Did you mean
387<button class="suggested-email bg-transparent border-0 p-0 text-reset text-decoration-underline fw-bold" type="button"></button>?
388</div>
389</div>
390<div class="cloudflare-turnstile-widget mt-3 d-none">
391</div>
392<input type="submit" value="Get My Free Short Story" class="btn btn-primary newsletter-btn" aria-label="Get My Free Short Story" disabled="disabled" data-disable-with="Submitting email..." />
393</div>
394</div>
395</div>
396</form></turbo-frame>
397</div>
398</div>
399</turbo-frame>
400</div>
401</div>
402</div>
403</div>
404
405
406</main>
407</body>
408</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.